diff --git a/doc/archives/textes/2022-07-31 Quels sont les états possibles du client ? b/doc/archives/texts/2022-07-31 Quels sont les états possibles du client ? similarity index 100% rename from doc/archives/textes/2022-07-31 Quels sont les états possibles du client ? rename to doc/archives/texts/2022-07-31 Quels sont les états possibles du client ? diff --git a/doc/archives/textes/théorie Gem-graph.txt b/doc/archives/texts/théorie Gem-graph.txt similarity index 100% rename from doc/archives/textes/théorie Gem-graph.txt rename to doc/archives/texts/théorie Gem-graph.txt diff --git a/doc/docbook/d0/d09/main_8c.xml b/doc/docbook/d0/d09/main_8c.xml index 1d62a9f..dabf811 100644 --- a/doc/docbook/d0/d09/main_8c.xml +++ b/doc/docbook/d0/d09/main_8c.xml @@ -30,17 +30,25 @@ This file is part of Gem-graph. It contains only the main() function. + + + + The main() function initialises the log, the finite state machine (fsm), 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 as specified in: src/widget/main_window/designer/widget_design_main_window(). -There are several types of organisation in src (sources): + + + + +The code files are all located in the src (sources) directory (the headers in 'include'). They are divided into several types of organisation: -The widgets that give the windows their appearance are organised in a tree-like hierarchy. +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. -The fsm (finite state machine), which controls the program's actions and indicates its state at all times, contains the following main sections: +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) @@ -49,12 +57,16 @@ 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. -The other functions are those that manage graphics, callbacks, utilities and the log. They are called transversal because they must be easily accessed by all the preceding functions. They therefore remain at the root (src). +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. + + + +
Function Documentation diff --git a/doc/docbook/d2/d02/widget_2main__window_2topbar_2dispatch_8c.xml b/doc/docbook/d2/d02/widget_2main__window_2topbar_2dispatch_8c.xml index 8e06869..d0cae31 100644 --- a/doc/docbook/d2/d02/widget_2main__window_2topbar_2dispatch_8c.xml +++ b/doc/docbook/d2/d02/widget_2main__window_2topbar_2dispatch_8c.xml @@ -123,7 +123,27 @@ Parameters topbar - + + + +Parameters + + + + + + + +selected_page + + + + + +
+
+
+ Here is the call graph for this function: diff --git a/doc/docbook/d3/d01/readme_8dox.xml b/doc/docbook/d3/d01/readme_8dox.xml new file mode 100644 index 0000000..6fa84cb --- /dev/null +++ b/doc/docbook/d3/d01/readme_8dox.xml @@ -0,0 +1,43 @@ + +
+doc/readme.dox File Reference +doc/readme.dox + + +Gem-graph-client doc readme.dox file. + + +
+Detailed Description + +Gem-graph-client doc readme.dox file. + +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. 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. + + + + + + +
+
diff --git a/doc/docbook/d4/d06/readme__dox_8c.xml b/doc/docbook/d4/d06/readme__dox_8c.xml new file mode 100644 index 0000000..e11b5e7 --- /dev/null +++ b/doc/docbook/d4/d06/readme__dox_8c.xml @@ -0,0 +1,43 @@ + +
+src/widget/readme_dox.c File Reference +src/widget/readme_dox.c + + +Gem-graph-client widget readme.dox file. + + +
+Detailed Description + +Gem-graph-client widget readme.dox file. + +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. 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. + + + + + + +
+
diff --git a/doc/docbook/d4/d08/doc_2readme_8dox.xml b/doc/docbook/d4/d08/doc_2readme_8dox.xml new file mode 100644 index 0000000..0641495 --- /dev/null +++ b/doc/docbook/d4/d08/doc_2readme_8dox.xml @@ -0,0 +1,43 @@ + +
+doc/readme.dox File Reference +doc/readme.dox + + +Gem-graph-client doc readme.dox file. + + +
+Detailed Description + +Gem-graph-client doc readme.dox file. + +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. 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. + + + + + + +
+
diff --git a/doc/docbook/d4/d09/src_2fsm_2readme_8dox.xml b/doc/docbook/d4/d09/src_2fsm_2readme_8dox.xml new file mode 100644 index 0000000..f774eee --- /dev/null +++ b/doc/docbook/d4/d09/src_2fsm_2readme_8dox.xml @@ -0,0 +1,17 @@ + +
+src/fsm/readme.dox File Reference +src/fsm/readme.dox + + +Gem-graph-client fsm readme.dox file. + + +
+Detailed Description + +Gem-graph-client fsm readme.dox file. + +This file is part of Gem-graph. +
+
diff --git a/doc/docbook/d5/d03/left_8c.xml b/doc/docbook/d5/d03/left_8c.xml index 211d213..33f0c52 100644 --- a/doc/docbook/d5/d03/left_8c.xml +++ b/doc/docbook/d5/d03/left_8c.xml @@ -156,6 +156,11 @@ Parameters *header_bar + + + +selected_page + diff --git a/doc/docbook/d9/d06/fsm_2readme_8dox.xml b/doc/docbook/d9/d06/fsm_2readme_8dox.xml new file mode 100644 index 0000000..ba3df9a --- /dev/null +++ b/doc/docbook/d9/d06/fsm_2readme_8dox.xml @@ -0,0 +1,17 @@ + +
+src/fsm/readme.dox File Reference +src/fsm/readme.dox + + +Gem-graph-client fsm readme.dox file. + + +
+Detailed Description + +Gem-graph-client fsm readme.dox file. + +This file is part of Gem-graph. +
+
diff --git a/doc/docbook/dc/d03/widget_2readme_8dox.xml b/doc/docbook/dc/d03/widget_2readme_8dox.xml new file mode 100644 index 0000000..016f3a3 --- /dev/null +++ b/doc/docbook/dc/d03/widget_2readme_8dox.xml @@ -0,0 +1,43 @@ + +
+src/widget/readme.dox File Reference +src/widget/readme.dox + + +Gem-graph-client widget readme.dox file. + + +
+Detailed Description + +Gem-graph-client widget readme.dox file. + +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. 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. + + + + + + +
+
diff --git a/doc/docbook/dc/d0c/widget_2readme_8dox_8c.xml b/doc/docbook/dc/d0c/widget_2readme_8dox_8c.xml new file mode 100644 index 0000000..8d76f13 --- /dev/null +++ b/doc/docbook/dc/d0c/widget_2readme_8dox_8c.xml @@ -0,0 +1,45 @@ + +
+src/widget/readme.dox.c File Reference +src/widget/readme.dox.c + + +Gem-graph-client widget readme.dox file. + + +
+Detailed Description + +Gem-graph-client widget 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: + + + +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. + + + + + + +
+
diff --git a/doc/docbook/dd/d01/fsm_8h.xml b/doc/docbook/dd/d01/fsm_8h.xml index 2c4ae7a..b1be00d 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 new file mode 100644 index 0000000..918880d --- /dev/null +++ b/doc/docbook/de/d05/fsm_2readme_8dox_8c.xml @@ -0,0 +1,19 @@ + +
+src/fsm/readme.dox.c File Reference +src/fsm/readme.dox.c + + +Gem-graph-client fsm readme.dox file. + + +
+Detailed Description + +Gem-graph-client fsm readme.dox file. + +(the .c extension is just crap) + +This file is part of Gem-graph. +
+
diff --git a/doc/docbook/de/d0e/src_2widget_2readme_8dox.xml b/doc/docbook/de/d0e/src_2widget_2readme_8dox.xml new file mode 100644 index 0000000..734a4b0 --- /dev/null +++ b/doc/docbook/de/d0e/src_2widget_2readme_8dox.xml @@ -0,0 +1,43 @@ + +
+src/widget/readme.dox File Reference +src/widget/readme.dox + + +Gem-graph-client widget readme.dox file. + + +
+Detailed Description + +Gem-graph-client widget readme.dox file. + +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. 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. + + + + + + +
+
diff --git a/doc/docbook/de/d0f/readme_8dox_8c.xml b/doc/docbook/de/d0f/readme_8dox_8c.xml new file mode 100644 index 0000000..ce3439c --- /dev/null +++ b/doc/docbook/de/d0f/readme_8dox_8c.xml @@ -0,0 +1,43 @@ + +
+src/widget/readme.dox.c File Reference +src/widget/readme.dox.c + + +Gem-graph-client widget readme.dox file. + + +
+Detailed Description + +Gem-graph-client widget readme.dox file. + +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. 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. + + + + + + +
+
diff --git a/doc/docbook/df/d05/widget_8h.xml b/doc/docbook/df/d05/widget_8h.xml index 4324ef9..24d66a8 100644 --- a/doc/docbook/df/d05/widget_8h.xml +++ b/doc/docbook/df/d05/widget_8h.xml @@ -1817,7 +1817,27 @@ Parameters topbar - + + + +Parameters + + + + + + + +selected_page + + + + + +
+
+
+ Here is the call graph for this function: @@ -2495,6 +2515,11 @@ Parameters *header_bar + + + +selected_page + diff --git a/doc/docbook/index.xml b/doc/docbook/index.xml index 139a441..ede25ca 100644 --- a/doc/docbook/index.xml +++ b/doc/docbook/index.xml @@ -23,6 +23,7 @@ File Documentation + @@ -91,6 +92,8 @@ + + diff --git a/doc/doxyfile b/doc/doxyfile index 6a12356..e302ae9 100644 --- a/doc/doxyfile +++ b/doc/doxyfile @@ -1008,9 +1008,13 @@ INPUT_FILE_ENCODING = FILE_PATTERNS = *.c \ *.h \ + *.dox \ # TODO + *.dox.c \ # don't know how to use dox! (so...) *.frag \ *.vert \ +INCLUDE += readme.dox + # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. # The default value is: NO. diff --git a/doc/readme.dox b/doc/readme.dox new file mode 100644 index 0000000..504c4c6 --- /dev/null +++ b/doc/readme.dox @@ -0,0 +1,58 @@ +/** + * @page + * @file + * 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**: + * + * - *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. + * + * --- + * + * @cond LICENSE + * Copyright © 2021 Libre en Communs + * Copyright © 2021-2024 Adrien Bourmault + * Copyright © 2021-2024 Jean Sirmai + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU Affero General Public License as published by the Free + * Software Foundation, either version 3 of the License, or (at your option) any + * later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more + * details. + * + * 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/doc/rtfm/man3/dispatch.c.3 b/doc/rtfm/man3/dispatch.c.3 index 5d81981..4cb2912 100644 --- a/doc/rtfm/man3/dispatch.c.3 +++ b/doc/rtfm/man3/dispatch.c.3 @@ -79,6 +79,11 @@ topbar (left, center, right) topbar .RE .PP +\fBParameters\fP +.RS 4 +\fIselected_page\fP +.RE +.PP .SH "Author" .PP diff --git a/doc/rtfm/man3/left.c.3 b/doc/rtfm/man3/left.c.3 index 97a2f6e..f44cb5e 100644 --- a/doc/rtfm/man3/left.c.3 +++ b/doc/rtfm/man3/left.c.3 @@ -108,6 +108,8 @@ It is in the function: static void switch_state_rules_data() { switch (\fBfsm_ge \fBParameters\fP .RS 4 \fI*header_bar\fP +.br +\fIselected_page\fP .RE .PP diff --git a/doc/rtfm/man3/main.c.3 b/doc/rtfm/man3/main.c.3 index fcf2f03..41563e1 100644 --- a/doc/rtfm/man3/main.c.3 +++ b/doc/rtfm/man3/main.c.3 @@ -27,30 +27,36 @@ Gem-graph-client main file\&. This file is part of Gem-graph\&. It contains only the \fBmain()\fP function\&. .PP +.PP +.PP The \fBmain()\fP function \fBinitialises\fP the log, the finite state machine (fsm), the application and the windows and \fBcloses\fP all the elements it opened before the end of program execution\&. .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 -There are several \fBtypes of organisation\fP in src (sources): +.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 -The widgets that give the windows their appearance are organised in a tree-like \fIhierarchy\fP\&. +\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 -The fsm (finite state machine), which controls the program's actions and indicates its state at all times, contains the following main \fIsections\fP: -.IP " \(bu" 4 +\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 " \(bu" 4 +.IP " 2." 6 measure, operate on data, prepare displayable results -.IP " \(bu" 4 +.IP " 3." 6 apply user preferences -.IP " \(bu" 4 +.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 -The other functions are those that manage graphics, callbacks, utilities and the log\&. They are called \fItransversal\fP because they must be easily accessed by all the preceding functions\&. They therefore remain at the root (src)\&. +\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 - +.PP +.PP + .SH "Function Documentation" .PP .SS "int main (int argc, char ** argv)" diff --git a/doc/rtfm/man3/readme.dox.3 b/doc/rtfm/man3/readme.dox.3 new file mode 100644 index 0000000..09c43f4 --- /dev/null +++ b/doc/rtfm/man3/readme.dox.3 @@ -0,0 +1,40 @@ +.TH "doc/readme.dox" 3 "Version 0.1.0" "Gem-graph" \" -*- nroff -*- +.ad l +.nh +.SH NAME +doc/readme.dox \- Gem-graph-client doc \fBreadme\&.dox\fP file\&. + +.SH SYNOPSIS +.br +.PP +.SH "Detailed Description" +.PP +Gem-graph-client doc \fBreadme\&.dox\fP file\&. + +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: +.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 +.PP +.PP + +.SH "Author" +.PP +Generated automatically by Doxygen for Gem-graph from the source code\&. diff --git a/doc/rtfm/man3/readme.dox.c.3 b/doc/rtfm/man3/readme.dox.c.3 new file mode 100644 index 0000000..28d2643 --- /dev/null +++ b/doc/rtfm/man3/readme.dox.c.3 @@ -0,0 +1,42 @@ +.TH "src/widget/readme.dox.c" 3 "Version 0.1.0" "Gem-graph" \" -*- nroff -*- +.ad l +.nh +.SH NAME +src/widget/readme.dox.c \- Gem-graph-client widget \fBreadme\&.dox\fP file\&. + +.SH SYNOPSIS +.br +.PP +.SH "Detailed Description" +.PP +Gem-graph-client widget \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: +.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 +.PP +.PP + +.SH "Author" +.PP +Generated automatically by Doxygen for Gem-graph from the source code\&. diff --git a/doc/rtfm/man3/readme_dox.c.3 b/doc/rtfm/man3/readme_dox.c.3 new file mode 100644 index 0000000..91a1ca1 --- /dev/null +++ b/doc/rtfm/man3/readme_dox.c.3 @@ -0,0 +1,40 @@ +.TH "src/widget/readme_dox.c" 3 "Version 0.1.0" "Gem-graph" \" -*- nroff -*- +.ad l +.nh +.SH NAME +src/widget/readme_dox.c \- Gem-graph-client widget readme\&.dox file\&. + +.SH SYNOPSIS +.br +.PP +.SH "Detailed Description" +.PP +Gem-graph-client widget readme\&.dox file\&. + +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: +.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 +.PP +.PP + +.SH "Author" +.PP +Generated automatically by Doxygen for Gem-graph from the source code\&. diff --git a/doc/rtfm/man3/widget.h.3 b/doc/rtfm/man3/widget.h.3 index 1721de2..74a7b31 100644 --- a/doc/rtfm/man3/widget.h.3 +++ b/doc/rtfm/man3/widget.h.3 @@ -1040,6 +1040,11 @@ time_box topbar .RE .PP +\fBParameters\fP +.RS 4 +\fIselected_page\fP +.RE +.PP .SS "void * widget_get_user_rules_tree ()" @@ -1267,6 +1272,8 @@ It is in the function: static void switch_state_rules_data() { switch (\fBfsm_ge \fBParameters\fP .RS 4 \fI*header_bar\fP +.br +\fIselected_page\fP .RE .PP diff --git a/src/fsm/readme.dox.c b/src/fsm/readme.dox.c new file mode 100644 index 0000000..7c133d9 --- /dev/null +++ b/src/fsm/readme.dox.c @@ -0,0 +1,26 @@ +/** + * @page + * @file + * Gem-graph-client fsm readme.dox file. (the .c extension is just crap) + * + * This file is part of Gem-graph. + * + * @cond LICENSE + * Copyright © 2021 Libre en Communs + * Copyright © 2021-2024 Adrien Bourmault + * Copyright © 2021-2024 Jean Sirmai + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU Affero General Public License as published by the Free + * Software Foundation, either version 3 of the License, or (at your option) any + * later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more + * details. + * + * 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/main.c b/src/main.c index 75ed863..f1cbeea 100644 --- a/src/main.c +++ b/src/main.c @@ -4,6 +4,8 @@ * * This file is part of Gem-graph. It contains only the main() function. * + * --- + * * The main() function **initialises** the log, the finite state machine (fsm), * the application and the windows and **closes** all the elements it opened * before the end of program execution. @@ -11,23 +13,39 @@ * 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(). * - * There are several **types of organisation** in src (sources): + * --- * - * - The widgets that give the windows their appearance are organised in a tree-like - * *hierarchy*. + * The code files are all located in the src (sources) directory + * (the headers in 'include'). + * They are divided into several **types of organisation**: * - * - The fsm (finite state machine), which controls the program's actions and - * indicates its state at all times, contains the following main *sections*: - * - 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 + * - *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. * - * - The other functions are those that manage graphics, callbacks, utilities - * and the log. - * They are called *transversal* because they must be easily accessed by all the - * preceding functions. They therefore remain at the root (src). + * - *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. + * + * --- * * @cond LICENSE * Copyright © 2021 Libre en Communs diff --git a/src/widget/main_window/topbar/dispatch.c b/src/widget/main_window/topbar/dispatch.c index d199588..2783ae6 100644 --- a/src/widget/main_window/topbar/dispatch.c +++ b/src/widget/main_window/topbar/dispatch.c @@ -39,6 +39,7 @@ * @param *app * * @returns topbar + * @param selected_page */ GtkWidget *widget_get_topbar(GtkApplication *app, int selected_page) { diff --git a/src/widget/main_window/topbar/left.c b/src/widget/main_window/topbar/left.c index b10a4e8..2edb09a 100644 --- a/src/widget/main_window/topbar/left.c +++ b/src/widget/main_window/topbar/left.c @@ -71,6 +71,7 @@ const char *widget_get_btt_label_data() {return "results";} * } * * @param *header_bar + * @param selected_page */ void window_design_topbar_left (GtkWidget *header_bar, int selected_page) { diff --git a/src/widget/readme.dox.c b/src/widget/readme.dox.c new file mode 100644 index 0000000..1da8cf0 --- /dev/null +++ b/src/widget/readme.dox.c @@ -0,0 +1,58 @@ +/** + * @page + * @file + * Gem-graph-client widget 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**: + * + * - *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. + * + * --- + * + * @cond LICENSE + * Copyright © 2021 Libre en Communs + * Copyright © 2021-2024 Adrien Bourmault + * Copyright © 2021-2024 Jean Sirmai + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU Affero General Public License as published by the Free + * Software Foundation, either version 3 of the License, or (at your option) any + * later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more + * details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * @endcond + */