Horizon
rule_editor.hpp
1#pragma once
2#include "common/common.hpp"
3#include "rules/rule.hpp"
4#include "util/uuid.hpp"
5#include <array>
6#include <gtkmm.h>
7#include <set>
8namespace horizon {
9class RuleEditor : public Gtk::Box {
10public:
11 RuleEditor(Rule &r, class IDocument &c);
12 Rule &get_rule()
13 {
14 return rule;
15 }
16 virtual void populate();
17 typedef sigc::signal<void> type_signal_updated;
18 type_signal_updated signal_updated()
19 {
20 return s_signal_updated;
21 }
22
23private:
24 Gtk::CheckButton *enable_cb = nullptr;
25
26protected:
27 Rule &rule;
28 class IDocument &core;
29 Glib::RefPtr<Gtk::Builder> builder;
30 class SpinButtonDim *create_spinbutton(const char *box);
31 class RuleMatchEditor *create_rule_match_editor(const char *box, class RuleMatch &match);
32 class LayerComboBox *create_layer_combo(int &layer, bool show_any);
33 type_signal_updated s_signal_updated;
34};
35} // namespace horizon
Definition: idocument.hpp:5
Definition: layer_combo_box.hpp:5
Definition: rule_editor.hpp:9
Definition: rule_match_editor.hpp:5
Definition: rule_match.hpp:9
Definition: rule.hpp:57
Definition: spin_button_dim.hpp:5