|
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. More... | |
| 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. More... | |
| void | setTargetCursor (QDocumentCursorHandle *h) |
| Set the target cursor. More... | |
| 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. More... | |
| void | insertText (int line, int pos, const QString &s) |
| Insert some text. More... | |
| void | removeText (int line, int pos, int length) |
| Remove some text. More... | |
| void | insertLines (int after, const QList< QDocumentLineHandle * > &l) |
| Insert some lines in the host document. More... | |
| void | removeLines (int after, int n) |
| Remove some lines from the host document. More... | |
| 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.
|
virtual |
|
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().
|
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 QDocumentInsertCommand::redo(), QDocumentEraseCommand::redo(), QDocumentInsertCommand::undo(), and QDocumentEraseCommand::undo().
|
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.
|
virtual |
Attempts to merge with another command.
Command merging is not implemented.
Reimplemented in QDocumentEraseCommand, and QDocumentInsertCommand.
|
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().
|
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 QDocumentInsertCommand::redo(), QDocumentEraseCommand::redo(), QDocumentInsertCommand::undo(), and QDocumentEraseCommand::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().
|
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 QDocumentInsertCommand::redo(), QDocumentEraseCommand::redo(), QDocumentInsertCommand::undo(), and QDocumentEraseCommand::undo().
1.8.11