/******************************************************************************/ /* */ /* E coli by David S. Goodsell (2009) */ /* --- */ /* Let this freeze frame guide us towards the model */ /* that alone can account for the phenomenon ! */ /* */ /******************************************************************************/ #include #include #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(); 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 où 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.) */