3 #include "core/core.hpp"
4 #include "common/object_descr.hpp"
5 #include "core/core_properties.hpp"
6 #include "widgets/generic_combo_box.hpp"
12 virtual void construct();
13 void set_can_apply_all(
bool v);
15 virtual void reload(){};
25 typedef sigc::signal<void> type_signal_changed;
26 type_signal_changed signal_changed()
28 return s_signal_changed;
31 type_signal_changed signal_apply_all()
33 return s_signal_apply_all;
36 type_signal_changed signal_activate()
38 return s_signal_activate;
48 const ObjectProperty::ID property_id;
51 const ObjectType type;
54 Gtk::ToggleButton *apply_all_button =
nullptr;
56 virtual Gtk::Widget *create_editor();
58 type_signal_changed s_signal_changed;
59 type_signal_changed s_signal_apply_all;
60 type_signal_changed s_signal_activate;
64 bool readonly =
false;
66 std::deque<sigc::connection> connections;
72 using PropertyEditor::PropertyEditor;
75 void reload()
override;
79 Gtk::Widget *create_editor()
override;
82 Gtk::Switch *sw =
nullptr;
87 using PropertyEditor::PropertyEditor;
90 void reload()
override;
94 Gtk::Widget *create_editor()
override;
97 Gtk::Entry *en =
nullptr;
100 bool focus_out_event(GdkEventFocus *e);
101 bool modified =
false;
107 using PropertyEditor::PropertyEditor;
110 void reload()
override;
115 Gtk::Widget *create_editor()
override;
120 std::pair<int64_t, int64_t> range = {-1e9, 1e9};
124 using PropertyEditor::PropertyEditor;
127 void reload()
override;
131 Gtk::Widget *create_editor()
override;
140 using PropertyEditor::PropertyEditor;
143 void reload()
override;
147 Gtk::Widget *create_editor()
override;
150 Gtk::Label *la =
nullptr;
155 using PropertyEditor::PropertyEditor;
158 void reload()
override;
166 Gtk::Widget *create_editor()
override;
176 using PropertyEditor::PropertyEditor;
179 void reload()
override;
185 bool copper_only =
false;
188 Gtk::Widget *create_editor()
override;
191 Gtk::ComboBoxText *combo =
nullptr;
198 using PropertyEditor::PropertyEditor;
201 void reload()
override;
205 Gtk::Widget *create_editor()
override;
208 Gtk::SpinButton *sp =
nullptr;
213 using PropertyEditor::PropertyEditor;
216 void reload()
override;
218 void construct()
override;
221 Gtk::Widget *create_editor()
override;
224 Gtk::TextView *en =
nullptr;
227 bool focus_out_event(GdkEventFocus *e);
228 bool modified =
false;
234 using PropertyEditor::PropertyEditor;
237 void reload()
override;
241 Gtk::Widget *create_editor()
override;
243 Gtk::SpinButton *sp =
nullptr;
249 using PropertyEditorInt::PropertyEditorInt;
252 Gtk::Widget *create_editor()
override;