<?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>KDualAction</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>KDualAction Class Reference</h1> <code>from PyKDE4.kdeui import *</code> <p> Inherits: <a href="../kdeui/KAction.html">KAction</a> → QWidgetAction → QAction → QObject<br /> <h2>Detailed Description</h2> <p>An action which can alternate between two texts/icons when triggered. </p> <p> KDualAction should be used when you want to create an action which alternate between two states when triggered but which should not be rendered as a checkable widget because it is more appropriate to change the text and icon of the action instead. </p> <p> You should use KDualAction to implement this kind of actions instead of KToggleAction because KToggleAction is rendered as a checkable widget: this means one of your state will have a checkbox in a menu and will be represented as a sunken button in a toolbar. </p> <p> Porting from KToggleAction to KDualAction: </p> <p> 1. If you used the KToggleAction constructor which accepts the action text, adjust the constructor: KDualAction constructor accepts both inactive and active text. </p> <p> 2. Replace connections to the checked(bool) signal with a connection to the activeChanged(bool) (or activeChangedByUser(bool)) </p> <p> 3. Replace calls to setChecked()/isChecked() with setActive()/isActive() </p> <p> 4. Replace calls to setCheckedState(guiItem) with setActiveGuiItem(guiItem) </p> <p> <dl class="author" compact><dt><b>Author:</b></dt><dd> Aurélien Gâteau <agateau@kde.org> </dd></dl> <dl class="since" compact><dt><b>Since:</b></dt><dd> 4.6 </dd></dl> </p> <table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2"><br><h2>Signals</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#activeChanged">activeChanged</a> (bool a0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#activeChangedByUser">activeChangedByUser</a> (bool a0)</td></tr> <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="#KDualAction">__init__</a> (self, QObject parent)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#KDualAction">__init__</a> (self, QString inactiveText, QString activeText, QObject parent)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="../kdeui/KGuiItem.html">KGuiItem</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#activeGuiItem">activeGuiItem</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QIcon </td><td class="memItemRight" valign="bottom"><a class="el" href="#activeIcon">activeIcon</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="#activeText">activeText</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="#activeToolTip">activeToolTip</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#autoToggle">autoToggle</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="../kdeui/KGuiItem.html">KGuiItem</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#inactiveGuiItem">inactiveGuiItem</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QIcon </td><td class="memItemRight" valign="bottom"><a class="el" href="#inactiveIcon">inactiveIcon</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="#inactiveText">inactiveText</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="#inactiveToolTip">inactiveToolTip</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#isActive">isActive</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setActive">setActive</a> (self, bool state)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setActiveGuiItem">setActiveGuiItem</a> (self, <a href="../kdeui/KGuiItem.html">KGuiItem</a> a0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setActiveIcon">setActiveIcon</a> (self, QIcon a0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setActiveText">setActiveText</a> (self, QString a0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setActiveToolTip">setActiveToolTip</a> (self, QString a0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setAutoToggle">setAutoToggle</a> (self, bool a0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setIconForStates">setIconForStates</a> (self, QIcon icon)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setInactiveGuiItem">setInactiveGuiItem</a> (self, <a href="../kdeui/KGuiItem.html">KGuiItem</a> a0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setInactiveIcon">setInactiveIcon</a> (self, QIcon a0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setInactiveText">setInactiveText</a> (self, QString a0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setInactiveToolTip">setInactiveToolTip</a> (self, QString a0)</td></tr> </table> <hr><h2>Signal Documentation</h2><a class="anchor" name="activeChanged"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> activeChanged</td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Emitted when the state changes. This signal is emitted when the user trigger the action and when setActive() is called. </p><dl compact><dt><b>Signal syntax:</b></dt><dd><code>QObject.connect(source, SIGNAL("activeChanged(bool)"), target_slot)</code></dd></dl></div></div><a class="anchor" name="activeChangedByUser"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> activeChangedByUser</td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Only emitted when the state changes because the user triggered the action. </p><dl compact><dt><b>Signal syntax:</b></dt><dd><code>QObject.connect(source, SIGNAL("activeChangedByUser(bool)"), target_slot)</code></dd></dl></div></div><hr><h2>Method Documentation</h2><a class="anchor" name="KDualAction"></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">QObject </td> <td class="paramname"><em>parent</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Constructs a KDualAction with the specified parent. Texts must be set with setTextForState() or setGuiItemForState(). </p></div></div><a class="anchor" name="KDualAction"></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">QString </td> <td class="paramname"><em>inactiveText</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">QString </td> <td class="paramname"><em>activeText</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">QObject </td> <td class="paramname"><em>parent</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Constructs a KDualAction with the specified parent and texts. </p></div></div><a class="anchor" name="activeGuiItem"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="../kdeui/KGuiItem.html">KGuiItem</a> activeGuiItem</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>Gets the KGuiItem for the active state </p></div></div><a class="anchor" name="activeIcon"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QIcon activeIcon</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>Gets the icon for the active state </p></div></div><a class="anchor" name="activeText"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QString activeText</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>Gets the text for the active state </p></div></div><a class="anchor" name="activeToolTip"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QString activeToolTip</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>Gets the tooltip for the active state </p></div></div><a class="anchor" name="autoToggle"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool autoToggle</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 action will automatically be changed when the user triggers this action. The default value is true. </p></div></div><a class="anchor" name="inactiveGuiItem"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="../kdeui/KGuiItem.html">KGuiItem</a> inactiveGuiItem</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>Gets the KGuiItem for the inactive state </p></div></div><a class="anchor" name="inactiveIcon"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QIcon inactiveIcon</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>Gets the icon for the inactive state </p></div></div><a class="anchor" name="inactiveText"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QString inactiveText</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>Gets the text for the inactive state </p></div></div><a class="anchor" name="inactiveToolTip"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QString inactiveToolTip</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>Gets the tooltip for the inactive state </p></div></div><a class="anchor" name="isActive"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool isActive</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 action state. The action is inactive by default. </p></div></div><a class="anchor" name="setActive"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setActive</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">bool </td> <td class="paramname"><em>state</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Sets the action state. activeChanged() will be emitted but not activeChangedByUser(). </p></div></div><a class="anchor" name="setActiveGuiItem"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setActiveGuiItem</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="../kdeui/KGuiItem.html">KGuiItem</a> </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Sets the KGuiItem for the active state </p></div></div><a class="anchor" name="setActiveIcon"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setActiveIcon</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">QIcon </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Sets the icon for the active state </p></div></div><a class="anchor" name="setActiveText"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setActiveText</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">QString </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Sets the text for the active state </p></div></div><a class="anchor" name="setActiveToolTip"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setActiveToolTip</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">QString </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Sets the tooltip for the active state </p></div></div><a class="anchor" name="setAutoToggle"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setAutoToggle</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">bool </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Defines whether the current action should automatically be changed when the user triggers this action. </p></div></div><a class="anchor" name="setIconForStates"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setIconForStates</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">QIcon </td> <td class="paramname"><em>icon</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Convenience method to set the icon for both active and inactive states. </p></div></div><a class="anchor" name="setInactiveGuiItem"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setInactiveGuiItem</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="../kdeui/KGuiItem.html">KGuiItem</a> </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Sets the KGuiItem for the inactive state </p></div></div><a class="anchor" name="setInactiveIcon"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setInactiveIcon</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">QIcon </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Sets the icon for the inactive state </p></div></div><a class="anchor" name="setInactiveText"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setInactiveText</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">QString </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Sets the text for the inactive state </p></div></div><a class="anchor" name="setInactiveToolTip"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setInactiveToolTip</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">QString </td> <td class="paramname"><em>a0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Sets the tooltip for the inactive state </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>