Horizon
Loading...
Searching...
No Matches
pool_browser_padstack.hpp
1#pragma once
2#include "pool_browser.hpp"
3#include "pool/padstack.hpp"
4
5namespace horizon {
7public:
9 void search() override;
10 void set_package_uuid(const UUID &uu);
11 const std::set<Padstack::Type> &get_padstacks_included() const;
12 void set_padstacks_included(const std::set<Padstack::Type> &types);
13 ObjectType get_type() const override
14 {
15 return ObjectType::PADSTACK;
16 }
17
18protected:
19 Glib::RefPtr<Gtk::ListStore> create_list_store() override;
20 void create_columns() override;
21 void add_sort_controller_columns() override;
22 UUID uuid_from_row(const Gtk::TreeModel::Row &row) override;
23 PoolItemSource pool_item_source_from_row(const Gtk::TreeModel::Row &row) override;
24
25private:
26 class ListColumns : public Gtk::TreeModelColumnRecord {
27 public:
28 ListColumns()
29 {
30 Gtk::TreeModelColumnRecord::add(padstack_name);
31 Gtk::TreeModelColumnRecord::add(padstack_type);
32 Gtk::TreeModelColumnRecord::add(package_name);
33 Gtk::TreeModelColumnRecord::add(path);
34 Gtk::TreeModelColumnRecord::add(uuid);
35 Gtk::TreeModelColumnRecord::add(source);
36 }
37 Gtk::TreeModelColumn<Glib::ustring> padstack_name;
38 Gtk::TreeModelColumn<Glib::ustring> padstack_type;
39 Gtk::TreeModelColumn<Glib::ustring> package_name;
40 Gtk::TreeModelColumn<Glib::ustring> path;
41 Gtk::TreeModelColumn<UUID> uuid;
42 Gtk::TreeModelColumn<PoolItemSource> source;
43 };
44 ListColumns list_columns;
45
46 Gtk::Entry *name_entry = nullptr;
47 UUID package_uuid;
48 std::set<Padstack::Type> padstacks_included = {Padstack::Type::TOP, Padstack::Type::BOTTOM,
49 Padstack::Type::THROUGH};
50};
51} // namespace horizon
Definition ipool.hpp:15
Definition pool_browser_padstack.hpp:6
Definition pool_browser.hpp:15
This class encapsulates a UUID and allows it to be uses as a value type.
Definition uuid.hpp:16