Horizon
property_panels.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include "core/core.hpp"
4 #include "canvas/selectables.hpp"
5 
6 namespace horizon {
7 class PropertyPanels : public Gtk::Box {
8  friend class PropertyPanel;
9 
10 public:
11  PropertyPanels(Core *c);
12  void update_objects(const std::set<SelectableRef> &selection);
13  void reload();
14  typedef sigc::signal<void> type_signal_update;
15  type_signal_update signal_update()
16  {
17  return s_signal_update;
18  }
19 
20  typedef sigc::signal<void, bool> type_signal_throttled;
21  type_signal_throttled signal_throttled()
22  {
23  return s_signal_throttled;
24  }
25 
26  const std::set<SelectableRef> &get_selection() const
27  {
28  return selection_stored;
29  }
30 
31 private:
32  Core *core;
33  type_signal_update s_signal_update;
34  type_signal_throttled s_signal_throttled;
35  std::set<SelectableRef> selection_stored;
36 
37  void set_property(ObjectType ty, const UUID &uu, ObjectProperty::ID property, const class PropertyValue &value);
38  sigc::connection throttle_connection;
39  void force_commit();
40 };
41 } // namespace horizon
Definition: core_properties.hpp:7
Definition: property_panel.hpp:10
Definition: property_panels.hpp:7
Where Tools and and documents meet.
Definition: core.hpp:249
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Definition: block.cpp:7