Horizon
pool_browser_package.hpp
1 #pragma once
2 #include "pool_browser.hpp"
3 
4 namespace horizon {
5 class PoolBrowserPackage : public PoolBrowser {
6 public:
7  PoolBrowserPackage(class IPool &p, bool show_pads_filter = false);
8  void search() override;
9  ObjectType get_type() const override
10  {
11  return ObjectType::PACKAGE;
12  }
13  void set_pads_filter(unsigned int n);
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  PoolItemSource pool_item_source_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(manufacturer);
29  Gtk::TreeModelColumnRecord::add(n_pads);
30  Gtk::TreeModelColumnRecord::add(tags);
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> manufacturer;
37  Gtk::TreeModelColumn<Glib::ustring> tags;
38  Gtk::TreeModelColumn<Glib::ustring> path;
39  Gtk::TreeModelColumn<unsigned int> n_pads;
40  Gtk::TreeModelColumn<UUID> uuid;
41  Gtk::TreeModelColumn<PoolItemSource> source;
42  };
43  ListColumns list_columns;
44  Gtk::Entry *name_entry = nullptr;
45  Gtk::Entry *manufacturer_entry = nullptr;
46  class TagEntry *tag_entry = nullptr;
47  Gtk::SpinButton *pads_sp = nullptr;
48  Gtk::CheckButton *pads_cb = nullptr;
49 };
50 } // namespace horizon
libzip::source
std::function< struct zip_source *(struct zip *)> source
Source creation for adding files.
Definition: zip.hpp:122