2 #include "core/tool.hpp"
3 #include "schematic/net_label.hpp"
4 #include "tool_place_junction.hpp"
5 #include "tool_helper_draw_net_setting.hpp"
6 #include <forward_list>
10 class ToolPlaceNetLabel :
public ToolPlaceJunction,
public ToolHelperDrawNetSetting {
12 ToolPlaceNetLabel(IDocument *c, ToolID tid);
14 std::set<InToolActionID> get_actions()
const override
16 using I = InToolActionID;
18 I::LMB, I::CANCEL, I::RMB, I::ROTATE, I::MIRROR, I::NET_LABEL_SIZE_INC, I::NET_LABEL_SIZE_DEC,
24 std::forward_list<NetLabel *> labels_placed;
25 void create_attached()
override;
26 void delete_attached()
override;
27 bool begin_attached()
override;
28 bool update_attached(
const ToolArgs &args)
override;
29 bool check_line(LineNet *li)
override;
30 NetLabel *la =
nullptr;
31 Orientation last_orientation = Orientation::RIGHT;
32 void apply_settings()
override;