<?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.Command</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>Command 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 Editor command line command. </p> <p> <b>Introduction </b> </p> <p> The Command class represents a command for the editor command line. A command simply consists of a string, for example find. To register a command use CommandInterface.registerCommand(). The Editor itself queries the command for a list of accepted strings/commands by calling cmds(). If the command gets invoked the function exec() is called, i.e. you have to implement the reaction in exec(). Whenever the user needs help for a command help() is called. </p> <p> <b>Command Information </b> To provide reasonable information about a specific command there are the following accessor functions for a given command string: - name() returns a label - description() returns a descriptive text - category() returns a category into which the command fits. </p> <p> These getters allow KTextEditor implementations to plug commands into menus and toolbars, so that a user can assign shortcuts. </p> <p> <b>Command Extensions </b> </p> <p> If your command needs to interactively react on changes while the user is typing text - look at the ifind command in Kate for example - you have to additionally derive your command from the class CommandExtension. The command extension provides methods to give help on flags or add a KCompletion object and process the typed text interactively. Besides that the class RangeCommand enables you to support ranges so that you can apply commands on regions of text. </p> <p> <dl class="see" compact><dt><b>See also:</b></dt><dd> KTextEditor.CommandInterface, KTextEditor.CommandExtension, KTextEditor.RangeCommand </dd></dl> <dl class="author" compact><dt><b>Author:</b></dt><dd> Christoph Cullmann <cullmann@kde.org> </dd></dl> <dl class="note" compact><dt><b>Note:</b></dt><dd> KDE5: derive from QObject, so qobject_cast works for extension interfaces. </dd></dl> </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">QStringList </td><td class="memItemRight" valign="bottom"><a class="el" href="#cmds">cmds</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#exec">exec_</a> (self, <a href="../ktexteditor/KTextEditor.View.html">KTextEditor.View</a> view, QString cmd, QString msg)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#help">help</a> (self, <a href="../ktexteditor/KTextEditor.View.html">KTextEditor.View</a> view, QString cmd, QString msg)</td></tr> </table> <hr><h2>Method Documentation</h2><a class="anchor" name="cmds"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QStringList cmds</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><dl compact><dt><b>Abstract method:</b></dt><dd>This method is abstract and can be overridden but not called directly.</dd></dl><p>Return a list of strings a command may begin with. A string is the start part of a pure text which can be handled by this command, i.e. for the command s/sdl/sdf/g the corresponding string is simply s, and for char:1212 simply char. <dl class="return" compact><dt><b>Returns:</b></dt><dd> list of supported commands </dd></dl> </p></div></div><a class="anchor" name="exec"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool exec_</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.View.html">KTextEditor.View</a> </td> <td class="paramname"><em>view</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">QString </td> <td class="paramname"><em>cmd</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">QString </td> <td class="paramname"><em>msg</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><dl compact><dt><b>Abstract method:</b></dt><dd>This method is abstract and can be overridden but not called directly.</dd></dl><p>Execute the command for the given <b>view</b> and <b>cmd</b> string. Return the success value and a <b>msg</b> for status. As example we consider a replace command. The replace command would return the number of replaced strings as <b>msg,</b> like "16 replacements made." If an error occurred in the usage it would return false and set the <b>msg</b> to something like "missing argument." or such. </p> <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd> true on success, otherwise false </dd></dl> </p></div></div><a class="anchor" name="help"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool help</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.View.html">KTextEditor.View</a> </td> <td class="paramname"><em>view</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">QString </td> <td class="paramname"><em>cmd</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">QString </td> <td class="paramname"><em>msg</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><dl compact><dt><b>Abstract method:</b></dt><dd>This method is abstract and can be overridden but not called directly.</dd></dl><p>Shows help for the given <b>view</b> and <b>cmd</b> string. If your command has a help text for <b>cmd</b> you have to return true and set the <b>msg</b> to a meaningful text. The help text is embedded by the Editor in a Qt.RichText enabled widget, e.g. a QToolTip. <dl class="return" compact><dt><b>Returns:</b></dt><dd> true if your command has a help text, otherwise false </dd></dl> </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>