GTK4_GG_hack/pages.h

87 lines
3.8 KiB
C
Raw Normal View History

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