PySide Bugzilla Closed for New Bugs

PySide is now a Qt Add-on and uses the Qt Project's JIRA Bug Tracker instead of this Bugzilla instance. This Bugzilla is left for reference purposes.

Bug 257 - Finish implementing QStandardItemModel
: Finish implementing QStandardItemModel
Status: CLOSED FIXED
Product: PySide
Classification: Unclassified
Component: QtGui
: HEAD
: All All
: P2 major
Assigned To: renato filho
:
:
:
  Show dependency treegraph
 
Reported: 2010-07-01 22:55 EEST by Dan Halbert
Modified: 2010-08-04 15:09 EEST (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Halbert 2010-07-01 22:55:49 EEST
QStandardItemModel has a number of member functions marked as remove="all", and
which are therefore not implemented. 

    <!-- Inject code -->
    <modify-function signature="takeColumn(int)" remove="all"/>
    <modify-function signature="takeRow(int)" remove="all"/>
    <modify-function signature="findItems(const QString&amp;,
QFlags&lt;Qt::MatchFlag&gt;, int) const" remove="all"/>
    <modify-function signature="insertColumn(int, const QList&lt;QStandardItem
*&gt;&amp;)" remove="all"/>
    <modify-function signature="insertRow(int, const QList&lt;QStandardItem
*&gt;&amp;)" remove="all"/>
    <modify-function signature="appendRow(const QList&lt;QStandardItem
*&gt;&amp;)" remove="all"/>
    <modify-function signature="appendColumn(const QList&lt;QStandardItem
*&gt;&amp;)" remove="all"/>
    <modify-function signature="clear()" remove="all"/>

Since they are marked "Inject code", I guess the injection code remains to be
written, though perhaps some of them may not actually need injected code (based
on my limited understanding of what the issues might be).

takeColumn(), takeRow(), findItems(), and clear() are just not implemented.

insertColumn(), insertRow(), appendRow(), and appendColumn() are unimplemented
overloaded variants that take lists of QStandardItems. The variants that take a
single QStandardItem are already implemented.
Comment 1 Hugo Parente Lima 2010-07-02 10:21:58 EEST
Some simple methods like clear still need inject code, because we need to
remove the parent ownership of each item before call the clear method.

IMO this is a critical misfeature, we'll work to get it fixed before the next
release.
Comment 2 renato filho 2010-07-09 11:07:49 EEST
fixed on commits:
apiextractor: b06db227fef74139407e06f1c1e03efb84024c07
shiboken: c740aa812e6556747c51f2ac117c7107739aacab
pyside: e50766012453a22e1f4ee37a1112bd8b03b97124