/*
 * Interface wrapper code.
 *
 * Generated by SIP 4.19.3
 */

#include "sipAPIKItemModels.h"

#include <kdescendantsproxymodel.h>

#include <qobject.h>
#include <qlist.h>
#include <qabstractitemmodel.h>
#include <qvariant.h>
#include <qnamespace.h>
#include <qnamespace.h>
#include <qstringlist.h>
#include <qmimedata.h>
#include <qnamespace.h>
#include <qnamespace.h>
#include <qstring.h>
#include <qabstractitemmodel.h>
#include <qsize.h>
#include <qmap.h>
#include <qitemselectionmodel.h>
#include <qhash.h>
#include <qbytearray.h>
#include <qdatastream.h>
#include <qlist.h>
#include <qabstractitemmodel.h>
#include <qvector.h>
#include <qmetaobject.h>
#include <qcoreevent.h>
#include <qcoreevent.h>
#include <qcoreevent.h>
#include <qlist.h>
#include <qlist.h>
#include <qthread.h>
#include <qnamespace.h>
#include <qregexp.h>
#include <qregularexpression.h>
#include <qobjectdefs.h>


class sipKDescendantsProxyModel : public  ::KDescendantsProxyModel
{
public:
    sipKDescendantsProxyModel( ::QObject*);
    virtual ~sipKDescendantsProxyModel();

    int qt_metacall(QMetaObject::Call,int,void **);
    void *qt_metacast(const char *);
    const QMetaObject *metaObject() const;

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
     ::QObject* sipProtect_sender() const;
    int sipProtect_receivers(const char*) const;
    void sipProtectVirt_timerEvent(bool, ::QTimerEvent*);
    void sipProtectVirt_childEvent(bool, ::QChildEvent*);
    void sipProtectVirt_customEvent(bool, ::QEvent*);
    void sipProtectVirt_connectNotify(bool,const  ::QMetaMethod&);
    void sipProtectVirt_disconnectNotify(bool,const  ::QMetaMethod&);
    int sipProtect_senderSignalIndex() const;
    bool sipProtect_isSignalConnected(const  ::QMetaMethod&) const;
    void sipProtect_encodeData(const  ::QModelIndexList&, ::QDataStream&) const;
    bool sipProtect_decodeData(int,int,const  ::QModelIndex&, ::QDataStream&);
    void sipProtect_beginInsertRows(const  ::QModelIndex&,int,int);
    void sipProtect_endInsertRows();
    void sipProtect_beginRemoveRows(const  ::QModelIndex&,int,int);
    void sipProtect_endRemoveRows();
    void sipProtect_beginInsertColumns(const  ::QModelIndex&,int,int);
    void sipProtect_endInsertColumns();
    void sipProtect_beginRemoveColumns(const  ::QModelIndex&,int,int);
    void sipProtect_endRemoveColumns();
     ::QModelIndexList sipProtect_persistentIndexList() const;
    void sipProtect_changePersistentIndex(const  ::QModelIndex&,const  ::QModelIndex&);
    void sipProtect_changePersistentIndexList(const  ::QModelIndexList&,const  ::QModelIndexList&);
     ::QModelIndex sipProtect_createIndex(int,int,void*) const;
    bool sipProtect_beginMoveRows(const  ::QModelIndex&,int,int,const  ::QModelIndex&,int);
    void sipProtect_endMoveRows();
    bool sipProtect_beginMoveColumns(const  ::QModelIndex&,int,int,const  ::QModelIndex&,int);
    void sipProtect_endMoveColumns();
    void sipProtect_beginResetModel();
    void sipProtect_endResetModel();
    void sipProtect_resetInternalData();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    bool moveColumns(const  ::QModelIndex&,int,int,const  ::QModelIndex&,int);
    bool moveRows(const  ::QModelIndex&,int,int,const  ::QModelIndex&,int);
    bool canDropMimeData(const  ::QMimeData*, ::Qt::DropAction,int,int,const  ::QModelIndex&) const;
    QHash<int, ::QByteArray> roleNames() const;
     ::Qt::DropActions supportedDragActions() const;
    void revert();
    bool submit();
     ::QSize span(const  ::QModelIndex&) const;
     ::QModelIndexList match(const  ::QModelIndex&,int,const  ::QVariant&,int, ::Qt::MatchFlags) const;
     ::QModelIndex buddy(const  ::QModelIndex&) const;
    void sort(int, ::Qt::SortOrder);
     ::Qt::ItemFlags flags(const  ::QModelIndex&) const;
    bool canFetchMore(const  ::QModelIndex&) const;
    void fetchMore(const  ::QModelIndex&);
    bool removeColumns(int,int,const  ::QModelIndex&);
    bool removeRows(int,int,const  ::QModelIndex&);
    bool insertColumns(int,int,const  ::QModelIndex&);
    bool insertRows(int,int,const  ::QModelIndex&);
     ::Qt::DropActions supportedDropActions() const;
    bool dropMimeData(const  ::QMimeData*, ::Qt::DropAction,int,int,const  ::QModelIndex&);
     ::QMimeData* mimeData(const QList< ::QModelIndex>&) const;
     ::QStringList mimeTypes() const;
    bool setItemData(const  ::QModelIndex&,const QMap<int, ::QVariant>&);
    QMap<int, ::QVariant> itemData(const  ::QModelIndex&) const;
    bool setHeaderData(int, ::Qt::Orientation,const  ::QVariant&,int);
     ::QVariant headerData(int, ::Qt::Orientation,int) const;
    bool setData(const  ::QModelIndex&,const  ::QVariant&,int);
     ::QVariant data(const  ::QModelIndex&,int) const;
    bool hasChildren(const  ::QModelIndex&) const;
    int columnCount(const  ::QModelIndex&) const;
    int rowCount(const  ::QModelIndex&) const;
     ::QModelIndex sibling(int,int,const  ::QModelIndex&) const;
     ::QModelIndex parent(const  ::QModelIndex&) const;
     ::QModelIndex index(int,int,const  ::QModelIndex&) const;
    bool event( ::QEvent*);
    bool eventFilter( ::QObject*, ::QEvent*);
    void timerEvent( ::QTimerEvent*);
    void childEvent( ::QChildEvent*);
    void customEvent( ::QEvent*);
    void connectNotify(const  ::QMetaMethod&);
    void disconnectNotify(const  ::QMetaMethod&);
    void setSourceModel( ::QAbstractItemModel*);
     ::QModelIndex mapToSource(const  ::QModelIndex&) const;
     ::QModelIndex mapFromSource(const  ::QModelIndex&) const;
     ::QItemSelection mapSelectionToSource(const  ::QItemSelection&) const;
     ::QItemSelection mapSelectionFromSource(const  ::QItemSelection&) const;

public:
    sipSimpleWrapper *sipPySelf;

private:
    sipKDescendantsProxyModel(const sipKDescendantsProxyModel &);
    sipKDescendantsProxyModel &operator = (const sipKDescendantsProxyModel &);

    char sipPyMethods[46];
};

sipKDescendantsProxyModel::sipKDescendantsProxyModel( ::QObject*a0):  ::KDescendantsProxyModel(a0), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKDescendantsProxyModel::~sipKDescendantsProxyModel()
{
    sipInstanceDestroyed(sipPySelf);
}

const QMetaObject *sipKDescendantsProxyModel::metaObject() const
{
    if (sipGetInterpreter())
        return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : sip_KItemModels_qt_metaobject(sipPySelf,sipType_KDescendantsProxyModel);

    return  ::KDescendantsProxyModel::metaObject();
}

int sipKDescendantsProxyModel::qt_metacall(QMetaObject::Call _c,int _id,void **_a)
{
    _id =  ::KDescendantsProxyModel::qt_metacall(_c,_id,_a);

    if (_id >= 0)
        _id = sip_KItemModels_qt_metacall(sipPySelf,sipType_KDescendantsProxyModel,_c,_id,_a);

    return _id;
}

void *sipKDescendantsProxyModel::qt_metacast(const char *_clname)
{
    void *sipCpp;

    return (sip_KItemModels_qt_metacast(sipPySelf, sipType_KDescendantsProxyModel, _clname, &sipCpp) ? sipCpp :  ::KDescendantsProxyModel::qt_metacast(_clname));
}

bool sipKDescendantsProxyModel::moveColumns(const  ::QModelIndex& a0,int a1,int a2,const  ::QModelIndex& a3,int a4)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[0],sipPySelf,NULL,sipName_moveColumns);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::moveColumns(a0,a1,a2,a3,a4);

    extern bool sipVH_KItemModels_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&,int,int,const  ::QModelIndex&,int);

    return sipVH_KItemModels_9(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3, a4);
}

bool sipKDescendantsProxyModel::moveRows(const  ::QModelIndex& a0,int a1,int a2,const  ::QModelIndex& a3,int a4)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[1],sipPySelf,NULL,sipName_moveRows);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::moveRows(a0,a1,a2,a3,a4);

    extern bool sipVH_KItemModels_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&,int,int,const  ::QModelIndex&,int);

    return sipVH_KItemModels_9(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3, a4);
}

bool sipKDescendantsProxyModel::canDropMimeData(const  ::QMimeData*a0, ::Qt::DropAction a1,int a2,int a3,const  ::QModelIndex& a4) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[2]),sipPySelf,NULL,sipName_canDropMimeData);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::canDropMimeData(a0,a1,a2,a3,a4);

    extern bool sipVH_KItemModels_10(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QMimeData*, ::Qt::DropAction,int,int,const  ::QModelIndex&);

    return sipVH_KItemModels_10(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3, a4);
}

QHash<int, ::QByteArray> sipKDescendantsProxyModel::roleNames() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[3]),sipPySelf,NULL,sipName_roleNames);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::roleNames();

    extern QHash<int, ::QByteArray> sipVH_KItemModels_11(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_KItemModels_11(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

 ::Qt::DropActions sipKDescendantsProxyModel::supportedDragActions() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[4]),sipPySelf,NULL,sipName_supportedDragActions);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::supportedDragActions();

    extern  ::Qt::DropActions sipVH_KItemModels_12(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_KItemModels_12(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

void sipKDescendantsProxyModel::revert()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[5],sipPySelf,NULL,sipName_revert);

    if (!sipMeth)
    {
         ::KDescendantsProxyModel::revert();
        return;
    }

    extern void sipVH_KItemModels_0(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH_KItemModels_0(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

bool sipKDescendantsProxyModel::submit()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[6],sipPySelf,NULL,sipName_submit);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::submit();

    extern bool sipVH_KItemModels_13(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_KItemModels_13(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

 ::QSize sipKDescendantsProxyModel::span(const  ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[7]),sipPySelf,NULL,sipName_span);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::span(a0);

    extern  ::QSize sipVH_KItemModels_14(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    return sipVH_KItemModels_14(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QModelIndexList sipKDescendantsProxyModel::match(const  ::QModelIndex& a0,int a1,const  ::QVariant& a2,int a3, ::Qt::MatchFlags a4) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[8]),sipPySelf,NULL,sipName_match);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::match(a0,a1,a2,a3,a4);

    extern  ::QModelIndexList sipVH_KItemModels_15(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&,int,const  ::QVariant&,int, ::Qt::MatchFlags);

    return sipVH_KItemModels_15(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3, a4);
}

 ::QModelIndex sipKDescendantsProxyModel::buddy(const  ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[9]),sipPySelf,NULL,sipName_buddy);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::buddy(a0);

    extern  ::QModelIndex sipVH_KItemModels_16(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    return sipVH_KItemModels_16(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipKDescendantsProxyModel::sort(int a0, ::Qt::SortOrder a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[10],sipPySelf,NULL,sipName_sort);

    if (!sipMeth)
    {
         ::KDescendantsProxyModel::sort(a0,a1);
        return;
    }

    extern void sipVH_KItemModels_17(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::Qt::SortOrder);

    sipVH_KItemModels_17(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

 ::Qt::ItemFlags sipKDescendantsProxyModel::flags(const  ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[11]),sipPySelf,NULL,sipName_flags);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::flags(a0);

    extern  ::Qt::ItemFlags sipVH_KItemModels_18(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    return sipVH_KItemModels_18(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipKDescendantsProxyModel::canFetchMore(const  ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[12]),sipPySelf,NULL,sipName_canFetchMore);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::canFetchMore(a0);

    extern bool sipVH_KItemModels_19(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    return sipVH_KItemModels_19(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipKDescendantsProxyModel::fetchMore(const  ::QModelIndex& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[13],sipPySelf,NULL,sipName_fetchMore);

    if (!sipMeth)
    {
         ::KDescendantsProxyModel::fetchMore(a0);
        return;
    }

    extern void sipVH_KItemModels_20(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    sipVH_KItemModels_20(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipKDescendantsProxyModel::removeColumns(int a0,int a1,const  ::QModelIndex& a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[14],sipPySelf,NULL,sipName_removeColumns);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::removeColumns(a0,a1,a2);

    extern bool sipVH_KItemModels_21(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int,const  ::QModelIndex&);

    return sipVH_KItemModels_21(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

bool sipKDescendantsProxyModel::removeRows(int a0,int a1,const  ::QModelIndex& a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[15],sipPySelf,NULL,sipName_removeRows);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::removeRows(a0,a1,a2);

    extern bool sipVH_KItemModels_21(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int,const  ::QModelIndex&);

    return sipVH_KItemModels_21(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

bool sipKDescendantsProxyModel::insertColumns(int a0,int a1,const  ::QModelIndex& a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[16],sipPySelf,NULL,sipName_insertColumns);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::insertColumns(a0,a1,a2);

    extern bool sipVH_KItemModels_21(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int,const  ::QModelIndex&);

    return sipVH_KItemModels_21(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

bool sipKDescendantsProxyModel::insertRows(int a0,int a1,const  ::QModelIndex& a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[17],sipPySelf,NULL,sipName_insertRows);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::insertRows(a0,a1,a2);

    extern bool sipVH_KItemModels_21(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int,const  ::QModelIndex&);

    return sipVH_KItemModels_21(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

 ::Qt::DropActions sipKDescendantsProxyModel::supportedDropActions() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[18]),sipPySelf,NULL,sipName_supportedDropActions);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::supportedDropActions();

    extern  ::Qt::DropActions sipVH_KItemModels_12(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_KItemModels_12(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

bool sipKDescendantsProxyModel::dropMimeData(const  ::QMimeData*a0, ::Qt::DropAction a1,int a2,int a3,const  ::QModelIndex& a4)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[19],sipPySelf,NULL,sipName_dropMimeData);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::dropMimeData(a0,a1,a2,a3,a4);

    extern bool sipVH_KItemModels_10(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QMimeData*, ::Qt::DropAction,int,int,const  ::QModelIndex&);

    return sipVH_KItemModels_10(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3, a4);
}

 ::QMimeData* sipKDescendantsProxyModel::mimeData(const QList< ::QModelIndex>& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[20]),sipPySelf,NULL,sipName_mimeData);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::mimeData(a0);

    extern  ::QMimeData* sipVH_KItemModels_22(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndexList&);

    return sipVH_KItemModels_22(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QStringList sipKDescendantsProxyModel::mimeTypes() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[21]),sipPySelf,NULL,sipName_mimeTypes);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::mimeTypes();

    extern  ::QStringList sipVH_KItemModels_23(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_KItemModels_23(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

bool sipKDescendantsProxyModel::setItemData(const  ::QModelIndex& a0,const QMap<int, ::QVariant>& a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[22],sipPySelf,NULL,sipName_setItemData);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::setItemData(a0,a1);

    extern bool sipVH_KItemModels_24(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&,const QMap<int, ::QVariant>&);

    return sipVH_KItemModels_24(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

QMap<int, ::QVariant> sipKDescendantsProxyModel::itemData(const  ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[23]),sipPySelf,NULL,sipName_itemData);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::itemData(a0);

    extern QMap<int, ::QVariant> sipVH_KItemModels_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    return sipVH_KItemModels_25(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipKDescendantsProxyModel::setHeaderData(int a0, ::Qt::Orientation a1,const  ::QVariant& a2,int a3)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[24],sipPySelf,NULL,sipName_setHeaderData);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::setHeaderData(a0,a1,a2,a3);

    extern bool sipVH_KItemModels_26(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::Qt::Orientation,const  ::QVariant&,int);

    return sipVH_KItemModels_26(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3);
}

 ::QVariant sipKDescendantsProxyModel::headerData(int a0, ::Qt::Orientation a1,int a2) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[25]),sipPySelf,NULL,sipName_headerData);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::headerData(a0,a1,a2);

    extern  ::QVariant sipVH_KItemModels_27(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::Qt::Orientation,int);

    return sipVH_KItemModels_27(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

bool sipKDescendantsProxyModel::setData(const  ::QModelIndex& a0,const  ::QVariant& a1,int a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[26],sipPySelf,NULL,sipName_setData);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::setData(a0,a1,a2);

    extern bool sipVH_KItemModels_28(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&,const  ::QVariant&,int);

    return sipVH_KItemModels_28(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

 ::QVariant sipKDescendantsProxyModel::data(const  ::QModelIndex& a0,int a1) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[27]),sipPySelf,NULL,sipName_data);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::data(a0,a1);

    extern  ::QVariant sipVH_KItemModels_29(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&,int);

    return sipVH_KItemModels_29(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

bool sipKDescendantsProxyModel::hasChildren(const  ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[28]),sipPySelf,NULL,sipName_hasChildren);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::hasChildren(a0);

    extern bool sipVH_KItemModels_19(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    return sipVH_KItemModels_19(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

int sipKDescendantsProxyModel::columnCount(const  ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[29]),sipPySelf,NULL,sipName_columnCount);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::columnCount(a0);

    extern int sipVH_KItemModels_30(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    return sipVH_KItemModels_30(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

int sipKDescendantsProxyModel::rowCount(const  ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[30]),sipPySelf,NULL,sipName_rowCount);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::rowCount(a0);

    extern int sipVH_KItemModels_30(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    return sipVH_KItemModels_30(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QModelIndex sipKDescendantsProxyModel::sibling(int a0,int a1,const  ::QModelIndex& a2) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[31]),sipPySelf,NULL,sipName_sibling);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::sibling(a0,a1,a2);

    extern  ::QModelIndex sipVH_KItemModels_31(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int,const  ::QModelIndex&);

    return sipVH_KItemModels_31(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

 ::QModelIndex sipKDescendantsProxyModel::parent(const  ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[32]),sipPySelf,NULL,sipName_parent);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::parent(a0);

    extern  ::QModelIndex sipVH_KItemModels_16(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    return sipVH_KItemModels_16(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QModelIndex sipKDescendantsProxyModel::index(int a0,int a1,const  ::QModelIndex& a2) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[33]),sipPySelf,NULL,sipName_index);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::index(a0,a1,a2);

    extern  ::QModelIndex sipVH_KItemModels_31(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int,const  ::QModelIndex&);

    return sipVH_KItemModels_31(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

bool sipKDescendantsProxyModel::event( ::QEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[34],sipPySelf,NULL,sipName_event);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::event(a0);

    extern bool sipVH_KItemModels_3(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::QEvent*);

    return sipVH_KItemModels_3(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipKDescendantsProxyModel::eventFilter( ::QObject*a0, ::QEvent*a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[35],sipPySelf,NULL,sipName_eventFilter);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::eventFilter(a0,a1);

    extern bool sipVH_KItemModels_4(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::QObject*, ::QEvent*);

    return sipVH_KItemModels_4(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

void sipKDescendantsProxyModel::timerEvent( ::QTimerEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[36],sipPySelf,NULL,sipName_timerEvent);

    if (!sipMeth)
    {
         ::KDescendantsProxyModel::timerEvent(a0);
        return;
    }

    extern void sipVH_KItemModels_5(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::QTimerEvent*);

    sipVH_KItemModels_5(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipKDescendantsProxyModel::childEvent( ::QChildEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[37],sipPySelf,NULL,sipName_childEvent);

    if (!sipMeth)
    {
         ::KDescendantsProxyModel::childEvent(a0);
        return;
    }

    extern void sipVH_KItemModels_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::QChildEvent*);

    sipVH_KItemModels_6(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipKDescendantsProxyModel::customEvent( ::QEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[38],sipPySelf,NULL,sipName_customEvent);

    if (!sipMeth)
    {
         ::KDescendantsProxyModel::customEvent(a0);
        return;
    }

    extern void sipVH_KItemModels_7(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::QEvent*);

    sipVH_KItemModels_7(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipKDescendantsProxyModel::connectNotify(const  ::QMetaMethod& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[39],sipPySelf,NULL,sipName_connectNotify);

    if (!sipMeth)
    {
         ::KDescendantsProxyModel::connectNotify(a0);
        return;
    }

    extern void sipVH_KItemModels_8(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QMetaMethod&);

    sipVH_KItemModels_8(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipKDescendantsProxyModel::disconnectNotify(const  ::QMetaMethod& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[40],sipPySelf,NULL,sipName_disconnectNotify);

    if (!sipMeth)
    {
         ::KDescendantsProxyModel::disconnectNotify(a0);
        return;
    }

    extern void sipVH_KItemModels_8(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QMetaMethod&);

    sipVH_KItemModels_8(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipKDescendantsProxyModel::setSourceModel( ::QAbstractItemModel*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[41],sipPySelf,NULL,sipName_setSourceModel);

    if (!sipMeth)
    {
         ::KDescendantsProxyModel::setSourceModel(a0);
        return;
    }

    extern void sipVH_KItemModels_32(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::QAbstractItemModel*);

    sipVH_KItemModels_32(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QModelIndex sipKDescendantsProxyModel::mapToSource(const  ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[42]),sipPySelf,NULL,sipName_mapToSource);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::mapToSource(a0);

    extern  ::QModelIndex sipVH_KItemModels_16(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    return sipVH_KItemModels_16(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QModelIndex sipKDescendantsProxyModel::mapFromSource(const  ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[43]),sipPySelf,NULL,sipName_mapFromSource);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::mapFromSource(a0);

    extern  ::QModelIndex sipVH_KItemModels_16(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QModelIndex&);

    return sipVH_KItemModels_16(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QItemSelection sipKDescendantsProxyModel::mapSelectionToSource(const  ::QItemSelection& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[44]),sipPySelf,NULL,sipName_mapSelectionToSource);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::mapSelectionToSource(a0);

    extern  ::QItemSelection sipVH_KItemModels_33(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QItemSelection&);

    return sipVH_KItemModels_33(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QItemSelection sipKDescendantsProxyModel::mapSelectionFromSource(const  ::QItemSelection& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[45]),sipPySelf,NULL,sipName_mapSelectionFromSource);

    if (!sipMeth)
        return  ::KDescendantsProxyModel::mapSelectionFromSource(a0);

    extern  ::QItemSelection sipVH_KItemModels_33(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QItemSelection&);

    return sipVH_KItemModels_33(sipGILState, sipImportedVirtErrorHandlers_KItemModels_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QObject* sipKDescendantsProxyModel::sipProtect_sender() const
{
    return  ::QObject::sender();
}

int sipKDescendantsProxyModel::sipProtect_receivers(const char*a0) const
{
    return  ::QObject::receivers(a0);
}

void sipKDescendantsProxyModel::sipProtectVirt_timerEvent(bool sipSelfWasArg, ::QTimerEvent*a0)
{
    (sipSelfWasArg ?  ::QObject::timerEvent(a0) : timerEvent(a0));
}

void sipKDescendantsProxyModel::sipProtectVirt_childEvent(bool sipSelfWasArg, ::QChildEvent*a0)
{
    (sipSelfWasArg ?  ::QObject::childEvent(a0) : childEvent(a0));
}

void sipKDescendantsProxyModel::sipProtectVirt_customEvent(bool sipSelfWasArg, ::QEvent*a0)
{
    (sipSelfWasArg ?  ::QObject::customEvent(a0) : customEvent(a0));
}

void sipKDescendantsProxyModel::sipProtectVirt_connectNotify(bool sipSelfWasArg,const  ::QMetaMethod& a0)
{
    (sipSelfWasArg ?  ::QObject::connectNotify(a0) : connectNotify(a0));
}

void sipKDescendantsProxyModel::sipProtectVirt_disconnectNotify(bool sipSelfWasArg,const  ::QMetaMethod& a0)
{
    (sipSelfWasArg ?  ::QObject::disconnectNotify(a0) : disconnectNotify(a0));
}

int sipKDescendantsProxyModel::sipProtect_senderSignalIndex() const
{
    return  ::QObject::senderSignalIndex();
}

bool sipKDescendantsProxyModel::sipProtect_isSignalConnected(const  ::QMetaMethod& a0) const
{
    return  ::QObject::isSignalConnected(a0);
}

void sipKDescendantsProxyModel::sipProtect_encodeData(const  ::QModelIndexList& a0, ::QDataStream& a1) const
{
     ::QAbstractItemModel::encodeData(a0,a1);
}

bool sipKDescendantsProxyModel::sipProtect_decodeData(int a0,int a1,const  ::QModelIndex& a2, ::QDataStream& a3)
{
    return  ::QAbstractItemModel::decodeData(a0,a1,a2,a3);
}

void sipKDescendantsProxyModel::sipProtect_beginInsertRows(const  ::QModelIndex& a0,int a1,int a2)
{
     ::QAbstractItemModel::beginInsertRows(a0,a1,a2);
}

void sipKDescendantsProxyModel::sipProtect_endInsertRows()
{
     ::QAbstractItemModel::endInsertRows();
}

void sipKDescendantsProxyModel::sipProtect_beginRemoveRows(const  ::QModelIndex& a0,int a1,int a2)
{
     ::QAbstractItemModel::beginRemoveRows(a0,a1,a2);
}

void sipKDescendantsProxyModel::sipProtect_endRemoveRows()
{
     ::QAbstractItemModel::endRemoveRows();
}

void sipKDescendantsProxyModel::sipProtect_beginInsertColumns(const  ::QModelIndex& a0,int a1,int a2)
{
     ::QAbstractItemModel::beginInsertColumns(a0,a1,a2);
}

void sipKDescendantsProxyModel::sipProtect_endInsertColumns()
{
     ::QAbstractItemModel::endInsertColumns();
}

void sipKDescendantsProxyModel::sipProtect_beginRemoveColumns(const  ::QModelIndex& a0,int a1,int a2)
{
     ::QAbstractItemModel::beginRemoveColumns(a0,a1,a2);
}

void sipKDescendantsProxyModel::sipProtect_endRemoveColumns()
{
     ::QAbstractItemModel::endRemoveColumns();
}

 ::QModelIndexList sipKDescendantsProxyModel::sipProtect_persistentIndexList() const
{
    return  ::QAbstractItemModel::persistentIndexList();
}

void sipKDescendantsProxyModel::sipProtect_changePersistentIndex(const  ::QModelIndex& a0,const  ::QModelIndex& a1)
{
     ::QAbstractItemModel::changePersistentIndex(a0,a1);
}

void sipKDescendantsProxyModel::sipProtect_changePersistentIndexList(const  ::QModelIndexList& a0,const  ::QModelIndexList& a1)
{
     ::QAbstractItemModel::changePersistentIndexList(a0,a1);
}

 ::QModelIndex sipKDescendantsProxyModel::sipProtect_createIndex(int a0,int a1,void*a2) const
{
    return  ::QAbstractItemModel::createIndex(a0,a1,a2);
}

bool sipKDescendantsProxyModel::sipProtect_beginMoveRows(const  ::QModelIndex& a0,int a1,int a2,const  ::QModelIndex& a3,int a4)
{
    return  ::QAbstractItemModel::beginMoveRows(a0,a1,a2,a3,a4);
}

void sipKDescendantsProxyModel::sipProtect_endMoveRows()
{
     ::QAbstractItemModel::endMoveRows();
}

bool sipKDescendantsProxyModel::sipProtect_beginMoveColumns(const  ::QModelIndex& a0,int a1,int a2,const  ::QModelIndex& a3,int a4)
{
    return  ::QAbstractItemModel::beginMoveColumns(a0,a1,a2,a3,a4);
}

void sipKDescendantsProxyModel::sipProtect_endMoveColumns()
{
     ::QAbstractItemModel::endMoveColumns();
}

void sipKDescendantsProxyModel::sipProtect_beginResetModel()
{
     ::QAbstractItemModel::beginResetModel();
}

void sipKDescendantsProxyModel::sipProtect_endResetModel()
{
     ::QAbstractItemModel::endResetModel();
}

void sipKDescendantsProxyModel::sipProtect_resetInternalData()
{
     ::QAbstractProxyModel::resetInternalData();
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_sender(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_sender(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
             ::QObject*sipRes = 0;

        // sender() must be called without the GIL to avoid possible deadlocks between
        // the GIL and Qt's internal thread data mutex.
        
        Py_BEGIN_ALLOW_THREADS
        
        #if defined(SIP_PROTECTED_IS_PUBLIC)
        sipRes = sipCpp->sender();
        #else
        sipRes = sipCpp->sipProtect_sender();
        #endif
        
        Py_END_ALLOW_THREADS
        
        if (!sipRes)
        {
            typedef QObject *(*qtcore_qobject_sender_t)();
        
            static qtcore_qobject_sender_t qtcore_qobject_sender = 0;
        
            if (!qtcore_qobject_sender)
            {
                qtcore_qobject_sender = (qtcore_qobject_sender_t)sipImportSymbol("qtcore_qobject_sender");
                Q_ASSERT(qtcore_qobject_sender);
            }
        
            sipRes = qtcore_qobject_sender();
        }

            return sipConvertFromType(sipRes,sipType_QObject,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_sender, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_receivers(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_receivers(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        PyObject * a0;
        const sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BP0", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, &a0))
        {
            int sipRes = 0;
            sipErrorState sipError = sipErrorNone;

        // We need to handle the signal object.  Import the helper if it hasn't already
        // been done.
        typedef sipErrorState (*pyqt5_get_signal_signature_t)(PyObject *, const QObject *, const QByteArray &);
        
        static pyqt5_get_signal_signature_t pyqt5_get_signal_signature = 0;
        
        if (!pyqt5_get_signal_signature)
        {
            pyqt5_get_signal_signature = (pyqt5_get_signal_signature_t)sipImportSymbol("pyqt5_get_signal_signature");
            Q_ASSERT(pyqt5_get_signal_signature);
        }
        
        QByteArray signal_signature;
            
        #if defined(SIP_PROTECTED_IS_PUBLIC)
        if ((sipError = pyqt5_get_signal_signature(a0, sipCpp, signal_signature)) == sipErrorNone)
        {
            sipRes = sipCpp->receivers(signal_signature.constData());
        }
        #else
        if ((sipError = pyqt5_get_signal_signature(a0, static_cast<const QObject *>(sipCpp), signal_signature)) == sipErrorNone)
        {
            sipRes = sipCpp->sipProtect_receivers(signal_signature.constData());
        }
        #endif
        else if (sipError == sipErrorContinue)
        {
            sipError = sipBadCallableArg(0, a0);
        }

            if (sipError == sipErrorFail)
                return 0;

            if (sipError == sipErrorNone)
            {
            return SIPLong_FromLong(sipRes);
            }

            sipAddException(sipError, &sipParseErr);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_receivers, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_timerEvent(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_timerEvent(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::QTimerEvent* a0;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ8", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QTimerEvent, &a0))
        {
            sipCpp->sipProtectVirt_timerEvent(sipSelfWasArg,a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_timerEvent, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_childEvent(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_childEvent(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::QChildEvent* a0;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ8", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QChildEvent, &a0))
        {
            sipCpp->sipProtectVirt_childEvent(sipSelfWasArg,a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_childEvent, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_customEvent(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_customEvent(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::QEvent* a0;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ8", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QEvent, &a0))
        {
            sipCpp->sipProtectVirt_customEvent(sipSelfWasArg,a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_customEvent, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_connectNotify(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_connectNotify(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QMetaMethod* a0;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QMetaMethod, &a0))
        {
            sipCpp->sipProtectVirt_connectNotify(sipSelfWasArg,*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_connectNotify, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_disconnectNotify(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_disconnectNotify(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QMetaMethod* a0;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QMetaMethod, &a0))
        {
            sipCpp->sipProtectVirt_disconnectNotify(sipSelfWasArg,*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_disconnectNotify, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_senderSignalIndex(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_senderSignalIndex(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
            int sipRes;

            sipRes = sipCpp->sipProtect_senderSignalIndex();

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_senderSignalIndex, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_isSignalConnected(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_isSignalConnected(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QMetaMethod* a0;
        const sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QMetaMethod, &a0))
        {
            bool sipRes;

            sipRes = sipCpp->sipProtect_isSignalConnected(*a0);

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_isSignalConnected, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_encodeData(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_encodeData(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QModelIndexList* a0;
        int a0State = 0;
         ::QDataStream* a1;
        const sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ1J9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QList_0100QModelIndex,&a0, &a0State, sipType_QDataStream, &a1))
        {
            sipCpp->sipProtect_encodeData(*a0,*a1);
            sipReleaseType(const_cast< ::QModelIndexList *>(a0),sipType_QList_0100QModelIndex,a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_encodeData, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_decodeData(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_decodeData(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        int a0;
        int a1;
        const  ::QModelIndex* a2;
         ::QDataStream* a3;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BiiJ9J9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, &a0, &a1, sipType_QModelIndex, &a2, sipType_QDataStream, &a3))
        {
            bool sipRes;

            sipRes = sipCpp->sipProtect_decodeData(a0,a1,*a2,*a3);

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_decodeData, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_beginInsertRows(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_beginInsertRows(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QModelIndex* a0;
        int a1;
        int a2;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9ii", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0, &a1, &a2))
        {
            sipCpp->sipProtect_beginInsertRows(*a0,a1,a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_beginInsertRows, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_endInsertRows(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_endInsertRows(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
            sipCpp->sipProtect_endInsertRows();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_endInsertRows, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_beginRemoveRows(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_beginRemoveRows(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QModelIndex* a0;
        int a1;
        int a2;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9ii", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0, &a1, &a2))
        {
            sipCpp->sipProtect_beginRemoveRows(*a0,a1,a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_beginRemoveRows, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_endRemoveRows(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_endRemoveRows(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
            sipCpp->sipProtect_endRemoveRows();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_endRemoveRows, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_beginInsertColumns(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_beginInsertColumns(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QModelIndex* a0;
        int a1;
        int a2;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9ii", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0, &a1, &a2))
        {
            sipCpp->sipProtect_beginInsertColumns(*a0,a1,a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_beginInsertColumns, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_endInsertColumns(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_endInsertColumns(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
            sipCpp->sipProtect_endInsertColumns();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_endInsertColumns, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_beginRemoveColumns(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_beginRemoveColumns(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QModelIndex* a0;
        int a1;
        int a2;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9ii", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0, &a1, &a2))
        {
            sipCpp->sipProtect_beginRemoveColumns(*a0,a1,a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_beginRemoveColumns, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_endRemoveColumns(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_endRemoveColumns(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
            sipCpp->sipProtect_endRemoveColumns();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_endRemoveColumns, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_persistentIndexList(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_persistentIndexList(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
             ::QModelIndexList*sipRes;

            sipRes = new  ::QModelIndexList(sipCpp->sipProtect_persistentIndexList());

            return sipConvertFromNewType(sipRes,sipType_QList_0100QModelIndex,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_persistentIndexList, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_changePersistentIndex(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_changePersistentIndex(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QModelIndex* a0;
        const  ::QModelIndex* a1;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9J9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0, sipType_QModelIndex, &a1))
        {
            sipCpp->sipProtect_changePersistentIndex(*a0,*a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_changePersistentIndex, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_changePersistentIndexList(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_changePersistentIndexList(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QModelIndexList* a0;
        int a0State = 0;
        const  ::QModelIndexList* a1;
        int a1State = 0;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ1J1", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QList_0100QModelIndex,&a0, &a0State, sipType_QList_0100QModelIndex,&a1, &a1State))
        {
            sipCpp->sipProtect_changePersistentIndexList(*a0,*a1);
            sipReleaseType(const_cast< ::QModelIndexList *>(a0),sipType_QList_0100QModelIndex,a0State);
            sipReleaseType(const_cast< ::QModelIndexList *>(a1),sipType_QList_0100QModelIndex,a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_changePersistentIndexList, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_createIndex(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_createIndex(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        int a0;
        int a1;
        PyObject * a2 = 0;
        const sipKDescendantsProxyModel *sipCpp;

        static const char *sipKwdList[] = {
            NULL,
            NULL,
            sipName_object,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, NULL, "Bii|P0", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, &a0, &a1, &a2))
        {
             ::QModelIndex*sipRes = 0;

        // 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

            return sipConvertFromNewType(sipRes,sipType_QModelIndex,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_createIndex, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_beginMoveRows(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_beginMoveRows(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QModelIndex* a0;
        int a1;
        int a2;
        const  ::QModelIndex* a3;
        int a4;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9iiJ9i", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0, &a1, &a2, sipType_QModelIndex, &a3, &a4))
        {
            bool sipRes;

            sipRes = sipCpp->sipProtect_beginMoveRows(*a0,a1,a2,*a3,a4);

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_beginMoveRows, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_endMoveRows(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_endMoveRows(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
            sipCpp->sipProtect_endMoveRows();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_endMoveRows, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_beginMoveColumns(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_beginMoveColumns(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QModelIndex* a0;
        int a1;
        int a2;
        const  ::QModelIndex* a3;
        int a4;
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9iiJ9i", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0, &a1, &a2, sipType_QModelIndex, &a3, &a4))
        {
            bool sipRes;

            sipRes = sipCpp->sipProtect_beginMoveColumns(*a0,a1,a2,*a3,a4);

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_beginMoveColumns, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_endMoveColumns(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_endMoveColumns(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
            sipCpp->sipProtect_endMoveColumns();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_endMoveColumns, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_beginResetModel(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_beginResetModel(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtect_beginResetModel();
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_beginResetModel, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_endResetModel(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_endResetModel(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtect_endResetModel();
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_endResetModel, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_resetInternalData(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_resetInternalData(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;

    {
        sipKDescendantsProxyModel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
            sipCpp->sipProtect_resetInternalData();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_resetInternalData, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_setSourceModel(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_setSourceModel(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::QAbstractItemModel* a0;
         ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QAbstractItemModel, &a0))
        {
            (sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::setSourceModel(a0) : sipCpp->setSourceModel(a0));

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_setSourceModel, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_setRootIndex(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_setRootIndex(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QModelIndex* a0;
         ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            sipCpp->setRootIndex(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_setRootIndex, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_setDisplayAncestorData(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_setDisplayAncestorData(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        bool a0;
         ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bb", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, &a0))
        {
            sipCpp->setDisplayAncestorData(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_setDisplayAncestorData, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_displayAncestorData(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_displayAncestorData(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
            bool sipRes;

            sipRes = sipCpp->displayAncestorData();

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_displayAncestorData, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_setAncestorSeparator(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_setAncestorSeparator(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QString* a0;
        int a0State = 0;
         ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QString,&a0, &a0State))
        {
            sipCpp->setAncestorSeparator(*a0);
            sipReleaseType(const_cast< ::QString *>(a0),sipType_QString,a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_setAncestorSeparator, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_ancestorSeparator(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_ancestorSeparator(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
             ::QString*sipRes;

            sipRes = new  ::QString(sipCpp->ancestorSeparator());

            return sipConvertFromNewType(sipRes,sipType_QString,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_ancestorSeparator, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_mapFromSource(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_mapFromSource(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QModelIndex* a0;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0))
        {
             ::QModelIndex*sipRes;

            sipRes = new  ::QModelIndex((sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::mapFromSource(*a0) : sipCpp->mapFromSource(*a0)));

            return sipConvertFromNewType(sipRes,sipType_QModelIndex,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_mapFromSource, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_mapToSource(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_mapToSource(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QModelIndex* a0;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0))
        {
             ::QModelIndex*sipRes;

            sipRes = new  ::QModelIndex((sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::mapToSource(*a0) : sipCpp->mapToSource(*a0)));

            return sipConvertFromNewType(sipRes,sipType_QModelIndex,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_mapToSource, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_flags(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_flags(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QModelIndex* a0;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0))
        {
             ::Qt::ItemFlags*sipRes;

            sipRes = new  ::Qt::ItemFlags((sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::flags(*a0) : sipCpp->flags(*a0)));

            return sipConvertFromNewType(sipRes,sipType_Qt_ItemFlags,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_flags, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_data(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_data(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QModelIndex* a0;
        int a1 = Qt::DisplayRole;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9|i", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0, &a1))
        {
             ::QVariant*sipRes;

            sipRes = new  ::QVariant((sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::data(*a0,a1) : sipCpp->data(*a0,a1)));

            return sipConvertFromNewType(sipRes,sipType_QVariant,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_data, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_rowCount(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_rowCount(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QModelIndex& a0def = QModelIndex();
        const  ::QModelIndex* a0 = &a0def;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B|J9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            int sipRes;

            sipRes = (sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::rowCount(*a0) : sipCpp->rowCount(*a0));

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_rowCount, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_headerData(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_headerData(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int a0;
         ::Qt::Orientation a1;
        int a2;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiEi", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, &a0, sipType_Qt_Orientation, &a1, &a2))
        {
             ::QVariant*sipRes;

            sipRes = new  ::QVariant((sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::headerData(a0,a1,a2) : sipCpp->headerData(a0,a1,a2)));

            return sipConvertFromNewType(sipRes,sipType_QVariant,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_headerData, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_mimeData(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_mimeData(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const QList< ::QModelIndex>* a0;
        int a0State = 0;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QList_0100QModelIndex,&a0, &a0State))
        {
             ::QMimeData*sipRes;

            sipRes = (sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::mimeData(*a0) : sipCpp->mimeData(*a0));
            sipReleaseType(const_cast<QList< ::QModelIndex> *>(a0),sipType_QList_0100QModelIndex,a0State);

            return sipConvertFromType(sipRes,sipType_QMimeData,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_mimeData, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_mimeTypes(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_mimeTypes(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
             ::QStringList*sipRes;

            sipRes = new  ::QStringList((sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::mimeTypes() : sipCpp->mimeTypes()));

            return sipConvertFromNewType(sipRes,sipType_QStringList,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_mimeTypes, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_hasChildren(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_hasChildren(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QModelIndex& a0def = QModelIndex();
        const  ::QModelIndex* a0 = &a0def;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B|J9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            bool sipRes;

            sipRes = (sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::hasChildren(*a0) : sipCpp->hasChildren(*a0));

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_hasChildren, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_index(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_index(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int a0;
        int a1;
        const  ::QModelIndex& a2def = QModelIndex();
        const  ::QModelIndex* a2 = &a2def;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bii|J9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, &a0, &a1, sipType_QModelIndex, &a2))
        {
             ::QModelIndex*sipRes;

            sipRes = new  ::QModelIndex((sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::index(a0,a1,*a2) : sipCpp->index(a0,a1,*a2)));

            return sipConvertFromNewType(sipRes,sipType_QModelIndex,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_index, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_parent(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_parent(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QModelIndex* a0;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0))
        {
             ::QModelIndex*sipRes;

            sipRes = new  ::QModelIndex((sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::parent(*a0) : sipCpp->parent(*a0)));

            return sipConvertFromNewType(sipRes,sipType_QModelIndex,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_parent, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_columnCount(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_columnCount(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QModelIndex& a0def = QModelIndex();
        const  ::QModelIndex* a0 = &a0def;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B|J9", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            int sipRes;

            sipRes = (sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::columnCount(*a0) : sipCpp->columnCount(*a0));

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_columnCount, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_supportedDropActions(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_supportedDropActions(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp))
        {
             ::Qt::DropActions*sipRes;

            sipRes = new  ::Qt::DropActions((sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::supportedDropActions() : sipCpp->supportedDropActions()));

            return sipConvertFromNewType(sipRes,sipType_Qt_DropActions,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_supportedDropActions, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KDescendantsProxyModel_match(PyObject *, PyObject *);}
static PyObject *meth_KDescendantsProxyModel_match(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QModelIndex* a0;
        int a1;
        const  ::QVariant* a2;
        int a2State = 0;
        int a3 = 1;
         ::Qt::MatchFlags a4def = Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap);
         ::Qt::MatchFlags* a4 = &a4def;
        int a4State = 0;
        const  ::KDescendantsProxyModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9iJ1|iJ1", &sipSelf, sipType_KDescendantsProxyModel, &sipCpp, sipType_QModelIndex, &a0, &a1, sipType_QVariant, &a2, &a2State, &a3, sipType_Qt_MatchFlags, &a4, &a4State))
        {
             ::QModelIndexList*sipRes;

            sipRes = new  ::QModelIndexList((sipSelfWasArg ? sipCpp-> ::KDescendantsProxyModel::match(*a0,a1,*a2,a3,*a4) : sipCpp->match(*a0,a1,*a2,a3,*a4)));
            sipReleaseType(const_cast< ::QVariant *>(a2),sipType_QVariant,a2State);
            sipReleaseType(a4,sipType_Qt_MatchFlags,a4State);

            return sipConvertFromNewType(sipRes,sipType_QList_0100QModelIndex,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KDescendantsProxyModel, sipName_match, NULL);

    return NULL;
}


/* Cast a pointer to a type somewhere in its inheritance hierarchy. */
extern "C" {static void *cast_KDescendantsProxyModel(void *, const sipTypeDef *);}
static void *cast_KDescendantsProxyModel(void *sipCppV, const sipTypeDef *targetType)
{
     ::KDescendantsProxyModel *sipCpp = reinterpret_cast< ::KDescendantsProxyModel *>(sipCppV);

    if (targetType == sipType_QAbstractProxyModel)
        return static_cast< ::QAbstractProxyModel *>(sipCpp);

    if (targetType == sipType_QAbstractItemModel)
        return static_cast< ::QAbstractItemModel *>(sipCpp);

    if (targetType == sipType_QObject)
        return static_cast< ::QObject *>(sipCpp);

    return sipCppV;
}


/* Call the instance's destructor. */
extern "C" {static void release_KDescendantsProxyModel(void *, int);}
static void release_KDescendantsProxyModel(void *sipCppV, int)
{
     ::KDescendantsProxyModel *sipCpp = reinterpret_cast< ::KDescendantsProxyModel *>(sipCppV);

    if (QThread::currentThread() == sipCpp->thread())
        delete sipCpp;
    else
        sipCpp->deleteLater();
}


extern "C" {static void dealloc_KDescendantsProxyModel(sipSimpleWrapper *);}
static void dealloc_KDescendantsProxyModel(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerivedClass(sipSelf))
        reinterpret_cast<sipKDescendantsProxyModel *>(sipGetAddress(sipSelf))->sipPySelf = NULL;

    if (sipIsOwnedByPython(sipSelf))
    {
        release_KDescendantsProxyModel(sipGetAddress(sipSelf), sipIsDerivedClass(sipSelf));
    }
}


extern "C" {static void *init_type_KDescendantsProxyModel(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_KDescendantsProxyModel(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **sipOwner, PyObject **sipParseErr)
{
    sipKDescendantsProxyModel *sipCpp = 0;

    {
         ::QObject* a0 = nullptr;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "|JH", sipType_QObject, &a0, sipOwner))
        {
            sipCpp = new sipKDescendantsProxyModel(a0);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return NULL;
}


/* Define this type's super-types. */
static sipEncodedTypeDef supers_KDescendantsProxyModel[] = {{1, 0, 1}};


static PyMethodDef methods_KDescendantsProxyModel[] = {
    {SIP_MLNAME_CAST(sipName_ancestorSeparator), meth_KDescendantsProxyModel_ancestorSeparator, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_beginInsertColumns), (PyCFunction)meth_KDescendantsProxyModel_beginInsertColumns, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_beginInsertRows), (PyCFunction)meth_KDescendantsProxyModel_beginInsertRows, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_beginMoveColumns), (PyCFunction)meth_KDescendantsProxyModel_beginMoveColumns, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_beginMoveRows), (PyCFunction)meth_KDescendantsProxyModel_beginMoveRows, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_beginRemoveColumns), (PyCFunction)meth_KDescendantsProxyModel_beginRemoveColumns, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_beginRemoveRows), (PyCFunction)meth_KDescendantsProxyModel_beginRemoveRows, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_beginResetModel), (PyCFunction)meth_KDescendantsProxyModel_beginResetModel, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_changePersistentIndex), (PyCFunction)meth_KDescendantsProxyModel_changePersistentIndex, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_changePersistentIndexList), (PyCFunction)meth_KDescendantsProxyModel_changePersistentIndexList, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_childEvent), (PyCFunction)meth_KDescendantsProxyModel_childEvent, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_columnCount), meth_KDescendantsProxyModel_columnCount, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_connectNotify), (PyCFunction)meth_KDescendantsProxyModel_connectNotify, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_createIndex), (PyCFunction)meth_KDescendantsProxyModel_createIndex, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_customEvent), (PyCFunction)meth_KDescendantsProxyModel_customEvent, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_data), meth_KDescendantsProxyModel_data, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_decodeData), (PyCFunction)meth_KDescendantsProxyModel_decodeData, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_disconnectNotify), (PyCFunction)meth_KDescendantsProxyModel_disconnectNotify, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_displayAncestorData), meth_KDescendantsProxyModel_displayAncestorData, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_encodeData), (PyCFunction)meth_KDescendantsProxyModel_encodeData, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_endInsertColumns), (PyCFunction)meth_KDescendantsProxyModel_endInsertColumns, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_endInsertRows), (PyCFunction)meth_KDescendantsProxyModel_endInsertRows, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_endMoveColumns), (PyCFunction)meth_KDescendantsProxyModel_endMoveColumns, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_endMoveRows), (PyCFunction)meth_KDescendantsProxyModel_endMoveRows, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_endRemoveColumns), (PyCFunction)meth_KDescendantsProxyModel_endRemoveColumns, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_endRemoveRows), (PyCFunction)meth_KDescendantsProxyModel_endRemoveRows, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_endResetModel), (PyCFunction)meth_KDescendantsProxyModel_endResetModel, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_flags), meth_KDescendantsProxyModel_flags, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_hasChildren), meth_KDescendantsProxyModel_hasChildren, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_headerData), meth_KDescendantsProxyModel_headerData, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_index), meth_KDescendantsProxyModel_index, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_isSignalConnected), (PyCFunction)meth_KDescendantsProxyModel_isSignalConnected, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_mapFromSource), meth_KDescendantsProxyModel_mapFromSource, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_mapToSource), meth_KDescendantsProxyModel_mapToSource, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_match), meth_KDescendantsProxyModel_match, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_mimeData), meth_KDescendantsProxyModel_mimeData, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_mimeTypes), meth_KDescendantsProxyModel_mimeTypes, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_parent), meth_KDescendantsProxyModel_parent, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_persistentIndexList), (PyCFunction)meth_KDescendantsProxyModel_persistentIndexList, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_receivers), (PyCFunction)meth_KDescendantsProxyModel_receivers, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_resetInternalData), (PyCFunction)meth_KDescendantsProxyModel_resetInternalData, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_rowCount), meth_KDescendantsProxyModel_rowCount, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_sender), (PyCFunction)meth_KDescendantsProxyModel_sender, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_senderSignalIndex), (PyCFunction)meth_KDescendantsProxyModel_senderSignalIndex, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_setAncestorSeparator), meth_KDescendantsProxyModel_setAncestorSeparator, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setDisplayAncestorData), meth_KDescendantsProxyModel_setDisplayAncestorData, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setRootIndex), meth_KDescendantsProxyModel_setRootIndex, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setSourceModel), meth_KDescendantsProxyModel_setSourceModel, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_supportedDropActions), meth_KDescendantsProxyModel_supportedDropActions, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_timerEvent), (PyCFunction)meth_KDescendantsProxyModel_timerEvent, METH_VARARGS|METH_KEYWORDS, NULL}
};


static pyqt5ClassPluginDef plugin_KDescendantsProxyModel = {
    & ::KDescendantsProxyModel::staticMetaObject,
    0,
    0,
    0
};


sipClassTypeDef sipTypeDef_KItemModels_KDescendantsProxyModel = {
    {
        -1,
        0,
        0,
        SIP_TYPE_SCC|SIP_TYPE_SUPER_INIT|SIP_TYPE_CLASS,
        sipNameNr_KDescendantsProxyModel,
        {0},
        &plugin_KDescendantsProxyModel
    },
    {
        sipNameNr_KDescendantsProxyModel,
        {0, 0, 1},
        50, methods_KDescendantsProxyModel,
        0, 0,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    0,
    -1,
    -1,
    supers_KDescendantsProxyModel,
    0,
    init_type_KDescendantsProxyModel,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KDescendantsProxyModel,
    0,
    0,
    0,
    release_KDescendantsProxyModel,
    cast_KDescendantsProxyModel,
    0,
    0,
    0,
    0,
    0,
    0
};
