Horizon
Loading...
Searching...
No Matches
net_button.hpp
1#pragma once
2#include <gtkmm.h>
3#include "util/uuid.hpp"
4
5namespace horizon {
6
7class NetButton : public Gtk::MenuButton {
8public:
9 NetButton(const class Block &b);
10 void set_net(const UUID &uu);
11 UUID get_net();
12 typedef sigc::signal<void, UUID> type_signal_changed;
13 type_signal_changed signal_changed()
14 {
15 return s_signal_changed;
16 }
17 void update();
18 void set_no_expand(bool e);
19
20private:
21 const Block &block;
22 Gtk::Popover *popover;
23 class NetSelector *ns;
24 void update_label();
25 void ns_activated(const UUID &uu);
26 UUID net_current;
27 void on_toggled() override;
28 Gtk::Label *label = nullptr;
29
30 type_signal_changed s_signal_changed;
31};
32} // namespace horizon
A block is one level of hierarchy in the netlist.
Definition block.hpp:29
Definition net_button.hpp:7
Definition net_selector.hpp:6
This class encapsulates a UUID and allows it to be uses as a value type.
Definition uuid.hpp:16