Horizon
tool_helper_draw_net_setting.hpp
1 #pragma once
2 #include "core/tool.hpp"
3 
4 namespace horizon {
5 
6 class ToolHelperDrawNetSetting : public virtual ToolBase {
7 public:
8  using ToolBase::ToolBase;
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  ToolSettings *get_settings() override
17  {
18  return &settings;
19  }
20 
21  ToolID get_tool_id_for_settings() const override;
22 
23 protected:
24  void step_net_label_size(bool up);
25  void ask_net_label_size();
26 
27  Settings settings;
28 };
29 } // namespace horizon
Common interface for all Tools.
Definition: tool.hpp:96
Definition: tool_helper_draw_net_setting.hpp:9
Definition: tool_helper_draw_net_setting.hpp:6
Definition: tool.hpp:84
a class to store JSON values
Definition: json.hpp:170
zip_uint64_t uint64_t
zip_uint64_t_t typedef.
Definition: zip.hpp:108