Horizon
component_button.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include "block/block.hpp"
4 #include "component_selector.hpp"
5 
6 namespace horizon {
7 
8 class ComponentButton : public Gtk::MenuButton {
9 public:
11  void set_component(const UUID &uu);
12  UUID get_component();
13  typedef sigc::signal<void, UUID> type_signal_changed;
14  type_signal_changed signal_changed()
15  {
16  return s_signal_changed;
17  }
18  void update();
19 
20 private:
21  Block *block;
22  Gtk::Popover *popover;
24  void update_label();
25  void cs_activated(const UUID &uu);
26  UUID component_current;
27  virtual void on_toggled();
28 
29  type_signal_changed s_signal_changed;
30 };
31 } // namespace horizon
horizon::ComponentSelector
Definition: component_selector.hpp:6
horizon::ComponentButton
Definition: component_button.hpp:8
horizon::Block
A block is one level of hierarchy in the netlist.
Definition: block.hpp:26
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16