<?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>KDescendantsProxyModel</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>KDescendantsProxyModel Class Reference</h1> <code>from PyKDE4.kdeui import *</code> <p> Inherits: QAbstractProxyModel → QAbstractItemModel → QObject<br /> <h2>Detailed Description</h2> <p>Proxy Model for restructuring a Tree into a list. </p> <p> A KDescendantsProxyModel may be used to alter how the items in the tree are presented. </p> <p> Given a model which is represented as a tree: </p> <p> <div align="center"><img src="../images/entitytreemodel.png" /><p><strong> "A plain EntityTreeModel in a view" </strong></p></div> </p> <p> The KDescendantsProxyModel restructures the sourceModel to represent it as a flat list. </p> <p> <pre class="fragment"> // ... Create an entityTreeModel KDescendantsProxyModel *descProxy = new KDescendantsProxyModel(this); descProxy->setSourceModel(entityTree); view->setModel(descProxy); </pre> </p> <p> <div align="center"><img src="../images/descendantentitiesproxymodel.png" /><p><strong> "A KDescendantsProxyModel." </strong></p></div> </p> <p> KDescendantEntitiesProxyModel can also display the ancestors of the index in the source model as part of its display. </p> <p> <pre class="fragment"> // ... Create an entityTreeModel KDescendantsProxyModel *descProxy = new KDescendantsProxyModel(this); descProxy->setSourceModel(entityTree); // #### This is new descProxy->setDisplayAncestorData(true); descProxy->setDisplayAncestorSeparator(QString(" / ")); view->setModel(descProxy); </pre> </p> <p> <div align="center"><img src="../images/descendantentitiesproxymodel-withansecnames.png" /><p><strong> "A KDescendantsProxyModel with ancestor names." </strong></p></div> </p> <p> <dl class="since" compact><dt><b>Since:</b></dt><dd> 4.6 </dd></dl> <dl class="author" compact><dt><b>Author:</b></dt><dd> Stephen Kelly <steveire@gmail.com> </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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#KDescendantsProxyModel">__init__</a> (self, QObject parent=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="#ancestorSeparator">ancestorSeparator</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#columnCount">columnCount</a> (self, QModelIndex index=QModelIndex())</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant </td><td class="memItemRight" valign="bottom"><a class="el" href="#data">data</a> (self, QModelIndex index, int role=Qt.DisplayRole)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#displayAncestorData">displayAncestorData</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qt.html">Qt::ItemFlags</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#flags">flags</a> (self, QModelIndex index)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#hasChildren">hasChildren</a> (self, QModelIndex parent=QModelIndex())</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant </td><td class="memItemRight" valign="bottom"><a class="el" href="#headerData">headerData</a> (self, int section, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qt.html">Qt::Orientation</a> orientation, int role)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QModelIndex </td><td class="memItemRight" valign="bottom"><a class="el" href="#index">index</a> (self, int a0, int a1, QModelIndex parent=QModelIndex())</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QModelIndex </td><td class="memItemRight" valign="bottom"><a class="el" href="#mapFromSource">mapFromSource</a> (self, QModelIndex sourceIndex)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QModelIndex </td><td class="memItemRight" valign="bottom"><a class="el" href="#mapToSource">mapToSource</a> (self, QModelIndex proxyIndex)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">[QModelIndex] </td><td class="memItemRight" valign="bottom"><a class="el" href="#match">match</a> (self, QModelIndex start, int role, QVariant value, int hits=1, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qt.html">Qt::MatchFlags</a> flags=Qt.MatchFlags(Qt.MatchStartsWith|Qt.MatchWrap))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QMimeData </td><td class="memItemRight" valign="bottom"><a class="el" href="#mimeData">mimeData</a> (self, [QModelIndex] indexes)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QStringList </td><td class="memItemRight" valign="bottom"><a class="el" href="#mimeTypes">mimeTypes</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QModelIndex </td><td class="memItemRight" valign="bottom"><a class="el" href="#parent">parent</a> (self, QModelIndex a0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#rowCount">rowCount</a> (self, QModelIndex parent=QModelIndex())</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setAncestorSeparator">setAncestorSeparator</a> (self, QString separator)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setDisplayAncestorData">setDisplayAncestorData</a> (self, bool display)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setRootIndex">setRootIndex</a> (self, QModelIndex index)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setSourceModel">setSourceModel</a> (self, QAbstractItemModel model)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qt.html">Qt::DropActions</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#supportedDropActions">supportedDropActions</a> (self)</td></tr> </table> <hr><h2>Method Documentation</h2><a class="anchor" name="KDescendantsProxyModel"></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=0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Creates a new descendant entities proxy model. </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>parent</em> </td><td> The parent object. </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="ancestorSeparator"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QString ancestorSeparator</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>Separator used between data of ancestors. </p></div></div><a class="anchor" name="columnCount"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">int columnCount</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">QModelIndex </td> <td class="paramname"><em>index=QModelIndex()</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"></div></div><a class="anchor" name="data"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QVariant data</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">QModelIndex </td> <td class="paramname"><em>index</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>role=Qt.DisplayRole</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"></div></div><a class="anchor" name="displayAncestorData"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool displayAncestorData</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>Whether ancestor data will be displayed. </p></div></div><a class="anchor" name="flags"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qt.html">Qt::ItemFlags</a> flags</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">QModelIndex </td> <td class="paramname"><em>index</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"></div></div><a class="anchor" name="hasChildren"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool hasChildren</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">QModelIndex </td> <td class="paramname"><em>parent=QModelIndex()</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"></div></div><a class="anchor" name="headerData"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QVariant headerData</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>section</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qt.html">Qt::Orientation</a> </td> <td class="paramname"><em>orientation</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>role</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"></div></div><a class="anchor" name="index"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QModelIndex index</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>a0</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>a1</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">QModelIndex </td> <td class="paramname"><em>parent=QModelIndex()</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"></div></div><a class="anchor" name="mapFromSource"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QModelIndex mapFromSource</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">QModelIndex </td> <td class="paramname"><em>sourceIndex</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"></div></div><a class="anchor" name="mapToSource"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QModelIndex mapToSource</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">QModelIndex </td> <td class="paramname"><em>proxyIndex</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"></div></div><a class="anchor" name="match"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">[QModelIndex] match</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">QModelIndex </td> <td class="paramname"><em>start</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>role</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">QVariant </td> <td class="paramname"><em>value</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>hits=1</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qt.html">Qt::MatchFlags</a> </td> <td class="paramname"><em>flags=Qt.MatchFlags(Qt.MatchStartsWith|Qt.MatchWrap)</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Reimplemented to match all descendants. </p></div></div><a class="anchor" name="mimeData"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QMimeData mimeData</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">[QModelIndex] </td> <td class="paramname"><em>indexes</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"></div></div><a class="anchor" name="mimeTypes"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QStringList mimeTypes</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"></div></div><a class="anchor" name="parent"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QModelIndex parent</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">QModelIndex </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"></div></div><a class="anchor" name="rowCount"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">int rowCount</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">QModelIndex </td> <td class="paramname"><em>parent=QModelIndex()</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"></div></div><a class="anchor" name="setAncestorSeparator"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setAncestorSeparator</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>separator</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 ancestor <b>separator</b> used between data of ancestors. </p></div></div><a class="anchor" name="setDisplayAncestorData"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setDisplayAncestorData</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>display</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Set whether to show ancestor data in the model. If <b>display</b> is true, then a source model which is displayed as </p> <p> <pre class="fragment"> -> "Item 0-0" (this is row-depth) -> -> "Item 0-1" -> -> "Item 1-1" -> -> -> "Item 0-2" -> -> -> "Item 1-2" -> "Item 1-0" </pre> </p> <p> will be displayed as </p> <p> <pre class="fragment"> -> *Item 0-0" -> "Item 0-0 / Item 0-1" -> "Item 0-0 / Item 1-1" -> "Item 0-0 / Item 1-1 / Item 0-2" -> "Item 0-0 / Item 1-1 / Item 1-2" -> "Item 1-0" </pre> </p> <p> If <b>display</b> is false, the proxy will show </p> <p> <pre class="fragment"> -> *Item 0-0" -> "Item 0-1" -> "Item 1-1" -> "Item 0-2" -> "Item 1-2" -> "Item 1-0" </pre> </p> <p> Default is false. </p></div></div><a class="anchor" name="setRootIndex"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setRootIndex</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">QModelIndex </td> <td class="paramname"><em>index</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="deprecated" compact><dt><b>Deprecated:</b></dt><dd> </dd></dl> </p> <p> This method does nothing. </p></div></div><a class="anchor" name="setSourceModel"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setSourceModel</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">QAbstractItemModel </td> <td class="paramname"><em>model</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 source <b>model</b> of the proxy. </p></div></div><a class="anchor" name="supportedDropActions"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qt.html">Qt::DropActions</a> supportedDropActions</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"></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>