Horizon
entity_info_box.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include <set>
4 #include "common/common.hpp"
5 #include "util/uuid.hpp"
6 #include "util/pool_goto_provider.hpp"
7 
8 namespace horizon {
9 
10 class EntityInfoBox : public Gtk::Box, public PoolGotoProvider {
11 public:
12  EntityInfoBox(BaseObjectType *cobject, const Glib::RefPtr<Gtk::Builder> &x, class IPool &p);
13  static EntityInfoBox *create(IPool &p);
14  void load(const class Entity *e);
15 
16 private:
17  IPool &pool;
18  class WhereUsedBox *where_used_box = nullptr;
19 
20  Gtk::Label *label_name = nullptr;
21  Gtk::Label *label_manufacturer = nullptr;
22  Gtk::Label *label_prefix = nullptr;
23  Gtk::Label *label_tags = nullptr;
24 
25  class ListColumns : public Gtk::TreeModelColumnRecord {
26  public:
27  ListColumns()
28  {
29  Gtk::TreeModelColumnRecord::add(name);
30  Gtk::TreeModelColumnRecord::add(suffix);
31  Gtk::TreeModelColumnRecord::add(unit);
32  }
33  Gtk::TreeModelColumn<Glib::ustring> name;
34  Gtk::TreeModelColumn<Glib::ustring> suffix;
35  Gtk::TreeModelColumn<const class Unit *> unit;
36  };
37  ListColumns list_columns;
38 
39  Gtk::TreeView *view = nullptr;
40  Glib::RefPtr<Gtk::ListStore> store;
41 };
42 } // namespace horizon
Definition: entity_info_box.hpp:10
Definition: entity.hpp:13
Definition: ipool.hpp:14
Definition: pool_goto_provider.hpp:7
Definition: where_used_box.hpp:9