Horizon
pool_browser_package.hpp
1 #pragma once
2 
3 #include "pool_browser.hpp"
4 
5 namespace horizon {
7 public:
8  PoolBrowserPackage(class Pool *p, bool show_pads_filter = false);
9  void search() override;
10  ObjectType get_type() const override
11  {
12  return ObjectType::PACKAGE;
13  }
14  void set_pads_filter(unsigned int n);
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(manufacturer);
30  Gtk::TreeModelColumnRecord::add(n_pads);
31  Gtk::TreeModelColumnRecord::add(tags);
32  Gtk::TreeModelColumnRecord::add(uuid);
33  Gtk::TreeModelColumnRecord::add(path);
34  Gtk::TreeModelColumnRecord::add(source);
35  }
36  Gtk::TreeModelColumn<Glib::ustring> name;
37  Gtk::TreeModelColumn<Glib::ustring> manufacturer;
38  Gtk::TreeModelColumn<Glib::ustring> tags;
39  Gtk::TreeModelColumn<Glib::ustring> path;
40  Gtk::TreeModelColumn<unsigned int> n_pads;
41  Gtk::TreeModelColumn<UUID> uuid;
42  Gtk::TreeModelColumn<PoolItemSource> source;
43  };
44  ListColumns list_columns;
45  Gtk::Entry *name_entry = nullptr;
46  Gtk::Entry *manufacturer_entry = nullptr;
47  class TagEntry *tag_entry = nullptr;
48  Gtk::SpinButton *pads_sp = nullptr;
49  Gtk::CheckButton *pads_cb = nullptr;
50 };
51 } // namespace horizon
horizon::PoolBrowser
Definition: pool_browser.hpp:11
libzip::source
std::function< struct zip_source *(struct zip *)> source
Source creation for adding files.
Definition: zip.hpp:122
horizon::PoolBrowserPackage
Definition: pool_browser_package.hpp:6
horizon::TagEntry
Definition: tag_entry.hpp:9
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
horizon::Pool
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:21