//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_QQuaternion : public QQuaternion {
    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) {
        // QQuaternion* QQuaternion()
        x_QQuaternion* xret = new x_QQuaternion();
        x[0].s_class = (void*)xret;
    }
    explicit x_QQuaternion() : QQuaternion() {}
    static void x_2(Smoke::Stack x) {
        // QQuaternion* QQuaternion(double, double, double, double)
        x_QQuaternion* xret = new x_QQuaternion((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double,(double)x[4].s_double);
        x[0].s_class = (void*)xret;
    }
    explicit x_QQuaternion(double x1, double x2, double x3, double x4) : QQuaternion(x1, x2, x3, x4) {}
    static void x_3(Smoke::Stack x) {
        // QQuaternion* QQuaternion(double, const QVector3D&)
        x_QQuaternion* xret = new x_QQuaternion((double)x[1].s_double,*(const QVector3D*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QQuaternion(double x1, const QVector3D& x2) : QQuaternion(x1, x2) {}
    static void x_4(Smoke::Stack x) {
        // QQuaternion* QQuaternion(const QVector4D&)
        x_QQuaternion* xret = new x_QQuaternion(*(const QVector4D*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QQuaternion(const QVector4D& x1) : QQuaternion(x1) {}
    void x_5(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QQuaternion*)this)->QQuaternion::isNull();
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // bool isIdentity() const
        bool xret = ((const x_QQuaternion*)this)->QQuaternion::isIdentity();
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // QVector3D vector() const
        QVector3D xret = ((const x_QQuaternion*)this)->QQuaternion::vector();
        x[0].s_class = (void*)new QVector3D(xret);
    }
    void x_8(Smoke::Stack x) {
        // void setVector(const QVector3D&)
        this->QQuaternion::setVector(*(const QVector3D*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // void setVector(double, double, double)
        this->QQuaternion::setVector((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // double x() const
        double xret = ((const x_QQuaternion*)this)->QQuaternion::x();
        x[0].s_double = xret;
    }
    void x_11(Smoke::Stack x) {
        // double y() const
        double xret = ((const x_QQuaternion*)this)->QQuaternion::y();
        x[0].s_double = xret;
    }
    void x_12(Smoke::Stack x) {
        // double z() const
        double xret = ((const x_QQuaternion*)this)->QQuaternion::z();
        x[0].s_double = xret;
    }
    void x_13(Smoke::Stack x) {
        // double scalar() const
        double xret = ((const x_QQuaternion*)this)->QQuaternion::scalar();
        x[0].s_double = xret;
    }
    void x_14(Smoke::Stack x) {
        // void setX(double)
        this->QQuaternion::setX((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void setY(double)
        this->QQuaternion::setY((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void setZ(double)
        this->QQuaternion::setZ((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void setScalar(double)
        this->QQuaternion::setScalar((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // double length() const
        double xret = ((const x_QQuaternion*)this)->QQuaternion::length();
        x[0].s_double = xret;
    }
    void x_19(Smoke::Stack x) {
        // double lengthSquared() const
        double xret = ((const x_QQuaternion*)this)->QQuaternion::lengthSquared();
        x[0].s_double = xret;
    }
    void x_20(Smoke::Stack x) {
        // QQuaternion normalized() const
        QQuaternion xret = ((const x_QQuaternion*)this)->QQuaternion::normalized();
        x[0].s_class = (void*)new QQuaternion(xret);
    }
    void x_21(Smoke::Stack x) {
        // void normalize()
        this->QQuaternion::normalize();
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // QQuaternion conjugate() const
        QQuaternion xret = ((const x_QQuaternion*)this)->QQuaternion::conjugate();
        x[0].s_class = (void*)new QQuaternion(xret);
    }
    void x_23(Smoke::Stack x) {
        // QVector3D rotatedVector(const QVector3D&) const
        QVector3D xret = ((const x_QQuaternion*)this)->QQuaternion::rotatedVector(*(const QVector3D*)x[1].s_class);
        x[0].s_class = (void*)new QVector3D(xret);
    }
    void x_24(Smoke::Stack x) {
        // QQuaternion& operator+=(const QQuaternion&)
        QQuaternion& xret = this->QQuaternion::operator+=(*(const QQuaternion*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_25(Smoke::Stack x) {
        // QQuaternion& operator-=(const QQuaternion&)
        QQuaternion& xret = this->QQuaternion::operator-=(*(const QQuaternion*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_26(Smoke::Stack x) {
        // QQuaternion& operator*=(double)
        QQuaternion& xret = this->QQuaternion::operator*=((double)x[1].s_double);
        x[0].s_class = (void*)&xret;
    }
    void x_27(Smoke::Stack x) {
        // QQuaternion& operator*=(const QQuaternion&)
        QQuaternion& xret = this->QQuaternion::operator*=(*(const QQuaternion*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_28(Smoke::Stack x) {
        // QQuaternion& operator/=(double)
        QQuaternion& xret = this->QQuaternion::operator/=((double)x[1].s_double);
        x[0].s_class = (void*)&xret;
    }
    void x_29(Smoke::Stack x) {
        // QVector4D toVector4D() const
        QVector4D xret = ((const x_QQuaternion*)this)->QQuaternion::toVector4D();
        x[0].s_class = (void*)new QVector4D(xret);
    }
    void x_30(Smoke::Stack x) {
        // QVariant operator QVariant() const
        QVariant xret = ((const x_QQuaternion*)this)->QQuaternion::operator QVariant();
        x[0].s_class = (void*)new QVariant(xret);
    }
    static void x_31(Smoke::Stack x) {
        // static QQuaternion fromAxisAndAngle(const QVector3D&, double)
        QQuaternion xret = QQuaternion::fromAxisAndAngle(*(const QVector3D*)x[1].s_class,(double)x[2].s_double);
        x[0].s_class = (void*)new QQuaternion(xret);
    }
    static void x_32(Smoke::Stack x) {
        // static QQuaternion fromAxisAndAngle(double, double, double, double)
        QQuaternion xret = QQuaternion::fromAxisAndAngle((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double,(double)x[4].s_double);
        x[0].s_class = (void*)new QQuaternion(xret);
    }
    static void x_33(Smoke::Stack x) {
        // static QQuaternion slerp(const QQuaternion&, const QQuaternion&, double)
        QQuaternion xret = QQuaternion::slerp(*(const QQuaternion*)x[1].s_class,*(const QQuaternion*)x[2].s_class,(double)x[3].s_double);
        x[0].s_class = (void*)new QQuaternion(xret);
    }
    static void x_34(Smoke::Stack x) {
        // static QQuaternion nlerp(const QQuaternion&, const QQuaternion&, double)
        QQuaternion xret = QQuaternion::nlerp(*(const QQuaternion*)x[1].s_class,*(const QQuaternion*)x[2].s_class,(double)x[3].s_double);
        x[0].s_class = (void*)new QQuaternion(xret);
    }
    static void x_35(Smoke::Stack x) {
        // QQuaternion* QQuaternion(const QQuaternion&)
        x_QQuaternion* xret = new x_QQuaternion(*(const QQuaternion*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QQuaternion(const QQuaternion& x1) : QQuaternion(x1) {}
    ~x_QQuaternion() { this->_binding->deleted(284, (void*)this); }
};
void xcall_QQuaternion(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QQuaternion *xself = (x_QQuaternion*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QQuaternion::x_1(args);	break;
        case 2: x_QQuaternion::x_2(args);	break;
        case 3: x_QQuaternion::x_3(args);	break;
        case 4: x_QQuaternion::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: x_QQuaternion::x_31(args);	break;
        case 32: x_QQuaternion::x_32(args);	break;
        case 33: x_QQuaternion::x_33(args);	break;
        case 34: x_QQuaternion::x_34(args);	break;
        case 35: x_QQuaternion::x_35(args);	break;
        case 36: delete (QQuaternion*)xself;	break;
    }
}
class x_QRadialGradient : public QRadialGradient {
    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) {
        // QRadialGradient* QRadialGradient()
        x_QRadialGradient* xret = new x_QRadialGradient();
        x[0].s_class = (void*)xret;
    }
    explicit x_QRadialGradient() : QRadialGradient() {}
    static void x_2(Smoke::Stack x) {
        // QRadialGradient* QRadialGradient(const QPointF&, double, const QPointF&)
        x_QRadialGradient* xret = new x_QRadialGradient(*(const QPointF*)x[1].s_class,(double)x[2].s_double,*(const QPointF*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRadialGradient(const QPointF& x1, double x2, const QPointF& x3) : QRadialGradient(x1, x2, x3) {}
    static void x_3(Smoke::Stack x) {
        // QRadialGradient* QRadialGradient(double, double, double, double, double)
        x_QRadialGradient* xret = new x_QRadialGradient((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double,(double)x[4].s_double,(double)x[5].s_double);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRadialGradient(double x1, double x2, double x3, double x4, double x5) : QRadialGradient(x1, x2, x3, x4, x5) {}
    static void x_4(Smoke::Stack x) {
        // QRadialGradient* QRadialGradient(const QPointF&, double)
        x_QRadialGradient* xret = new x_QRadialGradient(*(const QPointF*)x[1].s_class,(double)x[2].s_double);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRadialGradient(const QPointF& x1, double x2) : QRadialGradient(x1, x2) {}
    static void x_5(Smoke::Stack x) {
        // QRadialGradient* QRadialGradient(double, double, double)
        x_QRadialGradient* xret = new x_QRadialGradient((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRadialGradient(double x1, double x2, double x3) : QRadialGradient(x1, x2, x3) {}
    static void x_6(Smoke::Stack x) {
        // QRadialGradient* QRadialGradient(const QPointF&, double, const QPointF&, double)
        x_QRadialGradient* xret = new x_QRadialGradient(*(const QPointF*)x[1].s_class,(double)x[2].s_double,*(const QPointF*)x[3].s_class,(double)x[4].s_double);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRadialGradient(const QPointF& x1, double x2, const QPointF& x3, double x4) : QRadialGradient(x1, x2, x3, x4) {}
    static void x_7(Smoke::Stack x) {
        // QRadialGradient* QRadialGradient(double, double, double, double, double, double)
        x_QRadialGradient* xret = new x_QRadialGradient((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double,(double)x[4].s_double,(double)x[5].s_double,(double)x[6].s_double);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRadialGradient(double x1, double x2, double x3, double x4, double x5, double x6) : QRadialGradient(x1, x2, x3, x4, x5, x6) {}
    void x_8(Smoke::Stack x) {
        // QPointF center() const
        QPointF xret = ((const x_QRadialGradient*)this)->QRadialGradient::center();
        x[0].s_class = (void*)new QPointF(xret);
    }
    void x_9(Smoke::Stack x) {
        // void setCenter(const QPointF&)
        this->QRadialGradient::setCenter(*(const QPointF*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void setCenter(double, double)
        this->QRadialGradient::setCenter((double)x[1].s_double,(double)x[2].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // QPointF focalPoint() const
        QPointF xret = ((const x_QRadialGradient*)this)->QRadialGradient::focalPoint();
        x[0].s_class = (void*)new QPointF(xret);
    }
    void x_12(Smoke::Stack x) {
        // void setFocalPoint(const QPointF&)
        this->QRadialGradient::setFocalPoint(*(const QPointF*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void setFocalPoint(double, double)
        this->QRadialGradient::setFocalPoint((double)x[1].s_double,(double)x[2].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // double radius() const
        double xret = ((const x_QRadialGradient*)this)->QRadialGradient::radius();
        x[0].s_double = xret;
    }
    void x_15(Smoke::Stack x) {
        // void setRadius(double)
        this->QRadialGradient::setRadius((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // double centerRadius() const
        double xret = ((const x_QRadialGradient*)this)->QRadialGradient::centerRadius();
        x[0].s_double = xret;
    }
    void x_17(Smoke::Stack x) {
        // void setCenterRadius(double)
        this->QRadialGradient::setCenterRadius((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // double focalRadius() const
        double xret = ((const x_QRadialGradient*)this)->QRadialGradient::focalRadius();
        x[0].s_double = xret;
    }
    void x_19(Smoke::Stack x) {
        // void setFocalRadius(double)
        this->QRadialGradient::setFocalRadius((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    static void x_20(Smoke::Stack x) {
        // QRadialGradient* QRadialGradient(const QRadialGradient&)
        x_QRadialGradient* xret = new x_QRadialGradient(*(const QRadialGradient*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRadialGradient(const QRadialGradient& x1) : QRadialGradient(x1) {}
    ~x_QRadialGradient() { this->_binding->deleted(285, (void*)this); }
};
void xcall_QRadialGradient(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QRadialGradient *xself = (x_QRadialGradient*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QRadialGradient::x_1(args);	break;
        case 2: x_QRadialGradient::x_2(args);	break;
        case 3: x_QRadialGradient::x_3(args);	break;
        case 4: x_QRadialGradient::x_4(args);	break;
        case 5: x_QRadialGradient::x_5(args);	break;
        case 6: x_QRadialGradient::x_6(args);	break;
        case 7: x_QRadialGradient::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: x_QRadialGradient::x_20(args);	break;
        case 21: delete (QRadialGradient*)xself;	break;
    }
}
class x_QRadioButton : public QRadioButton, 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<QRadioButton*>(this))) {
            const QMetaObject* xret = ((const x_QRadioButton*)this)->QRadioButton::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QRadioButton*)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<QRadioButton*>(this))) {
            void* xret = this->QRadioButton::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 = QRadioButton::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 = QRadioButton::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 = QRadioButton::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 = QRadioButton::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<QRadioButton*>(this))) {
            int xret = this->QRadioButton::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) {
        // QRadioButton* QRadioButton(QWidget*)
        x_QRadioButton* xret = new x_QRadioButton((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRadioButton(QWidget* x1) : QRadioButton(x1) {}
    static void x_9(Smoke::Stack x) {
        // QRadioButton* QRadioButton(const QString&, QWidget*)
        x_QRadioButton* xret = new x_QRadioButton(*(const QString*)x[1].s_class,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRadioButton(const QString& x1, QWidget* x2) : QRadioButton(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRadioButton*>(this))) {
            QSize xret = ((const x_QRadioButton*)this)->QRadioButton::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QRadioButton*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_11(Smoke::Stack x) {
        // QSize minimumSizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRadioButton*>(this))) {
            QSize xret = ((const x_QRadioButton*)this)->QRadioButton::minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QRadioButton*)this)->minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRadioButton*>(this))) {
            bool xret = this->QRadioButton::event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // bool hitButton(const QPoint&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRadioButton*>(this))) {
            bool xret = ((const x_QRadioButton*)this)->QRadioButton::hitButton(*(const QPoint*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QRadioButton*)this)->hitButton(*(const QPoint*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRadioButton*>(this))) {
            this->QRadioButton::paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_15(Smoke::Stack x) {
        // void mouseMoveEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRadioButton*>(this))) {
            this->QRadioButton::mouseMoveEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mouseMoveEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // void initStyleOption(QStyleOptionButton*) const
        ((const x_QRadioButton*)this)->QRadioButton::initStyleOption((QStyleOptionButton*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_17(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QRadioButton::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 = QRadioButton::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) {
        // QRadioButton* QRadioButton()
        x_QRadioButton* xret = new x_QRadioButton((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_20(Smoke::Stack x) {
        // QRadioButton* QRadioButton(const QString&)
        x_QRadioButton* xret = new x_QRadioButton(*(const QString*)x[1].s_class,(QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_21(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QRadioButton::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10203, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QRadioButton::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10204, (void*)this, x)) return (void*)x[0].s_class;
        return this->QRadioButton::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(10209, (void*)this, x)) return (int)x[0].s_int;
        return this->QRadioButton::qt_metacall(x1, x2, x3);
    }
    virtual void paintEvent(QPaintEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10216, (void*)this, x)) return;
        this->QRadioButton::paintEvent(x1);
    }
    virtual bool hitButton(const QPoint& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10215, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QRadioButton::hitButton(x1);
    }
    virtual void checkStateSet() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(41, (void*)this, x)) return;
        this->QAbstractButton::checkStateSet();
    }
    virtual void nextCheckState() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(42, (void*)this, x)) return;
        this->QAbstractButton::nextCheckState();
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(15532, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10212, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QRadioButton::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10213, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QRadioButton::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(46, (void*)this, x)) return;
        this->QAbstractButton::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(47, (void*)this, x)) return;
        this->QAbstractButton::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(10217, (void*)this, x)) return;
        this->QRadioButton::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(44, (void*)this, x)) return;
        this->QAbstractButton::keyPressEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(45, (void*)this, x)) return;
        this->QAbstractButton::keyReleaseEvent(x1);
    }
    virtual void focusInEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(49, (void*)this, x)) return;
        this->QAbstractButton::focusInEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(50, (void*)this, x)) return;
        this->QAbstractButton::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 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(15630, (void*)this, x)) return;
        this->QWidget::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15631, (void*)this, x)) return;
        this->QWidget::closeEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15632, (void*)this, x)) return;
        this->QWidget::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(15639, (void*)this, x)) return;
        this->QWidget::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(51, (void*)this, x)) return;
        this->QAbstractButton::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(10214, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QRadioButton::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(52, (void*)this, x)) return;
        this->QAbstractButton::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);
    }
    ~x_QRadioButton() { this->_binding->deleted(286, (void*)this); }
};
void xcall_QRadioButton(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QRadioButton *xself = (x_QRadioButton*)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_QRadioButton::x_3(args);	break;
        case 4: x_QRadioButton::x_4(args);	break;
        case 5: x_QRadioButton::x_5(args);	break;
        case 6: x_QRadioButton::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QRadioButton::x_8(args);	break;
        case 9: x_QRadioButton::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_QRadioButton::x_17(args);	break;
        case 18: x_QRadioButton::x_18(args);	break;
        case 19: x_QRadioButton::x_19(args);	break;
        case 20: x_QRadioButton::x_20(args);	break;
        case 21: x_QRadioButton::x_21(args);	break;
        case 22: delete (QRadioButton*)xself;	break;
    }
}
class x_QRawFont : public QRawFont {
    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) {
        // QRawFont* QRawFont()
        x_QRawFont* xret = new x_QRawFont();
        x[0].s_class = (void*)xret;
    }
    explicit x_QRawFont() : QRawFont() {}
    static void x_2(Smoke::Stack x) {
        // QRawFont* QRawFont(const QString&, double, QFont::HintingPreference)
        x_QRawFont* xret = new x_QRawFont(*(const QString*)x[1].s_class,(double)x[2].s_double,(QFont::HintingPreference)x[3].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRawFont(const QString& x1, double x2, QFont::HintingPreference x3) : QRawFont(x1, x2, x3) {}
    static void x_3(Smoke::Stack x) {
        // QRawFont* QRawFont(const QByteArray&, double, QFont::HintingPreference)
        x_QRawFont* xret = new x_QRawFont(*(const QByteArray*)x[1].s_class,(double)x[2].s_double,(QFont::HintingPreference)x[3].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRawFont(const QByteArray& x1, double x2, QFont::HintingPreference x3) : QRawFont(x1, x2, x3) {}
    static void x_4(Smoke::Stack x) {
        // QRawFont* QRawFont(const QRawFont&)
        x_QRawFont* xret = new x_QRawFont(*(const QRawFont*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRawFont(const QRawFont& x1) : QRawFont(x1) {}
    void x_5(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QRawFont*)this)->QRawFont::isValid();
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // QRawFont& operator=(const QRawFont&)
        QRawFont& xret = this->QRawFont::operator=(*(const QRawFont*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_7(Smoke::Stack x) {
        // bool operator==(const QRawFont&) const
        bool xret = ((const x_QRawFont*)this)->QRawFont::operator==(*(const QRawFont*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // bool operator!=(const QRawFont&) const
        bool xret = ((const x_QRawFont*)this)->QRawFont::operator!=(*(const QRawFont*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // QString familyName() const
        QString xret = ((const x_QRawFont*)this)->QRawFont::familyName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_10(Smoke::Stack x) {
        // QString styleName() const
        QString xret = ((const x_QRawFont*)this)->QRawFont::styleName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_11(Smoke::Stack x) {
        // QFont::Style style() const
        QFont::Style xret = ((const x_QRawFont*)this)->QRawFont::style();
        x[0].s_enum = xret;
    }
    void x_12(Smoke::Stack x) {
        // int weight() const
        int xret = ((const x_QRawFont*)this)->QRawFont::weight();
        x[0].s_int = xret;
    }
    void x_13(Smoke::Stack x) {
        // QVector<unsigned int> glyphIndexesForString(const QString&) const
        QVector<unsigned int> xret = ((const x_QRawFont*)this)->QRawFont::glyphIndexesForString(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QVector<unsigned int>(xret);
    }
    void x_14(Smoke::Stack x) {
        // QVector<QPointF> advancesForGlyphIndexes(const QVector<unsigned int>&) const
        QVector<QPointF> xret = ((const x_QRawFont*)this)->QRawFont::advancesForGlyphIndexes(*(const QVector<unsigned int>*)x[1].s_class);
        x[0].s_class = (void*)new QVector<QPointF>(xret);
    }
    void x_15(Smoke::Stack x) {
        // bool glyphIndexesForChars(const QChar*, int, unsigned int*, int*) const
        bool xret = ((const x_QRawFont*)this)->QRawFont::glyphIndexesForChars((const QChar*)x[1].s_class,(int)x[2].s_int,(unsigned int*)x[3].s_class,(int*)x[4].s_class);
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool advancesForGlyphIndexes(const unsigned int*, QPointF*, int) const
        bool xret = ((const x_QRawFont*)this)->QRawFont::advancesForGlyphIndexes((const unsigned int*)x[1].s_class,(QPointF*)x[2].s_class,(int)x[3].s_int);
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // QImage alphaMapForGlyph(unsigned int, QRawFont::AntialiasingType, const QTransform&) const
        QImage xret = ((const x_QRawFont*)this)->QRawFont::alphaMapForGlyph((unsigned int)x[1].s_uint,(QRawFont::AntialiasingType)x[2].s_enum,*(const QTransform*)x[3].s_class);
        x[0].s_class = (void*)new QImage(xret);
    }
    void x_18(Smoke::Stack x) {
        // QPainterPath pathForGlyph(unsigned int) const
        QPainterPath xret = ((const x_QRawFont*)this)->QRawFont::pathForGlyph((unsigned int)x[1].s_uint);
        x[0].s_class = (void*)new QPainterPath(xret);
    }
    void x_19(Smoke::Stack x) {
        // void setPixelSize(double)
        this->QRawFont::setPixelSize((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // double pixelSize() const
        double xret = ((const x_QRawFont*)this)->QRawFont::pixelSize();
        x[0].s_double = xret;
    }
    void x_21(Smoke::Stack x) {
        // QFont::HintingPreference hintingPreference() const
        QFont::HintingPreference xret = ((const x_QRawFont*)this)->QRawFont::hintingPreference();
        x[0].s_enum = xret;
    }
    void x_22(Smoke::Stack x) {
        // double ascent() const
        double xret = ((const x_QRawFont*)this)->QRawFont::ascent();
        x[0].s_double = xret;
    }
    void x_23(Smoke::Stack x) {
        // double descent() const
        double xret = ((const x_QRawFont*)this)->QRawFont::descent();
        x[0].s_double = xret;
    }
    void x_24(Smoke::Stack x) {
        // double leading() const
        double xret = ((const x_QRawFont*)this)->QRawFont::leading();
        x[0].s_double = xret;
    }
    void x_25(Smoke::Stack x) {
        // double xHeight() const
        double xret = ((const x_QRawFont*)this)->QRawFont::xHeight();
        x[0].s_double = xret;
    }
    void x_26(Smoke::Stack x) {
        // double averageCharWidth() const
        double xret = ((const x_QRawFont*)this)->QRawFont::averageCharWidth();
        x[0].s_double = xret;
    }
    void x_27(Smoke::Stack x) {
        // double maxCharWidth() const
        double xret = ((const x_QRawFont*)this)->QRawFont::maxCharWidth();
        x[0].s_double = xret;
    }
    void x_28(Smoke::Stack x) {
        // double unitsPerEm() const
        double xret = ((const x_QRawFont*)this)->QRawFont::unitsPerEm();
        x[0].s_double = xret;
    }
    void x_29(Smoke::Stack x) {
        // void loadFromFile(const QString&, double, QFont::HintingPreference)
        this->QRawFont::loadFromFile(*(const QString*)x[1].s_class,(double)x[2].s_double,(QFont::HintingPreference)x[3].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // void loadFromData(const QByteArray&, double, QFont::HintingPreference)
        this->QRawFont::loadFromData(*(const QByteArray*)x[1].s_class,(double)x[2].s_double,(QFont::HintingPreference)x[3].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // bool supportsCharacter(unsigned int) const
        bool xret = ((const x_QRawFont*)this)->QRawFont::supportsCharacter((unsigned int)x[1].s_uint);
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // bool supportsCharacter(QChar) const
        bool xret = ((const x_QRawFont*)this)->QRawFont::supportsCharacter(*(QChar*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // QList<QFontDatabase::WritingSystem> supportedWritingSystems() const
        QList<QFontDatabase::WritingSystem> xret = ((const x_QRawFont*)this)->QRawFont::supportedWritingSystems();
        x[0].s_class = (void*)new QList<QFontDatabase::WritingSystem>(xret);
    }
    void x_34(Smoke::Stack x) {
        // QByteArray fontTable(const char*) const
        QByteArray xret = ((const x_QRawFont*)this)->QRawFont::fontTable((const char*)x[1].s_class);
        x[0].s_class = (void*)new QByteArray(xret);
    }
    static void x_35(Smoke::Stack x) {
        // static QRawFont fromFont(const QFont&, QFontDatabase::WritingSystem)
        QRawFont xret = QRawFont::fromFont(*(const QFont*)x[1].s_class,(QFontDatabase::WritingSystem)x[2].s_enum);
        x[0].s_class = (void*)new QRawFont(xret);
    }
    static void x_36(Smoke::Stack x) {
        // QRawFont* QRawFont(const QString&, double)
        x_QRawFont* xret = new x_QRawFont(*(const QString*)x[1].s_class,(double)x[2].s_double,(QFont::HintingPreference)QFont::PreferDefaultHinting);
        x[0].s_class = (void*)xret;
    }
    static void x_37(Smoke::Stack x) {
        // QRawFont* QRawFont(const QByteArray&, double)
        x_QRawFont* xret = new x_QRawFont(*(const QByteArray*)x[1].s_class,(double)x[2].s_double,(QFont::HintingPreference)QFont::PreferDefaultHinting);
        x[0].s_class = (void*)xret;
    }
    void x_38(Smoke::Stack x) {
        // QImage alphaMapForGlyph(unsigned int) const
        QImage xret = ((const x_QRawFont*)this)->QRawFont::alphaMapForGlyph((unsigned int)x[1].s_uint,(QRawFont::AntialiasingType)QRawFont::SubPixelAntialiasing,(const QTransform&)QTransform());
        x[0].s_class = (void*)new QImage(xret);
    }
    void x_39(Smoke::Stack x) {
        // QImage alphaMapForGlyph(unsigned int, QRawFont::AntialiasingType) const
        QImage xret = ((const x_QRawFont*)this)->QRawFont::alphaMapForGlyph((unsigned int)x[1].s_uint,(QRawFont::AntialiasingType)x[2].s_enum,(const QTransform&)QTransform());
        x[0].s_class = (void*)new QImage(xret);
    }
    static void x_40(Smoke::Stack x) {
        // static QRawFont fromFont(const QFont&)
        QRawFont xret = QRawFont::fromFont(*(const QFont*)x[1].s_class,(QFontDatabase::WritingSystem)QFontDatabase::Any);
        x[0].s_class = (void*)new QRawFont(xret);
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QRawFont::PixelAntialiasing;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QRawFont::SubPixelAntialiasing;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 661: //QRawFont::AntialiasingType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QRawFont::AntialiasingType;
                    break;
                case Smoke::EnumDelete:
                    delete (QRawFont::AntialiasingType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QRawFont::AntialiasingType*)xdata = (QRawFont::AntialiasingType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QRawFont::AntialiasingType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QRawFont() { this->_binding->deleted(287, (void*)this); }
};
void xenum_QRawFont(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QRawFont::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QRawFont(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QRawFont *xself = (x_QRawFont*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QRawFont::x_1(args);	break;
        case 2: x_QRawFont::x_2(args);	break;
        case 3: x_QRawFont::x_3(args);	break;
        case 4: x_QRawFont::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: x_QRawFont::x_35(args);	break;
        case 36: x_QRawFont::x_36(args);	break;
        case 37: x_QRawFont::x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: x_QRawFont::x_40(args);	break;
        case 41: x_QRawFont::x_41(args);	break;
        case 42: x_QRawFont::x_42(args);	break;
        case 43: delete (QRawFont*)xself;	break;
    }
}
class x_QRegExpValidator : public QRegExpValidator, 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<QRegExpValidator*>(this))) {
            const QMetaObject* xret = ((const x_QRegExpValidator*)this)->QRegExpValidator::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QRegExpValidator*)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<QRegExpValidator*>(this))) {
            void* xret = this->QRegExpValidator::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 = QRegExpValidator::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 = QRegExpValidator::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 = QRegExpValidator::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 = QRegExpValidator::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<QRegExpValidator*>(this))) {
            int xret = this->QRegExpValidator::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) {
        // QRegExpValidator* QRegExpValidator(QObject*)
        x_QRegExpValidator* xret = new x_QRegExpValidator((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRegExpValidator(QObject* x1) : QRegExpValidator(x1) {}
    static void x_9(Smoke::Stack x) {
        // QRegExpValidator* QRegExpValidator(const QRegExp&, QObject*)
        x_QRegExpValidator* xret = new x_QRegExpValidator(*(const QRegExp*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRegExpValidator(const QRegExp& x1, QObject* x2) : QRegExpValidator(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // virtual QValidator::State validate(QString&, int&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRegExpValidator*>(this))) {
            QValidator::State xret = ((const x_QRegExpValidator*)this)->QRegExpValidator::validate(*(QString*)x[1].s_class,*(int*)x[2].s_class);
            x[0].s_enum = xret;
        } else {
            QValidator::State xret = ((const x_QRegExpValidator*)this)->validate(*(QString*)x[1].s_class,*(int*)x[2].s_class);
            x[0].s_enum = xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // void setRegExp(const QRegExp&)
        this->QRegExpValidator::setRegExp(*(const QRegExp*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // const QRegExp& regExp() const
        const QRegExp& xret = ((const x_QRegExpValidator*)this)->QRegExpValidator::regExp();
        x[0].s_class = (void*)&xret;
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QRegExpValidator::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QRegExpValidator::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // QRegExpValidator* QRegExpValidator()
        x_QRegExpValidator* xret = new x_QRegExpValidator((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        // QRegExpValidator* QRegExpValidator(const QRegExp&)
        x_QRegExpValidator* xret = new x_QRegExpValidator(*(const QRegExp*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_17(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QRegExpValidator::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10268, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QRegExpValidator::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10269, (void*)this, x)) return (void*)x[0].s_class;
        return this->QRegExpValidator::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(10274, (void*)this, x)) return (int)x[0].s_int;
        return this->QRegExpValidator::qt_metacall(x1, x2, x3);
    }
    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(10277, (void*)this, x)) return (QValidator::State)x[0].s_enum;
        return this->QRegExpValidator::validate(x1, x2);
    }
    virtual void fixup(QString& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(15217, (void*)this, x)) return;
        this->QValidator::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_QRegExpValidator() { this->_binding->deleted(291, (void*)this); }
};
void xcall_QRegExpValidator(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QRegExpValidator *xself = (x_QRegExpValidator*)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_QRegExpValidator::x_3(args);	break;
        case 4: x_QRegExpValidator::x_4(args);	break;
        case 5: x_QRegExpValidator::x_5(args);	break;
        case 6: x_QRegExpValidator::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QRegExpValidator::x_8(args);	break;
        case 9: x_QRegExpValidator::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_QRegExpValidator::x_13(args);	break;
        case 14: x_QRegExpValidator::x_14(args);	break;
        case 15: x_QRegExpValidator::x_15(args);	break;
        case 16: x_QRegExpValidator::x_16(args);	break;
        case 17: x_QRegExpValidator::x_17(args);	break;
        case 18: delete (QRegExpValidator*)xself;	break;
    }
}
class x_QRegion : public QRegion {
    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) {
        // QRegion* QRegion()
        x_QRegion* xret = new x_QRegion();
        x[0].s_class = (void*)xret;
    }
    explicit x_QRegion() : QRegion() {}
    static void x_2(Smoke::Stack x) {
        // QRegion* QRegion(int, int, int, int, QRegion::RegionType)
        x_QRegion* xret = new x_QRegion((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int,(int)x[4].s_int,(QRegion::RegionType)x[5].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRegion(int x1, int x2, int x3, int x4, QRegion::RegionType x5) : QRegion(x1, x2, x3, x4, x5) {}
    static void x_3(Smoke::Stack x) {
        // QRegion* QRegion(const QRect&, QRegion::RegionType)
        x_QRegion* xret = new x_QRegion(*(const QRect*)x[1].s_class,(QRegion::RegionType)x[2].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRegion(const QRect& x1, QRegion::RegionType x2) : QRegion(x1, x2) {}
    static void x_4(Smoke::Stack x) {
        // QRegion* QRegion(const QPolygon&, Qt::FillRule)
        x_QRegion* xret = new x_QRegion(*(const QPolygon*)x[1].s_class,(Qt::FillRule)x[2].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRegion(const QPolygon& x1, Qt::FillRule x2) : QRegion(x1, x2) {}
    static void x_5(Smoke::Stack x) {
        // QRegion* QRegion(const QRegion&)
        x_QRegion* xret = new x_QRegion(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRegion(const QRegion& x1) : QRegion(x1) {}
    static void x_6(Smoke::Stack x) {
        // QRegion* QRegion(const QBitmap&)
        x_QRegion* xret = new x_QRegion(*(const QBitmap*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRegion(const QBitmap& x1) : QRegion(x1) {}
    void x_7(Smoke::Stack x) {
        // QRegion& operator=(const QRegion&)
        QRegion& xret = this->QRegion::operator=(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_8(Smoke::Stack x) {
        // void swap(QRegion&)
        this->QRegion::swap(*(QRegion*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // bool isEmpty() const
        bool xret = ((const x_QRegion*)this)->QRegion::isEmpty();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool contains(const QPoint&) const
        bool xret = ((const x_QRegion*)this)->QRegion::contains(*(const QPoint*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // bool contains(const QRect&) const
        bool xret = ((const x_QRegion*)this)->QRegion::contains(*(const QRect*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // void translate(int, int)
        this->QRegion::translate((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void translate(const QPoint&)
        this->QRegion::translate(*(const QPoint*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QRegion translated(int, int) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::translated((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_15(Smoke::Stack x) {
        // QRegion translated(const QPoint&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::translated(*(const QPoint*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_16(Smoke::Stack x) {
        // QRegion unite(const QRegion&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::unite(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_17(Smoke::Stack x) {
        // QRegion unite(const QRect&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::unite(*(const QRect*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_18(Smoke::Stack x) {
        // QRegion intersect(const QRegion&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::intersect(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_19(Smoke::Stack x) {
        // QRegion intersect(const QRect&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::intersect(*(const QRect*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_20(Smoke::Stack x) {
        // QRegion subtract(const QRegion&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::subtract(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_21(Smoke::Stack x) {
        // QRegion eor(const QRegion&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::eor(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_22(Smoke::Stack x) {
        // QRegion united(const QRegion&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::united(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_23(Smoke::Stack x) {
        // QRegion united(const QRect&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::united(*(const QRect*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_24(Smoke::Stack x) {
        // QRegion intersected(const QRegion&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::intersected(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_25(Smoke::Stack x) {
        // QRegion intersected(const QRect&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::intersected(*(const QRect*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_26(Smoke::Stack x) {
        // QRegion subtracted(const QRegion&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::subtracted(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_27(Smoke::Stack x) {
        // QRegion xored(const QRegion&) const
        QRegion xret = ((const x_QRegion*)this)->QRegion::xored(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new QRegion(xret);
    }
    void x_28(Smoke::Stack x) {
        // bool intersects(const QRegion&) const
        bool xret = ((const x_QRegion*)this)->QRegion::intersects(*(const QRegion*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // bool intersects(const QRect&) const
        bool xret = ((const x_QRegion*)this)->QRegion::intersects(*(const QRect*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_30(Smoke::Stack x) {
        // QRect boundingRect() const
        QRect xret = ((const x_QRegion*)this)->QRegion::boundingRect();
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_31(Smoke::Stack x) {
        // QVector<QRect> rects() const
        QVector<QRect> xret = ((const x_QRegion*)this)->QRegion::rects();
        x[0].s_class = (void*)new QVector<QRect>(xret);
    }
    void x_32(Smoke::Stack x) {
        // void setRects(const QRect*, int)
        this->QRegion::setRects((const QRect*)x[1].s_class,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // int numRects() const
        int xret = ((const x_QRegion*)this)->QRegion::numRects();
        x[0].s_int = xret;
    }
    void x_34(Smoke::Stack x) {
        // int rectCount() const
        int xret = ((const x_QRegion*)this)->QRegion::rectCount();
        x[0].s_int = xret;
    }
    void x_35(Smoke::Stack x) {
        // const QRegion operator|(const QRegion&) const
        const QRegion xret = ((const x_QRegion*)this)->QRegion::operator|(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new const QRegion(xret);
    }
    void x_36(Smoke::Stack x) {
        // const QRegion operator+(const QRegion&) const
        const QRegion xret = ((const x_QRegion*)this)->QRegion::operator+(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new const QRegion(xret);
    }
    void x_37(Smoke::Stack x) {
        // const QRegion operator+(const QRect&) const
        const QRegion xret = ((const x_QRegion*)this)->QRegion::operator+(*(const QRect*)x[1].s_class);
        x[0].s_class = (void*)new const QRegion(xret);
    }
    void x_38(Smoke::Stack x) {
        // const QRegion operator&(const QRegion&) const
        const QRegion xret = ((const x_QRegion*)this)->QRegion::operator&(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new const QRegion(xret);
    }
    void x_39(Smoke::Stack x) {
        // const QRegion operator&(const QRect&) const
        const QRegion xret = ((const x_QRegion*)this)->QRegion::operator&(*(const QRect*)x[1].s_class);
        x[0].s_class = (void*)new const QRegion(xret);
    }
    void x_40(Smoke::Stack x) {
        // const QRegion operator-(const QRegion&) const
        const QRegion xret = ((const x_QRegion*)this)->QRegion::operator-(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new const QRegion(xret);
    }
    void x_41(Smoke::Stack x) {
        // const QRegion operator^(const QRegion&) const
        const QRegion xret = ((const x_QRegion*)this)->QRegion::operator^(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)new const QRegion(xret);
    }
    void x_42(Smoke::Stack x) {
        // QRegion& operator|=(const QRegion&)
        QRegion& xret = this->QRegion::operator|=(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_43(Smoke::Stack x) {
        // QRegion& operator+=(const QRegion&)
        QRegion& xret = this->QRegion::operator+=(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_44(Smoke::Stack x) {
        // QRegion& operator+=(const QRect&)
        QRegion& xret = this->QRegion::operator+=(*(const QRect*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_45(Smoke::Stack x) {
        // QRegion& operator&=(const QRegion&)
        QRegion& xret = this->QRegion::operator&=(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_46(Smoke::Stack x) {
        // QRegion& operator&=(const QRect&)
        QRegion& xret = this->QRegion::operator&=(*(const QRect*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_47(Smoke::Stack x) {
        // QRegion& operator-=(const QRegion&)
        QRegion& xret = this->QRegion::operator-=(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_48(Smoke::Stack x) {
        // QRegion& operator^=(const QRegion&)
        QRegion& xret = this->QRegion::operator^=(*(const QRegion*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_49(Smoke::Stack x) {
        // bool operator==(const QRegion&) const
        bool xret = ((const x_QRegion*)this)->QRegion::operator==(*(const QRegion*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_50(Smoke::Stack x) {
        // bool operator!=(const QRegion&) const
        bool xret = ((const x_QRegion*)this)->QRegion::operator!=(*(const QRegion*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_51(Smoke::Stack x) {
        // QVariant operator QVariant() const
        QVariant xret = ((const x_QRegion*)this)->QRegion::operator QVariant();
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_52(Smoke::Stack x) {
        // _XRegion* handle() const
        _XRegion* xret = ((const x_QRegion*)this)->QRegion::handle();
        x[0].s_class = (void*)xret;
    }
    static void x_53(Smoke::Stack x) {
        // QRegion* QRegion(int, int, int, int)
        x_QRegion* xret = new x_QRegion((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int,(int)x[4].s_int,(QRegion::RegionType)QRegion::Rectangle);
        x[0].s_class = (void*)xret;
    }
    static void x_54(Smoke::Stack x) {
        // QRegion* QRegion(const QRect&)
        x_QRegion* xret = new x_QRegion(*(const QRect*)x[1].s_class,(QRegion::RegionType)QRegion::Rectangle);
        x[0].s_class = (void*)xret;
    }
    static void x_55(Smoke::Stack x) {
        // QRegion* QRegion(const QPolygon&)
        x_QRegion* xret = new x_QRegion(*(const QPolygon*)x[1].s_class,(Qt::FillRule)Qt::OddEvenFill);
        x[0].s_class = (void*)xret;
    }
    static void x_56(Smoke::Stack x) {
        x[0].s_enum = (long)QRegion::Rectangle;
    }
    static void x_57(Smoke::Stack x) {
        x[0].s_enum = (long)QRegion::Ellipse;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 674: //QRegion::RegionType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QRegion::RegionType;
                    break;
                case Smoke::EnumDelete:
                    delete (QRegion::RegionType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QRegion::RegionType*)xdata = (QRegion::RegionType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QRegion::RegionType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QRegion() { this->_binding->deleted(292, (void*)this); }
};
void xenum_QRegion(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QRegion::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QRegion(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QRegion *xself = (x_QRegion*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QRegion::x_1(args);	break;
        case 2: x_QRegion::x_2(args);	break;
        case 3: x_QRegion::x_3(args);	break;
        case 4: x_QRegion::x_4(args);	break;
        case 5: x_QRegion::x_5(args);	break;
        case 6: x_QRegion::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: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: x_QRegion::x_53(args);	break;
        case 54: x_QRegion::x_54(args);	break;
        case 55: x_QRegion::x_55(args);	break;
        case 56: x_QRegion::x_56(args);	break;
        case 57: x_QRegion::x_57(args);	break;
        case 58: delete (QRegion*)xself;	break;
    }
}
class x_QResizeEvent : public QResizeEvent, 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) {
        // QResizeEvent* QResizeEvent(const QSize&, const QSize&)
        x_QResizeEvent* xret = new x_QResizeEvent(*(const QSize*)x[1].s_class,*(const QSize*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QResizeEvent(const QSize& x1, const QSize& x2) : QResizeEvent(x1, x2) {}
    void x_2(Smoke::Stack x) {
        // const QSize& size() const
        const QSize& xret = ((const x_QResizeEvent*)this)->QResizeEvent::size();
        x[0].s_class = (void*)&xret;
    }
    void x_3(Smoke::Stack x) {
        // const QSize& oldSize() const
        const QSize& xret = ((const x_QResizeEvent*)this)->QResizeEvent::oldSize();
        x[0].s_class = (void*)&xret;
    }
    static void x_4(Smoke::Stack x) {
        // QResizeEvent* QResizeEvent(const QResizeEvent&)
        x_QResizeEvent* xret = new x_QResizeEvent(*(const QResizeEvent*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QResizeEvent(const QResizeEvent& x1) : QResizeEvent(x1) {}
    void x_5(Smoke::Stack x) {
        // QSize s
        x[0].s_class = (void*)&this->QResizeEvent::s;
    }
    void x_6(Smoke::Stack x) {
        // QSize s=
        this->QResizeEvent::s = *(const QSize*)x[1].s_class;
    }
    void x_7(Smoke::Stack x) {
        // QSize olds
        x[0].s_class = (void*)&this->QResizeEvent::olds;
    }
    void x_8(Smoke::Stack x) {
        // QSize olds=
        this->QResizeEvent::olds = *(const QSize*)x[1].s_class;
    }
    ~x_QResizeEvent() { this->_binding->deleted(293, (void*)this); }
};
void xcall_QResizeEvent(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QResizeEvent *xself = (x_QResizeEvent*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QResizeEvent::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_QResizeEvent::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: delete (QResizeEvent*)xself;	break;
    }
}
class x_QRubberBand : public QRubberBand, 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<QRubberBand*>(this))) {
            const QMetaObject* xret = ((const x_QRubberBand*)this)->QRubberBand::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QRubberBand*)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<QRubberBand*>(this))) {
            void* xret = this->QRubberBand::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 = QRubberBand::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 = QRubberBand::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 = QRubberBand::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 = QRubberBand::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<QRubberBand*>(this))) {
            int xret = this->QRubberBand::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) {
        // QRubberBand* QRubberBand(QRubberBand::Shape, QWidget*)
        x_QRubberBand* xret = new x_QRubberBand((QRubberBand::Shape)x[1].s_enum,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QRubberBand(QRubberBand::Shape x1, QWidget* x2) : QRubberBand(x1, x2) {}
    void x_9(Smoke::Stack x) {
        // QRubberBand::Shape shape() const
        QRubberBand::Shape xret = ((const x_QRubberBand*)this)->QRubberBand::shape();
        x[0].s_enum = xret;
    }
    void x_10(Smoke::Stack x) {
        // void setGeometry(const QRect&)
        this->QRubberBand::setGeometry(*(const QRect*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void setGeometry(int, int, int, int)
        this->QRubberBand::setGeometry((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int,(int)x[4].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void move(int, int)
        this->QRubberBand::move((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void move(const QPoint&)
        this->QRubberBand::move(*(const QPoint*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void resize(int, int)
        this->QRubberBand::resize((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void resize(const QSize&)
        this->QRubberBand::resize(*(const QSize*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRubberBand*>(this))) {
            bool xret = this->QRubberBand::event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRubberBand*>(this))) {
            this->QRubberBand::paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_18(Smoke::Stack x) {
        // void changeEvent(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRubberBand*>(this))) {
            this->QRubberBand::changeEvent((QEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->changeEvent((QEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_19(Smoke::Stack x) {
        // void showEvent(QShowEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRubberBand*>(this))) {
            this->QRubberBand::showEvent((QShowEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->showEvent((QShowEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_20(Smoke::Stack x) {
        // void resizeEvent(QResizeEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRubberBand*>(this))) {
            this->QRubberBand::resizeEvent((QResizeEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->resizeEvent((QResizeEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_21(Smoke::Stack x) {
        // void moveEvent(QMoveEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QRubberBand*>(this))) {
            this->QRubberBand::moveEvent((QMoveEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->moveEvent((QMoveEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_22(Smoke::Stack x) {
        // void initStyleOption(QStyleOptionRubberBand*) const
        ((const x_QRubberBand*)this)->QRubberBand::initStyleOption((QStyleOptionRubberBand*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_23(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QRubberBand::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_24(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QRubberBand::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_25(Smoke::Stack x) {
        // QRubberBand* QRubberBand(QRubberBand::Shape)
        x_QRubberBand* xret = new x_QRubberBand((QRubberBand::Shape)x[1].s_enum,(QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_26(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QRubberBand::staticMetaObject;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QRubberBand::Line;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QRubberBand::Rectangle;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10353, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QRubberBand::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10354, (void*)this, x)) return (void*)x[0].s_class;
        return this->QRubberBand::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(10359, (void*)this, x)) return (int)x[0].s_int;
        return this->QRubberBand::qt_metacall(x1, x2, x3);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(15532, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(15563, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(15564, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::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(15622, (void*)this, x)) return;
        this->QWidget::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(10369, (void*)this, x)) return;
        this->QRubberBand::paintEvent(x1);
    }
    virtual void moveEvent(QMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10373, (void*)this, x)) return;
        this->QRubberBand::moveEvent(x1);
    }
    virtual void resizeEvent(QResizeEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10372, (void*)this, x)) return;
        this->QRubberBand::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15631, (void*)this, x)) return;
        this->QWidget::closeEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15632, (void*)this, x)) return;
        this->QWidget::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(10371, (void*)this, x)) return;
        this->QRubberBand::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(10370, (void*)this, x)) return;
        this->QRubberBand::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(10368, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QRubberBand::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);
    }
    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 677: //QRubberBand::Shape
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QRubberBand::Shape;
                    break;
                case Smoke::EnumDelete:
                    delete (QRubberBand::Shape*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QRubberBand::Shape*)xdata = (QRubberBand::Shape)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QRubberBand::Shape*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QRubberBand() { this->_binding->deleted(294, (void*)this); }
};
void xenum_QRubberBand(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QRubberBand::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QRubberBand(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QRubberBand *xself = (x_QRubberBand*)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_QRubberBand::x_3(args);	break;
        case 4: x_QRubberBand::x_4(args);	break;
        case 5: x_QRubberBand::x_5(args);	break;
        case 6: x_QRubberBand::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QRubberBand::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: x_QRubberBand::x_23(args);	break;
        case 24: x_QRubberBand::x_24(args);	break;
        case 25: x_QRubberBand::x_25(args);	break;
        case 26: x_QRubberBand::x_26(args);	break;
        case 27: x_QRubberBand::x_27(args);	break;
        case 28: x_QRubberBand::x_28(args);	break;
        case 29: delete (QRubberBand*)xself;	break;
    }
}
class x_QScrollArea : public QScrollArea, 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<QScrollArea*>(this))) {
            const QMetaObject* xret = ((const x_QScrollArea*)this)->QScrollArea::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QScrollArea*)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<QScrollArea*>(this))) {
            void* xret = this->QScrollArea::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 = QScrollArea::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 = QScrollArea::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 = QScrollArea::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 = QScrollArea::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<QScrollArea*>(this))) {
            int xret = this->QScrollArea::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) {
        // QScrollArea* QScrollArea(QWidget*)
        x_QScrollArea* xret = new x_QScrollArea((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScrollArea(QWidget* x1) : QScrollArea(x1) {}
    void x_9(Smoke::Stack x) {
        // QWidget* widget() const
        QWidget* xret = ((const x_QScrollArea*)this)->QScrollArea::widget();
        x[0].s_class = (void*)xret;
    }
    void x_10(Smoke::Stack x) {
        // void setWidget(QWidget*)
        this->QScrollArea::setWidget((QWidget*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // QWidget* takeWidget()
        QWidget* xret = this->QScrollArea::takeWidget();
        x[0].s_class = (void*)xret;
    }
    void x_12(Smoke::Stack x) {
        // bool widgetResizable() const
        bool xret = ((const x_QScrollArea*)this)->QScrollArea::widgetResizable();
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setWidgetResizable(bool)
        this->QScrollArea::setWidgetResizable((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollArea*>(this))) {
            QSize xret = ((const x_QScrollArea*)this)->QScrollArea::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QScrollArea*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // bool focusNextPrevChild(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollArea*>(this))) {
            bool xret = this->QScrollArea::focusNextPrevChild((bool)x[1].s_bool);
            x[0].s_bool = xret;
        } else {
            bool xret = this->focusNextPrevChild((bool)x[1].s_bool);
            x[0].s_bool = xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // QFlags<Qt::AlignmentFlag> alignment() const
        QFlags<Qt::AlignmentFlag> xret = ((const x_QScrollArea*)this)->QScrollArea::alignment();
        x[0].s_uint = (uint)xret;
    }
    void x_17(Smoke::Stack x) {
        // void setAlignment(QFlags<Qt::AlignmentFlag>)
        this->QScrollArea::setAlignment((QFlags<Qt::AlignmentFlag>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void ensureVisible(int, int, int, int)
        this->QScrollArea::ensureVisible((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int,(int)x[4].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void ensureWidgetVisible(QWidget*, int, int)
        this->QScrollArea::ensureWidgetVisible((QWidget*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollArea*>(this))) {
            bool xret = this->QScrollArea::event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_21(Smoke::Stack x) {
        // bool eventFilter(QObject*, QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollArea*>(this))) {
            bool xret = this->QScrollArea::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_22(Smoke::Stack x) {
        // void resizeEvent(QResizeEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollArea*>(this))) {
            this->QScrollArea::resizeEvent((QResizeEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->resizeEvent((QResizeEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_23(Smoke::Stack x) {
        // void scrollContentsBy(int, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollArea*>(this))) {
            this->QScrollArea::scrollContentsBy((int)x[1].s_int,(int)x[2].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->scrollContentsBy((int)x[1].s_int,(int)x[2].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_24(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QScrollArea::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 = QScrollArea::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) {
        // QScrollArea* QScrollArea()
        x_QScrollArea* xret = new x_QScrollArea((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    void x_27(Smoke::Stack x) {
        // void ensureVisible(int, int)
        this->QScrollArea::ensureVisible((int)x[1].s_int,(int)x[2].s_int,(int)50,(int)50);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // void ensureVisible(int, int, int)
        this->QScrollArea::ensureVisible((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int,(int)50);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // void ensureWidgetVisible(QWidget*)
        this->QScrollArea::ensureWidgetVisible((QWidget*)x[1].s_class,(int)50,(int)50);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // void ensureWidgetVisible(QWidget*, int)
        this->QScrollArea::ensureWidgetVisible((QWidget*)x[1].s_class,(int)x[2].s_int,(int)50);
        (void)x; // noop (for compiler warning)
    }
    static void x_31(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QScrollArea::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10382, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QScrollArea::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10383, (void*)this, x)) return (void*)x[0].s_class;
        return this->QScrollArea::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(10388, (void*)this, x)) return (int)x[0].s_int;
        return this->QScrollArea::qt_metacall(x1, x2, x3);
    }
    virtual bool viewportEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(445, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractScrollArea::viewportEvent(x1);
    }
    virtual void scrollContentsBy(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(10404, (void*)this, x)) return;
        this->QScrollArea::scrollContentsBy(x1, x2);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(15532, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10395, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QScrollArea::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(439, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractScrollArea::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(448, (void*)this, x)) return;
        this->QAbstractScrollArea::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(449, (void*)this, x)) return;
        this->QAbstractScrollArea::mouseReleaseEvent(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(450, (void*)this, x)) return;
        this->QAbstractScrollArea::mouseDoubleClickEvent(x1);
    }
    virtual void mouseMoveEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(451, (void*)this, x)) return;
        this->QAbstractScrollArea::mouseMoveEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(452, (void*)this, x)) return;
        this->QAbstractScrollArea::wheelEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(458, (void*)this, x)) return;
        this->QAbstractScrollArea::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(447, (void*)this, x)) return;
        this->QAbstractScrollArea::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(10403, (void*)this, x)) return;
        this->QScrollArea::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15631, (void*)this, x)) return;
        this->QWidget::closeEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(453, (void*)this, x)) return;
        this->QAbstractScrollArea::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(454, (void*)this, x)) return;
        this->QAbstractScrollArea::dragEnterEvent(x1);
    }
    virtual void dragMoveEvent(QDragMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(455, (void*)this, x)) return;
        this->QAbstractScrollArea::dragMoveEvent(x1);
    }
    virtual void dragLeaveEvent(QDragLeaveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(456, (void*)this, x)) return;
        this->QAbstractScrollArea::dragLeaveEvent(x1);
    }
    virtual void dropEvent(QDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(457, (void*)this, x)) return;
        this->QAbstractScrollArea::dropEvent(x1);
    }
    virtual void showEvent(QShowEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15639, (void*)this, x)) return;
        this->QWidget::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(3700, (void*)this, x)) return;
        this->QFrame::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(10396, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QScrollArea::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(10401, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QScrollArea::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(10402, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QScrollArea::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);
    }
    ~x_QScrollArea() { this->_binding->deleted(295, (void*)this); }
};
void xcall_QScrollArea(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScrollArea *xself = (x_QScrollArea*)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_QScrollArea::x_3(args);	break;
        case 4: x_QScrollArea::x_4(args);	break;
        case 5: x_QScrollArea::x_5(args);	break;
        case 6: x_QScrollArea::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QScrollArea::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_QScrollArea::x_24(args);	break;
        case 25: x_QScrollArea::x_25(args);	break;
        case 26: x_QScrollArea::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: x_QScrollArea::x_31(args);	break;
        case 32: delete (QScrollArea*)xself;	break;
    }
}
class x_QScrollBar : public QScrollBar, 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<QScrollBar*>(this))) {
            const QMetaObject* xret = ((const x_QScrollBar*)this)->QScrollBar::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QScrollBar*)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<QScrollBar*>(this))) {
            void* xret = this->QScrollBar::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 = QScrollBar::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 = QScrollBar::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 = QScrollBar::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 = QScrollBar::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<QScrollBar*>(this))) {
            int xret = this->QScrollBar::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) {
        // QScrollBar* QScrollBar(QWidget*)
        x_QScrollBar* xret = new x_QScrollBar((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScrollBar(QWidget* x1) : QScrollBar(x1) {}
    static void x_9(Smoke::Stack x) {
        // QScrollBar* QScrollBar(Qt::Orientation, QWidget*)
        x_QScrollBar* xret = new x_QScrollBar((Qt::Orientation)x[1].s_enum,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScrollBar(Qt::Orientation x1, QWidget* x2) : QScrollBar(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollBar*>(this))) {
            QSize xret = ((const x_QScrollBar*)this)->QScrollBar::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QScrollBar*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_11(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollBar*>(this))) {
            bool xret = this->QScrollBar::event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollBar*>(this))) {
            this->QScrollBar::paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // void mousePressEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollBar*>(this))) {
            this->QScrollBar::mousePressEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mousePressEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_14(Smoke::Stack x) {
        // void mouseReleaseEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollBar*>(this))) {
            this->QScrollBar::mouseReleaseEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mouseReleaseEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_15(Smoke::Stack x) {
        // void mouseMoveEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollBar*>(this))) {
            this->QScrollBar::mouseMoveEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mouseMoveEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // void hideEvent(QHideEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollBar*>(this))) {
            this->QScrollBar::hideEvent((QHideEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->hideEvent((QHideEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_17(Smoke::Stack x) {
        // void sliderChange(QAbstractSlider::SliderChange)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollBar*>(this))) {
            this->QScrollBar::sliderChange((QAbstractSlider::SliderChange)x[1].s_enum);
            (void)x; // noop (for compiler warning)
        } else {
            this->sliderChange((QAbstractSlider::SliderChange)x[1].s_enum);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_18(Smoke::Stack x) {
        // void contextMenuEvent(QContextMenuEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScrollBar*>(this))) {
            this->QScrollBar::contextMenuEvent((QContextMenuEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->contextMenuEvent((QContextMenuEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_19(Smoke::Stack x) {
        // void initStyleOption(QStyleOptionSlider*) const
        ((const x_QScrollBar*)this)->QScrollBar::initStyleOption((QStyleOptionSlider*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_20(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QScrollBar::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_21(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QScrollBar::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_22(Smoke::Stack x) {
        // QScrollBar* QScrollBar()
        x_QScrollBar* xret = new x_QScrollBar((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_23(Smoke::Stack x) {
        // QScrollBar* QScrollBar(Qt::Orientation)
        x_QScrollBar* xret = new x_QScrollBar((Qt::Orientation)x[1].s_enum,(QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_24(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QScrollBar::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10414, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QScrollBar::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10415, (void*)this, x)) return (void*)x[0].s_class;
        return this->QScrollBar::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(10420, (void*)this, x)) return (int)x[0].s_int;
        return this->QScrollBar::qt_metacall(x1, x2, x3);
    }
    virtual void sliderChange(QAbstractSlider::SliderChange x1) {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(10430, (void*)this, x)) return;
        this->QScrollBar::sliderChange(x1);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(15532, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10423, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QScrollBar::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(15564, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::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(10426, (void*)this, x)) return;
        this->QScrollBar::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10427, (void*)this, x)) return;
        this->QScrollBar::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(10428, (void*)this, x)) return;
        this->QScrollBar::mouseMoveEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(509, (void*)this, x)) return;
        this->QAbstractSlider::wheelEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(507, (void*)this, x)) return;
        this->QAbstractSlider::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(10425, (void*)this, x)) return;
        this->QScrollBar::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(15630, (void*)this, x)) return;
        this->QWidget::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15631, (void*)this, x)) return;
        this->QWidget::closeEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10431, (void*)this, x)) return;
        this->QScrollBar::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(15639, (void*)this, x)) return;
        this->QWidget::showEvent(x1);
    }
    virtual void hideEvent(QHideEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10429, (void*)this, x)) return;
        this->QScrollBar::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(510, (void*)this, x)) return;
        this->QAbstractSlider::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(10424, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QScrollBar::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(508, (void*)this, x)) return;
        this->QAbstractSlider::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);
    }
    ~x_QScrollBar() { this->_binding->deleted(296, (void*)this); }
};
void xcall_QScrollBar(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScrollBar *xself = (x_QScrollBar*)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_QScrollBar::x_3(args);	break;
        case 4: x_QScrollBar::x_4(args);	break;
        case 5: x_QScrollBar::x_5(args);	break;
        case 6: x_QScrollBar::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QScrollBar::x_8(args);	break;
        case 9: x_QScrollBar::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: x_QScrollBar::x_20(args);	break;
        case 21: x_QScrollBar::x_21(args);	break;
        case 22: x_QScrollBar::x_22(args);	break;
        case 23: x_QScrollBar::x_23(args);	break;
        case 24: x_QScrollBar::x_24(args);	break;
        case 25: delete (QScrollBar*)xself;	break;
    }
}
class x_QSessionManager : public QSessionManager {
public:
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        const QMetaObject* xret = ((const x_QSessionManager*)this)->QSessionManager::metaObject();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        void* xret = this->QSessionManager::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 = QSessionManager::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 = QSessionManager::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 = QSessionManager::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 = QSessionManager::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**)
        int xret = this->QSessionManager::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // QString sessionId() const
        QString xret = ((const x_QSessionManager*)this)->QSessionManager::sessionId();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_9(Smoke::Stack x) {
        // QString sessionKey() const
        QString xret = ((const x_QSessionManager*)this)->QSessionManager::sessionKey();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_10(Smoke::Stack x) {
        // void* handle() const
        void* xret = ((const x_QSessionManager*)this)->QSessionManager::handle();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // bool allowsInteraction()
        bool xret = this->QSessionManager::allowsInteraction();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // bool allowsErrorInteraction()
        bool xret = this->QSessionManager::allowsErrorInteraction();
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // void release()
        this->QSessionManager::release();
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void cancel()
        this->QSessionManager::cancel();
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void setRestartHint(QSessionManager::RestartHint)
        this->QSessionManager::setRestartHint((QSessionManager::RestartHint)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // QSessionManager::RestartHint restartHint() const
        QSessionManager::RestartHint xret = ((const x_QSessionManager*)this)->QSessionManager::restartHint();
        x[0].s_enum = xret;
    }
    void x_17(Smoke::Stack x) {
        // void setRestartCommand(const QStringList&)
        this->QSessionManager::setRestartCommand(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // QStringList restartCommand() const
        QStringList xret = ((const x_QSessionManager*)this)->QSessionManager::restartCommand();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_19(Smoke::Stack x) {
        // void setDiscardCommand(const QStringList&)
        this->QSessionManager::setDiscardCommand(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // QStringList discardCommand() const
        QStringList xret = ((const x_QSessionManager*)this)->QSessionManager::discardCommand();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_21(Smoke::Stack x) {
        // void setManagerProperty(const QString&, const QString&)
        this->QSessionManager::setManagerProperty(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void setManagerProperty(const QString&, const QStringList&)
        this->QSessionManager::setManagerProperty(*(const QString*)x[1].s_class,*(const QStringList*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // bool isPhase2() const
        bool xret = ((const x_QSessionManager*)this)->QSessionManager::isPhase2();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // void requestPhase2()
        this->QSessionManager::requestPhase2();
        (void)x; // noop (for compiler warning)
    }
    static void x_25(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QSessionManager::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QSessionManager::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_27(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSessionManager::staticMetaObject;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QSessionManager::RestartIfRunning;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QSessionManager::RestartAnyway;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QSessionManager::RestartImmediately;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QSessionManager::RestartNever;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 682: //QSessionManager::RestartHint
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QSessionManager::RestartHint;
                    break;
                case Smoke::EnumDelete:
                    delete (QSessionManager::RestartHint*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QSessionManager::RestartHint*)xdata = (QSessionManager::RestartHint)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QSessionManager::RestartHint*)xdata;
                    break;
            }
            break;
        }
    }
};
void xenum_QSessionManager(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QSessionManager::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QSessionManager(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSessionManager *xself = (x_QSessionManager*)obj;
    switch(xi) {
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QSessionManager::x_3(args);	break;
        case 4: x_QSessionManager::x_4(args);	break;
        case 5: x_QSessionManager::x_5(args);	break;
        case 6: x_QSessionManager::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: x_QSessionManager::x_25(args);	break;
        case 26: x_QSessionManager::x_26(args);	break;
        case 27: x_QSessionManager::x_27(args);	break;
        case 28: x_QSessionManager::x_28(args);	break;
        case 29: x_QSessionManager::x_29(args);	break;
        case 30: x_QSessionManager::x_30(args);	break;
        case 31: x_QSessionManager::x_31(args);	break;
    }
}
class x_QShortcut : public QShortcut, 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<QShortcut*>(this))) {
            const QMetaObject* xret = ((const x_QShortcut*)this)->QShortcut::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QShortcut*)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<QShortcut*>(this))) {
            void* xret = this->QShortcut::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 = QShortcut::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 = QShortcut::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 = QShortcut::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 = QShortcut::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<QShortcut*>(this))) {
            int xret = this->QShortcut::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) {
        // QShortcut* QShortcut(QWidget*)
        x_QShortcut* xret = new x_QShortcut((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QShortcut(QWidget* x1) : QShortcut(x1) {}
    static void x_9(Smoke::Stack x) {
        // QShortcut* QShortcut(const QKeySequence&, QWidget*, const char*, const char*, Qt::ShortcutContext)
        x_QShortcut* xret = new x_QShortcut(*(const QKeySequence*)x[1].s_class,(QWidget*)x[2].s_class,(const char*)x[3].s_class,(const char*)x[4].s_class,(Qt::ShortcutContext)x[5].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QShortcut(const QKeySequence& x1, QWidget* x2, const char* x3, const char* x4, Qt::ShortcutContext x5) : QShortcut(x1, x2, x3, x4, x5) {}
    void x_10(Smoke::Stack x) {
        // void setKey(const QKeySequence&)
        this->QShortcut::setKey(*(const QKeySequence*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // QKeySequence key() const
        QKeySequence xret = ((const x_QShortcut*)this)->QShortcut::key();
        x[0].s_class = (void*)new QKeySequence(xret);
    }
    void x_12(Smoke::Stack x) {
        // void setEnabled(bool)
        this->QShortcut::setEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // bool isEnabled() const
        bool xret = ((const x_QShortcut*)this)->QShortcut::isEnabled();
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // void setContext(Qt::ShortcutContext)
        this->QShortcut::setContext((Qt::ShortcutContext)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // Qt::ShortcutContext context()
        Qt::ShortcutContext xret = this->QShortcut::context();
        x[0].s_enum = xret;
    }
    void x_16(Smoke::Stack x) {
        // void setWhatsThis(const QString&)
        this->QShortcut::setWhatsThis(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // QString whatsThis() const
        QString xret = ((const x_QShortcut*)this)->QShortcut::whatsThis();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_18(Smoke::Stack x) {
        // void setAutoRepeat(bool)
        this->QShortcut::setAutoRepeat((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // bool autoRepeat() const
        bool xret = ((const x_QShortcut*)this)->QShortcut::autoRepeat();
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // int id() const
        int xret = ((const x_QShortcut*)this)->QShortcut::id();
        x[0].s_int = xret;
    }
    void x_21(Smoke::Stack x) {
        // QWidget* parentWidget() const
        QWidget* xret = ((const x_QShortcut*)this)->QShortcut::parentWidget();
        x[0].s_class = (void*)xret;
    }
    void x_22(Smoke::Stack x) {
        // void activated()
        this->QShortcut::activated();
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void activatedAmbiguously()
        this->QShortcut::activatedAmbiguously();
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QShortcut*>(this))) {
            bool xret = this->QShortcut::event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_25(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QShortcut::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QShortcut::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_27(Smoke::Stack x) {
        // QShortcut* QShortcut(const QKeySequence&, QWidget*)
        x_QShortcut* xret = new x_QShortcut(*(const QKeySequence*)x[1].s_class,(QWidget*)x[2].s_class,(const char*)0,(const char*)0,(Qt::ShortcutContext)Qt::WindowShortcut);
        x[0].s_class = (void*)xret;
    }
    static void x_28(Smoke::Stack x) {
        // QShortcut* QShortcut(const QKeySequence&, QWidget*, const char*)
        x_QShortcut* xret = new x_QShortcut(*(const QKeySequence*)x[1].s_class,(QWidget*)x[2].s_class,(const char*)x[3].s_class,(const char*)0,(Qt::ShortcutContext)Qt::WindowShortcut);
        x[0].s_class = (void*)xret;
    }
    static void x_29(Smoke::Stack x) {
        // QShortcut* QShortcut(const QKeySequence&, QWidget*, const char*, const char*)
        x_QShortcut* xret = new x_QShortcut(*(const QKeySequence*)x[1].s_class,(QWidget*)x[2].s_class,(const char*)x[3].s_class,(const char*)x[4].s_class,(Qt::ShortcutContext)Qt::WindowShortcut);
        x[0].s_class = (void*)xret;
    }
    static void x_30(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QShortcut::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10470, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QShortcut::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10471, (void*)this, x)) return (void*)x[0].s_class;
        return this->QShortcut::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(10476, (void*)this, x)) return (int)x[0].s_int;
        return this->QShortcut::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10493, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QShortcut::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_QShortcut() { this->_binding->deleted(298, (void*)this); }
};
void xcall_QShortcut(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QShortcut *xself = (x_QShortcut*)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_QShortcut::x_3(args);	break;
        case 4: x_QShortcut::x_4(args);	break;
        case 5: x_QShortcut::x_5(args);	break;
        case 6: x_QShortcut::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QShortcut::x_8(args);	break;
        case 9: x_QShortcut::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: x_QShortcut::x_25(args);	break;
        case 26: x_QShortcut::x_26(args);	break;
        case 27: x_QShortcut::x_27(args);	break;
        case 28: x_QShortcut::x_28(args);	break;
        case 29: x_QShortcut::x_29(args);	break;
        case 30: x_QShortcut::x_30(args);	break;
        case 31: delete (QShortcut*)xself;	break;
    }
}
class x_QShortcutEvent : public QShortcutEvent, 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) {
        // QShortcutEvent* QShortcutEvent(const QKeySequence&, int, bool)
        x_QShortcutEvent* xret = new x_QShortcutEvent(*(const QKeySequence*)x[1].s_class,(int)x[2].s_int,(bool)x[3].s_bool);
        x[0].s_class = (void*)xret;
    }
    explicit x_QShortcutEvent(const QKeySequence& x1, int x2, bool x3) : QShortcutEvent(x1, x2, x3) {}
    void x_2(Smoke::Stack x) {
        // const QKeySequence& key()
        const QKeySequence& xret = this->QShortcutEvent::key();
        x[0].s_class = (void*)&xret;
    }
    void x_3(Smoke::Stack x) {
        // const QKeySequence& key() const
        const QKeySequence& xret = ((const x_QShortcutEvent*)this)->QShortcutEvent::key();
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // int shortcutId()
        int xret = this->QShortcutEvent::shortcutId();
        x[0].s_int = xret;
    }
    void x_5(Smoke::Stack x) {
        // int shortcutId() const
        int xret = ((const x_QShortcutEvent*)this)->QShortcutEvent::shortcutId();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // bool isAmbiguous()
        bool xret = this->QShortcutEvent::isAmbiguous();
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // bool isAmbiguous() const
        bool xret = ((const x_QShortcutEvent*)this)->QShortcutEvent::isAmbiguous();
        x[0].s_bool = xret;
    }
    static void x_8(Smoke::Stack x) {
        // QShortcutEvent* QShortcutEvent(const QShortcutEvent&)
        x_QShortcutEvent* xret = new x_QShortcutEvent(*(const QShortcutEvent*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QShortcutEvent(const QShortcutEvent& x1) : QShortcutEvent(x1) {}
    static void x_9(Smoke::Stack x) {
        // QShortcutEvent* QShortcutEvent(const QKeySequence&, int)
        x_QShortcutEvent* xret = new x_QShortcutEvent(*(const QKeySequence*)x[1].s_class,(int)x[2].s_int,(bool)false);
        x[0].s_class = (void*)xret;
    }
    void x_10(Smoke::Stack x) {
        // QKeySequence sequence
        x[0].s_class = (void*)&this->QShortcutEvent::sequence;
    }
    void x_11(Smoke::Stack x) {
        // QKeySequence sequence=
        this->QShortcutEvent::sequence = *(const QKeySequence*)x[1].s_class;
    }
    void x_12(Smoke::Stack x) {
        // bool ambig
        x[0].s_bool = this->QShortcutEvent::ambig;
    }
    void x_13(Smoke::Stack x) {
        // bool ambig=
        this->QShortcutEvent::ambig = (bool)x[1].s_bool;
    }
    void x_14(Smoke::Stack x) {
        // int sid
        x[0].s_int = this->QShortcutEvent::sid;
    }
    void x_15(Smoke::Stack x) {
        // int sid=
        this->QShortcutEvent::sid = (int)x[1].s_int;
    }
    ~x_QShortcutEvent() { this->_binding->deleted(299, (void*)this); }
};
void xcall_QShortcutEvent(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QShortcutEvent *xself = (x_QShortcutEvent*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QShortcutEvent::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_QShortcutEvent::x_8(args);	break;
        case 9: x_QShortcutEvent::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: delete (QShortcutEvent*)xself;	break;
    }
}
class x_QShowEvent : public QShowEvent, 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) {
        // QShowEvent* QShowEvent()
        x_QShowEvent* xret = new x_QShowEvent();
        x[0].s_class = (void*)xret;
    }
    explicit x_QShowEvent() : QShowEvent() {}
    static void x_2(Smoke::Stack x) {
        // QShowEvent* QShowEvent(const QShowEvent&)
        x_QShowEvent* xret = new x_QShowEvent(*(const QShowEvent*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QShowEvent(const QShowEvent& x1) : QShowEvent(x1) {}
    ~x_QShowEvent() { this->_binding->deleted(300, (void*)this); }
};
void xcall_QShowEvent(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QShowEvent *xself = (x_QShowEvent*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QShowEvent::x_1(args);	break;
        case 2: x_QShowEvent::x_2(args);	break;
        case 3: delete (QShowEvent*)xself;	break;
    }
}
class x_QSizeGrip : public QSizeGrip, 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<QSizeGrip*>(this))) {
            const QMetaObject* xret = ((const x_QSizeGrip*)this)->QSizeGrip::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QSizeGrip*)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<QSizeGrip*>(this))) {
            void* xret = this->QSizeGrip::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 = QSizeGrip::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 = QSizeGrip::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 = QSizeGrip::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 = QSizeGrip::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<QSizeGrip*>(this))) {
            int xret = this->QSizeGrip::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) {
        // QSizeGrip* QSizeGrip(QWidget*)
        x_QSizeGrip* xret = new x_QSizeGrip((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSizeGrip(QWidget* x1) : QSizeGrip(x1) {}
    void x_9(Smoke::Stack x) {
        // QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSizeGrip*>(this))) {
            QSize xret = ((const x_QSizeGrip*)this)->QSizeGrip::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QSizeGrip*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_10(Smoke::Stack x) {
        // void setVisible(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSizeGrip*>(this))) {
            this->QSizeGrip::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)
        }
    }
    void x_11(Smoke::Stack x) {
        // void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSizeGrip*>(this))) {
            this->QSizeGrip::paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // void mousePressEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSizeGrip*>(this))) {
            this->QSizeGrip::mousePressEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mousePressEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // void mouseMoveEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSizeGrip*>(this))) {
            this->QSizeGrip::mouseMoveEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mouseMoveEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_14(Smoke::Stack x) {
        // void mouseReleaseEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSizeGrip*>(this))) {
            this->QSizeGrip::mouseReleaseEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mouseReleaseEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_15(Smoke::Stack x) {
        // void moveEvent(QMoveEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSizeGrip*>(this))) {
            this->QSizeGrip::moveEvent((QMoveEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->moveEvent((QMoveEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // void showEvent(QShowEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSizeGrip*>(this))) {
            this->QSizeGrip::showEvent((QShowEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->showEvent((QShowEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_17(Smoke::Stack x) {
        // void hideEvent(QHideEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSizeGrip*>(this))) {
            this->QSizeGrip::hideEvent((QHideEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->hideEvent((QHideEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_18(Smoke::Stack x) {
        // bool eventFilter(QObject*, QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSizeGrip*>(this))) {
            bool xret = this->QSizeGrip::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_19(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSizeGrip*>(this))) {
            bool xret = this->QSizeGrip::event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_20(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QSizeGrip::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_21(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QSizeGrip::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_22(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSizeGrip::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10520, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QSizeGrip::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10521, (void*)this, x)) return (void*)x[0].s_class;
        return this->QSizeGrip::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(10526, (void*)this, x)) return (int)x[0].s_int;
        return this->QSizeGrip::qt_metacall(x1, x2, x3);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(10529, (void*)this, x)) return;
        this->QSizeGrip::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10528, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSizeGrip::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(15564, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::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(10531, (void*)this, x)) return;
        this->QSizeGrip::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10533, (void*)this, x)) return;
        this->QSizeGrip::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(10532, (void*)this, x)) return;
        this->QSizeGrip::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(15622, (void*)this, x)) return;
        this->QWidget::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(10530, (void*)this, x)) return;
        this->QSizeGrip::paintEvent(x1);
    }
    virtual void moveEvent(QMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10534, (void*)this, x)) return;
        this->QSizeGrip::moveEvent(x1);
    }
    virtual void resizeEvent(QResizeEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15630, (void*)this, x)) return;
        this->QWidget::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15631, (void*)this, x)) return;
        this->QWidget::closeEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15632, (void*)this, x)) return;
        this->QWidget::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(10535, (void*)this, x)) return;
        this->QSizeGrip::showEvent(x1);
    }
    virtual void hideEvent(QHideEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10536, (void*)this, x)) return;
        this->QSizeGrip::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(10538, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSizeGrip::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(10537, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSizeGrip::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);
    }
    ~x_QSizeGrip() { this->_binding->deleted(303, (void*)this); }
};
void xcall_QSizeGrip(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSizeGrip *xself = (x_QSizeGrip*)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_QSizeGrip::x_3(args);	break;
        case 4: x_QSizeGrip::x_4(args);	break;
        case 5: x_QSizeGrip::x_5(args);	break;
        case 6: x_QSizeGrip::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QSizeGrip::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: x_QSizeGrip::x_20(args);	break;
        case 21: x_QSizeGrip::x_21(args);	break;
        case 22: x_QSizeGrip::x_22(args);	break;
        case 23: delete (QSizeGrip*)xself;	break;
    }
}
class x_QSizePolicy : public QSizePolicy {
    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) {
        // QSizePolicy* QSizePolicy()
        x_QSizePolicy* xret = new x_QSizePolicy();
        x[0].s_class = (void*)xret;
    }
    explicit x_QSizePolicy() : QSizePolicy() {}
    static void x_2(Smoke::Stack x) {
        // QSizePolicy* QSizePolicy(QSizePolicy::Policy, QSizePolicy::Policy)
        x_QSizePolicy* xret = new x_QSizePolicy((QSizePolicy::Policy)x[1].s_enum,(QSizePolicy::Policy)x[2].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSizePolicy(QSizePolicy::Policy x1, QSizePolicy::Policy x2) : QSizePolicy(x1, x2) {}
    static void x_3(Smoke::Stack x) {
        // QSizePolicy* QSizePolicy(QSizePolicy::Policy, QSizePolicy::Policy, QSizePolicy::ControlType)
        x_QSizePolicy* xret = new x_QSizePolicy((QSizePolicy::Policy)x[1].s_enum,(QSizePolicy::Policy)x[2].s_enum,(QSizePolicy::ControlType)x[3].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSizePolicy(QSizePolicy::Policy x1, QSizePolicy::Policy x2, QSizePolicy::ControlType x3) : QSizePolicy(x1, x2, x3) {}
    void x_4(Smoke::Stack x) {
        // QSizePolicy::Policy horizontalPolicy() const
        QSizePolicy::Policy xret = ((const x_QSizePolicy*)this)->QSizePolicy::horizontalPolicy();
        x[0].s_enum = xret;
    }
    void x_5(Smoke::Stack x) {
        // QSizePolicy::Policy verticalPolicy() const
        QSizePolicy::Policy xret = ((const x_QSizePolicy*)this)->QSizePolicy::verticalPolicy();
        x[0].s_enum = xret;
    }
    void x_6(Smoke::Stack x) {
        // QSizePolicy::ControlType controlType() const
        QSizePolicy::ControlType xret = ((const x_QSizePolicy*)this)->QSizePolicy::controlType();
        x[0].s_enum = xret;
    }
    void x_7(Smoke::Stack x) {
        // void setHorizontalPolicy(QSizePolicy::Policy)
        this->QSizePolicy::setHorizontalPolicy((QSizePolicy::Policy)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // void setVerticalPolicy(QSizePolicy::Policy)
        this->QSizePolicy::setVerticalPolicy((QSizePolicy::Policy)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // void setControlType(QSizePolicy::ControlType)
        this->QSizePolicy::setControlType((QSizePolicy::ControlType)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // QFlags<Qt::Orientation> expandingDirections() const
        QFlags<Qt::Orientation> xret = ((const x_QSizePolicy*)this)->QSizePolicy::expandingDirections();
        x[0].s_uint = (uint)xret;
    }
    void x_11(Smoke::Stack x) {
        // void setHeightForWidth(bool)
        this->QSizePolicy::setHeightForWidth((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // bool hasHeightForWidth() const
        bool xret = ((const x_QSizePolicy*)this)->QSizePolicy::hasHeightForWidth();
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setWidthForHeight(bool)
        this->QSizePolicy::setWidthForHeight((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool hasWidthForHeight() const
        bool xret = ((const x_QSizePolicy*)this)->QSizePolicy::hasWidthForHeight();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // bool operator==(const QSizePolicy&) const
        bool xret = ((const x_QSizePolicy*)this)->QSizePolicy::operator==(*(const QSizePolicy*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool operator!=(const QSizePolicy&) const
        bool xret = ((const x_QSizePolicy*)this)->QSizePolicy::operator!=(*(const QSizePolicy*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // QVariant operator QVariant() const
        QVariant xret = ((const x_QSizePolicy*)this)->QSizePolicy::operator QVariant();
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_18(Smoke::Stack x) {
        // int horizontalStretch() const
        int xret = ((const x_QSizePolicy*)this)->QSizePolicy::horizontalStretch();
        x[0].s_int = xret;
    }
    void x_19(Smoke::Stack x) {
        // int verticalStretch() const
        int xret = ((const x_QSizePolicy*)this)->QSizePolicy::verticalStretch();
        x[0].s_int = xret;
    }
    void x_20(Smoke::Stack x) {
        // void setHorizontalStretch(unsigned char)
        this->QSizePolicy::setHorizontalStretch((unsigned char)x[1].s_uchar);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void setVerticalStretch(unsigned char)
        this->QSizePolicy::setVerticalStretch((unsigned char)x[1].s_uchar);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void transpose()
        this->QSizePolicy::transpose();
        (void)x; // noop (for compiler warning)
    }
    static void x_23(Smoke::Stack x) {
        // QSizePolicy* QSizePolicy(const QSizePolicy&)
        x_QSizePolicy* xret = new x_QSizePolicy(*(const QSizePolicy*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSizePolicy(const QSizePolicy& x1) : QSizePolicy(x1) {}
    static void x_24(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSizePolicy::staticMetaObject;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::GrowFlag;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::ExpandFlag;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::ShrinkFlag;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::IgnoreFlag;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::Fixed;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::Minimum;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::Maximum;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::Preferred;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::MinimumExpanding;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::Expanding;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::Ignored;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::DefaultType;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::ButtonBox;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::CheckBox;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::ComboBox;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::Frame;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::GroupBox;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::Label;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::Line;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::LineEdit;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::PushButton;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::RadioButton;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::Slider;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::SpinBox;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::TabWidget;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QSizePolicy::ToolButton;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 696: //QSizePolicy::PolicyFlag
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QSizePolicy::PolicyFlag;
                    break;
                case Smoke::EnumDelete:
                    delete (QSizePolicy::PolicyFlag*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QSizePolicy::PolicyFlag*)xdata = (QSizePolicy::PolicyFlag)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QSizePolicy::PolicyFlag*)xdata;
                    break;
            }
            break;
        case 695: //QSizePolicy::Policy
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QSizePolicy::Policy;
                    break;
                case Smoke::EnumDelete:
                    delete (QSizePolicy::Policy*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QSizePolicy::Policy*)xdata = (QSizePolicy::Policy)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QSizePolicy::Policy*)xdata;
                    break;
            }
            break;
        case 694: //QSizePolicy::ControlType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QSizePolicy::ControlType;
                    break;
                case Smoke::EnumDelete:
                    delete (QSizePolicy::ControlType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QSizePolicy::ControlType*)xdata = (QSizePolicy::ControlType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QSizePolicy::ControlType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QSizePolicy() { this->_binding->deleted(304, (void*)this); }
};
void xenum_QSizePolicy(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QSizePolicy::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QSizePolicy(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSizePolicy *xself = (x_QSizePolicy*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QSizePolicy::x_1(args);	break;
        case 2: x_QSizePolicy::x_2(args);	break;
        case 3: x_QSizePolicy::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: x_QSizePolicy::x_23(args);	break;
        case 24: x_QSizePolicy::x_24(args);	break;
        case 25: x_QSizePolicy::x_25(args);	break;
        case 26: x_QSizePolicy::x_26(args);	break;
        case 27: x_QSizePolicy::x_27(args);	break;
        case 28: x_QSizePolicy::x_28(args);	break;
        case 29: x_QSizePolicy::x_29(args);	break;
        case 30: x_QSizePolicy::x_30(args);	break;
        case 31: x_QSizePolicy::x_31(args);	break;
        case 32: x_QSizePolicy::x_32(args);	break;
        case 33: x_QSizePolicy::x_33(args);	break;
        case 34: x_QSizePolicy::x_34(args);	break;
        case 35: x_QSizePolicy::x_35(args);	break;
        case 36: x_QSizePolicy::x_36(args);	break;
        case 37: x_QSizePolicy::x_37(args);	break;
        case 38: x_QSizePolicy::x_38(args);	break;
        case 39: x_QSizePolicy::x_39(args);	break;
        case 40: x_QSizePolicy::x_40(args);	break;
        case 41: x_QSizePolicy::x_41(args);	break;
        case 42: x_QSizePolicy::x_42(args);	break;
        case 43: x_QSizePolicy::x_43(args);	break;
        case 44: x_QSizePolicy::x_44(args);	break;
        case 45: x_QSizePolicy::x_45(args);	break;
        case 46: x_QSizePolicy::x_46(args);	break;
        case 47: x_QSizePolicy::x_47(args);	break;
        case 48: x_QSizePolicy::x_48(args);	break;
        case 49: x_QSizePolicy::x_49(args);	break;
        case 50: x_QSizePolicy::x_50(args);	break;
        case 51: delete (QSizePolicy*)xself;	break;
    }
}
class x_QSlider : public QSlider, 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<QSlider*>(this))) {
            const QMetaObject* xret = ((const x_QSlider*)this)->QSlider::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QSlider*)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<QSlider*>(this))) {
            void* xret = this->QSlider::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 = QSlider::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 = QSlider::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 = QSlider::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 = QSlider::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<QSlider*>(this))) {
            int xret = this->QSlider::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) {
        // QSlider* QSlider(QWidget*)
        x_QSlider* xret = new x_QSlider((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSlider(QWidget* x1) : QSlider(x1) {}
    static void x_9(Smoke::Stack x) {
        // QSlider* QSlider(Qt::Orientation, QWidget*)
        x_QSlider* xret = new x_QSlider((Qt::Orientation)x[1].s_enum,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSlider(Qt::Orientation x1, QWidget* x2) : QSlider(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSlider*>(this))) {
            QSize xret = ((const x_QSlider*)this)->QSlider::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QSlider*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_11(Smoke::Stack x) {
        // QSize minimumSizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSlider*>(this))) {
            QSize xret = ((const x_QSlider*)this)->QSlider::minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QSlider*)this)->minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // void setTickPosition(QSlider::TickPosition)
        this->QSlider::setTickPosition((QSlider::TickPosition)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QSlider::TickPosition tickPosition() const
        QSlider::TickPosition xret = ((const x_QSlider*)this)->QSlider::tickPosition();
        x[0].s_enum = xret;
    }
    void x_14(Smoke::Stack x) {
        // void setTickInterval(int)
        this->QSlider::setTickInterval((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // int tickInterval() const
        int xret = ((const x_QSlider*)this)->QSlider::tickInterval();
        x[0].s_int = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSlider*>(this))) {
            bool xret = this->QSlider::event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSlider*>(this))) {
            this->QSlider::paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->paintEvent((QPaintEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_18(Smoke::Stack x) {
        // void mousePressEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSlider*>(this))) {
            this->QSlider::mousePressEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mousePressEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_19(Smoke::Stack x) {
        // void mouseReleaseEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSlider*>(this))) {
            this->QSlider::mouseReleaseEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mouseReleaseEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_20(Smoke::Stack x) {
        // void mouseMoveEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSlider*>(this))) {
            this->QSlider::mouseMoveEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mouseMoveEvent((QMouseEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_21(Smoke::Stack x) {
        // void initStyleOption(QStyleOptionSlider*) const
        ((const x_QSlider*)this)->QSlider::initStyleOption((QStyleOptionSlider*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_22(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QSlider::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_23(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QSlider::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_24(Smoke::Stack x) {
        // QSlider* QSlider()
        x_QSlider* xret = new x_QSlider((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_25(Smoke::Stack x) {
        // QSlider* QSlider(Qt::Orientation)
        x_QSlider* xret = new x_QSlider((Qt::Orientation)x[1].s_enum,(QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_26(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSlider::staticMetaObject;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QSlider::NoTicks;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QSlider::TicksAbove;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QSlider::TicksLeft;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QSlider::TicksBelow;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QSlider::TicksRight;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QSlider::TicksBothSides;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10594, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QSlider::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10595, (void*)this, x)) return (void*)x[0].s_class;
        return this->QSlider::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(10600, (void*)this, x)) return (int)x[0].s_int;
        return this->QSlider::qt_metacall(x1, x2, x3);
    }
    virtual void sliderChange(QAbstractSlider::SliderChange x1) {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(506, (void*)this, x)) return;
        this->QAbstractSlider::sliderChange(x1);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(15532, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10603, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSlider::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10604, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSlider::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(10611, (void*)this, x)) return;
        this->QSlider::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10612, (void*)this, x)) return;
        this->QSlider::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(10613, (void*)this, x)) return;
        this->QSlider::mouseMoveEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(509, (void*)this, x)) return;
        this->QAbstractSlider::wheelEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(507, (void*)this, x)) return;
        this->QAbstractSlider::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(10610, (void*)this, x)) return;
        this->QSlider::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(15630, (void*)this, x)) return;
        this->QWidget::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15631, (void*)this, x)) return;
        this->QWidget::closeEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(15632, (void*)this, x)) return;
        this->QWidget::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(15639, (void*)this, x)) return;
        this->QWidget::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(510, (void*)this, x)) return;
        this->QAbstractSlider::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(10609, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSlider::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(508, (void*)this, x)) return;
        this->QAbstractSlider::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 699: //QSlider::TickPosition
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QSlider::TickPosition;
                    break;
                case Smoke::EnumDelete:
                    delete (QSlider::TickPosition*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QSlider::TickPosition*)xdata = (QSlider::TickPosition)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QSlider::TickPosition*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QSlider() { this->_binding->deleted(305, (void*)this); }
};
void xenum_QSlider(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QSlider::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QSlider(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSlider *xself = (x_QSlider*)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_QSlider::x_3(args);	break;
        case 4: x_QSlider::x_4(args);	break;
        case 5: x_QSlider::x_5(args);	break;
        case 6: x_QSlider::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QSlider::x_8(args);	break;
        case 9: x_QSlider::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: x_QSlider::x_22(args);	break;
        case 23: x_QSlider::x_23(args);	break;
        case 24: x_QSlider::x_24(args);	break;
        case 25: x_QSlider::x_25(args);	break;
        case 26: x_QSlider::x_26(args);	break;
        case 27: x_QSlider::x_27(args);	break;
        case 28: x_QSlider::x_28(args);	break;
        case 29: x_QSlider::x_29(args);	break;
        case 30: x_QSlider::x_30(args);	break;
        case 31: x_QSlider::x_31(args);	break;
        case 32: x_QSlider::x_32(args);	break;
        case 33: delete (QSlider*)xself;	break;
    }
}
class x_QSortFilterProxyModel : public QSortFilterProxyModel, 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<QSortFilterProxyModel*>(this))) {
            const QMetaObject* xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QSortFilterProxyModel*)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<QSortFilterProxyModel*>(this))) {
            void* xret = this->QSortFilterProxyModel::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 = QSortFilterProxyModel::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 = QSortFilterProxyModel::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 = QSortFilterProxyModel::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 = QSortFilterProxyModel::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<QSortFilterProxyModel*>(this))) {
            int xret = this->QSortFilterProxyModel::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) {
        // QSortFilterProxyModel* QSortFilterProxyModel(QObject*)
        x_QSortFilterProxyModel* xret = new x_QSortFilterProxyModel((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSortFilterProxyModel(QObject* x1) : QSortFilterProxyModel(x1) {}
    void x_9(Smoke::Stack x) {
        // void setSourceModel(QAbstractItemModel*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            this->QSortFilterProxyModel::setSourceModel((QAbstractItemModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setSourceModel((QAbstractItemModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_10(Smoke::Stack x) {
        // QModelIndex mapToSource(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QModelIndex xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::mapToSource(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_QSortFilterProxyModel*)this)->mapToSource(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_11(Smoke::Stack x) {
        // QModelIndex mapFromSource(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QModelIndex xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::mapFromSource(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_QSortFilterProxyModel*)this)->mapFromSource(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // QItemSelection mapSelectionToSource(const QItemSelection&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QItemSelection xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::mapSelectionToSource(*(const QItemSelection*)x[1].s_class);
            x[0].s_class = (void*)new QItemSelection(xret);
        } else {
            QItemSelection xret = ((const x_QSortFilterProxyModel*)this)->mapSelectionToSource(*(const QItemSelection*)x[1].s_class);
            x[0].s_class = (void*)new QItemSelection(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // QItemSelection mapSelectionFromSource(const QItemSelection&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QItemSelection xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::mapSelectionFromSource(*(const QItemSelection*)x[1].s_class);
            x[0].s_class = (void*)new QItemSelection(xret);
        } else {
            QItemSelection xret = ((const x_QSortFilterProxyModel*)this)->mapSelectionFromSource(*(const QItemSelection*)x[1].s_class);
            x[0].s_class = (void*)new QItemSelection(xret);
        }
    }
    void x_14(Smoke::Stack x) {
        // QRegExp filterRegExp() const
        QRegExp xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::filterRegExp();
        x[0].s_class = (void*)new QRegExp(xret);
    }
    void x_15(Smoke::Stack x) {
        // void setFilterRegExp(const QRegExp&)
        this->QSortFilterProxyModel::setFilterRegExp(*(const QRegExp*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // int filterKeyColumn() const
        int xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::filterKeyColumn();
        x[0].s_int = xret;
    }
    void x_17(Smoke::Stack x) {
        // void setFilterKeyColumn(int)
        this->QSortFilterProxyModel::setFilterKeyColumn((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // Qt::CaseSensitivity filterCaseSensitivity() const
        Qt::CaseSensitivity xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::filterCaseSensitivity();
        x[0].s_enum = xret;
    }
    void x_19(Smoke::Stack x) {
        // void setFilterCaseSensitivity(Qt::CaseSensitivity)
        this->QSortFilterProxyModel::setFilterCaseSensitivity((Qt::CaseSensitivity)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // Qt::CaseSensitivity sortCaseSensitivity() const
        Qt::CaseSensitivity xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::sortCaseSensitivity();
        x[0].s_enum = xret;
    }
    void x_21(Smoke::Stack x) {
        // void setSortCaseSensitivity(Qt::CaseSensitivity)
        this->QSortFilterProxyModel::setSortCaseSensitivity((Qt::CaseSensitivity)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // bool isSortLocaleAware() const
        bool xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::isSortLocaleAware();
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // void setSortLocaleAware(bool)
        this->QSortFilterProxyModel::setSortLocaleAware((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // int sortColumn() const
        int xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::sortColumn();
        x[0].s_int = xret;
    }
    void x_25(Smoke::Stack x) {
        // Qt::SortOrder sortOrder() const
        Qt::SortOrder xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::sortOrder();
        x[0].s_enum = xret;
    }
    void x_26(Smoke::Stack x) {
        // bool dynamicSortFilter() const
        bool xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::dynamicSortFilter();
        x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) {
        // void setDynamicSortFilter(bool)
        this->QSortFilterProxyModel::setDynamicSortFilter((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // int sortRole() const
        int xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::sortRole();
        x[0].s_int = xret;
    }
    void x_29(Smoke::Stack x) {
        // void setSortRole(int)
        this->QSortFilterProxyModel::setSortRole((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // int filterRole() const
        int xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::filterRole();
        x[0].s_int = xret;
    }
    void x_31(Smoke::Stack x) {
        // void setFilterRole(int)
        this->QSortFilterProxyModel::setFilterRole((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // void setFilterRegExp(const QString&)
        this->QSortFilterProxyModel::setFilterRegExp(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // void setFilterWildcard(const QString&)
        this->QSortFilterProxyModel::setFilterWildcard(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // void setFilterFixedString(const QString&)
        this->QSortFilterProxyModel::setFilterFixedString(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // void clear()
        this->QSortFilterProxyModel::clear();
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // void invalidate()
        this->QSortFilterProxyModel::invalidate();
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // virtual bool filterAcceptsRow(int, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::filterAcceptsRow((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QSortFilterProxyModel*)this)->filterAcceptsRow((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_38(Smoke::Stack x) {
        // virtual bool filterAcceptsColumn(int, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::filterAcceptsColumn((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QSortFilterProxyModel*)this)->filterAcceptsColumn((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_39(Smoke::Stack x) {
        // virtual bool lessThan(const QModelIndex&, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::lessThan(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QSortFilterProxyModel*)this)->lessThan(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_40(Smoke::Stack x) {
        // void filterChanged()
        this->QSortFilterProxyModel::filterChanged();
        (void)x; // noop (for compiler warning)
    }
    void x_41(Smoke::Stack x) {
        // void invalidateFilter()
        this->QSortFilterProxyModel::invalidateFilter();
        (void)x; // noop (for compiler warning)
    }
    void x_42(Smoke::Stack x) {
        // QObject* parent() const
        QObject* xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::parent();
        x[0].s_class = (void*)xret;
    }
    void x_43(Smoke::Stack x) {
        // QModelIndex index(int, int, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QModelIndex xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::index((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_QSortFilterProxyModel*)this)->index((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_44(Smoke::Stack x) {
        // QModelIndex parent(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QModelIndex xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::parent(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_QSortFilterProxyModel*)this)->parent(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_45(Smoke::Stack x) {
        // int rowCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            int xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::rowCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QSortFilterProxyModel*)this)->rowCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_46(Smoke::Stack x) {
        // int columnCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            int xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QSortFilterProxyModel*)this)->columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_47(Smoke::Stack x) {
        // bool hasChildren(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::hasChildren(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QSortFilterProxyModel*)this)->hasChildren(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_48(Smoke::Stack x) {
        // QVariant data(const QModelIndex&, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QVariant xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::data(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_QSortFilterProxyModel*)this)->data(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_49(Smoke::Stack x) {
        // bool setData(const QModelIndex&, const QVariant&, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = this->QSortFilterProxyModel::setData(*(const QModelIndex*)x[1].s_class,*(const QVariant*)x[2].s_class,(int)x[3].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = this->setData(*(const QModelIndex*)x[1].s_class,*(const QVariant*)x[2].s_class,(int)x[3].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_50(Smoke::Stack x) {
        // QVariant headerData(int, Qt::Orientation, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QVariant xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_QSortFilterProxyModel*)this)->headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_51(Smoke::Stack x) {
        // bool setHeaderData(int, Qt::Orientation, const QVariant&, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = this->QSortFilterProxyModel::setHeaderData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,*(const QVariant*)x[3].s_class,(int)x[4].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = this->setHeaderData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,*(const QVariant*)x[3].s_class,(int)x[4].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_52(Smoke::Stack x) {
        // QMimeData* mimeData(const QList<QModelIndex>&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QMimeData* xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::mimeData(*(const QList<QModelIndex>*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QMimeData* xret = ((const x_QSortFilterProxyModel*)this)->mimeData(*(const QList<QModelIndex>*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_53(Smoke::Stack x) {
        // bool dropMimeData(const QMimeData*, Qt::DropAction, int, int, const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = this->QSortFilterProxyModel::dropMimeData((const QMimeData*)x[1].s_class,(Qt::DropAction)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,*(const QModelIndex*)x[5].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->dropMimeData((const QMimeData*)x[1].s_class,(Qt::DropAction)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,*(const QModelIndex*)x[5].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_54(Smoke::Stack x) {
        // bool insertRows(int, int, const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = this->QSortFilterProxyModel::insertRows((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->insertRows((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_55(Smoke::Stack x) {
        // bool insertColumns(int, int, const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = this->QSortFilterProxyModel::insertColumns((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->insertColumns((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_56(Smoke::Stack x) {
        // bool removeRows(int, int, const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = this->QSortFilterProxyModel::removeRows((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->removeRows((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_57(Smoke::Stack x) {
        // bool removeColumns(int, int, const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = this->QSortFilterProxyModel::removeColumns((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->removeColumns((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_58(Smoke::Stack x) {
        // void fetchMore(const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            this->QSortFilterProxyModel::fetchMore(*(const QModelIndex*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->fetchMore(*(const QModelIndex*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_59(Smoke::Stack x) {
        // bool canFetchMore(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            bool xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::canFetchMore(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QSortFilterProxyModel*)this)->canFetchMore(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_60(Smoke::Stack x) {
        // QFlags<Qt::ItemFlag> flags(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QFlags<Qt::ItemFlag> xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<Qt::ItemFlag> xret = ((const x_QSortFilterProxyModel*)this)->flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_61(Smoke::Stack x) {
        // QModelIndex buddy(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QModelIndex xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::buddy(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_QSortFilterProxyModel*)this)->buddy(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_62(Smoke::Stack x) {
        // QList<QModelIndex> match(const QModelIndex&, int, const QVariant&, int, QFlags<Qt::MatchFlag>) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QList<QModelIndex> xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)x[5].s_uint);
            x[0].s_class = (void*)new QList<QModelIndex>(xret);
        } else {
            QList<QModelIndex> xret = ((const x_QSortFilterProxyModel*)this)->match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)x[5].s_uint);
            x[0].s_class = (void*)new QList<QModelIndex>(xret);
        }
    }
    void x_63(Smoke::Stack x) {
        // QSize span(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QSize xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::span(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QSortFilterProxyModel*)this)->span(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_64(Smoke::Stack x) {
        // void sort(int, Qt::SortOrder)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            this->QSortFilterProxyModel::sort((int)x[1].s_int,(Qt::SortOrder)x[2].s_enum);
            (void)x; // noop (for compiler warning)
        } else {
            this->sort((int)x[1].s_int,(Qt::SortOrder)x[2].s_enum);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_65(Smoke::Stack x) {
        // QStringList mimeTypes() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QStringList xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::mimeTypes();
            x[0].s_class = (void*)new QStringList(xret);
        } else {
            QStringList xret = ((const x_QSortFilterProxyModel*)this)->mimeTypes();
            x[0].s_class = (void*)new QStringList(xret);
        }
    }
    void x_66(Smoke::Stack x) {
        // QFlags<Qt::DropAction> supportedDropActions() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSortFilterProxyModel*>(this))) {
            QFlags<Qt::DropAction> xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::supportedDropActions();
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<Qt::DropAction> xret = ((const x_QSortFilterProxyModel*)this)->supportedDropActions();
            x[0].s_uint = (uint)xret;
        }
    }
    static void x_67(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QSortFilterProxyModel::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_68(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QSortFilterProxyModel::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_69(Smoke::Stack x) {
        // QSortFilterProxyModel* QSortFilterProxyModel()
        x_QSortFilterProxyModel* xret = new x_QSortFilterProxyModel((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_70(Smoke::Stack x) {
        // QModelIndex index(int, int) const
        QModelIndex xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::index((int)x[1].s_int,(int)x[2].s_int,(const QModelIndex&)QModelIndex());
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_71(Smoke::Stack x) {
        // int rowCount() const
        int xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::rowCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    void x_72(Smoke::Stack x) {
        // int columnCount() const
        int xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::columnCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    void x_73(Smoke::Stack x) {
        // bool hasChildren() const
        bool xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::hasChildren((const QModelIndex&)QModelIndex());
        x[0].s_bool = xret;
    }
    void x_74(Smoke::Stack x) {
        // QVariant data(const QModelIndex&) const
        QVariant xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::data(*(const QModelIndex*)x[1].s_class,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_75(Smoke::Stack x) {
        // bool setData(const QModelIndex&, const QVariant&)
        bool xret = this->QSortFilterProxyModel::setData(*(const QModelIndex*)x[1].s_class,*(const QVariant*)x[2].s_class,(int)Qt::EditRole);
        x[0].s_bool = xret;
    }
    void x_76(Smoke::Stack x) {
        // QVariant headerData(int, Qt::Orientation) const
        QVariant xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_77(Smoke::Stack x) {
        // bool setHeaderData(int, Qt::Orientation, const QVariant&)
        bool xret = this->QSortFilterProxyModel::setHeaderData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,*(const QVariant*)x[3].s_class,(int)Qt::EditRole);
        x[0].s_bool = xret;
    }
    void x_78(Smoke::Stack x) {
        // bool insertRows(int, int)
        bool xret = this->QSortFilterProxyModel::insertRows((int)x[1].s_int,(int)x[2].s_int,(const QModelIndex&)QModelIndex());
        x[0].s_bool = xret;
    }
    void x_79(Smoke::Stack x) {
        // bool insertColumns(int, int)
        bool xret = this->QSortFilterProxyModel::insertColumns((int)x[1].s_int,(int)x[2].s_int,(const QModelIndex&)QModelIndex());
        x[0].s_bool = xret;
    }
    void x_80(Smoke::Stack x) {
        // bool removeRows(int, int)
        bool xret = this->QSortFilterProxyModel::removeRows((int)x[1].s_int,(int)x[2].s_int,(const QModelIndex&)QModelIndex());
        x[0].s_bool = xret;
    }
    void x_81(Smoke::Stack x) {
        // bool removeColumns(int, int)
        bool xret = this->QSortFilterProxyModel::removeColumns((int)x[1].s_int,(int)x[2].s_int,(const QModelIndex&)QModelIndex());
        x[0].s_bool = xret;
    }
    void x_82(Smoke::Stack x) {
        // QList<QModelIndex> match(const QModelIndex&, int, const QVariant&) const
        QList<QModelIndex> xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)1,(QFlags<Qt::MatchFlag>)Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap));
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_83(Smoke::Stack x) {
        // QList<QModelIndex> match(const QModelIndex&, int, const QVariant&, int) const
        QList<QModelIndex> xret = ((const x_QSortFilterProxyModel*)this)->QSortFilterProxyModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap));
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_84(Smoke::Stack x) {
        // void sort(int)
        this->QSortFilterProxyModel::sort((int)x[1].s_int,(Qt::SortOrder)Qt::AscendingOrder);
        (void)x; // noop (for compiler warning)
    }
    static void x_85(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSortFilterProxyModel::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10627, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QSortFilterProxyModel::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10628, (void*)this, x)) return (void*)x[0].s_class;
        return this->QSortFilterProxyModel::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(10633, (void*)this, x)) return (int)x[0].s_int;
        return this->QSortFilterProxyModel::qt_metacall(x1, x2, x3);
    }
    virtual bool filterAcceptsRow(int x1, const QModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(10663, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::filterAcceptsRow(x1, x2);
    }
    virtual bool filterAcceptsColumn(int x1, const QModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(10664, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::filterAcceptsColumn(x1, x2);
    }
    virtual bool lessThan(const QModelIndex& 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(10665, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::lessThan(x1, x2);
    }
    virtual void setSourceModel(QAbstractItemModel* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10635, (void*)this, x)) return;
        this->QSortFilterProxyModel::setSourceModel(x1);
    }
    virtual QModelIndex mapToSource(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10636, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::mapToSource(x1);
    }
    virtual QModelIndex mapFromSource(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10637, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::mapFromSource(x1);
    }
    virtual QItemSelection mapSelectionToSource(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10638, (void*)this, x)) {
            QItemSelection* xptr = (QItemSelection*)x[0].s_class;
            QItemSelection xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::mapSelectionToSource(x1);
    }
    virtual QItemSelection mapSelectionFromSource(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10639, (void*)this, x)) {
            QItemSelection* xptr = (QItemSelection*)x[0].s_class;
            QItemSelection xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::mapSelectionFromSource(x1);
    }
    virtual QModelIndex index(int x1, int x2, const QModelIndex& x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(10669, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::index(x1, x2, x3);
    }
    virtual QModelIndex parent(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10670, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::parent(x1);
    }
    virtual int rowCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10671, (void*)this, x)) return (int)x[0].s_int;
        return this->QSortFilterProxyModel::rowCount(x1);
    }
    virtual int columnCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10672, (void*)this, x)) return (int)x[0].s_int;
        return this->QSortFilterProxyModel::columnCount(x1);
    }
    virtual bool hasChildren(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10673, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::hasChildren(x1);
    }
    virtual QVariant data(const QModelIndex& x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(10674, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::data(x1, x2);
    }
    virtual bool setData(const QModelIndex& x1, const QVariant& x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(10675, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::setData(x1, x2, x3);
    }
    virtual QVariant headerData(int x1, Qt::Orientation x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(10676, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::headerData(x1, x2, x3);
    }
    virtual bool setHeaderData(int x1, Qt::Orientation x2, const QVariant& x3, int x4) {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        if (this->_binding->callMethod(10677, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::setHeaderData(x1, x2, x3, x4);
    }
    virtual QMap<int,QVariant> itemData(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(392, (void*)this, x)) {
            QMap<int,QVariant>* xptr = (QMap<int,QVariant>*)x[0].s_class;
            QMap<int,QVariant> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractProxyModel::itemData(x1);
    }
    virtual bool setItemData(const QModelIndex& x1, const QMap<int,QVariant>& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(395, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::setItemData(x1, x2);
    }
    virtual QStringList mimeTypes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10691, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::mimeTypes();
    }
    virtual QMimeData* mimeData(const QList<QModelIndex>& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10678, (void*)this, x)) return (QMimeData*)x[0].s_class;
        return this->QSortFilterProxyModel::mimeData(x1);
    }
    virtual bool dropMimeData(const QMimeData* x1, Qt::DropAction x2, int x3, int x4, const QModelIndex& x5) {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        x[4].s_int = x4;
        x[5].s_class = (void*)&x5;
        if (this->_binding->callMethod(10679, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::dropMimeData(x1, x2, x3, x4, x5);
    }
    virtual QFlags<Qt::DropAction> supportedDropActions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10692, (void*)this, x)) return (QFlags<Qt::DropAction>)x[0].s_uint;
        return this->QSortFilterProxyModel::supportedDropActions();
    }
    virtual bool insertRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(10680, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::insertRows(x1, x2, x3);
    }
    virtual bool insertColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(10681, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::insertColumns(x1, x2, x3);
    }
    virtual bool removeRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(10682, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::removeRows(x1, x2, x3);
    }
    virtual bool removeColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(10683, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::removeColumns(x1, x2, x3);
    }
    virtual void fetchMore(const QModelIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10684, (void*)this, x)) return;
        this->QSortFilterProxyModel::fetchMore(x1);
    }
    virtual bool canFetchMore(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10685, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::canFetchMore(x1);
    }
    virtual QFlags<Qt::ItemFlag> flags(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10686, (void*)this, x)) return (QFlags<Qt::ItemFlag>)x[0].s_uint;
        return this->QSortFilterProxyModel::flags(x1);
    }
    virtual void sort(int x1, Qt::SortOrder x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(10690, (void*)this, x)) return;
        this->QSortFilterProxyModel::sort(x1, x2);
    }
    virtual QModelIndex buddy(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10687, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::buddy(x1);
    }
    virtual QList<QModelIndex> match(const QModelIndex& x1, int x2, const QVariant& x3, int x4, QFlags<Qt::MatchFlag> x5) const {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        x[5].s_uint = (uint)x5;
        if (this->_binding->callMethod(10688, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::match(x1, x2, x3, x4, x5);
    }
    virtual QSize span(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10689, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::span(x1);
    }
    virtual bool submit() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(388, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::submit();
    }
    virtual void revert() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(389, (void*)this, x)) return;
        this->QAbstractProxyModel::revert();
    }
    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_QSortFilterProxyModel() { this->_binding->deleted(306, (void*)this); }
};
void xcall_QSortFilterProxyModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSortFilterProxyModel *xself = (x_QSortFilterProxyModel*)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_QSortFilterProxyModel::x_3(args);	break;
        case 4: x_QSortFilterProxyModel::x_4(args);	break;
        case 5: x_QSortFilterProxyModel::x_5(args);	break;
        case 6: x_QSortFilterProxyModel::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QSortFilterProxyModel::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: xself->x_52(args);	break;
        case 53: xself->x_53(args);	break;
        case 54: xself->x_54(args);	break;
        case 55: xself->x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: xself->x_58(args);	break;
        case 59: xself->x_59(args);	break;
        case 60: xself->x_60(args);	break;
        case 61: xself->x_61(args);	break;
        case 62: xself->x_62(args);	break;
        case 63: xself->x_63(args);	break;
        case 64: xself->x_64(args);	break;
        case 65: xself->x_65(args);	break;
        case 66: xself->x_66(args);	break;
        case 67: x_QSortFilterProxyModel::x_67(args);	break;
        case 68: x_QSortFilterProxyModel::x_68(args);	break;
        case 69: x_QSortFilterProxyModel::x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: xself->x_72(args);	break;
        case 73: xself->x_73(args);	break;
        case 74: xself->x_74(args);	break;
        case 75: xself->x_75(args);	break;
        case 76: xself->x_76(args);	break;
        case 77: xself->x_77(args);	break;
        case 78: xself->x_78(args);	break;
        case 79: xself->x_79(args);	break;
        case 80: xself->x_80(args);	break;
        case 81: xself->x_81(args);	break;
        case 82: xself->x_82(args);	break;
        case 83: xself->x_83(args);	break;
        case 84: xself->x_84(args);	break;
        case 85: x_QSortFilterProxyModel::x_85(args);	break;
        case 86: delete (QSortFilterProxyModel*)xself;	break;
    }
}
class x_QSound : public QSound, 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<QSound*>(this))) {
            const QMetaObject* xret = ((const x_QSound*)this)->QSound::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QSound*)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<QSound*>(this))) {
            void* xret = this->QSound::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 = QSound::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 = QSound::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 = QSound::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 = QSound::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<QSound*>(this))) {
            int xret = this->QSound::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) {
        // static bool isAvailable()
        bool xret = QSound::isAvailable();
        x[0].s_bool = xret;
    }
    static void x_9(Smoke::Stack x) {
        // static void play(const QString&)
        QSound::play(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_10(Smoke::Stack x) {
        // QSound* QSound(const QString&, QObject*)
        x_QSound* xret = new x_QSound(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSound(const QString& x1, QObject* x2) : QSound(x1, x2) {}
    void x_11(Smoke::Stack x) {
        // int loops() const
        int xret = ((const x_QSound*)this)->QSound::loops();
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // int loopsRemaining() const
        int xret = ((const x_QSound*)this)->QSound::loopsRemaining();
        x[0].s_int = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setLoops(int)
        this->QSound::setLoops((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_QSound*)this)->QSound::fileName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_15(Smoke::Stack x) {
        // bool isFinished() const
        bool xret = ((const x_QSound*)this)->QSound::isFinished();
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // void play()
        this->QSound::play();
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void stop()
        this->QSound::stop();
        (void)x; // noop (for compiler warning)
    }
    static void x_18(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QSound::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QSound::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_20(Smoke::Stack x) {
        // QSound* QSound(const QString&)
        x_QSound* xret = new x_QSound(*(const QString*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_21(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSound::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10713, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QSound::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10714, (void*)this, x)) return (void*)x[0].s_class;
        return this->QSound::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(10719, (void*)this, x)) return (int)x[0].s_int;
        return this->QSound::qt_metacall(x1, x2, x3);
    }
    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_QSound() { this->_binding->deleted(307, (void*)this); }
};
void xcall_QSound(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSound *xself = (x_QSound*)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_QSound::x_3(args);	break;
        case 4: x_QSound::x_4(args);	break;
        case 5: x_QSound::x_5(args);	break;
        case 6: x_QSound::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QSound::x_8(args);	break;
        case 9: x_QSound::x_9(args);	break;
        case 10: x_QSound::x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: x_QSound::x_18(args);	break;
        case 19: x_QSound::x_19(args);	break;
        case 20: x_QSound::x_20(args);	break;
        case 21: x_QSound::x_21(args);	break;
        case 22: delete (QSound*)xself;	break;
    }
}
class x_QSpacerItem : public QSpacerItem, 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) {
        // QSpacerItem* QSpacerItem(int, int, QSizePolicy::Policy, QSizePolicy::Policy)
        x_QSpacerItem* xret = new x_QSpacerItem((int)x[1].s_int,(int)x[2].s_int,(QSizePolicy::Policy)x[3].s_enum,(QSizePolicy::Policy)x[4].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSpacerItem(int x1, int x2, QSizePolicy::Policy x3, QSizePolicy::Policy x4) : QSpacerItem(x1, x2, x3, x4) {}
    void x_2(Smoke::Stack x) {
        // void changeSize(int, int, QSizePolicy::Policy, QSizePolicy::Policy)
        this->QSpacerItem::changeSize((int)x[1].s_int,(int)x[2].s_int,(QSizePolicy::Policy)x[3].s_enum,(QSizePolicy::Policy)x[4].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSpacerItem*>(this))) {
            QSize xret = ((const x_QSpacerItem*)this)->QSpacerItem::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QSpacerItem*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_4(Smoke::Stack x) {
        // QSize minimumSize() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSpacerItem*>(this))) {
            QSize xret = ((const x_QSpacerItem*)this)->QSpacerItem::minimumSize();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QSpacerItem*)this)->minimumSize();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_5(Smoke::Stack x) {
        // QSize maximumSize() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSpacerItem*>(this))) {
            QSize xret = ((const x_QSpacerItem*)this)->QSpacerItem::maximumSize();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QSpacerItem*)this)->maximumSize();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_6(Smoke::Stack x) {
        // QFlags<Qt::Orientation> expandingDirections() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSpacerItem*>(this))) {
            QFlags<Qt::Orientation> xret = ((const x_QSpacerItem*)this)->QSpacerItem::expandingDirections();
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<Qt::Orientation> xret = ((const x_QSpacerItem*)this)->expandingDirections();
            x[0].s_uint = (uint)xret;
        }
    }
    void x_7(Smoke::Stack x) {
        // bool isEmpty() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSpacerItem*>(this))) {
            bool xret = ((const x_QSpacerItem*)this)->QSpacerItem::isEmpty();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QSpacerItem*)this)->isEmpty();
            x[0].s_bool = xret;
        }
    }
    void x_8(Smoke::Stack x) {
        // void setGeometry(const QRect&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSpacerItem*>(this))) {
            this->QSpacerItem::setGeometry(*(const QRect*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setGeometry(*(const QRect*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_9(Smoke::Stack x) {
        // QRect geometry() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSpacerItem*>(this))) {
            QRect xret = ((const x_QSpacerItem*)this)->QSpacerItem::geometry();
            x[0].s_class = (void*)new QRect(xret);
        } else {
            QRect xret = ((const x_QSpacerItem*)this)->geometry();
            x[0].s_class = (void*)new QRect(xret);
        }
    }
    void x_10(Smoke::Stack x) {
        // QSpacerItem* spacerItem()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSpacerItem*>(this))) {
            QSpacerItem* xret = this->QSpacerItem::spacerItem();
            x[0].s_class = (void*)xret;
        } else {
            QSpacerItem* xret = this->spacerItem();
            x[0].s_class = (void*)xret;
        }
    }
    static void x_11(Smoke::Stack x) {
        // QSpacerItem* QSpacerItem(const QSpacerItem&)
        x_QSpacerItem* xret = new x_QSpacerItem(*(const QSpacerItem*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSpacerItem(const QSpacerItem& x1) : QSpacerItem(x1) {}
    static void x_12(Smoke::Stack x) {
        // QSpacerItem* QSpacerItem(int, int)
        x_QSpacerItem* xret = new x_QSpacerItem((int)x[1].s_int,(int)x[2].s_int,(QSizePolicy::Policy)QSizePolicy::Minimum,(QSizePolicy::Policy)QSizePolicy::Minimum);
        x[0].s_class = (void*)xret;
    }
    static void x_13(Smoke::Stack x) {
        // QSpacerItem* QSpacerItem(int, int, QSizePolicy::Policy)
        x_QSpacerItem* xret = new x_QSpacerItem((int)x[1].s_int,(int)x[2].s_int,(QSizePolicy::Policy)x[3].s_enum,(QSizePolicy::Policy)QSizePolicy::Minimum);
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // void changeSize(int, int)
        this->QSpacerItem::changeSize((int)x[1].s_int,(int)x[2].s_int,(QSizePolicy::Policy)QSizePolicy::Minimum,(QSizePolicy::Policy)QSizePolicy::Minimum);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void changeSize(int, int, QSizePolicy::Policy)
        this->QSpacerItem::changeSize((int)x[1].s_int,(int)x[2].s_int,(QSizePolicy::Policy)x[3].s_enum,(QSizePolicy::Policy)QSizePolicy::Minimum);
        (void)x; // noop (for compiler warning)
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10737, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSpacerItem::sizeHint();
    }
    virtual QSize minimumSize() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10738, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSpacerItem::minimumSize();
    }
    virtual QSize maximumSize() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10739, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSpacerItem::maximumSize();
    }
    virtual QFlags<Qt::Orientation> expandingDirections() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10740, (void*)this, x)) return (QFlags<Qt::Orientation>)x[0].s_uint;
        return this->QSpacerItem::expandingDirections();
    }
    virtual void setGeometry(const QRect& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(10742, (void*)this, x)) return;
        this->QSpacerItem::setGeometry(x1);
    }
    virtual QRect geometry() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10743, (void*)this, x)) {
            QRect* xptr = (QRect*)x[0].s_class;
            QRect xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSpacerItem::geometry();
    }
    virtual bool isEmpty() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10741, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSpacerItem::isEmpty();
    }
    virtual bool hasHeightForWidth() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(7307, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QLayoutItem::hasHeightForWidth();
    }
    virtual int heightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(7308, (void*)this, x)) return (int)x[0].s_int;
        return this->QLayoutItem::heightForWidth(x1);
    }
    virtual int minimumHeightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(7309, (void*)this, x)) return (int)x[0].s_int;
        return this->QLayoutItem::minimumHeightForWidth(x1);
    }
    virtual void invalidate() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(7310, (void*)this, x)) return;
        this->QLayoutItem::invalidate();
    }
    virtual QWidget* widget() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(7311, (void*)this, x)) return (QWidget*)x[0].s_class;
        return this->QLayoutItem::widget();
    }
    virtual QLayout* layout() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(7312, (void*)this, x)) return (QLayout*)x[0].s_class;
        return this->QLayoutItem::layout();
    }
    virtual QSpacerItem* spacerItem() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(10744, (void*)this, x)) return (QSpacerItem*)x[0].s_class;
        return this->QSpacerItem::spacerItem();
    }
    ~x_QSpacerItem() { this->_binding->deleted(308, (void*)this); }
};
void xcall_QSpacerItem(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSpacerItem *xself = (x_QSpacerItem*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QSpacerItem::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_QSpacerItem::x_11(args);	break;
        case 12: x_QSpacerItem::x_12(args);	break;
        case 13: x_QSpacerItem::x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: delete (QSpacerItem*)xself;	break;
    }
}

}
