Horizon
Loading...
Searching...
No Matches
property_panel.hpp
1#pragma once
2#include <gtkmm.h>
3#include "common/common.hpp"
4#include "canvas/selectables.hpp"
5#include "common/object_descr.hpp"
6#include <set>
7
8namespace horizon {
9
10class PropertyPanel : public Gtk::Expander {
11 friend class PropertyEditor;
12
13public:
14 PropertyPanel(BaseObjectType *cobject, const Glib::RefPtr<Gtk::Builder> &x, ObjectType ty, class Core *c);
15 static PropertyPanel *create(ObjectType t, Core *c, class PropertyPanels *parent);
16 ObjectType get_type();
17 void update_objects(const std::set<SelectableRef> &selection);
18 class PropertyPanels *parent;
19 void reload();
20
21 virtual ~PropertyPanel(){};
22
23private:
24 ObjectType type;
25 class Core *core;
26 Gtk::MenuButton *button_sel;
27 Gtk::Label *button_sel_label;
28 Gtk::Button *button_prev;
29 Gtk::Button *button_next;
30
31 Gtk::Menu sel_menu;
32
33 void update_selector();
34 void go(int dir);
35
36 Gtk::Box *editors_box = nullptr;
37 std::deque<UUID> objects;
38 int object_current = 0;
39
40 void handle_changed(ObjectProperty::ID property, const class PropertyValue &value, bool all);
41 void handle_apply_all(ObjectProperty::ID property, const class PropertyValue &value);
42
43 ObjectProperty::ID last_property;
44 gint64 last_property_time;
45
46 sigc::connection throttle_connection;
47};
48} // namespace horizon
Where Tools and and documents meet.
Definition core.hpp:42
Definition property_editor.hpp:9
Definition property_panel.hpp:10
Definition property_panels.hpp:8
Definition core_properties.hpp:8