Horizon
map_package.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include <array>
4 #include <set>
5 #include "common/common.hpp"
6 #include "block/component.hpp"
7 #include "util/uuid.hpp"
8 namespace horizon {
9 
10 
11 class MapPackageDialog : public Gtk::Dialog {
12 public:
13  MapPackageDialog(Gtk::Window *parent, const std::vector<std::pair<Component *, bool>> &components);
14  UUID selected_uuid;
15  bool selection_valid = false;
16  // virtual ~MainWindow();
17 private:
18  class ListColumns : public Gtk::TreeModelColumnRecord {
19  public:
20  ListColumns()
21  {
22  Gtk::TreeModelColumnRecord::add(name);
23  Gtk::TreeModelColumnRecord::add(package);
24  Gtk::TreeModelColumnRecord::add(uuid);
25  }
26  Gtk::TreeModelColumn<Glib::ustring> name;
27  Gtk::TreeModelColumn<Glib::ustring> package;
28  Gtk::TreeModelColumn<UUID> uuid;
29  };
30  ListColumns list_columns;
31 
32  Gtk::TreeView *view;
33  Glib::RefPtr<Gtk::ListStore> store;
34 
35  void ok_clicked();
36  void row_activated(const Gtk::TreeModel::Path &path, Gtk::TreeViewColumn *column);
37 };
38 } // namespace horizon
horizon::MapPackageDialog
Definition: map_package.hpp:11
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16