2 #include "common/common.hpp"
3 #include "pool/part.hpp"
4 #include "pool/pool.hpp"
5 #include "pool/pool_parametric.hpp"
6 #include "util/uuid.hpp"
7 #include "util/window_state_store.hpp"
8 #include "util/paned_state_store.hpp"
12 #include "util/item_set.hpp"
19 PartBrowserWindow(BaseObjectType *cobject,
const Glib::RefPtr<Gtk::Builder> &x,
const std::string &pool_path,
20 std::deque<UUID> &favs);
21 static PartBrowserWindow *create(Gtk::Window *p,
const std::string &pool_path, std::deque<UUID> &favs);
22 typedef sigc::signal<void, UUID> type_signal_place_part;
23 type_signal_place_part signal_place_part()
25 return s_signal_place_part;
27 type_signal_place_part signal_assign_part()
29 return s_signal_assign_part;
32 typedef sigc::signal<void, ItemSet> type_signal_open_pool_cache_window;
33 type_signal_open_pool_cache_window signal_open_pool_cache_window()
35 return s_signal_open_pool_cache_window;
38 void placed_part(
const UUID &uu);
39 void go_to_part(
const UUID &uu);
40 void set_can_assign(
bool v);
43 void pool_updated(
const std::string &bp);
46 Gtk::Menu *add_search_menu =
nullptr;
47 Gtk::Notebook *notebook =
nullptr;
48 Gtk::Button *place_part_button =
nullptr;
49 Gtk::Button *assign_part_button =
nullptr;
50 Gtk::ToggleButton *fav_button =
nullptr;
51 Gtk::ListBox *lb_favorites =
nullptr;
52 Gtk::ListBox *lb_recent =
nullptr;
53 Gtk::InfoBar *out_of_date_info_bar =
nullptr;
57 void handle_switch_page(Gtk::Widget *w, guint index);
58 void handle_fav_toggled();
59 void update_favorites();
60 void update_recents();
61 void handle_favorites_selected(Gtk::ListBoxRow *row);
62 void handle_favorites_activated(Gtk::ListBoxRow *row);
63 void handle_place_part();
64 void handle_assign_part();
65 sigc::connection fav_toggled_conn;
66 std::set<Gtk::Widget *> search_views;
70 void update_part_current();
71 void update_out_of_date_info_bar();
72 ItemSet items_out_of_date;
73 std::deque<UUID> &favorites;
74 std::deque<UUID> recents;
76 type_signal_place_part s_signal_place_part;
77 type_signal_place_part s_signal_assign_part;
78 type_signal_open_pool_cache_window s_signal_open_pool_cache_window;
79 bool can_assign =
false;
83 std::optional<PanedStateStore> paned_state_store;
85 sigc::connection pool_updated_conn;
86 bool needs_reload =
false;
Definition: part_browser_window.hpp:17
Definition: part_preview.hpp:12
Definition: pool_browser_parametric.hpp:7
Definition: pool_browser_part.hpp:5
Definition: pool_cache_status.hpp:11
Definition: pool_parametric.hpp:10
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:22
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Definition: window_state_store.hpp:25