KTextEditor
KTextEditor::Cursor Class Reference
#include <cursor.h>

Detailed Description
An object which represents a position in a Document.A Cursor is a basic class which contains the line() and column() a position in a Document. It is very lightweight and maintains no affiliation with a particular Document.
If you want additional functionality such as the ability to maintain position in a document, see SmartCursor.
- Note:
- The Cursor class is designed to be passed via value, while SmartCursor and derivatives must be passed via pointer or reference as they maintain a connection with their document internally and cannot be copied.
Lines and columns start at 0.
Think of cursors as having their position at the start of a character, not in the middle of one.
If a Cursor is associated with a Range the Range will be notified whenever the cursor (i.e. start or end position) changes its position. Read the class documentation about Ranges for further details.
- See also:
- SmartCursor
Definition at line 60 of file cursor.h.
Public Member Functions | |
Cursor (const Cursor ©) | |
Cursor (int line, int column) | |
Cursor () | |
virtual bool | isSmartCursor () const |
virtual bool | isValid () const |
Cursor & | operator= (const Cursor &cursor) |
Range * | range () const |
virtual SmartCursor * | toSmartCursor () const |
virtual | ~Cursor () |
Position | |
The following functions provide access to, and manipulation of, the cursor's position. | |
bool | atStartOfDocument () const |
bool | atStartOfLine () const |
int | column () const |
virtual int | line () const |
void | position (int &line, int &column) const |
virtual void | setColumn (int column) |
virtual void | setLine (int line) |
void | setPosition (int line, int column) |
virtual void | setPosition (const Cursor &position) |
Static Public Member Functions | |
static Cursor | invalid () |
static Cursor | start () |
Protected Member Functions | |
void | cursorChangedDirectly (const Cursor &from) |
virtual void | setRange (Range *range) |
Protected Attributes | |
int | m_column |
int | m_line |
Range * | m_range |
Friends | |
bool | operator!= (const Cursor &c1, const Cursor &c2) |
Cursor | operator+ (const Cursor &c1, const Cursor &c2) |
Cursor & | operator+= (Cursor &c1, const Cursor &c2) |
Cursor | operator- (const Cursor &c1, const Cursor &c2) |
Cursor & | operator-= (Cursor &c1, const Cursor &c2) |
bool | operator< (const Cursor &c1, const Cursor &c2) |
QDebug | operator<< (QDebug s, const Cursor &cursor) |
bool | operator<= (const Cursor &c1, const Cursor &c2) |
bool | operator== (const Cursor &c1, const Cursor &c2) |
bool | operator> (const Cursor &c1, const Cursor &c2) |
bool | operator>= (const Cursor &c1, const Cursor &c2) |
Constructor & Destructor Documentation
Cursor::Cursor | ( | ) |
The default constructor creates a cursor at position (0,0).
Definition at line 25 of file cursor.cpp.
Cursor::Cursor | ( | int | line, | |
int | column | |||
) |
This constructor creates a cursor initialized with line
and column
.
- Parameters:
-
line line for cursor column column for cursor
Definition at line 32 of file cursor.cpp.
Cursor::Cursor | ( | const Cursor & | copy | ) |
Copy constructor.
Does not copy the owning range, as a range does not have any association with copies of its cursors.
- Parameters:
-
copy the cursor to copy.
Definition at line 39 of file cursor.cpp.
Cursor::~Cursor | ( | ) | [virtual] |
Member Function Documentation
bool KTextEditor::Cursor::atStartOfDocument | ( | ) | const |
Determine if this cursor is located at the start of a document.
- Returns:
- true if the cursor is situated at the start of the document, false if it isn't.
Definition at line 152 of file cursor.cpp.
bool KTextEditor::Cursor::atStartOfLine | ( | ) | const |
Determine if this cursor is located at the start of a line.
- Returns:
- true if the cursor is situated at the start of the line, false if it isn't.
Definition at line 147 of file cursor.cpp.
int Cursor::column | ( | ) | const |
Retrieve the column on which this cursor is situated.
- Returns:
- column number, where 0 is the first column.
Definition at line 78 of file cursor.cpp.
void KTextEditor::Cursor::cursorChangedDirectly | ( | const Cursor & | from | ) | [protected] |
Definition at line 137 of file cursor.cpp.
Cursor Cursor::invalid | ( | ) | [static] |
bool Cursor::isSmartCursor | ( | ) | const [virtual] |
Returns whether this cursor is a SmartCursor.
Reimplemented in KTextEditor::SmartCursor.
Definition at line 108 of file cursor.cpp.
bool Cursor::isValid | ( | ) | const [virtual] |
Returns whether the current position of this cursor is a valid position (line + column must both be >= 0).
Smart cursors should override this to return whether the cursor is valid within the linked document.
Reimplemented in KTextEditor::SmartCursor.
Definition at line 46 of file cursor.cpp.
int Cursor::line | ( | ) | const [virtual] |
Retrieve the line on which this cursor is situated.
- Returns:
- line number, where 0 is the first line.
Definition at line 61 of file cursor.cpp.
Assignment operator.
Same as setPosition().
- Parameters:
-
cursor the position to assign.
- Returns:
- a reference to this cursor
- See also:
- setPosition()
void Cursor::position | ( | int & | line, | |
int & | column | |||
) | const |
Get both the line and column of the cursor position.
- Parameters:
-
line will be filled with current cursor line column will be filled with current cursor column
Definition at line 118 of file cursor.cpp.
Range * Cursor::range | ( | ) | const |
void Cursor::setColumn | ( | int | column | ) | [virtual] |
Set the cursor column to column.
- Parameters:
-
column new cursor column
Definition at line 83 of file cursor.cpp.
void Cursor::setLine | ( | int | line | ) | [virtual] |
Set the cursor line to line.
- Parameters:
-
line new cursor line
Definition at line 66 of file cursor.cpp.
void Cursor::setPosition | ( | int | line, | |
int | column | |||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the cursor position to line and column.
- Parameters:
-
line new cursor line column new cursor column
Definition at line 113 of file cursor.cpp.
void Cursor::setPosition | ( | const Cursor & | position | ) | [virtual] |
Set the current cursor position to position.
- Parameters:
-
position new cursor position
Definition at line 95 of file cursor.cpp.
void Cursor::setRange | ( | Range * | range | ) | [protected, virtual] |
Definition at line 132 of file cursor.cpp.
Cursor Cursor::start | ( | ) | [static] |
Returns a cursor representing the start of any document - i.e., line 0, column 0.
Definition at line 56 of file cursor.cpp.
SmartCursor * KTextEditor::Cursor::toSmartCursor | ( | ) | const [virtual] |
Returns this cursor as a SmartCursor, if it is one.
Reimplemented in KTextEditor::SmartCursor.
Definition at line 157 of file cursor.cpp.
Friends And Related Function Documentation
QDebug operator<< | ( | QDebug | s, | |
const Cursor & | cursor | |||
) | [friend] |
Equality operator.
- Note:
- comparison between two invalid cursors is undefined. comparison between and invalid and a valid cursor will always be false.
- Parameters:
-
c1 first cursor to compare c2 second cursor to compare
- Returns:
- true, if c1's and c2's line and column are equal.
Member Data Documentation
int KTextEditor::Cursor::m_column [protected] |
int KTextEditor::Cursor::m_line [protected] |
Range* KTextEditor::Cursor::m_range [protected] |
The documentation for this class was generated from the following files: