class KTextEditor.SmartCursorabstract class |
|
|
A Cursor which is bound to a specific Document, and maintains its position. A SmartCursor is an extension of the basic Cursor class. It maintains its position in the document and provides a number of convenience methods, including those for accessing and manipulating the content of the associated Document. As a result of this, SmartCursor%s may not be copied, as they need to maintain a connection to the associated Document. To receive notifications when the position of the cursor changes, or other similar notifications, see either SmartCursorNotifier for QObject signal notification via notifier(), or SmartCursorWatcher for virtual inheritance notification via setWatcher(). Create a new SmartCursor like this: // Retrieve the SmartInterface KTextEditor.SmartInterface* smart = qobject_cast When finished with a SmartCursor, simply delete it. See also Cursor, SmartCursorNotifier, SmartCursorWatcher, and SmartInterface.
Author Hamish Rodda \ |
|
Assignment operator. Assigns the current position of the provided cursor, c, only; does not assign watchers, notifiers, behavior, etc. The assignment will be performed even if the provided cursor belongs to another Document.
cursor - the position to assign. Returns a reference to this cursor, after assignment has occurred. See also setPosition() Internal Constructor for subclasses to utilise. Protected to prevent direct instantiation. 3rd party developers: you do not (and should not) need to subclass the Smart* classes; instead, use the SmartInterface to create instances.
position - the cursor position to assign doc - the Document this cursor is associated with insertBehavior - the behavior of this cursor when on the position of an insert. |
|
Internal Copy constructor: Disable copying of this class. |
|
Move cursor by specified distance along the document buffer. E.g.: cursor.advance(1);will move the cursor forward by one character, or, if the cursor is already on the end of the line, will move it to the start of the next line. Negative numbers should be accepted, and move backwards. Not all mode%s are required to be supported.
distance - distance to advance (or go back if distance is negative) mode - whether to move by character, or by number of valid cursor positions Returns true if the position could be reached within the document, otherwise false (the cursor should not move if distance is beyond the end of the document). |
|
Determine if this cursor is located at the end of the document. Returns true if the cursor is situated at the end of the document, otherwise false. |
|
Determine if this cursor is located at the end of the current line. Returns true if the cursor is situated at the end of the line, otherwise false. |
|
Returns the character in the document immediately after this position, ie. from this position to this position plus Cursor(0,1). |
|
Deletes the current SmartCursorNotifier. When finished with a notifier, call this method to save memory, and potentially editor logic processing time, by having the SmartCursorNotifier deleted. |
|
Document-related functions The following functions are provided for convenient access to the associated Document. \{ Returns the document to which this cursor is attached. |
|
Notification The following functions allow for changes related to this cursor to be notified to 3rd party programs. \{ Determine if a notifier already exists for this smart cursor. Returns true if a notifier already exists, otherwise false |
|
Returns how this cursor behaves when text is inserted at the cursor. Defaults to moving on insert. |
|
Insert text into the associated Document.
text - text to insert block - insert this text as a visual block of text rather than a linear sequence Returns true on success, otherwise false |
|
Returns that this cursor is a SmartCursor. |
|
bool Cursor.isValid() See also Document.cursorInText() |
|
Returns the current SmartCursorNotifier. If one does not already exist, it will be created. Connect to the notifier to receive signals indicating change of state of this cursor. The notifier is created at the time it is first requested. If you have finished with notifications for a reasonable period of time you can save memory, and potentially editor logic processing time, by calling deleteNotifier(). Returns a pointer to the current SmartCursorNotifier for this SmartCursor. If one does not already exist, it will be created. |
|
Change the behavior of the cursor when text is inserted at the cursor. If moveOnInsert is true, the cursor will end up at the end of the insert. |
|
Provide a SmartCursorWatcher to receive calls indicating change of state of this cursor. To finish receiving notifications, call this function with watcher set to 0L.
watcher - the class which will receive notifications about changes to this cursor. |
|
Returns the range that this cursor belongs to, if any. See also Cursor.range() |
|
Returns this cursor as a SmartCursor |
|
Returns a pointer to the current SmartCursorWatcher, if one has been set. Returns the current SmartCursorWatcher pointer if one exists, otherwise null. |
ByCharacter | - | Movement is calculated on the basis of absolute numbers of characters | |
ByCursorPosition | - | Movement takes into account valid cursor positions only ( as defined by bidirectional processing ) |
StayOnInsert | - | ||
MoveOnInsert | - |