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