LibrePCB Developers Documentation
CmdDeviceInstanceEdit Class Referencefinal

The CmdDeviceInstanceEdit class. More...

#include <cmddeviceinstanceedit.h>

+ Inheritance diagram for CmdDeviceInstanceEdit:
+ Collaboration diagram for CmdDeviceInstanceEdit:

Public Member Functions

 CmdDeviceInstanceEdit (BI_Device &dev) noexcept
 
 ~CmdDeviceInstanceEdit () noexcept
 
void setPosition (const Point &pos, bool immediate) noexcept
 
void translate (const Point &deltaPos, bool immediate) noexcept
 
void snapToGrid (const PositiveLength &gridInterval, bool immediate) noexcept
 
void setRotation (const Angle &angle, bool immediate) noexcept
 
void rotate (const Angle &angle, const Point &center, bool immediate) noexcept
 
void setMirrored (bool mirrored, bool immediate)
 
void mirror (const Point &center, Qt::Orientation orientation, bool immediate)
 
void setLocked (bool locked)
 
void setModel (const tl::optional< Uuid > &uuid) noexcept
 
- Public Member Functions inherited from UndoCommand
 UndoCommand ()=delete
 
 UndoCommand (const UndoCommand &other)=delete
 
 UndoCommand (const QString &text) noexcept
 
virtual ~UndoCommand () noexcept
 
const QString & getText () const noexcept
 
bool wasEverExecuted () const noexcept
 This method shows whether that command was ever executed (execute() called successfully) More...
 
bool wasEverReverted () const noexcept
 This method shows whether that command was ever reverted (undo() called at least one time) More...
 
bool isCurrentlyExecuted () const noexcept
 This method shows whether that command is currently executed (redo() called one time more than undo()) More...
 
virtual bool execute () final
 Execute the command (must only be called once) More...
 
virtual void undo () final
 Undo the command. More...
 
virtual void redo () final
 Redo the command. More...
 
UndoCommandoperator= (const UndoCommand &rhs)=delete
 

Private Member Functions

bool performExecute () override
 Execute the command the first time. More...
 
void performUndo () override
 Undo the command. More...
 
void performRedo () override
 Redo the command. More...
 

Private Attributes

BI_DevicemDevice
 
Point mOldPos
 
Point mNewPos
 
Angle mOldRotation
 
Angle mNewRotation
 
bool mOldMirrored
 
bool mNewMirrored
 
bool mOldLocked
 
bool mNewLocked
 
tl::optional< UuidmOldModelUuid
 
tl::optional< UuidmNewModelUuid
 

Friends

class CmdDeviceInstanceEditAll
 

Additional Inherited Members

virtual bool performExecute ()=0
 Execute the command the first time. More...
 
virtual void performUndo ()=0
 Undo the command. More...
 
virtual void performRedo ()=0
 Redo the command. More...
 

Detailed Description

Constructor & Destructor Documentation

◆ CmdDeviceInstanceEdit()

CmdDeviceInstanceEdit ( BI_Device dev)
explicitnoexcept

◆ ~CmdDeviceInstanceEdit()

~CmdDeviceInstanceEdit ( )
noexcept
+ Here is the call graph for this function:

Member Function Documentation

◆ setPosition()

void setPosition ( const Point pos,
bool  immediate 
)
noexcept
+ Here is the caller graph for this function:

◆ translate()

void translate ( const Point deltaPos,
bool  immediate 
)
noexcept
+ Here is the caller graph for this function:

◆ snapToGrid()

void snapToGrid ( const PositiveLength gridInterval,
bool  immediate 
)
noexcept
+ Here is the caller graph for this function:

◆ setRotation()

void setRotation ( const Angle angle,
bool  immediate 
)
noexcept
+ Here is the caller graph for this function:

◆ rotate()

void rotate ( const Angle angle,
const Point center,
bool  immediate 
)
noexcept
+ Here is the caller graph for this function:

◆ setMirrored()

void setMirrored ( bool  mirrored,
bool  immediate 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mirror()

void mirror ( const Point center,
Qt::Orientation  orientation,
bool  immediate 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setLocked()

void setLocked ( bool  locked)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setModel()

void setModel ( const tl::optional< Uuid > &  uuid)
noexcept

◆ performExecute()

bool performExecute ( )
overrideprivatevirtual

Execute the command the first time.

Note
This method must be implemented in all derived classes. If the first time execution is exactly identical to an "redo" action, you can simple call librepcb::editor::UndoCommand::performRedo() in the implementation of this method.
Return values
trueIf the command has done some changes
falseIf the command has done nothing (the command can be deleted)

Implements UndoCommand.

+ Here is the call graph for this function:

◆ performUndo()

void performUndo ( )
overrideprivatevirtual

Undo the command.

Note
This method must be implemented in all derived classes.

Implements UndoCommand.

+ Here is the call graph for this function:

◆ performRedo()

void performRedo ( )
overrideprivatevirtual

Redo the command.

Note
This method must be implemented in all derived classes.

Implements UndoCommand.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ CmdDeviceInstanceEditAll

friend class CmdDeviceInstanceEditAll
friend

Member Data Documentation

◆ mDevice

BI_Device& mDevice
private

◆ mOldPos

Point mOldPos
private

◆ mNewPos

Point mNewPos
private

◆ mOldRotation

Angle mOldRotation
private

◆ mNewRotation

Angle mNewRotation
private

◆ mOldMirrored

bool mOldMirrored
private

◆ mNewMirrored

bool mNewMirrored
private

◆ mOldLocked

bool mOldLocked
private

◆ mNewLocked

bool mNewLocked
private

◆ mOldModelUuid

tl::optional<Uuid> mOldModelUuid
private

◆ mNewModelUuid

tl::optional<Uuid> mNewModelUuid
private

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