Horizon
tool_backannotate_connection_lines.hpp
1 #pragma once
2 #include "core.hpp"
3 #include "util/uuid_path.hpp"
4 #include "nlohmann/json_fwd.hpp"
5 
6 namespace horizon {
7 using json = nlohmann::json;
9 public:
10  ToolBackannotateConnectionLines(Core *c, ToolID tid);
11  ToolResponse begin(const ToolArgs &args) override;
12  ToolResponse update(const ToolArgs &args) override;
13  bool can_begin() override;
14 
15  class ToolDataBackannotate : public ToolData {
16  public:
17  class Item {
18  public:
19  void from_json(class Block &block, const json &j);
20  bool is_valid() const;
21  class Net *net = nullptr;
22  class Component *component = nullptr;
23  UUIDPath<2> connpath;
24  };
25  std::vector<std::pair<Item, Item>> connections;
26  };
27 
28 private:
29  Net *create_net_stub(class Component *comp, const UUIDPath<2> &connpath, Net *net = nullptr);
30  int net_n = 0;
31 };
32 } // namespace horizon
horizon::ToolBackannotateConnectionLines::begin
ToolResponse begin(const ToolArgs &args) override
Gets called right after the constructor has finished.
Definition: tool_backannotate_connection_lines.cpp:97
horizon::ToolData
Definition: tool_data.hpp:4
nlohmann::json
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61
horizon::ToolBackannotateConnectionLines
Definition: tool_backannotate_connection_lines.hpp:8
horizon::ToolBackannotateConnectionLines::update
ToolResponse update(const ToolArgs &args) override
Gets called whenever the user generated some sort of input.
Definition: tool_backannotate_connection_lines.cpp:120
horizon::Net
Definition: net.hpp:16
horizon::Block
A block is one level of hierarchy in the netlist.
Definition: block.hpp:26
horizon::Component
A Component is an instanced Entity in a Block.
Definition: component.hpp:39
horizon::ToolBackannotateConnectionLines::ToolDataBackannotate::Item
Definition: tool_backannotate_connection_lines.hpp:17
horizon::UUIDPath< 2 >
horizon::Core
Where Tools and and documents meet.
Definition: core.hpp:240
horizon::ToolBackannotateConnectionLines::can_begin
bool can_begin() override
Definition: tool_backannotate_connection_lines.cpp:32
horizon::ToolBackannotateConnectionLines::ToolDataBackannotate
Definition: tool_backannotate_connection_lines.hpp:15
nlohmann::basic_json
a class to store JSON values
Definition: json.hpp:161
horizon::ToolBase
Common interface for all Tools.
Definition: core.hpp:141
horizon::ToolResponse
To signal back to the core what the Tool did, a Tool returns a ToolResponse.
Definition: core.hpp:52
horizon::ToolArgs
This is what a Tool receives when the user did something.
Definition: core.hpp:26