Horizon
Loading...
Searching...
No Matches
tool_map_package.hpp
1#pragma once
2#include "core/tool.hpp"
3#include "tool_helper_move.hpp"
4
5namespace horizon {
7public:
8 using ToolHelperMove::ToolHelperMove;
9 ToolResponse begin(const ToolArgs &args) override;
10 ToolResponse update(const ToolArgs &args) override;
11 bool can_begin() override;
12 std::set<InToolActionID> get_actions() const override
13 {
14 using I = InToolActionID;
15 return {
16 I::LMB, I::CANCEL, I::RMB, I::ROTATE, I::MIRROR, I::EDIT,
17 };
18 }
19
20 class Settings : public ToolSettings {
21 public:
22 json serialize() const override;
23 void load_from_json(const json &j) override;
24 bool flip = false;
25 };
26
27 ToolSettings *get_settings() override
28 {
29 return &settings;
30 }
31
32private:
33 Settings settings;
34
35 std::vector<std::pair<class Component *, bool>> components;
36 unsigned int component_index = 0;
37 class BoardPackage *pkg = nullptr;
38 std::set<UUID> nets;
39 std::set<UUID> all_nets;
40 void place_package(Component *comp, const Coordi &c);
41 void update_tooltip();
42 int angle = 0;
43};
44} // namespace horizon
Definition board_package.hpp:13
A Component is an instanced Entity in a Block.
Definition component.hpp:40
This is what a Tool receives when the user did something.
Definition tool_pub.hpp:23
Definition tool_helper_move.hpp:6
Definition tool_map_package.hpp:20
Definition tool_map_package.hpp:6
bool can_begin() override
Definition tool_map_package.cpp:22
ToolResponse update(const ToolArgs &args) override
Gets called whenever the user generated some sort of input.
Definition tool_map_package.cpp:137
ToolResponse begin(const ToolArgs &args) override
Gets called right after the constructor has finished.
Definition tool_map_package.cpp:27
To signal back to the core what the Tool did, a Tool returns a ToolResponse.
Definition tool_pub.hpp:40
Definition tool_pub.hpp:82
a class to store JSON values
Definition json.hpp:177