Krita Source Code Documentation
Loading...
Searching...
No Matches
KisStoryboardChildEditCommand Class Reference

#include <KisAddRemoveStoryboardCommand.h>

+ Inheritance diagram for KisStoryboardChildEditCommand:

Public Member Functions

int id () const override
 
 KisStoryboardChildEditCommand (QVariant oldValue, QVariant newValue, int parentRow, int childRow, StoryboardModel *model, KUndo2Command *parent=0)
 
bool mergeWith (const KUndo2Command *other) override
 
void redo () override
 
void undo () override
 
 ~KisStoryboardChildEditCommand ()
 
- Public Member Functions inherited from KUndo2Command
QString actionText () const
 
virtual bool canAnnihilateWith (const KUndo2Command *other) const
 
const KUndo2Commandchild (int index) const
 
int childCount () const
 
virtual QTime endTime () const
 
KUndo2CommandExtraDataextraData () const
 
bool hasParent () const
 
virtual bool isMerged () const
 
 KUndo2Command (const KUndo2MagicString &text, KUndo2Command *parent=0)
 
 KUndo2Command (KUndo2Command *parent=0)
 
virtual QVector< KUndo2Command * > mergeCommandsVector () const
 
virtual void redoMergedCommands ()
 
void setEndTime ()
 
virtual void setEndTime (const QTime &time)
 
void setExtraData (KUndo2CommandExtraData *data)
 
void setText (const KUndo2MagicString &text)
 
void setTime ()
 
virtual void setTime (const QTime &time)
 
virtual void setTimedID (int timedID)
 
KUndo2MagicString text () const
 
virtual QTime time () const
 
virtual int timedId () const
 
virtual bool timedMergeWith (KUndo2Command *other)
 
virtual void undoMergedCommands ()
 
virtual ~KUndo2Command ()
 

Private Attributes

int m_childRow
 
StoryboardModelm_model
 
QVariant m_newValue
 
QVariant m_oldValue
 
int m_parentRow
 

Detailed Description

Definition at line 98 of file KisAddRemoveStoryboardCommand.h.

Constructor & Destructor Documentation

◆ KisStoryboardChildEditCommand()

KisStoryboardChildEditCommand::KisStoryboardChildEditCommand ( QVariant oldValue,
QVariant newValue,
int parentRow,
int childRow,
StoryboardModel * model,
KUndo2Command * parent = 0 )

Definition at line 149 of file KisAddRemoveStoryboardCommand.cpp.

155 : KUndo2Command(kundo2_i18n("Edit Storyboard Child"), parent)
156 , m_oldValue(oldValue)
157 , m_newValue(newValue)
158 , m_parentRow(parentRow)
159 , m_childRow(childRow)
160 , m_model(model)
161{
162}
KUndo2Command(KUndo2Command *parent=0)
KUndo2MagicString kundo2_i18n(const char *text)

◆ ~KisStoryboardChildEditCommand()

KisStoryboardChildEditCommand::~KisStoryboardChildEditCommand ( )
inline

Definition at line 102 of file KisAddRemoveStoryboardCommand.h.

102{}

Member Function Documentation

◆ id()

int KisStoryboardChildEditCommand::id ( ) const
inlineoverridevirtual

Returns the ID of this command.

A command ID is used in command compression. It must be an integer unique to this command's class, or -1 if the command doesn't support compression.

If the command supports compression this function must be overridden in the derived class to return the correct ID. The base implementation returns -1.

KUndo2QStack::push() will only try to merge two commands if they have the same ID, and the ID is not -1.

See also
mergeWith(), KUndo2QStack::push()

Reimplemented from KUndo2Command.

Definition at line 106 of file KisAddRemoveStoryboardCommand.h.

References KisCommandUtils::ChangeStoryboardChild.

◆ mergeWith()

bool KisStoryboardChildEditCommand::mergeWith ( const KUndo2Command * command)
overridevirtual

Attempts to merge this command with command. Returns true on success; otherwise returns false.

If this function returns true, calling this command's redo() must have the same effect as redoing both this command and command. Similarly, calling this command's undo() must have the same effect as undoing command and this command.

KUndo2QStack will only try to merge two commands if they have the same id, and the id is not -1.

The default implementation returns false.

See also
id() KUndo2QStack::push()

Reimplemented from KUndo2Command.

Definition at line 174 of file KisAddRemoveStoryboardCommand.cpp.

175{
176 const KisStoryboardChildEditCommand* storyboardChildCmd = dynamic_cast<const KisStoryboardChildEditCommand*>(other);
177
178 if (storyboardChildCmd) {
179 if (storyboardChildCmd->m_parentRow == m_parentRow && storyboardChildCmd->m_childRow == m_childRow) {
180 m_newValue = storyboardChildCmd->m_newValue;
181 return true;
182 }
183 }
184
185 return false;
186}

References m_childRow, m_newValue, and m_parentRow.

◆ redo()

void KisStoryboardChildEditCommand::redo ( )
overridevirtual

Applies a change to the document. This function must be implemented in the derived class. Calling KUndo2QStack::push(), KUndo2QStack::undo() or KUndo2QStack::redo() from this function leads to undefined behavior.

The default implementation calls redo() on all child commands.

See also
undo()

Reimplemented from KUndo2Command.

Definition at line 164 of file KisAddRemoveStoryboardCommand.cpp.

165{
167}
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override

References StoryboardModel::index(), m_childRow, m_model, m_newValue, m_parentRow, and StoryboardModel::setData().

◆ undo()

void KisStoryboardChildEditCommand::undo ( )
overridevirtual

Reverts a change to the document. After undo() is called, the state of the document should be the same as before redo() was called. This function must be implemented in the derived class. Calling KUndo2QStack::push(), KUndo2QStack::undo() or KUndo2QStack::redo() from this function leads to undefined behavior.

The default implementation calls undo() on all child commands in reverse order.

See also
redo()

Reimplemented from KUndo2Command.

Definition at line 169 of file KisAddRemoveStoryboardCommand.cpp.

References StoryboardModel::index(), m_childRow, m_model, m_oldValue, m_parentRow, and StoryboardModel::setData().

Member Data Documentation

◆ m_childRow

int KisStoryboardChildEditCommand::m_childRow
private

Definition at line 113 of file KisAddRemoveStoryboardCommand.h.

◆ m_model

StoryboardModel* KisStoryboardChildEditCommand::m_model
private

Definition at line 114 of file KisAddRemoveStoryboardCommand.h.

◆ m_newValue

QVariant KisStoryboardChildEditCommand::m_newValue
private

Definition at line 111 of file KisAddRemoveStoryboardCommand.h.

◆ m_oldValue

QVariant KisStoryboardChildEditCommand::m_oldValue
private

Definition at line 110 of file KisAddRemoveStoryboardCommand.h.

◆ m_parentRow

int KisStoryboardChildEditCommand::m_parentRow
private

Definition at line 112 of file KisAddRemoveStoryboardCommand.h.


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