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"
17 typedef sigc::signal<void, Coordi, UUID> type_signal_goto;
18 type_signal_goto signal_goto()
23 typedef sigc::signal<void> type_signal_canvas_update;
24 type_signal_canvas_update signal_canvas_update()
26 return s_signal_canvas_update;
32 void set_enabled(
bool enable);
35 Gtk::ListBox *lb_rules =
nullptr;
36 Gtk::ListBox *lb_multi =
nullptr;
37 Gtk::Revealer *rev_multi =
nullptr;
38 Gtk::Button *button_rule_instance_add =
nullptr;
39 Gtk::Button *button_rule_instance_remove =
nullptr;
40 Gtk::Button *button_rule_instance_move_up =
nullptr;
41 Gtk::Button *button_rule_instance_move_down =
nullptr;
42 Gtk::Box *rule_editor_box =
nullptr;
43 Gtk::Button *run_button =
nullptr;
44 Gtk::Button *apply_button =
nullptr;
45 Gtk::Stack *stack =
nullptr;
46 Gtk::StackSwitcher *stack_switcher =
nullptr;
47 Gtk::Revealer *rev_warn =
nullptr;
48 Glib::RefPtr<Gtk::SizeGroup> sg_order;
50 void rule_selected(RuleID
id);
51 void rule_instance_selected(RuleID
id,
const UUID &uu);
52 void update_rule_instances(RuleID
id);
53 void update_rule_instance_labels();
54 void update_rule_labels();
55 void update_warning();
63 class Block *get_block();
64 type_signal_goto s_signal_goto;
65 type_signal_canvas_update s_signal_canvas_update;
66 RuleID rule_id_current = RuleID::NONE;
73 class TreeColumns :
public Gtk::TreeModelColumnRecord {
77 Gtk::TreeModelColumnRecord::add(name);
78 Gtk::TreeModelColumnRecord::add(result);
79 Gtk::TreeModelColumnRecord::add(has_location);
80 Gtk::TreeModelColumnRecord::add(location);
81 Gtk::TreeModelColumnRecord::add(sheet);
82 Gtk::TreeModelColumnRecord::add(running);
83 Gtk::TreeModelColumnRecord::add(status);
84 Gtk::TreeModelColumnRecord::add(pulse);
86 Gtk::TreeModelColumn<Glib::ustring> name;
87 Gtk::TreeModelColumn<RulesCheckErrorLevel> result;
88 Gtk::TreeModelColumn<bool> has_location;
89 Gtk::TreeModelColumn<Coordi> location;
90 Gtk::TreeModelColumn<UUID> sheet;
91 Gtk::TreeModelColumn<bool> running;
92 Gtk::TreeModelColumn<std::string> status;
93 Gtk::TreeModelColumn<int> pulse;
95 TreeColumns tree_columns;
97 Glib::RefPtr<Gtk::TreeStore> check_result_store;
98 Gtk::TreeView *check_result_treeview =
nullptr;
100 Glib::Dispatcher dispatcher;
104 RuleRunInfo(Gtk::TreeModel::Row &r) : row(r)
109 Gtk::TreeModel::Row row;
112 std::map<RuleID, RuleRunInfo> run_store;
113 std::mutex run_store_mutex;
115 std::unique_ptr<RulesCheckCache> cache;
117 void check_thread(RuleID
id);
118 sigc::connection pulse_connection;
123 Glib::RefPtr<Gio::Menu> hamburger_menu;
124 Glib::RefPtr<Gio::SimpleActionGroup> action_group;
A block is one level of hierarchy in the netlist.
Definition: block.hpp:26
Definition: annotation.hpp:7
Definition: canvas_gl.hpp:18
Definition: changeable.hpp:5
Where Tools and and documents meet.
Definition: core.hpp:42
Definition: rule_editor.hpp:9
Definition: rules_window.hpp:13
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Definition: window_state_store.hpp:20