20#ifndef LIBREPCB_EDITOR_SCHEMATICEDITORSTATE_DRAWWIRE_H
21#define LIBREPCB_EDITOR_SCHEMATICEDITORSTATE_DRAWWIRE_H
41class SI_NetLineAnchor;
85 virtual
bool entry() noexcept override;
86 virtual
bool exit() noexcept override;
119 bool interactive) noexcept;
123 const QVector<
std::shared_ptr<QGraphicsItem>>& except = {})
noexcept;
The Circuit class represents all electrical connections in a project (drawn in the schematics)
Definition circuit.h:72
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
The SI_BusJunction class.
Definition si_busjunction.h:45
The SI_NetLabel class.
Definition si_netlabel.h:48
Definition si_netline.h:43
The SI_NetLine class.
Definition si_netline.h:64
The SI_NetPoint class.
Definition si_netpoint.h:44
The SI_NetSegment class.
Definition si_netsegment.h:55
The SchematicEditorState_DrawWire class.
Definition schematiceditorstate_drawwire.h:55
WireMode
All available wire modes.
Definition schematiceditorstate_drawwire.h:68
@ VH
vertical - horizontal
@ HV
horizontal - vertical [default]
SchematicEditorState_DrawWire()=delete
virtual ~SchematicEditorState_DrawWire() noexcept
Definition schematiceditorstate_drawwire.cpp:88
SI_NetPoint * mPositioningNetPoint2
the second netpoint to place
Definition schematiceditorstate_drawwire.h:143
SchematicEditorState_DrawWire & operator=(const SchematicEditorState_DrawWire &rhs)=delete
void updateNetLabelPosition(const Point &pos, const Point &dirPos) noexcept
Definition schematiceditorstate_drawwire.cpp:791
virtual bool processGraphicsSceneMouseMoved(const GraphicsSceneMouseEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:165
Circuit & mCircuit
Definition schematiceditorstate_drawwire.h:132
WireMode mCurrentWireMode
the current wire mode
Definition schematiceditorstate_drawwire.h:134
virtual bool processGraphicsSceneRightMouseButtonReleased(const GraphicsSceneMouseEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:220
SI_NetLine * mPositioningNetLine2
line between p1 and p2
Definition schematiceditorstate_drawwire.h:142
SI_NetSegment * mCurrentNetSegment
Definition schematiceditorstate_drawwire.h:138
virtual bool processGraphicsSceneLeftMouseButtonPressed(const GraphicsSceneMouseEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:178
void setWireMode(WireMode mode) noexcept
Definition schematiceditorstate_drawwire.cpp:240
virtual bool processAbortCommand() noexcept override
Definition schematiceditorstate_drawwire.cpp:119
SI_NetLine * mPositioningNetLine1
line between fixed point and p1
Definition schematiceditorstate_drawwire.h:140
virtual bool processGraphicsSceneLeftMouseButtonDoubleClicked(const GraphicsSceneMouseEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:202
SI_NetLineAnchor * mFixedStartAnchor
Definition schematiceditorstate_drawwire.h:136
WireMode getWireMode() const noexcept
Definition schematiceditorstate_drawwire.h:104
virtual bool processKeyPressed(const GraphicsSceneKeyEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:127
std::optional< NetSignal * > determineNetForBusMember(SI_BusJunction &junction) const noexcept
Definition schematiceditorstate_drawwire.cpp:838
SI_NetPoint * mPositioningNetPoint1
the first netpoint to place
Definition schematiceditorstate_drawwire.h:141
SchematicEditorState_DrawWire(const SchematicEditorState_DrawWire &other)=delete
Point calcMiddlePointPos(const Point &p1, const Point p2, WireMode mode) const noexcept
Definition schematiceditorstate_drawwire.cpp:803
bool startPositioning(SchematicGraphicsScene &scene, bool snap, bool interactive, SI_NetPoint *fixedPoint=nullptr) noexcept
Definition schematiceditorstate_drawwire.cpp:255
virtual bool exit() noexcept override
Definition schematiceditorstate_drawwire.cpp:104
std::shared_ptr< QGraphicsItem > findItem(const Point &pos, const QVector< std::shared_ptr< QGraphicsItem > > &except={}) noexcept
Definition schematiceditorstate_drawwire.cpp:723
void wireModeChanged(WireMode mode)
virtual bool processKeyReleased(const GraphicsSceneKeyEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:146
bool addNextNetPoint(SchematicGraphicsScene &scene, bool snap, bool interactive) noexcept
Definition schematiceditorstate_drawwire.cpp:437
bool abortPositioning(bool showErrMsgBox, bool simplifySegment) noexcept
Definition schematiceditorstate_drawwire.cpp:686
SubState
Internal FSM States (substates)
Definition schematiceditorstate_drawwire.h:59
@ IDLE
idle state [initial state]
@ POSITIONING_NETPOINT
in this state, an undo command is active!
SubState mSubState
the current substate
Definition schematiceditorstate_drawwire.h:133
Point mCursorPos
the current cursor position
Definition schematiceditorstate_drawwire.h:135
virtual bool entry() noexcept override
Definition schematiceditorstate_drawwire.cpp:96
SI_NetLabel * mPositioningNetLabel
if net is forced, the label to place
Definition schematiceditorstate_drawwire.h:144
Point updateNetpointPositions(bool snap) noexcept
Definition schematiceditorstate_drawwire.cpp:735
The schematic editor state base class.
Definition schematiceditorstate.h:58
The SchematicGraphicsScene class.
Definition schematicgraphicsscene.h:76
Definition occmodel.cpp:77
Definition graphicsscene.h:52
Definition graphicsscene.h:45
FSM Context.
Definition schematiceditorfsm.h:65