Horizon
pool_browser_entity.hpp
1 #pragma once
2 #include "pool_browser.hpp"
3 
4 namespace horizon {
5 class PoolBrowserEntity : public PoolBrowser {
6 public:
7  PoolBrowserEntity(class IPool &p);
8  void search() override;
9  ObjectType get_type() const override
10  {
11  return ObjectType::ENTITY;
12  }
13 
14 protected:
15  Glib::RefPtr<Gtk::ListStore> create_list_store() override;
16  void create_columns() override;
17  void add_sort_controller_columns() override;
18  UUID uuid_from_row(const Gtk::TreeModel::Row &row) override;
19  PoolItemSource pool_item_source_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  Gtk::TreeModelColumnRecord::add(source);
34  }
35  Gtk::TreeModelColumn<Glib::ustring> entity_name;
36  Gtk::TreeModelColumn<Glib::ustring> entity_manufacturer;
37  Gtk::TreeModelColumn<Glib::ustring> prefix;
38  Gtk::TreeModelColumn<Glib::ustring> tags;
39  Gtk::TreeModelColumn<Glib::ustring> path;
40  Gtk::TreeModelColumn<UUID> uuid;
41  Gtk::TreeModelColumn<unsigned int> n_gates;
42  Gtk::TreeModelColumn<PoolItemSource> source;
43  };
44  ListColumns list_columns;
45  Gtk::Entry *name_entry = nullptr;
46  class TagEntry *tag_entry = nullptr;
47 };
48 } // namespace horizon
libzip::source
std::function< struct zip_source *(struct zip *)> source
Source creation for adding files.
Definition: zip.hpp:122