|
Krita Source Code Documentation
|
The KoShapeMergeTextPropertiesCommand class This sets text properties on given text shapes. For setting text on range, see SvgTextMergePropertiesRangeCommand. More...
#include <KoShapeMergeTextPropertiesCommand.h>
Inheritance diagram for KoShapeMergeTextPropertiesCommand:Classes | |
| struct | Private |
Public Member Functions | |
| int | id () const override |
| KoShapeMergeTextPropertiesCommand (const QList< KoShape * > &shapes, const KoSvgTextProperties &props, const QSet< KoSvgTextProperties::PropertyId > removeProperties=QSet< KoSvgTextProperties::PropertyId >(), KUndo2Command *parent=nullptr) | |
| bool | mergeWith (const KUndo2Command *command) override |
| void | redo () override |
| void | undo () override |
| ~KoShapeMergeTextPropertiesCommand ()=default | |
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 () |
Private Attributes | |
| QScopedPointer< Private > | d |
The KoShapeMergeTextPropertiesCommand class This sets text properties on given text shapes. For setting text on range, see SvgTextMergePropertiesRangeCommand.
Definition at line 21 of file KoShapeMergeTextPropertiesCommand.h.
| KoShapeMergeTextPropertiesCommand::KoShapeMergeTextPropertiesCommand | ( | const QList< KoShape * > & | shapes, |
| const KoSvgTextProperties & | props, | ||
| const QSet< KoSvgTextProperties::PropertyId > | removeProperties = QSet<KoSvgTextProperties::PropertyId>(), | ||
| KUndo2Command * | parent = nullptr ) |
Definition at line 22 of file KoShapeMergeTextPropertiesCommand.cpp.
References d, kundo2_i18n(), and KUndo2Command::setText().
|
default |
|
overridevirtual |
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 57 of file KoShapeMergeTextPropertiesCommand.cpp.
References KisCommandUtils::KoShapeMergeTextPropertiesCommandId.
|
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.
The merging algorithm should follow the ordering of KoSvgTextShape::mergePropertiesIntoRange, that is, firstly, the properties in removeProperties list are removed, then properties in properties are applied. If the property is present in both lists, then the value from properties is used.
Reimplemented from KUndo2Command.
Definition at line 62 of file KoShapeMergeTextPropertiesCommand.cpp.
References KritaUtils::compareListsUnordered(), d, and p.
|
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.
Reimplemented from KUndo2Command.
Definition at line 31 of file KoShapeMergeTextPropertiesCommand.cpp.
References KoSvgTextShape::boundingRect(), d, KoSvgTextShape::getMemento(), KoSvgTextShape::mergePropertiesIntoRange(), and KoShape::updateAbsolute().
|
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.
Reimplemented from KUndo2Command.
Definition at line 44 of file KoShapeMergeTextPropertiesCommand.cpp.
References KoSvgTextShape::boundingRect(), d, KoSvgTextShape::setMemento(), and KoShape::updateAbsolute().
|
private |
Definition at line 34 of file KoShapeMergeTextPropertiesCommand.h.