87 lines
3.8 KiB
C
87 lines
3.8 KiB
C
/******************************************************************************/
|
|
/* */
|
|
/* 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 - 64
|
|
#define H_IMAGE 960 - 46
|
|
#define H_STYLES_PANE 60
|
|
|
|
void activate (GtkApplication *app, gpointer user_data);
|
|
|
|
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 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.
|
|
*/
|
|
|