Horizon
pool_browser_part.hpp
1 #pragma once
2 #include "pool_browser.hpp"
3 
4 namespace horizon {
5 class PoolBrowserPart : public PoolBrowser {
6 public:
7  PoolBrowserPart(class Pool *p, const UUID &euuid = UUID());
8  void search() override;
9  void set_MPN(const std::string &s);
10  void set_entity_uuid(const UUID &uu);
11  ObjectType get_type() const override
12  {
13  return ObjectType::PART;
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(MPN);
28  Gtk::TreeModelColumnRecord::add(manufacturer);
29  Gtk::TreeModelColumnRecord::add(description);
30  Gtk::TreeModelColumnRecord::add(package);
31  Gtk::TreeModelColumnRecord::add(uuid);
32  Gtk::TreeModelColumnRecord::add(tags);
33  Gtk::TreeModelColumnRecord::add(path);
34  }
35  Gtk::TreeModelColumn<Glib::ustring> MPN;
36  Gtk::TreeModelColumn<Glib::ustring> manufacturer;
37  Gtk::TreeModelColumn<Glib::ustring> description;
38  Gtk::TreeModelColumn<Glib::ustring> package;
39  Gtk::TreeModelColumn<Glib::ustring> tags;
40  Gtk::TreeModelColumn<Glib::ustring> path;
41  Gtk::TreeModelColumn<UUID> uuid;
42  };
43  ListColumns list_columns;
44  Gtk::Entry *MPN_entry = nullptr;
45  Gtk::Entry *manufacturer_entry = nullptr;
46  Gtk::Entry *tags_entry = nullptr;
47  UUID entity_uuid;
48 };
49 } // namespace horizon
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Definition: pool_browser_part.hpp:5
Definition: pool_browser.hpp:11
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:18
Definition: block.cpp:7