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