//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_QImageIOPlugin : public QImageIOPlugin, 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<QImageIOPlugin*>(this))) {
            const QMetaObject* xret = ((const x_QImageIOPlugin*)this)->QImageIOPlugin::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QImageIOPlugin*)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<QImageIOPlugin*>(this))) {
            void* xret = this->QImageIOPlugin::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 = QImageIOPlugin::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 = QImageIOPlugin::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 = QImageIOPlugin::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 = QImageIOPlugin::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<QImageIOPlugin*>(this))) {
            int xret = this->QImageIOPlugin::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) {
        // QImageIOPlugin* QImageIOPlugin(QObject*)
        x_QImageIOPlugin* xret = new x_QImageIOPlugin((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QImageIOPlugin(QObject* x1) : QImageIOPlugin(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual QFlags<QImageIOPlugin::Capability> capabilities(QIODevice*, const QByteArray&) const = 0
        QFlags<QImageIOPlugin::Capability> xret = ((const x_QImageIOPlugin*)this)->capabilities((QIODevice*)x[1].s_class,*(const QByteArray*)x[2].s_class);
        x[0].s_uint = (uint)xret;
    }
    void x_10(Smoke::Stack x) {
        // virtual QStringList keys() const = 0
        QStringList xret = ((const x_QImageIOPlugin*)this)->keys();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_11(Smoke::Stack x) {
        // virtual QImageIOHandler* create(QIODevice*, const QByteArray&) const = 0
        QImageIOHandler* xret = ((const x_QImageIOPlugin*)this)->create((QIODevice*)x[1].s_class,*(const QByteArray*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_12(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QImageIOPlugin::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QImageIOPlugin::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // QImageIOPlugin* QImageIOPlugin()
        x_QImageIOPlugin* xret = new x_QImageIOPlugin((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // QImageIOHandler* create(QIODevice*) const
        QImageIOHandler* xret = ((const x_QImageIOPlugin*)this)->create((QIODevice*)x[1].s_class,(const QByteArray&)QByteArray());
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QImageIOPlugin::staticMetaObject;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)QImageIOPlugin::CanRead;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)QImageIOPlugin::CanWrite;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)QImageIOPlugin::CanReadIncremental;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6496, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QImageIOPlugin::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6497, (void*)this, x)) return (void*)x[0].s_class;
        return this->QImageIOPlugin::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(6502, (void*)this, x)) return (int)x[0].s_int;
        return this->QImageIOPlugin::qt_metacall(x1, x2, x3);
    }
    virtual QFlags<QImageIOPlugin::Capability> capabilities(QIODevice* x1, const QByteArray& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(6504, (void*)this, x, true /*pure virtual*/);
        return (QFlags<QImageIOPlugin::Capability>)x[0].s_uint;
    }
    virtual QStringList keys() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(6505, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QImageIOHandler* create(QIODevice* x1, const QByteArray& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(6506, (void*)this, x, true /*pure virtual*/);
        return (QImageIOHandler*)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);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 411: //QImageIOPlugin::Capability
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QImageIOPlugin::Capability;
                    break;
                case Smoke::EnumDelete:
                    delete (QImageIOPlugin::Capability*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QImageIOPlugin::Capability*)xdata = (QImageIOPlugin::Capability)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QImageIOPlugin::Capability*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QImageIOPlugin() { this->_binding->deleted(189, (void*)this); }
};
void xenum_QImageIOPlugin(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QImageIOPlugin::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QImageIOPlugin(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QImageIOPlugin *xself = (x_QImageIOPlugin*)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_QImageIOPlugin::x_3(args);	break;
        case 4: x_QImageIOPlugin::x_4(args);	break;
        case 5: x_QImageIOPlugin::x_5(args);	break;
        case 6: x_QImageIOPlugin::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QImageIOPlugin::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: x_QImageIOPlugin::x_12(args);	break;
        case 13: x_QImageIOPlugin::x_13(args);	break;
        case 14: x_QImageIOPlugin::x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: x_QImageIOPlugin::x_16(args);	break;
        case 17: x_QImageIOPlugin::x_17(args);	break;
        case 18: x_QImageIOPlugin::x_18(args);	break;
        case 19: x_QImageIOPlugin::x_19(args);	break;
        case 20: delete (QImageIOPlugin*)xself;	break;
    }
}
class x_QImageReader : public QImageReader {
    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) {
        // QImageReader* QImageReader()
        x_QImageReader* xret = new x_QImageReader();
        x[0].s_class = (void*)xret;
    }
    explicit x_QImageReader() : QImageReader() {}
    static void x_2(Smoke::Stack x) {
        // QImageReader* QImageReader(QIODevice*, const QByteArray&)
        x_QImageReader* xret = new x_QImageReader((QIODevice*)x[1].s_class,*(const QByteArray*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QImageReader(QIODevice* x1, const QByteArray& x2) : QImageReader(x1, x2) {}
    static void x_3(Smoke::Stack x) {
        // QImageReader* QImageReader(const QString&, const QByteArray&)
        x_QImageReader* xret = new x_QImageReader(*(const QString*)x[1].s_class,*(const QByteArray*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QImageReader(const QString& x1, const QByteArray& x2) : QImageReader(x1, x2) {}
    void x_4(Smoke::Stack x) {
        // void setFormat(const QByteArray&)
        this->QImageReader::setFormat(*(const QByteArray*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // QByteArray format() const
        QByteArray xret = ((const x_QImageReader*)this)->QImageReader::format();
        x[0].s_class = (void*)new QByteArray(xret);
    }
    void x_6(Smoke::Stack x) {
        // void setAutoDetectImageFormat(bool)
        this->QImageReader::setAutoDetectImageFormat((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // bool autoDetectImageFormat() const
        bool xret = ((const x_QImageReader*)this)->QImageReader::autoDetectImageFormat();
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // void setDecideFormatFromContent(bool)
        this->QImageReader::setDecideFormatFromContent((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // bool decideFormatFromContent() const
        bool xret = ((const x_QImageReader*)this)->QImageReader::decideFormatFromContent();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // void setDevice(QIODevice*)
        this->QImageReader::setDevice((QIODevice*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // QIODevice* device() const
        QIODevice* xret = ((const x_QImageReader*)this)->QImageReader::device();
        x[0].s_class = (void*)xret;
    }
    void x_12(Smoke::Stack x) {
        // void setFileName(const QString&)
        this->QImageReader::setFileName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_QImageReader*)this)->QImageReader::fileName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_14(Smoke::Stack x) {
        // QSize size() const
        QSize xret = ((const x_QImageReader*)this)->QImageReader::size();
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_15(Smoke::Stack x) {
        // QImage::Format imageFormat() const
        QImage::Format xret = ((const x_QImageReader*)this)->QImageReader::imageFormat();
        x[0].s_enum = xret;
    }
    void x_16(Smoke::Stack x) {
        // QStringList textKeys() const
        QStringList xret = ((const x_QImageReader*)this)->QImageReader::textKeys();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_17(Smoke::Stack x) {
        // QString text(const QString&) const
        QString xret = ((const x_QImageReader*)this)->QImageReader::text(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_18(Smoke::Stack x) {
        // void setClipRect(const QRect&)
        this->QImageReader::setClipRect(*(const QRect*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // QRect clipRect() const
        QRect xret = ((const x_QImageReader*)this)->QImageReader::clipRect();
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_20(Smoke::Stack x) {
        // void setScaledSize(const QSize&)
        this->QImageReader::setScaledSize(*(const QSize*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // QSize scaledSize() const
        QSize xret = ((const x_QImageReader*)this)->QImageReader::scaledSize();
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_22(Smoke::Stack x) {
        // void setQuality(int)
        this->QImageReader::setQuality((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // int quality() const
        int xret = ((const x_QImageReader*)this)->QImageReader::quality();
        x[0].s_int = xret;
    }
    void x_24(Smoke::Stack x) {
        // void setScaledClipRect(const QRect&)
        this->QImageReader::setScaledClipRect(*(const QRect*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // QRect scaledClipRect() const
        QRect xret = ((const x_QImageReader*)this)->QImageReader::scaledClipRect();
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_26(Smoke::Stack x) {
        // void setBackgroundColor(const QColor&)
        this->QImageReader::setBackgroundColor(*(const QColor*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // QColor backgroundColor() const
        QColor xret = ((const x_QImageReader*)this)->QImageReader::backgroundColor();
        x[0].s_class = (void*)new QColor(xret);
    }
    void x_28(Smoke::Stack x) {
        // bool supportsAnimation() const
        bool xret = ((const x_QImageReader*)this)->QImageReader::supportsAnimation();
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // bool canRead() const
        bool xret = ((const x_QImageReader*)this)->QImageReader::canRead();
        x[0].s_bool = xret;
    }
    void x_30(Smoke::Stack x) {
        // QImage read()
        QImage xret = this->QImageReader::read();
        x[0].s_class = (void*)new QImage(xret);
    }
    void x_31(Smoke::Stack x) {
        // bool read(QImage*)
        bool xret = this->QImageReader::read((QImage*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // bool jumpToNextImage()
        bool xret = this->QImageReader::jumpToNextImage();
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // bool jumpToImage(int)
        bool xret = this->QImageReader::jumpToImage((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // int loopCount() const
        int xret = ((const x_QImageReader*)this)->QImageReader::loopCount();
        x[0].s_int = xret;
    }
    void x_35(Smoke::Stack x) {
        // int imageCount() const
        int xret = ((const x_QImageReader*)this)->QImageReader::imageCount();
        x[0].s_int = xret;
    }
    void x_36(Smoke::Stack x) {
        // int nextImageDelay() const
        int xret = ((const x_QImageReader*)this)->QImageReader::nextImageDelay();
        x[0].s_int = xret;
    }
    void x_37(Smoke::Stack x) {
        // int currentImageNumber() const
        int xret = ((const x_QImageReader*)this)->QImageReader::currentImageNumber();
        x[0].s_int = xret;
    }
    void x_38(Smoke::Stack x) {
        // QRect currentImageRect() const
        QRect xret = ((const x_QImageReader*)this)->QImageReader::currentImageRect();
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_39(Smoke::Stack x) {
        // QImageReader::ImageReaderError error() const
        QImageReader::ImageReaderError xret = ((const x_QImageReader*)this)->QImageReader::error();
        x[0].s_enum = xret;
    }
    void x_40(Smoke::Stack x) {
        // QString errorString() const
        QString xret = ((const x_QImageReader*)this)->QImageReader::errorString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_41(Smoke::Stack x) {
        // bool supportsOption(QImageIOHandler::ImageOption) const
        bool xret = ((const x_QImageReader*)this)->QImageReader::supportsOption((QImageIOHandler::ImageOption)x[1].s_enum);
        x[0].s_bool = xret;
    }
    static void x_42(Smoke::Stack x) {
        // static QByteArray imageFormat(const QString&)
        QByteArray xret = QImageReader::imageFormat(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QByteArray(xret);
    }
    static void x_43(Smoke::Stack x) {
        // static QByteArray imageFormat(QIODevice*)
        QByteArray xret = QImageReader::imageFormat((QIODevice*)x[1].s_class);
        x[0].s_class = (void*)new QByteArray(xret);
    }
    static void x_44(Smoke::Stack x) {
        // static QList<QByteArray> supportedImageFormats()
        QList<QByteArray> xret = QImageReader::supportedImageFormats();
        x[0].s_class = (void*)new QList<QByteArray>(xret);
    }
    static void x_45(Smoke::Stack x) {
        // QImageReader* QImageReader(QIODevice*)
        x_QImageReader* xret = new x_QImageReader((QIODevice*)x[1].s_class,(const QByteArray&)QByteArray());
        x[0].s_class = (void*)xret;
    }
    static void x_46(Smoke::Stack x) {
        // QImageReader* QImageReader(const QString&)
        x_QImageReader* xret = new x_QImageReader(*(const QString*)x[1].s_class,(const QByteArray&)QByteArray());
        x[0].s_class = (void*)xret;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QImageReader::UnknownError;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QImageReader::FileNotFoundError;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QImageReader::DeviceError;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QImageReader::UnsupportedFormatError;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)QImageReader::InvalidDataError;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 413: //QImageReader::ImageReaderError
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QImageReader::ImageReaderError;
                    break;
                case Smoke::EnumDelete:
                    delete (QImageReader::ImageReaderError*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QImageReader::ImageReaderError*)xdata = (QImageReader::ImageReaderError)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QImageReader::ImageReaderError*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QImageReader() { this->_binding->deleted(190, (void*)this); }
};
void xenum_QImageReader(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QImageReader::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QImageReader(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QImageReader *xself = (x_QImageReader*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QImageReader::x_1(args);	break;
        case 2: x_QImageReader::x_2(args);	break;
        case 3: x_QImageReader::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: 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: x_QImageReader::x_42(args);	break;
        case 43: x_QImageReader::x_43(args);	break;
        case 44: x_QImageReader::x_44(args);	break;
        case 45: x_QImageReader::x_45(args);	break;
        case 46: x_QImageReader::x_46(args);	break;
        case 47: x_QImageReader::x_47(args);	break;
        case 48: x_QImageReader::x_48(args);	break;
        case 49: x_QImageReader::x_49(args);	break;
        case 50: x_QImageReader::x_50(args);	break;
        case 51: x_QImageReader::x_51(args);	break;
        case 52: delete (QImageReader*)xself;	break;
    }
}
class x_QImageTextKeyLang : public QImageTextKeyLang {
    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) {
        // QImageTextKeyLang* QImageTextKeyLang(const char*, const char*)
        x_QImageTextKeyLang* xret = new x_QImageTextKeyLang((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QImageTextKeyLang(const char* x1, const char* x2) : QImageTextKeyLang(x1, x2) {}
    static void x_2(Smoke::Stack x) {
        // QImageTextKeyLang* QImageTextKeyLang()
        x_QImageTextKeyLang* xret = new x_QImageTextKeyLang();
        x[0].s_class = (void*)xret;
    }
    explicit x_QImageTextKeyLang() : QImageTextKeyLang() {}
    void x_3(Smoke::Stack x) {
        // bool operator<(const QImageTextKeyLang&) const
        bool xret = ((const x_QImageTextKeyLang*)this)->QImageTextKeyLang::operator<(*(const QImageTextKeyLang*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // bool operator==(const QImageTextKeyLang&) const
        bool xret = ((const x_QImageTextKeyLang*)this)->QImageTextKeyLang::operator==(*(const QImageTextKeyLang*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool operator!=(const QImageTextKeyLang&) const
        bool xret = ((const x_QImageTextKeyLang*)this)->QImageTextKeyLang::operator!=(*(const QImageTextKeyLang*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_6(Smoke::Stack x) {
        // QImageTextKeyLang* QImageTextKeyLang(const QImageTextKeyLang&)
        x_QImageTextKeyLang* xret = new x_QImageTextKeyLang(*(const QImageTextKeyLang*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QImageTextKeyLang(const QImageTextKeyLang& x1) : QImageTextKeyLang(x1) {}
    void x_7(Smoke::Stack x) {
        // QByteArray key
        x[0].s_class = (void*)&this->QImageTextKeyLang::key;
    }
    void x_8(Smoke::Stack x) {
        // QByteArray key=
        this->QImageTextKeyLang::key = *(const QByteArray*)x[1].s_class;
    }
    void x_9(Smoke::Stack x) {
        // QByteArray lang
        x[0].s_class = (void*)&this->QImageTextKeyLang::lang;
    }
    void x_10(Smoke::Stack x) {
        // QByteArray lang=
        this->QImageTextKeyLang::lang = *(const QByteArray*)x[1].s_class;
    }
    ~x_QImageTextKeyLang() { this->_binding->deleted(191, (void*)this); }
};
void xcall_QImageTextKeyLang(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QImageTextKeyLang *xself = (x_QImageTextKeyLang*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QImageTextKeyLang::x_1(args);	break;
        case 2: x_QImageTextKeyLang::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_QImageTextKeyLang::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: delete (QImageTextKeyLang*)xself;	break;
    }
}
class x_QImageWriter : public QImageWriter {
    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) {
        // QImageWriter* QImageWriter()
        x_QImageWriter* xret = new x_QImageWriter();
        x[0].s_class = (void*)xret;
    }
    explicit x_QImageWriter() : QImageWriter() {}
    static void x_2(Smoke::Stack x) {
        // QImageWriter* QImageWriter(QIODevice*, const QByteArray&)
        x_QImageWriter* xret = new x_QImageWriter((QIODevice*)x[1].s_class,*(const QByteArray*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QImageWriter(QIODevice* x1, const QByteArray& x2) : QImageWriter(x1, x2) {}
    static void x_3(Smoke::Stack x) {
        // QImageWriter* QImageWriter(const QString&, const QByteArray&)
        x_QImageWriter* xret = new x_QImageWriter(*(const QString*)x[1].s_class,*(const QByteArray*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QImageWriter(const QString& x1, const QByteArray& x2) : QImageWriter(x1, x2) {}
    void x_4(Smoke::Stack x) {
        // void setFormat(const QByteArray&)
        this->QImageWriter::setFormat(*(const QByteArray*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // QByteArray format() const
        QByteArray xret = ((const x_QImageWriter*)this)->QImageWriter::format();
        x[0].s_class = (void*)new QByteArray(xret);
    }
    void x_6(Smoke::Stack x) {
        // void setDevice(QIODevice*)
        this->QImageWriter::setDevice((QIODevice*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // QIODevice* device() const
        QIODevice* xret = ((const x_QImageWriter*)this)->QImageWriter::device();
        x[0].s_class = (void*)xret;
    }
    void x_8(Smoke::Stack x) {
        // void setFileName(const QString&)
        this->QImageWriter::setFileName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_QImageWriter*)this)->QImageWriter::fileName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_10(Smoke::Stack x) {
        // void setQuality(int)
        this->QImageWriter::setQuality((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // int quality() const
        int xret = ((const x_QImageWriter*)this)->QImageWriter::quality();
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // void setCompression(int)
        this->QImageWriter::setCompression((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // int compression() const
        int xret = ((const x_QImageWriter*)this)->QImageWriter::compression();
        x[0].s_int = xret;
    }
    void x_14(Smoke::Stack x) {
        // void setGamma(float)
        this->QImageWriter::setGamma((float)x[1].s_float);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // float gamma() const
        float xret = ((const x_QImageWriter*)this)->QImageWriter::gamma();
        x[0].s_float = xret;
    }
    void x_16(Smoke::Stack x) {
        // void setDescription(const QString&)
        this->QImageWriter::setDescription(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // QString description() const
        QString xret = ((const x_QImageWriter*)this)->QImageWriter::description();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_18(Smoke::Stack x) {
        // void setText(const QString&, const QString&)
        this->QImageWriter::setText(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // bool canWrite() const
        bool xret = ((const x_QImageWriter*)this)->QImageWriter::canWrite();
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // bool write(const QImage&)
        bool xret = this->QImageWriter::write(*(const QImage*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // QImageWriter::ImageWriterError error() const
        QImageWriter::ImageWriterError xret = ((const x_QImageWriter*)this)->QImageWriter::error();
        x[0].s_enum = xret;
    }
    void x_22(Smoke::Stack x) {
        // QString errorString() const
        QString xret = ((const x_QImageWriter*)this)->QImageWriter::errorString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_23(Smoke::Stack x) {
        // bool supportsOption(QImageIOHandler::ImageOption) const
        bool xret = ((const x_QImageWriter*)this)->QImageWriter::supportsOption((QImageIOHandler::ImageOption)x[1].s_enum);
        x[0].s_bool = xret;
    }
    static void x_24(Smoke::Stack x) {
        // static QList<QByteArray> supportedImageFormats()
        QList<QByteArray> xret = QImageWriter::supportedImageFormats();
        x[0].s_class = (void*)new QList<QByteArray>(xret);
    }
    static void x_25(Smoke::Stack x) {
        // QImageWriter* QImageWriter(const QString&)
        x_QImageWriter* xret = new x_QImageWriter(*(const QString*)x[1].s_class,(const QByteArray&)QByteArray());
        x[0].s_class = (void*)xret;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)QImageWriter::UnknownError;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QImageWriter::DeviceError;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QImageWriter::UnsupportedFormatError;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 417: //QImageWriter::ImageWriterError
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QImageWriter::ImageWriterError;
                    break;
                case Smoke::EnumDelete:
                    delete (QImageWriter::ImageWriterError*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QImageWriter::ImageWriterError*)xdata = (QImageWriter::ImageWriterError)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QImageWriter::ImageWriterError*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QImageWriter() { this->_binding->deleted(192, (void*)this); }
};
void xenum_QImageWriter(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QImageWriter::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QImageWriter(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QImageWriter *xself = (x_QImageWriter*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QImageWriter::x_1(args);	break;
        case 2: x_QImageWriter::x_2(args);	break;
        case 3: x_QImageWriter::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: x_QImageWriter::x_24(args);	break;
        case 25: x_QImageWriter::x_25(args);	break;
        case 26: x_QImageWriter::x_26(args);	break;
        case 27: x_QImageWriter::x_27(args);	break;
        case 28: x_QImageWriter::x_28(args);	break;
        case 29: delete (QImageWriter*)xself;	break;
    }
}
class x_QInputContext : public QInputContext, 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<QInputContext*>(this))) {
            const QMetaObject* xret = ((const x_QInputContext*)this)->QInputContext::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QInputContext*)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<QInputContext*>(this))) {
            void* xret = this->QInputContext::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 = QInputContext::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 = QInputContext::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 = QInputContext::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 = QInputContext::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<QInputContext*>(this))) {
            int xret = this->QInputContext::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) {
        // QInputContext* QInputContext(QObject*)
        x_QInputContext* xret = new x_QInputContext((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputContext(QObject* x1) : QInputContext(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual QString identifierName() = 0
        QString xret = this->identifierName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_10(Smoke::Stack x) {
        // virtual QString language() = 0
        QString xret = this->language();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_11(Smoke::Stack x) {
        // virtual void reset() = 0
        this->reset();
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // virtual void update()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputContext*>(this))) {
            this->QInputContext::update();
            (void)x; // noop (for compiler warning)
        } else {
            this->update();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // virtual void mouseHandler(int, QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputContext*>(this))) {
            this->QInputContext::mouseHandler((int)x[1].s_int,(QMouseEvent*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mouseHandler((int)x[1].s_int,(QMouseEvent*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_14(Smoke::Stack x) {
        // virtual QFont font() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputContext*>(this))) {
            QFont xret = ((const x_QInputContext*)this)->QInputContext::font();
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QInputContext*)this)->font();
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // virtual bool isComposing() const = 0
        bool xret = ((const x_QInputContext*)this)->isComposing();
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // QWidget* focusWidget() const
        QWidget* xret = ((const x_QInputContext*)this)->QInputContext::focusWidget();
        x[0].s_class = (void*)xret;
    }
    void x_17(Smoke::Stack x) {
        // virtual void setFocusWidget(QWidget*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputContext*>(this))) {
            this->QInputContext::setFocusWidget((QWidget*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFocusWidget((QWidget*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_18(Smoke::Stack x) {
        // virtual void widgetDestroyed(QWidget*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputContext*>(this))) {
            this->QInputContext::widgetDestroyed((QWidget*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->widgetDestroyed((QWidget*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_19(Smoke::Stack x) {
        // virtual QList<QAction*> actions()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputContext*>(this))) {
            QList<QAction*> xret = this->QInputContext::actions();
            x[0].s_class = (void*)new QList<QAction*>(xret);
        } else {
            QList<QAction*> xret = this->actions();
            x[0].s_class = (void*)new QList<QAction*>(xret);
        }
    }
    void x_20(Smoke::Stack x) {
        // virtual bool x11FilterEvent(QWidget*, _XEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputContext*>(this))) {
            bool xret = this->QInputContext::x11FilterEvent((QWidget*)x[1].s_class,(_XEvent*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->x11FilterEvent((QWidget*)x[1].s_class,(_XEvent*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_21(Smoke::Stack x) {
        // virtual bool filterEvent(const QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputContext*>(this))) {
            bool xret = this->QInputContext::filterEvent((const QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->filterEvent((const QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_22(Smoke::Stack x) {
        // void sendEvent(const QInputMethodEvent&)
        this->QInputContext::sendEvent(*(const QInputMethodEvent*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // QTextFormat standardFormat(QInputContext::StandardFormat) const
        QTextFormat xret = ((const x_QInputContext*)this)->QInputContext::standardFormat((QInputContext::StandardFormat)x[1].s_enum);
        x[0].s_class = (void*)new QTextFormat(xret);
    }
    static void x_24(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QInputContext::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_25(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QInputContext::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // QInputContext* QInputContext()
        x_QInputContext* xret = new x_QInputContext((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_27(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QInputContext::staticMetaObject;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QInputContext::PreeditFormat;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QInputContext::SelectionFormat;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6608, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QInputContext::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6609, (void*)this, x)) return (void*)x[0].s_class;
        return this->QInputContext::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(6614, (void*)this, x)) return (int)x[0].s_int;
        return this->QInputContext::qt_metacall(x1, x2, x3);
    }
    virtual QString identifierName() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(6616, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString language() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(6617, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void reset() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(6618, (void*)this, x, true /*pure virtual*/);
    }
    virtual void update() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6619, (void*)this, x)) return;
        this->QInputContext::update();
    }
    virtual void mouseHandler(int x1, QMouseEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(6620, (void*)this, x)) return;
        this->QInputContext::mouseHandler(x1, x2);
    }
    virtual QFont font() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6621, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QInputContext::font();
    }
    virtual bool isComposing() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(6622, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual void setFocusWidget(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6624, (void*)this, x)) return;
        this->QInputContext::setFocusWidget(x1);
    }
    virtual void widgetDestroyed(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6625, (void*)this, x)) return;
        this->QInputContext::widgetDestroyed(x1);
    }
    virtual QList<QAction*> actions() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6626, (void*)this, x)) {
            QList<QAction*>* xptr = (QList<QAction*>*)x[0].s_class;
            QList<QAction*> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QInputContext::actions();
    }
    virtual bool x11FilterEvent(QWidget* x1, _XEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(6627, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QInputContext::x11FilterEvent(x1, x2);
    }
    virtual bool filterEvent(const QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6628, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QInputContext::filterEvent(x1);
    }
    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);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 420: //QInputContext::StandardFormat
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QInputContext::StandardFormat;
                    break;
                case Smoke::EnumDelete:
                    delete (QInputContext::StandardFormat*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QInputContext::StandardFormat*)xdata = (QInputContext::StandardFormat)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QInputContext::StandardFormat*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QInputContext() { this->_binding->deleted(194, (void*)this); }
};
void xenum_QInputContext(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QInputContext::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QInputContext(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QInputContext *xself = (x_QInputContext*)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_QInputContext::x_3(args);	break;
        case 4: x_QInputContext::x_4(args);	break;
        case 5: x_QInputContext::x_5(args);	break;
        case 6: x_QInputContext::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QInputContext::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: x_QInputContext::x_24(args);	break;
        case 25: x_QInputContext::x_25(args);	break;
        case 26: x_QInputContext::x_26(args);	break;
        case 27: x_QInputContext::x_27(args);	break;
        case 28: x_QInputContext::x_28(args);	break;
        case 29: x_QInputContext::x_29(args);	break;
        case 30: delete (QInputContext*)xself;	break;
    }
}
class x_QInputContextFactory : public QInputContextFactory {
    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) {
        // static QStringList keys()
        QStringList xret = QInputContextFactory::keys();
        x[0].s_class = (void*)new QStringList(xret);
    }
    static void x_2(Smoke::Stack x) {
        // static QInputContext* create(const QString&, QObject*)
        QInputContext* xret = QInputContextFactory::create(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_3(Smoke::Stack x) {
        // static QStringList languages(const QString&)
        QStringList xret = QInputContextFactory::languages(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QStringList(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString displayName(const QString&)
        QString xret = QInputContextFactory::displayName(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString description(const QString&)
        QString xret = QInputContextFactory::description(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // QInputContextFactory* QInputContextFactory()
        x_QInputContextFactory* xret = new x_QInputContextFactory();
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputContextFactory() : QInputContextFactory() {}
    static void x_7(Smoke::Stack x) {
        // QInputContextFactory* QInputContextFactory(const QInputContextFactory&)
        x_QInputContextFactory* xret = new x_QInputContextFactory(*(const QInputContextFactory*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputContextFactory(const QInputContextFactory& x1) : QInputContextFactory(x1) {}
    ~x_QInputContextFactory() { this->_binding->deleted(195, (void*)this); }
};
void xcall_QInputContextFactory(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QInputContextFactory *xself = (x_QInputContextFactory*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QInputContextFactory::x_1(args);	break;
        case 2: x_QInputContextFactory::x_2(args);	break;
        case 3: x_QInputContextFactory::x_3(args);	break;
        case 4: x_QInputContextFactory::x_4(args);	break;
        case 5: x_QInputContextFactory::x_5(args);	break;
        case 6: x_QInputContextFactory::x_6(args);	break;
        case 7: x_QInputContextFactory::x_7(args);	break;
        case 8: delete (QInputContextFactory*)xself;	break;
    }
}
class x_QInputContextFactoryInterface : public QInputContextFactoryInterface, 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 QInputContext* create(const QString&) = 0
        QInputContext* xret = this->create(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual QStringList languages(const QString&) = 0
        QStringList xret = this->languages(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual QString displayName(const QString&) = 0
        QString xret = this->displayName(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_4(Smoke::Stack x) {
        // virtual QString description(const QString&) = 0
        QString xret = this->description(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // QInputContextFactoryInterface* QInputContextFactoryInterface()
        x_QInputContextFactoryInterface* xret = new x_QInputContextFactoryInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputContextFactoryInterface() : QInputContextFactoryInterface() {}
    static void x_6(Smoke::Stack x) {
        // QInputContextFactoryInterface* QInputContextFactoryInterface(const QInputContextFactoryInterface&)
        x_QInputContextFactoryInterface* xret = new x_QInputContextFactoryInterface(*(const QInputContextFactoryInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputContextFactoryInterface(const QInputContextFactoryInterface& x1) : QInputContextFactoryInterface(x1) {}
    virtual QInputContext* create(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(6646, (void*)this, x, true /*pure virtual*/);
        return (QInputContext*)x[0].s_class;
    }
    virtual QStringList languages(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(6647, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString displayName(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(6648, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString description(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(6649, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    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_QInputContextFactoryInterface() { this->_binding->deleted(196, (void*)this); }
};
void xcall_QInputContextFactoryInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QInputContextFactoryInterface *xself = (x_QInputContextFactoryInterface*)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_QInputContextFactoryInterface::x_5(args);	break;
        case 6: x_QInputContextFactoryInterface::x_6(args);	break;
        case 7: delete (QInputContextFactoryInterface*)xself;	break;
    }
}
class x_QInputContextPlugin : public QInputContextPlugin, 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<QInputContextPlugin*>(this))) {
            const QMetaObject* xret = ((const x_QInputContextPlugin*)this)->QInputContextPlugin::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QInputContextPlugin*)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<QInputContextPlugin*>(this))) {
            void* xret = this->QInputContextPlugin::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 = QInputContextPlugin::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 = QInputContextPlugin::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 = QInputContextPlugin::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 = QInputContextPlugin::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<QInputContextPlugin*>(this))) {
            int xret = this->QInputContextPlugin::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) {
        // QInputContextPlugin* QInputContextPlugin(QObject*)
        x_QInputContextPlugin* xret = new x_QInputContextPlugin((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputContextPlugin(QObject* x1) : QInputContextPlugin(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual QStringList keys() const = 0
        QStringList xret = ((const x_QInputContextPlugin*)this)->keys();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_10(Smoke::Stack x) {
        // virtual QInputContext* create(const QString&) = 0
        QInputContext* xret = this->create(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // virtual QStringList languages(const QString&) = 0
        QStringList xret = this->languages(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_12(Smoke::Stack x) {
        // virtual QString displayName(const QString&) = 0
        QString xret = this->displayName(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_13(Smoke::Stack x) {
        // virtual QString description(const QString&) = 0
        QString xret = this->description(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QInputContextPlugin::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QInputContextPlugin::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_16(Smoke::Stack x) {
        // QInputContextPlugin* QInputContextPlugin()
        x_QInputContextPlugin* xret = new x_QInputContextPlugin((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_17(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QInputContextPlugin::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6653, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QInputContextPlugin::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6654, (void*)this, x)) return (void*)x[0].s_class;
        return this->QInputContextPlugin::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(6659, (void*)this, x)) return (int)x[0].s_int;
        return this->QInputContextPlugin::qt_metacall(x1, x2, x3);
    }
    virtual QStringList keys() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(6661, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QInputContext* create(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(6662, (void*)this, x, true /*pure virtual*/);
        return (QInputContext*)x[0].s_class;
    }
    virtual QStringList languages(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(6663, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString displayName(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(6664, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString description(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(6665, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    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_QInputContextPlugin() { this->_binding->deleted(197, (void*)this); }
};
void xcall_QInputContextPlugin(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QInputContextPlugin *xself = (x_QInputContextPlugin*)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_QInputContextPlugin::x_3(args);	break;
        case 4: x_QInputContextPlugin::x_4(args);	break;
        case 5: x_QInputContextPlugin::x_5(args);	break;
        case 6: x_QInputContextPlugin::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QInputContextPlugin::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: x_QInputContextPlugin::x_14(args);	break;
        case 15: x_QInputContextPlugin::x_15(args);	break;
        case 16: x_QInputContextPlugin::x_16(args);	break;
        case 17: x_QInputContextPlugin::x_17(args);	break;
        case 18: delete (QInputContextPlugin*)xself;	break;
    }
}
class x_QInputDialog : public QInputDialog, 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<QInputDialog*>(this))) {
            const QMetaObject* xret = ((const x_QInputDialog*)this)->QInputDialog::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QInputDialog*)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<QInputDialog*>(this))) {
            void* xret = this->QInputDialog::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 = QInputDialog::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 = QInputDialog::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 = QInputDialog::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 = QInputDialog::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<QInputDialog*>(this))) {
            int xret = this->QInputDialog::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) {
        // QInputDialog* QInputDialog(QWidget*, QFlags<Qt::WindowType>)
        x_QInputDialog* xret = new x_QInputDialog((QWidget*)x[1].s_class,(QFlags<Qt::WindowType>)x[2].s_uint);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputDialog(QWidget* x1, QFlags<Qt::WindowType> x2) : QInputDialog(x1, x2) {}
    void x_9(Smoke::Stack x) {
        // void setInputMode(QInputDialog::InputMode)
        this->QInputDialog::setInputMode((QInputDialog::InputMode)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // QInputDialog::InputMode inputMode() const
        QInputDialog::InputMode xret = ((const x_QInputDialog*)this)->QInputDialog::inputMode();
        x[0].s_enum = xret;
    }
    void x_11(Smoke::Stack x) {
        // void setLabelText(const QString&)
        this->QInputDialog::setLabelText(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QString labelText() const
        QString xret = ((const x_QInputDialog*)this)->QInputDialog::labelText();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_13(Smoke::Stack x) {
        // void setOption(QInputDialog::InputDialogOption, bool)
        this->QInputDialog::setOption((QInputDialog::InputDialogOption)x[1].s_enum,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool testOption(QInputDialog::InputDialogOption) const
        bool xret = ((const x_QInputDialog*)this)->QInputDialog::testOption((QInputDialog::InputDialogOption)x[1].s_enum);
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // void setOptions(QFlags<QInputDialog::InputDialogOption>)
        this->QInputDialog::setOptions((QFlags<QInputDialog::InputDialogOption>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // QFlags<QInputDialog::InputDialogOption> options() const
        QFlags<QInputDialog::InputDialogOption> xret = ((const x_QInputDialog*)this)->QInputDialog::options();
        x[0].s_uint = (uint)xret;
    }
    void x_17(Smoke::Stack x) {
        // void setTextValue(const QString&)
        this->QInputDialog::setTextValue(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // QString textValue() const
        QString xret = ((const x_QInputDialog*)this)->QInputDialog::textValue();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_19(Smoke::Stack x) {
        // void setTextEchoMode(QLineEdit::EchoMode)
        this->QInputDialog::setTextEchoMode((QLineEdit::EchoMode)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // QLineEdit::EchoMode textEchoMode() const
        QLineEdit::EchoMode xret = ((const x_QInputDialog*)this)->QInputDialog::textEchoMode();
        x[0].s_enum = xret;
    }
    void x_21(Smoke::Stack x) {
        // void setComboBoxEditable(bool)
        this->QInputDialog::setComboBoxEditable((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // bool isComboBoxEditable() const
        bool xret = ((const x_QInputDialog*)this)->QInputDialog::isComboBoxEditable();
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // void setComboBoxItems(const QStringList&)
        this->QInputDialog::setComboBoxItems(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // QStringList comboBoxItems() const
        QStringList xret = ((const x_QInputDialog*)this)->QInputDialog::comboBoxItems();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_25(Smoke::Stack x) {
        // void setIntValue(int)
        this->QInputDialog::setIntValue((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // int intValue() const
        int xret = ((const x_QInputDialog*)this)->QInputDialog::intValue();
        x[0].s_int = xret;
    }
    void x_27(Smoke::Stack x) {
        // void setIntMinimum(int)
        this->QInputDialog::setIntMinimum((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // int intMinimum() const
        int xret = ((const x_QInputDialog*)this)->QInputDialog::intMinimum();
        x[0].s_int = xret;
    }
    void x_29(Smoke::Stack x) {
        // void setIntMaximum(int)
        this->QInputDialog::setIntMaximum((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // int intMaximum() const
        int xret = ((const x_QInputDialog*)this)->QInputDialog::intMaximum();
        x[0].s_int = xret;
    }
    void x_31(Smoke::Stack x) {
        // void setIntRange(int, int)
        this->QInputDialog::setIntRange((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // void setIntStep(int)
        this->QInputDialog::setIntStep((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // int intStep() const
        int xret = ((const x_QInputDialog*)this)->QInputDialog::intStep();
        x[0].s_int = xret;
    }
    void x_34(Smoke::Stack x) {
        // void setDoubleValue(double)
        this->QInputDialog::setDoubleValue((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // double doubleValue() const
        double xret = ((const x_QInputDialog*)this)->QInputDialog::doubleValue();
        x[0].s_double = xret;
    }
    void x_36(Smoke::Stack x) {
        // void setDoubleMinimum(double)
        this->QInputDialog::setDoubleMinimum((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // double doubleMinimum() const
        double xret = ((const x_QInputDialog*)this)->QInputDialog::doubleMinimum();
        x[0].s_double = xret;
    }
    void x_38(Smoke::Stack x) {
        // void setDoubleMaximum(double)
        this->QInputDialog::setDoubleMaximum((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // double doubleMaximum() const
        double xret = ((const x_QInputDialog*)this)->QInputDialog::doubleMaximum();
        x[0].s_double = xret;
    }
    void x_40(Smoke::Stack x) {
        // void setDoubleRange(double, double)
        this->QInputDialog::setDoubleRange((double)x[1].s_double,(double)x[2].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_41(Smoke::Stack x) {
        // void setDoubleDecimals(int)
        this->QInputDialog::setDoubleDecimals((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_42(Smoke::Stack x) {
        // int doubleDecimals() const
        int xret = ((const x_QInputDialog*)this)->QInputDialog::doubleDecimals();
        x[0].s_int = xret;
    }
    void x_43(Smoke::Stack x) {
        // void setOkButtonText(const QString&)
        this->QInputDialog::setOkButtonText(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_44(Smoke::Stack x) {
        // QString okButtonText() const
        QString xret = ((const x_QInputDialog*)this)->QInputDialog::okButtonText();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_45(Smoke::Stack x) {
        // void setCancelButtonText(const QString&)
        this->QInputDialog::setCancelButtonText(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // QString cancelButtonText() const
        QString xret = ((const x_QInputDialog*)this)->QInputDialog::cancelButtonText();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_47(Smoke::Stack x) {
        // void open()
        this->QInputDialog::open();
        (void)x; // noop (for compiler warning)
    }
    void x_48(Smoke::Stack x) {
        // void open(QObject*, const char*)
        this->QInputDialog::open((QObject*)x[1].s_class,(const char*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_49(Smoke::Stack x) {
        // QSize minimumSizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputDialog*>(this))) {
            QSize xret = ((const x_QInputDialog*)this)->QInputDialog::minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QInputDialog*)this)->minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_50(Smoke::Stack x) {
        // QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputDialog*>(this))) {
            QSize xret = ((const x_QInputDialog*)this)->QInputDialog::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QInputDialog*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_51(Smoke::Stack x) {
        // void setVisible(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputDialog*>(this))) {
            this->QInputDialog::setVisible((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setVisible((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_52(Smoke::Stack x) {
        // static QString getText(QWidget*, const QString&, const QString&, QLineEdit::EchoMode, const QString&, bool*, QFlags<Qt::WindowType>)
        QString xret = QInputDialog::getText((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(QLineEdit::EchoMode)x[4].s_enum,*(const QString*)x[5].s_class,(bool*)x[6].s_class,(QFlags<Qt::WindowType>)x[7].s_uint);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_53(Smoke::Stack x) {
        // static QString getItem(QWidget*, const QString&, const QString&, const QStringList&, int, bool, bool*, QFlags<Qt::WindowType>)
        QString xret = QInputDialog::getItem((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QStringList*)x[4].s_class,(int)x[5].s_int,(bool)x[6].s_bool,(bool*)x[7].s_class,(QFlags<Qt::WindowType>)x[8].s_uint);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_54(Smoke::Stack x) {
        // static QString getText(QWidget*, const QString&, const QString&, QLineEdit::EchoMode, const QString&, bool*, QFlags<Qt::WindowType>, QFlags<Qt::InputMethodHint>)
        QString xret = QInputDialog::getText((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(QLineEdit::EchoMode)x[4].s_enum,*(const QString*)x[5].s_class,(bool*)x[6].s_class,(QFlags<Qt::WindowType>)x[7].s_uint,(QFlags<Qt::InputMethodHint>)x[8].s_uint);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_55(Smoke::Stack x) {
        // static QString getItem(QWidget*, const QString&, const QString&, const QStringList&, int, bool, bool*, QFlags<Qt::WindowType>, QFlags<Qt::InputMethodHint>)
        QString xret = QInputDialog::getItem((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QStringList*)x[4].s_class,(int)x[5].s_int,(bool)x[6].s_bool,(bool*)x[7].s_class,(QFlags<Qt::WindowType>)x[8].s_uint,(QFlags<Qt::InputMethodHint>)x[9].s_uint);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_56(Smoke::Stack x) {
        // static int getInt(QWidget*, const QString&, const QString&, int, int, int, int, bool*, QFlags<Qt::WindowType>)
        int xret = QInputDialog::getInt((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)x[5].s_int,(int)x[6].s_int,(int)x[7].s_int,(bool*)x[8].s_class,(QFlags<Qt::WindowType>)x[9].s_uint);
        x[0].s_int = xret;
    }
    static void x_57(Smoke::Stack x) {
        // static double getDouble(QWidget*, const QString&, const QString&, double, double, double, int, bool*, QFlags<Qt::WindowType>)
        double xret = QInputDialog::getDouble((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(double)x[4].s_double,(double)x[5].s_double,(double)x[6].s_double,(int)x[7].s_int,(bool*)x[8].s_class,(QFlags<Qt::WindowType>)x[9].s_uint);
        x[0].s_double = xret;
    }
    static void x_58(Smoke::Stack x) {
        // static int getInteger(QWidget*, const QString&, const QString&, int, int, int, int, bool*, QFlags<Qt::WindowType>)
        int xret = QInputDialog::getInteger((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)x[5].s_int,(int)x[6].s_int,(int)x[7].s_int,(bool*)x[8].s_class,(QFlags<Qt::WindowType>)x[9].s_uint);
        x[0].s_int = xret;
    }
    void x_59(Smoke::Stack x) {
        // void textValueChanged(const QString&)
        this->QInputDialog::textValueChanged(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_60(Smoke::Stack x) {
        // void textValueSelected(const QString&)
        this->QInputDialog::textValueSelected(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_61(Smoke::Stack x) {
        // void intValueChanged(int)
        this->QInputDialog::intValueChanged((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_62(Smoke::Stack x) {
        // void intValueSelected(int)
        this->QInputDialog::intValueSelected((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_63(Smoke::Stack x) {
        // void doubleValueChanged(double)
        this->QInputDialog::doubleValueChanged((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_64(Smoke::Stack x) {
        // void doubleValueSelected(double)
        this->QInputDialog::doubleValueSelected((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_65(Smoke::Stack x) {
        // void done(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QInputDialog*>(this))) {
            this->QInputDialog::done((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->done((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_66(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QInputDialog::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_67(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QInputDialog::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_68(Smoke::Stack x) {
        // QInputDialog* QInputDialog()
        x_QInputDialog* xret = new x_QInputDialog((QWidget*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_class = (void*)xret;
    }
    static void x_69(Smoke::Stack x) {
        // QInputDialog* QInputDialog(QWidget*)
        x_QInputDialog* xret = new x_QInputDialog((QWidget*)x[1].s_class,(QFlags<Qt::WindowType>)0);
        x[0].s_class = (void*)xret;
    }
    void x_70(Smoke::Stack x) {
        // void setOption(QInputDialog::InputDialogOption)
        this->QInputDialog::setOption((QInputDialog::InputDialogOption)x[1].s_enum,(bool)true);
        (void)x; // noop (for compiler warning)
    }
    static void x_71(Smoke::Stack x) {
        // static QString getText(QWidget*, const QString&, const QString&)
        QString xret = QInputDialog::getText((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(QLineEdit::EchoMode)QLineEdit::Normal,(const QString&)QString(),(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_72(Smoke::Stack x) {
        // static QString getText(QWidget*, const QString&, const QString&, QLineEdit::EchoMode)
        QString xret = QInputDialog::getText((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(QLineEdit::EchoMode)x[4].s_enum,(const QString&)QString(),(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_73(Smoke::Stack x) {
        // static QString getText(QWidget*, const QString&, const QString&, QLineEdit::EchoMode, const QString&)
        QString xret = QInputDialog::getText((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(QLineEdit::EchoMode)x[4].s_enum,*(const QString*)x[5].s_class,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_74(Smoke::Stack x) {
        // static QString getText(QWidget*, const QString&, const QString&, QLineEdit::EchoMode, const QString&, bool*)
        QString xret = QInputDialog::getText((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(QLineEdit::EchoMode)x[4].s_enum,*(const QString*)x[5].s_class,(bool*)x[6].s_class,(QFlags<Qt::WindowType>)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_75(Smoke::Stack x) {
        // static QString getItem(QWidget*, const QString&, const QString&, const QStringList&)
        QString xret = QInputDialog::getItem((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QStringList*)x[4].s_class,(int)0,(bool)true,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_76(Smoke::Stack x) {
        // static QString getItem(QWidget*, const QString&, const QString&, const QStringList&, int)
        QString xret = QInputDialog::getItem((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QStringList*)x[4].s_class,(int)x[5].s_int,(bool)true,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_77(Smoke::Stack x) {
        // static QString getItem(QWidget*, const QString&, const QString&, const QStringList&, int, bool)
        QString xret = QInputDialog::getItem((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QStringList*)x[4].s_class,(int)x[5].s_int,(bool)x[6].s_bool,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_78(Smoke::Stack x) {
        // static QString getItem(QWidget*, const QString&, const QString&, const QStringList&, int, bool, bool*)
        QString xret = QInputDialog::getItem((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QStringList*)x[4].s_class,(int)x[5].s_int,(bool)x[6].s_bool,(bool*)x[7].s_class,(QFlags<Qt::WindowType>)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_79(Smoke::Stack x) {
        // static int getInt(QWidget*, const QString&, const QString&)
        int xret = QInputDialog::getInt((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)0,(int)-2147483647,(int)2147483647,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_80(Smoke::Stack x) {
        // static int getInt(QWidget*, const QString&, const QString&, int)
        int xret = QInputDialog::getInt((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)-2147483647,(int)2147483647,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_81(Smoke::Stack x) {
        // static int getInt(QWidget*, const QString&, const QString&, int, int)
        int xret = QInputDialog::getInt((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)x[5].s_int,(int)2147483647,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_82(Smoke::Stack x) {
        // static int getInt(QWidget*, const QString&, const QString&, int, int, int)
        int xret = QInputDialog::getInt((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)x[5].s_int,(int)x[6].s_int,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_83(Smoke::Stack x) {
        // static int getInt(QWidget*, const QString&, const QString&, int, int, int, int)
        int xret = QInputDialog::getInt((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)x[5].s_int,(int)x[6].s_int,(int)x[7].s_int,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_84(Smoke::Stack x) {
        // static int getInt(QWidget*, const QString&, const QString&, int, int, int, int, bool*)
        int xret = QInputDialog::getInt((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)x[5].s_int,(int)x[6].s_int,(int)x[7].s_int,(bool*)x[8].s_class,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_85(Smoke::Stack x) {
        // static double getDouble(QWidget*, const QString&, const QString&)
        double xret = QInputDialog::getDouble((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(double)0,(double)-2147483647,(double)2147483647,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_double = xret;
    }
    static void x_86(Smoke::Stack x) {
        // static double getDouble(QWidget*, const QString&, const QString&, double)
        double xret = QInputDialog::getDouble((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(double)x[4].s_double,(double)-2147483647,(double)2147483647,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_double = xret;
    }
    static void x_87(Smoke::Stack x) {
        // static double getDouble(QWidget*, const QString&, const QString&, double, double)
        double xret = QInputDialog::getDouble((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(double)x[4].s_double,(double)x[5].s_double,(double)2147483647,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_double = xret;
    }
    static void x_88(Smoke::Stack x) {
        // static double getDouble(QWidget*, const QString&, const QString&, double, double, double)
        double xret = QInputDialog::getDouble((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(double)x[4].s_double,(double)x[5].s_double,(double)x[6].s_double,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_double = xret;
    }
    static void x_89(Smoke::Stack x) {
        // static double getDouble(QWidget*, const QString&, const QString&, double, double, double, int)
        double xret = QInputDialog::getDouble((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(double)x[4].s_double,(double)x[5].s_double,(double)x[6].s_double,(int)x[7].s_int,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_double = xret;
    }
    static void x_90(Smoke::Stack x) {
        // static double getDouble(QWidget*, const QString&, const QString&, double, double, double, int, bool*)
        double xret = QInputDialog::getDouble((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(double)x[4].s_double,(double)x[5].s_double,(double)x[6].s_double,(int)x[7].s_int,(bool*)x[8].s_class,(QFlags<Qt::WindowType>)0);
        x[0].s_double = xret;
    }
    static void x_91(Smoke::Stack x) {
        // static int getInteger(QWidget*, const QString&, const QString&)
        int xret = QInputDialog::getInteger((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)0,(int)-2147483647,(int)2147483647,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_92(Smoke::Stack x) {
        // static int getInteger(QWidget*, const QString&, const QString&, int)
        int xret = QInputDialog::getInteger((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)-2147483647,(int)2147483647,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_93(Smoke::Stack x) {
        // static int getInteger(QWidget*, const QString&, const QString&, int, int)
        int xret = QInputDialog::getInteger((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)x[5].s_int,(int)2147483647,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_94(Smoke::Stack x) {
        // static int getInteger(QWidget*, const QString&, const QString&, int, int, int)
        int xret = QInputDialog::getInteger((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)x[5].s_int,(int)x[6].s_int,(int)1,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_95(Smoke::Stack x) {
        // static int getInteger(QWidget*, const QString&, const QString&, int, int, int, int)
        int xret = QInputDialog::getInteger((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)x[5].s_int,(int)x[6].s_int,(int)x[7].s_int,(bool*)0,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_96(Smoke::Stack x) {
        // static int getInteger(QWidget*, const QString&, const QString&, int, int, int, int, bool*)
        int xret = QInputDialog::getInteger((QWidget*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int,(int)x[5].s_int,(int)x[6].s_int,(int)x[7].s_int,(bool*)x[8].s_class,(QFlags<Qt::WindowType>)0);
        x[0].s_int = xret;
    }
    static void x_97(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QInputDialog::staticMetaObject;
    }
    static void x_98(Smoke::Stack x) {
        x[0].s_enum = (long)QInputDialog::NoButtons;
    }
    static void x_99(Smoke::Stack x) {
        x[0].s_enum = (long)QInputDialog::UseListViewForComboBoxItems;
    }
    static void x_100(Smoke::Stack x) {
        x[0].s_enum = (long)QInputDialog::TextInput;
    }
    static void x_101(Smoke::Stack x) {
        x[0].s_enum = (long)QInputDialog::IntInput;
    }
    static void x_102(Smoke::Stack x) {
        x[0].s_enum = (long)QInputDialog::DoubleInput;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6671, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QInputDialog::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6672, (void*)this, x)) return (void*)x[0].s_class;
        return this->QInputDialog::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(6677, (void*)this, x)) return (int)x[0].s_int;
        return this->QInputDialog::qt_metacall(x1, x2, x3);
    }
    virtual void done(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(6735, (void*)this, x)) return;
        this->QInputDialog::done(x1);
    }
    virtual void accept() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2580, (void*)this, x)) return;
        this->QDialog::accept();
    }
    virtual void reject() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2581, (void*)this, x)) return;
        this->QDialog::reject();
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(6721, (void*)this, x)) return;
        this->QInputDialog::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6720, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QInputDialog::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6719, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QInputDialog::minimumSizeHint();
    }
    virtual int heightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(15568, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::heightForWidth(x1);
    }
    virtual void mousePressEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15617, (void*)this, x)) return;
        this->QWidget::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15618, (void*)this, x)) return;
        this->QWidget::mouseReleaseEvent(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15619, (void*)this, x)) return;
        this->QWidget::mouseDoubleClickEvent(x1);
    }
    virtual void mouseMoveEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15620, (void*)this, x)) return;
        this->QWidget::mouseMoveEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15621, (void*)this, x)) return;
        this->QWidget::wheelEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2583, (void*)this, x)) return;
        this->QDialog::keyPressEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15623, (void*)this, x)) return;
        this->QWidget::keyReleaseEvent(x1);
    }
    virtual void focusInEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15624, (void*)this, x)) return;
        this->QWidget::focusInEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15625, (void*)this, x)) return;
        this->QWidget::focusOutEvent(x1);
    }
    virtual void enterEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15626, (void*)this, x)) return;
        this->QWidget::enterEvent(x1);
    }
    virtual void leaveEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15627, (void*)this, x)) return;
        this->QWidget::leaveEvent(x1);
    }
    virtual void paintEvent(QPaintEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15628, (void*)this, x)) return;
        this->QWidget::paintEvent(x1);
    }
    virtual void moveEvent(QMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15629, (void*)this, x)) return;
        this->QWidget::moveEvent(x1);
    }
    virtual void resizeEvent(QResizeEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2586, (void*)this, x)) return;
        this->QDialog::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2584, (void*)this, x)) return;
        this->QDialog::closeEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2587, (void*)this, x)) return;
        this->QDialog::contextMenuEvent(x1);
    }
    virtual void tabletEvent(QTabletEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15633, (void*)this, x)) return;
        this->QWidget::tabletEvent(x1);
    }
    virtual void actionEvent(QActionEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15634, (void*)this, x)) return;
        this->QWidget::actionEvent(x1);
    }
    virtual void dragEnterEvent(QDragEnterEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15635, (void*)this, x)) return;
        this->QWidget::dragEnterEvent(x1);
    }
    virtual void dragMoveEvent(QDragMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15636, (void*)this, x)) return;
        this->QWidget::dragMoveEvent(x1);
    }
    virtual void dragLeaveEvent(QDragLeaveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15637, (void*)this, x)) return;
        this->QWidget::dragLeaveEvent(x1);
    }
    virtual void dropEvent(QDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15638, (void*)this, x)) return;
        this->QWidget::dropEvent(x1);
    }
    virtual void showEvent(QShowEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2585, (void*)this, x)) return;
        this->QDialog::showEvent(x1);
    }
    virtual void hideEvent(QHideEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15640, (void*)this, x)) return;
        this->QWidget::hideEvent(x1);
    }
    virtual bool x11Event(_XEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15641, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::x11Event(x1);
    }
    virtual void changeEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15642, (void*)this, x)) return;
        this->QWidget::changeEvent(x1);
    }
    virtual void inputMethodEvent(QInputMethodEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15644, (void*)this, x)) return;
        this->QWidget::inputMethodEvent(x1);
    }
    virtual QVariant inputMethodQuery(Qt::InputMethodQuery x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(15645, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::inputMethodQuery(x1);
    }
    virtual bool focusNextPrevChild(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(15652, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::focusNextPrevChild(x1);
    }
    virtual void styleChange(QStyle& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(15655, (void*)this, x)) return;
        this->QWidget::styleChange(x1);
    }
    virtual void enabledChange(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(15656, (void*)this, x)) return;
        this->QWidget::enabledChange(x1);
    }
    virtual void paletteChange(const QPalette& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(15657, (void*)this, x)) return;
        this->QWidget::paletteChange(x1);
    }
    virtual void fontChange(const QFont& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(15658, (void*)this, x)) return;
        this->QWidget::fontChange(x1);
    }
    virtual void windowActivationChange(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(15659, (void*)this, x)) return;
        this->QWidget::windowActivationChange(x1);
    }
    virtual void languageChange() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(15660, (void*)this, x)) return;
        this->QWidget::languageChange();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15616, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::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(2588, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QDialog::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);
    }
    virtual int devType() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(15374, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::devType();
    }
    virtual QPaintEngine* paintEngine() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(15606, (void*)this, x)) return (QPaintEngine*)x[0].s_class;
        return this->QWidget::paintEngine();
    }
    virtual int metric(QPaintDevice::PaintDeviceMetric x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(15643, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::metric(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 425: //QInputDialog::InputDialogOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QInputDialog::InputDialogOption;
                    break;
                case Smoke::EnumDelete:
                    delete (QInputDialog::InputDialogOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QInputDialog::InputDialogOption*)xdata = (QInputDialog::InputDialogOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QInputDialog::InputDialogOption*)xdata;
                    break;
            }
            break;
        case 426: //QInputDialog::InputMode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QInputDialog::InputMode;
                    break;
                case Smoke::EnumDelete:
                    delete (QInputDialog::InputMode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QInputDialog::InputMode*)xdata = (QInputDialog::InputMode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QInputDialog::InputMode*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QInputDialog() { this->_binding->deleted(198, (void*)this); }
};
void xenum_QInputDialog(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QInputDialog::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QInputDialog(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QInputDialog *xself = (x_QInputDialog*)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_QInputDialog::x_3(args);	break;
        case 4: x_QInputDialog::x_4(args);	break;
        case 5: x_QInputDialog::x_5(args);	break;
        case 6: x_QInputDialog::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QInputDialog::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: 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: x_QInputDialog::x_52(args);	break;
        case 53: x_QInputDialog::x_53(args);	break;
        case 54: x_QInputDialog::x_54(args);	break;
        case 55: x_QInputDialog::x_55(args);	break;
        case 56: x_QInputDialog::x_56(args);	break;
        case 57: x_QInputDialog::x_57(args);	break;
        case 58: x_QInputDialog::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: x_QInputDialog::x_66(args);	break;
        case 67: x_QInputDialog::x_67(args);	break;
        case 68: x_QInputDialog::x_68(args);	break;
        case 69: x_QInputDialog::x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: x_QInputDialog::x_71(args);	break;
        case 72: x_QInputDialog::x_72(args);	break;
        case 73: x_QInputDialog::x_73(args);	break;
        case 74: x_QInputDialog::x_74(args);	break;
        case 75: x_QInputDialog::x_75(args);	break;
        case 76: x_QInputDialog::x_76(args);	break;
        case 77: x_QInputDialog::x_77(args);	break;
        case 78: x_QInputDialog::x_78(args);	break;
        case 79: x_QInputDialog::x_79(args);	break;
        case 80: x_QInputDialog::x_80(args);	break;
        case 81: x_QInputDialog::x_81(args);	break;
        case 82: x_QInputDialog::x_82(args);	break;
        case 83: x_QInputDialog::x_83(args);	break;
        case 84: x_QInputDialog::x_84(args);	break;
        case 85: x_QInputDialog::x_85(args);	break;
        case 86: x_QInputDialog::x_86(args);	break;
        case 87: x_QInputDialog::x_87(args);	break;
        case 88: x_QInputDialog::x_88(args);	break;
        case 89: x_QInputDialog::x_89(args);	break;
        case 90: x_QInputDialog::x_90(args);	break;
        case 91: x_QInputDialog::x_91(args);	break;
        case 92: x_QInputDialog::x_92(args);	break;
        case 93: x_QInputDialog::x_93(args);	break;
        case 94: x_QInputDialog::x_94(args);	break;
        case 95: x_QInputDialog::x_95(args);	break;
        case 96: x_QInputDialog::x_96(args);	break;
        case 97: x_QInputDialog::x_97(args);	break;
        case 98: x_QInputDialog::x_98(args);	break;
        case 99: x_QInputDialog::x_99(args);	break;
        case 100: x_QInputDialog::x_100(args);	break;
        case 101: x_QInputDialog::x_101(args);	break;
        case 102: x_QInputDialog::x_102(args);	break;
        case 103: delete (QInputDialog*)xself;	break;
    }
}
class x_QInputEvent : public QInputEvent, 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) {
        // QInputEvent* QInputEvent(QEvent::Type, QFlags<Qt::KeyboardModifier>)
        x_QInputEvent* xret = new x_QInputEvent((QEvent::Type)x[1].s_enum,(QFlags<Qt::KeyboardModifier>)x[2].s_uint);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputEvent(QEvent::Type x1, QFlags<Qt::KeyboardModifier> x2) : QInputEvent(x1, x2) {}
    void x_2(Smoke::Stack x) {
        // QFlags<Qt::KeyboardModifier> modifiers() const
        QFlags<Qt::KeyboardModifier> xret = ((const x_QInputEvent*)this)->QInputEvent::modifiers();
        x[0].s_uint = (uint)xret;
    }
    void x_3(Smoke::Stack x) {
        // void setModifiers(QFlags<Qt::KeyboardModifier>)
        this->QInputEvent::setModifiers((QFlags<Qt::KeyboardModifier>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    static void x_4(Smoke::Stack x) {
        // QInputEvent* QInputEvent(const QInputEvent&)
        x_QInputEvent* xret = new x_QInputEvent(*(const QInputEvent*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputEvent(const QInputEvent& x1) : QInputEvent(x1) {}
    static void x_5(Smoke::Stack x) {
        // QInputEvent* QInputEvent(QEvent::Type)
        x_QInputEvent* xret = new x_QInputEvent((QEvent::Type)x[1].s_enum,(QFlags<Qt::KeyboardModifier>)Qt::NoModifier);
        x[0].s_class = (void*)xret;
    }
    void x_6(Smoke::Stack x) {
        // QFlags<Qt::KeyboardModifier> modState
        x[0].s_uint = (uint)this->QInputEvent::modState;
    }
    void x_7(Smoke::Stack x) {
        // QFlags<Qt::KeyboardModifier> modState=
        this->QInputEvent::modState = (QFlags<Qt::KeyboardModifier>)x[1].s_uint;
    }
    ~x_QInputEvent() { this->_binding->deleted(199, (void*)this); }
};
void xcall_QInputEvent(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QInputEvent *xself = (x_QInputEvent*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QInputEvent::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_QInputEvent::x_4(args);	break;
        case 5: x_QInputEvent::x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: delete (QInputEvent*)xself;	break;
    }
}
class x_QInputMethodEvent : public QInputMethodEvent, 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) {
        // QInputMethodEvent* QInputMethodEvent()
        x_QInputMethodEvent* xret = new x_QInputMethodEvent();
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputMethodEvent() : QInputMethodEvent() {}
    static void x_2(Smoke::Stack x) {
        // QInputMethodEvent* QInputMethodEvent(const QString&, const QList<QInputMethodEvent::Attribute>&)
        x_QInputMethodEvent* xret = new x_QInputMethodEvent(*(const QString*)x[1].s_class,*(const QList<QInputMethodEvent::Attribute>*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputMethodEvent(const QString& x1, const QList<QInputMethodEvent::Attribute>& x2) : QInputMethodEvent(x1, x2) {}
    void x_3(Smoke::Stack x) {
        // void setCommitString(const QString&, int, int)
        this->QInputMethodEvent::setCommitString(*(const QString*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // const QList<QInputMethodEvent::Attribute>& attributes() const
        const QList<QInputMethodEvent::Attribute>& xret = ((const x_QInputMethodEvent*)this)->QInputMethodEvent::attributes();
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // const QString& preeditString() const
        const QString& xret = ((const x_QInputMethodEvent*)this)->QInputMethodEvent::preeditString();
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // const QString& commitString() const
        const QString& xret = ((const x_QInputMethodEvent*)this)->QInputMethodEvent::commitString();
        x[0].s_class = (void*)&xret;
    }
    void x_7(Smoke::Stack x) {
        // int replacementStart() const
        int xret = ((const x_QInputMethodEvent*)this)->QInputMethodEvent::replacementStart();
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // int replacementLength() const
        int xret = ((const x_QInputMethodEvent*)this)->QInputMethodEvent::replacementLength();
        x[0].s_int = xret;
    }
    static void x_9(Smoke::Stack x) {
        // QInputMethodEvent* QInputMethodEvent(const QInputMethodEvent&)
        x_QInputMethodEvent* xret = new x_QInputMethodEvent(*(const QInputMethodEvent*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputMethodEvent(const QInputMethodEvent& x1) : QInputMethodEvent(x1) {}
    void x_10(Smoke::Stack x) {
        // void setCommitString(const QString&)
        this->QInputMethodEvent::setCommitString(*(const QString*)x[1].s_class,(int)0,(int)0);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void setCommitString(const QString&, int)
        this->QInputMethodEvent::setCommitString(*(const QString*)x[1].s_class,(int)x[2].s_int,(int)0);
        (void)x; // noop (for compiler warning)
    }
    static void x_12(Smoke::Stack x) {
        x[0].s_enum = (long)QInputMethodEvent::TextFormat;
    }
    static void x_13(Smoke::Stack x) {
        x[0].s_enum = (long)QInputMethodEvent::Cursor;
    }
    static void x_14(Smoke::Stack x) {
        x[0].s_enum = (long)QInputMethodEvent::Language;
    }
    static void x_15(Smoke::Stack x) {
        x[0].s_enum = (long)QInputMethodEvent::Ruby;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)QInputMethodEvent::Selection;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 431: //QInputMethodEvent::AttributeType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QInputMethodEvent::AttributeType;
                    break;
                case Smoke::EnumDelete:
                    delete (QInputMethodEvent::AttributeType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QInputMethodEvent::AttributeType*)xdata = (QInputMethodEvent::AttributeType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QInputMethodEvent::AttributeType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QInputMethodEvent() { this->_binding->deleted(200, (void*)this); }
};
void xenum_QInputMethodEvent(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QInputMethodEvent::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QInputMethodEvent(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QInputMethodEvent *xself = (x_QInputMethodEvent*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QInputMethodEvent::x_1(args);	break;
        case 2: x_QInputMethodEvent::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_QInputMethodEvent::x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: x_QInputMethodEvent::x_12(args);	break;
        case 13: x_QInputMethodEvent::x_13(args);	break;
        case 14: x_QInputMethodEvent::x_14(args);	break;
        case 15: x_QInputMethodEvent::x_15(args);	break;
        case 16: x_QInputMethodEvent::x_16(args);	break;
        case 17: delete (QInputMethodEvent*)xself;	break;
    }
}
class x_QInputMethodEvent__Attribute : public QInputMethodEvent::Attribute {
    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) {
        // QInputMethodEvent::Attribute* Attribute(QInputMethodEvent::AttributeType, int, int, QVariant)
        x_QInputMethodEvent__Attribute* xret = new x_QInputMethodEvent__Attribute((QInputMethodEvent::AttributeType)x[1].s_enum,(int)x[2].s_int,(int)x[3].s_int,*(QVariant*)x[4].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputMethodEvent__Attribute(QInputMethodEvent::AttributeType x1, int x2, int x3, QVariant x4) : Attribute(x1, x2, x3, x4) {}
    static void x_2(Smoke::Stack x) {
        // QInputMethodEvent::Attribute* Attribute(const QInputMethodEvent::Attribute&)
        x_QInputMethodEvent__Attribute* xret = new x_QInputMethodEvent__Attribute(*(const QInputMethodEvent::Attribute*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInputMethodEvent__Attribute(const QInputMethodEvent::Attribute& x1) : Attribute(x1) {}
    void x_3(Smoke::Stack x) {
        // QInputMethodEvent::AttributeType type
        x[0].s_enum = this->QInputMethodEvent::Attribute::type;
    }
    void x_4(Smoke::Stack x) {
        // QInputMethodEvent::AttributeType type=
        this->QInputMethodEvent::Attribute::type = (QInputMethodEvent::AttributeType)x[1].s_enum;
    }
    void x_5(Smoke::Stack x) {
        // int start
        x[0].s_int = this->QInputMethodEvent::Attribute::start;
    }
    void x_6(Smoke::Stack x) {
        // int start=
        this->QInputMethodEvent::Attribute::start = (int)x[1].s_int;
    }
    void x_7(Smoke::Stack x) {
        // int length
        x[0].s_int = this->QInputMethodEvent::Attribute::length;
    }
    void x_8(Smoke::Stack x) {
        // int length=
        this->QInputMethodEvent::Attribute::length = (int)x[1].s_int;
    }
    void x_9(Smoke::Stack x) {
        // QVariant value
        x[0].s_class = (void*)&this->QInputMethodEvent::Attribute::value;
    }
    void x_10(Smoke::Stack x) {
        // QVariant value=
        this->QInputMethodEvent::Attribute::value = *(const QVariant*)x[1].s_class;
    }
    ~x_QInputMethodEvent__Attribute() { this->_binding->deleted(201, (void*)this); }
};
void xcall_QInputMethodEvent__Attribute(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QInputMethodEvent__Attribute *xself = (x_QInputMethodEvent__Attribute*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QInputMethodEvent__Attribute::x_1(args);	break;
        case 2: x_QInputMethodEvent__Attribute::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: delete (QInputMethodEvent::Attribute*)xself;	break;
    }
}
class x_QIntValidator : public QIntValidator, 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<QIntValidator*>(this))) {
            const QMetaObject* xret = ((const x_QIntValidator*)this)->QIntValidator::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QIntValidator*)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<QIntValidator*>(this))) {
            void* xret = this->QIntValidator::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 = QIntValidator::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 = QIntValidator::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 = QIntValidator::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 = QIntValidator::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<QIntValidator*>(this))) {
            int xret = this->QIntValidator::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) {
        // QIntValidator* QIntValidator(QObject*)
        x_QIntValidator* xret = new x_QIntValidator((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QIntValidator(QObject* x1) : QIntValidator(x1) {}
    static void x_9(Smoke::Stack x) {
        // QIntValidator* QIntValidator(int, int, QObject*)
        x_QIntValidator* xret = new x_QIntValidator((int)x[1].s_int,(int)x[2].s_int,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QIntValidator(int x1, int x2, QObject* x3) : QIntValidator(x1, x2, x3) {}
    void x_10(Smoke::Stack x) {
        // QValidator::State validate(QString&, int&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QIntValidator*>(this))) {
            QValidator::State xret = ((const x_QIntValidator*)this)->QIntValidator::validate(*(QString*)x[1].s_class,*(int*)x[2].s_class);
            x[0].s_enum = xret;
        } else {
            QValidator::State xret = ((const x_QIntValidator*)this)->validate(*(QString*)x[1].s_class,*(int*)x[2].s_class);
            x[0].s_enum = xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // void fixup(QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QIntValidator*>(this))) {
            ((const x_QIntValidator*)this)->QIntValidator::fixup(*(QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QIntValidator*)this)->fixup(*(QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // void setBottom(int)
        this->QIntValidator::setBottom((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void setTop(int)
        this->QIntValidator::setTop((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // virtual void setRange(int, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QIntValidator*>(this))) {
            this->QIntValidator::setRange((int)x[1].s_int,(int)x[2].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->setRange((int)x[1].s_int,(int)x[2].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_15(Smoke::Stack x) {
        // int bottom() const
        int xret = ((const x_QIntValidator*)this)->QIntValidator::bottom();
        x[0].s_int = xret;
    }
    void x_16(Smoke::Stack x) {
        // int top() const
        int xret = ((const x_QIntValidator*)this)->QIntValidator::top();
        x[0].s_int = xret;
    }
    static void x_17(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QIntValidator::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QIntValidator::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // QIntValidator* QIntValidator()
        x_QIntValidator* xret = new x_QIntValidator((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_20(Smoke::Stack x) {
        // QIntValidator* QIntValidator(int, int)
        x_QIntValidator* xret = new x_QIntValidator((int)x[1].s_int,(int)x[2].s_int,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_21(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QIntValidator::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6810, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QIntValidator::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6811, (void*)this, x)) return (void*)x[0].s_class;
        return this->QIntValidator::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(6816, (void*)this, x)) return (int)x[0].s_int;
        return this->QIntValidator::qt_metacall(x1, x2, x3);
    }
    virtual void setRange(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(6823, (void*)this, x)) return;
        this->QIntValidator::setRange(x1, x2);
    }
    virtual QValidator::State validate(QString& x1, int& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(6819, (void*)this, x)) return (QValidator::State)x[0].s_enum;
        return this->QIntValidator::validate(x1, x2);
    }
    virtual void fixup(QString& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(6820, (void*)this, x)) return;
        this->QIntValidator::fixup(x1);
    }
    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_QIntValidator() { this->_binding->deleted(202, (void*)this); }
};
void xcall_QIntValidator(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QIntValidator *xself = (x_QIntValidator*)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_QIntValidator::x_3(args);	break;
        case 4: x_QIntValidator::x_4(args);	break;
        case 5: x_QIntValidator::x_5(args);	break;
        case 6: x_QIntValidator::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QIntValidator::x_8(args);	break;
        case 9: x_QIntValidator::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: x_QIntValidator::x_17(args);	break;
        case 18: x_QIntValidator::x_18(args);	break;
        case 19: x_QIntValidator::x_19(args);	break;
        case 20: x_QIntValidator::x_20(args);	break;
        case 21: x_QIntValidator::x_21(args);	break;
        case 22: delete (QIntValidator*)xself;	break;
    }
}
class x_QItemDelegate : public QItemDelegate, 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<QItemDelegate*>(this))) {
            const QMetaObject* xret = ((const x_QItemDelegate*)this)->QItemDelegate::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QItemDelegate*)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<QItemDelegate*>(this))) {
            void* xret = this->QItemDelegate::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 = QItemDelegate::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 = QItemDelegate::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 = QItemDelegate::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 = QItemDelegate::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<QItemDelegate*>(this))) {
            int xret = this->QItemDelegate::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) {
        // QItemDelegate* QItemDelegate(QObject*)
        x_QItemDelegate* xret = new x_QItemDelegate((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemDelegate(QObject* x1) : QItemDelegate(x1) {}
    void x_9(Smoke::Stack x) {
        // bool hasClipping() const
        bool xret = ((const x_QItemDelegate*)this)->QItemDelegate::hasClipping();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // void setClipping(bool)
        this->QItemDelegate::setClipping((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void paint(QPainter*, const QStyleOptionViewItem&, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            ((const x_QItemDelegate*)this)->QItemDelegate::paint((QPainter*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QModelIndex*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QItemDelegate*)this)->paint((QPainter*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QModelIndex*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // QSize sizeHint(const QStyleOptionViewItem&, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            QSize xret = ((const x_QItemDelegate*)this)->QItemDelegate::sizeHint(*(const QStyleOptionViewItem*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QItemDelegate*)this)->sizeHint(*(const QStyleOptionViewItem*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // QWidget* createEditor(QWidget*, const QStyleOptionViewItem&, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            QWidget* xret = ((const x_QItemDelegate*)this)->QItemDelegate::createEditor((QWidget*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QModelIndex*)x[3].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QWidget* xret = ((const x_QItemDelegate*)this)->createEditor((QWidget*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QModelIndex*)x[3].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // void setEditorData(QWidget*, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            ((const x_QItemDelegate*)this)->QItemDelegate::setEditorData((QWidget*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QItemDelegate*)this)->setEditorData((QWidget*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_15(Smoke::Stack x) {
        // void setModelData(QWidget*, QAbstractItemModel*, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            ((const x_QItemDelegate*)this)->QItemDelegate::setModelData((QWidget*)x[1].s_class,(QAbstractItemModel*)x[2].s_class,*(const QModelIndex*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QItemDelegate*)this)->setModelData((QWidget*)x[1].s_class,(QAbstractItemModel*)x[2].s_class,*(const QModelIndex*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // void updateEditorGeometry(QWidget*, const QStyleOptionViewItem&, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            ((const x_QItemDelegate*)this)->QItemDelegate::updateEditorGeometry((QWidget*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QModelIndex*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QItemDelegate*)this)->updateEditorGeometry((QWidget*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QModelIndex*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_17(Smoke::Stack x) {
        // QItemEditorFactory* itemEditorFactory() const
        QItemEditorFactory* xret = ((const x_QItemDelegate*)this)->QItemDelegate::itemEditorFactory();
        x[0].s_class = (void*)xret;
    }
    void x_18(Smoke::Stack x) {
        // void setItemEditorFactory(QItemEditorFactory*)
        this->QItemDelegate::setItemEditorFactory((QItemEditorFactory*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // virtual void drawDisplay(QPainter*, const QStyleOptionViewItem&, const QRect&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            ((const x_QItemDelegate*)this)->QItemDelegate::drawDisplay((QPainter*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QRect*)x[3].s_class,*(const QString*)x[4].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QItemDelegate*)this)->drawDisplay((QPainter*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QRect*)x[3].s_class,*(const QString*)x[4].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_20(Smoke::Stack x) {
        // virtual void drawDecoration(QPainter*, const QStyleOptionViewItem&, const QRect&, const QPixmap&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            ((const x_QItemDelegate*)this)->QItemDelegate::drawDecoration((QPainter*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QRect*)x[3].s_class,*(const QPixmap*)x[4].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QItemDelegate*)this)->drawDecoration((QPainter*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QRect*)x[3].s_class,*(const QPixmap*)x[4].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_21(Smoke::Stack x) {
        // virtual void drawFocus(QPainter*, const QStyleOptionViewItem&, const QRect&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            ((const x_QItemDelegate*)this)->QItemDelegate::drawFocus((QPainter*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QRect*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QItemDelegate*)this)->drawFocus((QPainter*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QRect*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_22(Smoke::Stack x) {
        // virtual void drawCheck(QPainter*, const QStyleOptionViewItem&, const QRect&, Qt::CheckState) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            ((const x_QItemDelegate*)this)->QItemDelegate::drawCheck((QPainter*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QRect*)x[3].s_class,(Qt::CheckState)x[4].s_enum);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QItemDelegate*)this)->drawCheck((QPainter*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QRect*)x[3].s_class,(Qt::CheckState)x[4].s_enum);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_23(Smoke::Stack x) {
        // void drawBackground(QPainter*, const QStyleOptionViewItem&, const QModelIndex&) const
        ((const x_QItemDelegate*)this)->QItemDelegate::drawBackground((QPainter*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class,*(const QModelIndex*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // void doLayout(const QStyleOptionViewItem&, QRect*, QRect*, QRect*, bool) const
        ((const x_QItemDelegate*)this)->QItemDelegate::doLayout(*(const QStyleOptionViewItem*)x[1].s_class,(QRect*)x[2].s_class,(QRect*)x[3].s_class,(QRect*)x[4].s_class,(bool)x[5].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // QRect rect(const QStyleOptionViewItem&, const QModelIndex&, int) const
        QRect xret = ((const x_QItemDelegate*)this)->QItemDelegate::rect(*(const QStyleOptionViewItem*)x[1].s_class,*(const QModelIndex*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_26(Smoke::Stack x) {
        // bool eventFilter(QObject*, QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            bool xret = this->QItemDelegate::eventFilter((QObject*)x[1].s_class,(QEvent*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->eventFilter((QObject*)x[1].s_class,(QEvent*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_27(Smoke::Stack x) {
        // bool editorEvent(QEvent*, QAbstractItemModel*, const QStyleOptionViewItem&, const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemDelegate*>(this))) {
            bool xret = this->QItemDelegate::editorEvent((QEvent*)x[1].s_class,(QAbstractItemModel*)x[2].s_class,*(const QStyleOptionViewItem*)x[3].s_class,*(const QModelIndex*)x[4].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->editorEvent((QEvent*)x[1].s_class,(QAbstractItemModel*)x[2].s_class,*(const QStyleOptionViewItem*)x[3].s_class,*(const QModelIndex*)x[4].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_28(Smoke::Stack x) {
        // QStyleOptionViewItem setOptions(const QModelIndex&, const QStyleOptionViewItem&) const
        QStyleOptionViewItem xret = ((const x_QItemDelegate*)this)->QItemDelegate::setOptions(*(const QModelIndex*)x[1].s_class,*(const QStyleOptionViewItem*)x[2].s_class);
        x[0].s_class = (void*)new QStyleOptionViewItem(xret);
    }
    void x_29(Smoke::Stack x) {
        // QPixmap decoration(const QStyleOptionViewItem&, const QVariant&) const
        QPixmap xret = ((const x_QItemDelegate*)this)->QItemDelegate::decoration(*(const QStyleOptionViewItem*)x[1].s_class,*(const QVariant*)x[2].s_class);
        x[0].s_class = (void*)new QPixmap(xret);
    }
    void x_30(Smoke::Stack x) {
        // QPixmap* selected(const QPixmap&, const QPalette&, bool) const
        QPixmap* xret = ((const x_QItemDelegate*)this)->QItemDelegate::selected(*(const QPixmap*)x[1].s_class,*(const QPalette*)x[2].s_class,(bool)x[3].s_bool);
        x[0].s_class = (void*)xret;
    }
    void x_31(Smoke::Stack x) {
        // QRect check(const QStyleOptionViewItem&, const QRect&, const QVariant&) const
        QRect xret = ((const x_QItemDelegate*)this)->QItemDelegate::check(*(const QStyleOptionViewItem*)x[1].s_class,*(const QRect*)x[2].s_class,*(const QVariant*)x[3].s_class);
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_32(Smoke::Stack x) {
        // QRect textRectangle(QPainter*, const QRect&, const QFont&, const QString&) const
        QRect xret = ((const x_QItemDelegate*)this)->QItemDelegate::textRectangle((QPainter*)x[1].s_class,*(const QRect*)x[2].s_class,*(const QFont*)x[3].s_class,*(const QString*)x[4].s_class);
        x[0].s_class = (void*)new QRect(xret);
    }
    static void x_33(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QItemDelegate::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_34(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QItemDelegate::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_35(Smoke::Stack x) {
        // QItemDelegate* QItemDelegate()
        x_QItemDelegate* xret = new x_QItemDelegate((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_36(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QItemDelegate::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6832, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QItemDelegate::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6833, (void*)this, x)) return (void*)x[0].s_class;
        return this->QItemDelegate::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(6838, (void*)this, x)) return (int)x[0].s_int;
        return this->QItemDelegate::qt_metacall(x1, x2, x3);
    }
    virtual void drawDisplay(QPainter* x1, const QStyleOptionViewItem& x2, const QRect& x3, const QString& x4) const {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)&x4;
        if (this->_binding->callMethod(6850, (void*)this, x)) return;
        this->QItemDelegate::drawDisplay(x1, x2, x3, x4);
    }
    virtual void drawDecoration(QPainter* x1, const QStyleOptionViewItem& x2, const QRect& x3, const QPixmap& x4) const {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)&x4;
        if (this->_binding->callMethod(6851, (void*)this, x)) return;
        this->QItemDelegate::drawDecoration(x1, x2, x3, x4);
    }
    virtual void drawFocus(QPainter* x1, const QStyleOptionViewItem& x2, const QRect& x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(6852, (void*)this, x)) return;
        this->QItemDelegate::drawFocus(x1, x2, x3);
    }
    virtual void drawCheck(QPainter* x1, const QStyleOptionViewItem& x2, const QRect& x3, Qt::CheckState x4) const {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_enum = x4;
        if (this->_binding->callMethod(6853, (void*)this, x)) return;
        this->QItemDelegate::drawCheck(x1, x2, x3, x4);
    }
    virtual void paint(QPainter* x1, const QStyleOptionViewItem& x2, const QModelIndex& x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(6842, (void*)this, x)) return;
        this->QItemDelegate::paint(x1, x2, x3);
    }
    virtual QSize sizeHint(const QStyleOptionViewItem& x1, const QModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(6843, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QItemDelegate::sizeHint(x1, x2);
    }
    virtual QWidget* createEditor(QWidget* x1, const QStyleOptionViewItem& x2, const QModelIndex& x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(6844, (void*)this, x)) return (QWidget*)x[0].s_class;
        return this->QItemDelegate::createEditor(x1, x2, x3);
    }
    virtual void setEditorData(QWidget* x1, const QModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(6845, (void*)this, x)) return;
        this->QItemDelegate::setEditorData(x1, x2);
    }
    virtual void setModelData(QWidget* x1, QAbstractItemModel* x2, const QModelIndex& x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(6846, (void*)this, x)) return;
        this->QItemDelegate::setModelData(x1, x2, x3);
    }
    virtual void updateEditorGeometry(QWidget* x1, const QStyleOptionViewItem& x2, const QModelIndex& x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(6847, (void*)this, x)) return;
        this->QItemDelegate::updateEditorGeometry(x1, x2, x3);
    }
    virtual bool editorEvent(QEvent* x1, QAbstractItemModel* x2, const QStyleOptionViewItem& x3, const QModelIndex& x4) {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)&x4;
        if (this->_binding->callMethod(6858, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QItemDelegate::editorEvent(x1, x2, x3, x4);
    }
    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(6857, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QItemDelegate::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_QItemDelegate() { this->_binding->deleted(203, (void*)this); }
};
void xcall_QItemDelegate(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QItemDelegate *xself = (x_QItemDelegate*)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_QItemDelegate::x_3(args);	break;
        case 4: x_QItemDelegate::x_4(args);	break;
        case 5: x_QItemDelegate::x_5(args);	break;
        case 6: x_QItemDelegate::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QItemDelegate::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: 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: x_QItemDelegate::x_33(args);	break;
        case 34: x_QItemDelegate::x_34(args);	break;
        case 35: x_QItemDelegate::x_35(args);	break;
        case 36: x_QItemDelegate::x_36(args);	break;
        case 37: delete (QItemDelegate*)xself;	break;
    }
}
class x_QItemEditorCreatorBase : public QItemEditorCreatorBase, 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 QWidget* createWidget(QWidget*) const = 0
        QWidget* xret = ((const x_QItemEditorCreatorBase*)this)->createWidget((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual QByteArray valuePropertyName() const = 0
        QByteArray xret = ((const x_QItemEditorCreatorBase*)this)->valuePropertyName();
        x[0].s_class = (void*)new QByteArray(xret);
    }
    static void x_3(Smoke::Stack x) {
        // QItemEditorCreatorBase* QItemEditorCreatorBase()
        x_QItemEditorCreatorBase* xret = new x_QItemEditorCreatorBase();
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemEditorCreatorBase() : QItemEditorCreatorBase() {}
    static void x_4(Smoke::Stack x) {
        // QItemEditorCreatorBase* QItemEditorCreatorBase(const QItemEditorCreatorBase&)
        x_QItemEditorCreatorBase* xret = new x_QItemEditorCreatorBase(*(const QItemEditorCreatorBase*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemEditorCreatorBase(const QItemEditorCreatorBase& x1) : QItemEditorCreatorBase(x1) {}
    virtual QWidget* createWidget(QWidget* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(6869, (void*)this, x, true /*pure virtual*/);
        return (QWidget*)x[0].s_class;
    }
    virtual QByteArray valuePropertyName() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(6870, (void*)this, x, true /*pure virtual*/);
        QByteArray* xptr = (QByteArray*)x[0].s_class;
        QByteArray xret(*xptr);
        delete xptr;
        return xret;
    }
    ~x_QItemEditorCreatorBase() { this->_binding->deleted(204, (void*)this); }
};
void xcall_QItemEditorCreatorBase(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QItemEditorCreatorBase *xself = (x_QItemEditorCreatorBase*)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_QItemEditorCreatorBase::x_3(args);	break;
        case 4: x_QItemEditorCreatorBase::x_4(args);	break;
        case 5: delete (QItemEditorCreatorBase*)xself;	break;
    }
}
class x_QItemEditorFactory : public QItemEditorFactory, 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) {
        // QItemEditorFactory* QItemEditorFactory()
        x_QItemEditorFactory* xret = new x_QItemEditorFactory();
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemEditorFactory() : QItemEditorFactory() {}
    void x_2(Smoke::Stack x) {
        // virtual QWidget* createEditor(QVariant::Type, QWidget*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemEditorFactory*>(this))) {
            QWidget* xret = ((const x_QItemEditorFactory*)this)->QItemEditorFactory::createEditor((QVariant::Type)x[1].s_enum,(QWidget*)x[2].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QWidget* xret = ((const x_QItemEditorFactory*)this)->createEditor((QVariant::Type)x[1].s_enum,(QWidget*)x[2].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual QByteArray valuePropertyName(QVariant::Type) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemEditorFactory*>(this))) {
            QByteArray xret = ((const x_QItemEditorFactory*)this)->QItemEditorFactory::valuePropertyName((QVariant::Type)x[1].s_enum);
            x[0].s_class = (void*)new QByteArray(xret);
        } else {
            QByteArray xret = ((const x_QItemEditorFactory*)this)->valuePropertyName((QVariant::Type)x[1].s_enum);
            x[0].s_class = (void*)new QByteArray(xret);
        }
    }
    void x_4(Smoke::Stack x) {
        // void registerEditor(QVariant::Type, QItemEditorCreatorBase*)
        this->QItemEditorFactory::registerEditor((QVariant::Type)x[1].s_enum,(QItemEditorCreatorBase*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_5(Smoke::Stack x) {
        // static const QItemEditorFactory* defaultFactory()
        const QItemEditorFactory* xret = QItemEditorFactory::defaultFactory();
        x[0].s_class = (void*)xret;
    }
    static void x_6(Smoke::Stack x) {
        // static void setDefaultFactory(QItemEditorFactory*)
        QItemEditorFactory::setDefaultFactory((QItemEditorFactory*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_7(Smoke::Stack x) {
        // QItemEditorFactory* QItemEditorFactory(const QItemEditorFactory&)
        x_QItemEditorFactory* xret = new x_QItemEditorFactory(*(const QItemEditorFactory*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemEditorFactory(const QItemEditorFactory& x1) : QItemEditorFactory(x1) {}
    virtual QWidget* createEditor(QVariant::Type x1, QWidget* x2) const {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(6875, (void*)this, x)) return (QWidget*)x[0].s_class;
        return this->QItemEditorFactory::createEditor(x1, x2);
    }
    virtual QByteArray valuePropertyName(QVariant::Type x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(6876, (void*)this, x)) {
            QByteArray* xptr = (QByteArray*)x[0].s_class;
            QByteArray xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QItemEditorFactory::valuePropertyName(x1);
    }
    ~x_QItemEditorFactory() { this->_binding->deleted(205, (void*)this); }
};
void xcall_QItemEditorFactory(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QItemEditorFactory *xself = (x_QItemEditorFactory*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QItemEditorFactory::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_QItemEditorFactory::x_5(args);	break;
        case 6: x_QItemEditorFactory::x_6(args);	break;
        case 7: x_QItemEditorFactory::x_7(args);	break;
        case 8: delete (QItemEditorFactory*)xself;	break;
    }
}
class x_QItemSelection : public QItemSelection {
    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) {
        // QItemSelection* QItemSelection()
        x_QItemSelection* xret = new x_QItemSelection();
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemSelection() : QItemSelection() {}
    static void x_2(Smoke::Stack x) {
        // QItemSelection* QItemSelection(const QModelIndex&, const QModelIndex&)
        x_QItemSelection* xret = new x_QItemSelection(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemSelection(const QModelIndex& x1, const QModelIndex& x2) : QItemSelection(x1, x2) {}
    void x_3(Smoke::Stack x) {
        // void select(const QModelIndex&, const QModelIndex&)
        this->QItemSelection::select(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // bool contains(const QModelIndex&) const
        bool xret = ((const x_QItemSelection*)this)->QItemSelection::contains(*(const QModelIndex*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // QList<QModelIndex> indexes() const
        QList<QModelIndex> xret = ((const x_QItemSelection*)this)->QItemSelection::indexes();
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_6(Smoke::Stack x) {
        // void merge(const QItemSelection&, QFlags<QItemSelectionModel::SelectionFlag>)
        this->QItemSelection::merge(*(const QItemSelection*)x[1].s_class,(QFlags<QItemSelectionModel::SelectionFlag>)x[2].s_uint);
        (void)x; // noop (for compiler warning)
    }
    static void x_7(Smoke::Stack x) {
        // static void split(const QItemSelectionRange&, const QItemSelectionRange&, QItemSelection*)
        QItemSelection::split(*(const QItemSelectionRange*)x[1].s_class,*(const QItemSelectionRange*)x[2].s_class,(QItemSelection*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_8(Smoke::Stack x) {
        // QItemSelection* QItemSelection(const QItemSelection&)
        x_QItemSelection* xret = new x_QItemSelection(*(const QItemSelection*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemSelection(const QItemSelection& x1) : QItemSelection(x1) {}
    ~x_QItemSelection() { this->_binding->deleted(206, (void*)this); }
};
void xcall_QItemSelection(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QItemSelection *xself = (x_QItemSelection*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QItemSelection::x_1(args);	break;
        case 2: x_QItemSelection::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: x_QItemSelection::x_7(args);	break;
        case 8: x_QItemSelection::x_8(args);	break;
        case 9: delete (QItemSelection*)xself;	break;
    }
}
class x_QItemSelectionModel : public QItemSelectionModel, 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<QItemSelectionModel*>(this))) {
            const QMetaObject* xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QItemSelectionModel*)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<QItemSelectionModel*>(this))) {
            void* xret = this->QItemSelectionModel::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 = QItemSelectionModel::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 = QItemSelectionModel::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 = QItemSelectionModel::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 = QItemSelectionModel::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<QItemSelectionModel*>(this))) {
            int xret = this->QItemSelectionModel::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) {
        // QItemSelectionModel* QItemSelectionModel(QAbstractItemModel*)
        x_QItemSelectionModel* xret = new x_QItemSelectionModel((QAbstractItemModel*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemSelectionModel(QAbstractItemModel* x1) : QItemSelectionModel(x1) {}
    static void x_9(Smoke::Stack x) {
        // QItemSelectionModel* QItemSelectionModel(QAbstractItemModel*, QObject*)
        x_QItemSelectionModel* xret = new x_QItemSelectionModel((QAbstractItemModel*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemSelectionModel(QAbstractItemModel* x1, QObject* x2) : QItemSelectionModel(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // QModelIndex currentIndex() const
        QModelIndex xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::currentIndex();
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_11(Smoke::Stack x) {
        // bool isSelected(const QModelIndex&) const
        bool xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::isSelected(*(const QModelIndex*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // bool isRowSelected(int, const QModelIndex&) const
        bool xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::isRowSelected((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // bool isColumnSelected(int, const QModelIndex&) const
        bool xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::isColumnSelected((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // bool rowIntersectsSelection(int, const QModelIndex&) const
        bool xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::rowIntersectsSelection((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // bool columnIntersectsSelection(int, const QModelIndex&) const
        bool xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::columnIntersectsSelection((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool hasSelection() const
        bool xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::hasSelection();
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // QList<QModelIndex> selectedIndexes() const
        QList<QModelIndex> xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::selectedIndexes();
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_18(Smoke::Stack x) {
        // QList<QModelIndex> selectedRows(int) const
        QList<QModelIndex> xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::selectedRows((int)x[1].s_int);
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_19(Smoke::Stack x) {
        // QList<QModelIndex> selectedColumns(int) const
        QList<QModelIndex> xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::selectedColumns((int)x[1].s_int);
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_20(Smoke::Stack x) {
        // const QItemSelection selection() const
        const QItemSelection xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::selection();
        x[0].s_class = (void*)new const QItemSelection(xret);
    }
    void x_21(Smoke::Stack x) {
        // const QAbstractItemModel* model() const
        const QAbstractItemModel* xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::model();
        x[0].s_class = (void*)xret;
    }
    void x_22(Smoke::Stack x) {
        // void setCurrentIndex(const QModelIndex&, QItemSelectionModel::SelectionFlags)
        this->QItemSelectionModel::setCurrentIndex(*(const QModelIndex*)x[1].s_class,(QItemSelectionModel::SelectionFlags)x[2].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // virtual void select(const QModelIndex&, QItemSelectionModel::SelectionFlags)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemSelectionModel*>(this))) {
            this->QItemSelectionModel::select(*(const QModelIndex*)x[1].s_class,(QItemSelectionModel::SelectionFlags)x[2].s_uint);
            (void)x; // noop (for compiler warning)
        } else {
            this->select(*(const QModelIndex*)x[1].s_class,(QItemSelectionModel::SelectionFlags)x[2].s_uint);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_24(Smoke::Stack x) {
        // virtual void select(const QItemSelection&, QItemSelectionModel::SelectionFlags)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemSelectionModel*>(this))) {
            this->QItemSelectionModel::select(*(const QItemSelection*)x[1].s_class,(QItemSelectionModel::SelectionFlags)x[2].s_uint);
            (void)x; // noop (for compiler warning)
        } else {
            this->select(*(const QItemSelection*)x[1].s_class,(QItemSelectionModel::SelectionFlags)x[2].s_uint);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_25(Smoke::Stack x) {
        // virtual void clear()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemSelectionModel*>(this))) {
            this->QItemSelectionModel::clear();
            (void)x; // noop (for compiler warning)
        } else {
            this->clear();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_26(Smoke::Stack x) {
        // virtual void reset()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QItemSelectionModel*>(this))) {
            this->QItemSelectionModel::reset();
            (void)x; // noop (for compiler warning)
        } else {
            this->reset();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_27(Smoke::Stack x) {
        // void clearSelection()
        this->QItemSelectionModel::clearSelection();
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // void selectionChanged(const QItemSelection&, const QItemSelection&)
        this->QItemSelectionModel::selectionChanged(*(const QItemSelection*)x[1].s_class,*(const QItemSelection*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // void currentChanged(const QModelIndex&, const QModelIndex&)
        this->QItemSelectionModel::currentChanged(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // void currentRowChanged(const QModelIndex&, const QModelIndex&)
        this->QItemSelectionModel::currentRowChanged(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // void currentColumnChanged(const QModelIndex&, const QModelIndex&)
        this->QItemSelectionModel::currentColumnChanged(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // void emitSelectionChanged(const QItemSelection&, const QItemSelection&)
        this->QItemSelectionModel::emitSelectionChanged(*(const QItemSelection*)x[1].s_class,*(const QItemSelection*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_33(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QItemSelectionModel::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_34(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QItemSelectionModel::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_35(Smoke::Stack x) {
        // QList<QModelIndex> selectedRows() const
        QList<QModelIndex> xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::selectedRows((int)0);
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_36(Smoke::Stack x) {
        // QList<QModelIndex> selectedColumns() const
        QList<QModelIndex> xret = ((const x_QItemSelectionModel*)this)->QItemSelectionModel::selectedColumns((int)0);
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    static void x_37(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QItemSelectionModel::staticMetaObject;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QItemSelectionModel::NoUpdate;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QItemSelectionModel::Clear;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QItemSelectionModel::Select;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QItemSelectionModel::Deselect;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QItemSelectionModel::Toggle;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QItemSelectionModel::Current;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QItemSelectionModel::Rows;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QItemSelectionModel::Columns;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QItemSelectionModel::SelectCurrent;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QItemSelectionModel::ToggleCurrent;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QItemSelectionModel::ClearAndSelect;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6891, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QItemSelectionModel::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6892, (void*)this, x)) return (void*)x[0].s_class;
        return this->QItemSelectionModel::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(6897, (void*)this, x)) return (int)x[0].s_int;
        return this->QItemSelectionModel::qt_metacall(x1, x2, x3);
    }
    virtual void select(const QModelIndex& x1, QItemSelectionModel::SelectionFlags x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(6913, (void*)this, x)) return;
        this->QItemSelectionModel::select(x1, x2);
    }
    virtual void select(const QItemSelection& x1, QItemSelectionModel::SelectionFlags x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(6914, (void*)this, x)) return;
        this->QItemSelectionModel::select(x1, x2);
    }
    virtual void clear() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6915, (void*)this, x)) return;
        this->QItemSelectionModel::clear();
    }
    virtual void reset() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(6916, (void*)this, x)) return;
        this->QItemSelectionModel::reset();
    }
    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);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 439: //QItemSelectionModel::SelectionFlag
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QItemSelectionModel::SelectionFlag;
                    break;
                case Smoke::EnumDelete:
                    delete (QItemSelectionModel::SelectionFlag*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QItemSelectionModel::SelectionFlag*)xdata = (QItemSelectionModel::SelectionFlag)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QItemSelectionModel::SelectionFlag*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QItemSelectionModel() { this->_binding->deleted(207, (void*)this); }
};
void xenum_QItemSelectionModel(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QItemSelectionModel::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QItemSelectionModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QItemSelectionModel *xself = (x_QItemSelectionModel*)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_QItemSelectionModel::x_3(args);	break;
        case 4: x_QItemSelectionModel::x_4(args);	break;
        case 5: x_QItemSelectionModel::x_5(args);	break;
        case 6: x_QItemSelectionModel::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QItemSelectionModel::x_8(args);	break;
        case 9: x_QItemSelectionModel::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: 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: x_QItemSelectionModel::x_33(args);	break;
        case 34: x_QItemSelectionModel::x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: x_QItemSelectionModel::x_37(args);	break;
        case 38: x_QItemSelectionModel::x_38(args);	break;
        case 39: x_QItemSelectionModel::x_39(args);	break;
        case 40: x_QItemSelectionModel::x_40(args);	break;
        case 41: x_QItemSelectionModel::x_41(args);	break;
        case 42: x_QItemSelectionModel::x_42(args);	break;
        case 43: x_QItemSelectionModel::x_43(args);	break;
        case 44: x_QItemSelectionModel::x_44(args);	break;
        case 45: x_QItemSelectionModel::x_45(args);	break;
        case 46: x_QItemSelectionModel::x_46(args);	break;
        case 47: x_QItemSelectionModel::x_47(args);	break;
        case 48: x_QItemSelectionModel::x_48(args);	break;
        case 49: delete (QItemSelectionModel*)xself;	break;
    }
}
class x_QItemSelectionRange : public QItemSelectionRange {
    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) {
        // QItemSelectionRange* QItemSelectionRange()
        x_QItemSelectionRange* xret = new x_QItemSelectionRange();
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemSelectionRange() : QItemSelectionRange() {}
    static void x_2(Smoke::Stack x) {
        // QItemSelectionRange* QItemSelectionRange(const QItemSelectionRange&)
        x_QItemSelectionRange* xret = new x_QItemSelectionRange(*(const QItemSelectionRange*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemSelectionRange(const QItemSelectionRange& x1) : QItemSelectionRange(x1) {}
    static void x_3(Smoke::Stack x) {
        // QItemSelectionRange* QItemSelectionRange(const QModelIndex&, const QModelIndex&)
        x_QItemSelectionRange* xret = new x_QItemSelectionRange(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemSelectionRange(const QModelIndex& x1, const QModelIndex& x2) : QItemSelectionRange(x1, x2) {}
    static void x_4(Smoke::Stack x) {
        // QItemSelectionRange* QItemSelectionRange(const QModelIndex&)
        x_QItemSelectionRange* xret = new x_QItemSelectionRange(*(const QModelIndex*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QItemSelectionRange(const QModelIndex& x1) : QItemSelectionRange(x1) {}
    void x_5(Smoke::Stack x) {
        // int top() const
        int xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::top();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // int left() const
        int xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::left();
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // int bottom() const
        int xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::bottom();
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // int right() const
        int xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::right();
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // int width() const
        int xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::width();
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // int height() const
        int xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::height();
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // QModelIndex topLeft() const
        QModelIndex xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::topLeft();
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_12(Smoke::Stack x) {
        // QModelIndex bottomRight() const
        QModelIndex xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::bottomRight();
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_13(Smoke::Stack x) {
        // QModelIndex parent() const
        QModelIndex xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::parent();
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_14(Smoke::Stack x) {
        // const QAbstractItemModel* model() const
        const QAbstractItemModel* xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::model();
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // bool contains(const QModelIndex&) const
        bool xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::contains(*(const QModelIndex*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool contains(int, int, const QModelIndex&) const
        bool xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::contains((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // bool intersects(const QItemSelectionRange&) const
        bool xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::intersects(*(const QItemSelectionRange*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // QItemSelectionRange intersect(const QItemSelectionRange&) const
        QItemSelectionRange xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::intersect(*(const QItemSelectionRange*)x[1].s_class);
        x[0].s_class = (void*)new QItemSelectionRange(xret);
    }
    void x_19(Smoke::Stack x) {
        // QItemSelectionRange intersected(const QItemSelectionRange&) const
        QItemSelectionRange xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::intersected(*(const QItemSelectionRange*)x[1].s_class);
        x[0].s_class = (void*)new QItemSelectionRange(xret);
    }
    void x_20(Smoke::Stack x) {
        // bool operator==(const QItemSelectionRange&) const
        bool xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::operator==(*(const QItemSelectionRange*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // bool operator!=(const QItemSelectionRange&) const
        bool xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::operator!=(*(const QItemSelectionRange*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // bool operator<(const QItemSelectionRange&) const
        bool xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::operator<(*(const QItemSelectionRange*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::isValid();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // bool isEmpty() const
        bool xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::isEmpty();
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // QList<QModelIndex> indexes() const
        QList<QModelIndex> xret = ((const x_QItemSelectionRange*)this)->QItemSelectionRange::indexes();
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    ~x_QItemSelectionRange() { this->_binding->deleted(208, (void*)this); }
};
void xcall_QItemSelectionRange(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QItemSelectionRange *xself = (x_QItemSelectionRange*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QItemSelectionRange::x_1(args);	break;
        case 2: x_QItemSelectionRange::x_2(args);	break;
        case 3: x_QItemSelectionRange::x_3(args);	break;
        case 4: x_QItemSelectionRange::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: delete (QItemSelectionRange*)xself;	break;
    }
}
class x_QKeyEvent : public QKeyEvent, 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) {
        // QKeyEvent* QKeyEvent(QEvent::Type, int, QFlags<Qt::KeyboardModifier>, const QString&, bool, unsigned short)
        x_QKeyEvent* xret = new x_QKeyEvent((QEvent::Type)x[1].s_enum,(int)x[2].s_int,(QFlags<Qt::KeyboardModifier>)x[3].s_uint,*(const QString*)x[4].s_class,(bool)x[5].s_bool,(unsigned short)x[6].s_ushort);
        x[0].s_class = (void*)xret;
    }
    explicit x_QKeyEvent(QEvent::Type x1, int x2, QFlags<Qt::KeyboardModifier> x3, const QString& x4, bool x5, unsigned short x6) : QKeyEvent(x1, x2, x3, x4, x5, x6) {}
    void x_2(Smoke::Stack x) {
        // int key() const
        int xret = ((const x_QKeyEvent*)this)->QKeyEvent::key();
        x[0].s_int = xret;
    }
    void x_3(Smoke::Stack x) {
        // bool matches(QKeySequence::StandardKey) const
        bool xret = ((const x_QKeyEvent*)this)->QKeyEvent::matches((QKeySequence::StandardKey)x[1].s_enum);
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // QFlags<Qt::KeyboardModifier> modifiers() const
        QFlags<Qt::KeyboardModifier> xret = ((const x_QKeyEvent*)this)->QKeyEvent::modifiers();
        x[0].s_uint = (uint)xret;
    }
    void x_5(Smoke::Stack x) {
        // QString text() const
        QString xret = ((const x_QKeyEvent*)this)->QKeyEvent::text();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_6(Smoke::Stack x) {
        // bool isAutoRepeat() const
        bool xret = ((const x_QKeyEvent*)this)->QKeyEvent::isAutoRepeat();
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // int count() const
        int xret = ((const x_QKeyEvent*)this)->QKeyEvent::count();
        x[0].s_int = xret;
    }
    static void x_8(Smoke::Stack x) {
        // static QKeyEvent* createExtendedKeyEvent(QEvent::Type, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, const QString&, bool, unsigned short)
        QKeyEvent* xret = QKeyEvent::createExtendedKeyEvent((QEvent::Type)x[1].s_enum,(int)x[2].s_int,(QFlags<Qt::KeyboardModifier>)x[3].s_uint,(unsigned int)x[4].s_uint,(unsigned int)x[5].s_uint,(unsigned int)x[6].s_uint,*(const QString*)x[7].s_class,(bool)x[8].s_bool,(unsigned short)x[9].s_ushort);
        x[0].s_class = (void*)xret;
    }
    void x_9(Smoke::Stack x) {
        // bool hasExtendedInfo() const
        bool xret = ((const x_QKeyEvent*)this)->QKeyEvent::hasExtendedInfo();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // unsigned int nativeScanCode() const
        unsigned int xret = ((const x_QKeyEvent*)this)->QKeyEvent::nativeScanCode();
        x[0].s_uint = xret;
    }
    void x_11(Smoke::Stack x) {
        // unsigned int nativeVirtualKey() const
        unsigned int xret = ((const x_QKeyEvent*)this)->QKeyEvent::nativeVirtualKey();
        x[0].s_uint = xret;
    }
    void x_12(Smoke::Stack x) {
        // unsigned int nativeModifiers() const
        unsigned int xret = ((const x_QKeyEvent*)this)->QKeyEvent::nativeModifiers();
        x[0].s_uint = xret;
    }
    static void x_13(Smoke::Stack x) {
        // QKeyEvent* QKeyEvent(const QKeyEvent&)
        x_QKeyEvent* xret = new x_QKeyEvent(*(const QKeyEvent*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QKeyEvent(const QKeyEvent& x1) : QKeyEvent(x1) {}
    static void x_14(Smoke::Stack x) {
        // QKeyEvent* QKeyEvent(QEvent::Type, int, QFlags<Qt::KeyboardModifier>)
        x_QKeyEvent* xret = new x_QKeyEvent((QEvent::Type)x[1].s_enum,(int)x[2].s_int,(QFlags<Qt::KeyboardModifier>)x[3].s_uint,(const QString&)QString(),(bool)false,(unsigned short)1);
        x[0].s_class = (void*)xret;
    }
    static void x_15(Smoke::Stack x) {
        // QKeyEvent* QKeyEvent(QEvent::Type, int, QFlags<Qt::KeyboardModifier>, const QString&)
        x_QKeyEvent* xret = new x_QKeyEvent((QEvent::Type)x[1].s_enum,(int)x[2].s_int,(QFlags<Qt::KeyboardModifier>)x[3].s_uint,*(const QString*)x[4].s_class,(bool)false,(unsigned short)1);
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        // QKeyEvent* QKeyEvent(QEvent::Type, int, QFlags<Qt::KeyboardModifier>, const QString&, bool)
        x_QKeyEvent* xret = new x_QKeyEvent((QEvent::Type)x[1].s_enum,(int)x[2].s_int,(QFlags<Qt::KeyboardModifier>)x[3].s_uint,*(const QString*)x[4].s_class,(bool)x[5].s_bool,(unsigned short)1);
        x[0].s_class = (void*)xret;
    }
    static void x_17(Smoke::Stack x) {
        // static QKeyEvent* createExtendedKeyEvent(QEvent::Type, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int)
        QKeyEvent* xret = QKeyEvent::createExtendedKeyEvent((QEvent::Type)x[1].s_enum,(int)x[2].s_int,(QFlags<Qt::KeyboardModifier>)x[3].s_uint,(unsigned int)x[4].s_uint,(unsigned int)x[5].s_uint,(unsigned int)x[6].s_uint,(const QString&)QString(),(bool)false,(unsigned short)1);
        x[0].s_class = (void*)xret;
    }
    static void x_18(Smoke::Stack x) {
        // static QKeyEvent* createExtendedKeyEvent(QEvent::Type, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, const QString&)
        QKeyEvent* xret = QKeyEvent::createExtendedKeyEvent((QEvent::Type)x[1].s_enum,(int)x[2].s_int,(QFlags<Qt::KeyboardModifier>)x[3].s_uint,(unsigned int)x[4].s_uint,(unsigned int)x[5].s_uint,(unsigned int)x[6].s_uint,*(const QString*)x[7].s_class,(bool)false,(unsigned short)1);
        x[0].s_class = (void*)xret;
    }
    static void x_19(Smoke::Stack x) {
        // static QKeyEvent* createExtendedKeyEvent(QEvent::Type, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, const QString&, bool)
        QKeyEvent* xret = QKeyEvent::createExtendedKeyEvent((QEvent::Type)x[1].s_enum,(int)x[2].s_int,(QFlags<Qt::KeyboardModifier>)x[3].s_uint,(unsigned int)x[4].s_uint,(unsigned int)x[5].s_uint,(unsigned int)x[6].s_uint,*(const QString*)x[7].s_class,(bool)x[8].s_bool,(unsigned short)1);
        x[0].s_class = (void*)xret;
    }
    void x_20(Smoke::Stack x) {
        // QString txt
        x[0].s_class = (void*)&this->QKeyEvent::txt;
    }
    void x_21(Smoke::Stack x) {
        // QString txt=
        this->QKeyEvent::txt = *(const QString*)x[1].s_class;
    }
    void x_22(Smoke::Stack x) {
        // int k
        x[0].s_int = this->QKeyEvent::k;
    }
    void x_23(Smoke::Stack x) {
        // int k=
        this->QKeyEvent::k = (int)x[1].s_int;
    }
    void x_24(Smoke::Stack x) {
        // unsigned short c
        x[0].s_ushort = this->QKeyEvent::c;
    }
    void x_25(Smoke::Stack x) {
        // unsigned short c=
        this->QKeyEvent::c = (unsigned short)x[1].s_ushort;
    }
    void x_26(Smoke::Stack x) {
        // unsigned int autor
        x[0].s_uint = this->QKeyEvent::autor;
    }
    void x_27(Smoke::Stack x) {
        // unsigned int autor=
        this->QKeyEvent::autor = (unsigned int)x[1].s_uint;
    }
    ~x_QKeyEvent() { this->_binding->deleted(209, (void*)this); }
};
void xcall_QKeyEvent(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QKeyEvent *xself = (x_QKeyEvent*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QKeyEvent::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: x_QKeyEvent::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: x_QKeyEvent::x_13(args);	break;
        case 14: x_QKeyEvent::x_14(args);	break;
        case 15: x_QKeyEvent::x_15(args);	break;
        case 16: x_QKeyEvent::x_16(args);	break;
        case 17: x_QKeyEvent::x_17(args);	break;
        case 18: x_QKeyEvent::x_18(args);	break;
        case 19: x_QKeyEvent::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: delete (QKeyEvent*)xself;	break;
    }
}

}
