include/widget.h File Reference include/widget.h widgets hierarchy header #include <gtk-4.0/gtk/gtk.h> Classes struct TreeNode_t phantom documentation used to test the functioning of doxygen Macros #define W_MY_SCREEN   1920 1920 x 960 = ad hoc (pour mon écran)) #define H_MY_SCREEN   1000 Full HD (1920 x 1080 pixels) #define W_TEXT_WINDOW   550 ad hoc (mais sans conséquences ici) #define H_TEXT_WINDOW   H_MY_SCREEN == #define W_TREE   160 arbitrary #define W_DO_UNDO_REDO_BOX   1300 arbitrary #define W_XYZ_BOX   62 arbitrary #define H_XYZ_BOX   200 arbitrary #define H_E_COLI   760 arbitrary #define H_OBJECTS_SITUATIONS   130 arbitrary #define W_COMPARATOR   64 arbitrary #define W_RULES_USE   90 arbitrary #define W_IMAGE_800   800 arbitrary #define W_IMAGE_100   100 arbitrary #define ALL_VS_SELECTED   340 arbitrary #define H_PARTITION_SYNTH   1600 arbitrary #define W_PARTITION_SYNTH   400 arbitrary #define PARTITION_STATE_TOP   600 arbitrary #define PARTITION_SPACE_VS_CONTROLS_1   920 arbitrary #define PARTITION_SPACE_VS_CONTROLS_2   800 arbitrary #define PARTITION_SPACE_VS_CAMERA_IN_STATE   1850 arbitrary #define PARTITION_SPACE_VS_CAMERA_IN_SYNTH   1560 arbitrary #define LIST_W   190 arbitrary #define LIST_H   114 arbitrary #define H_PARTITION_RESULTS   140 arbitrary Functions GtkWindow * widget_get_main_window () getter GtkWindow * widget_get_dialog_window () getter GtkWindow * widget_get_text_window () getter void widget_design_main_window (GtkWindow *main_window, GtkApplication *app) void widget_design_dialog_window (GtkWindow *main_window, GtkWindow *dialog_window) modal void widget_design_text_window (GtkWindow *main_window, GtkWindow *text_window) modal const char * widget_get_btt_label_synth () ! WARNING ! THE LABELS OF THE PREVIOUS FOUR BUTTONS MUST ONLY BE DEFINED ONCE IN THE PROGRAMME (HERE), AND ONLY USING THE FOUR FOLLOWING FUNCTIONS: const char * widget_get_btt_label_state () btt_state const char * widget_get_btt_label_rules () btt_rules const char * widget_get_btt_label_data () btt_data void window_design_topbar_center (GtkWidget *topbar) title void window_design_topbar_left (GtkWidget *header_bar) The rules page consists of two half-pages in a GtkPaned widget : void window_design_topbar_right (GtkWidget *header_bar, GtkApplication *app) GtkWidget * widget_get_topbar (GtkApplication *app) void * widget_get_page_synth () Phantom documentation. void * widget_get_page_state () Phantom documentation. void * widget_get_page_data () Phantom documentation. void * widget_get_page_measure () Phantom documentation. void * widget_get_time_dependent () Phantom documentation. void * widget_get_space_vs_non_time_dependent () Phantom documentation. void * widget_get_non_time_dependent () Phantom documentation. void * widget_get_space_view (int partition_space_vs_camera) void * widget_get_graph_view_control () Phantom documentation. void * widget_get_space_edit_control () Phantom documentation. void * widget_get_sequence_control () Phantom documentation. void widget_set_situations_value (int value) void widget_set_objects_value (int rank, int value) int widget_get_object_transparency (int i) void widget_reset_XYZ_in_state_pane () Phantom documentation. void * widget_get_pane_all_rules_left () phantom documentation void * widget_get_pane_selected_rule_right () Phantom documentation. void * widget_get_rules_pilot_box () phantom documentation void * widget_get_rules_tree_tools () phantom documentation void * widget_get_rules_use () phantom documentation void * widget_get_selected_rule () Phantom documentation. void * widget_get_rule_edition_tools () Phantom documentation. void * widget_get_rule_investigation_tools () Phantom documentation. void * widget_get_selected_rule_algebra () Provides the three lists needed to describe a rule algebraically. void * widget_get_selected_rule_geometry () Phantom documentation. void * widget_get_selected_rule_conditions_list_btt () Builds and presents the conditions list of a rule. void * widget_get_selected_rule_assignations_list_btt () Presents the list of all the elementary actions (assignments) performed when the rule is applied. void * widget_get_selected_rule_identity_btt () Hosts a list of character strings that can be combined to provide a "human readable" rule identifier. GtkEntry widget_set_item_text (GtkWidget *list_box, const char *text, bool editable) Format an entry (a text item) in a list. void * widget_get_selected_rule_camera () Phantom documentation. void * widget_get_selected_rule_before_after () Phantom documentation. void * widget_get_results_box_organize () Phantom documentation. void * widget_get_results_box_display () Phantom documentation. void * widget_get_results_box_time () Phantom documentation. struct TreeNode_t * widget_create_user_rules_tree_node (const gchar *text) void widget_add_tree_child_node (struct TreeNode_t *parent, struct TreeNode_t *child) void * widget_get_user_rules_tree () void * widget_get_text_from_address (gchar *text_name) getter char * widget_get_address_text_theory () char * widget_get_address_text_practice () char * widget_get_address_text_alpha_index () void * widget_get_an_impression_of_what_a_rules_comparator_could_be () phantom documentation void widget_let_us_create_a_complex_useless_and_expensive_tree (struct TreeNode_t *tree_root) phantom documentation void * widget_measure_new () Phantom documentation. void * widget_measure_do_select_rules_first () Phantom documentation. void * widget_measure_do_depends_on_one_or_two_events () Phantom documentation. void * widget_measure_do_depends_on_a_single_event () Phantom documentation. void * widget_measure_do_depends_on_two_events () Phantom documentation. void * widget_measure_do_select_a_second_rules_set () Phantom documentation. void * widget_measure_do_choose_an_event_type () Phantom documentation. void * widget_measure_do_correlate () Phantom documentation. void * widget_measure_do_insert_in_measurements_list () Phantom documentation. void * widget_measure_do_end_creation_of_measurement_process () Phantom documentation. void * widget_measure_event_occurences_nb () Phantom documentation. void * widget_measure_event_occurences_dates () Phantom documentation. void * widget_measure_event_occurences_situations () Phantom documentation. void * widget_measure_time_elapsed_between_two_events () Phantom documentation. void * widget_measure_third_event_occurences_in_between () Phantom documentation.
Detailed Description widgets hierarchy header This file is part of Gem-graph.
Function Documentation
widget_add_tree_child_node() widget_add_tree_child_nodewidget.h widget.hwidget_add_tree_child_node void widget_add_tree_child_node (struct TreeNode_t * parent, struct TreeNode_t * child) Parameters *parent *child
widget_create_user_rules_tree_node() widget_create_user_rules_tree_nodewidget.h widget.hwidget_create_user_rules_tree_node struct TreeNode_t * widget_create_user_rules_tree_node (const gchar * text) Parameters *text
Returns TreeNode_t
widget_design_dialog_window() widget_design_dialog_windowwidget.h widget.hwidget_design_dialog_window void widget_design_dialog_window (GtkWindow * main_window, GtkWindow * dialog_window) modal See also src/fsm/dispatch/fsm_journal_event() src/widget/manager/on_windows_activation() Parameters *main_window *dialog_window
widget_design_main_window() widget_design_main_windowwidget.h widget.hwidget_design_main_window void widget_design_main_window (GtkWindow * main_window, GtkApplication * app) Parameters *main_window *app
widget_design_text_window() widget_design_text_windowwidget.h widget.hwidget_design_text_window void widget_design_text_window (GtkWindow * main_window, GtkWindow * text_window) modal See also src/widget/modal/widget_get_text_from_address() src/widget/manager/on_windows_activation() Parameters *main_window *text_window
widget_get_address_text_alpha_index() widget_get_address_text_alpha_indexwidget.h widget.hwidget_get_address_text_alpha_index char * widget_get_address_text_alpha_index ( ) Returns "./alphabetic_index.all"
widget_get_address_text_practice() widget_get_address_text_practicewidget.h widget.hwidget_get_address_text_practice char * widget_get_address_text_practice ( ) Returns "./data/text/pratique.txt"
widget_get_address_text_theory() widget_get_address_text_theorywidget.h widget.hwidget_get_address_text_theory char * widget_get_address_text_theory ( ) Returns "./data/text/théorie.txt"
widget_get_btt_label_synth() widget_get_btt_label_synthwidget.h widget.hwidget_get_btt_label_synth const char * widget_get_btt_label_synth ( ) ! WARNING ! THE LABELS OF THE PREVIOUS FOUR BUTTONS MUST ONLY BE DEFINED ONCE IN THE PROGRAMME (HERE), AND ONLY USING THE FOUR FOLLOWING FUNCTIONS: btt_synth
widget_get_dialog_window() widget_get_dialog_windowwidget.h widget.hwidget_get_dialog_window GtkWindow * widget_get_dialog_window ( ) getter Since 2024-07 See also src/signal Returns dialog_window
widget_get_main_window() widget_get_main_windowwidget.h widget.hwidget_get_main_window GtkWindow * widget_get_main_window ( ) getter Since 2024-07 See also src/signal Returns main_window
widget_get_object_transparency() widget_get_object_transparencywidget.h widget.hwidget_get_object_transparency int widget_get_object_transparency (int rank) Parameters rank
Returns value
widget_get_selected_rule_algebra() widget_get_selected_rule_algebrawidget.h widget.hwidget_get_selected_rule_algebra void * widget_get_selected_rule_algebra ( ) Provides the three lists needed to describe a rule algebraically. The algebraic definition of a rule comprises three types of character strings organised into three lists: conditions assignations name (a set of identity elements) Since 2024-08 See also src/widget/one_rule/algebra/conditions() src/widget/one_rule/algebra/assignations() src/widget/one_rule/algebra/identity() src/widget/one_rule/dispatch()
widget_get_selected_rule_assignations_list_btt() widget_get_selected_rule_assignations_list_bttwidget.h widget.hwidget_get_selected_rule_assignations_list_btt void * widget_get_selected_rule_assignations_list_btt ( ) Presents the list of all the elementary actions (assignments) performed when the rule is applied. Today, an arbitrary presentation with no link to the XML model and no verification of compliance with the meta-rules. (see below) TODO |- - - - - - - - - - - - - - meta-rules - - - - - - - - - - - - - - - > This list groups all the elementary assignments of the rule. No assignment should be repeated or modified by other assignments. (== a unique assignment per address in rule workspace) Completeness is not required. (== there does not need to be one assignment per address in the rule workspace) < - - - - - - - - - - - - - - meta-rules - - - - - - - - - - - - - - -| Since 2024-08 See also src/widget/one_rule/algebra/utilities/widget_set_item_text() src/fsm/dispatch/fsm_journal_event() < TODO (for each item ?) src/widget/one_rule/algebra/dispatch() Returns the assignations list
widget_get_selected_rule_conditions_list_btt() widget_get_selected_rule_conditions_list_bttwidget.h widget.hwidget_get_selected_rule_conditions_list_btt void * widget_get_selected_rule_conditions_list_btt ( ) Builds and presents the conditions list of a rule. This list sets out all the conditions that the rule must meet in order to be applied. Today, an arbitrary presentation with no link to the XML model and no verification of compliance with the meta-rules. (see below) TODO |- - - - - - - - - - - - - - meta-rules - - - - - - - - - - - - - - - > No conditions should be repeated. No condition may contradict another (== a unique condition per address in rule workspace) Completeness is not required (== there does not need to be one condition per address in the rule workspace) (NB The following applies to server workers) Two rules cannot share the same set of conditions. If several rules apply to the same set of local conditions - which can happen if several different actions are possible from the same situation - they must each include an additional condition determining their probability of execution in the event of a conflict. If two rules share the same local set of conditions, they must both be evaluated. If all the conditions of one rule are included in the conditions of another rule, then the other rule must be evaluated first. < - - - - - - - - - - - - - - meta-rules - - - - - - - - - - - - - - -| Since 2024-08 See also src/widget/one_rule/algebra/utilities/widget_set_item_text() src/fsm/dispatch/fsm_journal_event() < TODO (for each item ?) src/widget/one_rule/algebra/dispatch() Returns the conditions list
widget_get_selected_rule_identity_btt() widget_get_selected_rule_identity_bttwidget.h widget.hwidget_get_selected_rule_identity_btt void * widget_get_selected_rule_identity_btt ( ) Hosts a list of character strings that can be combined to provide a "human readable" rule identifier. This list can also contain non-mandatory elements. Each rule can have a specific "human readable" name chosen by its designer. This name can be used to identify the rule. It is desirable for a unique name to be accepted and shared by as many users as possible. On the contrary, for the automaton, the identity of each rule is given exclusively by its set of conditions. Today, this function provides only an arbitrary presentation with no link to the XML model and no verification of compliance with the meta-rules. (see below) TODO |- - - - - - - - - - - - - - meta-rules - - - - - - - - - - - - - - - > No item of the list should be repeated. No element describing the function of the rule can contradict another. All the elements required for identification by name must be present. Uniqueness is required (This name must be usable as a key). Non-mandatory elements can be added (comments, etc.). < - - - - - - - - - - - - - - meta-rules - - - - - - - - - - - - - - -| Since 2024-08 See also src/widget/one_rule/algebra/utilities/widget_set_item_text() src/fsm/dispatch/fsm_journal_event() < TODO (for each item ?) src/widget/one_rule/algebra/dispatch/gtk_box_append() Returns rule identity
widget_get_space_view() widget_get_space_viewwidget.h widget.hwidget_get_space_view void * widget_get_space_view (int partition_space_vs_camera) Parameters partition_space_vs_camera
widget_get_text_from_address() widget_get_text_from_addresswidget.h widget.hwidget_get_text_from_address void * widget_get_text_from_address (gchar * text_address) getter See also src/widget/modal/widget_design_text_window() Parameters *text_address
widget_get_text_window() widget_get_text_windowwidget.h widget.hwidget_get_text_window GtkWindow * widget_get_text_window ( ) getter Since 2024-07 See also src/signal Returns text_window
widget_get_topbar() widget_get_topbarwidget.h widget.hwidget_get_topbar GtkWidget * widget_get_topbar (GtkApplication * app) Parameters *app
Returns topbar
widget_get_user_rules_tree() widget_get_user_rules_treewidget.h widget.hwidget_get_user_rules_tree void * widget_get_user_rules_tree ( ) Returns scrolled_window
widget_set_item_text() widget_set_item_textwidget.h widget.hwidget_set_item_text GtkEntry widget_set_item_text (GtkWidget * list_box, const char * text, bool editable) Format an entry (a text item) in a list. Since 2024-08 See also src/widget/one_rule/algebra/conditions() src/widget/one_rule/algebra/assign() src/widget/one_rule/algebra/identity() Parameters *list_box *text editable
Returns *entry < a text item
widget_set_objects_value() widget_set_objects_valuewidget.h widget.hwidget_set_objects_value void widget_set_objects_value (int rank, int value) Parameters rank value
widget_set_situations_value() widget_set_situations_valuewidget.h widget.hwidget_set_situations_value void widget_set_situations_value (int value) Parameters value
window_design_topbar_left() window_design_topbar_leftwidget.h widget.hwindow_design_topbar_left void window_design_topbar_left (GtkWidget * header_bar) The rules page consists of two half-pages in a GtkPaned widget : on the left, widgets for controlling or editing all the rules. on the right, widgets for controlling or editing the selected rule. As this division is clear and constant, it is simpler to place these two half-pages at the same hierarchical level as the other full pages like "synth", "state" or "results". So there is no: "widget_get_rules_page()" function. Instead, the distribution: "all rules" versus "the selected one" is moved to the file: "signal". It is in the function: static void switch_state_rules_data() { switch (fsm_get_state_rules_data()) { ... case (RULES) : GtkPaned *widget_all_vs_selected_one = ... break; ... } Parameters *header_bar
window_design_topbar_right() window_design_topbar_rightwidget.h widget.hwindow_design_topbar_right void window_design_topbar_right (GtkWidget * header_bar, GtkApplication * app) Parameters *header_bar *app