Horizon
Loading...
Searching...
No Matches
select_group_tag.hpp
1#pragma once
2#include <gtkmm.h>
3#include <array>
4#include <set>
5#include "common/common.hpp"
6#include "util/uuid.hpp"
7#include "pool/unit.hpp"
8
9namespace horizon {
10
11
12class SelectGroupTagDialog : public Gtk::Dialog {
13public:
14 SelectGroupTagDialog(Gtk::Window *parent, const class Block &block, bool tag_mode);
15 UUID selected_uuid;
16 bool selection_valid = false;
17
18private:
19 class ListColumns : public Gtk::TreeModelColumnRecord {
20 public:
21 ListColumns()
22 {
23 Gtk::TreeModelColumnRecord::add(name);
24 Gtk::TreeModelColumnRecord::add(uuid);
25 Gtk::TreeModelColumnRecord::add(components);
26 }
27 Gtk::TreeModelColumn<Glib::ustring> name;
28 Gtk::TreeModelColumn<Glib::ustring> components;
29 Gtk::TreeModelColumn<UUID> uuid;
30 };
31 ListColumns list_columns;
32
33 Gtk::TreeView *view;
34 Glib::RefPtr<Gtk::ListStore> store;
35
36 void ok_clicked();
37 void row_activated(const Gtk::TreeModel::Path &path, Gtk::TreeViewColumn *column);
38};
39} // namespace horizon
A block is one level of hierarchy in the netlist.
Definition block.hpp:29
Definition select_group_tag.hpp:12
This class encapsulates a UUID and allows it to be uses as a value type.
Definition uuid.hpp:16