2 #include "common/common.hpp" 3 #include "rules/rules.hpp" 4 #include "rules/cache.hpp" 5 #include "util/uuid.hpp" 6 #include "util/changeable.hpp" 7 #include "util/window_state_store.hpp" 18 typedef sigc::signal<void, Coordi, UUID> type_signal_goto;
19 type_signal_goto signal_goto()
24 typedef sigc::signal<void> type_signal_canvas_update;
25 type_signal_canvas_update signal_canvas_update()
27 return s_signal_canvas_update;
34 Gtk::ListBox *lb_rules =
nullptr;
35 Gtk::ListBox *lb_multi =
nullptr;
36 Gtk::Revealer *rev_multi =
nullptr;
37 Gtk::Button *button_rule_instance_add =
nullptr;
38 Gtk::Button *button_rule_instance_remove =
nullptr;
39 Gtk::Button *button_rule_instance_move_up =
nullptr;
40 Gtk::Button *button_rule_instance_move_down =
nullptr;
41 Gtk::Box *rule_editor_box =
nullptr;
42 Gtk::Button *run_button =
nullptr;
43 Gtk::Button *apply_button =
nullptr;
44 Gtk::Stack *stack =
nullptr;
45 Gtk::StackSwitcher *stack_switcher =
nullptr;
46 Glib::RefPtr<Gtk::SizeGroup> sg_order;
48 void rule_selected(RuleID
id);
49 void rule_instance_selected(RuleID
id,
const UUID &uu);
50 void update_rule_instances(RuleID
id);
51 void update_rule_instance_labels();
52 void update_rules_enabled();
56 Rules *rules =
nullptr;
60 class Block *get_block();
61 type_signal_goto s_signal_goto;
62 type_signal_canvas_update s_signal_canvas_update;
63 RuleID rule_current = RuleID::NONE;
69 class TreeColumns :
public Gtk::TreeModelColumnRecord {
73 Gtk::TreeModelColumnRecord::add(name);
74 Gtk::TreeModelColumnRecord::add(result);
75 Gtk::TreeModelColumnRecord::add(has_location);
76 Gtk::TreeModelColumnRecord::add(location);
77 Gtk::TreeModelColumnRecord::add(sheet);
78 Gtk::TreeModelColumnRecord::add(running);
79 Gtk::TreeModelColumnRecord::add(status);
80 Gtk::TreeModelColumnRecord::add(pulse);
82 Gtk::TreeModelColumn<Glib::ustring> name;
83 Gtk::TreeModelColumn<RulesCheckErrorLevel> result;
84 Gtk::TreeModelColumn<bool> has_location;
85 Gtk::TreeModelColumn<Coordi> location;
86 Gtk::TreeModelColumn<UUID> sheet;
87 Gtk::TreeModelColumn<bool> running;
88 Gtk::TreeModelColumn<std::string> status;
89 Gtk::TreeModelColumn<int> pulse;
91 TreeColumns tree_columns;
93 Glib::RefPtr<Gtk::TreeStore> check_result_store;
94 Gtk::TreeView *check_result_treeview =
nullptr;
96 Glib::Dispatcher dispatcher;
100 RuleRunInfo(Gtk::TreeModel::Row &r) : row(r)
105 Gtk::TreeModel::Row row;
108 std::map<RuleID, RuleRunInfo> run_store;
109 std::mutex run_store_mutex;
111 std::unique_ptr<RulesCheckCache> cache;
113 void check_thread(RuleID
id);
114 sigc::connection pulse_connection;
Definition: annotation.hpp:7
Definition: rules_window.hpp:13
Definition: changeable.hpp:5
Definition: window_state_store.hpp:20
Definition: rule_editor.hpp:9
Definition: canvas_gl.hpp:13
A block is one level of hierarchy in the netlist.
Definition: block.hpp:26
Where Tools and and documents meet.
Definition: core.hpp:232
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16