|
QCodeEdit 2.2
|
The base class for document editing command. More...

Classes | |
| struct | TextCommandData |
Public Types | |
| enum | Command { None, Insert, Erase, Replace, Custom } |
Protected Attributes | |
| bool | m_state |
| bool | m_first |
| QDocument * | m_doc |
| int | m_redoOffset |
| int | m_undoOffset |
| QDocumentCommand (Command c, QDocument *d, QDocumentCommand *p=0) | |
| ctor | |
| virtual | ~QDocumentCommand () |
| dtor | |
| virtual int | id () const |
| virtual bool | mergeWith (const QUndoCommand *command) |
| Attempts to merge with another command. | |
| virtual void | redo () |
| Redo the command. | |
| virtual void | undo () |
| Undo the command. | |
| bool | isSilent () const |
| void | setSilent (bool y) |
| Set whether the command is silent. | |
| bool | keepAnchor () const |
| void | setKeepAnchor (bool y) |
| Set whether the command preserve selection of the target cursor. | |
| void | setTargetCursor (QDocumentCursorHandle *h) |
| Set the target cursor. | |
| void | setRedoOffset (int off) |
| ? | |
| void | setUndoOffset (int off) |
| ? | |
| static bool | isAutoUpdated (const QDocumentCursorHandle *h) |
| static void | enableAutoUpdate (QDocumentCursorHandle *h) |
| Enable auto update for a given cursor. | |
| static void | disableAutoUpdate (QDocumentCursorHandle *h) |
| Disable auto update for a given cursor. | |
| static void | discardHandlesFromDocument (QDocument *d) |
| void | markRedone (QDocumentLineHandle *h, bool firstTime) |
| Change the modification status of a line. | |
| void | markUndone (QDocumentLineHandle *h) |
| Change the modifiaction status of a line. | |
| void | updateTarget (int l, int offset) |
| Update the target cursor. | |
| void | insertText (int line, int pos, const QString &s) |
| Insert some text. | |
| void | removeText (int line, int pos, int length) |
| Remove some text. | |
| void | insertLines (int after, const QList< QDocumentLineHandle * > &l) |
| Insert some lines in the host document. | |
| void | removeLines (int after, int n) |
| Remove some lines from the host document. | |
| void | updateCursorsOnInsertion (int line, int column, int prefixLength, int numLines, int suffixLength) |
| void | updateCursorsOnDeletion (int line, int column, int prefixLength, int numLines, int suffixLength) |
The base class for document editing command.
| int QDocumentCommand::id | ( | ) | const [virtual] |
| void QDocumentCommand::insertLines | ( | int | after, |
| const QList< QDocumentLineHandle * > & | l | ||
| ) | [protected] |
Insert some lines in the host document.
| after | where to insert lines (line number) |
| l | list of lines to insert |
This helper method is provided so that subclasses may actually modify the document contents without using too much private API (QDocumentLineHandle is part of the private API...)
Referenced by QDocumentInsertCommand::redo(), and QDocumentEraseCommand::undo().
| void QDocumentCommand::insertText | ( | int | line, |
| int | pos, | ||
| const QString & | s | ||
| ) | [protected] |
Insert some text.
| line | target line |
| pos | target text position within line |
| s | text to insert |
This helper method is provided so that subclasses may actually modify the document contents without using private API.
Referenced by QDocumentEraseCommand::redo(), QDocumentInsertCommand::redo(), QDocumentEraseCommand::undo(), and QDocumentInsertCommand::undo().
| bool QDocumentCommand::isAutoUpdated | ( | const QDocumentCursorHandle * | h | ) | [static] |
| bool QDocumentCommand::isSilent | ( | ) | const |
Silent command do not update the editing cursor of the host document.
| bool QDocumentCommand::keepAnchor | ( | ) | const |
When this property is true, cursor adjustement upon command execution will preserve the anchor of target cursor and only alter its position thus keeping a selection.
| bool QDocumentCommand::mergeWith | ( | const QUndoCommand * | command | ) | [virtual] |
Attempts to merge with another command.
Command merging is not implemented.
Reimplemented in QDocumentInsertCommand, and QDocumentEraseCommand.
| void QDocumentCommand::removeLines | ( | int | after, |
| int | n | ||
| ) | [protected] |
Remove some lines from the host document.
| after | where to remove lines (line number) |
| n | number of lines to remove |
This helper method is provided so that subclasses may actually modify the document contents without using the private API.
Referenced by QDocumentEraseCommand::redo(), and QDocumentInsertCommand::undo().
| void QDocumentCommand::removeText | ( | int | line, |
| int | pos, | ||
| int | length | ||
| ) | [protected] |
Remove some text.
| line | target line |
| pos | target text position within line |
| length | length of the text to remove |
This helper method is provided so that subclasses may actually modify the document contents without using private API.
Referenced by QDocumentEraseCommand::redo(), QDocumentInsertCommand::redo(), QDocumentEraseCommand::undo(), and QDocumentInsertCommand::undo().
| void QDocumentCommand::setKeepAnchor | ( | bool | y | ) |
Set whether the command preserve selection of the target cursor.
| void QDocumentCommand::setTargetCursor | ( | QDocumentCursorHandle * | h | ) |
Set the target cursor.
The position of the target cursor is update upon undo() and redo()
Referenced by QSnippetInsertionCommand::addCommand(), and QSnippetInsertionCommand::removeCommand().
| void QDocumentCommand::updateTarget | ( | int | l, |
| int | offset | ||
| ) | [protected] |
Update the target cursor.
| l | target line |
| offset | target text position within target line |
References QDocumentLine::length(), QDocument::line(), and QDocument::lines().
Referenced by QDocumentEraseCommand::redo(), QDocumentInsertCommand::redo(), QDocumentEraseCommand::undo(), and QDocumentInsertCommand::undo().
1.7.4