diff --git a/.gitignore b/.gitignore index 9c58ac0..75b5c78 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ bin/* build/* +doc/html/* diff --git a/doc/(pesonnal notes) b/doc/(personnal notes) similarity index 90% rename from doc/(pesonnal notes) rename to doc/(personnal notes) index 9a4eaa4..553134f 100644 --- a/doc/(pesonnal notes) +++ b/doc/(personnal notes) @@ -1,3 +1,75 @@ +links > GNOME platform + +https://docs.gtk.org/gio/class.Application.html +https://developer.gnome.org/documentation/tutorials/application.html +https://docs.gtk.org/gtk3/getting_started.html < WARNING Gtk3 +https://developer.gnome.org/documentation/introduction.html +https://developer.gnome.org/documentation/index.html + +----------------------------------------------------------------------------- + +https://fr.wikipedia.org/wiki/Disque_de_Poincar%C3%A9 + + + + + + +//----------------------------- personal notes --------------------------- +// TODO (ranger ça !) + + + + + +/* +2024-08-31 Un point sur l'état d'avancement du client: + +TODO (bottlenecks) + - images (++) + - arbres (et listes) (++) + - logging (ref : /var/log/messages) + - menus (pas indispensables à ce stade) + +À redéfinir: répartition des tâches (mesures) client/serveur. + Comment traiter le cas extrême où *toutes* les règles + sont des règles d'intérêt ? + (cas d'une erreur rare, non systématique où il faut "remonter le temps", + pas à pas, à partir du premier état qui met l'erreur en évidence) + + Pour effectuer cette "remontée", il faut une liste complète + de toutes les règles appliquées. + Cette liste doit comporter, pour chaque item (= chaque exécution d'une règle): + - identité de la règle + - lieu d'exécution (dans l'espace global) + - date d'exécution + NB Il ne peut y avoir d'ambiguité ou d'erreur due au parallélisme + car, si les espaces locaux de deux exécutions de règles se recouvrent, + elles ne peuvent avoir été exécutées simultanément. + + À mon avis, le serveur ne peut effectuer cette tâche car + la "remontée dans le temps" nécessite l'inspection 'de visu' de chaque état. + + Inspection veut dire ici: reconnaissance de formes + et ce travail (visuel) ne peut être pré-programmé + (bien qu'il doive être systématique), car le concepteur du modèle + ne sait pas quelle est l'erreur et ne peut prévoir ce qu'il va découvrir. + + Ceci n'exclut pas qu'il puisse - qu'il doive - effectuer plusieurs essais + (de "remontée dans le temps") en sélectionnant, par exemple, + différentes règles d'intérêt à chaque fois + ni qu'il puisse se programmer des outils d'aide + (mais tout ceci ne semble pas avoir sa place dans le serveur). + + NB À ce stade de la conception d'un modèle, les erreurs sont encore fréquentes + et les 'runs' sont nécessairement de brève durée. + Des 'runs' de longue durée n'ont de sens qu'une fois ce débuggage effectué. + Il y a donc peu de problèmes à craindre du fait de la limite de la bande passante. +*/ + + +------- + https://thevaluable.dev/sed-cli-practical-guide-examples/#the-basics-of-sed @@ -119,7 +191,7 @@ https://docs.gtk.org/gtk4/class.Widget.html#height-for-width-geometry-management // GtkSizeRequestMode get_request_mode (GtkWidget* widget); // gtk_window_set_default_size (GTK_WINDOW (a_box), 30, 400); < TO STUDY https://docs.gtk.org/gtk4/section-text-widget.html texts -https://docs.gtk.org/gtk4/drag-and-drop.html drag-and-drop +https://docs.gtk.org/gtk4/drag-and-drop.html drag-and-drop https://docs.gtk.org/gtk4/class.GestureZoom.html GtkGestureZoom https://docs.gtk.org/gtk4/class.ListView.html https://blog.gtk.org/2020/09/08/on-list-models/ < TODO @@ -148,7 +220,7 @@ puis, après déclaration du bouton, gtk_box_append (GTK_BOX (box), button); grid = gtk_grid_new (); gtk_window_set_child (GTK_WINDOW (window), grid); button = gtk_button_new_with_label (" I "); n fois -gtk_grid_attach (GTK_GRID (grid), button, 0, 0, 1, 1); n fois +gtk_grid_attach (GTK_GRID (grid), button, 0, 0, 1, 1); n fois -------------------------------------------------------------------------------- diff --git a/doc/docbook/d0/d09/main_8c.xml b/doc/docbook/d0/d09/main_8c.xml index dabf811..ef593db 100644 --- a/doc/docbook/d0/d09/main_8c.xml +++ b/doc/docbook/d0/d09/main_8c.xml @@ -38,31 +38,7 @@ By default, the main window opens on the overview page of the current model as specified in: src/widget/main_window/designer/widget_design_main_window(). - - - - -The code files are all located in the src (sources) directory (the headers in 'include'). They are divided into several types of organisation: - - - -hierarchical: the widgets that give the windows their appearance are organised in the form of a tree. Windows are the first level of depth. Next come the title bar and the pages designed to occupy the window space below the title bar. Each of these pages has its own hierarchical structure: it can be divided into horizontal or vertical strips, which can themselves be divided in the same way, with varying levels of depth right down to the last boxes, which contain lists of widgets such as buttons, sliders or images. - -list: the main sections of the fsm (finite state machine) constitute a list of at least four elements, each of which defines a set of possible states : - -execute or edit (managing the appropriate tools states in both cases) - -measure, operate on data, prepare displayable results - -apply user preferences - -indicate the desired state of windows and widgets - -The state of the fsm is uniquely defined at all times by all the parameters listed in these sections. All program actions depend on this state. - -transversal: the other functions that must be easily accessible by all the previous functions. They are therefore all located at the root. These are the functions that manage graphics, callbacks, utilities and the log. - - +About code organization, see src/readme.dox diff --git a/doc/docbook/d3/d01/readme_8dox.xml b/doc/docbook/d3/d01/readme_8dox.xml index 6fa84cb..f1b9f3e 100644 --- a/doc/docbook/d3/d01/readme_8dox.xml +++ b/doc/docbook/d3/d01/readme_8dox.xml @@ -12,6 +12,8 @@ Gem-graph-client doc readme.dox file. +(the .c extension is just crap) + This file is part of Gem-graph. The code files are all located in the src (sources) directory (the headers in 'include'). They are divided into several types of organisation: diff --git a/doc/docbook/dc/d0c/widget_2readme_8dox_8c.xml b/doc/docbook/dc/d0c/widget_2readme_8dox_8c.xml index 8d76f13..a44957f 100644 --- a/doc/docbook/dc/d0c/widget_2readme_8dox_8c.xml +++ b/doc/docbook/dc/d0c/widget_2readme_8dox_8c.xml @@ -4,23 +4,21 @@ src/widget/readme.dox.c -Gem-graph-client widget readme.dox file. +Gem-graph-client xxxxx readme.dox file (NB -> The .c extension is just crap).
Detailed Description -Gem-graph-client widget readme.dox file. - -(the .c extension is just crap) +Gem-graph-client xxxxx readme.dox file (NB -> The .c extension is just crap). This file is part of Gem-graph. -The code files are all located in the src (sources) directory (the headers in 'include'). They are divided into several types of organisation: +The code files are all located in the src (sources) directory They are divided into several types of organisation: -hierarchical: the widgets that give the windows their appearance are organised in the form of a tree. Windows are the first level of depth. Next come the title bar and the pages designed to occupy the window space below the title bar. Each of these pages has its own hierarchical structure: it can be divided into horizontal or vertical strips, which can themselves be divided in the same way, with varying levels of depth right down to the last boxes, which contain lists of widgets such as buttons, sliders or images. +hierarchical: the widgets that give the windows their appearance are organised in the form of a tree. Windows are the first level of depth. Next come the title bars and the pages designed to occupy the windows space below the title bars. Each of these pages has its own hierarchical structure: it can be divided into horizontal or vertical strips, which can themselves be divided in the same way, with varying levels of depth right down to the last containers which contain lists of widgets such as buttons, bars, entries or images. list: the main sections of the fsm (finite state machine) constitute a list of at least four elements, each of which defines a set of possible states : diff --git a/doc/docbook/dd/d01/fsm_8h.xml b/doc/docbook/dd/d01/fsm_8h.xml index b1be00d..2c4ae7a 100644 --- a/doc/docbook/dd/d01/fsm_8h.xml +++ b/doc/docbook/dd/d01/fsm_8h.xml @@ -359,7 +359,7 @@ This graph shows which files directly or indirectly include this file: -
+
J O U R N A L - M E T A - R U L E S ref: sudo cat /var/log/messages diff --git a/doc/docbook/de/d05/fsm_2readme_8dox_8c.xml b/doc/docbook/de/d05/fsm_2readme_8dox_8c.xml index 918880d..2a7922c 100644 --- a/doc/docbook/de/d05/fsm_2readme_8dox_8c.xml +++ b/doc/docbook/de/d05/fsm_2readme_8dox_8c.xml @@ -4,13 +4,13 @@ src/fsm/readme.dox.c -Gem-graph-client fsm readme.dox file. +Gem-graph-client fsm readme.dox file.
Detailed Description -Gem-graph-client fsm readme.dox file. +Gem-graph-client fsm readme.dox file. (the .c extension is just crap) diff --git a/doc/docbook/de/d0f/readme_8dox_8c.xml b/doc/docbook/de/d0f/readme_8dox_8c.xml index ce3439c..17bf846 100644 --- a/doc/docbook/de/d0f/readme_8dox_8c.xml +++ b/doc/docbook/de/d0f/readme_8dox_8c.xml @@ -1,24 +1,24 @@
-src/widget/readme.dox.c File Reference -src/widget/readme.dox.c +src/readme.dox.c File Reference +src/readme.dox.c -Gem-graph-client widget readme.dox file. +Gem-graph-client src readme.dox file (NB -> The .c extension is just crap).
Detailed Description -Gem-graph-client widget readme.dox file. +Gem-graph-client src readme.dox file (NB -> The .c extension is just crap). This file is part of Gem-graph. -The code files are all located in the src (sources) directory (the headers in 'include'). They are divided into several types of organisation: +The code files are all located in the src (sources) directory They are divided into several types of organisation: -hierarchical: the widgets that give the windows their appearance are organised in the form of a tree. Windows are the first level of depth. Next come the title bar and the pages designed to occupy the window space below the title bar. Each of these pages has its own hierarchical structure: it can be divided into horizontal or vertical strips, which can themselves be divided in the same way, with varying levels of depth right down to the last boxes, which contain lists of widgets such as buttons, sliders or images. +hierarchical: the widgets that give the windows their appearance are organised in the form of a tree. Windows are the first level of depth. Next come the title bars and the pages designed to occupy the windows space below the title bars. Each of these pages has its own hierarchical structure: it can be divided into horizontal or vertical strips, which can themselves be divided in the same way, with varying levels of depth right down to the last containers which contain lists of widgets such as buttons, bars, entries or images. list: the main sections of the fsm (finite state machine) constitute a list of at least four elements, each of which defines a set of possible states : @@ -38,6 +38,12 @@ The state of the fsm is uniquely defined at all times by all the parameters list - + + +See also + +Model–view–controller || Model–view–viewmodel || Action–domain–responder || Multitier_architecture https://en.wikipedia.org/wiki/Multitier_architecture (presentation, logic, data) + +
diff --git a/doc/docbook/index.xml b/doc/docbook/index.xml index ede25ca..f90bd4f 100644 --- a/doc/docbook/index.xml +++ b/doc/docbook/index.xml @@ -23,7 +23,6 @@ File Documentation - @@ -41,6 +40,9 @@ + + + @@ -92,8 +94,6 @@ - - diff --git a/doc/links > GNOME platform b/doc/links > GNOME platform deleted file mode 100644 index 84b0abc..0000000 --- a/doc/links > GNOME platform +++ /dev/null @@ -1,6 +0,0 @@ -https://docs.gtk.org/gio/class.Application.html -https://developer.gnome.org/documentation/tutorials/application.html -https://docs.gtk.org/gtk3/getting_started.html < WARNING Gtk3 -https://developer.gnome.org/documentation/introduction.html -https://developer.gnome.org/documentation/index.html - diff --git a/doc/rtfm/man3/main.c.3 b/doc/rtfm/man3/main.c.3 index 41563e1..a2ab24d 100644 --- a/doc/rtfm/man3/main.c.3 +++ b/doc/rtfm/man3/main.c.3 @@ -33,27 +33,7 @@ The \fBmain()\fP function \fBinitialises\fP the log, the finite state machine (f .PP By default, the main window opens on the overview page of the current model as specified in: src/widget/main_window/designer/widget_design_main_window()\&. .PP -.PP -.PP -The code files are all located in the src (sources) directory (the headers in 'include')\&. They are divided into several \fBtypes of organisation\fP: -.PP -.IP "\(bu" 2 -\fIhierarchical\fP: the widgets that give the windows their appearance are organised in the form of a tree\&. Windows are the first level of depth\&. Next come the title bar and the pages designed to occupy the window space below the title bar\&. Each of these pages has its own hierarchical structure: it can be divided into horizontal or vertical strips, which can themselves be divided in the same way, with varying levels of depth right down to the last boxes, which contain lists of widgets such as buttons, sliders or images\&. -.IP "\(bu" 2 -\fIlist\fP: the main \fIsections\fP of the fsm (finite state machine) constitute a list of at least four elements, each of which defines a set of possible states : -.IP " 1." 6 -execute or edit (managing the appropriate tools states in both cases) -.IP " 2." 6 -measure, operate on data, prepare displayable results -.IP " 3." 6 -apply user preferences -.IP " 4." 6 -indicate the desired state of windows and widgets -.PP -The state of the fsm is uniquely defined at all times by all the parameters listed in these sections\&. All program actions depend on this state\&. -.IP "\(bu" 2 -\fItransversal\fP: the other functions that must be easily accessible by all the previous functions\&. They are therefore all located at the root\&. These are the functions that manage graphics, callbacks, utilities and the log\&. -.PP +About code organization, see src/readme\&.dox .PP .PP diff --git a/doc/rtfm/man3/readme.dox.3 b/doc/rtfm/man3/readme.dox.3 index 09c43f4..6a05da8 100644 --- a/doc/rtfm/man3/readme.dox.3 +++ b/doc/rtfm/man3/readme.dox.3 @@ -11,6 +11,8 @@ doc/readme.dox \- Gem-graph-client doc \fBreadme\&.dox\fP file\&. .PP Gem-graph-client doc \fBreadme\&.dox\fP file\&. +(the \&.c extension is just crap) +.PP This file is part of Gem-graph\&. .PP The code files are all located in the src (sources) directory (the headers in 'include')\&. They are divided into several \fBtypes of organisation\fP: diff --git a/doc/rtfm/man3/readme.dox.c.3 b/doc/rtfm/man3/readme.dox.c.3 index 28d2643..c949f8b 100644 --- a/doc/rtfm/man3/readme.dox.c.3 +++ b/doc/rtfm/man3/readme.dox.c.3 @@ -2,23 +2,21 @@ .ad l .nh .SH NAME -src/widget/readme.dox.c \- Gem-graph-client widget \fBreadme\&.dox\fP file\&. +src/widget/readme.dox.c \- Gem-graph-client xxxxx readme\&.dox file (NB -> The \&.c extension is just crap)\&. .SH SYNOPSIS .br .PP .SH "Detailed Description" .PP -Gem-graph-client widget \fBreadme\&.dox\fP file\&. +Gem-graph-client xxxxx readme\&.dox file (NB -> The \&.c extension is just crap)\&. -(the \&.c extension is just crap) -.PP This file is part of Gem-graph\&. .PP -The code files are all located in the src (sources) directory (the headers in 'include')\&. They are divided into several \fBtypes of organisation\fP: +The code files are all located in the src (sources) directory They are divided into several \fBtypes of organisation\fP: .PP .IP "\(bu" 2 -\fIhierarchical\fP: the widgets that give the windows their appearance are organised in the form of a tree\&. Windows are the first level of depth\&. Next come the title bar and the pages designed to occupy the window space below the title bar\&. Each of these pages has its own hierarchical structure: it can be divided into horizontal or vertical strips, which can themselves be divided in the same way, with varying levels of depth right down to the last boxes, which contain lists of widgets such as buttons, sliders or images\&. +\fIhierarchical\fP: the widgets that give the windows their appearance are organised in the form of a tree\&. Windows are the first level of depth\&. Next come the title bars and the pages designed to occupy the windows space below the title bars\&. Each of these pages has its own hierarchical structure: it can be divided into horizontal or vertical strips, which can themselves be divided in the same way, with varying levels of depth right down to the last containers which contain lists of widgets such as buttons, bars, entries or images\&. .IP "\(bu" 2 \fIlist\fP: the main \fIsections\fP of the fsm (finite state machine) constitute a list of at least four elements, each of which defines a set of possible states : .IP " 1." 6 diff --git a/src/main.c b/src/main.c index f1cbeea..68b7315 100644 --- a/src/main.c +++ b/src/main.c @@ -10,40 +10,12 @@ * the application and the windows and **closes** all the elements it opened * before the end of program execution. * - * By default, the main window opens on the overview page of the current model + * The default values of the fsm initial state are specified in: + * src/fsm/dispatch() lines 287-288 (user preferences are not more detailed) + * and, in accordance, the overview page of the current model is displayed * as specified in: src/widget/main_window/designer/widget_design_main_window(). * - * --- - * - * The code files are all located in the src (sources) directory - * (the headers in 'include'). - * They are divided into several **types of organisation**: - * - * - *hierarchical*: the widgets that give the windows their appearance are - * organised in the form of a tree. - * Windows are the first level of depth. - * Next come the title bar and the pages designed to occupy the window space - * below the title bar. - * Each of these pages has its own hierarchical structure: it can be divided - * into horizontal or vertical strips, which can themselves be divided in the - * same way, with varying levels of depth right down to the last boxes, which - * contain lists of widgets such as buttons, sliders or images. - * - * - *list*: the main *sections* of the fsm (finite state machine) constitute - * a list of at least four elements, each of which defines a set of possible - * states : - * -# execute or edit (managing the appropriate tools states in both cases) - * -# measure, operate on data, prepare displayable results - * -# apply user preferences - * -# indicate the desired state of windows and widgets - * . - * The state of the fsm is uniquely defined at all times by all the parameters - * listed in these sections. All program actions depend on this state. - * - * - *transversal*: the other functions that must be easily accessible by all - * the previous functions. They are therefore all located at the root. - * These are the functions that manage graphics, callbacks, utilities - * and the log. + * About code organization, see src/readme.dox * * --- * @@ -110,146 +82,3 @@ int main (int argc, char **argv) return status; } - - - - - - - - - - - -//----------------------------- personal notes --------------------------- -// TODO (ranger ça !) - - -/* - * Sur quel modèle se guider pour structurer le client gem-graph ? - * - * https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel - * https://en.wikipedia.org/wiki/Multitier_architecture - * - * - * ORGANISATION ACTUELLE (Octobre 2024) - * - * 1) Les structures hierarchiques. - * -------------------------------- - * - * La description du 'design' des fenêtres se trouve dans le dossier 'widget' - * et s'organise naturellement en arborescence, - * en se calquant sur l'arborescence des widgets eux-mêmes. - * - * Il sera donc facile de répartir cette description en dossiers et fichiers - * au fur à mesure de son développement. - * - * Actuellement, par exemple, la fenêtre principale comporte : - * > une barre de titre (décrite dans 'topbar') et - * > un widget 'child' (la partie sous la barre de titre) - * qui peut prendre au moins trois apparences différentes : - * - state (montre l'état de l'espace et les commandes associées) - * - rules (les règles et les commandes associées) - * - stock (les données provenant des mesures, les outils d'analyse, etc.) - * (nom provisoire : mal défini à ce stade; fonctions à répartir...) - * - * La fenêtre principale 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, ces trois widgets principaux - * deviendront des dossiers et les widgets qu'ils contiennent - * des fichiers (ou des dossiers si besoin) et ainsi de suite... - * - * - * 2) Les structures transversales. - * -------------------------------- - * - * Les fonctions 'transversales' comme celles de 'graphics', 'parse', 'fsm', 'prefer', - * et peut-être des structures communes à tous les arbres, listes, etc. - * doivent pouvoir être accédées directement - * sans avoir à passer par la hiérarchie des widgets et/ou callbacks. - * Elles restent à la racine: 'src/ - * - * - * 'finite state machine' ('fsm') va centraliser l'identification - * des états (apparences) de la fenêtre et des transitions entre ces apparences; - * Elle sera probablement décomposée en de nombreux 'sous-automates' - * tels que chaque état de la fenêtre soit une combinaison unique - * des états de ces sous-automates. - * - * Exemple, muni des deux 'sous-automates' : - * > { EXEC, EDIT }; // xor - * > { STATE, RULES, DATA }; // xor - * la 'finite state machine' peut se trouver dans 2 x 3 = 6 états. - * (voir fsm.h lignes 40-41) - * - * - * Les grandes fonctions du client seront lancées par cette state machine : - * - édition automatique (optimisation) de l'arbre des conditions - * - tests sur un mini-serveur local - * - analyses de données... - * - * - * Leur recueil et la mémorisation des préférences des utilisateurs - * sont des fonctions centrales - * mais leur mise en oeuvre suivra probalement des voies hiérarchiques. - * - * On peut prévoir des préférences concernant l'apparence des widgets, - * les traductions, les 'disabilities'; etc. - * mais aussi concernant les méthodes de travail, l'usage des outils d'analyse, etc. - * >> des 'scripts' pour des 'méta-fonctions' (des 'macros') ? - */ - - - - -/* -2024-08-31 Un point sur l'état d'avancement du client: - -TODO (bottlenecks) - - images (++) - - arbres (et listes) (++) - - logging (ref : /var/log/messages) - - menus (pas indispensables à ce stade)) - -À redéfinir: répartition des tâches (mesures) client/serveur. - Comment traiter le cas extrême où *toutes* les règles - sont des règles d'intérêt ? - (cas d'une erreur rare, non systématique où il faut "remonter le temps", - pas à pas, à partir du premier état qui met l'erreur en évidence) - - Pour effectuer cette "remontée", il faut une liste complète - de toutes les règles appliquées. - Cette liste doit comporter, pour chaque item (= chaque exécution d'une règle): - - identité de la règle - - lieu d'exécution (dans l'espace global) - - date d'exécution - NB Il ne peut y avoir d'ambiguité ou d'erreur due au parallélisme - car, si les espaces locaux de deux exécutions de règles se recouvrent, - elles ne peuvent avoir été exécutées simultanément. - - À mon avis, le serveur ne peut effectuer cette tâche car - la "remontée dans le temps" nécessite l'inspection 'de visu' de chaque état. - - Inspection veut dire ici: reconnaissance de formes - et ce travail (visuel) ne peut être pré-programmé - (bien qu'il doive être systématique), car le concepteur du modèle - ne sait pas quelle est l'erreur et ne peut prévoir ce qu'il va découvrir. - - Ceci n'exclut pas qu'il puisse - qu'il doive - effectuer plusieurs essais - (de "remontée dans le temps") en sélectionnant, par exemple, - différentes règles d'intérêt à chaque fois - ni qu'il puisse se programmer des outils d'aide - (mais tout ceci ne semble pas avoir sa place dans le serveur). - - NB À ce stade de la conception d'un modèle, les erreurs sont encore fréquentes - et les 'runs' sont nécessairement de brève durée. - Des 'runs' de longue durée n'ont de sens qu'une fois ce débuggage effectué. - Il y a donc peu de problèmes à craindre du fait de la limite de la bande passante. -*/ - - - diff --git a/doc/readme.dox b/src/readme.dox.c similarity index 78% rename from doc/readme.dox rename to src/readme.dox.c index 504c4c6..8b153f5 100644 --- a/doc/readme.dox +++ b/src/readme.dox.c @@ -1,23 +1,21 @@ /** - * @page * @file - * Gem-graph-client doc readme.dox file. (the .c extension is just crap) + * @brief Gem-graph-client src readme.dox file (NB -> The .c extension is just crap). * - * This file is part of Gem-graph. + * @details This file is part of Gem-graph. * * The code files are all located in the src (sources) directory - * (the headers in 'include'). - * They are divided into several **types of organisation**: + * They are divided into several *types of organisation*: * * - *hierarchical*: the widgets that give the windows their appearance are * organised in the form of a tree. * Windows are the first level of depth. - * Next come the title bar and the pages designed to occupy the window space - * below the title bar. + * Next come the title bars and the pages designed to occupy the windows + * space below the title bars. * Each of these pages has its own hierarchical structure: it can be divided * into horizontal or vertical strips, which can themselves be divided in the - * same way, with varying levels of depth right down to the last boxes, which - * contain lists of widgets such as buttons, sliders or images. + * same way, with varying levels of depth right down to the last containers + * which contain lists of widgets such as buttons, bars, entries or images. * * - *list*: the main *sections* of the fsm (finite state machine) constitute * a list of at least four elements, each of which defines a set of possible @@ -37,6 +35,11 @@ * * --- * + * @see + * Model–view–controller || Model–view–viewmodel || Action–domain–responder || + * Multitier_architecture https://en.wikipedia.org/wiki/Multitier_architecture + * (presentation, logic, data) + * * @cond LICENSE * Copyright © 2021 Libre en Communs * Copyright © 2021-2024 Adrien Bourmault @@ -55,4 +58,4 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * @endcond - */ \ No newline at end of file + */ diff --git a/src/widget/readme.dox.c b/src/widget/readme.dox.c index 1da8cf0..31a7bd1 100644 --- a/src/widget/readme.dox.c +++ b/src/widget/readme.dox.c @@ -1,23 +1,21 @@ /** - * @page * @file - * Gem-graph-client widget readme.dox file. (the .c extension is just crap) + * Gem-graph-client xxxxx readme.dox file (NB -> The .c extension is just crap). * * This file is part of Gem-graph. * * The code files are all located in the src (sources) directory - * (the headers in 'include'). * They are divided into several **types of organisation**: * * - *hierarchical*: the widgets that give the windows their appearance are * organised in the form of a tree. * Windows are the first level of depth. - * Next come the title bar and the pages designed to occupy the window space - * below the title bar. + * Next come the title bars and the pages designed to occupy the windows + * space below the title bars. * Each of these pages has its own hierarchical structure: it can be divided * into horizontal or vertical strips, which can themselves be divided in the - * same way, with varying levels of depth right down to the last boxes, which - * contain lists of widgets such as buttons, sliders or images. + * same way, with varying levels of depth right down to the last containers + * which contain lists of widgets such as buttons, bars, entries or images. * * - *list*: the main *sections* of the fsm (finite state machine) constitute * a list of at least four elements, each of which defines a set of possible