Horizon
pool_browser_entity.hpp
1 #pragma once
2 
3 #include "pool_browser.hpp"
4 
5 namespace horizon {
6 class PoolBrowserEntity : public PoolBrowser {
7 public:
8  PoolBrowserEntity(class Pool *p);
9  void search() override;
10  ObjectType get_type() const override
11  {
12  return ObjectType::ENTITY;
13  }
14 
15 protected:
16  Glib::RefPtr<Gtk::ListStore> create_list_store() override;
17  void create_columns() override;
18  void add_sort_controller_columns() override;
19  UUID uuid_from_row(const Gtk::TreeModel::Row &row) override;
20 
21 private:
22  class ListColumns : public Gtk::TreeModelColumnRecord {
23  public:
24  ListColumns()
25  {
26  Gtk::TreeModelColumnRecord::add(entity_name);
27  Gtk::TreeModelColumnRecord::add(entity_manufacturer);
28  Gtk::TreeModelColumnRecord::add(prefix);
29  Gtk::TreeModelColumnRecord::add(n_gates);
30  Gtk::TreeModelColumnRecord::add(uuid);
31  Gtk::TreeModelColumnRecord::add(tags);
32  Gtk::TreeModelColumnRecord::add(path);
33  }
34  Gtk::TreeModelColumn<Glib::ustring> entity_name;
35  Gtk::TreeModelColumn<Glib::ustring> entity_manufacturer;
36  Gtk::TreeModelColumn<Glib::ustring> prefix;
37  Gtk::TreeModelColumn<Glib::ustring> tags;
38  Gtk::TreeModelColumn<Glib::ustring> path;
39  Gtk::TreeModelColumn<UUID> uuid;
40  Gtk::TreeModelColumn<unsigned int> n_gates;
41  };
42  ListColumns list_columns;
43  Gtk::Entry *name_entry = nullptr;
44  Gtk::Entry *tags_entry = nullptr;
45 };
46 } // namespace horizon
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Definition: pool_browser_entity.hpp:6
Definition: pool_browser.hpp:11
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:18
Definition: block.cpp:7