27 bool get_close_prohibited()
const;
29 void pool_update(
const std::vector<std::string> &filenames = {});
30 bool get_needs_save()
const;
32 void go_to(ObjectType type,
const UUID &uu);
33 void edit_item(ObjectType ty,
const UUID &uu);
35 const UUID &get_pool_uuid()
const;
39 typedef sigc::signal<void> type_signal_saved;
40 type_signal_saved signal_saved()
42 return s_signal_saved;
45 void show_settings_tab();
48 const std::string base_path;
51 std::map<ObjectType, class PoolBrowser *> browsers;
52 std::map<std::string, class PoolBrowserParametric *> browsers_parametric;
60 std::function<void()> pool_update_done_cb =
nullptr;
62 void show_duplicate_window(ObjectType ty,
const UUID &uu);
64 void construct_units();
65 void handle_create_unit();
66 void handle_edit_unit(
const UUID &uu);
67 void handle_create_symbol_for_unit(
const UUID &uu);
68 void handle_create_entity_for_unit(
const UUID &uu);
69 void handle_duplicate_unit(
const UUID &uu);
71 void construct_symbols();
72 void handle_edit_symbol(
const UUID &uu);
73 void handle_create_symbol();
74 void handle_duplicate_symbol(
const UUID &uu);
76 void construct_entities();
77 void handle_edit_entity(
const UUID &uu);
78 void handle_create_entity();
79 void handle_duplicate_entity(
const UUID &uu);
81 void construct_padstacks();
82 void handle_edit_padstack(
const UUID &uu);
83 void handle_create_padstack();
84 void handle_duplicate_padstack(
const UUID &uu);
86 void construct_packages();
87 void handle_edit_package(
const UUID &uu);
88 void handle_create_package();
89 void handle_create_padstack_for_package(
const UUID &uu);
90 void handle_duplicate_package(
const UUID &uu);
91 void handle_import_kicad_package();
93 void handle_part_wizard();
94 void handle_kicad_symbol_import_wizard();
96 void construct_parts();
97 void handle_edit_part(
const UUID &uu);
98 void handle_create_part();
99 void handle_create_part_from_part(
const UUID &uu);
100 void handle_duplicate_part(
const UUID &uu);
102 void construct_frames();
103 void handle_edit_frame(
const UUID &uu);
104 void handle_create_frame();
105 void handle_duplicate_frame(
const UUID &uu);
107 void construct_decals();
108 void handle_edit_decal(
const UUID &uu);
109 void handle_create_decal();
110 void handle_duplicate_decal(
const UUID &uu);
112 void construct_parametric();
114 Gtk::Button *add_action_button(
const std::string &label, Gtk::Box *bbox, sigc::slot0<void>);
115 Gtk::Button *add_action_button(
const std::string &label, Gtk::Box *bbox,
class PoolBrowser *br,
116 sigc::slot1<void, UUID>);
117 Gtk::Button *add_merge_button(Gtk::Box *bbox,
class PoolBrowser *br, std::function<
void(
UUID)> cb =
nullptr);
118 void add_preview_stack_switcher(Gtk::Box *bbox, Gtk::Stack *stack);
120 void handle_delete(ObjectType ty,
const UUID &uu);
121 void handle_move_rename(ObjectType ty,
const UUID &uu);
122 void handle_copy_path(ObjectType ty,
const UUID &uu);
126 void handle_duplicate_item(ObjectType ty,
const UUID &uu);
128 void install_search_once(Gtk::Widget *page,
PoolBrowser *browser);
129 bool widget_is_visible(Gtk::Widget *widget);
131 void create_paned_state_store(Gtk::Paned *paned,
const std::string &prefix);
132 std::vector<std::unique_ptr<PanedStateStore>> paned_state_stores;
134 std::string remote_repo;
143 bool pool_busy =
false;
145 type_signal_saved s_signal_saved;
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition pool.hpp:22