Horizon
pool_browser_padstack.hpp
1 #pragma once
2 #include "pool_browser.hpp"
3 #include "pool/padstack.hpp"
4 
5 namespace horizon {
7 public:
8  PoolBrowserPadstack(class Pool *p);
9  void search() override;
10  void set_package_uuid(const UUID &uu);
11  void set_include_padstack_type(Padstack::Type ty, bool v);
12  ObjectType get_type() const override
13  {
14  return ObjectType::PADSTACK;
15  }
16 
17 protected:
18  Glib::RefPtr<Gtk::ListStore> create_list_store() override;
19  void create_columns() override;
20  void add_sort_controller_columns() override;
21  UUID uuid_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(padstack_name);
29  Gtk::TreeModelColumnRecord::add(padstack_type);
30  Gtk::TreeModelColumnRecord::add(package_name);
31  Gtk::TreeModelColumnRecord::add(path);
32  Gtk::TreeModelColumnRecord::add(uuid);
33  }
34  Gtk::TreeModelColumn<Glib::ustring> padstack_name;
35  Gtk::TreeModelColumn<Glib::ustring> padstack_type;
36  Gtk::TreeModelColumn<Glib::ustring> package_name;
37  Gtk::TreeModelColumn<Glib::ustring> path;
38  Gtk::TreeModelColumn<UUID> uuid;
39  };
40  ListColumns list_columns;
41 
42  Gtk::Entry *name_entry = nullptr;
43  UUID package_uuid;
44  std::set<Padstack::Type> padstacks_included = {Padstack::Type::TOP, Padstack::Type::BOTTOM,
45  Padstack::Type::THROUGH};
46 };
47 } // namespace horizon
Definition: pool_browser_padstack.hpp:6
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Definition: pool_browser.hpp:11
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:18
Definition: block.cpp:7