2 #include "util/window_state_store.hpp"
3 #include "common/common.hpp"
4 #include "util/changeable.hpp"
9 class View3DWindow :
public Gtk::Window,
public Changeable {
11 enum class Mode { BOARD, PACKAGE };
12 View3DWindow(BaseObjectType *cobject,
const Glib::RefPtr<Gtk::Builder> &x,
const class Board &b,
class IPool &p,
14 static View3DWindow *create(
const class Board &b,
class IPool &p, Mode mode);
15 void update(
bool clear =
false);
16 void set_highlights(
const std::set<UUID> &pkgs);
17 void add_widget(Gtk::Widget *w);
18 void set_smooth_zoom(
bool smooth);
19 void set_solder_mask_color(
const Gdk::RGBA &c);
20 Gdk::RGBA get_solder_mask_color();
21 void set_substrate_color(
const Gdk::RGBA &c);
22 Gdk::RGBA get_substrate_color();
23 void set_appearance(
const class Appearance &a);
25 typedef sigc::signal<void> type_signal_request_update;
26 type_signal_request_update signal_request_update()
28 return s_signal_request_update;
32 class Canvas3D *canvas =
nullptr;
33 const class Board &board;
36 Gtk::Box *main_box =
nullptr;
37 Gtk::Revealer *model_loading_revealer =
nullptr;
38 Gtk::Spinner *model_loading_spinner =
nullptr;
39 Gtk::ProgressBar *model_loading_progress =
nullptr;
41 Gtk::ColorButton *background_top_color_button =
nullptr;
42 Gtk::ColorButton *background_bottom_color_button =
nullptr;
43 Gtk::ColorButton *solder_mask_color_button =
nullptr;
44 Gtk::ColorButton *substrate_color_button =
nullptr;
45 Gtk::ComboBoxText *background_color_preset_combo =
nullptr;
46 bool setting_background_color_from_preset =
false;
48 WindowStateStore state_store;
50 type_signal_request_update s_signal_request_update;