//Auto-generated by /usr/bin/smokegen. DO NOT EDIT.
#include <qtgui_includes.h>
#include <typeinfo>

#include <smoke.h>
#include <qtgui_smoke.h>

class __internal_SmokeClass {};

namespace __smokeqtgui {

class x_QAccessibleBridgeFactoryInterface : public QAccessibleBridgeFactoryInterface, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual QAccessibleBridge* create(const QString&) = 0
        QAccessibleBridge* xret = this->create(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_2(Smoke::Stack x) {
        // QAccessibleBridgeFactoryInterface* QAccessibleBridgeFactoryInterface()
        x_QAccessibleBridgeFactoryInterface* xret = new x_QAccessibleBridgeFactoryInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleBridgeFactoryInterface() : QAccessibleBridgeFactoryInterface() {}
    static void x_3(Smoke::Stack x) {
        // QAccessibleBridgeFactoryInterface* QAccessibleBridgeFactoryInterface(const QAccessibleBridgeFactoryInterface&)
        x_QAccessibleBridgeFactoryInterface* xret = new x_QAccessibleBridgeFactoryInterface(*(const QAccessibleBridgeFactoryInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleBridgeFactoryInterface(const QAccessibleBridgeFactoryInterface& x1) : QAccessibleBridgeFactoryInterface(x1) {}
    virtual QAccessibleBridge* create(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(946, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleBridge*)x[0].s_class;
    }
    virtual QStringList keys() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(2954, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    ~x_QAccessibleBridgeFactoryInterface() { this->_binding->deleted(24, (void*)this); }
};
void xcall_QAccessibleBridgeFactoryInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleBridgeFactoryInterface *xself = (x_QAccessibleBridgeFactoryInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: x_QAccessibleBridgeFactoryInterface::x_2(args);	break;
        case 3: x_QAccessibleBridgeFactoryInterface::x_3(args);	break;
        case 4: delete (QAccessibleBridgeFactoryInterface*)xself;	break;
    }
}
class x_QAccessibleBridgePlugin : public QAccessibleBridgePlugin, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleBridgePlugin*>(this))) {
            const QMetaObject* xret = ((const x_QAccessibleBridgePlugin*)this)->QAccessibleBridgePlugin::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QAccessibleBridgePlugin*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleBridgePlugin*>(this))) {
            void* xret = this->QAccessibleBridgePlugin::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QAccessibleBridgePlugin::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QAccessibleBridgePlugin::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QAccessibleBridgePlugin::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QAccessibleBridgePlugin::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleBridgePlugin*>(this))) {
            int xret = this->QAccessibleBridgePlugin::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QAccessibleBridgePlugin* QAccessibleBridgePlugin(QObject*)
        x_QAccessibleBridgePlugin* xret = new x_QAccessibleBridgePlugin((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleBridgePlugin(QObject* x1) : QAccessibleBridgePlugin(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual QStringList keys() const = 0
        QStringList xret = ((const x_QAccessibleBridgePlugin*)this)->keys();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_10(Smoke::Stack x) {
        // virtual QAccessibleBridge* create(const QString&) = 0
        QAccessibleBridge* xret = this->create(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_11(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QAccessibleBridgePlugin::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QAccessibleBridgePlugin::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // QAccessibleBridgePlugin* QAccessibleBridgePlugin()
        x_QAccessibleBridgePlugin* xret = new x_QAccessibleBridgePlugin((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_14(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QAccessibleBridgePlugin::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(950, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QAccessibleBridgePlugin::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(951, (void*)this, x)) return (void*)x[0].s_class;
        return this->QAccessibleBridgePlugin::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(956, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleBridgePlugin::qt_metacall(x1, x2, x3);
    }
    virtual QStringList keys() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(958, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QAccessibleBridge* create(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(959, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleBridge*)x[0].s_class;
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8374, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(8375, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8376, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8377, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8378, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8379, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8380, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_QAccessibleBridgePlugin() { this->_binding->deleted(25, (void*)this); }
};
void xcall_QAccessibleBridgePlugin(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleBridgePlugin *xself = (x_QAccessibleBridgePlugin*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QAccessibleBridgePlugin::x_3(args);	break;
        case 4: x_QAccessibleBridgePlugin::x_4(args);	break;
        case 5: x_QAccessibleBridgePlugin::x_5(args);	break;
        case 6: x_QAccessibleBridgePlugin::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QAccessibleBridgePlugin::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_QAccessibleBridgePlugin::x_11(args);	break;
        case 12: x_QAccessibleBridgePlugin::x_12(args);	break;
        case 13: x_QAccessibleBridgePlugin::x_13(args);	break;
        case 14: x_QAccessibleBridgePlugin::x_14(args);	break;
        case 15: delete (QAccessibleBridgePlugin*)xself;	break;
    }
}
class x_QAccessibleEditableTextInterface : public QAccessibleEditableTextInterface, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // QAccessible2Interface* qAccessibleEditableTextCastHelper()
        QAccessible2Interface* xret = this->QAccessibleEditableTextInterface::qAccessibleEditableTextCastHelper();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void copyText(int, int) = 0
        this->copyText((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // virtual void deleteText(int, int) = 0
        this->deleteText((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // virtual void insertText(int, const QString&) = 0
        this->insertText((int)x[1].s_int,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // virtual void cutText(int, int) = 0
        this->cutText((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // virtual void pasteText(int) = 0
        this->pasteText((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // virtual void replaceText(int, int, const QString&) = 0
        this->replaceText((int)x[1].s_int,(int)x[2].s_int,*(const QString*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // virtual void setAttributes(int, int, const QString&) = 0
        this->setAttributes((int)x[1].s_int,(int)x[2].s_int,*(const QString*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_9(Smoke::Stack x) {
        // QAccessibleEditableTextInterface* QAccessibleEditableTextInterface()
        x_QAccessibleEditableTextInterface* xret = new x_QAccessibleEditableTextInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleEditableTextInterface() : QAccessibleEditableTextInterface() {}
    static void x_10(Smoke::Stack x) {
        // QAccessibleEditableTextInterface* QAccessibleEditableTextInterface(const QAccessibleEditableTextInterface&)
        x_QAccessibleEditableTextInterface* xret = new x_QAccessibleEditableTextInterface(*(const QAccessibleEditableTextInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleEditableTextInterface(const QAccessibleEditableTextInterface& x1) : QAccessibleEditableTextInterface(x1) {}
    virtual void copyText(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(966, (void*)this, x, true /*pure virtual*/);
    }
    virtual void deleteText(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(967, (void*)this, x, true /*pure virtual*/);
    }
    virtual void insertText(int x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(968, (void*)this, x, true /*pure virtual*/);
    }
    virtual void cutText(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(969, (void*)this, x, true /*pure virtual*/);
    }
    virtual void pasteText(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(970, (void*)this, x, true /*pure virtual*/);
    }
    virtual void replaceText(int x1, int x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(971, (void*)this, x, true /*pure virtual*/);
    }
    virtual void setAttributes(int x1, int x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(972, (void*)this, x, true /*pure virtual*/);
    }
    ~x_QAccessibleEditableTextInterface() { this->_binding->deleted(26, (void*)this); }
};
void xcall_QAccessibleEditableTextInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleEditableTextInterface *xself = (x_QAccessibleEditableTextInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: x_QAccessibleEditableTextInterface::x_9(args);	break;
        case 10: x_QAccessibleEditableTextInterface::x_10(args);	break;
        case 11: delete (QAccessibleEditableTextInterface*)xself;	break;
    }
}
class x_QAccessibleEvent : public QAccessibleEvent, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QAccessibleEvent* QAccessibleEvent(QEvent::Type, int)
        x_QAccessibleEvent* xret = new x_QAccessibleEvent((QEvent::Type)x[1].s_enum,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleEvent(QEvent::Type x1, int x2) : QAccessibleEvent(x1, x2) {}
    void x_2(Smoke::Stack x) {
        // int child() const
        int xret = ((const x_QAccessibleEvent*)this)->QAccessibleEvent::child();
        x[0].s_int = xret;
    }
    void x_3(Smoke::Stack x) {
        // QString value() const
        QString xret = ((const x_QAccessibleEvent*)this)->QAccessibleEvent::value();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_4(Smoke::Stack x) {
        // void setValue(const QString&)
        this->QAccessibleEvent::setValue(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_5(Smoke::Stack x) {
        // QAccessibleEvent* QAccessibleEvent(const QAccessibleEvent&)
        x_QAccessibleEvent* xret = new x_QAccessibleEvent(*(const QAccessibleEvent*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleEvent(const QAccessibleEvent& x1) : QAccessibleEvent(x1) {}
    ~x_QAccessibleEvent() { this->_binding->deleted(27, (void*)this); }
};
void xcall_QAccessibleEvent(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleEvent *xself = (x_QAccessibleEvent*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAccessibleEvent::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: x_QAccessibleEvent::x_5(args);	break;
        case 6: delete (QAccessibleEvent*)xself;	break;
    }
}
class x_QAccessibleFactoryInterface : public QAccessibleFactoryInterface, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual QAccessibleInterface* create(const QString&, QObject*) = 0
        QAccessibleInterface* xret = this->create(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_2(Smoke::Stack x) {
        // QAccessibleFactoryInterface* QAccessibleFactoryInterface()
        x_QAccessibleFactoryInterface* xret = new x_QAccessibleFactoryInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleFactoryInterface() : QAccessibleFactoryInterface() {}
    static void x_3(Smoke::Stack x) {
        // QAccessibleFactoryInterface* QAccessibleFactoryInterface(const QAccessibleFactoryInterface&)
        x_QAccessibleFactoryInterface* xret = new x_QAccessibleFactoryInterface(*(const QAccessibleFactoryInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleFactoryInterface(const QAccessibleFactoryInterface& x1) : QAccessibleFactoryInterface(x1) {}
    virtual QAccessibleInterface* create(const QString& x1, QObject* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(982, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleInterface*)x[0].s_class;
    }
    virtual QStringList keys() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(2954, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    ~x_QAccessibleFactoryInterface() { this->_binding->deleted(28, (void*)this); }
};
void xcall_QAccessibleFactoryInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleFactoryInterface *xself = (x_QAccessibleFactoryInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: x_QAccessibleFactoryInterface::x_2(args);	break;
        case 3: x_QAccessibleFactoryInterface::x_3(args);	break;
        case 4: delete (QAccessibleFactoryInterface*)xself;	break;
    }
}
class x_QAccessibleImageInterface : public QAccessibleImageInterface, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // QAccessible2Interface* qAccessibleImageCastHelper()
        QAccessible2Interface* xret = this->QAccessibleImageInterface::qAccessibleImageCastHelper();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual QString imageDescription() = 0
        QString xret = this->imageDescription();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual QSize imageSize() = 0
        QSize xret = this->imageSize();
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_4(Smoke::Stack x) {
        // virtual QRect imagePosition(QAccessible2::CoordinateType) = 0
        QRect xret = this->imagePosition((QAccessible2::CoordinateType)x[1].s_enum);
        x[0].s_class = (void*)new QRect(xret);
    }
    static void x_5(Smoke::Stack x) {
        // QAccessibleImageInterface* QAccessibleImageInterface()
        x_QAccessibleImageInterface* xret = new x_QAccessibleImageInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleImageInterface() : QAccessibleImageInterface() {}
    static void x_6(Smoke::Stack x) {
        // QAccessibleImageInterface* QAccessibleImageInterface(const QAccessibleImageInterface&)
        x_QAccessibleImageInterface* xret = new x_QAccessibleImageInterface(*(const QAccessibleImageInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleImageInterface(const QAccessibleImageInterface& x1) : QAccessibleImageInterface(x1) {}
    virtual QString imageDescription() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(987, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QSize imageSize() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(988, (void*)this, x, true /*pure virtual*/);
        QSize* xptr = (QSize*)x[0].s_class;
        QSize xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QRect imagePosition(QAccessible2::CoordinateType x1) {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        this->_binding->callMethod(989, (void*)this, x, true /*pure virtual*/);
        QRect* xptr = (QRect*)x[0].s_class;
        QRect xret(*xptr);
        delete xptr;
        return xret;
    }
    ~x_QAccessibleImageInterface() { this->_binding->deleted(29, (void*)this); }
};
void xcall_QAccessibleImageInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleImageInterface *xself = (x_QAccessibleImageInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: x_QAccessibleImageInterface::x_5(args);	break;
        case 6: x_QAccessibleImageInterface::x_6(args);	break;
        case 7: delete (QAccessibleImageInterface*)xself;	break;
    }
}
class x_QAccessibleInterface : public QAccessibleInterface, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual bool isValid() const = 0
        bool xret = ((const x_QAccessibleInterface*)this)->isValid();
        x[0].s_bool = xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual QObject* object() const = 0
        QObject* xret = ((const x_QAccessibleInterface*)this)->object();
        x[0].s_class = (void*)xret;
    }
    void x_3(Smoke::Stack x) {
        // virtual int childCount() const = 0
        int xret = ((const x_QAccessibleInterface*)this)->childCount();
        x[0].s_int = xret;
    }
    void x_4(Smoke::Stack x) {
        // virtual int indexOfChild(const QAccessibleInterface*) const = 0
        int xret = ((const x_QAccessibleInterface*)this)->indexOfChild((const QAccessibleInterface*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_5(Smoke::Stack x) {
        // virtual QFlags<QAccessible::RelationFlag> relationTo(int, const QAccessibleInterface*, int) const = 0
        QFlags<QAccessible::RelationFlag> xret = ((const x_QAccessibleInterface*)this)->relationTo((int)x[1].s_int,(const QAccessibleInterface*)x[2].s_class,(int)x[3].s_int);
        x[0].s_uint = (uint)xret;
    }
    void x_6(Smoke::Stack x) {
        // virtual int childAt(int, int) const = 0
        int xret = ((const x_QAccessibleInterface*)this)->childAt((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // virtual int navigate(QAccessible::RelationFlag, int, QAccessibleInterface**) const = 0
        int xret = ((const x_QAccessibleInterface*)this)->navigate((QAccessible::RelationFlag)x[1].s_enum,(int)x[2].s_int,(QAccessibleInterface**)x[3].s_class);
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // virtual QString text(QAccessible::Text, int) const = 0
        QString xret = ((const x_QAccessibleInterface*)this)->text((QAccessible::Text)x[1].s_enum,(int)x[2].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_9(Smoke::Stack x) {
        // virtual void setText(QAccessible::Text, int, const QString&) = 0
        this->setText((QAccessible::Text)x[1].s_enum,(int)x[2].s_int,*(const QString*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // virtual QRect rect(int) const = 0
        QRect xret = ((const x_QAccessibleInterface*)this)->rect((int)x[1].s_int);
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_11(Smoke::Stack x) {
        // virtual QAccessible::Role role(int) const = 0
        QAccessible::Role xret = ((const x_QAccessibleInterface*)this)->role((int)x[1].s_int);
        x[0].s_enum = xret;
    }
    void x_12(Smoke::Stack x) {
        // virtual QFlags<QAccessible::StateFlag> state(int) const = 0
        QFlags<QAccessible::StateFlag> xret = ((const x_QAccessibleInterface*)this)->state((int)x[1].s_int);
        x[0].s_uint = (uint)xret;
    }
    void x_13(Smoke::Stack x) {
        // virtual int userActionCount(int) const = 0
        int xret = ((const x_QAccessibleInterface*)this)->userActionCount((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_14(Smoke::Stack x) {
        // virtual QString actionText(int, QAccessible::Text, int) const = 0
        QString xret = ((const x_QAccessibleInterface*)this)->actionText((int)x[1].s_int,(QAccessible::Text)x[2].s_enum,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_15(Smoke::Stack x) {
        // virtual bool doAction(int, int, const QList<QVariant>&) = 0
        bool xret = this->doAction((int)x[1].s_int,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // QVariant invokeMethod(QAccessible::Method, int, const QList<QVariant>&)
        QVariant xret = this->QAccessibleInterface::invokeMethod((QAccessible::Method)x[1].s_enum,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_17(Smoke::Stack x) {
        // QSet<QAccessible::Method> supportedMethods()
        QSet<QAccessible::Method> xret = this->QAccessibleInterface::supportedMethods();
        x[0].s_class = (void*)new QSet<QAccessible::Method>(xret);
    }
    void x_18(Smoke::Stack x) {
        // QColor foregroundColor()
        QColor xret = this->QAccessibleInterface::foregroundColor();
        x[0].s_class = (void*)new QColor(xret);
    }
    void x_19(Smoke::Stack x) {
        // QColor backgroundColor()
        QColor xret = this->QAccessibleInterface::backgroundColor();
        x[0].s_class = (void*)new QColor(xret);
    }
    void x_20(Smoke::Stack x) {
        // QAccessibleTextInterface* textInterface()
        QAccessibleTextInterface* xret = this->QAccessibleInterface::textInterface();
        x[0].s_class = (void*)xret;
    }
    void x_21(Smoke::Stack x) {
        // QAccessibleEditableTextInterface* editableTextInterface()
        QAccessibleEditableTextInterface* xret = this->QAccessibleInterface::editableTextInterface();
        x[0].s_class = (void*)xret;
    }
    void x_22(Smoke::Stack x) {
        // QAccessibleValueInterface* valueInterface()
        QAccessibleValueInterface* xret = this->QAccessibleInterface::valueInterface();
        x[0].s_class = (void*)xret;
    }
    void x_23(Smoke::Stack x) {
        // QAccessibleTableInterface* tableInterface()
        QAccessibleTableInterface* xret = this->QAccessibleInterface::tableInterface();
        x[0].s_class = (void*)xret;
    }
    void x_24(Smoke::Stack x) {
        // QAccessibleActionInterface* actionInterface()
        QAccessibleActionInterface* xret = this->QAccessibleInterface::actionInterface();
        x[0].s_class = (void*)xret;
    }
    void x_25(Smoke::Stack x) {
        // QAccessibleImageInterface* imageInterface()
        QAccessibleImageInterface* xret = this->QAccessibleInterface::imageInterface();
        x[0].s_class = (void*)xret;
    }
    void x_26(Smoke::Stack x) {
        // QAccessibleTable2Interface* table2Interface()
        QAccessibleTable2Interface* xret = this->QAccessibleInterface::table2Interface();
        x[0].s_class = (void*)xret;
    }
    static void x_27(Smoke::Stack x) {
        // QAccessibleInterface* QAccessibleInterface()
        x_QAccessibleInterface* xret = new x_QAccessibleInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleInterface() : QAccessibleInterface() {}
    static void x_28(Smoke::Stack x) {
        // QAccessibleInterface* QAccessibleInterface(const QAccessibleInterface&)
        x_QAccessibleInterface* xret = new x_QAccessibleInterface(*(const QAccessibleInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleInterface(const QAccessibleInterface& x1) : QAccessibleInterface(x1) {}
    void x_29(Smoke::Stack x) {
        // bool doAction(int, int)
        bool xret = this->doAction((int)x[1].s_int,(int)x[2].s_int,(const QList<QVariant>&)QVariantList());
        x[0].s_bool = xret;
    }
    void x_30(Smoke::Stack x) {
        // QVariant invokeMethod(QAccessible::Method)
        QVariant xret = this->QAccessibleInterface::invokeMethod((QAccessible::Method)x[1].s_enum,(int)0,(const QList<QVariant>&)QVariantList());
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_31(Smoke::Stack x) {
        // QVariant invokeMethod(QAccessible::Method, int)
        QVariant xret = this->QAccessibleInterface::invokeMethod((QAccessible::Method)x[1].s_enum,(int)x[2].s_int,(const QList<QVariant>&)QVariantList());
        x[0].s_class = (void*)new QVariant(xret);
    }
    virtual bool isValid() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(993, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual QObject* object() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(994, (void*)this, x, true /*pure virtual*/);
        return (QObject*)x[0].s_class;
    }
    virtual int childCount() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(995, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int indexOfChild(const QAccessibleInterface* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(996, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QFlags<QAccessible::RelationFlag> relationTo(int x1, const QAccessibleInterface* x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        x[3].s_int = x3;
        this->_binding->callMethod(997, (void*)this, x, true /*pure virtual*/);
        return (QFlags<QAccessible::RelationFlag>)x[0].s_uint;
    }
    virtual int childAt(int x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(998, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int navigate(QAccessible::RelationFlag x1, int x2, QAccessibleInterface** x3) const {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        this->_binding->callMethod(999, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QString text(QAccessible::Text x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1000, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void setText(QAccessible::Text x1, int x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(1001, (void*)this, x, true /*pure virtual*/);
    }
    virtual QRect rect(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1002, (void*)this, x, true /*pure virtual*/);
        QRect* xptr = (QRect*)x[0].s_class;
        QRect xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QAccessible::Role role(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1003, (void*)this, x, true /*pure virtual*/);
        return (QAccessible::Role)x[0].s_enum;
    }
    virtual QFlags<QAccessible::StateFlag> state(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1004, (void*)this, x, true /*pure virtual*/);
        return (QFlags<QAccessible::StateFlag>)x[0].s_uint;
    }
    virtual int userActionCount(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1005, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QString actionText(int x1, QAccessible::Text x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        this->_binding->callMethod(1006, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual bool doAction(int x1, int x2, const QList<QVariant>& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(1007, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    ~x_QAccessibleInterface() { this->_binding->deleted(30, (void*)this); }
};
void xcall_QAccessibleInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleInterface *xself = (x_QAccessibleInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: x_QAccessibleInterface::x_27(args);	break;
        case 28: x_QAccessibleInterface::x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: delete (QAccessibleInterface*)xself;	break;
    }
}
class x_QAccessibleInterfaceEx : public QAccessibleInterfaceEx, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual QVariant invokeMethodEx(QAccessible::Method, int, const QList<QVariant>&) = 0
        QVariant xret = this->invokeMethodEx((QAccessible::Method)x[1].s_enum,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_2(Smoke::Stack x) {
        // virtual QVariant virtual_hook(const QVariant&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleInterfaceEx*>(this))) {
            QVariant xret = this->QAccessibleInterfaceEx::virtual_hook(*(const QVariant*)x[1].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = this->virtual_hook(*(const QVariant*)x[1].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual QAccessible2Interface* interface_cast(QAccessible2::InterfaceType)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleInterfaceEx*>(this))) {
            QAccessible2Interface* xret = this->QAccessibleInterfaceEx::interface_cast((QAccessible2::InterfaceType)x[1].s_enum);
            x[0].s_class = (void*)xret;
        } else {
            QAccessible2Interface* xret = this->interface_cast((QAccessible2::InterfaceType)x[1].s_enum);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_4(Smoke::Stack x) {
        // QAccessibleInterfaceEx* QAccessibleInterfaceEx()
        x_QAccessibleInterfaceEx* xret = new x_QAccessibleInterfaceEx();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleInterfaceEx() : QAccessibleInterfaceEx() {}
    static void x_5(Smoke::Stack x) {
        // QAccessibleInterfaceEx* QAccessibleInterfaceEx(const QAccessibleInterfaceEx&)
        x_QAccessibleInterfaceEx* xret = new x_QAccessibleInterfaceEx(*(const QAccessibleInterfaceEx*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleInterfaceEx(const QAccessibleInterfaceEx& x1) : QAccessibleInterfaceEx(x1) {}
    virtual QVariant invokeMethodEx(QAccessible::Method x1, int x2, const QList<QVariant>& x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(1025, (void*)this, x, true /*pure virtual*/);
        QVariant* xptr = (QVariant*)x[0].s_class;
        QVariant xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QVariant virtual_hook(const QVariant& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1026, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleInterfaceEx::virtual_hook(x1);
    }
    virtual QAccessible2Interface* interface_cast(QAccessible2::InterfaceType x1) {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1027, (void*)this, x)) return (QAccessible2Interface*)x[0].s_class;
        return this->QAccessibleInterfaceEx::interface_cast(x1);
    }
    virtual bool isValid() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(993, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual QObject* object() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(994, (void*)this, x, true /*pure virtual*/);
        return (QObject*)x[0].s_class;
    }
    virtual int childCount() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(995, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int indexOfChild(const QAccessibleInterface* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(996, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QFlags<QAccessible::RelationFlag> relationTo(int x1, const QAccessibleInterface* x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        x[3].s_int = x3;
        this->_binding->callMethod(997, (void*)this, x, true /*pure virtual*/);
        return (QFlags<QAccessible::RelationFlag>)x[0].s_uint;
    }
    virtual int childAt(int x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(998, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int navigate(QAccessible::RelationFlag x1, int x2, QAccessibleInterface** x3) const {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        this->_binding->callMethod(999, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QString text(QAccessible::Text x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1000, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void setText(QAccessible::Text x1, int x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(1001, (void*)this, x, true /*pure virtual*/);
    }
    virtual QRect rect(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1002, (void*)this, x, true /*pure virtual*/);
        QRect* xptr = (QRect*)x[0].s_class;
        QRect xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QAccessible::Role role(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1003, (void*)this, x, true /*pure virtual*/);
        return (QAccessible::Role)x[0].s_enum;
    }
    virtual QFlags<QAccessible::StateFlag> state(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1004, (void*)this, x, true /*pure virtual*/);
        return (QFlags<QAccessible::StateFlag>)x[0].s_uint;
    }
    virtual int userActionCount(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1005, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QString actionText(int x1, QAccessible::Text x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        this->_binding->callMethod(1006, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual bool doAction(int x1, int x2, const QList<QVariant>& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(1007, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    ~x_QAccessibleInterfaceEx() { this->_binding->deleted(31, (void*)this); }
};
void xcall_QAccessibleInterfaceEx(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleInterfaceEx *xself = (x_QAccessibleInterfaceEx*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_QAccessibleInterfaceEx::x_4(args);	break;
        case 5: x_QAccessibleInterfaceEx::x_5(args);	break;
        case 6: delete (QAccessibleInterfaceEx*)xself;	break;
    }
}
class x_QAccessibleObject : public QAccessibleObject {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QAccessibleObject* QAccessibleObject(QObject*)
        x_QAccessibleObject* xret = new x_QAccessibleObject((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleObject(QObject* x1) : QAccessibleObject(x1) {}
    void x_2(Smoke::Stack x) {
        // bool isValid() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObject*>(this))) {
            bool xret = ((const x_QAccessibleObject*)this)->QAccessibleObject::isValid();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QAccessibleObject*)this)->isValid();
            x[0].s_bool = xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // QObject* object() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObject*>(this))) {
            QObject* xret = ((const x_QAccessibleObject*)this)->QAccessibleObject::object();
            x[0].s_class = (void*)xret;
        } else {
            QObject* xret = ((const x_QAccessibleObject*)this)->object();
            x[0].s_class = (void*)xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // QRect rect(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObject*>(this))) {
            QRect xret = ((const x_QAccessibleObject*)this)->QAccessibleObject::rect((int)x[1].s_int);
            x[0].s_class = (void*)new QRect(xret);
        } else {
            QRect xret = ((const x_QAccessibleObject*)this)->rect((int)x[1].s_int);
            x[0].s_class = (void*)new QRect(xret);
        }
    }
    void x_5(Smoke::Stack x) {
        // void setText(QAccessible::Text, int, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObject*>(this))) {
            this->QAccessibleObject::setText((QAccessible::Text)x[1].s_enum,(int)x[2].s_int,*(const QString*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setText((QAccessible::Text)x[1].s_enum,(int)x[2].s_int,*(const QString*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // int userActionCount(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObject*>(this))) {
            int xret = ((const x_QAccessibleObject*)this)->QAccessibleObject::userActionCount((int)x[1].s_int);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAccessibleObject*)this)->userActionCount((int)x[1].s_int);
            x[0].s_int = xret;
        }
    }
    void x_7(Smoke::Stack x) {
        // bool doAction(int, int, const QList<QVariant>&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObject*>(this))) {
            bool xret = this->QAccessibleObject::doAction((int)x[1].s_int,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->doAction((int)x[1].s_int,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_8(Smoke::Stack x) {
        // QString actionText(int, QAccessible::Text, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObject*>(this))) {
            QString xret = ((const x_QAccessibleObject*)this)->QAccessibleObject::actionText((int)x[1].s_int,(QAccessible::Text)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QAccessibleObject*)this)->actionText((int)x[1].s_int,(QAccessible::Text)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    virtual bool isValid() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1032, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAccessibleObject::isValid();
    }
    virtual QObject* object() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1033, (void*)this, x)) return (QObject*)x[0].s_class;
        return this->QAccessibleObject::object();
    }
    virtual int childCount() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(995, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int indexOfChild(const QAccessibleInterface* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(996, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QFlags<QAccessible::RelationFlag> relationTo(int x1, const QAccessibleInterface* x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        x[3].s_int = x3;
        this->_binding->callMethod(997, (void*)this, x, true /*pure virtual*/);
        return (QFlags<QAccessible::RelationFlag>)x[0].s_uint;
    }
    virtual int childAt(int x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(998, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int navigate(QAccessible::RelationFlag x1, int x2, QAccessibleInterface** x3) const {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        this->_binding->callMethod(999, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QString text(QAccessible::Text x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1000, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void setText(QAccessible::Text x1, int x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(1035, (void*)this, x)) return;
        this->QAccessibleObject::setText(x1, x2, x3);
    }
    virtual QRect rect(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1034, (void*)this, x)) {
            QRect* xptr = (QRect*)x[0].s_class;
            QRect xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleObject::rect(x1);
    }
    virtual QAccessible::Role role(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1003, (void*)this, x, true /*pure virtual*/);
        return (QAccessible::Role)x[0].s_enum;
    }
    virtual QFlags<QAccessible::StateFlag> state(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1004, (void*)this, x, true /*pure virtual*/);
        return (QFlags<QAccessible::StateFlag>)x[0].s_uint;
    }
    virtual int userActionCount(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1036, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleObject::userActionCount(x1);
    }
    virtual QString actionText(int x1, QAccessible::Text x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(1038, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleObject::actionText(x1, x2, x3);
    }
    virtual bool doAction(int x1, int x2, const QList<QVariant>& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(1037, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAccessibleObject::doAction(x1, x2, x3);
    }
    ~x_QAccessibleObject() { this->_binding->deleted(32, (void*)this); }
};
void xcall_QAccessibleObject(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleObject *xself = (x_QAccessibleObject*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAccessibleObject::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
    }
}
class x_QAccessibleObjectEx : public QAccessibleObjectEx {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QAccessibleObjectEx* QAccessibleObjectEx(QObject*)
        x_QAccessibleObjectEx* xret = new x_QAccessibleObjectEx((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleObjectEx(QObject* x1) : QAccessibleObjectEx(x1) {}
    void x_2(Smoke::Stack x) {
        // bool isValid() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObjectEx*>(this))) {
            bool xret = ((const x_QAccessibleObjectEx*)this)->QAccessibleObjectEx::isValid();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QAccessibleObjectEx*)this)->isValid();
            x[0].s_bool = xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // QObject* object() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObjectEx*>(this))) {
            QObject* xret = ((const x_QAccessibleObjectEx*)this)->QAccessibleObjectEx::object();
            x[0].s_class = (void*)xret;
        } else {
            QObject* xret = ((const x_QAccessibleObjectEx*)this)->object();
            x[0].s_class = (void*)xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // QRect rect(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObjectEx*>(this))) {
            QRect xret = ((const x_QAccessibleObjectEx*)this)->QAccessibleObjectEx::rect((int)x[1].s_int);
            x[0].s_class = (void*)new QRect(xret);
        } else {
            QRect xret = ((const x_QAccessibleObjectEx*)this)->rect((int)x[1].s_int);
            x[0].s_class = (void*)new QRect(xret);
        }
    }
    void x_5(Smoke::Stack x) {
        // void setText(QAccessible::Text, int, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObjectEx*>(this))) {
            this->QAccessibleObjectEx::setText((QAccessible::Text)x[1].s_enum,(int)x[2].s_int,*(const QString*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setText((QAccessible::Text)x[1].s_enum,(int)x[2].s_int,*(const QString*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // int userActionCount(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObjectEx*>(this))) {
            int xret = ((const x_QAccessibleObjectEx*)this)->QAccessibleObjectEx::userActionCount((int)x[1].s_int);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAccessibleObjectEx*)this)->userActionCount((int)x[1].s_int);
            x[0].s_int = xret;
        }
    }
    void x_7(Smoke::Stack x) {
        // bool doAction(int, int, const QList<QVariant>&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObjectEx*>(this))) {
            bool xret = this->QAccessibleObjectEx::doAction((int)x[1].s_int,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->doAction((int)x[1].s_int,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_8(Smoke::Stack x) {
        // QString actionText(int, QAccessible::Text, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleObjectEx*>(this))) {
            QString xret = ((const x_QAccessibleObjectEx*)this)->QAccessibleObjectEx::actionText((int)x[1].s_int,(QAccessible::Text)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QAccessibleObjectEx*)this)->actionText((int)x[1].s_int,(QAccessible::Text)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    virtual QVariant invokeMethodEx(QAccessible::Method x1, int x2, const QList<QVariant>& x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(1025, (void*)this, x, true /*pure virtual*/);
        QVariant* xptr = (QVariant*)x[0].s_class;
        QVariant xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QVariant virtual_hook(const QVariant& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1026, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleInterfaceEx::virtual_hook(x1);
    }
    virtual QAccessible2Interface* interface_cast(QAccessible2::InterfaceType x1) {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1027, (void*)this, x)) return (QAccessible2Interface*)x[0].s_class;
        return this->QAccessibleInterfaceEx::interface_cast(x1);
    }
    virtual bool isValid() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1041, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAccessibleObjectEx::isValid();
    }
    virtual QObject* object() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1042, (void*)this, x)) return (QObject*)x[0].s_class;
        return this->QAccessibleObjectEx::object();
    }
    virtual int childCount() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(995, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int indexOfChild(const QAccessibleInterface* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(996, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QFlags<QAccessible::RelationFlag> relationTo(int x1, const QAccessibleInterface* x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        x[3].s_int = x3;
        this->_binding->callMethod(997, (void*)this, x, true /*pure virtual*/);
        return (QFlags<QAccessible::RelationFlag>)x[0].s_uint;
    }
    virtual int childAt(int x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(998, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int navigate(QAccessible::RelationFlag x1, int x2, QAccessibleInterface** x3) const {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        this->_binding->callMethod(999, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QString text(QAccessible::Text x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1000, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void setText(QAccessible::Text x1, int x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(1044, (void*)this, x)) return;
        this->QAccessibleObjectEx::setText(x1, x2, x3);
    }
    virtual QRect rect(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1043, (void*)this, x)) {
            QRect* xptr = (QRect*)x[0].s_class;
            QRect xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleObjectEx::rect(x1);
    }
    virtual QAccessible::Role role(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1003, (void*)this, x, true /*pure virtual*/);
        return (QAccessible::Role)x[0].s_enum;
    }
    virtual QFlags<QAccessible::StateFlag> state(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1004, (void*)this, x, true /*pure virtual*/);
        return (QFlags<QAccessible::StateFlag>)x[0].s_uint;
    }
    virtual int userActionCount(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1045, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleObjectEx::userActionCount(x1);
    }
    virtual QString actionText(int x1, QAccessible::Text x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(1047, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleObjectEx::actionText(x1, x2, x3);
    }
    virtual bool doAction(int x1, int x2, const QList<QVariant>& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(1046, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAccessibleObjectEx::doAction(x1, x2, x3);
    }
    ~x_QAccessibleObjectEx() { this->_binding->deleted(33, (void*)this); }
};
void xcall_QAccessibleObjectEx(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleObjectEx *xself = (x_QAccessibleObjectEx*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAccessibleObjectEx::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
    }
}
class x_QAccessiblePlugin : public QAccessiblePlugin, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessiblePlugin*>(this))) {
            const QMetaObject* xret = ((const x_QAccessiblePlugin*)this)->QAccessiblePlugin::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QAccessiblePlugin*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessiblePlugin*>(this))) {
            void* xret = this->QAccessiblePlugin::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QAccessiblePlugin::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QAccessiblePlugin::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QAccessiblePlugin::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QAccessiblePlugin::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessiblePlugin*>(this))) {
            int xret = this->QAccessiblePlugin::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QAccessiblePlugin* QAccessiblePlugin(QObject*)
        x_QAccessiblePlugin* xret = new x_QAccessiblePlugin((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessiblePlugin(QObject* x1) : QAccessiblePlugin(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual QStringList keys() const = 0
        QStringList xret = ((const x_QAccessiblePlugin*)this)->keys();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_10(Smoke::Stack x) {
        // virtual QAccessibleInterface* create(const QString&, QObject*) = 0
        QAccessibleInterface* xret = this->create(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_11(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QAccessiblePlugin::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QAccessiblePlugin::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // QAccessiblePlugin* QAccessiblePlugin()
        x_QAccessiblePlugin* xret = new x_QAccessiblePlugin((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_14(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QAccessiblePlugin::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1049, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QAccessiblePlugin::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1050, (void*)this, x)) return (void*)x[0].s_class;
        return this->QAccessiblePlugin::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(1055, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessiblePlugin::qt_metacall(x1, x2, x3);
    }
    virtual QStringList keys() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1057, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QAccessibleInterface* create(const QString& x1, QObject* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(1058, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleInterface*)x[0].s_class;
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8374, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(8375, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8376, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8377, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8378, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8379, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8380, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_QAccessiblePlugin() { this->_binding->deleted(34, (void*)this); }
};
void xcall_QAccessiblePlugin(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessiblePlugin *xself = (x_QAccessiblePlugin*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QAccessiblePlugin::x_3(args);	break;
        case 4: x_QAccessiblePlugin::x_4(args);	break;
        case 5: x_QAccessiblePlugin::x_5(args);	break;
        case 6: x_QAccessiblePlugin::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QAccessiblePlugin::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_QAccessiblePlugin::x_11(args);	break;
        case 12: x_QAccessiblePlugin::x_12(args);	break;
        case 13: x_QAccessiblePlugin::x_13(args);	break;
        case 14: x_QAccessiblePlugin::x_14(args);	break;
        case 15: delete (QAccessiblePlugin*)xself;	break;
    }
}
class x_QAccessibleSimpleEditableTextInterface : public QAccessibleSimpleEditableTextInterface, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QAccessibleSimpleEditableTextInterface* QAccessibleSimpleEditableTextInterface(QAccessibleInterface*)
        x_QAccessibleSimpleEditableTextInterface* xret = new x_QAccessibleSimpleEditableTextInterface((QAccessibleInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleSimpleEditableTextInterface(QAccessibleInterface* x1) : QAccessibleSimpleEditableTextInterface(x1) {}
    void x_2(Smoke::Stack x) {
        // void copyText(int, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleSimpleEditableTextInterface*>(this))) {
            this->QAccessibleSimpleEditableTextInterface::copyText((int)x[1].s_int,(int)x[2].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->copyText((int)x[1].s_int,(int)x[2].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_3(Smoke::Stack x) {
        // void deleteText(int, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleSimpleEditableTextInterface*>(this))) {
            this->QAccessibleSimpleEditableTextInterface::deleteText((int)x[1].s_int,(int)x[2].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->deleteText((int)x[1].s_int,(int)x[2].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_4(Smoke::Stack x) {
        // void insertText(int, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleSimpleEditableTextInterface*>(this))) {
            this->QAccessibleSimpleEditableTextInterface::insertText((int)x[1].s_int,*(const QString*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->insertText((int)x[1].s_int,*(const QString*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_5(Smoke::Stack x) {
        // void cutText(int, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleSimpleEditableTextInterface*>(this))) {
            this->QAccessibleSimpleEditableTextInterface::cutText((int)x[1].s_int,(int)x[2].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->cutText((int)x[1].s_int,(int)x[2].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // void pasteText(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleSimpleEditableTextInterface*>(this))) {
            this->QAccessibleSimpleEditableTextInterface::pasteText((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->pasteText((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_7(Smoke::Stack x) {
        // void replaceText(int, int, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleSimpleEditableTextInterface*>(this))) {
            this->QAccessibleSimpleEditableTextInterface::replaceText((int)x[1].s_int,(int)x[2].s_int,*(const QString*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->replaceText((int)x[1].s_int,(int)x[2].s_int,*(const QString*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_8(Smoke::Stack x) {
        // void setAttributes(int, int, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleSimpleEditableTextInterface*>(this))) {
            this->QAccessibleSimpleEditableTextInterface::setAttributes((int)x[1].s_int,(int)x[2].s_int,*(const QString*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setAttributes((int)x[1].s_int,(int)x[2].s_int,*(const QString*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_9(Smoke::Stack x) {
        // QAccessibleSimpleEditableTextInterface* QAccessibleSimpleEditableTextInterface(const QAccessibleSimpleEditableTextInterface&)
        x_QAccessibleSimpleEditableTextInterface* xret = new x_QAccessibleSimpleEditableTextInterface(*(const QAccessibleSimpleEditableTextInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleSimpleEditableTextInterface(const QAccessibleSimpleEditableTextInterface& x1) : QAccessibleSimpleEditableTextInterface(x1) {}
    virtual void copyText(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(1065, (void*)this, x)) return;
        this->QAccessibleSimpleEditableTextInterface::copyText(x1, x2);
    }
    virtual void deleteText(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(1066, (void*)this, x)) return;
        this->QAccessibleSimpleEditableTextInterface::deleteText(x1, x2);
    }
    virtual void insertText(int x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1067, (void*)this, x)) return;
        this->QAccessibleSimpleEditableTextInterface::insertText(x1, x2);
    }
    virtual void cutText(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(1068, (void*)this, x)) return;
        this->QAccessibleSimpleEditableTextInterface::cutText(x1, x2);
    }
    virtual void pasteText(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1069, (void*)this, x)) return;
        this->QAccessibleSimpleEditableTextInterface::pasteText(x1);
    }
    virtual void replaceText(int x1, int x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(1070, (void*)this, x)) return;
        this->QAccessibleSimpleEditableTextInterface::replaceText(x1, x2, x3);
    }
    virtual void setAttributes(int x1, int x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(1071, (void*)this, x)) return;
        this->QAccessibleSimpleEditableTextInterface::setAttributes(x1, x2, x3);
    }
    ~x_QAccessibleSimpleEditableTextInterface() { this->_binding->deleted(35, (void*)this); }
};
void xcall_QAccessibleSimpleEditableTextInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleSimpleEditableTextInterface *xself = (x_QAccessibleSimpleEditableTextInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAccessibleSimpleEditableTextInterface::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: x_QAccessibleSimpleEditableTextInterface::x_9(args);	break;
        case 10: delete (QAccessibleSimpleEditableTextInterface*)xself;	break;
    }
}
class x_QAccessibleTable2CellInterface : public QAccessibleTable2CellInterface, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual int columnExtent() const = 0
        int xret = ((const x_QAccessibleTable2CellInterface*)this)->columnExtent();
        x[0].s_int = xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual QList<QAccessibleInterface*> columnHeaderCells() const = 0
        QList<QAccessibleInterface*> xret = ((const x_QAccessibleTable2CellInterface*)this)->columnHeaderCells();
        x[0].s_class = (void*)new QList<QAccessibleInterface*>(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual int columnIndex() const = 0
        int xret = ((const x_QAccessibleTable2CellInterface*)this)->columnIndex();
        x[0].s_int = xret;
    }
    void x_4(Smoke::Stack x) {
        // virtual int rowExtent() const = 0
        int xret = ((const x_QAccessibleTable2CellInterface*)this)->rowExtent();
        x[0].s_int = xret;
    }
    void x_5(Smoke::Stack x) {
        // virtual QList<QAccessibleInterface*> rowHeaderCells() const = 0
        QList<QAccessibleInterface*> xret = ((const x_QAccessibleTable2CellInterface*)this)->rowHeaderCells();
        x[0].s_class = (void*)new QList<QAccessibleInterface*>(xret);
    }
    void x_6(Smoke::Stack x) {
        // virtual int rowIndex() const = 0
        int xret = ((const x_QAccessibleTable2CellInterface*)this)->rowIndex();
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // virtual bool isSelected() const = 0
        bool xret = ((const x_QAccessibleTable2CellInterface*)this)->isSelected();
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // virtual void rowColumnExtents(int*, int*, int*, int*, bool*) const = 0
        ((const x_QAccessibleTable2CellInterface*)this)->rowColumnExtents((int*)x[1].s_class,(int*)x[2].s_class,(int*)x[3].s_class,(int*)x[4].s_class,(bool*)x[5].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // virtual QAccessibleTable2Interface* table() const = 0
        QAccessibleTable2Interface* xret = ((const x_QAccessibleTable2CellInterface*)this)->table();
        x[0].s_class = (void*)xret;
    }
    void x_10(Smoke::Stack x) {
        // virtual bool isExpandable() const = 0
        bool xret = ((const x_QAccessibleTable2CellInterface*)this)->isExpandable();
        x[0].s_bool = xret;
    }
    static void x_11(Smoke::Stack x) {
        // QAccessibleTable2CellInterface* QAccessibleTable2CellInterface()
        x_QAccessibleTable2CellInterface* xret = new x_QAccessibleTable2CellInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleTable2CellInterface() : QAccessibleTable2CellInterface() {}
    static void x_12(Smoke::Stack x) {
        // QAccessibleTable2CellInterface* QAccessibleTable2CellInterface(const QAccessibleTable2CellInterface&)
        x_QAccessibleTable2CellInterface* xret = new x_QAccessibleTable2CellInterface(*(const QAccessibleTable2CellInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleTable2CellInterface(const QAccessibleTable2CellInterface& x1) : QAccessibleTable2CellInterface(x1) {}
    virtual int columnExtent() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1074, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QList<QAccessibleInterface*> columnHeaderCells() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1075, (void*)this, x, true /*pure virtual*/);
        QList<QAccessibleInterface*>* xptr = (QList<QAccessibleInterface*>*)x[0].s_class;
        QList<QAccessibleInterface*> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual int columnIndex() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1076, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int rowExtent() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1077, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QList<QAccessibleInterface*> rowHeaderCells() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1078, (void*)this, x, true /*pure virtual*/);
        QList<QAccessibleInterface*>* xptr = (QList<QAccessibleInterface*>*)x[0].s_class;
        QList<QAccessibleInterface*> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual int rowIndex() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1079, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual bool isSelected() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1080, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual void rowColumnExtents(int* x1, int* x2, int* x3, int* x4, bool* x5) const {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        x[4].s_class = (void*)x4;
        x[5].s_class = (void*)x5;
        this->_binding->callMethod(1081, (void*)this, x, true /*pure virtual*/);
    }
    virtual QAccessibleTable2Interface* table() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1082, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleTable2Interface*)x[0].s_class;
    }
    virtual bool isExpandable() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1083, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool isValid() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(993, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual QObject* object() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(994, (void*)this, x, true /*pure virtual*/);
        return (QObject*)x[0].s_class;
    }
    virtual int childCount() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(995, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int indexOfChild(const QAccessibleInterface* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(996, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QFlags<QAccessible::RelationFlag> relationTo(int x1, const QAccessibleInterface* x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        x[3].s_int = x3;
        this->_binding->callMethod(997, (void*)this, x, true /*pure virtual*/);
        return (QFlags<QAccessible::RelationFlag>)x[0].s_uint;
    }
    virtual int childAt(int x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(998, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int navigate(QAccessible::RelationFlag x1, int x2, QAccessibleInterface** x3) const {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        this->_binding->callMethod(999, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QString text(QAccessible::Text x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1000, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void setText(QAccessible::Text x1, int x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(1001, (void*)this, x, true /*pure virtual*/);
    }
    virtual QRect rect(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1002, (void*)this, x, true /*pure virtual*/);
        QRect* xptr = (QRect*)x[0].s_class;
        QRect xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QAccessible::Role role(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1003, (void*)this, x, true /*pure virtual*/);
        return (QAccessible::Role)x[0].s_enum;
    }
    virtual QFlags<QAccessible::StateFlag> state(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1004, (void*)this, x, true /*pure virtual*/);
        return (QFlags<QAccessible::StateFlag>)x[0].s_uint;
    }
    virtual int userActionCount(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1005, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QString actionText(int x1, QAccessible::Text x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        this->_binding->callMethod(1006, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual bool doAction(int x1, int x2, const QList<QVariant>& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(1007, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    ~x_QAccessibleTable2CellInterface() { this->_binding->deleted(36, (void*)this); }
};
void xcall_QAccessibleTable2CellInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleTable2CellInterface *xself = (x_QAccessibleTable2CellInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_QAccessibleTable2CellInterface::x_11(args);	break;
        case 12: x_QAccessibleTable2CellInterface::x_12(args);	break;
        case 13: delete (QAccessibleTable2CellInterface*)xself;	break;
    }
}
class x_QAccessibleTable2Interface : public QAccessibleTable2Interface, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // QAccessible2Interface* qAccessibleTable2CastHelper()
        QAccessible2Interface* xret = this->QAccessibleTable2Interface::qAccessibleTable2CastHelper();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual QAccessibleTable2CellInterface* cellAt(int, int) const = 0
        QAccessibleTable2CellInterface* xret = ((const x_QAccessibleTable2Interface*)this)->cellAt((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_3(Smoke::Stack x) {
        // virtual QAccessibleInterface* caption() const = 0
        QAccessibleInterface* xret = ((const x_QAccessibleTable2Interface*)this)->caption();
        x[0].s_class = (void*)xret;
    }
    void x_4(Smoke::Stack x) {
        // virtual QString columnDescription(int) const = 0
        QString xret = ((const x_QAccessibleTable2Interface*)this)->columnDescription((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_5(Smoke::Stack x) {
        // virtual int columnCount() const = 0
        int xret = ((const x_QAccessibleTable2Interface*)this)->columnCount();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // virtual int rowCount() const = 0
        int xret = ((const x_QAccessibleTable2Interface*)this)->rowCount();
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // virtual int selectedCellCount() const = 0
        int xret = ((const x_QAccessibleTable2Interface*)this)->selectedCellCount();
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // virtual int selectedColumnCount() const = 0
        int xret = ((const x_QAccessibleTable2Interface*)this)->selectedColumnCount();
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // virtual int selectedRowCount() const = 0
        int xret = ((const x_QAccessibleTable2Interface*)this)->selectedRowCount();
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // virtual QString rowDescription(int) const = 0
        QString xret = ((const x_QAccessibleTable2Interface*)this)->rowDescription((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_11(Smoke::Stack x) {
        // virtual QList<QAccessibleTable2CellInterface*> selectedCells() const = 0
        QList<QAccessibleTable2CellInterface*> xret = ((const x_QAccessibleTable2Interface*)this)->selectedCells();
        x[0].s_class = (void*)new QList<QAccessibleTable2CellInterface*>(xret);
    }
    void x_12(Smoke::Stack x) {
        // virtual QList<int> selectedColumns() const = 0
        QList<int> xret = ((const x_QAccessibleTable2Interface*)this)->selectedColumns();
        x[0].s_class = (void*)new QList<int>(xret);
    }
    void x_13(Smoke::Stack x) {
        // virtual QList<int> selectedRows() const = 0
        QList<int> xret = ((const x_QAccessibleTable2Interface*)this)->selectedRows();
        x[0].s_class = (void*)new QList<int>(xret);
    }
    void x_14(Smoke::Stack x) {
        // virtual QAccessibleInterface* summary() const = 0
        QAccessibleInterface* xret = ((const x_QAccessibleTable2Interface*)this)->summary();
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // virtual bool isColumnSelected(int) const = 0
        bool xret = ((const x_QAccessibleTable2Interface*)this)->isColumnSelected((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // virtual bool isRowSelected(int) const = 0
        bool xret = ((const x_QAccessibleTable2Interface*)this)->isRowSelected((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // virtual bool selectRow(int) = 0
        bool xret = this->selectRow((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // virtual bool selectColumn(int) = 0
        bool xret = this->selectColumn((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // virtual bool unselectRow(int) = 0
        bool xret = this->unselectRow((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // virtual bool unselectColumn(int) = 0
        bool xret = this->unselectColumn((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // virtual QAccessible2::TableModelChange modelChange() const = 0
        QAccessible2::TableModelChange xret = ((const x_QAccessibleTable2Interface*)this)->modelChange();
        x[0].s_class = (void*)new QAccessible2::TableModelChange(xret);
    }
    void x_22(Smoke::Stack x) {
        // virtual void modelReset() = 0
        this->modelReset();
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // virtual void rowsInserted(const QModelIndex&, int, int) = 0
        this->rowsInserted(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // virtual void rowsRemoved(const QModelIndex&, int, int) = 0
        this->rowsRemoved(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // virtual void columnsInserted(const QModelIndex&, int, int) = 0
        this->columnsInserted(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // virtual void columnsRemoved(const QModelIndex&, int, int) = 0
        this->columnsRemoved(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // virtual void rowsMoved(const QModelIndex&, int, int, const QModelIndex&, int) = 0
        this->rowsMoved(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int,*(const QModelIndex*)x[4].s_class,(int)x[5].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // virtual void columnsMoved(const QModelIndex&, int, int, const QModelIndex&, int) = 0
        this->columnsMoved(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int,*(const QModelIndex*)x[4].s_class,(int)x[5].s_int);
        (void)x; // noop (for compiler warning)
    }
    static void x_29(Smoke::Stack x) {
        // QAccessibleTable2Interface* QAccessibleTable2Interface()
        x_QAccessibleTable2Interface* xret = new x_QAccessibleTable2Interface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleTable2Interface() : QAccessibleTable2Interface() {}
    static void x_30(Smoke::Stack x) {
        // QAccessibleTable2Interface* QAccessibleTable2Interface(const QAccessibleTable2Interface&)
        x_QAccessibleTable2Interface* xret = new x_QAccessibleTable2Interface(*(const QAccessibleTable2Interface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleTable2Interface(const QAccessibleTable2Interface& x1) : QAccessibleTable2Interface(x1) {}
    virtual QAccessibleTable2CellInterface* cellAt(int x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1088, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleTable2CellInterface*)x[0].s_class;
    }
    virtual QAccessibleInterface* caption() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1089, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleInterface*)x[0].s_class;
    }
    virtual QString columnDescription(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1090, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual int columnCount() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1091, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int rowCount() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1092, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int selectedCellCount() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1093, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int selectedColumnCount() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1094, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int selectedRowCount() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1095, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QString rowDescription(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1096, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QList<QAccessibleTable2CellInterface*> selectedCells() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1097, (void*)this, x, true /*pure virtual*/);
        QList<QAccessibleTable2CellInterface*>* xptr = (QList<QAccessibleTable2CellInterface*>*)x[0].s_class;
        QList<QAccessibleTable2CellInterface*> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QList<int> selectedColumns() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1098, (void*)this, x, true /*pure virtual*/);
        QList<int>* xptr = (QList<int>*)x[0].s_class;
        QList<int> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QList<int> selectedRows() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1099, (void*)this, x, true /*pure virtual*/);
        QList<int>* xptr = (QList<int>*)x[0].s_class;
        QList<int> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QAccessibleInterface* summary() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1100, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleInterface*)x[0].s_class;
    }
    virtual bool isColumnSelected(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1101, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool isRowSelected(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1102, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool selectRow(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1103, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool selectColumn(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1104, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool unselectRow(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1105, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool unselectColumn(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1106, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual QAccessible2::TableModelChange modelChange() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1107, (void*)this, x, true /*pure virtual*/);
        QAccessible2::TableModelChange* xptr = (QAccessible2::TableModelChange*)x[0].s_class;
        QAccessible2::TableModelChange xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void modelReset() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1108, (void*)this, x, true /*pure virtual*/);
    }
    virtual void rowsInserted(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        this->_binding->callMethod(1109, (void*)this, x, true /*pure virtual*/);
    }
    virtual void rowsRemoved(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        this->_binding->callMethod(1110, (void*)this, x, true /*pure virtual*/);
    }
    virtual void columnsInserted(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        this->_binding->callMethod(1111, (void*)this, x, true /*pure virtual*/);
    }
    virtual void columnsRemoved(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        this->_binding->callMethod(1112, (void*)this, x, true /*pure virtual*/);
    }
    virtual void rowsMoved(const QModelIndex& x1, int x2, int x3, const QModelIndex& x4, int x5) {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        x[4].s_class = (void*)&x4;
        x[5].s_int = x5;
        this->_binding->callMethod(1113, (void*)this, x, true /*pure virtual*/);
    }
    virtual void columnsMoved(const QModelIndex& x1, int x2, int x3, const QModelIndex& x4, int x5) {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        x[4].s_class = (void*)&x4;
        x[5].s_int = x5;
        this->_binding->callMethod(1114, (void*)this, x, true /*pure virtual*/);
    }
    ~x_QAccessibleTable2Interface() { this->_binding->deleted(37, (void*)this); }
};
void xcall_QAccessibleTable2Interface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleTable2Interface *xself = (x_QAccessibleTable2Interface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: x_QAccessibleTable2Interface::x_29(args);	break;
        case 30: x_QAccessibleTable2Interface::x_30(args);	break;
        case 31: delete (QAccessibleTable2Interface*)xself;	break;
    }
}
class x_QAccessibleTableInterface : public QAccessibleTableInterface, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // QAccessible2Interface* qAccessibleTableCastHelper()
        QAccessible2Interface* xret = this->QAccessibleTableInterface::qAccessibleTableCastHelper();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual QAccessibleInterface* accessibleAt(int, int) = 0
        QAccessibleInterface* xret = this->accessibleAt((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_3(Smoke::Stack x) {
        // virtual QAccessibleInterface* caption() = 0
        QAccessibleInterface* xret = this->caption();
        x[0].s_class = (void*)xret;
    }
    void x_4(Smoke::Stack x) {
        // virtual int childIndex(int, int) = 0
        int xret = this->childIndex((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_int = xret;
    }
    void x_5(Smoke::Stack x) {
        // virtual QString columnDescription(int) = 0
        QString xret = this->columnDescription((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_6(Smoke::Stack x) {
        // virtual int columnSpan(int, int) = 0
        int xret = this->columnSpan((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // virtual QAccessibleInterface* columnHeader() = 0
        QAccessibleInterface* xret = this->columnHeader();
        x[0].s_class = (void*)xret;
    }
    void x_8(Smoke::Stack x) {
        // virtual int columnIndex(int) = 0
        int xret = this->columnIndex((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // virtual int columnCount() = 0
        int xret = this->columnCount();
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // virtual int rowCount() = 0
        int xret = this->rowCount();
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // virtual int selectedColumnCount() = 0
        int xret = this->selectedColumnCount();
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // virtual int selectedRowCount() = 0
        int xret = this->selectedRowCount();
        x[0].s_int = xret;
    }
    void x_13(Smoke::Stack x) {
        // virtual QString rowDescription(int) = 0
        QString xret = this->rowDescription((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_14(Smoke::Stack x) {
        // virtual int rowSpan(int, int) = 0
        int xret = this->rowSpan((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_int = xret;
    }
    void x_15(Smoke::Stack x) {
        // virtual QAccessibleInterface* rowHeader() = 0
        QAccessibleInterface* xret = this->rowHeader();
        x[0].s_class = (void*)xret;
    }
    void x_16(Smoke::Stack x) {
        // virtual int rowIndex(int) = 0
        int xret = this->rowIndex((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_17(Smoke::Stack x) {
        // virtual int selectedRows(int, QList<int>*) = 0
        int xret = this->selectedRows((int)x[1].s_int,(QList<int>*)x[2].s_class);
        x[0].s_int = xret;
    }
    void x_18(Smoke::Stack x) {
        // virtual int selectedColumns(int, QList<int>*) = 0
        int xret = this->selectedColumns((int)x[1].s_int,(QList<int>*)x[2].s_class);
        x[0].s_int = xret;
    }
    void x_19(Smoke::Stack x) {
        // virtual QAccessibleInterface* summary() = 0
        QAccessibleInterface* xret = this->summary();
        x[0].s_class = (void*)xret;
    }
    void x_20(Smoke::Stack x) {
        // virtual bool isColumnSelected(int) = 0
        bool xret = this->isColumnSelected((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // virtual bool isRowSelected(int) = 0
        bool xret = this->isRowSelected((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // virtual bool isSelected(int, int) = 0
        bool xret = this->isSelected((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // virtual void selectRow(int) = 0
        this->selectRow((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // virtual void selectColumn(int) = 0
        this->selectColumn((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // virtual void unselectRow(int) = 0
        this->unselectRow((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // virtual void unselectColumn(int) = 0
        this->unselectColumn((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // virtual void cellAtIndex(int, int*, int*, int*, int*, bool*) = 0
        this->cellAtIndex((int)x[1].s_int,(int*)x[2].s_class,(int*)x[3].s_class,(int*)x[4].s_class,(int*)x[5].s_class,(bool*)x[6].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_28(Smoke::Stack x) {
        // QAccessibleTableInterface* QAccessibleTableInterface()
        x_QAccessibleTableInterface* xret = new x_QAccessibleTableInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleTableInterface() : QAccessibleTableInterface() {}
    static void x_29(Smoke::Stack x) {
        // QAccessibleTableInterface* QAccessibleTableInterface(const QAccessibleTableInterface&)
        x_QAccessibleTableInterface* xret = new x_QAccessibleTableInterface(*(const QAccessibleTableInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleTableInterface(const QAccessibleTableInterface& x1) : QAccessibleTableInterface(x1) {}
    virtual QAccessibleInterface* accessibleAt(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1119, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleInterface*)x[0].s_class;
    }
    virtual QAccessibleInterface* caption() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1120, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleInterface*)x[0].s_class;
    }
    virtual int childIndex(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1121, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QString columnDescription(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1122, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual int columnSpan(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1123, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QAccessibleInterface* columnHeader() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1124, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleInterface*)x[0].s_class;
    }
    virtual int columnIndex(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1125, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int columnCount() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1126, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int rowCount() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1127, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int selectedColumnCount() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1128, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int selectedRowCount() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1129, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QString rowDescription(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1130, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual int rowSpan(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1131, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QAccessibleInterface* rowHeader() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1132, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleInterface*)x[0].s_class;
    }
    virtual int rowIndex(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1133, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int selectedRows(int x1, QList<int>* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(1134, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int selectedColumns(int x1, QList<int>* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(1135, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QAccessibleInterface* summary() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1136, (void*)this, x, true /*pure virtual*/);
        return (QAccessibleInterface*)x[0].s_class;
    }
    virtual bool isColumnSelected(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1137, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool isRowSelected(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1138, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool isSelected(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1139, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual void selectRow(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1140, (void*)this, x, true /*pure virtual*/);
    }
    virtual void selectColumn(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1141, (void*)this, x, true /*pure virtual*/);
    }
    virtual void unselectRow(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1142, (void*)this, x, true /*pure virtual*/);
    }
    virtual void unselectColumn(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1143, (void*)this, x, true /*pure virtual*/);
    }
    virtual void cellAtIndex(int x1, int* x2, int* x3, int* x4, int* x5, bool* x6) {
        Smoke::StackItem x[7];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        x[4].s_class = (void*)x4;
        x[5].s_class = (void*)x5;
        x[6].s_class = (void*)x6;
        this->_binding->callMethod(1144, (void*)this, x, true /*pure virtual*/);
    }
    ~x_QAccessibleTableInterface() { this->_binding->deleted(38, (void*)this); }
};
void xcall_QAccessibleTableInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleTableInterface *xself = (x_QAccessibleTableInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: x_QAccessibleTableInterface::x_28(args);	break;
        case 29: x_QAccessibleTableInterface::x_29(args);	break;
        case 30: delete (QAccessibleTableInterface*)xself;	break;
    }
}
class x_QAccessibleTextInterface : public QAccessibleTextInterface, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // QAccessible2Interface* qAccessibleTextCastHelper()
        QAccessible2Interface* xret = this->QAccessibleTextInterface::qAccessibleTextCastHelper();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void addSelection(int, int) = 0
        this->addSelection((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // virtual QString attributes(int, int*, int*) = 0
        QString xret = this->attributes((int)x[1].s_int,(int*)x[2].s_class,(int*)x[3].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_4(Smoke::Stack x) {
        // virtual int cursorPosition() = 0
        int xret = this->cursorPosition();
        x[0].s_int = xret;
    }
    void x_5(Smoke::Stack x) {
        // virtual QRect characterRect(int, QAccessible2::CoordinateType) = 0
        QRect xret = this->characterRect((int)x[1].s_int,(QAccessible2::CoordinateType)x[2].s_enum);
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_6(Smoke::Stack x) {
        // virtual int selectionCount() = 0
        int xret = this->selectionCount();
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // virtual int offsetAtPoint(const QPoint&, QAccessible2::CoordinateType) = 0
        int xret = this->offsetAtPoint(*(const QPoint*)x[1].s_class,(QAccessible2::CoordinateType)x[2].s_enum);
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // virtual void selection(int, int*, int*) = 0
        this->selection((int)x[1].s_int,(int*)x[2].s_class,(int*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // virtual QString text(int, int) = 0
        QString xret = this->text((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_10(Smoke::Stack x) {
        // virtual QString textBeforeOffset(int, QAccessible2::BoundaryType, int*, int*) = 0
        QString xret = this->textBeforeOffset((int)x[1].s_int,(QAccessible2::BoundaryType)x[2].s_enum,(int*)x[3].s_class,(int*)x[4].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_11(Smoke::Stack x) {
        // virtual QString textAfterOffset(int, QAccessible2::BoundaryType, int*, int*) = 0
        QString xret = this->textAfterOffset((int)x[1].s_int,(QAccessible2::BoundaryType)x[2].s_enum,(int*)x[3].s_class,(int*)x[4].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_12(Smoke::Stack x) {
        // virtual QString textAtOffset(int, QAccessible2::BoundaryType, int*, int*) = 0
        QString xret = this->textAtOffset((int)x[1].s_int,(QAccessible2::BoundaryType)x[2].s_enum,(int*)x[3].s_class,(int*)x[4].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_13(Smoke::Stack x) {
        // virtual void removeSelection(int) = 0
        this->removeSelection((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // virtual void setCursorPosition(int) = 0
        this->setCursorPosition((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // virtual void setSelection(int, int, int) = 0
        this->setSelection((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // virtual int characterCount() = 0
        int xret = this->characterCount();
        x[0].s_int = xret;
    }
    void x_17(Smoke::Stack x) {
        // virtual void scrollToSubstring(int, int) = 0
        this->scrollToSubstring((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    static void x_18(Smoke::Stack x) {
        // QAccessibleTextInterface* QAccessibleTextInterface()
        x_QAccessibleTextInterface* xret = new x_QAccessibleTextInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleTextInterface() : QAccessibleTextInterface() {}
    static void x_19(Smoke::Stack x) {
        // QAccessibleTextInterface* QAccessibleTextInterface(const QAccessibleTextInterface&)
        x_QAccessibleTextInterface* xret = new x_QAccessibleTextInterface(*(const QAccessibleTextInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleTextInterface(const QAccessibleTextInterface& x1) : QAccessibleTextInterface(x1) {}
    virtual void addSelection(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1149, (void*)this, x, true /*pure virtual*/);
    }
    virtual QString attributes(int x1, int* x2, int* x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        this->_binding->callMethod(1150, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual int cursorPosition() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1151, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual QRect characterRect(int x1, QAccessible2::CoordinateType x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        this->_binding->callMethod(1152, (void*)this, x, true /*pure virtual*/);
        QRect* xptr = (QRect*)x[0].s_class;
        QRect xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual int selectionCount() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1153, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual int offsetAtPoint(const QPoint& x1, QAccessible2::CoordinateType x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        this->_binding->callMethod(1154, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual void selection(int x1, int* x2, int* x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        this->_binding->callMethod(1155, (void*)this, x, true /*pure virtual*/);
    }
    virtual QString text(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1156, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString textBeforeOffset(int x1, QAccessible2::BoundaryType x2, int* x3, int* x4) {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)x3;
        x[4].s_class = (void*)x4;
        this->_binding->callMethod(1157, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString textAfterOffset(int x1, QAccessible2::BoundaryType x2, int* x3, int* x4) {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)x3;
        x[4].s_class = (void*)x4;
        this->_binding->callMethod(1158, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString textAtOffset(int x1, QAccessible2::BoundaryType x2, int* x3, int* x4) {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)x3;
        x[4].s_class = (void*)x4;
        this->_binding->callMethod(1159, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void removeSelection(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1160, (void*)this, x, true /*pure virtual*/);
    }
    virtual void setCursorPosition(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(1161, (void*)this, x, true /*pure virtual*/);
    }
    virtual void setSelection(int x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        this->_binding->callMethod(1162, (void*)this, x, true /*pure virtual*/);
    }
    virtual int characterCount() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1163, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual void scrollToSubstring(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        this->_binding->callMethod(1164, (void*)this, x, true /*pure virtual*/);
    }
    ~x_QAccessibleTextInterface() { this->_binding->deleted(39, (void*)this); }
};
void xcall_QAccessibleTextInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleTextInterface *xself = (x_QAccessibleTextInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: x_QAccessibleTextInterface::x_18(args);	break;
        case 19: x_QAccessibleTextInterface::x_19(args);	break;
        case 20: delete (QAccessibleTextInterface*)xself;	break;
    }
}
class x_QAccessibleValueInterface : public QAccessibleValueInterface, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // QAccessible2Interface* qAccessibleValueCastHelper()
        QAccessible2Interface* xret = this->QAccessibleValueInterface::qAccessibleValueCastHelper();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual QVariant currentValue() = 0
        QVariant xret = this->currentValue();
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual void setCurrentValue(const QVariant&) = 0
        this->setCurrentValue(*(const QVariant*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // virtual QVariant maximumValue() = 0
        QVariant xret = this->maximumValue();
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_5(Smoke::Stack x) {
        // virtual QVariant minimumValue() = 0
        QVariant xret = this->minimumValue();
        x[0].s_class = (void*)new QVariant(xret);
    }
    static void x_6(Smoke::Stack x) {
        // QAccessibleValueInterface* QAccessibleValueInterface()
        x_QAccessibleValueInterface* xret = new x_QAccessibleValueInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleValueInterface() : QAccessibleValueInterface() {}
    static void x_7(Smoke::Stack x) {
        // QAccessibleValueInterface* QAccessibleValueInterface(const QAccessibleValueInterface&)
        x_QAccessibleValueInterface* xret = new x_QAccessibleValueInterface(*(const QAccessibleValueInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleValueInterface(const QAccessibleValueInterface& x1) : QAccessibleValueInterface(x1) {}
    virtual QVariant currentValue() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1169, (void*)this, x, true /*pure virtual*/);
        QVariant* xptr = (QVariant*)x[0].s_class;
        QVariant xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void setCurrentValue(const QVariant& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(1170, (void*)this, x, true /*pure virtual*/);
    }
    virtual QVariant maximumValue() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1171, (void*)this, x, true /*pure virtual*/);
        QVariant* xptr = (QVariant*)x[0].s_class;
        QVariant xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QVariant minimumValue() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1172, (void*)this, x, true /*pure virtual*/);
        QVariant* xptr = (QVariant*)x[0].s_class;
        QVariant xret(*xptr);
        delete xptr;
        return xret;
    }
    ~x_QAccessibleValueInterface() { this->_binding->deleted(40, (void*)this); }
};
void xcall_QAccessibleValueInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleValueInterface *xself = (x_QAccessibleValueInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: x_QAccessibleValueInterface::x_6(args);	break;
        case 7: x_QAccessibleValueInterface::x_7(args);	break;
        case 8: delete (QAccessibleValueInterface*)xself;	break;
    }
}
class x_QAccessibleWidget : public QAccessibleWidget {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QAccessibleWidget* QAccessibleWidget(QWidget*, QAccessible::Role, const QString&)
        x_QAccessibleWidget* xret = new x_QAccessibleWidget((QWidget*)x[1].s_class,(QAccessible::Role)x[2].s_enum,*(const QString*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleWidget(QWidget* x1, QAccessible::Role x2, const QString& x3) : QAccessibleWidget(x1, x2, x3) {}
    void x_2(Smoke::Stack x) {
        // int childCount() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            int xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::childCount();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAccessibleWidget*)this)->childCount();
            x[0].s_int = xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // int indexOfChild(const QAccessibleInterface*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            int xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::indexOfChild((const QAccessibleInterface*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAccessibleWidget*)this)->indexOfChild((const QAccessibleInterface*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // QFlags<QAccessible::RelationFlag> relationTo(int, const QAccessibleInterface*, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            QFlags<QAccessible::RelationFlag> xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::relationTo((int)x[1].s_int,(const QAccessibleInterface*)x[2].s_class,(int)x[3].s_int);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<QAccessible::RelationFlag> xret = ((const x_QAccessibleWidget*)this)->relationTo((int)x[1].s_int,(const QAccessibleInterface*)x[2].s_class,(int)x[3].s_int);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_5(Smoke::Stack x) {
        // int childAt(int, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            int xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::childAt((int)x[1].s_int,(int)x[2].s_int);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAccessibleWidget*)this)->childAt((int)x[1].s_int,(int)x[2].s_int);
            x[0].s_int = xret;
        }
    }
    void x_6(Smoke::Stack x) {
        // QRect rect(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            QRect xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::rect((int)x[1].s_int);
            x[0].s_class = (void*)new QRect(xret);
        } else {
            QRect xret = ((const x_QAccessibleWidget*)this)->rect((int)x[1].s_int);
            x[0].s_class = (void*)new QRect(xret);
        }
    }
    void x_7(Smoke::Stack x) {
        // int navigate(QAccessible::RelationFlag, int, QAccessibleInterface**) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            int xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::navigate((QAccessible::RelationFlag)x[1].s_enum,(int)x[2].s_int,(QAccessibleInterface**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAccessibleWidget*)this)->navigate((QAccessible::RelationFlag)x[1].s_enum,(int)x[2].s_int,(QAccessibleInterface**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    void x_8(Smoke::Stack x) {
        // QString text(QAccessible::Text, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            QString xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::text((QAccessible::Text)x[1].s_enum,(int)x[2].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QAccessibleWidget*)this)->text((QAccessible::Text)x[1].s_enum,(int)x[2].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_9(Smoke::Stack x) {
        // QAccessible::Role role(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            QAccessible::Role xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::role((int)x[1].s_int);
            x[0].s_enum = xret;
        } else {
            QAccessible::Role xret = ((const x_QAccessibleWidget*)this)->role((int)x[1].s_int);
            x[0].s_enum = xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // QFlags<QAccessible::StateFlag> state(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            QFlags<QAccessible::StateFlag> xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::state((int)x[1].s_int);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<QAccessible::StateFlag> xret = ((const x_QAccessibleWidget*)this)->state((int)x[1].s_int);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // int userActionCount(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            int xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::userActionCount((int)x[1].s_int);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAccessibleWidget*)this)->userActionCount((int)x[1].s_int);
            x[0].s_int = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // QString actionText(int, QAccessible::Text, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            QString xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::actionText((int)x[1].s_int,(QAccessible::Text)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QAccessibleWidget*)this)->actionText((int)x[1].s_int,(QAccessible::Text)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // bool doAction(int, int, const QList<QVariant>&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidget*>(this))) {
            bool xret = this->QAccessibleWidget::doAction((int)x[1].s_int,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->doAction((int)x[1].s_int,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // QWidget* widget() const
        QWidget* xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::widget();
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // QObject* parentObject() const
        QObject* xret = ((const x_QAccessibleWidget*)this)->QAccessibleWidget::parentObject();
        x[0].s_class = (void*)xret;
    }
    void x_16(Smoke::Stack x) {
        // void addControllingSignal(const QString&)
        this->QAccessibleWidget::addControllingSignal(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void setValue(const QString&)
        this->QAccessibleWidget::setValue(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void setDescription(const QString&)
        this->QAccessibleWidget::setDescription(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void setHelp(const QString&)
        this->QAccessibleWidget::setHelp(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void setAccelerator(const QString&)
        this->QAccessibleWidget::setAccelerator(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_21(Smoke::Stack x) {
        // QAccessibleWidget* QAccessibleWidget(QWidget*)
        x_QAccessibleWidget* xret = new x_QAccessibleWidget((QWidget*)x[1].s_class,(QAccessible::Role)Client,(const QString&)QString());
        x[0].s_class = (void*)xret;
    }
    static void x_22(Smoke::Stack x) {
        // QAccessibleWidget* QAccessibleWidget(QWidget*, QAccessible::Role)
        x_QAccessibleWidget* xret = new x_QAccessibleWidget((QWidget*)x[1].s_class,(QAccessible::Role)x[2].s_enum,(const QString&)QString());
        x[0].s_class = (void*)xret;
    }
    virtual bool isValid() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1032, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAccessibleObject::isValid();
    }
    virtual QObject* object() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1033, (void*)this, x)) return (QObject*)x[0].s_class;
        return this->QAccessibleObject::object();
    }
    virtual int childCount() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1177, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleWidget::childCount();
    }
    virtual int indexOfChild(const QAccessibleInterface* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1178, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleWidget::indexOfChild(x1);
    }
    virtual QFlags<QAccessible::RelationFlag> relationTo(int x1, const QAccessibleInterface* x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(1179, (void*)this, x)) return (QFlags<QAccessible::RelationFlag>)x[0].s_uint;
        return this->QAccessibleWidget::relationTo(x1, x2, x3);
    }
    virtual int childAt(int x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(1180, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleWidget::childAt(x1, x2);
    }
    virtual int navigate(QAccessible::RelationFlag x1, int x2, QAccessibleInterface** x3) const {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(1182, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleWidget::navigate(x1, x2, x3);
    }
    virtual QString text(QAccessible::Text x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(1183, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleWidget::text(x1, x2);
    }
    virtual void setText(QAccessible::Text x1, int x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(1035, (void*)this, x)) return;
        this->QAccessibleObject::setText(x1, x2, x3);
    }
    virtual QRect rect(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1181, (void*)this, x)) {
            QRect* xptr = (QRect*)x[0].s_class;
            QRect xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleWidget::rect(x1);
    }
    virtual QAccessible::Role role(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1184, (void*)this, x)) return (QAccessible::Role)x[0].s_enum;
        return this->QAccessibleWidget::role(x1);
    }
    virtual QFlags<QAccessible::StateFlag> state(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1185, (void*)this, x)) return (QFlags<QAccessible::StateFlag>)x[0].s_uint;
        return this->QAccessibleWidget::state(x1);
    }
    virtual int userActionCount(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1186, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleWidget::userActionCount(x1);
    }
    virtual QString actionText(int x1, QAccessible::Text x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(1187, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleWidget::actionText(x1, x2, x3);
    }
    virtual bool doAction(int x1, int x2, const QList<QVariant>& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(1188, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAccessibleWidget::doAction(x1, x2, x3);
    }
    ~x_QAccessibleWidget() { this->_binding->deleted(41, (void*)this); }
};
void xcall_QAccessibleWidget(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleWidget *xself = (x_QAccessibleWidget*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAccessibleWidget::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: x_QAccessibleWidget::x_21(args);	break;
        case 22: x_QAccessibleWidget::x_22(args);	break;
    }
}
class x_QAccessibleWidgetEx : public QAccessibleWidgetEx {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QAccessibleWidgetEx* QAccessibleWidgetEx(QWidget*, QAccessible::Role, const QString&)
        x_QAccessibleWidgetEx* xret = new x_QAccessibleWidgetEx((QWidget*)x[1].s_class,(QAccessible::Role)x[2].s_enum,*(const QString*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAccessibleWidgetEx(QWidget* x1, QAccessible::Role x2, const QString& x3) : QAccessibleWidgetEx(x1, x2, x3) {}
    void x_2(Smoke::Stack x) {
        // int childCount() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            int xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::childCount();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAccessibleWidgetEx*)this)->childCount();
            x[0].s_int = xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // int indexOfChild(const QAccessibleInterface*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            int xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::indexOfChild((const QAccessibleInterface*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAccessibleWidgetEx*)this)->indexOfChild((const QAccessibleInterface*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // QFlags<QAccessible::RelationFlag> relationTo(int, const QAccessibleInterface*, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            QFlags<QAccessible::RelationFlag> xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::relationTo((int)x[1].s_int,(const QAccessibleInterface*)x[2].s_class,(int)x[3].s_int);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<QAccessible::RelationFlag> xret = ((const x_QAccessibleWidgetEx*)this)->relationTo((int)x[1].s_int,(const QAccessibleInterface*)x[2].s_class,(int)x[3].s_int);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_5(Smoke::Stack x) {
        // int childAt(int, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            int xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::childAt((int)x[1].s_int,(int)x[2].s_int);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAccessibleWidgetEx*)this)->childAt((int)x[1].s_int,(int)x[2].s_int);
            x[0].s_int = xret;
        }
    }
    void x_6(Smoke::Stack x) {
        // QRect rect(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            QRect xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::rect((int)x[1].s_int);
            x[0].s_class = (void*)new QRect(xret);
        } else {
            QRect xret = ((const x_QAccessibleWidgetEx*)this)->rect((int)x[1].s_int);
            x[0].s_class = (void*)new QRect(xret);
        }
    }
    void x_7(Smoke::Stack x) {
        // int navigate(QAccessible::RelationFlag, int, QAccessibleInterface**) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            int xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::navigate((QAccessible::RelationFlag)x[1].s_enum,(int)x[2].s_int,(QAccessibleInterface**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAccessibleWidgetEx*)this)->navigate((QAccessible::RelationFlag)x[1].s_enum,(int)x[2].s_int,(QAccessibleInterface**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    void x_8(Smoke::Stack x) {
        // QString text(QAccessible::Text, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            QString xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::text((QAccessible::Text)x[1].s_enum,(int)x[2].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QAccessibleWidgetEx*)this)->text((QAccessible::Text)x[1].s_enum,(int)x[2].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_9(Smoke::Stack x) {
        // QAccessible::Role role(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            QAccessible::Role xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::role((int)x[1].s_int);
            x[0].s_enum = xret;
        } else {
            QAccessible::Role xret = ((const x_QAccessibleWidgetEx*)this)->role((int)x[1].s_int);
            x[0].s_enum = xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // QFlags<QAccessible::StateFlag> state(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            QFlags<QAccessible::StateFlag> xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::state((int)x[1].s_int);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<QAccessible::StateFlag> xret = ((const x_QAccessibleWidgetEx*)this)->state((int)x[1].s_int);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // QString actionText(int, QAccessible::Text, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            QString xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::actionText((int)x[1].s_int,(QAccessible::Text)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QAccessibleWidgetEx*)this)->actionText((int)x[1].s_int,(QAccessible::Text)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // bool doAction(int, int, const QList<QVariant>&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            bool xret = this->QAccessibleWidgetEx::doAction((int)x[1].s_int,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->doAction((int)x[1].s_int,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // QVariant invokeMethodEx(QAccessible::Method, int, const QList<QVariant>&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAccessibleWidgetEx*>(this))) {
            QVariant xret = this->QAccessibleWidgetEx::invokeMethodEx((QAccessible::Method)x[1].s_enum,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = this->invokeMethodEx((QAccessible::Method)x[1].s_enum,(int)x[2].s_int,*(const QList<QVariant>*)x[3].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_14(Smoke::Stack x) {
        // QWidget* widget() const
        QWidget* xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::widget();
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // QObject* parentObject() const
        QObject* xret = ((const x_QAccessibleWidgetEx*)this)->QAccessibleWidgetEx::parentObject();
        x[0].s_class = (void*)xret;
    }
    void x_16(Smoke::Stack x) {
        // void addControllingSignal(const QString&)
        this->QAccessibleWidgetEx::addControllingSignal(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void setValue(const QString&)
        this->QAccessibleWidgetEx::setValue(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void setDescription(const QString&)
        this->QAccessibleWidgetEx::setDescription(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void setHelp(const QString&)
        this->QAccessibleWidgetEx::setHelp(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void setAccelerator(const QString&)
        this->QAccessibleWidgetEx::setAccelerator(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_21(Smoke::Stack x) {
        // QAccessibleWidgetEx* QAccessibleWidgetEx(QWidget*)
        x_QAccessibleWidgetEx* xret = new x_QAccessibleWidgetEx((QWidget*)x[1].s_class,(QAccessible::Role)Client,(const QString&)QString());
        x[0].s_class = (void*)xret;
    }
    static void x_22(Smoke::Stack x) {
        // QAccessibleWidgetEx* QAccessibleWidgetEx(QWidget*, QAccessible::Role)
        x_QAccessibleWidgetEx* xret = new x_QAccessibleWidgetEx((QWidget*)x[1].s_class,(QAccessible::Role)x[2].s_enum,(const QString&)QString());
        x[0].s_class = (void*)xret;
    }
    virtual QVariant invokeMethodEx(QAccessible::Method x1, int x2, const QList<QVariant>& x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(1211, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleWidgetEx::invokeMethodEx(x1, x2, x3);
    }
    virtual QVariant virtual_hook(const QVariant& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1026, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleInterfaceEx::virtual_hook(x1);
    }
    virtual QAccessible2Interface* interface_cast(QAccessible2::InterfaceType x1) {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1027, (void*)this, x)) return (QAccessible2Interface*)x[0].s_class;
        return this->QAccessibleInterfaceEx::interface_cast(x1);
    }
    virtual bool isValid() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1041, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAccessibleObjectEx::isValid();
    }
    virtual QObject* object() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1042, (void*)this, x)) return (QObject*)x[0].s_class;
        return this->QAccessibleObjectEx::object();
    }
    virtual int childCount() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1200, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleWidgetEx::childCount();
    }
    virtual int indexOfChild(const QAccessibleInterface* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1201, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleWidgetEx::indexOfChild(x1);
    }
    virtual QFlags<QAccessible::RelationFlag> relationTo(int x1, const QAccessibleInterface* x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(1202, (void*)this, x)) return (QFlags<QAccessible::RelationFlag>)x[0].s_uint;
        return this->QAccessibleWidgetEx::relationTo(x1, x2, x3);
    }
    virtual int childAt(int x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(1203, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleWidgetEx::childAt(x1, x2);
    }
    virtual int navigate(QAccessible::RelationFlag x1, int x2, QAccessibleInterface** x3) const {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(1205, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleWidgetEx::navigate(x1, x2, x3);
    }
    virtual QString text(QAccessible::Text x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(1206, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleWidgetEx::text(x1, x2);
    }
    virtual void setText(QAccessible::Text x1, int x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(1044, (void*)this, x)) return;
        this->QAccessibleObjectEx::setText(x1, x2, x3);
    }
    virtual QRect rect(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1204, (void*)this, x)) {
            QRect* xptr = (QRect*)x[0].s_class;
            QRect xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleWidgetEx::rect(x1);
    }
    virtual QAccessible::Role role(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1207, (void*)this, x)) return (QAccessible::Role)x[0].s_enum;
        return this->QAccessibleWidgetEx::role(x1);
    }
    virtual QFlags<QAccessible::StateFlag> state(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1208, (void*)this, x)) return (QFlags<QAccessible::StateFlag>)x[0].s_uint;
        return this->QAccessibleWidgetEx::state(x1);
    }
    virtual int userActionCount(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1045, (void*)this, x)) return (int)x[0].s_int;
        return this->QAccessibleObjectEx::userActionCount(x1);
    }
    virtual QString actionText(int x1, QAccessible::Text x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(1209, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAccessibleWidgetEx::actionText(x1, x2, x3);
    }
    virtual bool doAction(int x1, int x2, const QList<QVariant>& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(1210, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAccessibleWidgetEx::doAction(x1, x2, x3);
    }
    ~x_QAccessibleWidgetEx() { this->_binding->deleted(42, (void*)this); }
};
void xcall_QAccessibleWidgetEx(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAccessibleWidgetEx *xself = (x_QAccessibleWidgetEx*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAccessibleWidgetEx::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: x_QAccessibleWidgetEx::x_21(args);	break;
        case 22: x_QAccessibleWidgetEx::x_22(args);	break;
    }
}
class x_QAction : public QAction, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAction*>(this))) {
            const QMetaObject* xret = ((const x_QAction*)this)->QAction::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QAction*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAction*>(this))) {
            void* xret = this->QAction::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QAction::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QAction::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QAction::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QAction::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAction*>(this))) {
            int xret = this->QAction::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QAction* QAction(QObject*)
        x_QAction* xret = new x_QAction((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAction(QObject* x1) : QAction(x1) {}
    static void x_9(Smoke::Stack x) {
        // QAction* QAction(const QString&, QObject*)
        x_QAction* xret = new x_QAction(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAction(const QString& x1, QObject* x2) : QAction(x1, x2) {}
    static void x_10(Smoke::Stack x) {
        // QAction* QAction(const QIcon&, const QString&, QObject*)
        x_QAction* xret = new x_QAction(*(const QIcon*)x[1].s_class,*(const QString*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAction(const QIcon& x1, const QString& x2, QObject* x3) : QAction(x1, x2, x3) {}
    void x_11(Smoke::Stack x) {
        // void setActionGroup(QActionGroup*)
        this->QAction::setActionGroup((QActionGroup*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QActionGroup* actionGroup() const
        QActionGroup* xret = ((const x_QAction*)this)->QAction::actionGroup();
        x[0].s_class = (void*)xret;
    }
    void x_13(Smoke::Stack x) {
        // void setIcon(const QIcon&)
        this->QAction::setIcon(*(const QIcon*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QIcon icon() const
        QIcon xret = ((const x_QAction*)this)->QAction::icon();
        x[0].s_class = (void*)new QIcon(xret);
    }
    void x_15(Smoke::Stack x) {
        // void setText(const QString&)
        this->QAction::setText(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // QString text() const
        QString xret = ((const x_QAction*)this)->QAction::text();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_17(Smoke::Stack x) {
        // void setIconText(const QString&)
        this->QAction::setIconText(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // QString iconText() const
        QString xret = ((const x_QAction*)this)->QAction::iconText();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_19(Smoke::Stack x) {
        // void setToolTip(const QString&)
        this->QAction::setToolTip(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // QString toolTip() const
        QString xret = ((const x_QAction*)this)->QAction::toolTip();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_21(Smoke::Stack x) {
        // void setStatusTip(const QString&)
        this->QAction::setStatusTip(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // QString statusTip() const
        QString xret = ((const x_QAction*)this)->QAction::statusTip();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_23(Smoke::Stack x) {
        // void setWhatsThis(const QString&)
        this->QAction::setWhatsThis(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // QString whatsThis() const
        QString xret = ((const x_QAction*)this)->QAction::whatsThis();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_25(Smoke::Stack x) {
        // void setPriority(QAction::Priority)
        this->QAction::setPriority((QAction::Priority)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // QAction::Priority priority() const
        QAction::Priority xret = ((const x_QAction*)this)->QAction::priority();
        x[0].s_enum = xret;
    }
    void x_27(Smoke::Stack x) {
        // QMenu* menu() const
        QMenu* xret = ((const x_QAction*)this)->QAction::menu();
        x[0].s_class = (void*)xret;
    }
    void x_28(Smoke::Stack x) {
        // void setMenu(QMenu*)
        this->QAction::setMenu((QMenu*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // void setSeparator(bool)
        this->QAction::setSeparator((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // bool isSeparator() const
        bool xret = ((const x_QAction*)this)->QAction::isSeparator();
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // void setShortcut(const QKeySequence&)
        this->QAction::setShortcut(*(const QKeySequence*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // QKeySequence shortcut() const
        QKeySequence xret = ((const x_QAction*)this)->QAction::shortcut();
        x[0].s_class = (void*)new QKeySequence(xret);
    }
    void x_33(Smoke::Stack x) {
        // void setShortcuts(const QList<QKeySequence>&)
        this->QAction::setShortcuts(*(const QList<QKeySequence>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // void setShortcuts(QKeySequence::StandardKey)
        this->QAction::setShortcuts((QKeySequence::StandardKey)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // QList<QKeySequence> shortcuts() const
        QList<QKeySequence> xret = ((const x_QAction*)this)->QAction::shortcuts();
        x[0].s_class = (void*)new QList<QKeySequence>(xret);
    }
    void x_36(Smoke::Stack x) {
        // void setShortcutContext(Qt::ShortcutContext)
        this->QAction::setShortcutContext((Qt::ShortcutContext)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // Qt::ShortcutContext shortcutContext() const
        Qt::ShortcutContext xret = ((const x_QAction*)this)->QAction::shortcutContext();
        x[0].s_enum = xret;
    }
    void x_38(Smoke::Stack x) {
        // void setAutoRepeat(bool)
        this->QAction::setAutoRepeat((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // bool autoRepeat() const
        bool xret = ((const x_QAction*)this)->QAction::autoRepeat();
        x[0].s_bool = xret;
    }
    void x_40(Smoke::Stack x) {
        // void setFont(const QFont&)
        this->QAction::setFont(*(const QFont*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_41(Smoke::Stack x) {
        // QFont font() const
        QFont xret = ((const x_QAction*)this)->QAction::font();
        x[0].s_class = (void*)new QFont(xret);
    }
    void x_42(Smoke::Stack x) {
        // void setCheckable(bool)
        this->QAction::setCheckable((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_43(Smoke::Stack x) {
        // bool isCheckable() const
        bool xret = ((const x_QAction*)this)->QAction::isCheckable();
        x[0].s_bool = xret;
    }
    void x_44(Smoke::Stack x) {
        // QVariant data() const
        QVariant xret = ((const x_QAction*)this)->QAction::data();
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_45(Smoke::Stack x) {
        // void setData(const QVariant&)
        this->QAction::setData(*(const QVariant*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // bool isChecked() const
        bool xret = ((const x_QAction*)this)->QAction::isChecked();
        x[0].s_bool = xret;
    }
    void x_47(Smoke::Stack x) {
        // bool isEnabled() const
        bool xret = ((const x_QAction*)this)->QAction::isEnabled();
        x[0].s_bool = xret;
    }
    void x_48(Smoke::Stack x) {
        // bool isVisible() const
        bool xret = ((const x_QAction*)this)->QAction::isVisible();
        x[0].s_bool = xret;
    }
    void x_49(Smoke::Stack x) {
        // void activate(QAction::ActionEvent)
        this->QAction::activate((QAction::ActionEvent)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_50(Smoke::Stack x) {
        // bool showStatusText(QWidget*)
        bool xret = this->QAction::showStatusText((QWidget*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_51(Smoke::Stack x) {
        // void setMenuRole(QAction::MenuRole)
        this->QAction::setMenuRole((QAction::MenuRole)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_52(Smoke::Stack x) {
        // QAction::MenuRole menuRole() const
        QAction::MenuRole xret = ((const x_QAction*)this)->QAction::menuRole();
        x[0].s_enum = xret;
    }
    void x_53(Smoke::Stack x) {
        // void setSoftKeyRole(QAction::SoftKeyRole)
        this->QAction::setSoftKeyRole((QAction::SoftKeyRole)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_54(Smoke::Stack x) {
        // QAction::SoftKeyRole softKeyRole() const
        QAction::SoftKeyRole xret = ((const x_QAction*)this)->QAction::softKeyRole();
        x[0].s_enum = xret;
    }
    void x_55(Smoke::Stack x) {
        // void setIconVisibleInMenu(bool)
        this->QAction::setIconVisibleInMenu((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_56(Smoke::Stack x) {
        // bool isIconVisibleInMenu() const
        bool xret = ((const x_QAction*)this)->QAction::isIconVisibleInMenu();
        x[0].s_bool = xret;
    }
    void x_57(Smoke::Stack x) {
        // QWidget* parentWidget() const
        QWidget* xret = ((const x_QAction*)this)->QAction::parentWidget();
        x[0].s_class = (void*)xret;
    }
    void x_58(Smoke::Stack x) {
        // QList<QWidget*> associatedWidgets() const
        QList<QWidget*> xret = ((const x_QAction*)this)->QAction::associatedWidgets();
        x[0].s_class = (void*)new QList<QWidget*>(xret);
    }
    void x_59(Smoke::Stack x) {
        // QList<QGraphicsWidget*> associatedGraphicsWidgets() const
        QList<QGraphicsWidget*> xret = ((const x_QAction*)this)->QAction::associatedGraphicsWidgets();
        x[0].s_class = (void*)new QList<QGraphicsWidget*>(xret);
    }
    void x_60(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAction*>(this))) {
            bool xret = this->QAction::event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_61(Smoke::Stack x) {
        // void trigger()
        this->QAction::trigger();
        (void)x; // noop (for compiler warning)
    }
    void x_62(Smoke::Stack x) {
        // void hover()
        this->QAction::hover();
        (void)x; // noop (for compiler warning)
    }
    void x_63(Smoke::Stack x) {
        // void setChecked(bool)
        this->QAction::setChecked((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_64(Smoke::Stack x) {
        // void toggle()
        this->QAction::toggle();
        (void)x; // noop (for compiler warning)
    }
    void x_65(Smoke::Stack x) {
        // void setEnabled(bool)
        this->QAction::setEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_66(Smoke::Stack x) {
        // void setDisabled(bool)
        this->QAction::setDisabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_67(Smoke::Stack x) {
        // void setVisible(bool)
        this->QAction::setVisible((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_68(Smoke::Stack x) {
        // void changed()
        this->QAction::changed();
        (void)x; // noop (for compiler warning)
    }
    void x_69(Smoke::Stack x) {
        // void triggered(bool)
        this->QAction::triggered((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_70(Smoke::Stack x) {
        // void hovered()
        this->QAction::hovered();
        (void)x; // noop (for compiler warning)
    }
    void x_71(Smoke::Stack x) {
        // void toggled(bool)
        this->QAction::toggled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    static void x_72(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QAction::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_73(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QAction::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_74(Smoke::Stack x) {
        // bool showStatusText()
        bool xret = this->QAction::showStatusText((QWidget*)0);
        x[0].s_bool = xret;
    }
    void x_75(Smoke::Stack x) {
        // void triggered()
        this->QAction::triggered((bool)false);
        (void)x; // noop (for compiler warning)
    }
    static void x_76(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QAction::staticMetaObject;
    }
    static void x_77(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::NoRole;
    }
    static void x_78(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::TextHeuristicRole;
    }
    static void x_79(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::ApplicationSpecificRole;
    }
    static void x_80(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::AboutQtRole;
    }
    static void x_81(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::AboutRole;
    }
    static void x_82(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::PreferencesRole;
    }
    static void x_83(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::QuitRole;
    }
    static void x_84(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::NoSoftKey;
    }
    static void x_85(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::PositiveSoftKey;
    }
    static void x_86(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::NegativeSoftKey;
    }
    static void x_87(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::SelectSoftKey;
    }
    static void x_88(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::LowPriority;
    }
    static void x_89(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::NormalPriority;
    }
    static void x_90(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::HighPriority;
    }
    static void x_91(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::Trigger;
    }
    static void x_92(Smoke::Stack x) {
        x[0].s_enum = (long)QAction::Hover;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1222, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QAction::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1223, (void*)this, x)) return (void*)x[0].s_class;
        return this->QAction::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(1228, (void*)this, x)) return (int)x[0].s_int;
        return this->QAction::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1281, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAction::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(8375, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8376, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8377, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8378, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8379, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8380, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 78: //QAction::MenuRole
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAction::MenuRole;
                    break;
                case Smoke::EnumDelete:
                    delete (QAction::MenuRole*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAction::MenuRole*)xdata = (QAction::MenuRole)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAction::MenuRole*)xdata;
                    break;
            }
            break;
        case 80: //QAction::SoftKeyRole
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAction::SoftKeyRole;
                    break;
                case Smoke::EnumDelete:
                    delete (QAction::SoftKeyRole*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAction::SoftKeyRole*)xdata = (QAction::SoftKeyRole)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAction::SoftKeyRole*)xdata;
                    break;
            }
            break;
        case 79: //QAction::Priority
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAction::Priority;
                    break;
                case Smoke::EnumDelete:
                    delete (QAction::Priority*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAction::Priority*)xdata = (QAction::Priority)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAction::Priority*)xdata;
                    break;
            }
            break;
        case 77: //QAction::ActionEvent
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAction::ActionEvent;
                    break;
                case Smoke::EnumDelete:
                    delete (QAction::ActionEvent*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAction::ActionEvent*)xdata = (QAction::ActionEvent)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAction::ActionEvent*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QAction() { this->_binding->deleted(43, (void*)this); }
};
void xenum_QAction(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QAction::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QAction(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAction *xself = (x_QAction*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QAction::x_3(args);	break;
        case 4: x_QAction::x_4(args);	break;
        case 5: x_QAction::x_5(args);	break;
        case 6: x_QAction::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QAction::x_8(args);	break;
        case 9: x_QAction::x_9(args);	break;
        case 10: x_QAction::x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: xself->x_53(args);	break;
        case 54: xself->x_54(args);	break;
        case 55: xself->x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: xself->x_58(args);	break;
        case 59: xself->x_59(args);	break;
        case 60: xself->x_60(args);	break;
        case 61: xself->x_61(args);	break;
        case 62: xself->x_62(args);	break;
        case 63: xself->x_63(args);	break;
        case 64: xself->x_64(args);	break;
        case 65: xself->x_65(args);	break;
        case 66: xself->x_66(args);	break;
        case 67: xself->x_67(args);	break;
        case 68: xself->x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: x_QAction::x_72(args);	break;
        case 73: x_QAction::x_73(args);	break;
        case 74: xself->x_74(args);	break;
        case 75: xself->x_75(args);	break;
        case 76: x_QAction::x_76(args);	break;
        case 77: x_QAction::x_77(args);	break;
        case 78: x_QAction::x_78(args);	break;
        case 79: x_QAction::x_79(args);	break;
        case 80: x_QAction::x_80(args);	break;
        case 81: x_QAction::x_81(args);	break;
        case 82: x_QAction::x_82(args);	break;
        case 83: x_QAction::x_83(args);	break;
        case 84: x_QAction::x_84(args);	break;
        case 85: x_QAction::x_85(args);	break;
        case 86: x_QAction::x_86(args);	break;
        case 87: x_QAction::x_87(args);	break;
        case 88: x_QAction::x_88(args);	break;
        case 89: x_QAction::x_89(args);	break;
        case 90: x_QAction::x_90(args);	break;
        case 91: x_QAction::x_91(args);	break;
        case 92: x_QAction::x_92(args);	break;
        case 93: delete (QAction*)xself;	break;
    }
}

}
