
// Auto generated

// include header:
//#include "qabstractitemmodelwrapper.h"
//#include "header_cpp.h"

#include "qabstractitemmodel_wrapper.h"


// list of registered base casters for this wrapper class:
QList<RJSBasecaster_QModelIndex*> QModelIndex_Wrapper::basecasters_QModelIndex;

// static functions implementation in singleton wrapper:

void QModelIndex_Wrapper::init(RJSApi& handler) {

    //qmlRegisterType<QModelIndex_Wrapper>("org.qcad", 1, 0, "QModelIndex_Wrapper");
    qmlRegisterInterface<QModelIndex_Wrapper>("QModelIndex_Wrapper", 1);


    QJSEngine* engine = handler.getEngine();


    // make type scriptable for JS files:
    QJSValue global = engine->globalObject();
    RJSType_QModelIndex* t = new RJSType_QModelIndex();
    global.setProperty("RJSType_QModelIndex", engine->newQObject(t));

    // initialize ID for this type:
    RJSType_QModelIndex::getIdStatic();



    // wrapper:
    QJSValue mo = engine->newQMetaObject(&QModelIndex_Wrapper::staticMetaObject);
    engine->globalObject().setProperty("QModelIndex_Wrapper", mo);



    // JS base class:
    //QJSValue mob = engine->newQMetaObject(&QModelIndex_BaseJs::staticMetaObject);
    //engine->globalObject().setProperty("QModelIndex_BaseJs", mob);

    QString fileName = ":generator/js/QModelIndex.js";
    QFile scriptFile(fileName);
    if (!scriptFile.open(QIODevice::ReadOnly)) {
        qWarning() << "JS script wrapper file not found:" << fileName;
        return;
    }
    QTextStream stream(&scriptFile);
    QString contents = stream.readAll();
    scriptFile.close();

    qDebug() << "Evaluating file: " << fileName;
    QJSValue result = engine->evaluate(contents, fileName);
    if (result.isError()) {
        qWarning()
                << "Uncaught exception at line"
                << result.property("lineNumber").toInt()
                << ":" << result.toString();
    }
}

/*
// special constructor used as prototype:
QModelIndex_Wrapper::QModelIndex_Wrapper(QJSEngine* e) : wrapped(nullptr), wrappedCreated(false) {
        //setObjectName("QModelIndex_Wrapper");
        setEngine(e);

        // signal forwarding:
        //initConnections();
      }

*/


// special constructor to wrap existing object:
QModelIndex_Wrapper::QModelIndex_Wrapper(RJSApi& h, QModelIndex* o, bool wrappedCreated) : RJSWrapperObj(h), wrapped(o), wrappedCreated(wrappedCreated) {
    //RDebug::incCounter(QString("QModelIndex_Wrapper_") + handler.getEngine()->objectName());
    //RDebug::incCounter(QString("QModelIndex_Wrapper"));
    //setObjectName("QModelIndex_Wrapper");
    //setHandler(h);

    // signal forwarding:
    initConnections();
}


// destructor:
QModelIndex_Wrapper::~QModelIndex_Wrapper() {
    //RDebug::decCounter(QString("QModelIndex_Wrapper_") + handler.getEngine()->objectName());
    //RDebug::decCounter(QString("QModelIndex_Wrapper"));

    //qDebug() << "QModelIndex_Wrapper::~QModelIndex_Wrapper";

    // tell script handler that this wrapper no longer exists:
    handler.unregisterWrapper(*this);


    if (wrappedCreated) {

        // delete wrapped object (copyable, JS ownership)
        //qDebug() << "deleting instance of QModelIndex";
        delete wrapped;

    }

}

// initialization of signal forwarding

void QModelIndex_Wrapper::initConnections() {

    //setObjectName("QModelIndex_Wrapper");

    // tell script handler that this wrapper needs to be deleted if the engine is deleted:
    handler.registerWrapper(*this);


    // wrapped object is not a QObject:
    // wrapper is managed by script engine:
    //QJSEngine::setObjectOwnership(this, QJSEngine::CppOwnership);


    if (hasWrapped()) {

        // set up signal forwarding:

    }
}


// constructors:


// non-static functions:

// Class: QModelIndex
// Function: row
// Source:
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QModelIndex_Wrapper::row
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QModelIndex* w = getWrapped();
        int res =

            w->row(

            );

        // return type: int

        return RJSHelper::cpp2js_int(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for row";
    handler.trace();
    return QJSValue();

}

// Class: QModelIndex
// Function: column
// Source:
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QModelIndex_Wrapper::column
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QModelIndex* w = getWrapped();
        int res =

            w->column(

            );

        // return type: int

        return RJSHelper::cpp2js_int(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for column";
    handler.trace();
    return QJSValue();

}

// Class: QModelIndex
// Function: parent
// Source:
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QModelIndex_Wrapper::parent
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QModelIndex* w = getWrapped();
        QModelIndex res =

            w->parent(

            );

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for parent";
    handler.trace();
    return QJSValue();

}

// Class: QModelIndex
// Function: sibling
// Source:
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QModelIndex_Wrapper::sibling
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: column (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QModelIndex* w = getWrapped();
        QModelIndex res =

            w->sibling(
                a1_cpp
                , a2_cpp

            );

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for sibling";
    handler.trace();
    return QJSValue();

}

// Class: QModelIndex
// Function: siblingAtColumn
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QModelIndex_Wrapper::siblingAtColumn
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QModelIndex* w = getWrapped();
        QModelIndex res =

            w->siblingAtColumn(
                a1_cpp

            );

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for siblingAtColumn";
    handler.trace();
    return QJSValue();

}

// Class: QModelIndex
// Function: siblingAtRow
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QModelIndex_Wrapper::siblingAtRow
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QModelIndex* w = getWrapped();
        QModelIndex res =

            w->siblingAtRow(
                a1_cpp

            );

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for siblingAtRow";
    handler.trace();
    return QJSValue();

}

// Class: QModelIndex
// Function: data
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QModelIndex_Wrapper::data
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                          , true

                         )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: role (int)

        int a1_cpp;


        if (a1.isUndefined()) {
            a1_cpp = Qt::DisplayRole;
        }
        else {
            a1_cpp = RJSHelper::js2cpp_int(handler, a1);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QModelIndex* w = getWrapped();
        QVariant res =

            w->data(
                a1_cpp

            );

        // return type: QVariant

        return RJSHelper::cpp2js_QVariant(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for data";
    handler.trace();
    return QJSValue();

}

// Class: QModelIndex
// Function: flags
// Source:
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QModelIndex_Wrapper::flags
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QModelIndex* w = getWrapped();
        Qt::ItemFlags res =

            w->flags(

            );

        // return type: Qt::ItemFlags

        return RJSHelper::cpp2js_Qt_ItemFlags(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for flags";
    handler.trace();
    return QJSValue();

}

// Class: QModelIndex
// Function: isValid
// Source:
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QModelIndex_Wrapper::isValid
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QModelIndex* w = getWrapped();
        bool res =

            w->isValid(

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for isValid";
    handler.trace();
    return QJSValue();

}


// member functions for static properties, forward to static function



// protected overwritten functions / events and their public invokable counterparts:

#include "qabstractitemmodel_wrapper.h"


// list of registered base casters for this wrapper class:
QList<RJSBasecaster_QAbstractItemModel*> QAbstractItemModel_Wrapper::basecasters_QAbstractItemModel;

// static functions implementation in singleton wrapper:

// Class: QAbstractItemModel
// Function: tr
// Source: QObject
// Static: true
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractItemModel_WrapperSingleton::tr
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_char_ptr(handler, a1
                               , true

                              )

        && RJSHelper::is_char_ptr(handler, a2
                                  , true

                                 )

        && RJSHelper::is_int(handler, a3
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceText (char)


        // char pointer string:
        QByteArray a1_ba = RJSHelper::js2cpp_char_ptr(handler, a1).toLocal8Bit();
        const char* a1_cpp = a1_ba.constData();

        // convert js parameter to cpp:  (char)


        // char pointer string:
        QByteArray a2_ba = RJSHelper::js2cpp_char_ptr(handler, a2).toLocal8Bit();
        const char* a2_cpp = a2_ba.constData();

        // convert js parameter to cpp:  (int)

        int a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = -1;
        }
        else {
            a3_cpp = RJSHelper::js2cpp_int(handler, a3);
        }


        // call function:

        // static member function:
        // call base class static function:
        QString res =

            // call static member function:
            QObject::tr(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: QString

        return RJSHelper::cpp2js_QString(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for tr";
    handler.trace();
    return QJSValue();

}

void QAbstractItemModel_Wrapper::init(RJSApi& handler) {

    //qmlRegisterType<QAbstractItemModel_Wrapper>("org.qcad", 1, 0, "QAbstractItemModel_Wrapper");
    qmlRegisterInterface<QAbstractItemModel_Wrapper>("QAbstractItemModel_Wrapper", 1);


    QJSEngine* engine = handler.getEngine();


    // make type scriptable for JS files:
    QJSValue global = engine->globalObject();
    RJSType_QAbstractItemModel* t = new RJSType_QAbstractItemModel();
    global.setProperty("RJSType_QAbstractItemModel", engine->newQObject(t));

    // initialize ID for this type:
    RJSType_QAbstractItemModel::getIdStatic();



    // wrapper:
    QJSValue mo = engine->newQMetaObject(&QAbstractItemModel_Wrapper::staticMetaObject);
    engine->globalObject().setProperty("QAbstractItemModel_Wrapper", mo);



    // JS base class:
    //QJSValue mob = engine->newQMetaObject(&QAbstractItemModel_BaseJs::staticMetaObject);
    //engine->globalObject().setProperty("QAbstractItemModel_BaseJs", mob);

    // singleton wrapper:
    QJSValue mos = engine->newQMetaObject(&QAbstractItemModel_WrapperSingleton::staticMetaObject);
    engine->globalObject().setProperty("QAbstractItemModel_WrapperSingleton", mos);

    // create instance of singleton wrapper for static functions:
    QAbstractItemModel_WrapperSingleton * s = new QAbstractItemModel_WrapperSingleton(handler);
    engine->globalObject().setProperty("QAbstractItemModel_WrapperSingletonInstance", engine->newQObject(s));
    QJSEngine::setObjectOwnership(s, QJSEngine::CppOwnership);

    QString fileName = ":generator/js/QAbstractItemModel.js";
    QFile scriptFile(fileName);
    if (!scriptFile.open(QIODevice::ReadOnly)) {
        qWarning() << "JS script wrapper file not found:" << fileName;
        return;
    }
    QTextStream stream(&scriptFile);
    QString contents = stream.readAll();
    scriptFile.close();

    qDebug() << "Evaluating file: " << fileName;
    QJSValue result = engine->evaluate(contents, fileName);
    if (result.isError()) {
        qWarning()
                << "Uncaught exception at line"
                << result.property("lineNumber").toInt()
                << ":" << result.toString();
    }
}

/*
// special constructor used as prototype:
QAbstractItemModel_Wrapper::QAbstractItemModel_Wrapper(QJSEngine* e) : wrapped(nullptr), wrappedCreated(false) {
        //setObjectName("QAbstractItemModel_Wrapper");
        setEngine(e);

        // signal forwarding:
        //initConnections();
      }

*/


// special constructor to wrap existing object:
QAbstractItemModel_Wrapper::QAbstractItemModel_Wrapper(RJSApi& h, QAbstractItemModel* o, bool wrappedCreated) : RJSWrapperObj(h), wrapped(o), wrappedCreated(wrappedCreated) {
    //RDebug::incCounter(QString("QAbstractItemModel_Wrapper_") + handler.getEngine()->objectName());
    //RDebug::incCounter(QString("QAbstractItemModel_Wrapper"));
    //setObjectName("QAbstractItemModel_Wrapper");
    //setHandler(h);

    // signal forwarding:
    initConnections();
}


// destructor:
QAbstractItemModel_Wrapper::~QAbstractItemModel_Wrapper() {
    //RDebug::decCounter(QString("QAbstractItemModel_Wrapper_") + handler.getEngine()->objectName());
    //RDebug::decCounter(QString("QAbstractItemModel_Wrapper"));

    //qDebug() << "QAbstractItemModel_Wrapper::~QAbstractItemModel_Wrapper";

    // tell script handler that this wrapper no longer exists:
    handler.unregisterWrapper(*this);


    if (wrappedCreated) {

        // never delete wrapped object (non-copyable, CPP ownership or private destructor)
        //qDebug() << "NOT deleting instance of QAbstractItemModel";

    }

}

// initialization of signal forwarding

void QAbstractItemModel_Wrapper::initConnections() {

    //setObjectName("QAbstractItemModel_Wrapper");

    // tell script handler that this wrapper needs to be deleted if the engine is deleted:
    handler.registerWrapper(*this);


    // wrapped object is a QObject and not a wrapper for a null pointer:
    // wrapper is managed by the QObject as child:
    if (hasWrapped()) {
        QJSEngine::setObjectOwnership(this, QJSEngine::CppOwnership);
    }


    if (hasWrapped()) {

        // set parent of wrapper to wrapped:
        // wrapper can be looked up for object:
        QVariant vThis = QVariant::fromValue(this);
        getWrapped()->setProperty("__wrapper__",  vThis);

        // make sure wrapper is deleted when object is deleted:
        // make sure wrapper stays alive as long as the wrapped stays alive::
        QObject::setParent(getWrapped());

        // set up signal forwarding:

        connect(
            getWrapped(),
            SIGNAL(headerDataChanged(Qt::Orientation, int, int)),
            this,
            SLOT(headerDataChangedEmitter(Qt::Orientation, int, int))
        );

        connect(
            getWrapped(),
            SIGNAL(rowsInserted(const QModelIndex&, int, int)),
            this,
            SLOT(rowsInsertedEmitter(const QModelIndex&, int, int))
        );

        /*
        connect(
          getWrapped(),
          SIGNAL(destroyed(QObject*)),
          &handler,
          SLOT(slotDestroyed(QObject*))
        );
        */

    }
}


// constructors:


// non-static functions:

// Class: QAbstractItemModel
// Function: objectName
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::objectName
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QString res =

            w->objectName(

            );

        //setRecFlag(false);

        // return type: QString

        return RJSHelper::cpp2js_QString(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for objectName";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: setObjectName
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::setObjectName
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QString(handler, a1
                             )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: name (QString)

        QString a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QString(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->setObjectName(
            a1_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for setObjectName";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: isWidgetType
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::isWidgetType
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->isWidgetType(

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for isWidgetType";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: isWindowType
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::isWindowType
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->isWindowType(

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for isWindowType";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: signalsBlocked
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::signalsBlocked
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->signalsBlocked(

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for signalsBlocked";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: blockSignals
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::blockSignals
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_bool(handler, a1
                          )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: b (bool)

        bool a1_cpp;

        a1_cpp = RJSHelper::js2cpp_bool(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->blockSignals(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for blockSignals";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: findChild
// Source: QObject
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::findChild
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QString(handler, a1
                              , true

                             )

        && RJSHelper::is_Qt_FindChildOptions(handler, a2
                , true

                                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: aName (QString)

        QString a1_cpp;


        if (a1.isUndefined()) {
            a1_cpp = QString();
        }
        else {
            a1_cpp = RJSHelper::js2cpp_QString(handler, a1);
        }

        // convert js parameter to cpp: options (Qt::FindChildOptions)

        Qt::FindChildOptions a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = Qt::FindChildrenRecursively;
        }
        else {
            a2_cpp = RJSHelper::js2cpp_Qt_FindChildOptions(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QObject* res =

            w->findChild<QObject*>(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: QObject*

        return RJSHelper::cpp2js_QObject(
                   handler,
                   // non-copyable: true
                   res

               );

    }

    qWarning() << "no matching function variant found for findChild";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: children
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::children
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        // return type is reference:
        // use pointer instead 3:
        const QObjectList* res =
            &
            w->children(

            );

        //setRecFlag(false);

        // return type: const QObjectList&

        return RJSHelper::cpp2js_QObjectList(
                   handler,
                   // non-copyable: false
                   // return type is reference, type is copyable:
                   // convert pointer back to reference:
                   *res

               );

    }

    qWarning() << "no matching function variant found for children";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: setParent
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::setParent
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QObject_ptr(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QObject)


        // pointer:
        QObject*
        a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QObject_ptr(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->setParent(
            a1_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for setParent";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: installEventFilter
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::installEventFilter
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QObject_ptr(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: filterObj (QObject)


        // pointer:
        QObject*
        a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QObject_ptr(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->installEventFilter(
            a1_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for installEventFilter";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: removeEventFilter
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::removeEventFilter
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QObject_ptr(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: obj (QObject)


        // pointer:
        QObject*
        a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QObject_ptr(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->removeEventFilter(
            a1_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for removeEventFilter";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: dumpObjectTree
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::dumpObjectTree
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->dumpObjectTree(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->dumpObjectTree(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for dumpObjectTree";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: dumpObjectInfo
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::dumpObjectInfo
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->dumpObjectInfo(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->dumpObjectInfo(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for dumpObjectInfo";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: setProperty
// Source: QObject
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::setProperty
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_char_ptr(handler, a1
                               , true

                              )

        && RJSHelper::is_QVariant(handler, a2
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: name (char)


        // char pointer string:
        QByteArray a1_ba = RJSHelper::js2cpp_char_ptr(handler, a1).toLocal8Bit();
        const char* a1_cpp = a1_ba.constData();

        // convert js parameter to cpp: value (QVariant)

        QVariant a2_cpp;

        a2_cpp = RJSHelper::js2cpp_QVariant(handler, a2);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->setProperty(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for setProperty";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: property
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::property
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_char_ptr(handler, a1
                               , true

                              )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: name (char)


        // char pointer string:
        QByteArray a1_ba = RJSHelper::js2cpp_char_ptr(handler, a1).toLocal8Bit();
        const char* a1_cpp = a1_ba.constData();


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QVariant res =

            w->property(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: QVariant

        return RJSHelper::cpp2js_QVariant(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for property";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: dynamicPropertyNames
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::dynamicPropertyNames
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QList<QByteArray> res =

            w->dynamicPropertyNames(

            );

        //setRecFlag(false);

        // return type: QList<QByteArray>

        return RJSHelper::cpp2js_QList_QByteArray(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for dynamicPropertyNames";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: parent
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::parent
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QObject* res =

            w->parent(

            );

        //setRecFlag(false);

        // return type: QObject*

        return RJSHelper::cpp2js_QObject(
                   handler,
                   // non-copyable: true
                   res

               );

    }

    qWarning() << "no matching function variant found for parent";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: deleteLater
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::deleteLater
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->deleteLater(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for deleteLater";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: hasIndex
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::hasIndex
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: column (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->hasIndex(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for hasIndex";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: index
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::index
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: column (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QModelIndex res =

            w->index(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for index";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: sibling
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::sibling
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: column (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: idx (QModelIndex)

        QModelIndex a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QModelIndex res =

            w->sibling(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for sibling";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: rowCount
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::rowCount
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;


        if (a1.isUndefined()) {
            a1_cpp = QModelIndex();
        }
        else {
            a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        int res =

            w->rowCount(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: int

        return RJSHelper::cpp2js_int(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for rowCount";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: columnCount
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::columnCount
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;


        if (a1.isUndefined()) {
            a1_cpp = QModelIndex();
        }
        else {
            a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        int res =

            w->columnCount(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: int

        return RJSHelper::cpp2js_int(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for columnCount";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: hasChildren
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::hasChildren
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;


        if (a1.isUndefined()) {
            a1_cpp = QModelIndex();
        }
        else {
            a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->hasChildren(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for hasChildren";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: data
// Source:
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::data
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: role (int)

        int a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = Qt::DisplayRole;
        }
        else {
            a2_cpp = RJSHelper::js2cpp_int(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QVariant res =

            w->data(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: QVariant

        return RJSHelper::cpp2js_QVariant(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for data";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: setData
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::setData
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_QVariant(handler, a2
                                 )

        && RJSHelper::is_int(handler, a3
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: value (QVariant)

        QVariant a2_cpp;

        a2_cpp = RJSHelper::js2cpp_QVariant(handler, a2);

        // convert js parameter to cpp: role (int)

        int a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = Qt::EditRole;
        }
        else {
            a3_cpp = RJSHelper::js2cpp_int(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->setData(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for setData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: headerData
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::headerData
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_Qt_Orientation(handler, a2
                                       )

        && RJSHelper::is_int(handler, a3
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: section (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: orientation (Qt::Orientation)

        Qt::Orientation a2_cpp;

        a2_cpp = RJSHelper::js2cpp_Qt_Orientation(handler, a2);

        // convert js parameter to cpp: role (int)

        int a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = Qt::DisplayRole;
        }
        else {
            a3_cpp = RJSHelper::js2cpp_int(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QVariant res =

            w->headerData(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: QVariant

        return RJSHelper::cpp2js_QVariant(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for headerData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: setHeaderData
// Source:
// Static: false
// Parameters: 4
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::setHeaderData
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_Qt_Orientation(handler, a2
                                       )

        && RJSHelper::is_QVariant(handler, a3
                                 )

        && RJSHelper::is_int(handler, a4
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: section (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: orientation (Qt::Orientation)

        Qt::Orientation a2_cpp;

        a2_cpp = RJSHelper::js2cpp_Qt_Orientation(handler, a2);

        // convert js parameter to cpp: value (QVariant)

        QVariant a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QVariant(handler, a3);

        // convert js parameter to cpp: role (int)

        int a4_cpp;


        if (a4.isUndefined()) {
            a4_cpp = Qt::EditRole;
        }
        else {
            a4_cpp = RJSHelper::js2cpp_int(handler, a4);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->setHeaderData(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for setHeaderData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: clearItemData
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::clearItemData
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->clearItemData(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for clearItemData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: mimeTypes
// Source:
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::mimeTypes
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QStringList res =

            w->mimeTypes(

            );

        //setRecFlag(false);

        // return type: QStringList

        return RJSHelper::cpp2js_QStringList(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for mimeTypes";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: supportedDropActions
// Source:
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::supportedDropActions
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        Qt::DropActions res =

            w->supportedDropActions(

            );

        //setRecFlag(false);

        // return type: Qt::DropActions

        return RJSHelper::cpp2js_Qt_DropActions(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for supportedDropActions";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: supportedDragActions
// Source:
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::supportedDragActions
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        Qt::DropActions res =

            w->supportedDragActions(

            );

        //setRecFlag(false);

        // return type: Qt::DropActions

        return RJSHelper::cpp2js_Qt_DropActions(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for supportedDragActions";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: insertRows
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::insertRows
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->insertRows(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertRows";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: insertColumns
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::insertColumns
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->insertColumns(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertColumns";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: removeRows
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::removeRows
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->removeRows(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeRows";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: removeColumns
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::removeColumns
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->removeColumns(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeColumns";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: moveRows
// Source:
// Static: false
// Parameters: 5
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::moveRows
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4,
    const QJSValue&
    a5
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_int(handler, a3
                            )

        && RJSHelper::is_QModelIndex(handler, a4
                                    )

        && RJSHelper::is_int(handler, a5
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceRow (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: count (int)

        int a3_cpp;

        a3_cpp = RJSHelper::js2cpp_int(handler, a3);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a4_cpp;

        a4_cpp = RJSHelper::js2cpp_QModelIndex(handler, a4);

        // convert js parameter to cpp: destinationChild (int)

        int a5_cpp;

        a5_cpp = RJSHelper::js2cpp_int(handler, a5);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->moveRows(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp
                , a5_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveRows";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: moveColumns
// Source:
// Static: false
// Parameters: 5
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::moveColumns
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4,
    const QJSValue&
    a5
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_int(handler, a3
                            )

        && RJSHelper::is_QModelIndex(handler, a4
                                    )

        && RJSHelper::is_int(handler, a5
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceColumn (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: count (int)

        int a3_cpp;

        a3_cpp = RJSHelper::js2cpp_int(handler, a3);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a4_cpp;

        a4_cpp = RJSHelper::js2cpp_QModelIndex(handler, a4);

        // convert js parameter to cpp: destinationChild (int)

        int a5_cpp;

        a5_cpp = RJSHelper::js2cpp_int(handler, a5);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->moveColumns(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp
                , a5_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveColumns";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: insertRow
// Source:
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::insertRow
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->insertRow(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertRow";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: insertColumn
// Source:
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::insertColumn
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->insertColumn(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertColumn";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: removeRow
// Source:
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::removeRow
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->removeRow(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeRow";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: removeColumn
// Source:
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::removeColumn
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->removeColumn(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeColumn";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: moveRow
// Source:
// Static: false
// Parameters: 4
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::moveRow
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                    )

        && RJSHelper::is_int(handler, a4
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceRow (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);

        // convert js parameter to cpp: destinationChild (int)

        int a4_cpp;

        a4_cpp = RJSHelper::js2cpp_int(handler, a4);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->moveRow(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveRow";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: moveColumn
// Source:
// Static: false
// Parameters: 4
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::moveColumn
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                    )

        && RJSHelper::is_int(handler, a4
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceColumn (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);

        // convert js parameter to cpp: destinationChild (int)

        int a4_cpp;

        a4_cpp = RJSHelper::js2cpp_int(handler, a4);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->moveColumn(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveColumn";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: fetchMore
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::fetchMore
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->fetchMore(
            a1_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for fetchMore";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: canFetchMore
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::canFetchMore
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->canFetchMore(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for canFetchMore";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: flags
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::flags
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        Qt::ItemFlags res =

            w->flags(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: Qt::ItemFlags

        return RJSHelper::cpp2js_Qt_ItemFlags(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for flags";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: sort
// Source:
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::sort
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_Qt_SortOrder(handler, a2
                                      , true

                                     )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: order (Qt::SortOrder)

        Qt::SortOrder a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = Qt::AscendingOrder;
        }
        else {
            a2_cpp = RJSHelper::js2cpp_Qt_SortOrder(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->sort(
            a1_cpp
            , a2_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for sort";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: buddy
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::buddy
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QModelIndex res =

            w->buddy(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for buddy";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: span
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::span
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QSize res =

            w->span(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: QSize

        return RJSHelper::cpp2js_QSize(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for span";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: roleNames
// Source:
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::roleNames
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        QHash<int,QByteArray> res =

            w->roleNames(

            );

        //setRecFlag(false);

        // return type: QHash<int,QByteArray>

        return RJSHelper::cpp2js_QHash_int_QByteArray(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for roleNames";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: headerDataChanged
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

// signal emitter: called when signal is emitted from wrapped object:
void
QAbstractItemModel_Wrapper::headerDataChangedEmitter(
    Qt::Orientation orientation, int first, int last
) {
    // convert cpp parameters to js:

    // parameter: orientation (Qt::Orientation)



    QJSValue a1_js = RJSHelper::cpp2js_Qt_Orientation(
                         handler,
                         orientation
                     );

    // parameter: first (int)



    QJSValue a2_js = RJSHelper::cpp2js_int(
                         handler,
                         first
                     );

    // parameter: last (int)



    QJSValue a3_js = RJSHelper::cpp2js_int(
                         handler,
                         last
                     );


    emit headerDataChanged(
        a1_js, a2_js, a3_js
    );
}

// Class: QAbstractItemModel
// Function: rowsInserted
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

// signal emitter: called when signal is emitted from wrapped object:
void
QAbstractItemModel_Wrapper::rowsInsertedEmitter(
    const QModelIndex& parent, int first, int last
) {
    // convert cpp parameters to js:

    // parameter: parent (QModelIndex)



    QJSValue a1_js = RJSHelper::cpp2js_QModelIndex(
                         handler,
                         parent
                     );

    // parameter: first (int)



    QJSValue a2_js = RJSHelper::cpp2js_int(
                         handler,
                         first
                     );

    // parameter: last (int)



    QJSValue a3_js = RJSHelper::cpp2js_int(
                         handler,
                         last
                     );


    emit rowsInserted(
        a1_js, a2_js, a3_js
    );
}

// Class: QAbstractItemModel
// Function: submit
// Source:
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::submit
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();
        bool res =

            w->submit(

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for submit";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractItemModel
// Function: revert
// Source:
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractItemModel_Wrapper::revert
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractItemModel* w = getWrapped();

        w->revert(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for revert";
    handler.trace();
    return QJSValue();

}


// member functions for static properties, forward to static function



// protected overwritten functions / events and their public invokable counterparts:

#include "qabstractitemmodel_wrapper.h"


// list of registered base casters for this wrapper class:
QList<RJSBasecaster_QAbstractTableModel*> QAbstractTableModel_Wrapper::basecasters_QAbstractTableModel;

// static functions implementation in singleton wrapper:

// Class: QAbstractTableModel
// Function: tr
// Source: QObject
// Static: true
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractTableModel_WrapperSingleton::tr
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_char_ptr(handler, a1
                               , true

                              )

        && RJSHelper::is_char_ptr(handler, a2
                                  , true

                                 )

        && RJSHelper::is_int(handler, a3
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceText (char)


        // char pointer string:
        QByteArray a1_ba = RJSHelper::js2cpp_char_ptr(handler, a1).toLocal8Bit();
        const char* a1_cpp = a1_ba.constData();

        // convert js parameter to cpp:  (char)


        // char pointer string:
        QByteArray a2_ba = RJSHelper::js2cpp_char_ptr(handler, a2).toLocal8Bit();
        const char* a2_cpp = a2_ba.constData();

        // convert js parameter to cpp:  (int)

        int a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = -1;
        }
        else {
            a3_cpp = RJSHelper::js2cpp_int(handler, a3);
        }


        // call function:

        // static member function:
        // call base class static function:
        QString res =

            // call static member function:
            QObject::tr(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: QString

        return RJSHelper::cpp2js_QString(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for tr";
    handler.trace();
    return QJSValue();

}

void QAbstractTableModel_Wrapper::init(RJSApi& handler) {

    //qmlRegisterType<QAbstractTableModel_Wrapper>("org.qcad", 1, 0, "QAbstractTableModel_Wrapper");
    qmlRegisterInterface<QAbstractTableModel_Wrapper>("QAbstractTableModel_Wrapper", 1);


    QJSEngine* engine = handler.getEngine();


    // make type scriptable for JS files:
    QJSValue global = engine->globalObject();
    RJSType_QAbstractTableModel* t = new RJSType_QAbstractTableModel();
    global.setProperty("RJSType_QAbstractTableModel", engine->newQObject(t));

    // initialize ID for this type:
    RJSType_QAbstractTableModel::getIdStatic();



    // wrapper:
    QJSValue mo = engine->newQMetaObject(&QAbstractTableModel_Wrapper::staticMetaObject);
    engine->globalObject().setProperty("QAbstractTableModel_Wrapper", mo);



    // JS base class:
    //QJSValue mob = engine->newQMetaObject(&QAbstractTableModel_BaseJs::staticMetaObject);
    //engine->globalObject().setProperty("QAbstractTableModel_BaseJs", mob);

    // singleton wrapper:
    QJSValue mos = engine->newQMetaObject(&QAbstractTableModel_WrapperSingleton::staticMetaObject);
    engine->globalObject().setProperty("QAbstractTableModel_WrapperSingleton", mos);

    // create instance of singleton wrapper for static functions:
    QAbstractTableModel_WrapperSingleton * s = new QAbstractTableModel_WrapperSingleton(handler);
    engine->globalObject().setProperty("QAbstractTableModel_WrapperSingletonInstance", engine->newQObject(s));
    QJSEngine::setObjectOwnership(s, QJSEngine::CppOwnership);

    QString fileName = ":generator/js/QAbstractTableModel.js";
    QFile scriptFile(fileName);
    if (!scriptFile.open(QIODevice::ReadOnly)) {
        qWarning() << "JS script wrapper file not found:" << fileName;
        return;
    }
    QTextStream stream(&scriptFile);
    QString contents = stream.readAll();
    scriptFile.close();

    qDebug() << "Evaluating file: " << fileName;
    QJSValue result = engine->evaluate(contents, fileName);
    if (result.isError()) {
        qWarning()
                << "Uncaught exception at line"
                << result.property("lineNumber").toInt()
                << ":" << result.toString();
    }
}

/*
// special constructor used as prototype:
QAbstractTableModel_Wrapper::QAbstractTableModel_Wrapper(QJSEngine* e) : wrapped(nullptr), wrappedCreated(false) {
        //setObjectName("QAbstractTableModel_Wrapper");
        setEngine(e);

        // signal forwarding:
        //initConnections();
      }

*/


// special constructor to wrap existing object:
QAbstractTableModel_Wrapper::QAbstractTableModel_Wrapper(RJSApi& h, QAbstractTableModel* o, bool wrappedCreated) : RJSWrapperObj(h), wrapped(o), wrappedCreated(wrappedCreated) {
    //RDebug::incCounter(QString("QAbstractTableModel_Wrapper_") + handler.getEngine()->objectName());
    //RDebug::incCounter(QString("QAbstractTableModel_Wrapper"));
    //setObjectName("QAbstractTableModel_Wrapper");
    //setHandler(h);

    // signal forwarding:
    initConnections();
}


// destructor:
QAbstractTableModel_Wrapper::~QAbstractTableModel_Wrapper() {
    //RDebug::decCounter(QString("QAbstractTableModel_Wrapper_") + handler.getEngine()->objectName());
    //RDebug::decCounter(QString("QAbstractTableModel_Wrapper"));

    //qDebug() << "QAbstractTableModel_Wrapper::~QAbstractTableModel_Wrapper";

    // tell script handler that this wrapper no longer exists:
    handler.unregisterWrapper(*this);


    if (wrappedCreated) {

        // never delete wrapped object (non-copyable, CPP ownership or private destructor)
        //qDebug() << "NOT deleting instance of QAbstractTableModel";

    }

}

// initialization of signal forwarding

void QAbstractTableModel_Wrapper::initConnections() {

    //setObjectName("QAbstractTableModel_Wrapper");

    // tell script handler that this wrapper needs to be deleted if the engine is deleted:
    handler.registerWrapper(*this);


    // wrapped object is a QObject and not a wrapper for a null pointer:
    // wrapper is managed by the QObject as child:
    if (hasWrapped()) {
        QJSEngine::setObjectOwnership(this, QJSEngine::CppOwnership);
    }


    if (hasWrapped()) {

        // set parent of wrapper to wrapped:
        // wrapper can be looked up for object:
        QVariant vThis = QVariant::fromValue(this);
        getWrapped()->setProperty("__wrapper__",  vThis);

        // make sure wrapper is deleted when object is deleted:
        // make sure wrapper stays alive as long as the wrapped stays alive::
        QObject::setParent(getWrapped());

        // set up signal forwarding:

        connect(
            getWrapped(),
            SIGNAL(headerDataChanged(Qt::Orientation, int, int)),
            this,
            SLOT(headerDataChangedEmitter(Qt::Orientation, int, int))
        );

        connect(
            getWrapped(),
            SIGNAL(rowsInserted(const QModelIndex&, int, int)),
            this,
            SLOT(rowsInsertedEmitter(const QModelIndex&, int, int))
        );

        /*
        connect(
          getWrapped(),
          SIGNAL(destroyed(QObject*)),
          &handler,
          SLOT(slotDestroyed(QObject*))
        );
        */

    }
}


// constructors:


// non-static functions:

// Class: QAbstractTableModel
// Function: objectName
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::objectName
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QString res =

            w->objectName(

            );

        // return type: QString

        return RJSHelper::cpp2js_QString(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for objectName";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: setObjectName
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::setObjectName
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QString(handler, a1
                             )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: name (QString)

        QString a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QString(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->setObjectName(
            a1_cpp

        );

        return QJSValue();

    }

    qWarning() << "no matching function variant found for setObjectName";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: isWidgetType
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::isWidgetType
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->isWidgetType(

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for isWidgetType";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: isWindowType
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::isWindowType
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->isWindowType(

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for isWindowType";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: signalsBlocked
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::signalsBlocked
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->signalsBlocked(

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for signalsBlocked";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: blockSignals
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::blockSignals
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_bool(handler, a1
                          )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: b (bool)

        bool a1_cpp;

        a1_cpp = RJSHelper::js2cpp_bool(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->blockSignals(
                a1_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for blockSignals";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: findChild
// Source: QObject
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::findChild
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QString(handler, a1
                              , true

                             )

        && RJSHelper::is_Qt_FindChildOptions(handler, a2
                , true

                                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: aName (QString)

        QString a1_cpp;


        if (a1.isUndefined()) {
            a1_cpp = QString();
        }
        else {
            a1_cpp = RJSHelper::js2cpp_QString(handler, a1);
        }

        // convert js parameter to cpp: options (Qt::FindChildOptions)

        Qt::FindChildOptions a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = Qt::FindChildrenRecursively;
        }
        else {
            a2_cpp = RJSHelper::js2cpp_Qt_FindChildOptions(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QObject* res =

            w->findChild<QObject*>(
                a1_cpp
                , a2_cpp

            );

        // return type: QObject*

        return RJSHelper::cpp2js_QObject(
                   handler,
                   // non-copyable: true
                   res

               );

    }

    qWarning() << "no matching function variant found for findChild";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: children
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::children
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        // return type is reference:
        // use pointer instead 3:
        const QObjectList* res =
            &
            w->children(

            );

        // return type: const QObjectList&

        return RJSHelper::cpp2js_QObjectList(
                   handler,
                   // non-copyable: false
                   // return type is reference, type is copyable:
                   // convert pointer back to reference:
                   *res

               );

    }

    qWarning() << "no matching function variant found for children";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: setParent
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::setParent
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QObject_ptr(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QObject)


        // pointer:
        QObject*
        a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QObject_ptr(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->setParent(
            a1_cpp

        );

        return QJSValue();

    }

    qWarning() << "no matching function variant found for setParent";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: installEventFilter
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::installEventFilter
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QObject_ptr(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: filterObj (QObject)


        // pointer:
        QObject*
        a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QObject_ptr(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->installEventFilter(
            a1_cpp

        );

        return QJSValue();

    }

    qWarning() << "no matching function variant found for installEventFilter";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: removeEventFilter
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::removeEventFilter
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QObject_ptr(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: obj (QObject)


        // pointer:
        QObject*
        a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QObject_ptr(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->removeEventFilter(
            a1_cpp

        );

        return QJSValue();

    }

    qWarning() << "no matching function variant found for removeEventFilter";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: dumpObjectTree
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::dumpObjectTree
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->dumpObjectTree(

        );

        return QJSValue();

    }

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->dumpObjectTree(

        );

        return QJSValue();

    }

    qWarning() << "no matching function variant found for dumpObjectTree";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: dumpObjectInfo
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::dumpObjectInfo
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->dumpObjectInfo(

        );

        return QJSValue();

    }

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->dumpObjectInfo(

        );

        return QJSValue();

    }

    qWarning() << "no matching function variant found for dumpObjectInfo";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: setProperty
// Source: QObject
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::setProperty
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_char_ptr(handler, a1
                               , true

                              )

        && RJSHelper::is_QVariant(handler, a2
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: name (char)


        // char pointer string:
        QByteArray a1_ba = RJSHelper::js2cpp_char_ptr(handler, a1).toLocal8Bit();
        const char* a1_cpp = a1_ba.constData();

        // convert js parameter to cpp: value (QVariant)

        QVariant a2_cpp;

        a2_cpp = RJSHelper::js2cpp_QVariant(handler, a2);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->setProperty(
                a1_cpp
                , a2_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for setProperty";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: property
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::property
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_char_ptr(handler, a1
                               , true

                              )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: name (char)


        // char pointer string:
        QByteArray a1_ba = RJSHelper::js2cpp_char_ptr(handler, a1).toLocal8Bit();
        const char* a1_cpp = a1_ba.constData();


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QVariant res =

            w->property(
                a1_cpp

            );

        // return type: QVariant

        return RJSHelper::cpp2js_QVariant(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for property";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: dynamicPropertyNames
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::dynamicPropertyNames
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QList<QByteArray> res =

            w->dynamicPropertyNames(

            );

        // return type: QList<QByteArray>

        return RJSHelper::cpp2js_QList_QByteArray(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for dynamicPropertyNames";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: parent
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::parent
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QObject* res =

            w->parent(

            );

        // return type: QObject*

        return RJSHelper::cpp2js_QObject(
                   handler,
                   // non-copyable: true
                   res

               );

    }

    qWarning() << "no matching function variant found for parent";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: deleteLater
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::deleteLater
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->deleteLater(

        );

        return QJSValue();

    }

    qWarning() << "no matching function variant found for deleteLater";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: hasIndex
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::hasIndex
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: column (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->hasIndex(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for hasIndex";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: rowCount
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::rowCount
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;


        if (a1.isUndefined()) {
            a1_cpp = QModelIndex();
        }
        else {
            a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        int res =

            w->rowCount(
                a1_cpp

            );

        // return type: int

        return RJSHelper::cpp2js_int(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for rowCount";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: columnCount
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::columnCount
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;


        if (a1.isUndefined()) {
            a1_cpp = QModelIndex();
        }
        else {
            a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        int res =

            w->columnCount(
                a1_cpp

            );

        // return type: int

        return RJSHelper::cpp2js_int(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for columnCount";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: data
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::data
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: role (int)

        int a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = Qt::DisplayRole;
        }
        else {
            a2_cpp = RJSHelper::js2cpp_int(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QVariant res =

            w->data(
                a1_cpp
                , a2_cpp

            );

        // return type: QVariant

        return RJSHelper::cpp2js_QVariant(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for data";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: setData
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::setData
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_QVariant(handler, a2
                                 )

        && RJSHelper::is_int(handler, a3
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: value (QVariant)

        QVariant a2_cpp;

        a2_cpp = RJSHelper::js2cpp_QVariant(handler, a2);

        // convert js parameter to cpp: role (int)

        int a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = Qt::EditRole;
        }
        else {
            a3_cpp = RJSHelper::js2cpp_int(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->setData(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for setData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: headerData
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::headerData
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_Qt_Orientation(handler, a2
                                       )

        && RJSHelper::is_int(handler, a3
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: section (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: orientation (Qt::Orientation)

        Qt::Orientation a2_cpp;

        a2_cpp = RJSHelper::js2cpp_Qt_Orientation(handler, a2);

        // convert js parameter to cpp: role (int)

        int a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = Qt::DisplayRole;
        }
        else {
            a3_cpp = RJSHelper::js2cpp_int(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QVariant res =

            w->headerData(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: QVariant

        return RJSHelper::cpp2js_QVariant(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for headerData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: setHeaderData
// Source: QAbstractItemModel
// Static: false
// Parameters: 4
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::setHeaderData
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_Qt_Orientation(handler, a2
                                       )

        && RJSHelper::is_QVariant(handler, a3
                                 )

        && RJSHelper::is_int(handler, a4
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: section (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: orientation (Qt::Orientation)

        Qt::Orientation a2_cpp;

        a2_cpp = RJSHelper::js2cpp_Qt_Orientation(handler, a2);

        // convert js parameter to cpp: value (QVariant)

        QVariant a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QVariant(handler, a3);

        // convert js parameter to cpp: role (int)

        int a4_cpp;


        if (a4.isUndefined()) {
            a4_cpp = Qt::EditRole;
        }
        else {
            a4_cpp = RJSHelper::js2cpp_int(handler, a4);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->setHeaderData(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for setHeaderData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: clearItemData
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::clearItemData
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->clearItemData(
                a1_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for clearItemData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: mimeTypes
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::mimeTypes
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QStringList res =

            w->mimeTypes(

            );

        // return type: QStringList

        return RJSHelper::cpp2js_QStringList(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for mimeTypes";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: supportedDropActions
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::supportedDropActions
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        Qt::DropActions res =

            w->supportedDropActions(

            );

        // return type: Qt::DropActions

        return RJSHelper::cpp2js_Qt_DropActions(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for supportedDropActions";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: supportedDragActions
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::supportedDragActions
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        Qt::DropActions res =

            w->supportedDragActions(

            );

        // return type: Qt::DropActions

        return RJSHelper::cpp2js_Qt_DropActions(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for supportedDragActions";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: insertRows
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::insertRows
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->insertRows(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertRows";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: insertColumns
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::insertColumns
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->insertColumns(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertColumns";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: removeRows
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::removeRows
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->removeRows(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeRows";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: removeColumns
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::removeColumns
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->removeColumns(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeColumns";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: moveRows
// Source: QAbstractItemModel
// Static: false
// Parameters: 5
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::moveRows
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4,
    const QJSValue&
    a5
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_int(handler, a3
                            )

        && RJSHelper::is_QModelIndex(handler, a4
                                    )

        && RJSHelper::is_int(handler, a5
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceRow (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: count (int)

        int a3_cpp;

        a3_cpp = RJSHelper::js2cpp_int(handler, a3);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a4_cpp;

        a4_cpp = RJSHelper::js2cpp_QModelIndex(handler, a4);

        // convert js parameter to cpp: destinationChild (int)

        int a5_cpp;

        a5_cpp = RJSHelper::js2cpp_int(handler, a5);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->moveRows(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp
                , a5_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveRows";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: moveColumns
// Source: QAbstractItemModel
// Static: false
// Parameters: 5
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::moveColumns
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4,
    const QJSValue&
    a5
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_int(handler, a3
                            )

        && RJSHelper::is_QModelIndex(handler, a4
                                    )

        && RJSHelper::is_int(handler, a5
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceColumn (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: count (int)

        int a3_cpp;

        a3_cpp = RJSHelper::js2cpp_int(handler, a3);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a4_cpp;

        a4_cpp = RJSHelper::js2cpp_QModelIndex(handler, a4);

        // convert js parameter to cpp: destinationChild (int)

        int a5_cpp;

        a5_cpp = RJSHelper::js2cpp_int(handler, a5);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->moveColumns(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp
                , a5_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveColumns";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: insertRow
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::insertRow
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->insertRow(
                a1_cpp
                , a2_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertRow";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: insertColumn
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::insertColumn
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->insertColumn(
                a1_cpp
                , a2_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertColumn";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: removeRow
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::removeRow
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->removeRow(
                a1_cpp
                , a2_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeRow";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: removeColumn
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::removeColumn
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->removeColumn(
                a1_cpp
                , a2_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeColumn";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: moveRow
// Source: QAbstractItemModel
// Static: false
// Parameters: 4
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::moveRow
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                    )

        && RJSHelper::is_int(handler, a4
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceRow (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);

        // convert js parameter to cpp: destinationChild (int)

        int a4_cpp;

        a4_cpp = RJSHelper::js2cpp_int(handler, a4);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->moveRow(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveRow";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: moveColumn
// Source: QAbstractItemModel
// Static: false
// Parameters: 4
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::moveColumn
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                    )

        && RJSHelper::is_int(handler, a4
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceColumn (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);

        // convert js parameter to cpp: destinationChild (int)

        int a4_cpp;

        a4_cpp = RJSHelper::js2cpp_int(handler, a4);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->moveColumn(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveColumn";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: fetchMore
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::fetchMore
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->fetchMore(
            a1_cpp

        );

        return QJSValue();

    }

    qWarning() << "no matching function variant found for fetchMore";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: canFetchMore
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::canFetchMore
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->canFetchMore(
                a1_cpp

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for canFetchMore";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: sort
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::sort
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_Qt_SortOrder(handler, a2
                                      , true

                                     )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: order (Qt::SortOrder)

        Qt::SortOrder a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = Qt::AscendingOrder;
        }
        else {
            a2_cpp = RJSHelper::js2cpp_Qt_SortOrder(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->sort(
            a1_cpp
            , a2_cpp

        );

        return QJSValue();

    }

    qWarning() << "no matching function variant found for sort";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: buddy
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::buddy
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QModelIndex res =

            w->buddy(
                a1_cpp

            );

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for buddy";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: span
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::span
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QSize res =

            w->span(
                a1_cpp

            );

        // return type: QSize

        return RJSHelper::cpp2js_QSize(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for span";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: roleNames
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::roleNames
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QHash<int,QByteArray> res =

            w->roleNames(

            );

        // return type: QHash<int,QByteArray>

        return RJSHelper::cpp2js_QHash_int_QByteArray(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for roleNames";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: headerDataChanged
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

// signal emitter: called when signal is emitted from wrapped object:
void
QAbstractTableModel_Wrapper::headerDataChangedEmitter(
    Qt::Orientation orientation, int first, int last
) {
    // convert cpp parameters to js:

    // parameter: orientation (Qt::Orientation)



    QJSValue a1_js = RJSHelper::cpp2js_Qt_Orientation(
                         handler,
                         orientation
                     );

    // parameter: first (int)



    QJSValue a2_js = RJSHelper::cpp2js_int(
                         handler,
                         first
                     );

    // parameter: last (int)



    QJSValue a3_js = RJSHelper::cpp2js_int(
                         handler,
                         last
                     );


    emit headerDataChanged(
        a1_js, a2_js, a3_js
    );
}

// Class: QAbstractTableModel
// Function: rowsInserted
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

// signal emitter: called when signal is emitted from wrapped object:
void
QAbstractTableModel_Wrapper::rowsInsertedEmitter(
    const QModelIndex& parent, int first, int last
) {
    // convert cpp parameters to js:

    // parameter: parent (QModelIndex)



    QJSValue a1_js = RJSHelper::cpp2js_QModelIndex(
                         handler,
                         parent
                     );

    // parameter: first (int)



    QJSValue a2_js = RJSHelper::cpp2js_int(
                         handler,
                         first
                     );

    // parameter: last (int)



    QJSValue a3_js = RJSHelper::cpp2js_int(
                         handler,
                         last
                     );


    emit rowsInserted(
        a1_js, a2_js, a3_js
    );
}

// Class: QAbstractTableModel
// Function: submit
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::submit
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        bool res =

            w->submit(

            );

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for submit";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: revert
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::revert
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();

        w->revert(

        );

        return QJSValue();

    }

    qWarning() << "no matching function variant found for revert";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: index
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::index
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: column (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QModelIndex res =

            w->index(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for index";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: sibling
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::sibling
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: column (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: idx (QModelIndex)

        QModelIndex a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        QModelIndex res =

            w->sibling(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for sibling";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractTableModel
// Function: flags
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractTableModel_Wrapper::flags
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractTableModel* w = getWrapped();
        Qt::ItemFlags res =

            w->flags(
                a1_cpp

            );

        // return type: Qt::ItemFlags

        return RJSHelper::cpp2js_Qt_ItemFlags(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for flags";
    handler.trace();
    return QJSValue();

}


// member functions for static properties, forward to static function



// protected overwritten functions / events and their public invokable counterparts:

#include "qabstractitemmodel_wrapper.h"


// list of registered base casters for this wrapper class:
QList<RJSBasecaster_QAbstractListModel*> QAbstractListModel_Wrapper::basecasters_QAbstractListModel;

// static functions implementation in singleton wrapper:

// Class: QAbstractListModel
// Function: tr
// Source: QObject
// Static: true
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractListModel_WrapperSingleton::tr
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_char_ptr(handler, a1
                               , true

                              )

        && RJSHelper::is_char_ptr(handler, a2
                                  , true

                                 )

        && RJSHelper::is_int(handler, a3
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceText (char)


        // char pointer string:
        QByteArray a1_ba = RJSHelper::js2cpp_char_ptr(handler, a1).toLocal8Bit();
        const char* a1_cpp = a1_ba.constData();

        // convert js parameter to cpp:  (char)


        // char pointer string:
        QByteArray a2_ba = RJSHelper::js2cpp_char_ptr(handler, a2).toLocal8Bit();
        const char* a2_cpp = a2_ba.constData();

        // convert js parameter to cpp:  (int)

        int a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = -1;
        }
        else {
            a3_cpp = RJSHelper::js2cpp_int(handler, a3);
        }


        // call function:

        // static member function:
        // call base class static function:
        QString res =

            // call static member function:
            QObject::tr(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        // return type: QString

        return RJSHelper::cpp2js_QString(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for tr";
    handler.trace();
    return QJSValue();

}

void QAbstractListModel_Wrapper::init(RJSApi& handler) {

    //qmlRegisterType<QAbstractListModel_Wrapper>("org.qcad", 1, 0, "QAbstractListModel_Wrapper");
    qmlRegisterInterface<QAbstractListModel_Wrapper>("QAbstractListModel_Wrapper", 1);


    QJSEngine* engine = handler.getEngine();


    // make type scriptable for JS files:
    QJSValue global = engine->globalObject();
    RJSType_QAbstractListModel* t = new RJSType_QAbstractListModel();
    global.setProperty("RJSType_QAbstractListModel", engine->newQObject(t));

    // initialize ID for this type:
    RJSType_QAbstractListModel::getIdStatic();



    // wrapper:
    QJSValue mo = engine->newQMetaObject(&QAbstractListModel_Wrapper::staticMetaObject);
    engine->globalObject().setProperty("QAbstractListModel_Wrapper", mo);



    // JS base class:
    //QJSValue mob = engine->newQMetaObject(&QAbstractListModel_BaseJs::staticMetaObject);
    //engine->globalObject().setProperty("QAbstractListModel_BaseJs", mob);

    // singleton wrapper:
    QJSValue mos = engine->newQMetaObject(&QAbstractListModel_WrapperSingleton::staticMetaObject);
    engine->globalObject().setProperty("QAbstractListModel_WrapperSingleton", mos);

    // create instance of singleton wrapper for static functions:
    QAbstractListModel_WrapperSingleton * s = new QAbstractListModel_WrapperSingleton(handler);
    engine->globalObject().setProperty("QAbstractListModel_WrapperSingletonInstance", engine->newQObject(s));
    QJSEngine::setObjectOwnership(s, QJSEngine::CppOwnership);

    QString fileName = ":generator/js/QAbstractListModel.js";
    QFile scriptFile(fileName);
    if (!scriptFile.open(QIODevice::ReadOnly)) {
        qWarning() << "JS script wrapper file not found:" << fileName;
        return;
    }
    QTextStream stream(&scriptFile);
    QString contents = stream.readAll();
    scriptFile.close();

    qDebug() << "Evaluating file: " << fileName;
    QJSValue result = engine->evaluate(contents, fileName);
    if (result.isError()) {
        qWarning()
                << "Uncaught exception at line"
                << result.property("lineNumber").toInt()
                << ":" << result.toString();
    }
}

/*
// special constructor used as prototype:
QAbstractListModel_Wrapper::QAbstractListModel_Wrapper(QJSEngine* e) : wrapped(nullptr), wrappedCreated(false) {
        //setObjectName("QAbstractListModel_Wrapper");
        setEngine(e);

        // signal forwarding:
        //initConnections();
      }

*/


// special constructor to wrap existing object:
QAbstractListModel_Wrapper::QAbstractListModel_Wrapper(RJSApi& h, QAbstractListModel* o, bool wrappedCreated) : RJSWrapperObj(h), wrapped(o), wrappedCreated(wrappedCreated) {
    //RDebug::incCounter(QString("QAbstractListModel_Wrapper_") + handler.getEngine()->objectName());
    //RDebug::incCounter(QString("QAbstractListModel_Wrapper"));
    //setObjectName("QAbstractListModel_Wrapper");
    //setHandler(h);

    // signal forwarding:
    initConnections();
}


// destructor:
QAbstractListModel_Wrapper::~QAbstractListModel_Wrapper() {
    //RDebug::decCounter(QString("QAbstractListModel_Wrapper_") + handler.getEngine()->objectName());
    //RDebug::decCounter(QString("QAbstractListModel_Wrapper"));

    //qDebug() << "QAbstractListModel_Wrapper::~QAbstractListModel_Wrapper";

    // tell script handler that this wrapper no longer exists:
    handler.unregisterWrapper(*this);


    if (wrappedCreated) {

        // never delete wrapped object (non-copyable, CPP ownership or private destructor)
        //qDebug() << "NOT deleting instance of QAbstractListModel";

    }

}

// initialization of signal forwarding

void QAbstractListModel_Wrapper::initConnections() {

    //setObjectName("QAbstractListModel_Wrapper");

    // tell script handler that this wrapper needs to be deleted if the engine is deleted:
    handler.registerWrapper(*this);


    // wrapped object is a QObject and not a wrapper for a null pointer:
    // wrapper is managed by the QObject as child:
    if (hasWrapped()) {
        QJSEngine::setObjectOwnership(this, QJSEngine::CppOwnership);
    }


    if (hasWrapped()) {

        // set parent of wrapper to wrapped:
        // wrapper can be looked up for object:
        QVariant vThis = QVariant::fromValue(this);
        getWrapped()->setProperty("__wrapper__",  vThis);

        // make sure wrapper is deleted when object is deleted:
        // make sure wrapper stays alive as long as the wrapped stays alive::
        QObject::setParent(getWrapped());

        // set up signal forwarding:

        connect(
            getWrapped(),
            SIGNAL(headerDataChanged(Qt::Orientation, int, int)),
            this,
            SLOT(headerDataChangedEmitter(Qt::Orientation, int, int))
        );

        connect(
            getWrapped(),
            SIGNAL(rowsInserted(const QModelIndex&, int, int)),
            this,
            SLOT(rowsInsertedEmitter(const QModelIndex&, int, int))
        );

        /*
        connect(
          getWrapped(),
          SIGNAL(destroyed(QObject*)),
          &handler,
          SLOT(slotDestroyed(QObject*))
        );
        */

    }
}


// constructors:


// non-static functions:

// Class: QAbstractListModel
// Function: objectName
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::objectName
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QString res =

            w->objectName(

            );

        //setRecFlag(false);

        // return type: QString

        return RJSHelper::cpp2js_QString(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for objectName";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: setObjectName
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::setObjectName
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QString(handler, a1
                             )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: name (QString)

        QString a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QString(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->setObjectName(
            a1_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for setObjectName";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: isWidgetType
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::isWidgetType
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->isWidgetType(

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for isWidgetType";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: isWindowType
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::isWindowType
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->isWindowType(

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for isWindowType";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: signalsBlocked
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::signalsBlocked
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->signalsBlocked(

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for signalsBlocked";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: blockSignals
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::blockSignals
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_bool(handler, a1
                          )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: b (bool)

        bool a1_cpp;

        a1_cpp = RJSHelper::js2cpp_bool(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->blockSignals(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for blockSignals";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: findChild
// Source: QObject
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::findChild
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QString(handler, a1
                              , true

                             )

        && RJSHelper::is_Qt_FindChildOptions(handler, a2
                , true

                                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: aName (QString)

        QString a1_cpp;


        if (a1.isUndefined()) {
            a1_cpp = QString();
        }
        else {
            a1_cpp = RJSHelper::js2cpp_QString(handler, a1);
        }

        // convert js parameter to cpp: options (Qt::FindChildOptions)

        Qt::FindChildOptions a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = Qt::FindChildrenRecursively;
        }
        else {
            a2_cpp = RJSHelper::js2cpp_Qt_FindChildOptions(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QObject* res =

            w->findChild<QObject*>(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: QObject*

        return RJSHelper::cpp2js_QObject(
                   handler,
                   // non-copyable: true
                   res

               );

    }

    qWarning() << "no matching function variant found for findChild";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: children
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::children
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        // return type is reference:
        // use pointer instead 3:
        const QObjectList* res =
            &
            w->children(

            );

        //setRecFlag(false);

        // return type: const QObjectList&

        return RJSHelper::cpp2js_QObjectList(
                   handler,
                   // non-copyable: false
                   // return type is reference, type is copyable:
                   // convert pointer back to reference:
                   *res

               );

    }

    qWarning() << "no matching function variant found for children";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: setParent
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::setParent
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QObject_ptr(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QObject)


        // pointer:
        QObject*
        a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QObject_ptr(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->setParent(
            a1_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for setParent";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: installEventFilter
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::installEventFilter
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QObject_ptr(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: filterObj (QObject)


        // pointer:
        QObject*
        a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QObject_ptr(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->installEventFilter(
            a1_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for installEventFilter";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: removeEventFilter
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::removeEventFilter
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QObject_ptr(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: obj (QObject)


        // pointer:
        QObject*
        a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QObject_ptr(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->removeEventFilter(
            a1_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for removeEventFilter";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: dumpObjectTree
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::dumpObjectTree
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->dumpObjectTree(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->dumpObjectTree(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for dumpObjectTree";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: dumpObjectInfo
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::dumpObjectInfo
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->dumpObjectInfo(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->dumpObjectInfo(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for dumpObjectInfo";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: setProperty
// Source: QObject
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::setProperty
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_char_ptr(handler, a1
                               , true

                              )

        && RJSHelper::is_QVariant(handler, a2
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: name (char)


        // char pointer string:
        QByteArray a1_ba = RJSHelper::js2cpp_char_ptr(handler, a1).toLocal8Bit();
        const char* a1_cpp = a1_ba.constData();

        // convert js parameter to cpp: value (QVariant)

        QVariant a2_cpp;

        a2_cpp = RJSHelper::js2cpp_QVariant(handler, a2);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->setProperty(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for setProperty";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: property
// Source: QObject
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::property
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_char_ptr(handler, a1
                               , true

                              )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: name (char)


        // char pointer string:
        QByteArray a1_ba = RJSHelper::js2cpp_char_ptr(handler, a1).toLocal8Bit();
        const char* a1_cpp = a1_ba.constData();


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QVariant res =

            w->property(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: QVariant

        return RJSHelper::cpp2js_QVariant(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for property";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: dynamicPropertyNames
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::dynamicPropertyNames
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QList<QByteArray> res =

            w->dynamicPropertyNames(

            );

        //setRecFlag(false);

        // return type: QList<QByteArray>

        return RJSHelper::cpp2js_QList_QByteArray(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for dynamicPropertyNames";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: parent
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::parent
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QObject* res =

            w->parent(

            );

        //setRecFlag(false);

        // return type: QObject*

        return RJSHelper::cpp2js_QObject(
                   handler,
                   // non-copyable: true
                   res

               );

    }

    qWarning() << "no matching function variant found for parent";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: deleteLater
// Source: QObject
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::deleteLater
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->deleteLater(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for deleteLater";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: hasIndex
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::hasIndex
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: column (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->hasIndex(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for hasIndex";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: rowCount
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::rowCount
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                  , true

                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;


        if (a1.isUndefined()) {
            a1_cpp = QModelIndex();
        }
        else {
            a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        int res =

            w->rowCount(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: int

        return RJSHelper::cpp2js_int(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for rowCount";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: data
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::data
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: role (int)

        int a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = Qt::DisplayRole;
        }
        else {
            a2_cpp = RJSHelper::js2cpp_int(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QVariant res =

            w->data(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: QVariant

        return RJSHelper::cpp2js_QVariant(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for data";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: setData
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::setData
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_QVariant(handler, a2
                                 )

        && RJSHelper::is_int(handler, a3
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: value (QVariant)

        QVariant a2_cpp;

        a2_cpp = RJSHelper::js2cpp_QVariant(handler, a2);

        // convert js parameter to cpp: role (int)

        int a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = Qt::EditRole;
        }
        else {
            a3_cpp = RJSHelper::js2cpp_int(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->setData(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for setData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: headerData
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::headerData
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_Qt_Orientation(handler, a2
                                       )

        && RJSHelper::is_int(handler, a3
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: section (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: orientation (Qt::Orientation)

        Qt::Orientation a2_cpp;

        a2_cpp = RJSHelper::js2cpp_Qt_Orientation(handler, a2);

        // convert js parameter to cpp: role (int)

        int a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = Qt::DisplayRole;
        }
        else {
            a3_cpp = RJSHelper::js2cpp_int(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QVariant res =

            w->headerData(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: QVariant

        return RJSHelper::cpp2js_QVariant(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for headerData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: setHeaderData
// Source: QAbstractItemModel
// Static: false
// Parameters: 4
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::setHeaderData
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_Qt_Orientation(handler, a2
                                       )

        && RJSHelper::is_QVariant(handler, a3
                                 )

        && RJSHelper::is_int(handler, a4
                             , true

                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: section (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: orientation (Qt::Orientation)

        Qt::Orientation a2_cpp;

        a2_cpp = RJSHelper::js2cpp_Qt_Orientation(handler, a2);

        // convert js parameter to cpp: value (QVariant)

        QVariant a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QVariant(handler, a3);

        // convert js parameter to cpp: role (int)

        int a4_cpp;


        if (a4.isUndefined()) {
            a4_cpp = Qt::EditRole;
        }
        else {
            a4_cpp = RJSHelper::js2cpp_int(handler, a4);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->setHeaderData(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for setHeaderData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: clearItemData
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::clearItemData
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->clearItemData(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for clearItemData";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: mimeTypes
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::mimeTypes
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QStringList res =

            w->mimeTypes(

            );

        //setRecFlag(false);

        // return type: QStringList

        return RJSHelper::cpp2js_QStringList(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for mimeTypes";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: supportedDropActions
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::supportedDropActions
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        Qt::DropActions res =

            w->supportedDropActions(

            );

        //setRecFlag(false);

        // return type: Qt::DropActions

        return RJSHelper::cpp2js_Qt_DropActions(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for supportedDropActions";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: supportedDragActions
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::supportedDragActions
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        Qt::DropActions res =

            w->supportedDragActions(

            );

        //setRecFlag(false);

        // return type: Qt::DropActions

        return RJSHelper::cpp2js_Qt_DropActions(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for supportedDragActions";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: insertRows
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::insertRows
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->insertRows(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertRows";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: insertColumns
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::insertColumns
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->insertColumns(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertColumns";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: removeRows
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::removeRows
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->removeRows(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeRows";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: removeColumns
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::removeColumns
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: count (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->removeColumns(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeColumns";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: moveRows
// Source: QAbstractItemModel
// Static: false
// Parameters: 5
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::moveRows
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4,
    const QJSValue&
    a5
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_int(handler, a3
                            )

        && RJSHelper::is_QModelIndex(handler, a4
                                    )

        && RJSHelper::is_int(handler, a5
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceRow (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: count (int)

        int a3_cpp;

        a3_cpp = RJSHelper::js2cpp_int(handler, a3);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a4_cpp;

        a4_cpp = RJSHelper::js2cpp_QModelIndex(handler, a4);

        // convert js parameter to cpp: destinationChild (int)

        int a5_cpp;

        a5_cpp = RJSHelper::js2cpp_int(handler, a5);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->moveRows(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp
                , a5_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveRows";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: moveColumns
// Source: QAbstractItemModel
// Static: false
// Parameters: 5
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::moveColumns
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4,
    const QJSValue&
    a5
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_int(handler, a3
                            )

        && RJSHelper::is_QModelIndex(handler, a4
                                    )

        && RJSHelper::is_int(handler, a5
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceColumn (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: count (int)

        int a3_cpp;

        a3_cpp = RJSHelper::js2cpp_int(handler, a3);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a4_cpp;

        a4_cpp = RJSHelper::js2cpp_QModelIndex(handler, a4);

        // convert js parameter to cpp: destinationChild (int)

        int a5_cpp;

        a5_cpp = RJSHelper::js2cpp_int(handler, a5);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->moveColumns(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp
                , a5_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveColumns";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: insertRow
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::insertRow
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->insertRow(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertRow";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: insertColumn
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::insertColumn
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->insertColumn(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for insertColumn";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: removeRow
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::removeRow
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->removeRow(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeRow";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: removeColumn
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::removeColumn
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_QModelIndex(handler, a2
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = QModelIndex();
        }
        else {
            a2_cpp = RJSHelper::js2cpp_QModelIndex(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->removeColumn(
                a1_cpp
                , a2_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for removeColumn";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: moveRow
// Source: QAbstractItemModel
// Static: false
// Parameters: 4
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::moveRow
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                    )

        && RJSHelper::is_int(handler, a4
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceRow (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);

        // convert js parameter to cpp: destinationChild (int)

        int a4_cpp;

        a4_cpp = RJSHelper::js2cpp_int(handler, a4);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->moveRow(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveRow";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: moveColumn
// Source: QAbstractItemModel
// Static: false
// Parameters: 4
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::moveColumn
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3,
    const QJSValue&
    a4
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                    )

        && RJSHelper::is_int(handler, a4
                            )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: sourceParent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);

        // convert js parameter to cpp: sourceColumn (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: destinationParent (QModelIndex)

        QModelIndex a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);

        // convert js parameter to cpp: destinationChild (int)

        int a4_cpp;

        a4_cpp = RJSHelper::js2cpp_int(handler, a4);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->moveColumn(
                a1_cpp
                , a2_cpp
                , a3_cpp
                , a4_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for moveColumn";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: fetchMore
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::fetchMore
(

    const QJSValue&
    a1
)

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->fetchMore(
            a1_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for fetchMore";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: canFetchMore
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::canFetchMore
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->canFetchMore(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for canFetchMore";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: sort
// Source: QAbstractItemModel
// Static: false
// Parameters: 2
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::sort
(

    const QJSValue&
    a1,
    const QJSValue&
    a2
)

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_Qt_SortOrder(handler, a2
                                      , true

                                     )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: column (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: order (Qt::SortOrder)

        Qt::SortOrder a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = Qt::AscendingOrder;
        }
        else {
            a2_cpp = RJSHelper::js2cpp_Qt_SortOrder(handler, a2);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->sort(
            a1_cpp
            , a2_cpp

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for sort";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: buddy
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::buddy
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QModelIndex res =

            w->buddy(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for buddy";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: span
// Source: QAbstractItemModel
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::span
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QSize res =

            w->span(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: QSize

        return RJSHelper::cpp2js_QSize(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for span";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: roleNames
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::roleNames
(

)

const

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QHash<int,QByteArray> res =

            w->roleNames(

            );

        //setRecFlag(false);

        // return type: QHash<int,QByteArray>

        return RJSHelper::cpp2js_QHash_int_QByteArray(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for roleNames";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: headerDataChanged
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

// signal emitter: called when signal is emitted from wrapped object:
void
QAbstractListModel_Wrapper::headerDataChangedEmitter(
    Qt::Orientation orientation, int first, int last
) {
    // convert cpp parameters to js:

    // parameter: orientation (Qt::Orientation)



    QJSValue a1_js = RJSHelper::cpp2js_Qt_Orientation(
                         handler,
                         orientation
                     );

    // parameter: first (int)



    QJSValue a2_js = RJSHelper::cpp2js_int(
                         handler,
                         first
                     );

    // parameter: last (int)



    QJSValue a3_js = RJSHelper::cpp2js_int(
                         handler,
                         last
                     );


    emit headerDataChanged(
        a1_js, a2_js, a3_js
    );
}

// Class: QAbstractListModel
// Function: rowsInserted
// Source: QAbstractItemModel
// Static: false
// Parameters: 3
// preceding Parameters: -1

// signal emitter: called when signal is emitted from wrapped object:
void
QAbstractListModel_Wrapper::rowsInsertedEmitter(
    const QModelIndex& parent, int first, int last
) {
    // convert cpp parameters to js:

    // parameter: parent (QModelIndex)



    QJSValue a1_js = RJSHelper::cpp2js_QModelIndex(
                         handler,
                         parent
                     );

    // parameter: first (int)



    QJSValue a2_js = RJSHelper::cpp2js_int(
                         handler,
                         first
                     );

    // parameter: last (int)



    QJSValue a3_js = RJSHelper::cpp2js_int(
                         handler,
                         last
                     );


    emit rowsInserted(
        a1_js, a2_js, a3_js
    );
}

// Class: QAbstractListModel
// Function: submit
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::submit
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        bool res =

            w->submit(

            );

        //setRecFlag(false);

        // return type: bool

        return RJSHelper::cpp2js_bool(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for submit";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: revert
// Source: QAbstractItemModel
// Static: false
// Parameters: 0
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::revert
(

)

{

    {


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();

        w->revert(

        );

        //setRecFlag(false);

        return QJSValue();

    }

    qWarning() << "no matching function variant found for revert";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: index
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::index
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                             , true

                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                     , true

                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: column (int)

        int a2_cpp;


        if (a2.isUndefined()) {
            a2_cpp = 0;
        }
        else {
            a2_cpp = RJSHelper::js2cpp_int(handler, a2);
        }

        // convert js parameter to cpp: parent (QModelIndex)

        QModelIndex a3_cpp;


        if (a3.isUndefined()) {
            a3_cpp = QModelIndex();
        }
        else {
            a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);
        }


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QModelIndex res =

            w->index(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for index";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: sibling
// Source:
// Static: false
// Parameters: 3
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::sibling
(

    const QJSValue&
    a1,
    const QJSValue&
    a2,
    const QJSValue&
    a3
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_int(handler, a1
                         )

        && RJSHelper::is_int(handler, a2
                            )

        && RJSHelper::is_QModelIndex(handler, a3
                                    )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: row (int)

        int a1_cpp;

        a1_cpp = RJSHelper::js2cpp_int(handler, a1);

        // convert js parameter to cpp: column (int)

        int a2_cpp;

        a2_cpp = RJSHelper::js2cpp_int(handler, a2);

        // convert js parameter to cpp: idx (QModelIndex)

        QModelIndex a3_cpp;

        a3_cpp = RJSHelper::js2cpp_QModelIndex(handler, a3);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        QModelIndex res =

            w->sibling(
                a1_cpp
                , a2_cpp
                , a3_cpp

            );

        //setRecFlag(false);

        // return type: QModelIndex

        return RJSHelper::cpp2js_QModelIndex(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for sibling";
    handler.trace();
    return QJSValue();

}

// Class: QAbstractListModel
// Function: flags
// Source:
// Static: false
// Parameters: 1
// preceding Parameters: -1

QJSValue
QAbstractListModel_Wrapper::flags
(

    const QJSValue&
    a1
)

const

{

    // check parameter types:
    if (
        RJSHelper::is_QModelIndex(handler, a1
                                 )


    ) {

        // prepare parameters:

        // convert js parameter to cpp: index (QModelIndex)

        QModelIndex a1_cpp;

        a1_cpp = RJSHelper::js2cpp_QModelIndex(handler, a1);


        // call function:

        if (!hasWrapped()) {
            qWarning() << "wrapped is NULL";
            handler.trace();
            return QJSValue();
        }


        //setRecFlag(true);

        // non-static member function:
        // call function of wrapped object:

        // call function of C++ class:
        QAbstractListModel* w = getWrapped();
        Qt::ItemFlags res =

            w->flags(
                a1_cpp

            );

        //setRecFlag(false);

        // return type: Qt::ItemFlags

        return RJSHelper::cpp2js_Qt_ItemFlags(
                   handler,
                   // non-copyable: false
                   res

               );

    }

    qWarning() << "no matching function variant found for flags";
    handler.trace();
    return QJSValue();

}


// member functions for static properties, forward to static function



// protected overwritten functions / events and their public invokable counterparts:

