Horizon
tool_enter_datum.hpp
1 #pragma once
2 #include "core/tool.hpp"
3 #include "tool_helper_collect_nets.hpp"
4 
5 namespace horizon {
6 
7 class ToolEnterDatum : public virtual ToolBase, public ToolHelperCollectNets {
8 public:
9  using ToolBase::ToolBase;
10  ToolResponse begin(const ToolArgs &args) override;
11  ToolResponse update(const ToolArgs &args) override;
12  bool can_begin() override;
13  bool is_specific() override
14  {
15  return true;
16  }
17 
18 private:
19  enum class Mode { INVALID, POLYGON_EDGE, POLYGON_VERTEX, TEXT, NET, PAD, DIMENSION, LINE, TRACK, JUNCTION };
20  Mode get_mode() const;
21 };
22 } // namespace horizon
This is what a Tool receives when the user did something.
Definition: tool_pub.hpp:23
Common interface for all Tools.
Definition: tool_pub.hpp:94
Definition: tool_enter_datum.hpp:7
ToolResponse update(const ToolArgs &args) override
Gets called whenever the user generated some sort of input.
Definition: tool_enter_datum.cpp:425
bool can_begin() override
Definition: tool_enter_datum.cpp:63
ToolResponse begin(const ToolArgs &args) override
Gets called right after the constructor has finished.
Definition: tool_enter_datum.cpp:68
bool is_specific() override
Definition: tool_enter_datum.hpp:13
Definition: tool_helper_collect_nets.hpp:7
To signal back to the core what the Tool did, a Tool returns a ToolResponse.
Definition: tool_pub.hpp:40