Horizon
horizon-eda-1.3.0
src
core
tools
tool_place_bus_label.hpp
1
#pragma once
2
#include "core/tool.hpp"
3
#include "tool_place_junction.hpp"
4
#include <forward_list>
5
6
namespace
horizon {
7
8
class
ToolPlaceBusLabel
:
public
ToolPlaceJunction
{
9
public
:
10
ToolPlaceBusLabel
(
IDocument
*c, ToolID tid);
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,
17
};
18
}
19
20
private
:
21
void
create_attached()
override
;
22
void
delete_attached()
override
;
23
bool
begin_attached()
override
;
24
bool
update_attached(
const
ToolArgs
&args)
override
;
25
bool
check_line(
class
LineNet
*li)
override
;
26
class
BusLabel
*la =
nullptr
;
27
Orientation last_orientation = Orientation::RIGHT;
28
std::forward_list<class BusLabel *> labels_placed;
29
class
Bus
*bus =
nullptr
;
30
};
31
}
// namespace horizon
horizon::ToolPlaceBusLabel::can_begin
bool can_begin() override
Definition:
tool_place_bus_label.cpp:14
horizon::IDocument
Definition:
idocument.hpp:5
horizon::LineNet
LineNet is similar to Line, except it denotes electrical connection.
Definition:
line_net.hpp:23
horizon::ToolPlaceBusLabel
Definition:
tool_place_bus_label.hpp:8
horizon::BusLabel
Makes a Bus available on the schematic.
Definition:
bus_label.hpp:22
horizon::Bus
A Bus is used for grouping nets.
Definition:
bus.hpp:20
horizon::ToolPlaceJunction
Definition:
tool_place_junction.hpp:7
horizon::ToolArgs
This is what a Tool receives when the user did something.
Definition:
tool.hpp:23
Generated by
1.8.20