• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • applications API Reference
  • KDE Home
  • Contact Us
 

KTextEditor

  • KTextEditor
  • Cursor
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
KTextEditor::Cursor Class Reference

#include <cursor.h>

Inheritance diagram for KTextEditor::Cursor:
Inheritance graph
[legend]

Public Member Functions

 Cursor ()
 
 Cursor (int line, int column)
 
 Cursor (const Cursor &copy)
 
virtual ~Cursor ()
 
virtual bool isSmartCursor () const
 
virtual bool isValid () const
 
Cursor & operator= (const Cursor &cursor)
 
Range * range () const
 
virtual SmartCursor * toSmartCursor () const
 
Position

The following functions provide access to, and manipulation of, the cursor's position.

virtual void setPosition (const Cursor &position)
 
void setPosition (int line, int column)
 
virtual int line () const
 
virtual void setLine (int line)
 
int column () const
 
virtual void setColumn (int column)
 
bool atStartOfLine () const
 
bool atStartOfDocument () const
 
void position (int &line, int &column) const
 

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)
 

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 MovingCursor.

Note
Lines and columns start at 0.
The Cursor class is designed to be passed via value.
Think of cursors as having their position at the start of a character, not in the middle of one.
See also
MovingCursor, Range

Definition at line 55 of file cursor.h.

Constructor & Destructor Documentation

Cursor::Cursor ( )

The default constructor creates a cursor at position (0,0).

Definition at line 26 of file cursor.cpp.

Cursor::Cursor ( int  line,
int  column 
)

This constructor creates a cursor initialized with line and column.

Parameters
lineline for cursor
columncolumn for cursor

Definition at line 33 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
copythe cursor to copy.

Definition at line 40 of file cursor.cpp.

Cursor::~Cursor ( )
virtual

Virtual destructor.

Definition at line 129 of file cursor.cpp.

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 153 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 148 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 79 of file cursor.cpp.

void KTextEditor::Cursor::cursorChangedDirectly ( const Cursor &  from)
protected

Notify the owning range, if any, that this cursor has changed directly.

Todo:
will be removed in KDE5.

Definition at line 138 of file cursor.cpp.

Cursor Cursor::invalid ( )
static

Returns an invalid cursor.

The returned cursor position is set to (-1, -1).

See also
isValid()

Definition at line 52 of file cursor.cpp.

bool Cursor::isSmartCursor ( ) const
virtual

Returns whether this cursor is a SmartCursor.

Warning
Always returns false. Will be removed for KDE5.

Reimplemented in KTextEditor::SmartCursor.

Definition at line 109 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).

Reimplemented in KTextEditor::SmartCursor.

Definition at line 47 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 62 of file cursor.cpp.

Cursor& KTextEditor::Cursor::operator= ( const Cursor &  cursor)
inline

Assignment operator.

Same as setPosition().

Parameters
cursorthe position to assign.
Returns
a reference to this cursor
See also
setPosition()

Definition at line 196 of file cursor.h.

void Cursor::position ( int &  line,
int &  column 
) const

Get both the line and column of the cursor position.

Parameters
linewill be filled with current cursor line
columnwill be filled with current cursor column

Definition at line 119 of file cursor.cpp.

Range * Cursor::range ( ) const

Returns the range that this cursor belongs to, if any.

Todo:
will be removed in KDE5.

Definition at line 124 of file cursor.cpp.

void Cursor::setColumn ( int  column)
virtual

Set the cursor column to column.

Parameters
columnnew cursor column

Definition at line 84 of file cursor.cpp.

void Cursor::setLine ( int  line)
virtual

Set the cursor line to line.

Parameters
linenew cursor line

Definition at line 67 of file cursor.cpp.

void Cursor::setPosition ( const Cursor &  position)
virtual

Set the current cursor position to position.

Parameters
positionnew cursor position

Definition at line 96 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
linenew cursor line
columnnew cursor column

Definition at line 114 of file cursor.cpp.

void Cursor::setRange ( Range *  range)
protectedvirtual

Sets the range that this cursor belongs to.

Parameters
rangethe range that this cursor is referenced from.
Todo:
will be removed in KDE5.

Definition at line 133 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 57 of file cursor.cpp.

SmartCursor * KTextEditor::Cursor::toSmartCursor ( ) const
virtual

Returns this cursor as a SmartCursor, if it is one.

Warning
Always returns 0. Will be removed for KDE5.

Reimplemented in KTextEditor::SmartCursor.

Definition at line 158 of file cursor.cpp.

Friends And Related Function Documentation

bool operator!= ( const Cursor &  c1,
const Cursor &  c2 
)
friend

Inequality operator.

Parameters
c1first cursor to compare
c2second cursor to compare
Returns
true, if c1's and c2's line and column are not equal.

Definition at line 256 of file cursor.h.

Cursor operator+ ( const Cursor &  c1,
const Cursor &  c2 
)
friend

Addition operator.

Takes two cursors and returns their summation.

Parameters
c1the first position
c2the second position
Returns
a the summation of the two input cursors

Definition at line 205 of file cursor.h.

Cursor& operator+= ( Cursor &  c1,
const Cursor &  c2 
)
friend

Addition assignment operator.

Adds c2 to this cursor.

Parameters
c1the cursor being added to
c2the position to add
Returns
a reference to the cursor which has just been added to

Definition at line 214 of file cursor.h.

Cursor operator- ( const Cursor &  c1,
const Cursor &  c2 
)
friend

Subtraction operator.

Takes two cursors and returns the subtraction of c2 from c1.

Parameters
c1the first position
c2the second position
Returns
a cursor representing the subtraction of c2 from c1

Definition at line 225 of file cursor.h.

Cursor& operator-= ( Cursor &  c1,
const Cursor &  c2 
)
friend

Subtraction assignment operator.

Subtracts c2 from c1.

Parameters
c1the cursor being subtracted from
c2the position to subtract
Returns
a reference to the cursor which has just been subtracted from

Definition at line 234 of file cursor.h.

bool operator< ( const Cursor &  c1,
const Cursor &  c2 
)
friend

Less than operator.

Parameters
c1first cursor to compare
c2second cursor to compare
Returns
true, if c1's position is greater than or equal to c2's position, otherwise false.

Definition at line 286 of file cursor.h.

QDebug operator<< ( QDebug  s,
const Cursor &  cursor 
)
friend

kDebug() stream operator.

Writes this cursor to the debug output in a nicely formatted way.

Definition at line 302 of file cursor.h.

bool operator<= ( const Cursor &  c1,
const Cursor &  c2 
)
friend

Less than or equal to operator.

Parameters
c1first cursor to compare
c2second cursor to compare
Returns
true, if c1's position is lesser than or equal to c2's position, otherwise false.

Definition at line 296 of file cursor.h.

bool operator== ( const Cursor &  c1,
const Cursor &  c2 
)
friend

Equality operator.

Note
comparison between two invalid cursors is undefined. comparison between and invalid and a valid cursor will always be false.
Parameters
c1first cursor to compare
c2second cursor to compare
Returns
true, if c1's and c2's line and column are equal.

Definition at line 247 of file cursor.h.

bool operator> ( const Cursor &  c1,
const Cursor &  c2 
)
friend

Greater than operator.

Parameters
c1first cursor to compare
c2second cursor to compare
Returns
true, if c1's position is greater than c2's position, otherwise false.

Definition at line 266 of file cursor.h.

bool operator>= ( const Cursor &  c1,
const Cursor &  c2 
)
friend

Greater than or equal to operator.

Parameters
c1first cursor to compare
c2second cursor to compare
Returns
true, if c1's position is greater than or equal to c2's position, otherwise false.

Definition at line 276 of file cursor.h.

Member Data Documentation

int KTextEditor::Cursor::m_column
protected

Cursor column

Definition at line 341 of file cursor.h.

int KTextEditor::Cursor::m_line
protected

Cursor line

Definition at line 334 of file cursor.h.

Range* KTextEditor::Cursor::m_range
protected

Range which owns this cursor, if any

Todo:
will be removed in KDE5.

Definition at line 349 of file cursor.h.


The documentation for this class was generated from the following files:
  • cursor.h
  • cursor.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat May 9 2020 03:56:48 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KTextEditor

Skip menu "KTextEditor"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

applications API Reference

Skip menu "applications API Reference"
  •   kate
  •       kate
  •   KTextEditor
  •   Kate
  • Konsole

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal