Horizon
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 
9 namespace horizon {
10 
11 
12 class SelectGroupTagDialog : public Gtk::Dialog {
13 public:
14  SelectGroupTagDialog(Gtk::Window *parent, const class Block &block, bool tag_mode);
15  UUID selected_uuid;
16  bool selection_valid = false;
17 
18 private:
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