Horizon
3d_view.hpp
1 #pragma once
2 #include "util/window_state_store.hpp"
3 #include <gtkmm.h>
4 
5 namespace horizon {
6 class View3DWindow : public Gtk::Window {
7 public:
8  View3DWindow(BaseObjectType *cobject, const Glib::RefPtr<Gtk::Builder> &x, const class Board *b, class Pool *p);
9  static View3DWindow *create(const class Board *b, class Pool *p);
10  void update(bool clear = false);
11  void add_widget(Gtk::Widget *w);
12 
13  typedef sigc::signal<void> type_signal_request_update;
14  type_signal_request_update signal_request_update()
15  {
16  return s_signal_request_update;
17  }
18 
19 private:
20  class Canvas3D *canvas = nullptr;
21  const class Board *board;
22  class Pool *pool = nullptr;
23  Gtk::Box *main_box = nullptr;
24 
25  Gtk::ColorButton *background_top_color_button = nullptr;
26  Gtk::ColorButton *background_bottom_color_button = nullptr;
27  Gtk::ComboBoxText *background_color_preset_combo = nullptr;
28  bool setting_background_color_from_preset = false;
29 
30  WindowStateStore state_store;
31 
32  type_signal_request_update s_signal_request_update;
33 };
34 } // namespace horizon
Definition: 3d_view.hpp:6
Definition: window_state_store.hpp:20
Definition: board.hpp:28
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:18
Definition: block.cpp:7
Definition: canvas3d.hpp:15