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 IPool &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  PoolItemSource pool_item_source_from_row(const Gtk::TreeModel::Row &row) override;
22 
23 private:
24  class ListColumns : public Gtk::TreeModelColumnRecord {
25  public:
26  ListColumns()
27  {
28  Gtk::TreeModelColumnRecord::add(name);
29  Gtk::TreeModelColumnRecord::add(unit_name);
30  Gtk::TreeModelColumnRecord::add(unit_manufacturer);
31  Gtk::TreeModelColumnRecord::add(uuid);
32  Gtk::TreeModelColumnRecord::add(path);
33  Gtk::TreeModelColumnRecord::add(source);
34  }
35  Gtk::TreeModelColumn<Glib::ustring> name;
36  Gtk::TreeModelColumn<Glib::ustring> unit_name;
37  Gtk::TreeModelColumn<Glib::ustring> unit_manufacturer;
38  Gtk::TreeModelColumn<Glib::ustring> path;
39  Gtk::TreeModelColumn<UUID> uuid;
40  Gtk::TreeModelColumn<PoolItemSource> source;
41  };
42  ListColumns list_columns;
43  Gtk::Entry *name_entry = nullptr;
44  UUID unit_uuid;
45 };
46 } // namespace horizon
libzip::source
std::function< struct zip_source *(struct zip *)> source
Source creation for adding files.
Definition: zip.hpp:122