/******************************************************************************/ /* */ /* E coli by David S. Goodsell (2009) */ /* --- */ /* Let this freeze frame guide us towards the model */ /* that alone can account for the phenomenon ! */ /* */ /******************************************************************************/ #define W 1920 #define H 960 #define W_IMAGE 1920 - 20 #define H_IMAGE 960 - 126 #define H_STYLES_PANE 60 void activate (GtkApplication *app, gpointer user_data); GtkWidget *get_run_space_left_box(); GtkWidget *get_run_space_right_box(); GtkWidget *get_run_space_page_new(); GtkWidget *get_run_rules_page_new(); GtkWidget *get_run_measures_page_new(); GtkWidget *get_run_results_page_new(); GtkWidget *get_run_discuss_page_new(); GtkWidget *get_run_help_page_new(); GtkWidget *get_edit_space_page_new(); GtkWidget *get_edit_rules_page_new(); GtkWidget *get_edit_measures_page_new(); GtkWidget *get_edit_results_page_new(); GtkWidget *get_edit_discuss_page_new(); GtkWidget *get_edit_help_page_new(); // https://docs.gtk.org/gtk4/visual_index.html < widgets gallery /* >>> Dans : [space_page - mode RUN] doivent être : ------------------------------------------------------ (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 la perception de l'espace (la caméra) - son orientation (X,Y,Z), + le zoom, + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) (3) les commandes qui modifient les apparences des objets et des situations d'intérêt (+/- transparents, colorés, etc.) (4) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.) (0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'ÉDITER L'ESPACE ! <<< >>> Dans : [space_page - mode EDIT] doivent être : ------------------------------------------------------ (1) les commandes qui modifient la perception de l'espace (la caméra) - son orientation (X,Y,Z), + le zoom, + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) (2) les commandes qui modifient les apparences des objets et des situations d'intérêt (+/- transparents, colorés, etc.) (3) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.) (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 par raccourcis ou en ligne (5) les commandes d'édition globales (ex: introduire, retirer, transformer +/-aléatoirement (n) objets dans l'espace) NB une action effectuée sur une zone d'intérêt devrait pouvoir être automatiquement appliquée à d'autres zones d'intérêt identifiées comme similaires (0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'EXÉCUTER UN RUN ! <<< >>> L'objectif est que l'utilisateur ait accès à une organsisation aussi ergonomique que possible ----- i.e : chaque utilisateur devrait disposer de 'préférences' c'est-à-dire avoir la possiblité de faire des choix ergonomiques personnalisés. */