LibrePCB Developers Documentation
Loading...
Searching...
No Matches
CmdBoardEdit Class Referencefinal

The CmdBoardEdit class. More...

#include <cmdboardedit.h>

+ Inheritance diagram for CmdBoardEdit:
+ Collaboration diagram for CmdBoardEdit:

Public Member Functions

 CmdBoardEdit ()=delete
 
 CmdBoardEdit (const CmdBoardEdit &other)=delete
 
 CmdBoardEdit (Board &board) noexcept
 
 ~CmdBoardEdit () noexcept
 
void setName (const ElementName &name) noexcept
 
void setInnerLayerCount (int count) noexcept
 
void setPcbThickness (const PositiveLength &thickness) noexcept
 
void setSolderResist (const PcbColor *c) noexcept
 
void setSilkscreenColor (const PcbColor &c) noexcept
 
void setSilkscreenLayersTop (const QVector< const Layer * > &l) noexcept
 
void setSilkscreenLayersBot (const QVector< const Layer * > &l) noexcept
 
void setDesignRules (const BoardDesignRules &rules) noexcept
 
void setDrcSettings (const BoardDesignRuleCheckSettings &settings) 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)
 
bool wasEverReverted () const noexcept
 This method shows whether that command was ever reverted (undo() called at least one time)
 
bool isCurrentlyExecuted () const noexcept
 This method shows whether that command is currently executed (redo() called one time more than undo())
 
virtual bool execute () final
 Execute the command (must only be called once)
 
virtual void undo () final
 Undo the command.
 
virtual void redo () final
 Redo the command.
 
UndoCommandoperator= (const UndoCommand &rhs)=delete
 

Private Member Functions

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

Private Attributes

BoardmBoard
 
ElementName mOldName
 
ElementName mNewName
 
int mOldInnerLayerCount
 
int mNewInnerLayerCount
 
PositiveLength mOldPcbThickness
 
PositiveLength mNewPcbThickness
 
const PcbColormOldSolderResist
 
const PcbColormNewSolderResist
 
const PcbColormOldSilkscreenColor
 
const PcbColormNewSilkscreenColor
 
QVector< const Layer * > mOldSilkscreenLayersTop
 
QVector< const Layer * > mNewSilkscreenLayersTop
 
QVector< const Layer * > mOldSilkscreenLayersBot
 
QVector< const Layer * > mNewSilkscreenLayersBot
 
BoardDesignRules mOldDesignRules
 
BoardDesignRules mNewDesignRules
 
BoardDesignRuleCheckSettings mOldDrcSettings
 
BoardDesignRuleCheckSettings mNewDrcSettings
 

Additional Inherited Members

Detailed Description

The CmdBoardEdit class.

Constructor & Destructor Documentation

◆ CmdBoardEdit() [1/3]

CmdBoardEdit ( )
delete

◆ CmdBoardEdit() [2/3]

CmdBoardEdit ( const CmdBoardEdit other)
delete

◆ CmdBoardEdit() [3/3]

CmdBoardEdit ( Board board)
explicitnoexcept

◆ ~CmdBoardEdit()

~CmdBoardEdit ( )
noexcept

Member Function Documentation

◆ setName()

void setName ( const ElementName name)
noexcept

◆ setInnerLayerCount()

void setInnerLayerCount ( int  count)
noexcept

◆ setPcbThickness()

void setPcbThickness ( const PositiveLength thickness)
noexcept

◆ setSolderResist()

void setSolderResist ( const PcbColor c)
noexcept

◆ setSilkscreenColor()

void setSilkscreenColor ( const PcbColor c)
noexcept

◆ setSilkscreenLayersTop()

void setSilkscreenLayersTop ( const QVector< const Layer * > &  l)
noexcept

◆ setSilkscreenLayersBot()

void setSilkscreenLayersBot ( const QVector< const Layer * > &  l)
noexcept

◆ setDesignRules()

void setDesignRules ( const BoardDesignRules rules)
noexcept

◆ setDrcSettings()

void setDrcSettings ( const BoardDesignRuleCheckSettings settings)
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:

Member Data Documentation

◆ mBoard

Board& mBoard
private

◆ mOldName

ElementName mOldName
private

◆ mNewName

ElementName mNewName
private

◆ mOldInnerLayerCount

int mOldInnerLayerCount
private

◆ mNewInnerLayerCount

int mNewInnerLayerCount
private

◆ mOldPcbThickness

PositiveLength mOldPcbThickness
private

◆ mNewPcbThickness

PositiveLength mNewPcbThickness
private

◆ mOldSolderResist

const PcbColor* mOldSolderResist
private

◆ mNewSolderResist

const PcbColor* mNewSolderResist
private

◆ mOldSilkscreenColor

const PcbColor* mOldSilkscreenColor
private

◆ mNewSilkscreenColor

const PcbColor* mNewSilkscreenColor
private

◆ mOldSilkscreenLayersTop

QVector<const Layer*> mOldSilkscreenLayersTop
private

◆ mNewSilkscreenLayersTop

QVector<const Layer*> mNewSilkscreenLayersTop
private

◆ mOldSilkscreenLayersBot

QVector<const Layer*> mOldSilkscreenLayersBot
private

◆ mNewSilkscreenLayersBot

QVector<const Layer*> mNewSilkscreenLayersBot
private

◆ mOldDesignRules

BoardDesignRules mOldDesignRules
private

◆ mNewDesignRules

BoardDesignRules mNewDesignRules
private

◆ mOldDrcSettings

BoardDesignRuleCheckSettings mOldDrcSettings
private

◆ mNewDrcSettings

BoardDesignRuleCheckSettings mNewDrcSettings
private

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