LibrePCB Developers Documentation
CmdDragSelectedFootprintItems Class Referencefinal

The CmdDragSelectedFootprintItems class. More...

#include <cmddragselectedfootprintitems.h>

+ Inheritance diagram for CmdDragSelectedFootprintItems:
+ Collaboration diagram for CmdDragSelectedFootprintItems:

Public Member Functions

 CmdDragSelectedFootprintItems ()=delete
 
 CmdDragSelectedFootprintItems (const CmdDragSelectedFootprintItems &other)=delete
 
 CmdDragSelectedFootprintItems (const PackageEditorState::Context &context) noexcept
 
 ~CmdDragSelectedFootprintItems () noexcept
 
int getSelectedItemsCount () const noexcept
 
bool hasOffTheGridElements () const noexcept
 
void snapToGrid () noexcept
 
void setDeltaToStartPos (const Point &delta) noexcept
 
void translate (const Point &deltaPos) noexcept
 
void rotate (const Angle &angle) noexcept
 
void mirrorGeometry (Qt::Orientation orientation) noexcept
 
void mirrorLayer () noexcept
 
CmdDragSelectedFootprintItemsoperator= (const CmdDragSelectedFootprintItems &rhs)=delete
 
- Public Member Functions inherited from UndoCommandGroup
 UndoCommandGroup ()=delete
 
 UndoCommandGroup (const UndoCommandGroup &other)=delete
 
 UndoCommandGroup (const QString &text) noexcept
 
virtual ~UndoCommandGroup () noexcept
 
int getChildCount () const noexcept
 
bool appendChild (UndoCommand *cmd)
 Append a new command to the list of child commands. More...
 
UndoCommandGroupoperator= (const UndoCommandGroup &rhs)=delete
 
- 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 deleteAllCommands () noexcept
 

Private Attributes

const PackageEditorState::ContextmContext
 
Point mCenterPos
 
Point mDeltaPos
 
Angle mDeltaRot
 
bool mMirroredGeometry
 
bool mMirroredLayer
 
bool mSnappedToGrid
 
bool mHasOffTheGridElements
 
QList< CmdFootprintPadEdit * > mPadEditCmds
 
QList< CmdCircleEdit * > mCircleEditCmds
 
QList< CmdPolygonEdit * > mPolygonEditCmds
 
QList< CmdStrokeTextEdit * > mTextEditCmds
 
QList< CmdZoneEdit * > mZoneEditCmds
 
QList< CmdHoleEdit * > mHoleEditCmds
 

Additional Inherited Members

- Protected Member Functions inherited from UndoCommandGroup
virtual bool performExecute () override
 Execute the command the first time. More...
 
virtual void performUndo () override
 Undo the command. More...
 
virtual void performRedo () override
 Redo the command. More...
 
virtual void performPostExecution () noexcept
 Perform custom actions after modifying the undo stack state. More...
 
void execNewChildCmd (UndoCommand *cmd)
 Helper method for derived classes to execute and add new child commands. More...
 
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

◆ CmdDragSelectedFootprintItems() [1/3]

◆ CmdDragSelectedFootprintItems() [2/3]

◆ CmdDragSelectedFootprintItems() [3/3]

CmdDragSelectedFootprintItems ( const PackageEditorState::Context context)
explicitnoexcept
+ Here is the call graph for this function:

◆ ~CmdDragSelectedFootprintItems()

+ Here is the call graph for this function:

Member Function Documentation

◆ getSelectedItemsCount()

int getSelectedItemsCount ( ) const
noexcept
+ Here is the caller graph for this function:

◆ hasOffTheGridElements()

bool hasOffTheGridElements ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ snapToGrid()

void snapToGrid ( )
noexcept
+ Here is the call graph for this function:

◆ setDeltaToStartPos()

void setDeltaToStartPos ( const Point delta)
noexcept

◆ translate()

void translate ( const Point deltaPos)
noexcept
+ Here is the call graph for this function:

◆ rotate()

void rotate ( const Angle angle)
noexcept
+ Here is the call graph for this function:

◆ mirrorGeometry()

void mirrorGeometry ( Qt::Orientation  orientation)
noexcept
+ Here is the call graph for this function:

◆ mirrorLayer()

void mirrorLayer ( )
noexcept
+ Here is the call graph for this function:

◆ operator=()

CmdDragSelectedFootprintItems & operator= ( const CmdDragSelectedFootprintItems rhs)
delete

◆ 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)

Reimplemented from UndoCommandGroup.

+ Here is the call graph for this function:

◆ deleteAllCommands()

void deleteAllCommands ( )
privatenoexcept
+ Here is the caller graph for this function:

Member Data Documentation

◆ mContext

const PackageEditorState::Context& mContext
private

◆ mCenterPos

Point mCenterPos
private

◆ mDeltaPos

Point mDeltaPos
private

◆ mDeltaRot

Angle mDeltaRot
private

◆ mMirroredGeometry

bool mMirroredGeometry
private

◆ mMirroredLayer

bool mMirroredLayer
private

◆ mSnappedToGrid

bool mSnappedToGrid
private

◆ mHasOffTheGridElements

bool mHasOffTheGridElements
private

◆ mPadEditCmds

QList<CmdFootprintPadEdit*> mPadEditCmds
private

◆ mCircleEditCmds

QList<CmdCircleEdit*> mCircleEditCmds
private

◆ mPolygonEditCmds

QList<CmdPolygonEdit*> mPolygonEditCmds
private

◆ mTextEditCmds

QList<CmdStrokeTextEdit*> mTextEditCmds
private

◆ mZoneEditCmds

QList<CmdZoneEdit*> mZoneEditCmds
private

◆ mHoleEditCmds

QList<CmdHoleEdit*> mHoleEditCmds
private

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