|
Krita Source Code Documentation
|
Inheritance diagram for UpdateCommand:Public Member Functions | |
| UpdateCommand (KisImageWSP image, KisNodeList nodes, KisProcessingApplicator::ProcessingFlags flags, State initialState, QSharedPointer< bool > sharedAllFramesToken) | |
Public Member Functions inherited from KisCommandUtils::FlipFlopCommand | |
| FlipFlopCommand (bool finalizing=false, KUndo2Command *parent=0) | |
| FlipFlopCommand (State initialState, KUndo2Command *parent=0) | |
| void | redo () override |
| void | undo () override |
Public Member Functions inherited from KUndo2Command | |
| QString | actionText () const |
| virtual bool | canAnnihilateWith (const KUndo2Command *other) const |
| const KUndo2Command * | child (int index) const |
| int | childCount () const |
| virtual QTime | endTime () const |
| KUndo2CommandExtraData * | extraData () 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 () |
Public Member Functions inherited from KisAsynchronouslyMergeableCommandInterface | |
| virtual | ~KisAsynchronouslyMergeableCommandInterface () |
Private Member Functions | |
| bool | canMergeWith (const KUndo2Command *command) const override |
| int | id () const override |
| bool | mergeWith (const KUndo2Command *command) override |
| void | partA () override |
| void | partB () override |
| void | updateClones (KisNodeSP node) |
Private Attributes | |
| KisProcessingApplicator::ProcessingFlags | m_flags |
| KisImageWSP | m_image |
| KisNodeList | m_nodes |
| QSharedPointer< bool > | m_sharedAllFramesToken |
Additional Inherited Members | |
Public Types inherited from KisCommandUtils::FlipFlopCommand | |
| enum | State { INITIALIZING , FINALIZING } |
Protected Member Functions inherited from KisCommandUtils::FlipFlopCommand | |
| State | getState () const |
| bool | isFirstRedo () const |
Definition at line 63 of file kis_processing_applicator.cpp.
|
inline |
Definition at line 66 of file kis_processing_applicator.cpp.
|
inlineoverrideprivatevirtual |
command can be merged with (*this) command using KUndo2Command::mergeWith() call.WARNING: if canMergeWith() returned true, then mergeWith() must also return true. Otherwise KisSavedMacroCommand will be able to enter inconsistent state and assert.
Implements KisAsynchronouslyMergeableCommandInterface.
Definition at line 161 of file kis_processing_applicator.cpp.
References m_flags, m_image, m_nodes, and m_sharedAllFramesToken.
|
inlineoverrideprivatevirtual |
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.
Reimplemented from KUndo2Command.
Definition at line 153 of file kis_processing_applicator.cpp.
References KisCommandUtils::UpdateCommandId.
|
inlineoverrideprivatevirtual |
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.
Reimplemented from KUndo2Command.
Definition at line 157 of file kis_processing_applicator.cpp.
|
inlineoverrideprivatevirtual |
We disable all non-centralized updates here. Everything should be done by this command's explicit updates.
If you still need third-party updates work, please add a flag to the applicator.
Reimplemented from KisCommandUtils::FlipFlopCommand.
Definition at line 78 of file kis_processing_applicator.cpp.
References KisImage::disableDirtyRequests(), and m_image.
|
inlineoverrideprivatevirtual |
Reimplemented from KisCommandUtils::FlipFlopCommand.
Definition at line 89 of file kis_processing_applicator.cpp.
References KisImage::enableDirtyRequests(), m_image, m_sharedAllFramesToken, KisLayerUtils::recursiveApplyNodes(), and KisNodeFacade::root.
TODO: completely remove these clone updates code in Krita 6
These updates should actually be issued by KisBaseRectsWalker::registerCloneNotification(), so we disable then for now. If no reports about broken clones arrive until Krita 6, just remove this (deprecated?) code.
Definition at line 116 of file kis_processing_applicator.cpp.
References KisSharedPtr< T >::data(), KisRegion::fromQRegion(), KisLayer::hasClones(), KisNode::lastChild(), KisNode::prevSibling(), and KisLayer::registeredClones().
|
private |
Definition at line 176 of file kis_processing_applicator.cpp.
|
private |
Definition at line 174 of file kis_processing_applicator.cpp.
|
private |
Definition at line 175 of file kis_processing_applicator.cpp.
|
private |
Definition at line 177 of file kis_processing_applicator.cpp.