Horizon
tool_map_package.hpp
1 #pragma once
2 #include "core.hpp"
3 
4 namespace horizon {
5 class ToolMapPackage : public ToolBase {
6 public:
7  ToolMapPackage(Core *c, ToolID tid);
8  ToolResponse begin(const ToolArgs &args) override;
9  ToolResponse update(const ToolArgs &args) override;
10  bool can_begin() override;
11 
12 private:
13  std::vector<std::pair<Component *, bool>> components;
14  unsigned int component_index = 0;
15  class BoardPackage *pkg = nullptr;
16  void place_package(Component *comp, const Coordi &c);
17  void update_tooltip();
18 };
19 } // namespace horizon
This is what a Tool receives when the user did something.
Definition: core.hpp:108
Definition: tool_map_package.hpp:5
A Component is an instanced Entity in a Block.
Definition: component.hpp:39
ToolResponse begin(const ToolArgs &args) override
Gets called right after the constructor has finished.
Definition: tool_map_package.cpp:17
bool can_begin() override
Definition: tool_map_package.cpp:12
ToolResponse update(const ToolArgs &args) override
Gets called whenever the user generated some sort of input.
Definition: tool_map_package.cpp:108
Where Tools and and documents meet.
Definition: core.hpp:249
To signal back to the core what the Tool did, a Tool returns a ToolResponse.
Definition: core.hpp:126
Definition: block.cpp:7
Common interface for all Tools.
Definition: core.hpp:170
Definition: board_package.hpp:17