LibrePCB Developers Documentation
CmdAttributeEdit Class Referencefinal

The CmdAttributeEdit class. More...

#include <cmdattributeedit.h>

+ Inheritance diagram for CmdAttributeEdit:
+ Collaboration diagram for CmdAttributeEdit:

Public Member Functions

 CmdAttributeEdit ()=delete
 
 CmdAttributeEdit (const CmdAttributeEdit &other)=delete
 
 CmdAttributeEdit (Attribute &attribute) noexcept
 
 ~CmdAttributeEdit () noexcept
 
void setKey (const AttributeKey &key) noexcept
 
void setType (const AttributeType &type) noexcept
 
void setValue (const QString &value) noexcept
 
void setUnit (const AttributeUnit *unit) noexcept
 
CmdAttributeEditoperator= (const CmdAttributeEdit &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 performUndo () override
 Undo the command. More...
 
void performRedo () override
 Redo the command. More...
 

Private Attributes

AttributemAttribute
 
AttributeKey mOldKey
 
AttributeKey mNewKey
 
const AttributeTypemOldType
 
const AttributeTypemNewType
 
QString mOldValue
 
QString mNewValue
 
const AttributeUnitmOldUnit
 
const AttributeUnitmNewUnit
 

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

The CmdAttributeEdit class.

Constructor & Destructor Documentation

◆ CmdAttributeEdit() [1/3]

CmdAttributeEdit ( )
delete

◆ CmdAttributeEdit() [2/3]

CmdAttributeEdit ( const CmdAttributeEdit other)
delete

◆ CmdAttributeEdit() [3/3]

CmdAttributeEdit ( Attribute attribute)
explicitnoexcept

◆ ~CmdAttributeEdit()

~CmdAttributeEdit ( )
noexcept

Member Function Documentation

◆ setKey()

void setKey ( const AttributeKey key)
noexcept

◆ setType()

void setType ( const AttributeType type)
noexcept

◆ setValue()

void setValue ( const QString &  value)
noexcept

◆ setUnit()

void setUnit ( const AttributeUnit unit)
noexcept

◆ operator=()

CmdAttributeEdit & operator= ( const CmdAttributeEdit 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)

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:

Member Data Documentation

◆ mAttribute

Attribute& mAttribute
private

◆ mOldKey

AttributeKey mOldKey
private

◆ mNewKey

AttributeKey mNewKey
private

◆ mOldType

const AttributeType* mOldType
private

◆ mNewType

const AttributeType* mNewType
private

◆ mOldValue

QString mOldValue
private

◆ mNewValue

QString mNewValue
private

◆ mOldUnit

const AttributeUnit* mOldUnit
private

◆ mNewUnit

const AttributeUnit* mNewUnit
private

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