From 3f90beedb4ccaa119da4153ae44a894ba7c49a46 Mon Sep 17 00:00:00 2001 From: Jean Sirmai Date: Wed, 8 May 2024 08:46:41 +0200 Subject: [PATCH] =?UTF-8?q?sp=C3=A9cifications=20widgets=20space=5Fpage=20?= =?UTF-8?q?selon=20le=20mode=20(run=20/=20edit)=20-=20voir=20.h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cold.h | 51 +++++++++++++++++++++++++++++++++++++++++ cold.o | Bin 3976 -> 2704 bytes myprogram | Bin 39816 -> 38592 bytes pages.c | 13 +++++------ pages.h | 66 ++++++++++++++++++++++++++++++++++++++++-------------- pages.o | Bin 29904 -> 26288 bytes warm.d | 4 +--- widgets.h | 62 +++++++++++++++++++++++++++++++++++++++----------- widgets.o | Bin 23048 -> 22840 bytes 9 files changed, 155 insertions(+), 41 deletions(-) diff --git a/cold.h b/cold.h index 6ae26e1..7873533 100644 --- a/cold.h +++ b/cold.h @@ -7,3 +7,54 @@ /* */ /******************************************************************************/ +/*------------------------------------------------------------------------------ + * Dans : [space_page - mode run] doivent être visibles : + * + * -(1) les commandes de mouvement + * (run/stop, slow down/speed up, step by step, do/undo/redo) + * + le buffer [elapsed time] qui montre le temps de simulation écoulé + * + * -(2) les commandes qui modifient l'orientation (X,Y,Z) de l'espace, + * + le zoom, la perspective + * + * -(3) les commandes qui modifient les apparences des objets + * + des situations d'intérêt + * (+/- transparents, colorés, etc.) + * + * -(4) les commandes qui modifient les apparences des grilles et des flèches + * + * -(0) aucune commande ne doit permettre l'édition de l'espace + * + * ----------------------------------------------------------------------------- + * Dans : [space_page - mode edit] : + * + * -(0) les commandes de mouvement ainsi que le buffer [elapsed time] + * NE doivent PAS être accessibles / visibles + * + * -(1) les commandes qui modifient l'orientation (X,Y,Z) de l'espace global, + * et qui donnent accès à la partie de cet espace à éditer + * (zoom, perspective, distances oeil-écran, écran-matrice) + * deviennent prioritaires, suivies par : + * + * -(2) les commandes qui modifient les apparences des objets + * + des situations d'intérêt + * (+/- transparents, colorés, etc.) + * + * -(3) les commandes qui modifient les apparences des grilles et des flèches + * + * -(4) les commandes d'édition locales (drag and drop une flèche) + * ("faire de la place" pour insérer) + * (sélectionner pour déplacer ou enlever...) + * NB ces commandes doivent être graphiques et/ou accessibles en ligne + * + * -(5) les commandes d'édition globales + * (ex: introduire aléatoirement (n) objets dans l'espace) + * (ou retirer, transformer ...) + * + * ----------------------------------------------------------------------------- + * + * Tous ces widgets doivent être organisées de façon aussi ergonomique que possible. + * i.e : chaque utilisateur devrait disposer de "préférences" + * et avoir la possiblité de faire des choix ergonomiques. +*/ + diff --git a/cold.o b/cold.o index 76f8b2e530b1f44a8e346b35c7a924fc21a75272..72d4e0cc9cfd1c3f61c73f37a07c9e65c8bd697d 100644 GIT binary patch literal 2704 zcmbVNeQXp}5P!ROg~GMhmMT^edZ@rvd)tGCVhF-YrOk1)r9^|IiM_pcTZrvlbG^3L zD8c%Xh+=Gv(Gp8S4NYqB1EP_r(NsbVB@K5KYcxg^O-q_c6H60GM4~fyGuP#D{KF)> zGr!-=yqSIbX7|vJT~(^02o^xv{~MW*`tS15;v8 z&Mw#Xca$aG$f=h~mS<d>Q4_aA8y z;)`SIkn)glIJP=$P9f9+WsS4YVJluyoPUoHHu7Xc(fi?2lf@C;DjuM+M7CH1T2Yki z&RkU3CR|_?Cp%V^Vl|I@$3@s)N(STDpjqp8zUa-Lt-q{R+H<}%rq3Sxc#A%Cscw72 z_jP~FdG`0uv|K*;*0pE4C*0NQ5r5m&+P=Sf2WH-w|Lw+T{ru?rf3Lpr)5*_{A3S?# zyz0l}lZ{h<&MNQzWAAF%IH@Eq{CxGq^`Z~@XDge_H0bYhZ9o-IZUy&W$M-ziNmq^bLEMl!d;{jfH70M`bEDB-ngLzq_-!A6;rlGS^(j|dcwGNp z!fuHtD9R)rjzUr@Bz_a&$0Ys{!cR#2PQrU6{sqGOB>o!VfW-exxK-kLA43v9N4QJk zpCtUe#5WM;J;(Qz`Yfaz4_M+crkrr8#5WQaT4!&2)Chu(MpAk|TTwF>6=atWY%{cGGuYMIcp%gg24B)Pg29N{eUsaW7@=14=9IPrA(K;}1e-`VCUH}^z1<8! z$xt|IYA|J<&ZyD!EaBErm(~#pcbJiAFE@YZdIhB7Eb>0`N;(^omggGJEppab!4w^D z8AQ%s2QfHvcbdN*a+7QF;8IPUG@lcK>G@`i=K<$XXM(hg8ahP{=L3&%T&9TPaIWNM zLf3obUrU;m9J?DFGKaC>Qi6*#D>>E=j!gY0kObjAv48vq$^AD2C$9;V_#JN`xW87B zV{v{m)t{mI{NKR(_?4FHcL0ZLdf5RsN)Z+MJO$Ht4&y$a15c*>1O@C(XQm7}|8>rn z;?~i}q)_6yF6*}`UkVeODPQI}kNFc|;Cqq7bs~8GIG+1wjO)p{=<6VIgaQjdXL|qm ePUP9clp-QC)k8lEuA4C*e_|kKQYw9ypZ|ZrD*V#` literal 3976 zcmbtX2~d+q6yA^!jv#`_Ay7?qib&fCQjb!PpcQCE>oH)pMgE+C2CyMIq0?GKupZIk zh>Dh03V3T}@IdMThzC^>#8D`g5l|fJQKh3;k4krweeq|_bUN*u`TzI6Z{OSZcK7X1 z_-b-=gq=WuKm=$!dWnEVsK)7~EjOET^!Kpb;!`r;e9YagQjeDi5He`=1Sr%gY|y-;q1voq9lkS+tTF@M~eTIZ9&ZdnN)sy%xy`Ia~hT-92)@A2HE z)9cgU2)BInp8#5+Si5MkIC+6$xUt5*F$XrY?Yu`Ii+O$0?D( zRjjVOnDH7y&IP=)ocoHuM1}n|ty~FeFquphPmJOHhpce$%1KaW*ab+x-I^`156*Oo zwHHr2GGa#TAr(KVECdeB?4Zz0ym}y5{mj%0A*m2Xr^x>{V@9nNF&AURK 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 G+W!YZ_>boR delta 17672 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 ICxh+(1MRDQX8-^I diff --git a/pages.c b/pages.c index f85b980..5dfb5e5 100644 --- a/pages.c +++ b/pages.c @@ -158,11 +158,8 @@ void activate (GtkApplication *app, gpointer user_data) { gtk_window_present (GTK_WINDOW (window)); } -void click_print_do (GtkWindow *window, GtkWidget *grid, - char *label, char *text, int x, int y, int w, int h){ - GtkWidget *button = gtk_button_new_with_label (label); - gtk_grid_attach (GTK_GRID (grid), button, x, y, w, h); - g_signal_connect (button, "clicked", G_CALLBACK (print_text), text); - if (window) - g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_destroy), window); -} +/* REM ! + * g_signal_connect (button, "clicked", G_CALLBACK (printf("%s\n", text)), text); + * g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_destroy), window); + */ + diff --git a/pages.h b/pages.h index cbda6cf..399e482 100644 --- a/pages.h +++ b/pages.h @@ -29,26 +29,58 @@ GtkWidget *get_edit_results_page_new(); GtkWidget *get_edit_discuss_page_new(); GtkWidget *get_edit_help_page_new(); -void click_print_do (GtkWindow *window, GtkWidget *grid, - char *label, char *text, int x, int y, int w, int h); - // https://docs.gtk.org/gtk4/visual_index.html < widgets gallery -/* -Dans : space_page_new() doivent être déclarées -et organisées de façon aussi ergonomique que possible : - -- les commandes de mouvement (run/stop, slow down/speed up, step by step, do/undo/redo) - et le buffer qui montre où on en est dans le temps de simulation - (un seul bouton pour toutes ces commandes ?) - -- les commandes qui modifient l'orientation (X,Y,Z) de l'espace, le zoom, la perspective - -- les commandes qui modifient les apparences des grilles et des flèches - -- les commandes qui modifient les apparences des objets et des situations d'intérêt - (+/- transparents, colorés, etc.) +/*------------------------------------------------------------------------------ + * Dans : [space_page - mode run] doivent être visibles : + * + * -(1) les commandes de mouvement + * (run/stop, slow down/speed up, step by step, do/undo/redo) + * + le buffer [elapsed time] qui montre le temps de simulation écoulé + * + * -(2) les commandes qui modifient l'orientation (X,Y,Z) de l'espace, + * + le zoom, la perspective + * + * -(3) les commandes qui modifient les apparences des objets + * + des situations d'intérêt + * (+/- transparents, colorés, etc.) + * + * -(4) les commandes qui modifient les apparences des grilles et des flèches + * + * -(0) aucune commande ne doit permettre l'édition de l'espace + * + * ----------------------------------------------------------------------------- + * Dans : [space_page - mode edit] : + * + * -(0) les commandes de mouvement ainsi que le buffer [elapsed time] + * NE doivent PAS être accessibles / visibles + * + * -(1) les commandes qui modifient l'orientation (X,Y,Z) de l'espace global, + * et qui donnent accès à la partie de cet espace à éditer + * (zoom, perspective, distances oeil-écran, écran-matrice) + * deviennent prioritaires, suivies par : + * + * -(2) les commandes qui modifient les apparences des objets + * + des situations d'intérêt + * (+/- transparents, colorés, etc.) + * + * -(3) les commandes qui modifient les apparences des grilles et des flèches + * + * -(4) les commandes d'édition locales (drag and drop une flèche) + * ("faire de la place" pour insérer) + * (sélectionner pour déplacer ou enlever...) + * NB ces commandes doivent être graphiques et/ou accessibles en ligne + * + * -(5) les commandes d'édition globales + * (ex: introduire aléatoirement (n) objets dans l'espace) + * (ou retirer, transformer ...) + * + * ----------------------------------------------------------------------------- + * + * Tous ces widgets doivent être organisées de façon aussi ergonomique que possible. + * i.e : chaque utilisateur devrait disposer de "préférences" + * et avoir la possiblité de faire des choix ergonomiques. */ diff --git a/pages.o b/pages.o index aaa50c9da9a1306fd47f2f9e134f72e255470782..ecb9d2c4c3080085de1237c9bedf25a2976a7152 100644 GIT binary patch literal 26288 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 aggcqP=rBP^*nJIfVcYSKL7@a){(k_xl+1Sk literal 29904 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 diff --git a/warm.d b/warm.d index 52125ce..7de9c32 100644 --- a/warm.d +++ b/warm.d @@ -1,3 +1 @@ -warm.o: warm.c warm.h \ - /gnu/store/fkmpkdav2zmz1k72989bdgpdrfac7rz1-glib-2.78.0/include/glib-2.0/glib.h \ - cold.h widgets.h pages.h +warm.o: warm.c cold.h widgets.h pages.h diff --git a/widgets.h b/widgets.h index d7b4165..38cf808 100644 --- a/widgets.h +++ b/widgets.h @@ -21,19 +21,55 @@ GtkWidget *get_objects_and_situations_horizontal_pane(); GtkBox *get_ELAPSED_TIME_box(); GtkProgressBar *get_simulation_time_extent_buffer(); -/* -Dans : space_page_new() doivent être déclarées -et organisées de façon aussi ergonomique que possible : -- les commandes de mouvement (run/stop, slow down/speed up, step by step, do/undo/redo) - et le buffer qui montre où on en est dans le temps de simulation - (un seul bouton pour toutes ces commandes ?) - -- les commandes qui modifient l'orientation (X,Y,Z) de l'espace, le zoom, la perspective - -- les commandes qui modifient les apparences des grilles et des flèches - -- les commandes qui modifient les apparences des objets et des situations d'intérêt - (+/- transparents, colorés, etc.) +/*------------------------------------------------------------------------------ + * Dans : [space_page - mode run] doivent être visibles : + * + * -(1) les commandes de mouvement + * (run/stop, slow down/speed up, step by step, do/undo/redo) + * + le buffer [elapsed time] qui montre le temps de simulation écoulé + * + * -(2) les commandes qui modifient l'orientation (X,Y,Z) de l'espace, + * + le zoom, la perspective + * + * -(3) les commandes qui modifient les apparences des objets + * + des situations d'intérêt + * (+/- transparents, colorés, etc.) + * + * -(4) les commandes qui modifient les apparences des grilles et des flèches + * + * -(0) aucune commande ne doit permettre l'édition de l'espace + * + * ----------------------------------------------------------------------------- + * Dans : [space_page - mode edit] : + * + * -(0) les commandes de mouvement ainsi que le buffer [elapsed time] + * NE doivent PAS être accessibles / visibles + * + * -(1) les commandes qui modifient l'orientation (X,Y,Z) de l'espace global, + * et qui donnent accès à la partie de cet espace à éditer + * (zoom, perspective, distances oeil-écran, écran-matrice) + * deviennent prioritaires, suivies par : + * + * -(2) les commandes qui modifient les apparences des objets + * + des situations d'intérêt + * (+/- transparents, colorés, etc.) + * + * -(3) les commandes qui modifient les apparences des grilles et des flèches + * + * -(4) les commandes d'édition locales (drag and drop une flèche) + * ("faire de la place" pour insérer) + * (sélectionner pour déplacer ou enlever...) + * NB ces commandes doivent être graphiques et/ou accessibles en ligne + * + * -(5) les commandes d'édition globales + * (ex: introduire aléatoirement (n) objets dans l'espace) + * (ou retirer, transformer ...) + * + * ----------------------------------------------------------------------------- + * + * Tous ces widgets doivent être organisées de façon aussi ergonomique que possible. + * i.e : chaque utilisateur devrait disposer de "préférences" + * et avoir la possiblité de faire des choix ergonomiques. */ diff --git a/widgets.o b/widgets.o index 3ca97f523fbe7bf9938e81bc3537082880e07fc0..21880e64d2b8943dc979f96f033993a612b06c6b 100644 GIT binary patch delta 8702 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 Y9*7RHl~&af9-RfnA-0qvXb&;?AKxJ$G5`Po delta 8974 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