20#ifndef LIBREPCB_EDITOR_SCHEMATICEDITORSTATE_DRAWWIRE_H
21#define LIBREPCB_EDITOR_SCHEMATICEDITORSTATE_DRAWWIRE_H
40class SI_NetLineAnchor;
82 virtual
bool entry() noexcept override;
83 virtual
bool exit() noexcept override;
90 QGraphicsSceneMouseEvent& e) noexcept override;
92 QGraphicsSceneMouseEvent& e) noexcept override;
94 QGraphicsSceneMouseEvent& e) noexcept override;
96 QGraphicsSceneMouseEvent& e) noexcept override;
110 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:70
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
Definition si_netline.h:44
The SI_NetLine class.
Definition si_netline.h:65
The SI_NetPoint class.
Definition si_netpoint.h:44
The SchematicEditorState_DrawWire class.
Definition schematiceditorstate_drawwire.h:53
WireMode
All available wire modes.
Definition schematiceditorstate_drawwire.h:65
@ VH
vertical - horizontal
@ HV
horizontal - vertical [default]
virtual bool processGraphicsSceneMouseMoved(QGraphicsSceneMouseEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:193
SchematicEditorState_DrawWire()=delete
virtual ~SchematicEditorState_DrawWire() noexcept
Definition schematiceditorstate_drawwire.cpp:80
SI_NetPoint * mPositioningNetPoint2
the second netpoint to place
Definition schematiceditorstate_drawwire.h:126
Circuit & mCircuit
Definition schematiceditorstate_drawwire.h:117
WireMode mCurrentWireMode
the current wire mode
Definition schematiceditorstate_drawwire.h:119
SI_NetLine * mPositioningNetLine2
line between p1 and p2
Definition schematiceditorstate_drawwire.h:125
virtual bool processAbortCommand() noexcept override
Definition schematiceditorstate_drawwire.cpp:147
virtual bool processKeyPressed(const QKeyEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:155
SI_NetLine * mPositioningNetLine1
line between fixed point and p1
Definition schematiceditorstate_drawwire.h:123
bool addNextNetPoint(SchematicGraphicsScene &scene, bool snap) noexcept
Definition schematiceditorstate_drawwire.cpp:430
void wireModeChanged(WireMode mode) noexcept
Definition schematiceditorstate_drawwire.cpp:694
bool abortPositioning(bool showErrMsgBox) noexcept
Definition schematiceditorstate_drawwire.cpp:630
SI_NetLineAnchor * mFixedStartAnchor
the fixed anchor (start point of the line)
Definition schematiceditorstate_drawwire.h:122
virtual bool processSwitchToSchematicPage(int index) noexcept override
Definition schematiceditorstate_drawwire.cpp:273
SI_NetPoint * mPositioningNetPoint1
the first netpoint to place
Definition schematiceditorstate_drawwire.h:124
SchematicEditorState_DrawWire(const SchematicEditorState_DrawWire &other)=delete
bool startPositioning(SchematicGraphicsScene &scene, bool snap, SI_NetPoint *fixedPoint=nullptr) noexcept
Definition schematiceditorstate_drawwire.cpp:283
Point calcMiddlePointPos(const Point &p1, const Point p2, WireMode mode) const noexcept
Definition schematiceditorstate_drawwire.cpp:701
virtual bool exit() noexcept override
Definition schematiceditorstate_drawwire.cpp:130
std::shared_ptr< QGraphicsItem > findItem(const Point &pos, const QVector< std::shared_ptr< QGraphicsItem > > &except={}) noexcept
Definition schematiceditorstate_drawwire.cpp:649
virtual bool processGraphicsSceneRightMouseButtonReleased(QGraphicsSceneMouseEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:246
QPointer< QActionGroup > mWireModeActionGroup
Definition schematiceditorstate_drawwire.h:129
virtual bool processKeyReleased(const QKeyEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:174
virtual bool processGraphicsSceneLeftMouseButtonPressed(QGraphicsSceneMouseEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:206
SubState
Internal FSM States (substates)
Definition schematiceditorstate_drawwire.h:57
@ IDLE
idle state [initial state]
@ POSITIONING_NETPOINT
in this state, an undo command is active!
SubState mSubState
the current substate
Definition schematiceditorstate_drawwire.h:118
Point mCursorPos
the current cursor position
Definition schematiceditorstate_drawwire.h:120
virtual bool entry() noexcept override
Definition schematiceditorstate_drawwire.cpp:88
Point updateNetpointPositions(bool snap) noexcept
Definition schematiceditorstate_drawwire.cpp:661
virtual bool processGraphicsSceneLeftMouseButtonDoubleClicked(QGraphicsSceneMouseEvent &e) noexcept override
Definition schematiceditorstate_drawwire.cpp:229
The schematic editor state base class.
Definition schematiceditorstate.h:57
The SchematicGraphicsScene class.
Definition schematicgraphicsscene.h:67
Definition occmodel.cpp:76
FSM Context.
Definition schematiceditorfsm.h:81