|
Krita Source Code Documentation
|
The SvgTextMergePropertiesRangeCommand class This sets properties on a specific range in a single text shape. More...
#include <SvgTextMergePropertiesRangeCommand.h>
Inheritance diagram for SvgTextMergePropertiesRangeCommand:Public Member Functions | |
| int | id () const override |
| bool | mergeWith (const KUndo2Command *other) override |
| void | redo () override |
| SvgTextMergePropertiesRangeCommand (KoSvgTextShape *shape, const KoSvgTextProperties props, const int pos, const int anchor, const QSet< KoSvgTextProperties::PropertyId > removeProperties=QSet< KoSvgTextProperties::PropertyId >(), KUndo2Command *parent=0) | |
| void | undo () override |
| ~SvgTextMergePropertiesRangeCommand () override=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 | |
| int | m_anchor |
| int | m_endIndex |
| int | m_pos |
| KoSvgTextProperties | m_props |
| QSet< KoSvgTextProperties::PropertyId > | m_removeProperties |
| KoSvgTextShape * | m_shape |
| int | m_startIndex |
| KoSvgTextShapeMementoSP | m_textData |
The SvgTextMergePropertiesRangeCommand class This sets properties on a specific range in a single text shape.
For setting text on multiple shapes, see KoShapeMergeTextPropertiesCommand
Definition at line 24 of file SvgTextMergePropertiesRangeCommand.h.
| SvgTextMergePropertiesRangeCommand::SvgTextMergePropertiesRangeCommand | ( | KoSvgTextShape * | shape, |
| const KoSvgTextProperties | props, | ||
| const int | pos, | ||
| const int | anchor, | ||
| const QSet< KoSvgTextProperties::PropertyId > | removeProperties = QSet<KoSvgTextProperties::PropertyId>(), | ||
| KUndo2Command * | parent = 0 ) |
Definition at line 11 of file SvgTextMergePropertiesRangeCommand.cpp.
References KoSvgTextShape::indexForPos(), kundo2_i18n(), m_endIndex, m_shape, m_startIndex, and KUndo2Command::setText().
|
overridedefault |
|
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 48 of file SvgTextMergePropertiesRangeCommand.cpp.
References KisCommandUtils::SvgTextMergePropertiesRangeCommand.
|
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 53 of file SvgTextMergePropertiesRangeCommand.cpp.
References m_endIndex, m_props, m_removeProperties, m_shape, m_startIndex, p, KoSvgTextProperties::properties(), KoSvgTextProperties::property(), KoSvgTextProperties::removeProperty(), and KoSvgTextProperties::setProperty().
|
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 32 of file SvgTextMergePropertiesRangeCommand.cpp.
References KoSvgTextShape::boundingRect(), m_anchor, m_pos, m_props, m_removeProperties, m_shape, KoSvgTextShape::mergePropertiesIntoRange(), KoSvgTextShape::notifyMarkupChanged(), 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 41 of file SvgTextMergePropertiesRangeCommand.cpp.
References KoSvgTextShape::boundingRect(), m_anchor, m_pos, m_shape, m_textData, KoSvgTextShape::setMemento(), and KoShape::updateAbsolute().
|
private |
Definition at line 46 of file SvgTextMergePropertiesRangeCommand.h.
|
private |
Definition at line 48 of file SvgTextMergePropertiesRangeCommand.h.
|
private |
Definition at line 45 of file SvgTextMergePropertiesRangeCommand.h.
|
private |
Definition at line 42 of file SvgTextMergePropertiesRangeCommand.h.
|
private |
Definition at line 43 of file SvgTextMergePropertiesRangeCommand.h.
|
private |
Definition at line 41 of file SvgTextMergePropertiesRangeCommand.h.
|
private |
Definition at line 47 of file SvgTextMergePropertiesRangeCommand.h.
|
private |
Definition at line 49 of file SvgTextMergePropertiesRangeCommand.h.