20#ifndef LIBREPCB_EDITOR_SYMBOLEDITORFSM_H
21#define LIBREPCB_EDITOR_SYMBOLEDITORFSM_H
26#include "../../editorwidgetbase.h"
43class SymbolEditorState;
44class SymbolEditorWidget;
45class SymbolGraphicsItem;
109 QGraphicsSceneMouseEvent& e) noexcept;
111 QGraphicsSceneMouseEvent& e) noexcept;
113 QGraphicsSceneMouseEvent& e) noexcept;
115 QGraphicsSceneMouseEvent& e) noexcept;
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition angle.h:76
The LengthUnit class represents a length unit (millimeters, inches,...) and provides some useful meth...
Definition lengthunit.h:60
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
The Symbol class represents the part of a component which is added to schematics.
Definition symbol.h:55
The GraphicsScene class.
Definition graphicsscene.h:45
The GraphicsView class.
Definition graphicsview.h:52
The SymbolEditorFsm class is the finit state machine (FSM) of the symbol editor.
Definition symboleditorfsm.h:56
bool processGraphicsSceneRightMouseButtonReleased(QGraphicsSceneMouseEvent &e) noexcept
Definition symboleditorfsm.cpp:187
bool processKeyReleased(const QKeyEvent &e) noexcept
Definition symboleditorfsm.cpp:142
SymbolEditorFsm(const SymbolEditorFsm &other)=delete
bool processStartAddingNames() noexcept
Definition symboleditorfsm.cpp:300
bool setNextState(State state) noexcept
Definition symboleditorfsm.cpp:354
bool processStartAddingValues() noexcept
Definition symboleditorfsm.cpp:304
bool processKeyPressed(const QKeyEvent &e) noexcept
Definition symboleditorfsm.cpp:134
bool processGraphicsSceneLeftMouseButtonDoubleClicked(QGraphicsSceneMouseEvent &e) noexcept
Definition symboleditorfsm.cpp:177
void statusBarMessageChanged(const QString &message, int timeoutMs=-1)
EditorWidgetBase::Tool getCurrentTool() const noexcept
Definition symboleditorfsm.cpp:83
bool processStartSelecting() noexcept
Definition symboleditorfsm.cpp:292
bool processStartDrawLines() noexcept
Definition symboleditorfsm.cpp:308
bool processSelectAll() noexcept
Definition symboleditorfsm.cpp:204
bool processStartDrawRects() noexcept
Definition symboleditorfsm.cpp:316
void handlePasteRequest() noexcept
Definition symboleditorfsm.cpp:409
QMap< State, SymbolEditorState * > mStates
Definition symboleditorfsm.h:157
bool processRemove() noexcept
Definition symboleditorfsm.cpp:268
QSet< EditorWidgetBase::Feature > mAvailableFeatures
Definition symboleditorfsm.h:160
bool processCopy() noexcept
Definition symboleditorfsm.cpp:220
SymbolEditorState * getCurrentState() const noexcept
Definition symboleditorfsm.cpp:350
bool processEditProperties() noexcept
Definition symboleditorfsm.cpp:276
State mPreviousState
Definition symboleditorfsm.h:159
State
Definition symboleditorfsm.h:60
bool processCut() noexcept
Definition symboleditorfsm.cpp:212
bool leaveCurrentState() noexcept
Definition symboleditorfsm.cpp:366
bool switchToPreviousState() noexcept
Definition symboleditorfsm.cpp:401
bool processStartDrawTexts() noexcept
Definition symboleditorfsm.cpp:328
virtual ~SymbolEditorFsm() noexcept
Definition symboleditorfsm.cpp:73
bool processStartDxfImport() noexcept
Definition symboleditorfsm.cpp:332
bool processAbortCommand() noexcept
Definition symboleditorfsm.cpp:284
void toolChanged(EditorWidgetBase::Tool newTool)
bool processGraphicsSceneLeftMouseButtonReleased(QGraphicsSceneMouseEvent &e) noexcept
Definition symboleditorfsm.cpp:168
bool processGraphicsSceneLeftMouseButtonPressed(QGraphicsSceneMouseEvent &e) noexcept
Definition symboleditorfsm.cpp:159
bool processStartDrawCircles() noexcept
Definition symboleditorfsm.cpp:324
bool processMove(const Point &delta) noexcept
Definition symboleditorfsm.cpp:236
void updateAvailableFeatures() noexcept
Definition symboleditorfsm.cpp:119
bool enterNextState(State state) noexcept
Definition symboleditorfsm.cpp:385
State mCurrentState
Definition symboleditorfsm.h:158
bool processGraphicsSceneMouseMoved(QGraphicsSceneMouseEvent &e) noexcept
Definition symboleditorfsm.cpp:150
bool processRotate(const Angle &rotation) noexcept
Definition symboleditorfsm.cpp:244
const QSet< EditorWidgetBase::Feature > & getAvailableFeatures() const noexcept
Definition symboleditorfsm.h:97
bool processStartMeasure() noexcept
Definition symboleditorfsm.cpp:342
bool processMirror(Qt::Orientation orientation) noexcept
Definition symboleditorfsm.cpp:252
void availableFeaturesChanged()
bool processStartDrawArcs() noexcept
Definition symboleditorfsm.cpp:312
bool processStartAddingSymbolPins() noexcept
Definition symboleditorfsm.cpp:296
bool processStartDrawPolygons() noexcept
Definition symboleditorfsm.cpp:320
bool processPaste() noexcept
Definition symboleditorfsm.cpp:228
bool processSnapToGrid() noexcept
Definition symboleditorfsm.cpp:260
The SymbolEditorState class is the base class of all symbol editor FSM states.
Definition symboleditorstate.h:54
The SymbolGraphicsItem class.
Definition symbolgraphicsitem.h:56
The UndoStack class holds UndoCommand objects and provides undo/redo commands.
Definition undostack.h:106
Definition occmodel.cpp:76
Definition editorwidgetbase.h:67
Definition symboleditorfsm.h:76
LengthUnit & lengthUnit
Definition symboleditorfsm.h:82
Symbol & symbol
Definition symboleditorfsm.h:83
GraphicsView & graphicsView
Definition symboleditorfsm.h:81
ToolBarProxy & commandToolBar
Definition symboleditorfsm.h:85
SymbolEditorWidget & editorWidget
Definition symboleditorfsm.h:78
GraphicsScene & graphicsScene
Definition symboleditorfsm.h:80
SymbolGraphicsItem & symbolGraphicsItem
Definition symboleditorfsm.h:84
EditorWidgetBase::Context & editorContext
Definition symboleditorfsm.h:77
UndoStack & undoStack
Definition symboleditorfsm.h:79