2024-05-07 20:48:01 +02:00
|
|
|
/******************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* 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
|
2024-05-10 15:10:34 +02:00
|
|
|
#define W_IMAGE 1920 - 320
|
2024-05-10 14:37:44 +02:00
|
|
|
#define H_IMAGE 960 - 126
|
2024-05-07 20:48:01 +02:00
|
|
|
#define H_STYLES_PANE 60
|
|
|
|
|
|
|
|
void activate (GtkApplication *app, gpointer user_data);
|
2024-05-10 06:52:48 +02:00
|
|
|
GtkWidget *get_run_space_left_box();
|
|
|
|
GtkWidget *get_run_space_right_box();
|
2024-05-07 20:48:01 +02:00
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-05-08 11:13:33 +02:00
|
|
|
/*
|
|
|
|
>>> 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.
|
2024-05-07 20:48:01 +02:00
|
|
|
*/
|
|
|
|
|