De la documentation (dans main.c) sur l'architecture générale
This commit is contained in:
parent
562365ec78
commit
73cda3992a
|
@ -62,6 +62,8 @@ void on_main_window_activation (GtkApplication *app,
|
||||||
{
|
{
|
||||||
set_main_window (app);
|
set_main_window (app);
|
||||||
widget_MAIN_WINDOW_design (get_main_window());
|
widget_MAIN_WINDOW_design (get_main_window());
|
||||||
|
g_signal_connect (app, "activate", G_CALLBACK (on_dialog_window_activation), NULL);
|
||||||
|
g_signal_connect (app, "activate", G_CALLBACK (on_text_window_activation), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -322,25 +324,16 @@ void on_toggle_STATE_RULES_DATA (GtkWidget *toggled_button, gpointer user_data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void on_OBJECTS_box_RESET_VALUE (GtkAdjustment *adjustment, gpointer data)
|
void on_OBJECTS_box_RESET_VALUE (GtkAdjustment *adjustment, gpointer data)
|
||||||
{
|
{
|
||||||
printf ("callback.on_OBJECTS_box_DO_RESET()\n");
|
printf ("callback.on_OBJECTS_box_DO_RESET() %f\n",\
|
||||||
|
gtk_adjustment_get_value (adjustment));
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_SITUATIONS_box_RESET_VALUE (GtkAdjustment *adjustment, gpointer data) {}
|
void on_SITUATIONS_box_RESET_VALUE (GtkAdjustment *adjustment, gpointer data) {}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void on_clicked_MENU (GtkWidget *btt_reset, gpointer menu_button) {go_to_the_lab (menu_button);}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void on_OBJECTS_box_DO_RESET (GtkWidget *btt_reset, gpointer data)
|
void on_OBJECTS_box_DO_RESET (GtkWidget *btt_reset, gpointer data)
|
||||||
{
|
{
|
||||||
printf ("callback.on_OBJECTS_box_DO_RESET()\
|
printf ("callback.on_OBJECTS_box_DO_RESET()\
|
||||||
|
@ -356,6 +349,12 @@ void on_SITUATIONS_box_DO_RESET (GtkWidget *btt_reset, gpointer data)
|
||||||
set_SITUATIONS_box_RESET_VALUE (1);
|
set_SITUATIONS_box_RESET_VALUE (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void on_clicked_MENU (GtkWidget *btt_reset, gpointer menu_button) {go_to_the_lab (menu_button);}
|
||||||
|
|
||||||
|
|
||||||
// GTK itself does not support event sounds, << A GREAT WAY TO DEBUG ! TODO
|
// GTK itself does not support event sounds, << A GREAT WAY TO DEBUG ! TODO
|
||||||
// you have to use a loadable module like the one that comes with libcanberra.
|
// you have to use a loadable module like the one that comes with libcanberra.
|
||||||
|
|
||||||
|
|
49
src/main.c
49
src/main.c
|
@ -32,19 +32,62 @@
|
||||||
|
|
||||||
#include "../include/callbacks.h"
|
#include "../include/callbacks.h"
|
||||||
|
|
||||||
|
/* Tous les callbacks sont dans le fichier 'src/callbacks.c'
|
||||||
|
* et leur nom commence par: 'on_'
|
||||||
|
* (aucun autre nom de fonction ne commence par 'on_').
|
||||||
|
* S'ils deviennent trop nombreux, ils seront répartis
|
||||||
|
* dans des fichiers regroupés dans un dossier: 'src/callbacks.c'.
|
||||||
|
* (ou 'src/callbacks' ?)
|
||||||
|
* La description des fonctions devrait plutôt précéder ces fonctions
|
||||||
|
* pour alléger le fichier 'callbacks.h' (?) */
|
||||||
|
|
||||||
|
/* La description de l'aspect (du 'design') des fenêtres
|
||||||
|
* se trouve dans le dossier 'widget.c'
|
||||||
|
* et s'organise naturellement en arborescence
|
||||||
|
* qu'il sera facile de répartir en dossiers et fichiers
|
||||||
|
* au fur à mesure de leur développement.
|
||||||
|
*
|
||||||
|
* Actuellement, par exemple, la fenêtre principale comporte
|
||||||
|
* une barre de titre (décrite dans 'headers.c')
|
||||||
|
* et s'ouvre sur la vue de l'état ('state.c') en mode 'EXEC'.
|
||||||
|
* Cette vue comporte trois panneaux (widgets) principaux:
|
||||||
|
* sup, moyen, inf ou encore: CONTRAST, CAMERA, CONTROL ou EDIT
|
||||||
|
* si on veut les nommer d'après leur fonction.
|
||||||
|
*
|
||||||
|
* Lorsque la description de chaque widget s'affinera
|
||||||
|
* et demandera plus de place, les trois widgets principaux
|
||||||
|
* deviendront des dossiers et les widgets qu'ils contiennent
|
||||||
|
* des fichiers (ou des dossiers si besoin) et ainsi de suite...
|
||||||
|
*
|
||||||
|
* Dans cette logique, l'actuel ficher 'tree.c' doit être
|
||||||
|
* soit inclus dans le fichier 'rules.c'
|
||||||
|
* (puisque l'arbre des utilisateurs est dans le widget (= la page) 'rules')
|
||||||
|
* ou, s'il est trop volumineux, et pour faciliter la lisibilité,
|
||||||
|
* dans un dossier 'rules.c' (ou 'rules' ?)
|
||||||
|
* qui regroupera les différents widgets du widget 'rules'.
|
||||||
|
* (NB labo.c disparaitra, bien sûr !)
|
||||||
|
*
|
||||||
|
* Les fonctions 'transversales' comme celles de
|
||||||
|
* 'graph' 'parse' ou - surtout - 'automat',
|
||||||
|
* qui doivent pouvoir être accédées par un grand nombre
|
||||||
|
* de widgets ou de callbacks restent à la racine 'src/'
|
||||||
|
*
|
||||||
|
* Pour l'instant, le 'include' de 'automat' est dans 'base.h'.
|
||||||
|
* C'est une erreur (tolérable tant qu'automat est à l'état embryonnaire).
|
||||||
|
* À terme, il y aura un fichier 'automat.h' dans le dossier 'include' */
|
||||||
|
|
||||||
|
|
||||||
int main (int argc, char **argv)
|
int main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
GtkApplication *app;
|
GtkApplication *app;
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
app = gtk_application_new ("org.jean.gg_hack", G_APPLICATION_DEFAULT_FLAGS);
|
app = gtk_application_new ("org.jean.gg_hack", G_APPLICATION_DEFAULT_FLAGS);
|
||||||
|
|
||||||
g_signal_connect (app, "activate", G_CALLBACK (on_main_window_activation), NULL);
|
g_signal_connect (app, "activate", G_CALLBACK (on_main_window_activation), NULL);
|
||||||
g_signal_connect (app, "activate", G_CALLBACK (on_dialog_window_activation), NULL);
|
|
||||||
g_signal_connect (app, "activate", G_CALLBACK (on_text_window_activation), NULL);
|
|
||||||
|
|
||||||
status = g_application_run (G_APPLICATION (app), argc, argv);
|
status = g_application_run (G_APPLICATION (app), argc, argv);
|
||||||
g_object_unref (app);
|
g_object_unref (app);
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue