20#ifndef LIBREPCB_EDITOR_SCHEMATICEDITORFSM_H
21#define LIBREPCB_EDITOR_SCHEMATICEDITORFSM_H
43class SchematicEditorFsmAdapter;
44class SchematicEditorState;
45class SchematicGraphicsScene;
47struct GraphicsSceneKeyEvent;
48struct GraphicsSceneMouseEvent;
94 QObject* parent =
nullptr) noexcept;
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition angle.h:76
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
The Project class represents a whole (opened) project with all its content.
Definition project.h:71
The Schematic class represents one schematic page of a project and is always part of a circuit.
Definition schematic.h:74
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition uuid.h:56
The Workspace class represents a workspace with all its data (library, projects, settings,...
Definition workspace.h:54
Interface for the integration of the schematic editor FSM.
Definition schematiceditorfsmadapter.h:60
The schematic editor finite state machine (FSM)
Definition schematiceditorfsm.h:57
bool processResetAllTexts() noexcept
Definition schematiceditorfsm.cpp:228
bool setNextState(State state) noexcept
Definition schematiceditorfsm.cpp:339
bool processSelectAll() noexcept
Definition schematiceditorfsm.cpp:156
bool processDrawPolygon() noexcept
Definition schematiceditorfsm.cpp:129
bool processRemove() noexcept
Definition schematiceditorfsm.cpp:237
SchematicEditorFsm(const SchematicEditorFsm &other)=delete
bool processSelect() noexcept
Definition schematiceditorfsm.cpp:91
bool processKeyPressed(const GraphicsSceneKeyEvent &e) noexcept
Definition schematiceditorfsm.cpp:255
bool processCopy() noexcept
Definition schematiceditorfsm.cpp:174
bool processEditProperties() noexcept
Definition schematiceditorfsm.cpp:246
State mPreviousState
Definition schematiceditorfsm.h:144
State
FSM States.
Definition schematiceditorfsm.h:71
@ ADD_COMPONENT
librepcb::editor::SchematicEditorState_AddComponent
Definition schematiceditorfsm.h:81
@ MEASURE
librepcb::editor::SchematicEditorState_Measure
Definition schematiceditorfsm.h:87
@ SELECT
librepcb::editor::SchematicEditorState_Select
Definition schematiceditorfsm.h:75
@ DRAW_WIRE
librepcb::editor::SchematicEditorState_DrawWire
Definition schematiceditorfsm.h:77
@ DRAW_POLYGON
librepcb::editor::SchematicEditorState_DrawPolygon
Definition schematiceditorfsm.h:83
@ ADD_NETLABEL
librepcb::editor::SchematicEditorState_AddNetLabel
Definition schematiceditorfsm.h:79
@ ADD_TEXT
librepcb::editor::SchematicEditorState_AddText
Definition schematiceditorfsm.h:85
@ IDLE
no state active
Definition schematiceditorfsm.h:73
bool processCut() noexcept
Definition schematiceditorfsm.cpp:165
bool leaveCurrentState() noexcept
Definition schematiceditorfsm.cpp:349
bool switchToPreviousState() noexcept
Definition schematiceditorfsm.cpp:381
bool processMeasure() noexcept
Definition schematiceditorfsm.cpp:141
bool processGraphicsSceneRightMouseButtonReleased(const GraphicsSceneMouseEvent &e) noexcept
Definition schematiceditorfsm.cpp:315
bool processAbortCommand() noexcept
Definition schematiceditorfsm.cpp:145
bool processKeyReleased(const GraphicsSceneKeyEvent &e) noexcept
Definition schematiceditorfsm.cpp:265
bool processGraphicsSceneLeftMouseButtonPressed(const GraphicsSceneMouseEvent &e) noexcept
Definition schematiceditorfsm.cpp:285
bool processGraphicsSceneLeftMouseButtonDoubleClicked(const GraphicsSceneMouseEvent &e) noexcept
Definition schematiceditorfsm.cpp:305
bool processMove(const Point &delta) noexcept
Definition schematiceditorfsm.cpp:192
bool enterNextState(State state) noexcept
Definition schematiceditorfsm.cpp:371
State mCurrentState
Definition schematiceditorfsm.h:143
SchematicEditorFsm()=delete
bool processGraphicsSceneMouseMoved(const GraphicsSceneMouseEvent &e) noexcept
Definition schematiceditorfsm.cpp:275
bool processRotate(const Angle &rotation) noexcept
Definition schematiceditorfsm.cpp:201
bool processAddText() noexcept
Definition schematiceditorfsm.cpp:133
bool processDrawWire() noexcept
Definition schematiceditorfsm.cpp:137
bool processAddComponent(const QString &searchTerm=QString()) noexcept
Definition schematiceditorfsm.cpp:95
SchematicEditorState * getCurrentStateObj() const noexcept
Definition schematiceditorfsm.cpp:335
bool processMirror(Qt::Orientation orientation) noexcept
Definition schematiceditorfsm.cpp:210
bool processAddNetLabel() noexcept
Definition schematiceditorfsm.cpp:125
bool processGraphicsSceneLeftMouseButtonReleased(const GraphicsSceneMouseEvent &e) noexcept
Definition schematiceditorfsm.cpp:295
QMap< State, SchematicEditorState * > mStates
Definition schematiceditorfsm.h:142
bool processPaste() noexcept
Definition schematiceditorfsm.cpp:183
bool processSnapToGrid() noexcept
Definition schematiceditorfsm.cpp:219
The schematic editor state base class.
Definition schematiceditorstate.h:58
The UndoStack class holds UndoCommand objects and provides undo/redo commands.
Definition undostack.h:106
Definition occmodel.cpp:77
Definition graphicsscene.h:52
Definition graphicsscene.h:45
FSM Context.
Definition schematiceditorfsm.h:62
Schematic & schematic
Definition schematiceditorfsm.h:65
Workspace & workspace
Definition schematiceditorfsm.h:63
UndoStack & undoStack
Definition schematiceditorfsm.h:66
SchematicEditorFsmAdapter & adapter
Definition schematiceditorfsm.h:67
Project & project
Definition schematiceditorfsm.h:64