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  ToolHelperDrawNetSetting(IDocument *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 protected:
24  ToolSettings *get_settings() override
25  {
26  return &settings;
27  }
28  void step_net_label_size(bool up);
29  void ask_net_label_size();
30 
31  Settings settings;
32 };
33 } // namespace horizon
nlohmann::basic_json
a class to store JSON values
Definition: json.hpp:166
libzip::uint64_t
zip_uint64_t uint64_t
zip_uint64_t_t typedef.
Definition: zip.hpp:108