gem-graph-client/cold.h

62 lines
2.3 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 ! */
/* */
/******************************************************************************/
#include <stdio.h>
#include <gtk/gtk.h>
#define W 1920
#define H 960
#define W_GL_AREA 1920 - 64
#define H_GL_AREA 960 - 46
#define H_STYLES_PANE 60
void print_text(GtkWidget *widget, gpointer data);
GtkWidget *get_a_space_test_image();
GtkScrolledWindow *get_scrolled_gl_area();
GtkBox *get_RUN_STOP_box();
GtkBox *get_STEP_by_STEP_box();
GtkBox *get_ZOOM_box();
GtkBox *get_XYZ_box();
GtkWidget *get_scroll_speed();
void window_bar(GtkWindow *window, char *title);
GtkWidget *get_objects_and_situations_horizontal_pane();
GtkBox *get_ELAPSED_TIME_box();
GtkProgressBar *get_simulation_time_extent_buffer();
void activate (GtkApplication *app, gpointer user_data);
GtkWidget *get_space_page_new();
GtkWidget *get_rules_page_new();
GtkWidget *get_measures_page_new();
GtkWidget *get_results_page_new();
GtkWidget *get_discuss_page_new();
GtkWidget *get_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.)
*/