spécifications widgets space_page selon le mode (run / edit) - voir .h

This commit is contained in:
Jean Sirmai 2024-05-08 08:46:41 +02:00
parent 22f3c8851f
commit 3f90beedb4
Signed by: jean
GPG Key ID: FB3115C340E057E3
9 changed files with 155 additions and 41 deletions

51
cold.h
View File

@ -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.
*/

BIN
cold.o

Binary file not shown.

BIN
myprogram

Binary file not shown.

13
pages.c
View File

@ -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);
*/

66
pages.h
View File

@ -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 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.
*/

BIN
pages.o

Binary file not shown.

4
warm.d
View File

@ -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

View File

@ -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 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.
*/

BIN
widgets.o

Binary file not shown.