// qabstractitemmodel.sip generated by MetaSIP on Fri Feb 10 10:37:52 2012 // // This file is part of the QtCore Python extension module. // // Copyright (c) 2011 Riverbank Computing Limited // // This file is part of PyQt. // // This file may be used under the terms of the GNU General Public // License versions 2.0 or 3.0 as published by the Free Software // Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 // included in the packaging of this file. Alternatively you may (at // your option) use any later version of the GNU General Public // License if such license has been publicly approved by Riverbank // Computing Limited (or its successors, if any) and the KDE Free Qt // Foundation. In addition, as a special exception, Riverbank gives you // certain additional rights. These rights are described in the Riverbank // GPL Exception version 1.1, which can be found in the file // GPL_EXCEPTION.txt in this package. // // If you are unsure which license is appropriate for your use, please // contact the sales department at sales@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QModelIndex { %TypeHeaderCode #include %End public: QModelIndex(); QModelIndex(const QModelIndex &other); ~QModelIndex(); QModelIndex child(int arow, int acolumn) const; int row() const; int column() const; QVariant data(int role = Qt::DisplayRole) const; %If (Qt_4_2_0 -) Qt::ItemFlags flags() const; %End SIP_PYOBJECT internalPointer() const; %MethodCode sipRes = reinterpret_cast(sipCpp->internalPointer()); if (!sipRes) sipRes = Py_None; Py_INCREF(sipRes); %End SIP_PYOBJECT internalId() const /DocType="int"/; %MethodCode // Python needs to treat the result as an unsigned value (which may not happen // on 64 bit systems). Instead we get the real value as it is stored (as a // void *) and let Python convert that. sipRes = PyLong_FromVoidPtr(sipCpp->internalPointer()); %End const QAbstractItemModel *model() const; bool isValid() const; QModelIndex parent() const; QModelIndex sibling(int arow, int acolumn) const; bool operator==(const QModelIndex &other) const; bool operator<(const QModelIndex &other) const; bool operator!=(const QModelIndex &other) const; long __hash__() const; %MethodCode sipRes = qHash(*sipCpp); %End }; class QPersistentModelIndex { %TypeHeaderCode #include %End public: QPersistentModelIndex(); QPersistentModelIndex(const QModelIndex &index); QPersistentModelIndex(const QPersistentModelIndex &other); ~QPersistentModelIndex(); int row() const; int column() const; QVariant data(int role = Qt::DisplayRole) const; %If (Qt_4_2_0 -) Qt::ItemFlags flags() const; %End QModelIndex parent() const; QModelIndex sibling(int row, int column) const; QModelIndex child(int row, int column) const; const QAbstractItemModel *model() const; bool isValid() const; operator const QModelIndex &() const; bool operator<(const QPersistentModelIndex &other) const; bool operator==(const QPersistentModelIndex &other) const; bool operator==(const QModelIndex &other) const; %If (Qt_4_2_0 -) bool operator!=(const QPersistentModelIndex &other) const; %End bool operator!=(const QModelIndex &other) const; %If (Qt_4_5_0 -) long __hash__() const; %MethodCode sipRes = qHash(*sipCpp); %End %End }; typedef QList QModelIndexList; class QAbstractItemModel : QObject { %TypeHeaderCode #include %End public: explicit QAbstractItemModel(QObject *parent /TransferThis/ = 0); virtual ~QAbstractItemModel(); bool hasIndex(int row, int column, const QModelIndex &parent = QModelIndex()) const; virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const = 0; virtual QModelIndex parent(const QModelIndex &child) const = 0; QObject *parent() const; QModelIndex sibling(int row, int column, const QModelIndex &idx) const; virtual int rowCount(const QModelIndex &parent = QModelIndex()) const = 0; virtual int columnCount(const QModelIndex &parent = QModelIndex()) const = 0; virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const; virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const = 0; virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; virtual bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole); virtual QMap itemData(const QModelIndex &index) const /DocType="Py_v3:dict-of-int-object;dict-of-int-QVariant"/; virtual bool setItemData(const QModelIndex &index, const QMap &roles /DocType="Py_v3:dict-of-int-object;dict-of-int-QVariant"/); virtual QStringList mimeTypes() const; virtual QMimeData *mimeData(const QModelIndexList &indexes) const /TransferBack/; virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent); virtual Qt::DropActions supportedDropActions() const; virtual bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()); virtual bool insertColumns(int column, int count, const QModelIndex &parent = QModelIndex()); virtual bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); virtual bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex()); virtual void fetchMore(const QModelIndex &parent); virtual bool canFetchMore(const QModelIndex &parent) const; virtual Qt::ItemFlags flags(const QModelIndex &index) const; virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder); virtual QModelIndex buddy(const QModelIndex &index) const; virtual QModelIndexList match(const QModelIndex &start, int role, const QVariant &value, int hits = 1, Qt::MatchFlags flags = Qt::MatchStartsWith|Qt::MatchWrap) const; virtual QSize span(const QModelIndex &index) const; signals: void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); void headerDataChanged(Qt::Orientation orientation, int first, int last); %If (Qt_4_2_0 -) void layoutAboutToBeChanged(); %End void layoutChanged(); void rowsAboutToBeInserted(const QModelIndex &parent, int first, int last); void rowsInserted(const QModelIndex &parent, int first, int last); void rowsAboutToBeRemoved(const QModelIndex &parent, int first, int last); void rowsRemoved(const QModelIndex &parent, int first, int last); void columnsAboutToBeInserted(const QModelIndex &parent, int first, int last); void columnsInserted(const QModelIndex &parent, int first, int last); void columnsAboutToBeRemoved(const QModelIndex &parent, int first, int last); void columnsRemoved(const QModelIndex &parent, int first, int last); %If (Qt_4_2_0 -) void modelAboutToBeReset(); %End void modelReset(); public slots: virtual bool submit(); virtual void revert(); protected slots: %If (Qt_4_8_0 -) void resetInternalData(); %End protected: void encodeData(const QModelIndexList &indexes, QDataStream &stream) const; bool decodeData(int row, int column, const QModelIndex &parent, QDataStream &stream); void beginInsertRows(const QModelIndex &parent, int first, int last); void endInsertRows(); void beginRemoveRows(const QModelIndex &parent, int first, int last); void endRemoveRows(); void beginInsertColumns(const QModelIndex &parent, int first, int last); void endInsertColumns(); void beginRemoveColumns(const QModelIndex &parent, int first, int last); void endRemoveColumns(); %If (Qt_4_2_0 -) QModelIndexList persistentIndexList() const; %End void reset(); void changePersistentIndex(const QModelIndex &from, const QModelIndex &to); void changePersistentIndexList(const QModelIndexList &from, const QModelIndexList &to); public: bool insertRow(int row, const QModelIndex &parent = QModelIndex()); bool insertColumn(int column, const QModelIndex &parent = QModelIndex()); bool removeRow(int row, const QModelIndex &parent = QModelIndex()); bool removeColumn(int column, const QModelIndex &parent = QModelIndex()); %If (Qt_4_2_0 -) void setSupportedDragActions(Qt::DropActions); %End %If (Qt_4_2_0 -) Qt::DropActions supportedDragActions() const; %End %If (Qt_4_6_0 -) const QHash &roleNames() const; %End protected: QModelIndex createIndex(int row, int column, SIP_PYOBJECT object = 0) const [QModelIndex (int row, int column, void *object = 0)]; %MethodCode // The Qt API is broken (and won't be fixed as it would break binary // compatibility) regarding the internal id of a model index on different // architectures (32 vs 64 bits). We choose to work around the breakage as it // is fairly subtle and continues to catch people out. Instead of letting Qt // convert betweed an integer id and a pointer id (the internal format used by // Qt) we let Python do it. void *ptr; if (a2) { // Try and convert it to a Python long and fallback to the object's // address if it fails. ptr = PyLong_AsVoidPtr(a2); if (PyErr_Occurred()) { PyErr_Clear(); ptr = a2; } } else { ptr = 0; } #if defined(SIP_PROTECTED_IS_PUBLIC) sipRes = new QModelIndex(sipCpp->createIndex(a0, a1, ptr)); #else sipRes = new QModelIndex(sipCpp->sipProtect_createIndex(a0, a1, ptr)); #endif %End signals: %If (Qt_4_6_0 -) void rowsAboutToBeMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow); %End %If (Qt_4_6_0 -) void rowsMoved(const QModelIndex &parent, int start, int end, const QModelIndex &destination, int row); %End %If (Qt_4_6_0 -) void columnsAboutToBeMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn); %End %If (Qt_4_6_0 -) void columnsMoved(const QModelIndex &parent, int start, int end, const QModelIndex &destination, int column); %End protected: %If (Qt_4_6_0 -) bool beginMoveRows(const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationRow); %End %If (Qt_4_6_0 -) void endMoveRows(); %End %If (Qt_4_6_0 -) bool beginMoveColumns(const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationColumn); %End %If (Qt_4_6_0 -) void endMoveColumns(); %End %If (Qt_4_6_0 -) void beginResetModel(); %End %If (Qt_4_6_0 -) void endResetModel(); %End %If (Qt_4_6_0 -) void setRoleNames(const QHash &roleNames); %End private: QAbstractItemModel(const QAbstractItemModel &); }; class QAbstractTableModel : QAbstractItemModel { %TypeHeaderCode #include %End public: explicit QAbstractTableModel(QObject *parent /TransferThis/ = 0); virtual ~QAbstractTableModel(); virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent); private: QAbstractTableModel(const QAbstractTableModel &); virtual QModelIndex parent(const QModelIndex &child) const; virtual bool hasChildren(const QModelIndex &parent) const; }; class QAbstractListModel : QAbstractItemModel { %TypeHeaderCode #include %End public: explicit QAbstractListModel(QObject *parent /TransferThis/ = 0); virtual ~QAbstractListModel(); virtual QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const; virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent); private: QAbstractListModel(const QAbstractListModel &); virtual QModelIndex parent(const QModelIndex &child) const; virtual int columnCount(const QModelIndex &parent) const; virtual bool hasChildren(const QModelIndex &parent) const; };