<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>KTextEditor.Cursor</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <link rel="stylesheet" type="text/css" href="../common/doxygen.css" /> <link rel="stylesheet" media="screen" type="text/css" title="KDE Colors" href="../common/kde.css" /> </head> <body> <div id="container"> <div id="header"> <div id="header_top"> <div> <div> <img alt ="" src="../common/top-kde.jpg"/> KDE 4.9 PyKDE API Reference </div> </div> </div> <div id="header_bottom"> <div id="location"> <ul> <li>KDE's Python API</li> </ul> </div> <div id="menu"> <ul> <li><a href="../modules.html">Overview</a></li> <li><a href="http://techbase.kde.org/Development/Languages/Python">PyKDE Home</a></li> <li><a href="http://kde.org/family/">Sitemap</a></li> <li><a href="http://kde.org/contact/">Contact Us</a></li> </ul> </div> </div> </div> <div id="body_wrapper"> <div id="body"> <div id="right"> <div class="content"> <div id="main"> <div class="clearer"> </div> <h1>Cursor Class Reference</h1> <code>from PyKDE4.ktexteditor import *</code> <p> Namespace: <a href="../ktexteditor/KTextEditor.html">KTextEditor</a><br /> <h2>Detailed Description</h2> <p>An object which represents a position in a Document. </p> <p> 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. </p> <p> If you want additional functionality such as the ability to maintain position in a document, see SmartCursor. </p> <p> <dl class="note" compact><dt><b>Note:</b></dt><dd> 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. </dd></dl> </p> <p> <dl class="note" compact><dt><b>Note:</b></dt><dd> Lines and columns start at 0. </dd></dl> </p> <p> <dl class="note" compact><dt><b>Note:</b></dt><dd> Think of cursors as having their position at the start of a character, not in the middle of one. </dd></dl> </p> <p> <dl class="note" compact><dt><b>Note:</b></dt><dd> 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 Range%s for further details. </dd></dl> </p> <p> \sa SmartCursor </p> <table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2"><br><h2>Methods</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#Cursor">__init__</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#Cursor">__init__</a> (self, int line, int column)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#Cursor">__init__</a> (self, <a href="../ktexteditor/KTextEditor.Cursor.html">KTextEditor.Cursor</a> copy)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#atStartOfDocument">atStartOfDocument</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#atStartOfLine">atStartOfLine</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#column">column</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#cursorChangedDirectly">cursorChangedDirectly</a> (self, <a href="../ktexteditor/KTextEditor.Cursor.html">KTextEditor.Cursor</a> from)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#isSmartCursor">isSmartCursor</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#isValid">isValid</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#line">line</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#position">position</a> (self, int line, int column)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="../ktexteditor/KTextEditor.Range.html">KTextEditor.Range</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#range">range</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setColumn">setColumn</a> (self, int column)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setLine">setLine</a> (self, int line)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setPosition">setPosition</a> (self, <a href="../ktexteditor/KTextEditor.Cursor.html">KTextEditor.Cursor</a> position)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setPosition">setPosition</a> (self, int line, int column)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setRange">setRange</a> (self, <a href="../ktexteditor/KTextEditor.Range.html">KTextEditor.Range</a> range)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="../ktexteditor/KTextEditor.SmartCursor.html">KTextEditor.SmartCursor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#toSmartCursor">toSmartCursor</a> (self)</td></tr> <tr><td colspan="2"><br><h2>Static Methods</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="../ktexteditor/KTextEditor.Cursor.html">KTextEditor.Cursor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#invalid">invalid</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="../ktexteditor/KTextEditor.Cursor.html">KTextEditor.Cursor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#start">start</a> ()</td></tr> </table> <hr><h2>Method Documentation</h2><a class="anchor" name="Cursor"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">__init__</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>The default constructor creates a cursor at position (0,0). </p></div></div><a class="anchor" name="Cursor"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">__init__</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>line</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>column</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>This constructor creates a cursor initialized with <b>line</b> and <b>column.</b> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>line</em> </td><td> line for cursor </td></tr> </table></dl> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>column</em> </td><td> column for cursor </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="Cursor"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">__init__</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../ktexteditor/KTextEditor.Cursor.html">KTextEditor.Cursor</a> </td> <td class="paramname"><em>copy</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Copy constructor. Does not copy the owning range, as a range does not have any association with copies of its cursors. </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>copy</em> </td><td> the cursor to copy. </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="atStartOfDocument"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool atStartOfDocument</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Determine if this cursor is located at the start of a document. <dl class="return" compact><dt><b>Returns:</b></dt><dd> true if the cursor is situated at the start of the document, false if it isn't. </dd></dl> </p></div></div><a class="anchor" name="atStartOfLine"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool atStartOfLine</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Determine if this cursor is located at the start of a line. <dl class="return" compact><dt><b>Returns:</b></dt><dd> true if the cursor is situated at the start of the line, false if it isn't. </dd></dl> </p></div></div><a class="anchor" name="column"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">int column</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Retrieve the column on which this cursor is situated. <dl class="return" compact><dt><b>Returns:</b></dt><dd> column number, where 0 is the first column. </dd></dl> </p></div></div><a class="anchor" name="cursorChangedDirectly"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> cursorChangedDirectly</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../ktexteditor/KTextEditor.Cursor.html">KTextEditor.Cursor</a> </td> <td class="paramname"><em>from</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p><dl class="internal" compact><dt><b>Internal:</b></dt><dd> </dd></dl> </p> <p> Notify the owning range, if any, that this cursor has changed directly. </p></div></div><a class="anchor" name="isSmartCursor"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool isSmartCursor</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Returns whether this cursor is a SmartCursor. </p></div></div><a class="anchor" name="isValid"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool isValid</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Returns whether the current position of this cursor is a valid position (line + column must both be >= 0). </p> <p> Smart cursors should override this to return whether the cursor is valid within the linked document. </p></div></div><a class="anchor" name="line"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">int line</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Retrieve the line on which this cursor is situated. <dl class="return" compact><dt><b>Returns:</b></dt><dd> line number, where 0 is the first line. </dd></dl> </p></div></div><a class="anchor" name="position"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> position</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>line</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>column</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Get both the line and column of the cursor position. </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>line</em> </td><td> will be filled with current cursor line </td></tr> </table></dl> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>column</em> </td><td> will be filled with current cursor column </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="range"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="../ktexteditor/KTextEditor.Range.html">KTextEditor.Range</a> range</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Returns the range that this cursor belongs to, if any. </p></div></div><a class="anchor" name="setColumn"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setColumn</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>column</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Set the cursor column to column. </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>column</em> </td><td> new cursor column </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="setLine"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setLine</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>line</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Set the cursor line to line. </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>line</em> </td><td> new cursor line </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="setPosition"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setPosition</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../ktexteditor/KTextEditor.Cursor.html">KTextEditor.Cursor</a> </td> <td class="paramname"><em>position</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p> Set the cursor position to line and column. </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>line</em> </td><td> new cursor line </td></tr> </table></dl> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>column</em> </td><td> new cursor column </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="setPosition"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setPosition</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>line</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>column</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p> Set the cursor position to line and column. </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>line</em> </td><td> new cursor line </td></tr> </table></dl> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>column</em> </td><td> new cursor column </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="setRange"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setRange</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../ktexteditor/KTextEditor.Range.html">KTextEditor.Range</a> </td> <td class="paramname"><em>range</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p><dl class="internal" compact><dt><b>Internal:</b></dt><dd> </dd></dl> </p> <p> Sets the range that this cursor belongs to. </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>range</em> </td><td> the range that this cursor is referenced from. </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="toSmartCursor"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="../ktexteditor/KTextEditor.SmartCursor.html">KTextEditor.SmartCursor</a> toSmartCursor</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Returns this cursor as a SmartCursor, if it is one. </p></div></div><hr><h2>Static Method Documentation</h2><a class="anchor" name="invalid"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="../ktexteditor/KTextEditor.Cursor.html">KTextEditor.Cursor</a> invalid</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">)</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Returns an invalid cursor. </p></div></div><a class="anchor" name="start"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="../ktexteditor/KTextEditor.Cursor.html">KTextEditor.Cursor</a> start</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">)</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Returns a cursor representing the start of any document - i.e., line 0, column 0. </p></div></div> </div> </div> </div> <div id="left"> <div class="menu_box"> <div class="nav_list"> <ul> <li><a href="../allclasses.html">Full Index</a></li> </ul> </div> <a name="cp-menu" /><div class="menutitle"><div> <h2 id="cp-menu-project">Modules</h2> </div></div> <div class="nav_list"> <ul><li><a href="../akonadi/index.html">akonadi</a></li> <li><a href="../dnssd/index.html">dnssd</a></li> <li><a href="../kdecore/index.html">kdecore</a></li> <li><a href="../kdeui/index.html">kdeui</a></li> <li><a href="../khtml/index.html">khtml</a></li> <li><a href="../kio/index.html">kio</a></li> <li><a href="../knewstuff/index.html">knewstuff</a></li> <li><a href="../kparts/index.html">kparts</a></li> <li><a href="../kutils/index.html">kutils</a></li> <li><a href="../nepomuk/index.html">nepomuk</a></li> <li><a href="../phonon/index.html">phonon</a></li> <li><a href="../plasma/index.html">plasma</a></li> <li><a href="../polkitqt/index.html">polkitqt</a></li> <li><a href="../solid/index.html">solid</a></li> <li><a href="../soprano/index.html">soprano</a></li> </ul></div></div> </div> </div> <div class="clearer"/> </div> <div id="end_body"></div> </div> <div id="footer"><div id="footer_text"> This documentation is maintained by <a href="mailto:simon@simonzone.com">Simon Edwards</a>.<br /> KDE<sup>®</sup> and <a href="../images/kde_gear_black.png">the K Desktop Environment<sup>®</sup> logo</a> are registered trademarks of <a href="http://ev.kde.org/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> | <a href="http://www.kde.org/contact/impressum.php">Legal</a> </div></div> </body> </html>