LibrePCB Developers Documentation
SES_Select Class Referencefinal

The SES_Select class (default state of the schematic editor FSM) More...

#include <ses_select.h>

+ Inheritance diagram for SES_Select:
+ Collaboration diagram for SES_Select:

Public Member Functions

 SES_Select (SchematicEditor &editor, Ui::SchematicEditor &editorUi, GraphicsView &editorGraphicsView, UndoStack &undoStack)
 
 ~SES_Select ()
 
ProcRetVal process (SEE_Base *event) noexcept override
 
bool entry (SEE_Base *event) noexcept override
 
bool exit (SEE_Base *event) noexcept override
 
- Public Member Functions inherited from SES_Base
 SES_Base (SchematicEditor &editor, Ui::SchematicEditor &editorUi, GraphicsView &editorGraphicsView, UndoStack &undoStack)
 
virtual ~SES_Base ()
 

Private Types

enum  SubState
 enum for all possible substates More...
 

Private Member Functions

ProcRetVal processSubStateIdle (SEE_Base *event) noexcept
 
ProcRetVal processSubStateIdleSceneEvent (SEE_Base *event) noexcept
 
ProcRetVal processSubStateMoving (SEE_Base *event) noexcept
 
ProcRetVal processSubStateMovingSceneEvent (SEE_Base *event) noexcept
 
ProcRetVal processIdleSceneLeftClick (QGraphicsSceneMouseEvent *mouseEvent, Schematic &schematic) noexcept
 
ProcRetVal processIdleSceneRightMouseButtonReleased (QGraphicsSceneMouseEvent *mouseEvent, Schematic *schematic) noexcept
 
ProcRetVal processIdleSceneDoubleClick (QGraphicsSceneMouseEvent *mouseEvent, Schematic *schematic) noexcept
 
bool startMovingSelectedItems (Schematic &schematic, const Point &startPos) noexcept
 
bool rotateSelectedItems (const Angle &angle) noexcept
 
bool mirrorSelectedItems () noexcept
 
bool removeSelectedItems () noexcept
 
void openSymbolPropertiesDialog (SI_Symbol &symbol) noexcept
 
void openNetLabelPropertiesDialog (SI_NetLabel &netlabel) noexcept
 

Private Attributes

SubState mSubState
 the current substate More...
 
QScopedPointer< CmdMoveSelectedSchematicItemsmSelectedItemsMoveCommand
 

Additional Inherited Members

- Public Types inherited from SES_Base
enum  ProcRetVal
 process() return values More...
 
- Protected Attributes inherited from SES_Base
workspace::WorkspacemWorkspace
 
ProjectmProject
 
CircuitmCircuit
 
SchematicEditormEditor
 
Ui::SchematicEditor & mEditorUi
 allows access to SchematicEditor UI More...
 
GraphicsViewmEditorGraphicsView
 
UndoStackmUndoStack
 

Detailed Description

The SES_Select class (default state of the schematic editor FSM)

Member Enumeration Documentation

◆ SubState

enum SubState
private

enum for all possible substates

Enumerator
SubState_Idle 

left mouse button is not pressed (default state)

SubState_Moving 

left mouse button is pressed

Constructor & Destructor Documentation

◆ SES_Select()

SES_Select ( SchematicEditor editor,
Ui::SchematicEditor &  editorUi,
GraphicsView editorGraphicsView,
UndoStack undoStack 
)
explicit

◆ ~SES_Select()

~SES_Select ( )

Member Function Documentation

◆ process()

SES_Base::ProcRetVal process ( SEE_Base event)
overridevirtualnoexcept

Implements SES_Base.

+ Here is the call graph for this function:

◆ entry()

bool entry ( SEE_Base event)
overridevirtualnoexcept

Reimplemented from SES_Base.

◆ exit()

bool exit ( SEE_Base event)
overridevirtualnoexcept

Reimplemented from SES_Base.

◆ processSubStateIdle()

SES_Base::ProcRetVal processSubStateIdle ( SEE_Base event)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processSubStateIdleSceneEvent()

SES_Base::ProcRetVal processSubStateIdleSceneEvent ( SEE_Base event)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processSubStateMoving()

SES_Base::ProcRetVal processSubStateMoving ( SEE_Base event)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processSubStateMovingSceneEvent()

SES_Base::ProcRetVal processSubStateMovingSceneEvent ( SEE_Base event)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processIdleSceneLeftClick()

SES_Base::ProcRetVal processIdleSceneLeftClick ( QGraphicsSceneMouseEvent *  mouseEvent,
Schematic schematic 
)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processIdleSceneRightMouseButtonReleased()

SES_Base::ProcRetVal processIdleSceneRightMouseButtonReleased ( QGraphicsSceneMouseEvent *  mouseEvent,
Schematic schematic 
)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processIdleSceneDoubleClick()

SES_Base::ProcRetVal processIdleSceneDoubleClick ( QGraphicsSceneMouseEvent *  mouseEvent,
Schematic schematic 
)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ startMovingSelectedItems()

bool startMovingSelectedItems ( Schematic schematic,
const Point startPos 
)
privatenoexcept
+ Here is the caller graph for this function:

◆ rotateSelectedItems()

bool rotateSelectedItems ( const Angle angle)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mirrorSelectedItems()

bool mirrorSelectedItems ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeSelectedItems()

bool removeSelectedItems ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ openSymbolPropertiesDialog()

void openSymbolPropertiesDialog ( SI_Symbol symbol)
privatenoexcept
+ Here is the caller graph for this function:

◆ openNetLabelPropertiesDialog()

void openNetLabelPropertiesDialog ( SI_NetLabel netlabel)
privatenoexcept
+ Here is the caller graph for this function:

Member Data Documentation

◆ mSubState

SubState mSubState
private

the current substate

◆ mSelectedItemsMoveCommand

QScopedPointer<CmdMoveSelectedSchematicItems> mSelectedItemsMoveCommand
private

The documentation for this class was generated from the following files: