Go to file
Jean Sirmai 74894b5253
rtfm/intro Manual Introduction - a first version.
The same text is presented in two formats: for an external text editor (.txt)
or with lines limited to 80 characters.

The links are prepared but not functionnal.
2024-11-10 19:55:24 +01:00
data src/*, simple Gtk application 2024-11-01 23:53:24 +01:00
docs rtfm/intro Manual Introduction - a first version. 2024-11-10 19:55:24 +01:00
include src/fsm/control.c fsm_init() and fsm_close() can be now triggered from main(). 2024-11-09 08:03:55 +01:00
scripts scripts/*: add a script that can list every function name 2024-11-01 23:54:39 +01:00
src src/fsm/control.c fsm_init() and fsm_close() can be now triggered from main(). 2024-11-09 08:03:55 +01:00
.gitignore docs/*: integrate doxygen, create a documentation zone, adds notes 2024-11-01 23:54:43 +01:00
COPYING src/*, simple Gtk application 2024-11-01 23:53:24 +01:00
Makefile docs/*: integrate doxygen, create a documentation zone, adds notes 2024-11-01 23:54:43 +01:00
manifest.scm src/*, simple Gtk application 2024-11-01 23:53:24 +01:00

docs/readme

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*  Gem-graph client                                                            *
*  What the documentation contains and how to use it                           *
*  Docstring content: rationale and usage                                      *
*  Alphabetic Index 2024 of functions names                                    *
*                                                                              *
*  Copyright © 2021 Libre en Communs <contact@a-lec.org>                       *
*  Copyright © 2024 Jean Sirmai <jean@a-lec.org>                               *
*                                                                              *
*  This file is part of Gem-graph.                                             *
*                                                                              *
*  This program is free software: you can redistribute it and/or modify it     *
*  under the terms of the GNU Affero General Public License                    *
*  as publishedby 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/>.       *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */


This dossier gives you information on how to make the best use of doc.
(a few tips for personalising it)


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Attention
    Let's repeat that, because it is often overlooked:
    to document global objects (functions, typedefs, enum, macros, etc),
    you must document the file in which they are defined.
    In other words, there must at least be a
		/** \file */
	   (or  /*! \file */)
    line in this file.

---------------------------------------------------------------------------
 *
 *  docstrings
 *  ----------
 * Pour chaque fonction, quelles sont les infos prioritaires ?
 *
 * @brief
 * @details
 * @date
 * @author
 * @callgraph
 * @see (liste des fonctions appelées par cette fonction)
 * @callergraph
 * @see (liste des fonctions qui appellent cette fonction)
 * @param (liste des paramètres)
 * @return

 autres (à envisager)  @see   https://www.doxygen.nl/manual/commands.html

--------------------------------------------------------------------------------
git commit 2024-10-14  avant d'exécuter une commande sed
qui remplacera tous les commentaires 'fantômes':
/** phantom documentation used to test the functioning of doxygen */
/**< a_variable_name           phantom documentation */


sed -i 's/phantom documentation used to test the functioning of doxygen/\n
* @brief \n * @details \n * @dir \n * @file \n * @date \n * @author \n
* @callgraph \n * @see \n * @callergraph \n * @see\n * @param \n * @return \n/'
./src/main.c   <  or any other file...

NB  signal et journal n'ont pas été 'tagués'  <<<<<<<<<<
--------------------------------------------------------------------------------


 *
 *
 *  TODO : actuellement, valgrind bin/gem-graph-client détecte :
 *
 * HEAP SUMMARY:
 *     in use at exit: 11,537,505 bytes in 42,285 blocks
 *   total heap usage: 483,548 allocs,
 *                     441,263 frees,
 *                     112,049,363 bytes allocated
 * LEAK SUMMARY:
 *    definitely lost: 40,161 bytes in 79 blocks
 *    indirectly lost: 11,233 bytes in 489 blocks
 *      possibly lost: 7,879,639 bytes in 7,844 blocks
 *    still reachable: 3,412,408 bytes in 32,248 blocks
 *         suppressed: 0 bytes in 0 blocks
 * Rerun with --leak-check=full to see details of leaked memory
 *
 * valgrind  --leak-check=full   >  ERROR SUMMARY: 1572 errors from 680 contexts
 *           --track-origins=yes    ERROR SUMMARY: 896 errors from 4 contexts
 *           --show-leak-kinds=all
 *
 * sanitize  <<
 *
 *
 *  TODO  des scripts devraient pouvoir recueillir ces informations
 *  pour produire automatiquement, à la demande, des listes comme celle qui suit.
 *  (voir le dossier 'scripts')
 *  > plutôt utiliser Doxygen.
 *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */







/*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
 *
 *   C O N V E N T I O N S   E T   R È G L E S   D E   N O M M A G E  -  2 0 2 4
 *
 *        Le nom d'une fonction doit permettre d'identifier facilement:
 *              - le lieu (le fichier) où elle est définie,
 *              - le type d'action qu'elle exécute et
 *              - les objets modifiés par son action.
 *
 *                              -    -    -
 *
 *       Ces trois informations sont encodées au moyen de trois "préfixes"
 *          associés et concaténés dans cet ordre pour former le nom.
 *
 *                              -    -    -
 *
 *               En octobre 2024, la première version de cet:
 *         "index alphabétique des fonctiond du client gem-graph"
 *        classe en trois listes l'ensemble des préfixes utilisés.
 *
 *                 Ces listes sont en cours d'élaboration.
 *         Elles ne sont ni limitatives ni exhaustives ni ordonnées.
 *                                 TODO
 *
 *                              -    -    -
 *
 *   Le premier préfixe est l'adresse du fichier dans la hiérarchie "src":
 *   ex:  graphics_draw_
 *        fsm_measures_manager_
 *        util_draw_gl_
 *        widget_one_rule_algebra_assign_
 *
 *   Le deuxième préfixe est choisi dans une liste de fonctions types:
 *        get, set, reset, read, write, print, edit, concat, design,
 *        init, create, add, remove, erase, restore, trigger, draw, push
 *        setup, shutdown, update, list, sort, seek, select, fix, debug,
 *        render, realize, unrealize, activate, exec, stop, signal,
 *
 *   Le troisième préfixe est choisi dans une liste d'objets ou d'états
 *   qui sont modifiés par les fonctions.
 *   Ce préfixe peut être composé de deux, trois ou quatre items
 *   appartenant à cette liste et d'une conjonction si besoin.
 *   ex: axis_slider, stack_slot_size, user_tree_model_child,
 *       grids_on_space_faces_lines, current_model_before_editing, etc.
 *
 *        number, string, view, image, window, list, tree, stack,
 *        file, buffer, callback, signal,
 *        widget, button, slider, color, glarea, shader,
 *        point, line, plan, space_unit, site, arrow, slot, vertex, ridge, axis
 *        state, rules, data, results, stock,
 *
 *
 *
 *  Le 2024-10-05, seules trois fonctions ne sont pas nommées selon ces règles:
 *      >  create_axis_slider, free_stack_slot, free_stack_slot_size <
 *
 *  et les noms de cinq autres pourraient être améliorés.
 *     graphics_shutdown_graphics_stack  >  graphics_shutdown_stack  <  ex.
 *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  */



create_axis_slider                              util/draw/gl   223     <<   to rename
free_stack_slot                                 graphics/init   36     <<   to rename
free_stack_slot_size                            graphics/init   37     <<   to rename
get_user_tree_model                             util/tree       66  static
get_user_tree_model_child                       util/tree       49  static
graphics_create_shader                          187   ?
graphics_debug_callback                         graphics/init   53  static
graphics_draw                                   graphics/draw  150
graphics_draw_color                             graphics/draw  74
graphics_draw_grids_on_space_faces_lines        graphics/grid  129
graphics_draw_grids_on_space_faces_vertex       graphics/grid  75
graphics_draw_line                              graphics/draw  100
graphics_draw_one_arrow_line                    365   ?
graphics_draw_one_arrow_vertex                  355   ?
graphics_draw_plan                              graphics/draw  124
graphics_draw_space_ridges_lines                graphics/grid  62
graphics_draw_space_ridges_vertex               graphics/grid  30
graphics_draw_vertex                            graphics/draw  40
graphics_init                                   graphics/init  108
graphics_init_buffers                           graphics/init  326
graphics_init_graphics_stack                    127    ?
graphics_init_shaders                           graphics/init  370
graphics_model_setup                            graphics/init  228
graphics_print_stack                            221    ?
graphics_render_stack                           87     ?
graphics_set_arrow                              401    ?
graphics_setup_glarea                           89     ?
graphics_shutdown                               graphics/init  169
graphics_shutdown_graphics_stack                128                    <<   to rename
graphics_stack                                  graphics/init   34
graphics_stack_size                             graphics/init   35
graphics_stack_t                                graphics.h
graphics_update_axis_stack                      129    ?
fsm_add_data                                    fsm/measures/data_list
fsm_add_displayable                             fsm/preferences/manager
fsm_add_measure                                 fsm/measures/manager
fsm_add_result                                  fsm/results/manager
fsm_disp_add_chart                              fsm/measures/disp_list
fsm_disp_get_chart                              fsm/measures/disp_list
fsm_disp_remove_chart                           fsm/measures/disp_list
fsm_enum_exec_edit                              fsm.h
fsm_enum_journal_severity                       fsm.h
fsm_enum_journal_source                         fsm.h
fsm_enum_measure_type                           fsm.h
fsm_enum_state_rules_data                       fsm.h
fsm_enum_store_restore_reset                    fsm.h
fsm_get_data                                    fsm/measures/data_list
fsm_get_exec_edit                               fsm/dispatch
fsm_get_preferences_state                       fsm/dispatch
fsm_get_state_rules_data                        fsm/dispatch
fsm_init                                        fsm/dispatch
fsm_journal_clear                               src/journal
fsm_journal_event                               fsm/dispatch
fsm_journal_init                                src/journal
fsm_journal_length                              src/journal
fsm_journal_pop_back                            src/journal
fsm_journal_publication_request                 fsm/dispatch
fsm_journal_publish                             src/journal
fsm_journal_push_front                          src/journal
fsm_journal_seek                                src/journal
fsm_list_init_displayables                      fsm/prefer
fsm_list_init_measures                          fsm/measures/manager
fsm_list_init_preferences                       fsm/preferences/manager
fsm_list_init_results                           fsm/results/manager
fsm_list_tools_clear                            fsm/measures/tools_list
fsm_list_tools_insert                           fsm/measures/tools_list
fsm_list_tools_length                           fsm/measures/tools_list
fsm_list_tools_pop                              fsm/measures/tools_list
fsm_list_tools_test                             fsm/measures/tools_list
fsm_list_tools_view                             fsm/measures/tools_list
fsm_remove_data                                 fsm/measures/data_list
fsm_reset_all_situations_values                 fsm/preferences/manager
fsm_rule_trig_measure                           fsm/measures/manager
fsm_set_exec_edit                               fsm/dispatch
fsm_set_preferences_modified                    fsm/dispatch
fsm_set_state_rules_data                        fsm/dispatch
fsm_set_store_restore_reset                     fsm/dispatch
fsm_struct_journal                              fsm.h
fsm_struct_journal_unit                         fsm.h
fsm_struct_list_data                            fsm.h
fsm_struct_list_disp                            fsm.h
fsm_struct_list_tool                            fsm.h
on_auto_notification                            signal   37       static
on_axis_value_change                            signal   181
on_bind_user_tree_factory                       signal   81
on_clicked_topbar_right_home                    signal   373            <<  to rename
on_clicked_topbar_right_search                  signal   364            <<  to rename
on_discard_current_model_before_editing         signal   228
on_entry_name_delete_after                      signal   547
on_entry_name_insert_after                      signal   542
on_glarea_realize                               signal   132
on_glarea_render                                signal   112
on_glarea_unrealize                             signal   158
on_measure_ ...                                 signal   453   sqq.
on_realize_debug                                util/draw/gl   335  static
on_render_debug                                 util/draw/gl   345  static
on_resetting_XYZ_in_state_page                  signal   404
on_save_current_model_before_editing            signal   220
on_select_rules_first                           signal   446
on_setup_user_tree_factory                      signal   73
on_situations_box_do_reset                      signal   412
on_start_new_measure                            signal   439
on_toggle_exec_edit                             signal   254            <<  to rename
on_toggle_state_rules_data                      signal   286            <<  to rename
on_topbar_right_measure_clicked                 signal   426
on_updating_objects_transparencies              signal   389
on_user_tree_expander_toggled                   signal   64    static
on_windows_activation                           widget/dispatch    67
on_windows_startup                              widget/dispatch    61
on_write_current_model                          signal   236
parse_model_get_dim                             util/parse    231
parse_model_get_dim_value                       util/parse    244
parse_model_get_multiplicity                    util/parse    255
parse_model_get_next_arrow                      util/parse    346
parse_model_get_next_state                      util/parse    269
parse_model_get_state_arrows_count              util/parse    295
parse_model_init                                29    (not used)
parse_model_shutdown                            util/parse    88
parse_parse_model_init                          util/parse    46
shader frag                                     graphics/shader
shader vert                                     graphics/shader
stack_index                                     stack_index      38
stack_index_size                                stack_index      39
stack_index_t                                   util/draw/gl.c   32
switch_state_rules_data                         signal           305    static
TreeNode_t                                      widget.h  (rename ?)
util_concat                                     util/strings_op
util_gl_clean_stack_index                       util/draw/gl.c   150
util_gl_get_stack                               util/draw/gl.c   66
util_gl_init_stack                              util/draw/gl.c   102
util_gl_is_ready                                util/draw/gl.c   84
util_gl_is_util_ready                           92   TODO
util_gl_render_stack                            util/draw/gl.c   166
util_gl_set_arrow                               util/draw/gl.c   42
util_gl_setup_glarea                            util/draw/gl.c   364
util_gl_shutdown_all_stacks                     util/draw/gl.c   207
util_gl_shutdown_stack                          util/draw/gl.c   133
util_gl_update_axis                             util/draw/gl.c   187
util_list_2x2_     ^c^v  (8 fonctions)          util/list_2x2
util_pile_         ^c^v  (5 fonctions)          util/pile
util_read_file                                  util/io
util_sorted_list_  ^c^v  (5 fonctions)          util/sorted_list
util_test_double_list                           util/tests
util_test_pile                                  util/tests
util_test_sorted_list                           util/tests
util_trigger_test                               util/tests
widget_add_tree_child_node                      util/tree   32
widget_create_user_rules_tree_node              util/tree   41
widget_design_dialog_window                     widget/dispatch
widget_design_main_window                       widget/dispatch
widget_design_text_window                       widget/dispatch
widget_measure_do_select_rules_first            widget/measure/dispatch
widget_measure_do_ ...                          295 sqq.
widget_measure_event_occurences_dates           widget/measure/dispatch
widget_measure_event_occurences_nb              widget/measure/dispatch
widget_measure_event_occurences_situations      widget/measure/dispatch
widget_measure_other_events_between_the_two     widget/measure/dispatch
widget_measure_time_elapsed_between_two_events  widget/measure/dispatch
widget_get_address_text_theory                  widget/topbar/dispatch
widget_get_address_text_practice                widget/topbar/dispatch
widget_get_btt_label_data                       widget/topbar/left
widget_get_btt_label_rules                      widget/topbar/left
widget_get_btt_label_state                      widget/topbar/left
widget_get_btt_label_synth                      widget/topbar/left
widget_get_dialog_window                        widget/dispatch
widget_get_graph_view_control                   widget/state/middle
widget_get_main_window                          widget/dispatch
widget_get_non_time_dependent                   widget/synth/dispatch
widget_get_object_transparency                  widget/state/top
widget_get_page_data                            widget/results/dispatch
widget_get_page_engine                          104   TODO
widget_get_page_measure                         widget/measure/dispatch
widget_get_page_state                           widget/state/dispatch
widget_get_page_synth                           widget/synth/dispatch
widget_get_pane_all_rules_left                  widget/all_rules/dispatch
widget_get_pane_selected_rule_right             widget/one_rule/dispatch
widget_get_results_box_display                  widget/results/display
widget_get_results_box_organize                 widget/results/organize
widget_get_results_box_time                     widget/results/display
widget_get_rule_edition_tools                   widget/one_rule/geometry/edit
widget_get_rule_investigation_tools             widget/one_rule/geometry/investigate
widget_get_rule_geometry_and_algebra            187   TODO  (not yet used)
widget_get_rules_pilot_box                      widget/all_rules/tree/pilot_box
widget_get_rules_tree_tools                     widget/all_rules/tree/pilot_box
widget_get_rules_use                            widget/all_rules/tree/freq
widget_get_selected_rule                        widget/one_rule/dispatch
widget_get_selected_rule_algebra                widget/one_rule/algebra/dispatch
widget_get_selected_rule_assignations_list_btt  widget/one_rule/algebra/assign
widget_get_selected_rule_before_after           widget/one_rule/geometry/geometry
widget_get_selected_rule_camera                 widget/one_rule/geometry/camera
widget_get_selected_rule_conditions_list_btt    widget/one_rule/algebra/conditions
widget_get_selected_rule_geometry               widget/one_rule/geometry/dispatch
widget_get_selected_rule_identity_btt           widget/one_rule/algebra/identity
widget_get_sequence_control                     widget/state/bottom
widget_get_space_edit_control                   widget/state/bottom
widget_get_space_view                           widget/state/middle
widget_get_space_vs_non_time_dependent          widget/synth/dispatch
widget_get_text_from_address                    widget/topbar/modal
widget_get_text_window                          widget/dispatch
widget_get_time_dependent                       widget/synth/time
widget_get_user_rules_tree                      util/tree   88
widget_reset_XYZ_in_state_pane                  widget/state/middle   TODO (dispatch)
widget_reset_XYZ_scrollbars_rule                166   TODO
widget_reset_XYZ_scrollbars_state               167   TODO
widget_reset_XYZ_scrollbars_synth               168   TODO
widget_set_item_text                            widget/one_rule/algebra/dispatch
widget_set_objects_value                        widget/state/top
widget_set_situations_value                     widget/state/top
window_design_topbar_left                       widget/dispatch
window_design_topbar_right                      widget/dispatch