Returnsvalue widget_get_selected_rule_algebra()widget_get_selected_rule_algebrawidget.hwidget.hwidget_get_selected_rule_algebravoid * 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:conditionsassignationsname (a set of identity elements)Since2024-08See alsosrc/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.hwidget.hwidget_get_selected_rule_assignations_list_bttvoid * 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 - - - - - - - - - - - - - - -|Since2024-08See alsosrc/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()Returnsthe assignations list widget_get_selected_rule_conditions_list_btt()widget_get_selected_rule_conditions_list_bttwidget.hwidget.hwidget_get_selected_rule_conditions_list_bttvoid * 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 - - - - - - - - - - - - - - -|Since2024-08See alsosrc/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()Returnsthe conditions list widget_get_selected_rule_identity_btt()widget_get_selected_rule_identity_bttwidget.hwidget.hwidget_get_selected_rule_identity_bttvoid * 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 - - - - - - - - - - - - - - -|Since2024-08See alsosrc/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()Returnsrule identity widget_get_space_view()widget_get_space_viewwidget.hwidget.hwidget_get_space_viewvoid * widget_get_space_view (int partition_space_vs_camera)
Parameters
partition_space_vs_camera
widget_get_text_from_address()widget_get_text_from_addresswidget.hwidget.hwidget_get_text_from_addressvoid * widget_get_text_from_address (gchar * text_address)getter See alsosrc/widget/modal/widget_design_text_window()
Parameters
*text_address
widget_get_text_window()widget_get_text_windowwidget.hwidget.hwidget_get_text_windowGtkWindow * widget_get_text_window ( )getter Since2024-07See alsosrc/signal Returnstext_window widget_get_user_rules_tree()widget_get_user_rules_treewidget.hwidget.hwidget_get_user_rules_treevoid * widget_get_user_rules_tree ( )Returnsscrolled_window widget_set_item_text()widget_set_item_textwidget.hwidget.hwidget_set_item_textGtkEntry widget_set_item_text (GtkWidget * list_box, const char * text, bool editable)Format an entry (a text item) in a list. Since2024-08See alsosrc/widget/one_rule/algebra/conditions() src/widget/one_rule/algebra/assign() src/widget/one_rule/algebra/identity()
Parameters
*list_box*texteditable
Returns*entry < a text item widget_set_objects_value()widget_set_objects_valuewidget.hwidget.hwidget_set_objects_valuevoid widget_set_objects_value (int rank, int value)
Parameters
window_design_topbar_left()window_design_topbar_leftwidget.hwidget.hwindow_design_topbar_leftvoid 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