gem-graph-client/src
Jean Sirmai 6e72f1f392
src/fsm/control.c fsm_init() and fsm_close() can be now triggered from main().
These two functions (defined in control.c) initiate the log and print it just
before the end of the program.
It is now possible to send messages that reports the events occuring during a
session: the creation of the log, then of the application and their closure in
the reverse order.
As previously,there is no g signal connect (activate) and no window is created.
This triggers the same error message in the console.
What is new, in this commit, is that a first log is printed in the console.
2024-11-20 17:54:16 +01:00
..
fsm src/fsm/control.c fsm_init() and fsm_close() can be now triggered from main(). 2024-11-20 17:54:16 +01:00
main.c src/fsm/control.c fsm_init() and fsm_close() can be now triggered from main(). 2024-11-20 17:54:16 +01:00
readme.docs.c include/fsm.h: prepares the building of a log and create src/readme.doc 2024-11-20 17:54:16 +01:00

readme.docs.c

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
 * @file
 * Gem-graph-client src/readme.docs file
 *
 *  This file is part of Gem-graph.
 *
 * @cond LICENSE
 * Copyright © 2021 Libre en Communs <contact@a-lec.org>
 * Copyright © 2021-2024 Adrien Bourmault <neox@a-lec.org>
 * Copyright © 2021-2024 Jean Sirmai <jean@a-lec.org>
 *
 * 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 <http://www.gnu.org/licenses/>.
 * @endcond
 *
 * @details
 * The code files are all located in the src (sources) directory.
 *
 * They are divided according to 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 windows contents: the title bars and the pages.
 *    The pages are 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 :
 *   -# execute or edit (managing the appropriate tools states in both cases)
 *   -# measure, operate on data, prepare displayable results
 *   -# user preferences
 *   -# 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 and utilities.
 *   Although 'transversal', the log is part of the fsm.
 *
 * ---
 *
 * @see
 * Modelviewcontroller || Modelviewviewmodel || Actiondomainresponder ||
 * Multitier_architecture https://en.wikipedia.org/wiki/Multitier_architecture
 * (presentation, logic, data)
 */