LibrePCB Developers Documentation
CmdDragSelectedBoardItems Class Referencefinal

The CmdDragSelectedBoardItems class. More...

#include <cmddragselectedboarditems.h>

+ Inheritance diagram for CmdDragSelectedBoardItems:
+ Collaboration diagram for CmdDragSelectedBoardItems:

Public Member Functions

 CmdDragSelectedBoardItems (BoardGraphicsScene &scene, bool includeLockedItems, bool includeNetLines=false, const Point &startPos=Point()) noexcept
 
 ~CmdDragSelectedBoardItems () noexcept
 
bool hasAnythingSelected () const noexcept
 
bool hasTracesSelected () const noexcept
 
bool hasPolygonsSelected () const noexcept
 
bool hasStrokeTextsSelected () const noexcept
 
UnsignedLength getMedianLineWidth () const noexcept
 
void snapToGrid () noexcept
 
void setLocked (bool locked) noexcept
 
void setLineWidth (const UnsignedLength &width) noexcept
 
void resetAllTexts () noexcept
 
void setCurrentPosition (const Point &pos, const bool gridIncrement=true) noexcept
 
void rotate (const Angle &angle, bool aroundCurrentPosition) noexcept
 
- 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...
 

Private Attributes

BoardGraphicsScenemScene
 
int mItemCount
 
Point mStartPos
 
Point mDeltaPos
 
Point mCenterPos
 
Angle mDeltaAngle
 
bool mSnappedToGrid
 
bool mLockedChanged
 
bool mLineWidthChanged
 
bool mTextsReset
 
QList< CmdDeviceInstanceEdit * > mDeviceEditCmds
 
QList< CmdDeviceStrokeTextsReset * > mDeviceStrokeTextsResetCmds
 
QList< CmdBoardViaEdit * > mViaEditCmds
 
QList< CmdBoardNetPointEdit * > mNetPointEditCmds
 
QList< CmdBoardNetLineEdit * > mNetLineEditCmds
 
QList< CmdBoardPlaneEdit * > mPlaneEditCmds
 
QList< CmdBoardZoneEdit * > mZoneEditCmds
 
QList< CmdBoardPolygonEdit * > mPolygonEditCmds
 
QList< CmdBoardStrokeTextEdit * > mStrokeTextEditCmds
 
QList< CmdBoardHoleEdit * > 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

◆ CmdDragSelectedBoardItems()

CmdDragSelectedBoardItems ( BoardGraphicsScene scene,
bool  includeLockedItems,
bool  includeNetLines = false,
const Point startPos = Point() 
)
explicitnoexcept
+ Here is the call graph for this function:

◆ ~CmdDragSelectedBoardItems()

Member Function Documentation

◆ hasAnythingSelected()

bool hasAnythingSelected ( ) const
inlinenoexcept

◆ hasTracesSelected()

bool hasTracesSelected ( ) const
inlinenoexcept

◆ hasPolygonsSelected()

bool hasPolygonsSelected ( ) const
inlinenoexcept

◆ hasStrokeTextsSelected()

bool hasStrokeTextsSelected ( ) const
inlinenoexcept

◆ getMedianLineWidth()

UnsignedLength getMedianLineWidth ( ) const
noexcept
+ Here is the call graph for this function:

◆ snapToGrid()

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

◆ setLocked()

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

◆ setLineWidth()

void setLineWidth ( const UnsignedLength width)
noexcept
+ Here is the call graph for this function:

◆ resetAllTexts()

void resetAllTexts ( )
noexcept

◆ setCurrentPosition()

void setCurrentPosition ( const Point pos,
const bool  gridIncrement = true 
)
noexcept
+ Here is the call graph for this function:

◆ rotate()

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

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

Member Data Documentation

◆ mScene

BoardGraphicsScene& mScene
private

◆ mItemCount

int mItemCount
private

◆ mStartPos

Point mStartPos
private

◆ mDeltaPos

Point mDeltaPos
private

◆ mCenterPos

Point mCenterPos
private

◆ mDeltaAngle

Angle mDeltaAngle
private

◆ mSnappedToGrid

bool mSnappedToGrid
private

◆ mLockedChanged

bool mLockedChanged
private

◆ mLineWidthChanged

bool mLineWidthChanged
private

◆ mTextsReset

bool mTextsReset
private

◆ mDeviceEditCmds

QList<CmdDeviceInstanceEdit*> mDeviceEditCmds
private

◆ mDeviceStrokeTextsResetCmds

QList<CmdDeviceStrokeTextsReset*> mDeviceStrokeTextsResetCmds
private

◆ mViaEditCmds

QList<CmdBoardViaEdit*> mViaEditCmds
private

◆ mNetPointEditCmds

QList<CmdBoardNetPointEdit*> mNetPointEditCmds
private

◆ mNetLineEditCmds

QList<CmdBoardNetLineEdit*> mNetLineEditCmds
private

◆ mPlaneEditCmds

QList<CmdBoardPlaneEdit*> mPlaneEditCmds
private

◆ mZoneEditCmds

QList<CmdBoardZoneEdit*> mZoneEditCmds
private

◆ mPolygonEditCmds

QList<CmdBoardPolygonEdit*> mPolygonEditCmds
private

◆ mStrokeTextEditCmds

QList<CmdBoardStrokeTextEdit*> mStrokeTextEditCmds
private

◆ mHoleEditCmds

QList<CmdBoardHoleEdit*> mHoleEditCmds
private

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