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>
8 namespace horizon {
9 class RuleEditor : public Gtk::Box {
10 public:
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 
23 private:
24  Gtk::CheckButton *enable_cb = nullptr;
25 
26 protected:
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:8
Definition: rule.hpp:54
Definition: spin_button_dim.hpp:5