Horizon
grid_controller.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include "nlohmann/json_fwd.hpp"
4 #include "common/common.hpp"
5 #include "common/grid_settings.hpp"
6 
7 namespace horizon {
8 using json = nlohmann::json;
9 
11 public:
12  GridController(class MainWindow &win, class CanvasGL &ca, GridSettings *settings);
13  void disable();
14  void set_spacing_square(int64_t s);
15  uint64_t get_spacing_square() const;
16  void set_origin(const Coordi &c);
17  void apply_settings(const GridSettings::Grid &grid);
18 
19 private:
20  class SpinButtonDim *grid_spin_button_square = nullptr;
21  class SpinButtonDim *grid_spin_button_x = nullptr;
22  class SpinButtonDim *grid_spin_button_y = nullptr;
23 
24  class SpinButtonDim *grid_spin_button_origin_x = nullptr;
25  class SpinButtonDim *grid_spin_button_origin_y = nullptr;
26 
27  class MainWindow &main_window;
28  class CanvasGL &canvas;
29  GridSettings *settings;
30  void apply();
31 };
32 } // namespace horizon
Definition: canvas_gl.hpp:18
Definition: grid_controller.hpp:10
Definition: grid_settings.hpp:17
Definition: grid_settings.hpp:9
Definition: main_window.hpp:7
Definition: spin_button_dim.hpp:5
a class to store JSON values
Definition: json.hpp:177
zip_uint64_t uint64_t
zip_uint64_t_t typedef.
Definition: zip.hpp:108
zip_int64_t int64_t
zip_int64_t typedef.
Definition: zip.hpp:103
basic_json<> json
default JSON class
Definition: json_fwd.hpp:62