20#ifndef LIBREPCB_EDITOR_SCHEMATICEDITORSTATE_SELECT_H
21#define LIBREPCB_EDITOR_SCHEMATICEDITORSTATE_SELECT_H
49class CmdDragSelectedSchematicItems;
71 virtual
bool entry() noexcept override;
72 virtual
bool exit() noexcept override;
81 virtual
bool processMirror(Qt::Orientation orientation) noexcept override;
87 QGraphicsSceneMouseEvent& e) noexcept override;
89 QGraphicsSceneMouseEvent& e) noexcept override;
91 QGraphicsSceneMouseEvent& e) noexcept override;
93 QGraphicsSceneMouseEvent& e) noexcept override;
95 QGraphicsSceneMouseEvent& e) noexcept override;
104 const
Point& startPos) noexcept;
111 const QVector<
int> vertices) noexcept;
113 const
Point& pos) noexcept;
129 MOVING_POLYGON_VERTICES,
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition: angle.h:78
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition: point.h:79
The Polygon class.
Definition: polygon.h:45
The SI_NetLabel class.
Definition: si_netlabel.h:49
The SI_Polygon class represents a polygon in a schematic.
Definition: si_polygon.h:47
The SI_Symbol class.
Definition: si_symbol.h:54
The Text class.
Definition: text.h:48
The "select" state/tool of the schematic editor (default state)
Definition: schematiceditorstate_select.h:59
SchematicEditorState_Select()=delete
virtual bool processGraphicsSceneMouseMoved(QGraphicsSceneMouseEvent &e) noexcept override
Definition: schematiceditorstate_select.cpp:275
virtual bool processEditProperties() noexcept override
Definition: schematiceditorstate_select.cpp:208
void openTextPropertiesDialog(Text &text) noexcept
Definition: schematiceditorstate_select.cpp:925
bool mirrorSelectedItems(Qt::Orientation orientation) noexcept
Definition: schematiceditorstate_select.cpp:696
virtual bool processGraphicsSceneLeftMouseButtonReleased(QGraphicsSceneMouseEvent &e) noexcept override
Definition: schematiceditorstate_select.cpp:403
bool startMovingSelectedItems(SchematicGraphicsScene &scene, const Point &startPos) noexcept
Definition: schematiceditorstate_select.cpp:650
bool copySelectedItemsToClipboard() noexcept
Definition: schematiceditorstate_select.cpp:793
virtual bool processRemove() noexcept override
Definition: schematiceditorstate_select.cpp:197
bool rotateSelectedItems(const Angle &angle) noexcept
Definition: schematiceditorstate_select.cpp:675
QScopedPointer< CmdDragSelectedSchematicItems > mSelectedItemsDragCommand
Definition: schematiceditorstate_select.h:135
virtual bool processAbortCommand() noexcept override
Definition: schematiceditorstate_select.cpp:242
virtual bool processPaste() noexcept override
Definition: schematiceditorstate_select.cpp:145
bool removeSelectedItems() noexcept
Definition: schematiceditorstate_select.cpp:733
virtual bool processResetAllTexts() noexcept override
Definition: schematiceditorstate_select.cpp:187
virtual bool processRotate(const Angle &rotation) noexcept override
Definition: schematiceditorstate_select.cpp:165
virtual bool processSelectAll() noexcept override
Definition: schematiceditorstate_select.cpp:115
SchematicEditorState_Select(const SchematicEditorState_Select &other)=delete
virtual bool processSwitchToSchematicPage(int index) noexcept override
Definition: schematiceditorstate_select.cpp:640
SI_Polygon * mSelectedPolygon
The current polygon selected for editing (nullptr if none)
Definition: schematiceditorstate_select.h:138
bool pasteFromClipboard() noexcept
Definition: schematiceditorstate_select.cpp:810
bool findPolygonVerticesAtPosition(const Point &pos) noexcept
Definition: schematiceditorstate_select.cpp:862
virtual bool processCut() noexcept override
Definition: schematiceditorstate_select.cpp:125
bool resetAllTextsOfSelectedItems() noexcept
Definition: schematiceditorstate_select.cpp:717
bool moveSelectedItems(const Point &delta) noexcept
Definition: schematiceditorstate_select.cpp:659
virtual bool exit() noexcept override
Definition: schematiceditorstate_select.cpp:89
void startAddingPolygonVertex(SI_Polygon &polygon, int vertex, const Point &pos) noexcept
Definition: schematiceditorstate_select.cpp:774
void openSymbolPropertiesDialog(SI_Symbol &symbol) noexcept
Definition: schematiceditorstate_select.cpp:901
QVector< int > mSelectedPolygonVertices
The polygon vertex indices selected for editing (empty if none)
Definition: schematiceditorstate_select.h:140
void removePolygonVertices(Polygon &polygon, const QVector< int > vertices) noexcept
Definition: schematiceditorstate_select.cpp:748
bool openPropertiesDialog(std::shared_ptr< QGraphicsItem > item) noexcept
Definition: schematiceditorstate_select.cpp:882
void openNetLabelPropertiesDialog(SI_NetLabel &netlabel) noexcept
Definition: schematiceditorstate_select.cpp:910
virtual bool processGraphicsSceneRightMouseButtonReleased(QGraphicsSceneMouseEvent &e) noexcept override
Definition: schematiceditorstate_select.cpp:469
Point mStartPos
Definition: schematiceditorstate_select.h:134
virtual bool processMirror(Qt::Orientation orientation) noexcept override
Definition: schematiceditorstate_select.cpp:176
virtual ~SchematicEditorState_Select() noexcept
Definition: schematiceditorstate_select.cpp:76
void openPolygonPropertiesDialog(Polygon &polygon) noexcept
Definition: schematiceditorstate_select.cpp:917
virtual bool processGraphicsSceneLeftMouseButtonPressed(QGraphicsSceneMouseEvent &e) noexcept override
Definition: schematiceditorstate_select.cpp:316
SubState
enum for all possible substates
Definition: schematiceditorstate_select.h:125
virtual bool processMove(const Point &delta) noexcept override
Definition: schematiceditorstate_select.cpp:155
SubState mSubState
the current substate
Definition: schematiceditorstate_select.h:133
QScopedPointer< CmdPolygonEdit > mCmdPolygonEdit
The polygon edit command (nullptr if not editing)
Definition: schematiceditorstate_select.h:142
virtual bool processCopy() noexcept override
Definition: schematiceditorstate_select.cpp:135
virtual bool entry() noexcept override
Definition: schematiceditorstate_select.cpp:84
virtual bool processGraphicsSceneLeftMouseButtonDoubleClicked(QGraphicsSceneMouseEvent &e) noexcept override
Definition: schematiceditorstate_select.cpp:444
The schematic editor state base class.
Definition: schematiceditorstate.h:57
The SchematicGraphicsScene class.
Definition: schematicgraphicsscene.h:67
Definition: occmodel.cpp:77
FSM Context.
Definition: schematiceditorfsm.h:81