Horizon
tool_helper_draw_net_setting.hpp
1 #pragma once
2 #include "core.hpp"
3 
4 namespace horizon {
5 
6 class ToolHelperDrawNetSetting : public virtual ToolBase {
7 public:
8  ToolHelperDrawNetSetting(Core *c, ToolID tid);
9  class Settings : public ToolSettings {
10  public:
11  json serialize() const override;
12  void load_from_json(const json &j) override;
13  uint64_t net_label_size = 1.5_mm;
14  };
15 
16  const ToolSettings *get_settings_const() const override
17  {
18  return &settings;
19  }
20 
21  ToolID get_tool_id_for_settings() const override
22  {
23  return ToolID::DRAW_NET;
24  }
25 
26 protected:
27  ToolSettings *get_settings() override
28  {
29  return &settings;
30  }
31  void step_net_label_size(bool up);
32  void ask_net_label_size();
33 
34  Settings settings;
35 };
36 } // namespace horizon
horizon::ToolSettings
Definition: core.hpp:104
horizon::ToolHelperDrawNetSetting
Definition: tool_helper_draw_net_setting.hpp:6
libzip::uint64_t
zip_uint64_t uint64_t
zip_uint64_t_t typedef.
Definition: zip.hpp:108
horizon::Core
Where Tools and and documents meet.
Definition: core.hpp:240
nlohmann::basic_json
a class to store JSON values
Definition: json.hpp:161
horizon::ToolBase
Common interface for all Tools.
Definition: core.hpp:141
horizon::ToolHelperDrawNetSetting::Settings
Definition: tool_helper_draw_net_setting.hpp:9