//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_QTabBar : public QTabBar, 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<QTabBar*>(this))) {
            const QMetaObject* xret = ((const x_QTabBar*)this)->QTabBar::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QTabBar*)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<QTabBar*>(this))) {
            void* xret = this->QTabBar::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 = QTabBar::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 = QTabBar::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 = QTabBar::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 = QTabBar::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<QTabBar*>(this))) {
            int xret = this->QTabBar::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) {
        // QTabBar* QTabBar(QWidget*)
        x_QTabBar* xret = new x_QTabBar((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTabBar(QWidget* x1) : QTabBar(x1) {}
    void x_9(Smoke::Stack x) {
        // QTabBar::Shape shape() const
        QTabBar::Shape xret = ((const x_QTabBar*)this)->QTabBar::shape();
        x[0].s_enum = xret;
    }
    void x_10(Smoke::Stack x) {
        // void setShape(QTabBar::Shape)
        this->QTabBar::setShape((QTabBar::Shape)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // int addTab(const QString&)
        int xret = this->QTabBar::addTab(*(const QString*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // int addTab(const QIcon&, const QString&)
        int xret = this->QTabBar::addTab(*(const QIcon*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_int = xret;
    }
    void x_13(Smoke::Stack x) {
        // int insertTab(int, const QString&)
        int xret = this->QTabBar::insertTab((int)x[1].s_int,*(const QString*)x[2].s_class);
        x[0].s_int = xret;
    }
    void x_14(Smoke::Stack x) {
        // int insertTab(int, const QIcon&, const QString&)
        int xret = this->QTabBar::insertTab((int)x[1].s_int,*(const QIcon*)x[2].s_class,*(const QString*)x[3].s_class);
        x[0].s_int = xret;
    }
    void x_15(Smoke::Stack x) {
        // void removeTab(int)
        this->QTabBar::removeTab((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void moveTab(int, int)
        this->QTabBar::moveTab((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // bool isTabEnabled(int) const
        bool xret = ((const x_QTabBar*)this)->QTabBar::isTabEnabled((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // void setTabEnabled(int, bool)
        this->QTabBar::setTabEnabled((int)x[1].s_int,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // QString tabText(int) const
        QString xret = ((const x_QTabBar*)this)->QTabBar::tabText((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_20(Smoke::Stack x) {
        // void setTabText(int, const QString&)
        this->QTabBar::setTabText((int)x[1].s_int,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // QColor tabTextColor(int) const
        QColor xret = ((const x_QTabBar*)this)->QTabBar::tabTextColor((int)x[1].s_int);
        x[0].s_class = (void*)new QColor(xret);
    }
    void x_22(Smoke::Stack x) {
        // void setTabTextColor(int, const QColor&)
        this->QTabBar::setTabTextColor((int)x[1].s_int,*(const QColor*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // QIcon tabIcon(int) const
        QIcon xret = ((const x_QTabBar*)this)->QTabBar::tabIcon((int)x[1].s_int);
        x[0].s_class = (void*)new QIcon(xret);
    }
    void x_24(Smoke::Stack x) {
        // void setTabIcon(int, const QIcon&)
        this->QTabBar::setTabIcon((int)x[1].s_int,*(const QIcon*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // Qt::TextElideMode elideMode() const
        Qt::TextElideMode xret = ((const x_QTabBar*)this)->QTabBar::elideMode();
        x[0].s_enum = xret;
    }
    void x_26(Smoke::Stack x) {
        // void setElideMode(Qt::TextElideMode)
        this->QTabBar::setElideMode((Qt::TextElideMode)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // void setTabToolTip(int, const QString&)
        this->QTabBar::setTabToolTip((int)x[1].s_int,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // QString tabToolTip(int) const
        QString xret = ((const x_QTabBar*)this)->QTabBar::tabToolTip((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_29(Smoke::Stack x) {
        // void setTabWhatsThis(int, const QString&)
        this->QTabBar::setTabWhatsThis((int)x[1].s_int,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // QString tabWhatsThis(int) const
        QString xret = ((const x_QTabBar*)this)->QTabBar::tabWhatsThis((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_31(Smoke::Stack x) {
        // void setTabData(int, const QVariant&)
        this->QTabBar::setTabData((int)x[1].s_int,*(const QVariant*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // QVariant tabData(int) const
        QVariant xret = ((const x_QTabBar*)this)->QTabBar::tabData((int)x[1].s_int);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_33(Smoke::Stack x) {
        // QRect tabRect(int) const
        QRect xret = ((const x_QTabBar*)this)->QTabBar::tabRect((int)x[1].s_int);
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_34(Smoke::Stack x) {
        // int tabAt(const QPoint&) const
        int xret = ((const x_QTabBar*)this)->QTabBar::tabAt(*(const QPoint*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_35(Smoke::Stack x) {
        // int currentIndex() const
        int xret = ((const x_QTabBar*)this)->QTabBar::currentIndex();
        x[0].s_int = xret;
    }
    void x_36(Smoke::Stack x) {
        // int count() const
        int xret = ((const x_QTabBar*)this)->QTabBar::count();
        x[0].s_int = xret;
    }
    void x_37(Smoke::Stack x) {
        // QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            QSize xret = ((const x_QTabBar*)this)->QTabBar::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QTabBar*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_38(Smoke::Stack x) {
        // QSize minimumSizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            QSize xret = ((const x_QTabBar*)this)->QTabBar::minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QTabBar*)this)->minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_39(Smoke::Stack x) {
        // void setDrawBase(bool)
        this->QTabBar::setDrawBase((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_40(Smoke::Stack x) {
        // bool drawBase() const
        bool xret = ((const x_QTabBar*)this)->QTabBar::drawBase();
        x[0].s_bool = xret;
    }
    void x_41(Smoke::Stack x) {
        // QSize iconSize() const
        QSize xret = ((const x_QTabBar*)this)->QTabBar::iconSize();
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_42(Smoke::Stack x) {
        // void setIconSize(const QSize&)
        this->QTabBar::setIconSize(*(const QSize*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_43(Smoke::Stack x) {
        // bool usesScrollButtons() const
        bool xret = ((const x_QTabBar*)this)->QTabBar::usesScrollButtons();
        x[0].s_bool = xret;
    }
    void x_44(Smoke::Stack x) {
        // void setUsesScrollButtons(bool)
        this->QTabBar::setUsesScrollButtons((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_45(Smoke::Stack x) {
        // bool tabsClosable() const
        bool xret = ((const x_QTabBar*)this)->QTabBar::tabsClosable();
        x[0].s_bool = xret;
    }
    void x_46(Smoke::Stack x) {
        // void setTabsClosable(bool)
        this->QTabBar::setTabsClosable((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_47(Smoke::Stack x) {
        // void setTabButton(int, QTabBar::ButtonPosition, QWidget*)
        this->QTabBar::setTabButton((int)x[1].s_int,(QTabBar::ButtonPosition)x[2].s_enum,(QWidget*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_48(Smoke::Stack x) {
        // QWidget* tabButton(int, QTabBar::ButtonPosition) const
        QWidget* xret = ((const x_QTabBar*)this)->QTabBar::tabButton((int)x[1].s_int,(QTabBar::ButtonPosition)x[2].s_enum);
        x[0].s_class = (void*)xret;
    }
    void x_49(Smoke::Stack x) {
        // QTabBar::SelectionBehavior selectionBehaviorOnRemove() const
        QTabBar::SelectionBehavior xret = ((const x_QTabBar*)this)->QTabBar::selectionBehaviorOnRemove();
        x[0].s_enum = xret;
    }
    void x_50(Smoke::Stack x) {
        // void setSelectionBehaviorOnRemove(QTabBar::SelectionBehavior)
        this->QTabBar::setSelectionBehaviorOnRemove((QTabBar::SelectionBehavior)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_51(Smoke::Stack x) {
        // bool expanding() const
        bool xret = ((const x_QTabBar*)this)->QTabBar::expanding();
        x[0].s_bool = xret;
    }
    void x_52(Smoke::Stack x) {
        // void setExpanding(bool)
        this->QTabBar::setExpanding((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_53(Smoke::Stack x) {
        // bool isMovable() const
        bool xret = ((const x_QTabBar*)this)->QTabBar::isMovable();
        x[0].s_bool = xret;
    }
    void x_54(Smoke::Stack x) {
        // void setMovable(bool)
        this->QTabBar::setMovable((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_55(Smoke::Stack x) {
        // bool documentMode() const
        bool xret = ((const x_QTabBar*)this)->QTabBar::documentMode();
        x[0].s_bool = xret;
    }
    void x_56(Smoke::Stack x) {
        // void setDocumentMode(bool)
        this->QTabBar::setDocumentMode((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_57(Smoke::Stack x) {
        // void setCurrentIndex(int)
        this->QTabBar::setCurrentIndex((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_58(Smoke::Stack x) {
        // void currentChanged(int)
        this->QTabBar::currentChanged((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_59(Smoke::Stack x) {
        // void tabCloseRequested(int)
        this->QTabBar::tabCloseRequested((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_60(Smoke::Stack x) {
        // void tabMoved(int, int)
        this->QTabBar::tabMoved((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_61(Smoke::Stack x) {
        // virtual QSize tabSizeHint(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            QSize xret = ((const x_QTabBar*)this)->QTabBar::tabSizeHint((int)x[1].s_int);
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QTabBar*)this)->tabSizeHint((int)x[1].s_int);
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_62(Smoke::Stack x) {
        // virtual void tabInserted(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::tabInserted((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->tabInserted((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_63(Smoke::Stack x) {
        // virtual void tabRemoved(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::tabRemoved((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->tabRemoved((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_64(Smoke::Stack x) {
        // virtual void tabLayoutChange()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::tabLayoutChange();
            (void)x; // noop (for compiler warning)
        } else {
            this->tabLayoutChange();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_65(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            bool xret = this->QTabBar::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_66(Smoke::Stack x) {
        // void resizeEvent(QResizeEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::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_67(Smoke::Stack x) {
        // void showEvent(QShowEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::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_68(Smoke::Stack x) {
        // void hideEvent(QHideEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::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_69(Smoke::Stack x) {
        // void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::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_70(Smoke::Stack x) {
        // void mousePressEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::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_71(Smoke::Stack x) {
        // void mouseMoveEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::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_72(Smoke::Stack x) {
        // void mouseReleaseEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::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_73(Smoke::Stack x) {
        // void wheelEvent(QWheelEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::wheelEvent((QWheelEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->wheelEvent((QWheelEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_74(Smoke::Stack x) {
        // void keyPressEvent(QKeyEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::keyPressEvent((QKeyEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->keyPressEvent((QKeyEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_75(Smoke::Stack x) {
        // void changeEvent(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabBar*>(this))) {
            this->QTabBar::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_76(Smoke::Stack x) {
        // void initStyleOption(QStyleOptionTab*, int) const
        ((const x_QTabBar*)this)->QTabBar::initStyleOption((QStyleOptionTab*)x[1].s_class,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    static void x_77(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QTabBar::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_78(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QTabBar::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_79(Smoke::Stack x) {
        // QTabBar* QTabBar()
        x_QTabBar* xret = new x_QTabBar((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_80(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QTabBar::staticMetaObject;
    }
    static void x_81(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::RoundedNorth;
    }
    static void x_82(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::RoundedSouth;
    }
    static void x_83(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::RoundedWest;
    }
    static void x_84(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::RoundedEast;
    }
    static void x_85(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::TriangularNorth;
    }
    static void x_86(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::TriangularSouth;
    }
    static void x_87(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::TriangularWest;
    }
    static void x_88(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::TriangularEast;
    }
    static void x_89(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::LeftSide;
    }
    static void x_90(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::RightSide;
    }
    static void x_91(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::SelectLeftTab;
    }
    static void x_92(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::SelectRightTab;
    }
    static void x_93(Smoke::Stack x) {
        x[0].s_enum = (long)QTabBar::SelectPreviousTab;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12664, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QTabBar::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12665, (void*)this, x)) return (void*)x[0].s_class;
        return this->QTabBar::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(12670, (void*)this, x)) return (int)x[0].s_int;
        return this->QTabBar::qt_metacall(x1, x2, x3);
    }
    virtual QSize tabSizeHint(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12724, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTabBar::tabSizeHint(x1);
    }
    virtual void tabInserted(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12725, (void*)this, x)) return;
        this->QTabBar::tabInserted(x1);
    }
    virtual void tabRemoved(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12726, (void*)this, x)) return;
        this->QTabBar::tabRemoved(x1);
    }
    virtual void tabLayoutChange() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12727, (void*)this, x)) return;
        this->QTabBar::tabLayoutChange();
    }
    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(12700, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTabBar::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12701, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTabBar::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(12733, (void*)this, x)) return;
        this->QTabBar::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12735, (void*)this, x)) return;
        this->QTabBar::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(12734, (void*)this, x)) return;
        this->QTabBar::mouseMoveEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12736, (void*)this, x)) return;
        this->QTabBar::wheelEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12737, (void*)this, x)) return;
        this->QTabBar::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(12732, (void*)this, x)) return;
        this->QTabBar::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(12729, (void*)this, x)) return;
        this->QTabBar::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(12730, (void*)this, x)) return;
        this->QTabBar::showEvent(x1);
    }
    virtual void hideEvent(QHideEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12731, (void*)this, x)) return;
        this->QTabBar::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(12738, (void*)this, x)) return;
        this->QTabBar::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(12728, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTabBar::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 895: //QTabBar::Shape
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTabBar::Shape;
                    break;
                case Smoke::EnumDelete:
                    delete (QTabBar::Shape*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTabBar::Shape*)xdata = (QTabBar::Shape)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTabBar::Shape*)xdata;
                    break;
            }
            break;
        case 893: //QTabBar::ButtonPosition
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTabBar::ButtonPosition;
                    break;
                case Smoke::EnumDelete:
                    delete (QTabBar::ButtonPosition*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTabBar::ButtonPosition*)xdata = (QTabBar::ButtonPosition)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTabBar::ButtonPosition*)xdata;
                    break;
            }
            break;
        case 894: //QTabBar::SelectionBehavior
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTabBar::SelectionBehavior;
                    break;
                case Smoke::EnumDelete:
                    delete (QTabBar::SelectionBehavior*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTabBar::SelectionBehavior*)xdata = (QTabBar::SelectionBehavior)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTabBar::SelectionBehavior*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QTabBar() { this->_binding->deleted(370, (void*)this); }
};
void xenum_QTabBar(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QTabBar::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QTabBar(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTabBar *xself = (x_QTabBar*)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_QTabBar::x_3(args);	break;
        case 4: x_QTabBar::x_4(args);	break;
        case 5: x_QTabBar::x_5(args);	break;
        case 6: x_QTabBar::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QTabBar::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: xself->x_67(args);	break;
        case 68: xself->x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: 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: x_QTabBar::x_77(args);	break;
        case 78: x_QTabBar::x_78(args);	break;
        case 79: x_QTabBar::x_79(args);	break;
        case 80: x_QTabBar::x_80(args);	break;
        case 81: x_QTabBar::x_81(args);	break;
        case 82: x_QTabBar::x_82(args);	break;
        case 83: x_QTabBar::x_83(args);	break;
        case 84: x_QTabBar::x_84(args);	break;
        case 85: x_QTabBar::x_85(args);	break;
        case 86: x_QTabBar::x_86(args);	break;
        case 87: x_QTabBar::x_87(args);	break;
        case 88: x_QTabBar::x_88(args);	break;
        case 89: x_QTabBar::x_89(args);	break;
        case 90: x_QTabBar::x_90(args);	break;
        case 91: x_QTabBar::x_91(args);	break;
        case 92: x_QTabBar::x_92(args);	break;
        case 93: x_QTabBar::x_93(args);	break;
        case 94: delete (QTabBar*)xself;	break;
    }
}
class x_QTabWidget : public QTabWidget, 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<QTabWidget*>(this))) {
            const QMetaObject* xret = ((const x_QTabWidget*)this)->QTabWidget::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QTabWidget*)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<QTabWidget*>(this))) {
            void* xret = this->QTabWidget::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 = QTabWidget::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 = QTabWidget::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 = QTabWidget::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 = QTabWidget::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<QTabWidget*>(this))) {
            int xret = this->QTabWidget::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) {
        // QTabWidget* QTabWidget(QWidget*)
        x_QTabWidget* xret = new x_QTabWidget((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTabWidget(QWidget* x1) : QTabWidget(x1) {}
    void x_9(Smoke::Stack x) {
        // int addTab(QWidget*, const QString&)
        int xret = this->QTabWidget::addTab((QWidget*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // int addTab(QWidget*, const QIcon&, const QString&)
        int xret = this->QTabWidget::addTab((QWidget*)x[1].s_class,*(const QIcon*)x[2].s_class,*(const QString*)x[3].s_class);
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // int insertTab(int, QWidget*, const QString&)
        int xret = this->QTabWidget::insertTab((int)x[1].s_int,(QWidget*)x[2].s_class,*(const QString*)x[3].s_class);
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // int insertTab(int, QWidget*, const QIcon&, const QString&)
        int xret = this->QTabWidget::insertTab((int)x[1].s_int,(QWidget*)x[2].s_class,*(const QIcon*)x[3].s_class,*(const QString*)x[4].s_class);
        x[0].s_int = xret;
    }
    void x_13(Smoke::Stack x) {
        // void removeTab(int)
        this->QTabWidget::removeTab((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool isTabEnabled(int) const
        bool xret = ((const x_QTabWidget*)this)->QTabWidget::isTabEnabled((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // void setTabEnabled(int, bool)
        this->QTabWidget::setTabEnabled((int)x[1].s_int,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // QString tabText(int) const
        QString xret = ((const x_QTabWidget*)this)->QTabWidget::tabText((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_17(Smoke::Stack x) {
        // void setTabText(int, const QString&)
        this->QTabWidget::setTabText((int)x[1].s_int,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // QIcon tabIcon(int) const
        QIcon xret = ((const x_QTabWidget*)this)->QTabWidget::tabIcon((int)x[1].s_int);
        x[0].s_class = (void*)new QIcon(xret);
    }
    void x_19(Smoke::Stack x) {
        // void setTabIcon(int, const QIcon&)
        this->QTabWidget::setTabIcon((int)x[1].s_int,*(const QIcon*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void setTabToolTip(int, const QString&)
        this->QTabWidget::setTabToolTip((int)x[1].s_int,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // QString tabToolTip(int) const
        QString xret = ((const x_QTabWidget*)this)->QTabWidget::tabToolTip((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_22(Smoke::Stack x) {
        // void setTabWhatsThis(int, const QString&)
        this->QTabWidget::setTabWhatsThis((int)x[1].s_int,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // QString tabWhatsThis(int) const
        QString xret = ((const x_QTabWidget*)this)->QTabWidget::tabWhatsThis((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_24(Smoke::Stack x) {
        // int currentIndex() const
        int xret = ((const x_QTabWidget*)this)->QTabWidget::currentIndex();
        x[0].s_int = xret;
    }
    void x_25(Smoke::Stack x) {
        // QWidget* currentWidget() const
        QWidget* xret = ((const x_QTabWidget*)this)->QTabWidget::currentWidget();
        x[0].s_class = (void*)xret;
    }
    void x_26(Smoke::Stack x) {
        // QWidget* widget(int) const
        QWidget* xret = ((const x_QTabWidget*)this)->QTabWidget::widget((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_27(Smoke::Stack x) {
        // int indexOf(QWidget*) const
        int xret = ((const x_QTabWidget*)this)->QTabWidget::indexOf((QWidget*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_28(Smoke::Stack x) {
        // int count() const
        int xret = ((const x_QTabWidget*)this)->QTabWidget::count();
        x[0].s_int = xret;
    }
    void x_29(Smoke::Stack x) {
        // QTabWidget::TabPosition tabPosition() const
        QTabWidget::TabPosition xret = ((const x_QTabWidget*)this)->QTabWidget::tabPosition();
        x[0].s_enum = xret;
    }
    void x_30(Smoke::Stack x) {
        // void setTabPosition(QTabWidget::TabPosition)
        this->QTabWidget::setTabPosition((QTabWidget::TabPosition)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // bool tabsClosable() const
        bool xret = ((const x_QTabWidget*)this)->QTabWidget::tabsClosable();
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // void setTabsClosable(bool)
        this->QTabWidget::setTabsClosable((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // bool isMovable() const
        bool xret = ((const x_QTabWidget*)this)->QTabWidget::isMovable();
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // void setMovable(bool)
        this->QTabWidget::setMovable((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // QTabWidget::TabShape tabShape() const
        QTabWidget::TabShape xret = ((const x_QTabWidget*)this)->QTabWidget::tabShape();
        x[0].s_enum = xret;
    }
    void x_36(Smoke::Stack x) {
        // void setTabShape(QTabWidget::TabShape)
        this->QTabWidget::setTabShape((QTabWidget::TabShape)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabWidget*>(this))) {
            QSize xret = ((const x_QTabWidget*)this)->QTabWidget::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QTabWidget*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_38(Smoke::Stack x) {
        // QSize minimumSizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabWidget*>(this))) {
            QSize xret = ((const x_QTabWidget*)this)->QTabWidget::minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QTabWidget*)this)->minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_39(Smoke::Stack x) {
        // int heightForWidth(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabWidget*>(this))) {
            int xret = ((const x_QTabWidget*)this)->QTabWidget::heightForWidth((int)x[1].s_int);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QTabWidget*)this)->heightForWidth((int)x[1].s_int);
            x[0].s_int = xret;
        }
    }
    void x_40(Smoke::Stack x) {
        // void setCornerWidget(QWidget*, Qt::Corner)
        this->QTabWidget::setCornerWidget((QWidget*)x[1].s_class,(Qt::Corner)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_41(Smoke::Stack x) {
        // QWidget* cornerWidget(Qt::Corner) const
        QWidget* xret = ((const x_QTabWidget*)this)->QTabWidget::cornerWidget((Qt::Corner)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    void x_42(Smoke::Stack x) {
        // Qt::TextElideMode elideMode() const
        Qt::TextElideMode xret = ((const x_QTabWidget*)this)->QTabWidget::elideMode();
        x[0].s_enum = xret;
    }
    void x_43(Smoke::Stack x) {
        // void setElideMode(Qt::TextElideMode)
        this->QTabWidget::setElideMode((Qt::TextElideMode)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_44(Smoke::Stack x) {
        // QSize iconSize() const
        QSize xret = ((const x_QTabWidget*)this)->QTabWidget::iconSize();
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_45(Smoke::Stack x) {
        // void setIconSize(const QSize&)
        this->QTabWidget::setIconSize(*(const QSize*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // bool usesScrollButtons() const
        bool xret = ((const x_QTabWidget*)this)->QTabWidget::usesScrollButtons();
        x[0].s_bool = xret;
    }
    void x_47(Smoke::Stack x) {
        // void setUsesScrollButtons(bool)
        this->QTabWidget::setUsesScrollButtons((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_48(Smoke::Stack x) {
        // bool documentMode() const
        bool xret = ((const x_QTabWidget*)this)->QTabWidget::documentMode();
        x[0].s_bool = xret;
    }
    void x_49(Smoke::Stack x) {
        // void setDocumentMode(bool)
        this->QTabWidget::setDocumentMode((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_50(Smoke::Stack x) {
        // void clear()
        this->QTabWidget::clear();
        (void)x; // noop (for compiler warning)
    }
    void x_51(Smoke::Stack x) {
        // void setCurrentIndex(int)
        this->QTabWidget::setCurrentIndex((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_52(Smoke::Stack x) {
        // void setCurrentWidget(QWidget*)
        this->QTabWidget::setCurrentWidget((QWidget*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_53(Smoke::Stack x) {
        // void currentChanged(int)
        this->QTabWidget::currentChanged((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_54(Smoke::Stack x) {
        // void tabCloseRequested(int)
        this->QTabWidget::tabCloseRequested((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_55(Smoke::Stack x) {
        // virtual void tabInserted(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabWidget*>(this))) {
            this->QTabWidget::tabInserted((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->tabInserted((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_56(Smoke::Stack x) {
        // virtual void tabRemoved(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabWidget*>(this))) {
            this->QTabWidget::tabRemoved((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->tabRemoved((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_57(Smoke::Stack x) {
        // void showEvent(QShowEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabWidget*>(this))) {
            this->QTabWidget::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_58(Smoke::Stack x) {
        // void resizeEvent(QResizeEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabWidget*>(this))) {
            this->QTabWidget::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_59(Smoke::Stack x) {
        // void keyPressEvent(QKeyEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabWidget*>(this))) {
            this->QTabWidget::keyPressEvent((QKeyEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->keyPressEvent((QKeyEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_60(Smoke::Stack x) {
        // void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabWidget*>(this))) {
            this->QTabWidget::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_61(Smoke::Stack x) {
        // void setTabBar(QTabBar*)
        this->QTabWidget::setTabBar((QTabBar*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_62(Smoke::Stack x) {
        // QTabBar* tabBar() const
        QTabBar* xret = ((const x_QTabWidget*)this)->QTabWidget::tabBar();
        x[0].s_class = (void*)xret;
    }
    void x_63(Smoke::Stack x) {
        // void changeEvent(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabWidget*>(this))) {
            this->QTabWidget::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_64(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTabWidget*>(this))) {
            bool xret = this->QTabWidget::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_65(Smoke::Stack x) {
        // void initStyleOption(QStyleOptionTabWidgetFrame*) const
        ((const x_QTabWidget*)this)->QTabWidget::initStyleOption((QStyleOptionTabWidgetFrame*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_66(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QTabWidget::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_67(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QTabWidget::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_68(Smoke::Stack x) {
        // QTabWidget* QTabWidget()
        x_QTabWidget* xret = new x_QTabWidget((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    void x_69(Smoke::Stack x) {
        // void setCornerWidget(QWidget*)
        this->QTabWidget::setCornerWidget((QWidget*)x[1].s_class,(Qt::Corner)Qt::TopRightCorner);
        (void)x; // noop (for compiler warning)
    }
    void x_70(Smoke::Stack x) {
        // QWidget* cornerWidget() const
        QWidget* xret = ((const x_QTabWidget*)this)->QTabWidget::cornerWidget((Qt::Corner)Qt::TopRightCorner);
        x[0].s_class = (void*)xret;
    }
    static void x_71(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QTabWidget::staticMetaObject;
    }
    static void x_72(Smoke::Stack x) {
        x[0].s_enum = (long)QTabWidget::North;
    }
    static void x_73(Smoke::Stack x) {
        x[0].s_enum = (long)QTabWidget::South;
    }
    static void x_74(Smoke::Stack x) {
        x[0].s_enum = (long)QTabWidget::West;
    }
    static void x_75(Smoke::Stack x) {
        x[0].s_enum = (long)QTabWidget::East;
    }
    static void x_76(Smoke::Stack x) {
        x[0].s_enum = (long)QTabWidget::Rounded;
    }
    static void x_77(Smoke::Stack x) {
        x[0].s_enum = (long)QTabWidget::Triangular;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12758, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QTabWidget::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12759, (void*)this, x)) return (void*)x[0].s_class;
        return this->QTabWidget::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(12764, (void*)this, x)) return (int)x[0].s_int;
        return this->QTabWidget::qt_metacall(x1, x2, x3);
    }
    virtual void tabInserted(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12812, (void*)this, x)) return;
        this->QTabWidget::tabInserted(x1);
    }
    virtual void tabRemoved(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12813, (void*)this, x)) return;
        this->QTabWidget::tabRemoved(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(12794, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTabWidget::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12795, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTabWidget::minimumSizeHint();
    }
    virtual int heightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12796, (void*)this, x)) return (int)x[0].s_int;
        return this->QTabWidget::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(12816, (void*)this, x)) return;
        this->QTabWidget::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(12817, (void*)this, x)) return;
        this->QTabWidget::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(12815, (void*)this, x)) return;
        this->QTabWidget::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(12814, (void*)this, x)) return;
        this->QTabWidget::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(12820, (void*)this, x)) return;
        this->QTabWidget::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(12821, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTabWidget::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 897: //QTabWidget::TabPosition
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTabWidget::TabPosition;
                    break;
                case Smoke::EnumDelete:
                    delete (QTabWidget::TabPosition*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTabWidget::TabPosition*)xdata = (QTabWidget::TabPosition)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTabWidget::TabPosition*)xdata;
                    break;
            }
            break;
        case 898: //QTabWidget::TabShape
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTabWidget::TabShape;
                    break;
                case Smoke::EnumDelete:
                    delete (QTabWidget::TabShape*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTabWidget::TabShape*)xdata = (QTabWidget::TabShape)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTabWidget::TabShape*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QTabWidget() { this->_binding->deleted(371, (void*)this); }
};
void xenum_QTabWidget(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QTabWidget::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QTabWidget(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTabWidget *xself = (x_QTabWidget*)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_QTabWidget::x_3(args);	break;
        case 4: x_QTabWidget::x_4(args);	break;
        case 5: x_QTabWidget::x_5(args);	break;
        case 6: x_QTabWidget::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QTabWidget::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: x_QTabWidget::x_66(args);	break;
        case 67: x_QTabWidget::x_67(args);	break;
        case 68: x_QTabWidget::x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: x_QTabWidget::x_71(args);	break;
        case 72: x_QTabWidget::x_72(args);	break;
        case 73: x_QTabWidget::x_73(args);	break;
        case 74: x_QTabWidget::x_74(args);	break;
        case 75: x_QTabWidget::x_75(args);	break;
        case 76: x_QTabWidget::x_76(args);	break;
        case 77: x_QTabWidget::x_77(args);	break;
        case 78: delete (QTabWidget*)xself;	break;
    }
}
class x_QTableView : public QTableView, 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<QTableView*>(this))) {
            const QMetaObject* xret = ((const x_QTableView*)this)->QTableView::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QTableView*)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<QTableView*>(this))) {
            void* xret = this->QTableView::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 = QTableView::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 = QTableView::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 = QTableView::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 = QTableView::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<QTableView*>(this))) {
            int xret = this->QTableView::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) {
        // QTableView* QTableView(QWidget*)
        x_QTableView* xret = new x_QTableView((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTableView(QWidget* x1) : QTableView(x1) {}
    void x_9(Smoke::Stack x) {
        // void setModel(QAbstractItemModel*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::setModel((QAbstractItemModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setModel((QAbstractItemModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_10(Smoke::Stack x) {
        // void setRootIndex(const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::setRootIndex(*(const QModelIndex*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setRootIndex(*(const QModelIndex*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_11(Smoke::Stack x) {
        // void setSelectionModel(QItemSelectionModel*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::setSelectionModel((QItemSelectionModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setSelectionModel((QItemSelectionModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // void doItemsLayout()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::doItemsLayout();
            (void)x; // noop (for compiler warning)
        } else {
            this->doItemsLayout();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // QHeaderView* horizontalHeader() const
        QHeaderView* xret = ((const x_QTableView*)this)->QTableView::horizontalHeader();
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // QHeaderView* verticalHeader() const
        QHeaderView* xret = ((const x_QTableView*)this)->QTableView::verticalHeader();
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // void setHorizontalHeader(QHeaderView*)
        this->QTableView::setHorizontalHeader((QHeaderView*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void setVerticalHeader(QHeaderView*)
        this->QTableView::setVerticalHeader((QHeaderView*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // int rowViewportPosition(int) const
        int xret = ((const x_QTableView*)this)->QTableView::rowViewportPosition((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_18(Smoke::Stack x) {
        // int rowAt(int) const
        int xret = ((const x_QTableView*)this)->QTableView::rowAt((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_19(Smoke::Stack x) {
        // void setRowHeight(int, int)
        this->QTableView::setRowHeight((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // int rowHeight(int) const
        int xret = ((const x_QTableView*)this)->QTableView::rowHeight((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_21(Smoke::Stack x) {
        // int columnViewportPosition(int) const
        int xret = ((const x_QTableView*)this)->QTableView::columnViewportPosition((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_22(Smoke::Stack x) {
        // int columnAt(int) const
        int xret = ((const x_QTableView*)this)->QTableView::columnAt((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_23(Smoke::Stack x) {
        // void setColumnWidth(int, int)
        this->QTableView::setColumnWidth((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // int columnWidth(int) const
        int xret = ((const x_QTableView*)this)->QTableView::columnWidth((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_25(Smoke::Stack x) {
        // bool isRowHidden(int) const
        bool xret = ((const x_QTableView*)this)->QTableView::isRowHidden((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // void setRowHidden(int, bool)
        this->QTableView::setRowHidden((int)x[1].s_int,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // bool isColumnHidden(int) const
        bool xret = ((const x_QTableView*)this)->QTableView::isColumnHidden((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_28(Smoke::Stack x) {
        // void setColumnHidden(int, bool)
        this->QTableView::setColumnHidden((int)x[1].s_int,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // void setSortingEnabled(bool)
        this->QTableView::setSortingEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // bool isSortingEnabled() const
        bool xret = ((const x_QTableView*)this)->QTableView::isSortingEnabled();
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // bool showGrid() const
        bool xret = ((const x_QTableView*)this)->QTableView::showGrid();
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // Qt::PenStyle gridStyle() const
        Qt::PenStyle xret = ((const x_QTableView*)this)->QTableView::gridStyle();
        x[0].s_enum = xret;
    }
    void x_33(Smoke::Stack x) {
        // void setGridStyle(Qt::PenStyle)
        this->QTableView::setGridStyle((Qt::PenStyle)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // void setWordWrap(bool)
        this->QTableView::setWordWrap((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // bool wordWrap() const
        bool xret = ((const x_QTableView*)this)->QTableView::wordWrap();
        x[0].s_bool = xret;
    }
    void x_36(Smoke::Stack x) {
        // void setCornerButtonEnabled(bool)
        this->QTableView::setCornerButtonEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // bool isCornerButtonEnabled() const
        bool xret = ((const x_QTableView*)this)->QTableView::isCornerButtonEnabled();
        x[0].s_bool = xret;
    }
    void x_38(Smoke::Stack x) {
        // QRect visualRect(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            QRect xret = ((const x_QTableView*)this)->QTableView::visualRect(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QRect(xret);
        } else {
            QRect xret = ((const x_QTableView*)this)->visualRect(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QRect(xret);
        }
    }
    void x_39(Smoke::Stack x) {
        // void scrollTo(const QModelIndex&, QAbstractItemView::ScrollHint)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::scrollTo(*(const QModelIndex*)x[1].s_class,(QAbstractItemView::ScrollHint)x[2].s_enum);
            (void)x; // noop (for compiler warning)
        } else {
            this->scrollTo(*(const QModelIndex*)x[1].s_class,(QAbstractItemView::ScrollHint)x[2].s_enum);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_40(Smoke::Stack x) {
        // QModelIndex indexAt(const QPoint&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            QModelIndex xret = ((const x_QTableView*)this)->QTableView::indexAt(*(const QPoint*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_QTableView*)this)->indexAt(*(const QPoint*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_41(Smoke::Stack x) {
        // void setSpan(int, int, int, int)
        this->QTableView::setSpan((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_42(Smoke::Stack x) {
        // int rowSpan(int, int) const
        int xret = ((const x_QTableView*)this)->QTableView::rowSpan((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_int = xret;
    }
    void x_43(Smoke::Stack x) {
        // int columnSpan(int, int) const
        int xret = ((const x_QTableView*)this)->QTableView::columnSpan((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_int = xret;
    }
    void x_44(Smoke::Stack x) {
        // void clearSpans()
        this->QTableView::clearSpans();
        (void)x; // noop (for compiler warning)
    }
    void x_45(Smoke::Stack x) {
        // void sortByColumn(int, Qt::SortOrder)
        this->QTableView::sortByColumn((int)x[1].s_int,(Qt::SortOrder)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // void selectRow(int)
        this->QTableView::selectRow((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_47(Smoke::Stack x) {
        // void selectColumn(int)
        this->QTableView::selectColumn((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_48(Smoke::Stack x) {
        // void hideRow(int)
        this->QTableView::hideRow((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_49(Smoke::Stack x) {
        // void hideColumn(int)
        this->QTableView::hideColumn((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_50(Smoke::Stack x) {
        // void showRow(int)
        this->QTableView::showRow((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_51(Smoke::Stack x) {
        // void showColumn(int)
        this->QTableView::showColumn((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_52(Smoke::Stack x) {
        // void resizeRowToContents(int)
        this->QTableView::resizeRowToContents((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_53(Smoke::Stack x) {
        // void resizeRowsToContents()
        this->QTableView::resizeRowsToContents();
        (void)x; // noop (for compiler warning)
    }
    void x_54(Smoke::Stack x) {
        // void resizeColumnToContents(int)
        this->QTableView::resizeColumnToContents((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_55(Smoke::Stack x) {
        // void resizeColumnsToContents()
        this->QTableView::resizeColumnsToContents();
        (void)x; // noop (for compiler warning)
    }
    void x_56(Smoke::Stack x) {
        // void sortByColumn(int)
        this->QTableView::sortByColumn((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_57(Smoke::Stack x) {
        // void setShowGrid(bool)
        this->QTableView::setShowGrid((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_58(Smoke::Stack x) {
        // void rowMoved(int, int, int)
        this->QTableView::rowMoved((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_59(Smoke::Stack x) {
        // void columnMoved(int, int, int)
        this->QTableView::columnMoved((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_60(Smoke::Stack x) {
        // void rowResized(int, int, int)
        this->QTableView::rowResized((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_61(Smoke::Stack x) {
        // void columnResized(int, int, int)
        this->QTableView::columnResized((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_62(Smoke::Stack x) {
        // void rowCountChanged(int, int)
        this->QTableView::rowCountChanged((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_63(Smoke::Stack x) {
        // void columnCountChanged(int, int)
        this->QTableView::columnCountChanged((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_64(Smoke::Stack x) {
        // void scrollContentsBy(int, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::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)
        }
    }
    void x_65(Smoke::Stack x) {
        // QStyleOptionViewItem viewOptions() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            QStyleOptionViewItem xret = ((const x_QTableView*)this)->QTableView::viewOptions();
            x[0].s_class = (void*)new QStyleOptionViewItem(xret);
        } else {
            QStyleOptionViewItem xret = ((const x_QTableView*)this)->viewOptions();
            x[0].s_class = (void*)new QStyleOptionViewItem(xret);
        }
    }
    void x_66(Smoke::Stack x) {
        // void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::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_67(Smoke::Stack x) {
        // void timerEvent(QTimerEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::timerEvent((QTimerEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->timerEvent((QTimerEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_68(Smoke::Stack x) {
        // int horizontalOffset() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            int xret = ((const x_QTableView*)this)->QTableView::horizontalOffset();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QTableView*)this)->horizontalOffset();
            x[0].s_int = xret;
        }
    }
    void x_69(Smoke::Stack x) {
        // int verticalOffset() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            int xret = ((const x_QTableView*)this)->QTableView::verticalOffset();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QTableView*)this)->verticalOffset();
            x[0].s_int = xret;
        }
    }
    void x_70(Smoke::Stack x) {
        // QModelIndex moveCursor(QAbstractItemView::CursorAction, QFlags<Qt::KeyboardModifier>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            QModelIndex xret = this->QTableView::moveCursor((QAbstractItemView::CursorAction)x[1].s_enum,(QFlags<Qt::KeyboardModifier>)x[2].s_uint);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = this->moveCursor((QAbstractItemView::CursorAction)x[1].s_enum,(QFlags<Qt::KeyboardModifier>)x[2].s_uint);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_71(Smoke::Stack x) {
        // void setSelection(const QRect&, QFlags<QItemSelectionModel::SelectionFlag>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::setSelection(*(const QRect*)x[1].s_class,(QFlags<QItemSelectionModel::SelectionFlag>)x[2].s_uint);
            (void)x; // noop (for compiler warning)
        } else {
            this->setSelection(*(const QRect*)x[1].s_class,(QFlags<QItemSelectionModel::SelectionFlag>)x[2].s_uint);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_72(Smoke::Stack x) {
        // QRegion visualRegionForSelection(const QItemSelection&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            QRegion xret = ((const x_QTableView*)this)->QTableView::visualRegionForSelection(*(const QItemSelection*)x[1].s_class);
            x[0].s_class = (void*)new QRegion(xret);
        } else {
            QRegion xret = ((const x_QTableView*)this)->visualRegionForSelection(*(const QItemSelection*)x[1].s_class);
            x[0].s_class = (void*)new QRegion(xret);
        }
    }
    void x_73(Smoke::Stack x) {
        // QList<QModelIndex> selectedIndexes() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            QList<QModelIndex> xret = ((const x_QTableView*)this)->QTableView::selectedIndexes();
            x[0].s_class = (void*)new QList<QModelIndex>(xret);
        } else {
            QList<QModelIndex> xret = ((const x_QTableView*)this)->selectedIndexes();
            x[0].s_class = (void*)new QList<QModelIndex>(xret);
        }
    }
    void x_74(Smoke::Stack x) {
        // void updateGeometries()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::updateGeometries();
            (void)x; // noop (for compiler warning)
        } else {
            this->updateGeometries();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_75(Smoke::Stack x) {
        // int sizeHintForRow(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            int xret = ((const x_QTableView*)this)->QTableView::sizeHintForRow((int)x[1].s_int);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QTableView*)this)->sizeHintForRow((int)x[1].s_int);
            x[0].s_int = xret;
        }
    }
    void x_76(Smoke::Stack x) {
        // int sizeHintForColumn(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            int xret = ((const x_QTableView*)this)->QTableView::sizeHintForColumn((int)x[1].s_int);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QTableView*)this)->sizeHintForColumn((int)x[1].s_int);
            x[0].s_int = xret;
        }
    }
    void x_77(Smoke::Stack x) {
        // void verticalScrollbarAction(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::verticalScrollbarAction((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->verticalScrollbarAction((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_78(Smoke::Stack x) {
        // void horizontalScrollbarAction(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::horizontalScrollbarAction((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->horizontalScrollbarAction((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_79(Smoke::Stack x) {
        // bool isIndexHidden(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            bool xret = ((const x_QTableView*)this)->QTableView::isIndexHidden(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QTableView*)this)->isIndexHidden(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_80(Smoke::Stack x) {
        // void selectionChanged(const QItemSelection&, const QItemSelection&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::selectionChanged(*(const QItemSelection*)x[1].s_class,*(const QItemSelection*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->selectionChanged(*(const QItemSelection*)x[1].s_class,*(const QItemSelection*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_81(Smoke::Stack x) {
        // void currentChanged(const QModelIndex&, const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableView*>(this))) {
            this->QTableView::currentChanged(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->currentChanged(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_82(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QTableView::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_83(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QTableView::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_84(Smoke::Stack x) {
        // QTableView* QTableView()
        x_QTableView* xret = new x_QTableView((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    void x_85(Smoke::Stack x) {
        // void scrollTo(const QModelIndex&)
        this->QTableView::scrollTo(*(const QModelIndex*)x[1].s_class,(QAbstractItemView::ScrollHint)EnsureVisible);
        (void)x; // noop (for compiler warning)
    }
    static void x_86(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QTableView::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12836, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QTableView::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12837, (void*)this, x)) return (void*)x[0].s_class;
        return this->QTableView::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(12842, (void*)this, x)) return (int)x[0].s_int;
        return this->QTableView::qt_metacall(x1, x2, x3);
    }
    virtual void setModel(QAbstractItemModel* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12844, (void*)this, x)) return;
        this->QTableView::setModel(x1);
    }
    virtual void setSelectionModel(QItemSelectionModel* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12846, (void*)this, x)) return;
        this->QTableView::setSelectionModel(x1);
    }
    virtual void keyboardSearch(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(171, (void*)this, x)) return;
        this->QAbstractItemView::keyboardSearch(x1);
    }
    virtual QRect visualRect(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(12873, (void*)this, x)) {
            QRect* xptr = (QRect*)x[0].s_class;
            QRect xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::visualRect(x1);
    }
    virtual void scrollTo(const QModelIndex& x1, QAbstractItemView::ScrollHint x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(12874, (void*)this, x)) return;
        this->QTableView::scrollTo(x1, x2);
    }
    virtual QModelIndex indexAt(const QPoint& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(12875, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::indexAt(x1);
    }
    virtual int sizeHintForRow(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12910, (void*)this, x)) return (int)x[0].s_int;
        return this->QTableView::sizeHintForRow(x1);
    }
    virtual int sizeHintForColumn(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12911, (void*)this, x)) return (int)x[0].s_int;
        return this->QTableView::sizeHintForColumn(x1);
    }
    virtual QVariant inputMethodQuery(Qt::InputMethodQuery x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(187, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemView::inputMethodQuery(x1);
    }
    virtual void reset() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(188, (void*)this, x)) return;
        this->QAbstractItemView::reset();
    }
    virtual void setRootIndex(const QModelIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(12845, (void*)this, x)) return;
        this->QTableView::setRootIndex(x1);
    }
    virtual void doItemsLayout() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12847, (void*)this, x)) return;
        this->QTableView::doItemsLayout();
    }
    virtual void selectAll() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(191, (void*)this, x)) return;
        this->QAbstractItemView::selectAll();
    }
    virtual void dataChanged(const QModelIndex& x1, const QModelIndex& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(198, (void*)this, x)) return;
        this->QAbstractItemView::dataChanged(x1, x2);
    }
    virtual void rowsInserted(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(199, (void*)this, x)) return;
        this->QAbstractItemView::rowsInserted(x1, x2, x3);
    }
    virtual void rowsAboutToBeRemoved(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(200, (void*)this, x)) return;
        this->QAbstractItemView::rowsAboutToBeRemoved(x1, x2, x3);
    }
    virtual void selectionChanged(const QItemSelection& x1, const QItemSelection& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(12915, (void*)this, x)) return;
        this->QTableView::selectionChanged(x1, x2);
    }
    virtual void currentChanged(const QModelIndex& x1, const QModelIndex& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(12916, (void*)this, x)) return;
        this->QTableView::currentChanged(x1, x2);
    }
    virtual void updateEditorData() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(203, (void*)this, x)) return;
        this->QAbstractItemView::updateEditorData();
    }
    virtual void updateEditorGeometries() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(204, (void*)this, x)) return;
        this->QAbstractItemView::updateEditorGeometries();
    }
    virtual void updateGeometries() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12909, (void*)this, x)) return;
        this->QTableView::updateGeometries();
    }
    virtual void verticalScrollbarAction(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12912, (void*)this, x)) return;
        this->QTableView::verticalScrollbarAction(x1);
    }
    virtual void horizontalScrollbarAction(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12913, (void*)this, x)) return;
        this->QTableView::horizontalScrollbarAction(x1);
    }
    virtual void verticalScrollbarValueChanged(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(208, (void*)this, x)) return;
        this->QAbstractItemView::verticalScrollbarValueChanged(x1);
    }
    virtual void horizontalScrollbarValueChanged(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(209, (void*)this, x)) return;
        this->QAbstractItemView::horizontalScrollbarValueChanged(x1);
    }
    virtual void closeEditor(QWidget* x1, QAbstractItemDelegate::EndEditHint x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(210, (void*)this, x)) return;
        this->QAbstractItemView::closeEditor(x1, x2);
    }
    virtual void commitData(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(211, (void*)this, x)) return;
        this->QAbstractItemView::commitData(x1);
    }
    virtual void editorDestroyed(QObject* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(212, (void*)this, x)) return;
        this->QAbstractItemView::editorDestroyed(x1);
    }
    virtual QModelIndex moveCursor(QAbstractItemView::CursorAction x1, QFlags<Qt::KeyboardModifier> x2) {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(12905, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::moveCursor(x1, x2);
    }
    virtual int horizontalOffset() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12903, (void*)this, x)) return (int)x[0].s_int;
        return this->QTableView::horizontalOffset();
    }
    virtual int verticalOffset() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12904, (void*)this, x)) return (int)x[0].s_int;
        return this->QTableView::verticalOffset();
    }
    virtual bool isIndexHidden(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(12914, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTableView::isIndexHidden(x1);
    }
    virtual void setSelection(const QRect& x1, QFlags<QItemSelectionModel::SelectionFlag> x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(12906, (void*)this, x)) return;
        this->QTableView::setSelection(x1, x2);
    }
    virtual QRegion visualRegionForSelection(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(12907, (void*)this, x)) {
            QRegion* xptr = (QRegion*)x[0].s_class;
            QRegion xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::visualRegionForSelection(x1);
    }
    virtual QList<QModelIndex> selectedIndexes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12908, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::selectedIndexes();
    }
    virtual bool edit(const QModelIndex& x1, QAbstractItemView::EditTrigger x2, QEvent* x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(230, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::edit(x1, x2, x3);
    }
    virtual QFlags<QItemSelectionModel::SelectionFlag> selectionCommand(const QModelIndex& x1, const QEvent* x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(231, (void*)this, x)) return (QFlags<QItemSelectionModel::SelectionFlag>)x[0].s_uint;
        return this->QAbstractItemView::selectionCommand(x1, x2);
    }
    virtual void startDrag(QFlags<Qt::DropAction> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(232, (void*)this, x)) return;
        this->QAbstractItemView::startDrag(x1);
    }
    virtual QStyleOptionViewItem viewOptions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12900, (void*)this, x)) {
            QStyleOptionViewItem* xptr = (QStyleOptionViewItem*)x[0].s_class;
            QStyleOptionViewItem xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::viewOptions();
    }
    virtual bool viewportEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(246, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::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(12899, (void*)this, x)) return;
        this->QTableView::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(440, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractScrollArea::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(247, (void*)this, x)) return;
        this->QAbstractItemView::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(249, (void*)this, x)) return;
        this->QAbstractItemView::mouseReleaseEvent(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(250, (void*)this, x)) return;
        this->QAbstractItemView::mouseDoubleClickEvent(x1);
    }
    virtual void mouseMoveEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(248, (void*)this, x)) return;
        this->QAbstractItemView::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(257, (void*)this, x)) return;
        this->QAbstractItemView::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(255, (void*)this, x)) return;
        this->QAbstractItemView::focusInEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(256, (void*)this, x)) return;
        this->QAbstractItemView::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(12901, (void*)this, x)) return;
        this->QTableView::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(258, (void*)this, x)) return;
        this->QAbstractItemView::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(251, (void*)this, x)) return;
        this->QAbstractItemView::dragEnterEvent(x1);
    }
    virtual void dragMoveEvent(QDragMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(252, (void*)this, x)) return;
        this->QAbstractItemView::dragMoveEvent(x1);
    }
    virtual void dragLeaveEvent(QDragLeaveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(253, (void*)this, x)) return;
        this->QAbstractItemView::dragLeaveEvent(x1);
    }
    virtual void dropEvent(QDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(254, (void*)this, x)) return;
        this->QAbstractItemView::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(260, (void*)this, x)) return;
        this->QAbstractItemView::inputMethodEvent(x1);
    }
    virtual bool focusNextPrevChild(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(244, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::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(245, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::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(12902, (void*)this, x)) return;
        this->QTableView::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_QTableView() { this->_binding->deleted(372, (void*)this); }
};
void xcall_QTableView(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTableView *xself = (x_QTableView*)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_QTableView::x_3(args);	break;
        case 4: x_QTableView::x_4(args);	break;
        case 5: x_QTableView::x_5(args);	break;
        case 6: x_QTableView::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QTableView::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: xself->x_67(args);	break;
        case 68: xself->x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: 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: x_QTableView::x_82(args);	break;
        case 83: x_QTableView::x_83(args);	break;
        case 84: x_QTableView::x_84(args);	break;
        case 85: xself->x_85(args);	break;
        case 86: x_QTableView::x_86(args);	break;
        case 87: delete (QTableView*)xself;	break;
    }
}
class x_QTableWidget : public QTableWidget, 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<QTableWidget*>(this))) {
            const QMetaObject* xret = ((const x_QTableWidget*)this)->QTableWidget::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QTableWidget*)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<QTableWidget*>(this))) {
            void* xret = this->QTableWidget::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 = QTableWidget::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 = QTableWidget::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 = QTableWidget::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 = QTableWidget::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<QTableWidget*>(this))) {
            int xret = this->QTableWidget::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) {
        // QTableWidget* QTableWidget(QWidget*)
        x_QTableWidget* xret = new x_QTableWidget((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTableWidget(QWidget* x1) : QTableWidget(x1) {}
    static void x_9(Smoke::Stack x) {
        // QTableWidget* QTableWidget(int, int, QWidget*)
        x_QTableWidget* xret = new x_QTableWidget((int)x[1].s_int,(int)x[2].s_int,(QWidget*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTableWidget(int x1, int x2, QWidget* x3) : QTableWidget(x1, x2, x3) {}
    void x_10(Smoke::Stack x) {
        // void setRowCount(int)
        this->QTableWidget::setRowCount((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // int rowCount() const
        int xret = ((const x_QTableWidget*)this)->QTableWidget::rowCount();
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // void setColumnCount(int)
        this->QTableWidget::setColumnCount((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // int columnCount() const
        int xret = ((const x_QTableWidget*)this)->QTableWidget::columnCount();
        x[0].s_int = xret;
    }
    void x_14(Smoke::Stack x) {
        // int row(const QTableWidgetItem*) const
        int xret = ((const x_QTableWidget*)this)->QTableWidget::row((const QTableWidgetItem*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_15(Smoke::Stack x) {
        // int column(const QTableWidgetItem*) const
        int xret = ((const x_QTableWidget*)this)->QTableWidget::column((const QTableWidgetItem*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_16(Smoke::Stack x) {
        // QTableWidgetItem* item(int, int) const
        QTableWidgetItem* xret = ((const x_QTableWidget*)this)->QTableWidget::item((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_17(Smoke::Stack x) {
        // void setItem(int, int, QTableWidgetItem*)
        this->QTableWidget::setItem((int)x[1].s_int,(int)x[2].s_int,(QTableWidgetItem*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // QTableWidgetItem* takeItem(int, int)
        QTableWidgetItem* xret = this->QTableWidget::takeItem((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_19(Smoke::Stack x) {
        // QTableWidgetItem* verticalHeaderItem(int) const
        QTableWidgetItem* xret = ((const x_QTableWidget*)this)->QTableWidget::verticalHeaderItem((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_20(Smoke::Stack x) {
        // void setVerticalHeaderItem(int, QTableWidgetItem*)
        this->QTableWidget::setVerticalHeaderItem((int)x[1].s_int,(QTableWidgetItem*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // QTableWidgetItem* takeVerticalHeaderItem(int)
        QTableWidgetItem* xret = this->QTableWidget::takeVerticalHeaderItem((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_22(Smoke::Stack x) {
        // QTableWidgetItem* horizontalHeaderItem(int) const
        QTableWidgetItem* xret = ((const x_QTableWidget*)this)->QTableWidget::horizontalHeaderItem((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_23(Smoke::Stack x) {
        // void setHorizontalHeaderItem(int, QTableWidgetItem*)
        this->QTableWidget::setHorizontalHeaderItem((int)x[1].s_int,(QTableWidgetItem*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // QTableWidgetItem* takeHorizontalHeaderItem(int)
        QTableWidgetItem* xret = this->QTableWidget::takeHorizontalHeaderItem((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_25(Smoke::Stack x) {
        // void setVerticalHeaderLabels(const QStringList&)
        this->QTableWidget::setVerticalHeaderLabels(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // void setHorizontalHeaderLabels(const QStringList&)
        this->QTableWidget::setHorizontalHeaderLabels(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // int currentRow() const
        int xret = ((const x_QTableWidget*)this)->QTableWidget::currentRow();
        x[0].s_int = xret;
    }
    void x_28(Smoke::Stack x) {
        // int currentColumn() const
        int xret = ((const x_QTableWidget*)this)->QTableWidget::currentColumn();
        x[0].s_int = xret;
    }
    void x_29(Smoke::Stack x) {
        // QTableWidgetItem* currentItem() const
        QTableWidgetItem* xret = ((const x_QTableWidget*)this)->QTableWidget::currentItem();
        x[0].s_class = (void*)xret;
    }
    void x_30(Smoke::Stack x) {
        // void setCurrentItem(QTableWidgetItem*)
        this->QTableWidget::setCurrentItem((QTableWidgetItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // void setCurrentItem(QTableWidgetItem*, QFlags<QItemSelectionModel::SelectionFlag>)
        this->QTableWidget::setCurrentItem((QTableWidgetItem*)x[1].s_class,(QFlags<QItemSelectionModel::SelectionFlag>)x[2].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // void setCurrentCell(int, int)
        this->QTableWidget::setCurrentCell((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // void setCurrentCell(int, int, QFlags<QItemSelectionModel::SelectionFlag>)
        this->QTableWidget::setCurrentCell((int)x[1].s_int,(int)x[2].s_int,(QFlags<QItemSelectionModel::SelectionFlag>)x[3].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // void sortItems(int, Qt::SortOrder)
        this->QTableWidget::sortItems((int)x[1].s_int,(Qt::SortOrder)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // void setSortingEnabled(bool)
        this->QTableWidget::setSortingEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // bool isSortingEnabled() const
        bool xret = ((const x_QTableWidget*)this)->QTableWidget::isSortingEnabled();
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // void editItem(QTableWidgetItem*)
        this->QTableWidget::editItem((QTableWidgetItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // void openPersistentEditor(QTableWidgetItem*)
        this->QTableWidget::openPersistentEditor((QTableWidgetItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // void closePersistentEditor(QTableWidgetItem*)
        this->QTableWidget::closePersistentEditor((QTableWidgetItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_40(Smoke::Stack x) {
        // QWidget* cellWidget(int, int) const
        QWidget* xret = ((const x_QTableWidget*)this)->QTableWidget::cellWidget((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_41(Smoke::Stack x) {
        // void setCellWidget(int, int, QWidget*)
        this->QTableWidget::setCellWidget((int)x[1].s_int,(int)x[2].s_int,(QWidget*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_42(Smoke::Stack x) {
        // void removeCellWidget(int, int)
        this->QTableWidget::removeCellWidget((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_43(Smoke::Stack x) {
        // bool isItemSelected(const QTableWidgetItem*) const
        bool xret = ((const x_QTableWidget*)this)->QTableWidget::isItemSelected((const QTableWidgetItem*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_44(Smoke::Stack x) {
        // void setItemSelected(const QTableWidgetItem*, bool)
        this->QTableWidget::setItemSelected((const QTableWidgetItem*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_45(Smoke::Stack x) {
        // void setRangeSelected(const QTableWidgetSelectionRange&, bool)
        this->QTableWidget::setRangeSelected(*(const QTableWidgetSelectionRange*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // QList<QTableWidgetSelectionRange> selectedRanges() const
        QList<QTableWidgetSelectionRange> xret = ((const x_QTableWidget*)this)->QTableWidget::selectedRanges();
        x[0].s_class = (void*)new QList<QTableWidgetSelectionRange>(xret);
    }
    void x_47(Smoke::Stack x) {
        // QList<QTableWidgetItem*> selectedItems()
        QList<QTableWidgetItem*> xret = this->QTableWidget::selectedItems();
        x[0].s_class = (void*)new QList<QTableWidgetItem*>(xret);
    }
    void x_48(Smoke::Stack x) {
        // QList<QTableWidgetItem*> findItems(const QString&, QFlags<Qt::MatchFlag>) const
        QList<QTableWidgetItem*> xret = ((const x_QTableWidget*)this)->QTableWidget::findItems(*(const QString*)x[1].s_class,(QFlags<Qt::MatchFlag>)x[2].s_uint);
        x[0].s_class = (void*)new QList<QTableWidgetItem*>(xret);
    }
    void x_49(Smoke::Stack x) {
        // int visualRow(int) const
        int xret = ((const x_QTableWidget*)this)->QTableWidget::visualRow((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_50(Smoke::Stack x) {
        // int visualColumn(int) const
        int xret = ((const x_QTableWidget*)this)->QTableWidget::visualColumn((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_51(Smoke::Stack x) {
        // QTableWidgetItem* itemAt(const QPoint&) const
        QTableWidgetItem* xret = ((const x_QTableWidget*)this)->QTableWidget::itemAt(*(const QPoint*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_52(Smoke::Stack x) {
        // QTableWidgetItem* itemAt(int, int) const
        QTableWidgetItem* xret = ((const x_QTableWidget*)this)->QTableWidget::itemAt((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_53(Smoke::Stack x) {
        // QRect visualItemRect(const QTableWidgetItem*) const
        QRect xret = ((const x_QTableWidget*)this)->QTableWidget::visualItemRect((const QTableWidgetItem*)x[1].s_class);
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_54(Smoke::Stack x) {
        // const QTableWidgetItem* itemPrototype() const
        const QTableWidgetItem* xret = ((const x_QTableWidget*)this)->QTableWidget::itemPrototype();
        x[0].s_class = (void*)xret;
    }
    void x_55(Smoke::Stack x) {
        // void setItemPrototype(const QTableWidgetItem*)
        this->QTableWidget::setItemPrototype((const QTableWidgetItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_56(Smoke::Stack x) {
        // void scrollToItem(const QTableWidgetItem*, QAbstractItemView::ScrollHint)
        this->QTableWidget::scrollToItem((const QTableWidgetItem*)x[1].s_class,(QAbstractItemView::ScrollHint)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_57(Smoke::Stack x) {
        // void insertRow(int)
        this->QTableWidget::insertRow((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_58(Smoke::Stack x) {
        // void insertColumn(int)
        this->QTableWidget::insertColumn((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_59(Smoke::Stack x) {
        // void removeRow(int)
        this->QTableWidget::removeRow((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_60(Smoke::Stack x) {
        // void removeColumn(int)
        this->QTableWidget::removeColumn((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_61(Smoke::Stack x) {
        // void clear()
        this->QTableWidget::clear();
        (void)x; // noop (for compiler warning)
    }
    void x_62(Smoke::Stack x) {
        // void clearContents()
        this->QTableWidget::clearContents();
        (void)x; // noop (for compiler warning)
    }
    void x_63(Smoke::Stack x) {
        // void itemPressed(QTableWidgetItem*)
        this->QTableWidget::itemPressed((QTableWidgetItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_64(Smoke::Stack x) {
        // void itemClicked(QTableWidgetItem*)
        this->QTableWidget::itemClicked((QTableWidgetItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_65(Smoke::Stack x) {
        // void itemDoubleClicked(QTableWidgetItem*)
        this->QTableWidget::itemDoubleClicked((QTableWidgetItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_66(Smoke::Stack x) {
        // void itemActivated(QTableWidgetItem*)
        this->QTableWidget::itemActivated((QTableWidgetItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_67(Smoke::Stack x) {
        // void itemEntered(QTableWidgetItem*)
        this->QTableWidget::itemEntered((QTableWidgetItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_68(Smoke::Stack x) {
        // void itemChanged(QTableWidgetItem*)
        this->QTableWidget::itemChanged((QTableWidgetItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_69(Smoke::Stack x) {
        // void currentItemChanged(QTableWidgetItem*, QTableWidgetItem*)
        this->QTableWidget::currentItemChanged((QTableWidgetItem*)x[1].s_class,(QTableWidgetItem*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_70(Smoke::Stack x) {
        // void itemSelectionChanged()
        this->QTableWidget::itemSelectionChanged();
        (void)x; // noop (for compiler warning)
    }
    void x_71(Smoke::Stack x) {
        // void cellPressed(int, int)
        this->QTableWidget::cellPressed((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_72(Smoke::Stack x) {
        // void cellClicked(int, int)
        this->QTableWidget::cellClicked((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_73(Smoke::Stack x) {
        // void cellDoubleClicked(int, int)
        this->QTableWidget::cellDoubleClicked((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_74(Smoke::Stack x) {
        // void cellActivated(int, int)
        this->QTableWidget::cellActivated((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_75(Smoke::Stack x) {
        // void cellEntered(int, int)
        this->QTableWidget::cellEntered((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_76(Smoke::Stack x) {
        // void cellChanged(int, int)
        this->QTableWidget::cellChanged((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_77(Smoke::Stack x) {
        // void currentCellChanged(int, int, int, int)
        this->QTableWidget::currentCellChanged((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_78(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidget*>(this))) {
            bool xret = this->QTableWidget::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_79(Smoke::Stack x) {
        // virtual QStringList mimeTypes() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidget*>(this))) {
            QStringList xret = ((const x_QTableWidget*)this)->QTableWidget::mimeTypes();
            x[0].s_class = (void*)new QStringList(xret);
        } else {
            QStringList xret = ((const x_QTableWidget*)this)->mimeTypes();
            x[0].s_class = (void*)new QStringList(xret);
        }
    }
    void x_80(Smoke::Stack x) {
        // virtual QMimeData* mimeData(const QList<QTableWidgetItem*>) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidget*>(this))) {
            QMimeData* xret = ((const x_QTableWidget*)this)->QTableWidget::mimeData(*(const QList<QTableWidgetItem*>*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QMimeData* xret = ((const x_QTableWidget*)this)->mimeData(*(const QList<QTableWidgetItem*>*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_81(Smoke::Stack x) {
        // virtual bool dropMimeData(int, int, const QMimeData*, Qt::DropAction)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidget*>(this))) {
            bool xret = this->QTableWidget::dropMimeData((int)x[1].s_int,(int)x[2].s_int,(const QMimeData*)x[3].s_class,(Qt::DropAction)x[4].s_enum);
            x[0].s_bool = xret;
        } else {
            bool xret = this->dropMimeData((int)x[1].s_int,(int)x[2].s_int,(const QMimeData*)x[3].s_class,(Qt::DropAction)x[4].s_enum);
            x[0].s_bool = xret;
        }
    }
    void x_82(Smoke::Stack x) {
        // virtual QFlags<Qt::DropAction> supportedDropActions() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidget*>(this))) {
            QFlags<Qt::DropAction> xret = ((const x_QTableWidget*)this)->QTableWidget::supportedDropActions();
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<Qt::DropAction> xret = ((const x_QTableWidget*)this)->supportedDropActions();
            x[0].s_uint = (uint)xret;
        }
    }
    void x_83(Smoke::Stack x) {
        // QList<QTableWidgetItem*> items(const QMimeData*) const
        QList<QTableWidgetItem*> xret = ((const x_QTableWidget*)this)->QTableWidget::items((const QMimeData*)x[1].s_class);
        x[0].s_class = (void*)new QList<QTableWidgetItem*>(xret);
    }
    void x_84(Smoke::Stack x) {
        // QModelIndex indexFromItem(QTableWidgetItem*) const
        QModelIndex xret = ((const x_QTableWidget*)this)->QTableWidget::indexFromItem((QTableWidgetItem*)x[1].s_class);
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_85(Smoke::Stack x) {
        // QTableWidgetItem* itemFromIndex(const QModelIndex&) const
        QTableWidgetItem* xret = ((const x_QTableWidget*)this)->QTableWidget::itemFromIndex(*(const QModelIndex*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_86(Smoke::Stack x) {
        // void dropEvent(QDropEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidget*>(this))) {
            this->QTableWidget::dropEvent((QDropEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->dropEvent((QDropEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_87(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QTableWidget::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_88(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QTableWidget::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_89(Smoke::Stack x) {
        // QTableWidget* QTableWidget()
        x_QTableWidget* xret = new x_QTableWidget((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_90(Smoke::Stack x) {
        // QTableWidget* QTableWidget(int, int)
        x_QTableWidget* xret = new x_QTableWidget((int)x[1].s_int,(int)x[2].s_int,(QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    void x_91(Smoke::Stack x) {
        // void sortItems(int)
        this->QTableWidget::sortItems((int)x[1].s_int,(Qt::SortOrder)Qt::AscendingOrder);
        (void)x; // noop (for compiler warning)
    }
    void x_92(Smoke::Stack x) {
        // void scrollToItem(const QTableWidgetItem*)
        this->QTableWidget::scrollToItem((const QTableWidgetItem*)x[1].s_class,(QAbstractItemView::ScrollHint)EnsureVisible);
        (void)x; // noop (for compiler warning)
    }
    static void x_93(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QTableWidget::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12923, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QTableWidget::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12924, (void*)this, x)) return (void*)x[0].s_class;
        return this->QTableWidget::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(12929, (void*)this, x)) return (int)x[0].s_int;
        return this->QTableWidget::qt_metacall(x1, x2, x3);
    }
    virtual QStringList mimeTypes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13001, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableWidget::mimeTypes();
    }
    virtual QMimeData* mimeData(const QList<QTableWidgetItem*> x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new const QList<QTableWidgetItem*>(x1);
        if (this->_binding->callMethod(13002, (void*)this, x)) return (QMimeData*)x[0].s_class;
        return this->QTableWidget::mimeData(x1);
    }
    virtual bool dropMimeData(int x1, int x2, const QMimeData* x3, Qt::DropAction x4) {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        x[4].s_enum = x4;
        if (this->_binding->callMethod(13003, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTableWidget::dropMimeData(x1, x2, x3, x4);
    }
    virtual QFlags<Qt::DropAction> supportedDropActions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13004, (void*)this, x)) return (QFlags<Qt::DropAction>)x[0].s_uint;
        return this->QTableWidget::supportedDropActions();
    }
    virtual void setSelectionModel(QItemSelectionModel* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12846, (void*)this, x)) return;
        this->QTableView::setSelectionModel(x1);
    }
    virtual void keyboardSearch(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(171, (void*)this, x)) return;
        this->QAbstractItemView::keyboardSearch(x1);
    }
    virtual QRect visualRect(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(12873, (void*)this, x)) {
            QRect* xptr = (QRect*)x[0].s_class;
            QRect xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::visualRect(x1);
    }
    virtual void scrollTo(const QModelIndex& x1, QAbstractItemView::ScrollHint x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(12874, (void*)this, x)) return;
        this->QTableView::scrollTo(x1, x2);
    }
    virtual QModelIndex indexAt(const QPoint& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(12875, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::indexAt(x1);
    }
    virtual int sizeHintForRow(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12910, (void*)this, x)) return (int)x[0].s_int;
        return this->QTableView::sizeHintForRow(x1);
    }
    virtual int sizeHintForColumn(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12911, (void*)this, x)) return (int)x[0].s_int;
        return this->QTableView::sizeHintForColumn(x1);
    }
    virtual QVariant inputMethodQuery(Qt::InputMethodQuery x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(187, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemView::inputMethodQuery(x1);
    }
    virtual void reset() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(188, (void*)this, x)) return;
        this->QAbstractItemView::reset();
    }
    virtual void setRootIndex(const QModelIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(12845, (void*)this, x)) return;
        this->QTableView::setRootIndex(x1);
    }
    virtual void doItemsLayout() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12847, (void*)this, x)) return;
        this->QTableView::doItemsLayout();
    }
    virtual void selectAll() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(191, (void*)this, x)) return;
        this->QAbstractItemView::selectAll();
    }
    virtual void dataChanged(const QModelIndex& x1, const QModelIndex& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(198, (void*)this, x)) return;
        this->QAbstractItemView::dataChanged(x1, x2);
    }
    virtual void rowsInserted(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(199, (void*)this, x)) return;
        this->QAbstractItemView::rowsInserted(x1, x2, x3);
    }
    virtual void rowsAboutToBeRemoved(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(200, (void*)this, x)) return;
        this->QAbstractItemView::rowsAboutToBeRemoved(x1, x2, x3);
    }
    virtual void selectionChanged(const QItemSelection& x1, const QItemSelection& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(12915, (void*)this, x)) return;
        this->QTableView::selectionChanged(x1, x2);
    }
    virtual void currentChanged(const QModelIndex& x1, const QModelIndex& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(12916, (void*)this, x)) return;
        this->QTableView::currentChanged(x1, x2);
    }
    virtual void updateEditorData() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(203, (void*)this, x)) return;
        this->QAbstractItemView::updateEditorData();
    }
    virtual void updateEditorGeometries() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(204, (void*)this, x)) return;
        this->QAbstractItemView::updateEditorGeometries();
    }
    virtual void updateGeometries() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12909, (void*)this, x)) return;
        this->QTableView::updateGeometries();
    }
    virtual void verticalScrollbarAction(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12912, (void*)this, x)) return;
        this->QTableView::verticalScrollbarAction(x1);
    }
    virtual void horizontalScrollbarAction(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(12913, (void*)this, x)) return;
        this->QTableView::horizontalScrollbarAction(x1);
    }
    virtual void verticalScrollbarValueChanged(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(208, (void*)this, x)) return;
        this->QAbstractItemView::verticalScrollbarValueChanged(x1);
    }
    virtual void horizontalScrollbarValueChanged(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(209, (void*)this, x)) return;
        this->QAbstractItemView::horizontalScrollbarValueChanged(x1);
    }
    virtual void closeEditor(QWidget* x1, QAbstractItemDelegate::EndEditHint x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(210, (void*)this, x)) return;
        this->QAbstractItemView::closeEditor(x1, x2);
    }
    virtual void commitData(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(211, (void*)this, x)) return;
        this->QAbstractItemView::commitData(x1);
    }
    virtual void editorDestroyed(QObject* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(212, (void*)this, x)) return;
        this->QAbstractItemView::editorDestroyed(x1);
    }
    virtual QModelIndex moveCursor(QAbstractItemView::CursorAction x1, QFlags<Qt::KeyboardModifier> x2) {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(12905, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::moveCursor(x1, x2);
    }
    virtual int horizontalOffset() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12903, (void*)this, x)) return (int)x[0].s_int;
        return this->QTableView::horizontalOffset();
    }
    virtual int verticalOffset() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12904, (void*)this, x)) return (int)x[0].s_int;
        return this->QTableView::verticalOffset();
    }
    virtual bool isIndexHidden(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(12914, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTableView::isIndexHidden(x1);
    }
    virtual void setSelection(const QRect& x1, QFlags<QItemSelectionModel::SelectionFlag> x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(12906, (void*)this, x)) return;
        this->QTableView::setSelection(x1, x2);
    }
    virtual QRegion visualRegionForSelection(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(12907, (void*)this, x)) {
            QRegion* xptr = (QRegion*)x[0].s_class;
            QRegion xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::visualRegionForSelection(x1);
    }
    virtual QList<QModelIndex> selectedIndexes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12908, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::selectedIndexes();
    }
    virtual bool edit(const QModelIndex& x1, QAbstractItemView::EditTrigger x2, QEvent* x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(230, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::edit(x1, x2, x3);
    }
    virtual QFlags<QItemSelectionModel::SelectionFlag> selectionCommand(const QModelIndex& x1, const QEvent* x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(231, (void*)this, x)) return (QFlags<QItemSelectionModel::SelectionFlag>)x[0].s_uint;
        return this->QAbstractItemView::selectionCommand(x1, x2);
    }
    virtual void startDrag(QFlags<Qt::DropAction> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(232, (void*)this, x)) return;
        this->QAbstractItemView::startDrag(x1);
    }
    virtual QStyleOptionViewItem viewOptions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(12900, (void*)this, x)) {
            QStyleOptionViewItem* xptr = (QStyleOptionViewItem*)x[0].s_class;
            QStyleOptionViewItem xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableView::viewOptions();
    }
    virtual bool viewportEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(246, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::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(12899, (void*)this, x)) return;
        this->QTableView::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(440, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractScrollArea::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(247, (void*)this, x)) return;
        this->QAbstractItemView::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(249, (void*)this, x)) return;
        this->QAbstractItemView::mouseReleaseEvent(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(250, (void*)this, x)) return;
        this->QAbstractItemView::mouseDoubleClickEvent(x1);
    }
    virtual void mouseMoveEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(248, (void*)this, x)) return;
        this->QAbstractItemView::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(257, (void*)this, x)) return;
        this->QAbstractItemView::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(255, (void*)this, x)) return;
        this->QAbstractItemView::focusInEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(256, (void*)this, x)) return;
        this->QAbstractItemView::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(12901, (void*)this, x)) return;
        this->QTableView::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(258, (void*)this, x)) return;
        this->QAbstractItemView::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(251, (void*)this, x)) return;
        this->QAbstractItemView::dragEnterEvent(x1);
    }
    virtual void dragMoveEvent(QDragMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(252, (void*)this, x)) return;
        this->QAbstractItemView::dragMoveEvent(x1);
    }
    virtual void dragLeaveEvent(QDragLeaveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(253, (void*)this, x)) return;
        this->QAbstractItemView::dragLeaveEvent(x1);
    }
    virtual void dropEvent(QDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13008, (void*)this, x)) return;
        this->QTableWidget::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(260, (void*)this, x)) return;
        this->QAbstractItemView::inputMethodEvent(x1);
    }
    virtual bool focusNextPrevChild(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(244, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::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(13000, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTableWidget::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(12902, (void*)this, x)) return;
        this->QTableView::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_QTableWidget() { this->_binding->deleted(373, (void*)this); }
};
void xcall_QTableWidget(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTableWidget *xself = (x_QTableWidget*)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_QTableWidget::x_3(args);	break;
        case 4: x_QTableWidget::x_4(args);	break;
        case 5: x_QTableWidget::x_5(args);	break;
        case 6: x_QTableWidget::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QTableWidget::x_8(args);	break;
        case 9: x_QTableWidget::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: xself->x_67(args);	break;
        case 68: xself->x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: 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: xself->x_85(args);	break;
        case 86: xself->x_86(args);	break;
        case 87: x_QTableWidget::x_87(args);	break;
        case 88: x_QTableWidget::x_88(args);	break;
        case 89: x_QTableWidget::x_89(args);	break;
        case 90: x_QTableWidget::x_90(args);	break;
        case 91: xself->x_91(args);	break;
        case 92: xself->x_92(args);	break;
        case 93: x_QTableWidget::x_93(args);	break;
        case 94: delete (QTableWidget*)xself;	break;
    }
}
class x_QTableWidgetItem : public QTableWidgetItem, 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) {
        // QTableWidgetItem* QTableWidgetItem(int)
        x_QTableWidgetItem* xret = new x_QTableWidgetItem((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTableWidgetItem(int x1) : QTableWidgetItem(x1) {}
    static void x_2(Smoke::Stack x) {
        // QTableWidgetItem* QTableWidgetItem(const QString&, int)
        x_QTableWidgetItem* xret = new x_QTableWidgetItem(*(const QString*)x[1].s_class,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTableWidgetItem(const QString& x1, int x2) : QTableWidgetItem(x1, x2) {}
    static void x_3(Smoke::Stack x) {
        // QTableWidgetItem* QTableWidgetItem(const QIcon&, const QString&, int)
        x_QTableWidgetItem* xret = new x_QTableWidgetItem(*(const QIcon*)x[1].s_class,*(const QString*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTableWidgetItem(const QIcon& x1, const QString& x2, int x3) : QTableWidgetItem(x1, x2, x3) {}
    static void x_4(Smoke::Stack x) {
        // QTableWidgetItem* QTableWidgetItem(const QTableWidgetItem&)
        x_QTableWidgetItem* xret = new x_QTableWidgetItem(*(const QTableWidgetItem*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTableWidgetItem(const QTableWidgetItem& x1) : QTableWidgetItem(x1) {}
    void x_5(Smoke::Stack x) {
        // virtual QTableWidgetItem* clone() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidgetItem*>(this))) {
            QTableWidgetItem* xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::clone();
            x[0].s_class = (void*)xret;
        } else {
            QTableWidgetItem* xret = ((const x_QTableWidgetItem*)this)->clone();
            x[0].s_class = (void*)xret;
        }
    }
    void x_6(Smoke::Stack x) {
        // QTableWidget* tableWidget() const
        QTableWidget* xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::tableWidget();
        x[0].s_class = (void*)xret;
    }
    void x_7(Smoke::Stack x) {
        // int row() const
        int xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::row();
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // int column() const
        int xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::column();
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // void setSelected(bool)
        this->QTableWidgetItem::setSelected((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // bool isSelected() const
        bool xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::isSelected();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // QFlags<Qt::ItemFlag> flags() const
        QFlags<Qt::ItemFlag> xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::flags();
        x[0].s_uint = (uint)xret;
    }
    void x_12(Smoke::Stack x) {
        // void setFlags(QFlags<Qt::ItemFlag>)
        this->QTableWidgetItem::setFlags((QFlags<Qt::ItemFlag>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QString text() const
        QString xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::text();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_14(Smoke::Stack x) {
        // void setText(const QString&)
        this->QTableWidgetItem::setText(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // QIcon icon() const
        QIcon xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::icon();
        x[0].s_class = (void*)new QIcon(xret);
    }
    void x_16(Smoke::Stack x) {
        // void setIcon(const QIcon&)
        this->QTableWidgetItem::setIcon(*(const QIcon*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // QString statusTip() const
        QString xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::statusTip();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_18(Smoke::Stack x) {
        // void setStatusTip(const QString&)
        this->QTableWidgetItem::setStatusTip(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // QString toolTip() const
        QString xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::toolTip();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_20(Smoke::Stack x) {
        // void setToolTip(const QString&)
        this->QTableWidgetItem::setToolTip(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // QString whatsThis() const
        QString xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::whatsThis();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_22(Smoke::Stack x) {
        // void setWhatsThis(const QString&)
        this->QTableWidgetItem::setWhatsThis(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // QFont font() const
        QFont xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::font();
        x[0].s_class = (void*)new QFont(xret);
    }
    void x_24(Smoke::Stack x) {
        // void setFont(const QFont&)
        this->QTableWidgetItem::setFont(*(const QFont*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // int textAlignment() const
        int xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::textAlignment();
        x[0].s_int = xret;
    }
    void x_26(Smoke::Stack x) {
        // void setTextAlignment(int)
        this->QTableWidgetItem::setTextAlignment((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // QColor backgroundColor() const
        QColor xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::backgroundColor();
        x[0].s_class = (void*)new QColor(xret);
    }
    void x_28(Smoke::Stack x) {
        // void setBackgroundColor(const QColor&)
        this->QTableWidgetItem::setBackgroundColor(*(const QColor*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // QBrush background() const
        QBrush xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::background();
        x[0].s_class = (void*)new QBrush(xret);
    }
    void x_30(Smoke::Stack x) {
        // void setBackground(const QBrush&)
        this->QTableWidgetItem::setBackground(*(const QBrush*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // QColor textColor() const
        QColor xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::textColor();
        x[0].s_class = (void*)new QColor(xret);
    }
    void x_32(Smoke::Stack x) {
        // void setTextColor(const QColor&)
        this->QTableWidgetItem::setTextColor(*(const QColor*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // QBrush foreground() const
        QBrush xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::foreground();
        x[0].s_class = (void*)new QBrush(xret);
    }
    void x_34(Smoke::Stack x) {
        // void setForeground(const QBrush&)
        this->QTableWidgetItem::setForeground(*(const QBrush*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // Qt::CheckState checkState() const
        Qt::CheckState xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::checkState();
        x[0].s_enum = xret;
    }
    void x_36(Smoke::Stack x) {
        // void setCheckState(Qt::CheckState)
        this->QTableWidgetItem::setCheckState((Qt::CheckState)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // QSize sizeHint() const
        QSize xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::sizeHint();
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_38(Smoke::Stack x) {
        // void setSizeHint(const QSize&)
        this->QTableWidgetItem::setSizeHint(*(const QSize*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // virtual QVariant data(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidgetItem*>(this))) {
            QVariant xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::data((int)x[1].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_QTableWidgetItem*)this)->data((int)x[1].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_40(Smoke::Stack x) {
        // virtual void setData(int, const QVariant&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidgetItem*>(this))) {
            this->QTableWidgetItem::setData((int)x[1].s_int,*(const QVariant*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setData((int)x[1].s_int,*(const QVariant*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_41(Smoke::Stack x) {
        // virtual bool operator<(const QTableWidgetItem&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidgetItem*>(this))) {
            bool xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::operator<(*(const QTableWidgetItem*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QTableWidgetItem*)this)->operator<(*(const QTableWidgetItem*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_42(Smoke::Stack x) {
        // virtual void read(QDataStream&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidgetItem*>(this))) {
            this->QTableWidgetItem::read(*(QDataStream*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->read(*(QDataStream*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_43(Smoke::Stack x) {
        // virtual void write(QDataStream&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTableWidgetItem*>(this))) {
            ((const x_QTableWidgetItem*)this)->QTableWidgetItem::write(*(QDataStream*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QTableWidgetItem*)this)->write(*(QDataStream*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_44(Smoke::Stack x) {
        // QTableWidgetItem& operator=(const QTableWidgetItem&)
        QTableWidgetItem& xret = this->QTableWidgetItem::operator=(*(const QTableWidgetItem*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_45(Smoke::Stack x) {
        // int type() const
        int xret = ((const x_QTableWidgetItem*)this)->QTableWidgetItem::type();
        x[0].s_int = xret;
    }
    static void x_46(Smoke::Stack x) {
        // QTableWidgetItem* QTableWidgetItem()
        x_QTableWidgetItem* xret = new x_QTableWidgetItem((int)QTableWidgetItem::Type);
        x[0].s_class = (void*)xret;
    }
    static void x_47(Smoke::Stack x) {
        // QTableWidgetItem* QTableWidgetItem(const QString&)
        x_QTableWidgetItem* xret = new x_QTableWidgetItem(*(const QString*)x[1].s_class,(int)QTableWidgetItem::Type);
        x[0].s_class = (void*)xret;
    }
    static void x_48(Smoke::Stack x) {
        // QTableWidgetItem* QTableWidgetItem(const QIcon&, const QString&)
        x_QTableWidgetItem* xret = new x_QTableWidgetItem(*(const QIcon*)x[1].s_class,*(const QString*)x[2].s_class,(int)QTableWidgetItem::Type);
        x[0].s_class = (void*)xret;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QTableWidgetItem::Type;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QTableWidgetItem::UserType;
    }
    virtual QTableWidgetItem* clone() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13021, (void*)this, x)) return (QTableWidgetItem*)x[0].s_class;
        return this->QTableWidgetItem::clone();
    }
    virtual QVariant data(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(13055, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTableWidgetItem::data(x1);
    }
    virtual void setData(int x1, const QVariant& x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(13056, (void*)this, x)) return;
        this->QTableWidgetItem::setData(x1, x2);
    }
    virtual bool operator<(const QTableWidgetItem& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(13057, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTableWidgetItem::operator<(x1);
    }
    virtual void read(QDataStream& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(13058, (void*)this, x)) return;
        this->QTableWidgetItem::read(x1);
    }
    virtual void write(QDataStream& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(13059, (void*)this, x)) return;
        this->QTableWidgetItem::write(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 903: //QTableWidgetItem::ItemType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTableWidgetItem::ItemType;
                    break;
                case Smoke::EnumDelete:
                    delete (QTableWidgetItem::ItemType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTableWidgetItem::ItemType*)xdata = (QTableWidgetItem::ItemType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTableWidgetItem::ItemType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QTableWidgetItem() { this->_binding->deleted(374, (void*)this); }
};
void xenum_QTableWidgetItem(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QTableWidgetItem::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QTableWidgetItem(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTableWidgetItem *xself = (x_QTableWidgetItem*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QTableWidgetItem::x_1(args);	break;
        case 2: x_QTableWidgetItem::x_2(args);	break;
        case 3: x_QTableWidgetItem::x_3(args);	break;
        case 4: x_QTableWidgetItem::x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: 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: x_QTableWidgetItem::x_46(args);	break;
        case 47: x_QTableWidgetItem::x_47(args);	break;
        case 48: x_QTableWidgetItem::x_48(args);	break;
        case 49: x_QTableWidgetItem::x_49(args);	break;
        case 50: x_QTableWidgetItem::x_50(args);	break;
        case 51: delete (QTableWidgetItem*)xself;	break;
    }
}
class x_QTableWidgetSelectionRange : public QTableWidgetSelectionRange {
    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) {
        // QTableWidgetSelectionRange* QTableWidgetSelectionRange()
        x_QTableWidgetSelectionRange* xret = new x_QTableWidgetSelectionRange();
        x[0].s_class = (void*)xret;
    }
    explicit x_QTableWidgetSelectionRange() : QTableWidgetSelectionRange() {}
    static void x_2(Smoke::Stack x) {
        // QTableWidgetSelectionRange* QTableWidgetSelectionRange(int, int, int, int)
        x_QTableWidgetSelectionRange* xret = new x_QTableWidgetSelectionRange((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int,(int)x[4].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTableWidgetSelectionRange(int x1, int x2, int x3, int x4) : QTableWidgetSelectionRange(x1, x2, x3, x4) {}
    static void x_3(Smoke::Stack x) {
        // QTableWidgetSelectionRange* QTableWidgetSelectionRange(const QTableWidgetSelectionRange&)
        x_QTableWidgetSelectionRange* xret = new x_QTableWidgetSelectionRange(*(const QTableWidgetSelectionRange*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTableWidgetSelectionRange(const QTableWidgetSelectionRange& x1) : QTableWidgetSelectionRange(x1) {}
    void x_4(Smoke::Stack x) {
        // int topRow() const
        int xret = ((const x_QTableWidgetSelectionRange*)this)->QTableWidgetSelectionRange::topRow();
        x[0].s_int = xret;
    }
    void x_5(Smoke::Stack x) {
        // int bottomRow() const
        int xret = ((const x_QTableWidgetSelectionRange*)this)->QTableWidgetSelectionRange::bottomRow();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // int leftColumn() const
        int xret = ((const x_QTableWidgetSelectionRange*)this)->QTableWidgetSelectionRange::leftColumn();
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // int rightColumn() const
        int xret = ((const x_QTableWidgetSelectionRange*)this)->QTableWidgetSelectionRange::rightColumn();
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // int rowCount() const
        int xret = ((const x_QTableWidgetSelectionRange*)this)->QTableWidgetSelectionRange::rowCount();
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // int columnCount() const
        int xret = ((const x_QTableWidgetSelectionRange*)this)->QTableWidgetSelectionRange::columnCount();
        x[0].s_int = xret;
    }
    ~x_QTableWidgetSelectionRange() { this->_binding->deleted(375, (void*)this); }
};
void xcall_QTableWidgetSelectionRange(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTableWidgetSelectionRange *xself = (x_QTableWidgetSelectionRange*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QTableWidgetSelectionRange::x_1(args);	break;
        case 2: x_QTableWidgetSelectionRange::x_2(args);	break;
        case 3: x_QTableWidgetSelectionRange::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: delete (QTableWidgetSelectionRange*)xself;	break;
    }
}
class x_QTabletEvent : public QTabletEvent, 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) {
        // QTabletEvent* QTabletEvent(QEvent::Type, const QPoint&, const QPoint&, const QPointF&, int, int, double, int, int, double, double, int, QFlags<Qt::KeyboardModifier>, long long)
        x_QTabletEvent* xret = new x_QTabletEvent((QEvent::Type)x[1].s_enum,*(const QPoint*)x[2].s_class,*(const QPoint*)x[3].s_class,*(const QPointF*)x[4].s_class,(int)x[5].s_int,(int)x[6].s_int,(double)x[7].s_double,(int)x[8].s_int,(int)x[9].s_int,(double)x[10].s_double,(double)x[11].s_double,(int)x[12].s_int,(QFlags<Qt::KeyboardModifier>)x[13].s_uint,*(long long*)x[14].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTabletEvent(QEvent::Type x1, const QPoint& x2, const QPoint& x3, const QPointF& x4, int x5, int x6, double x7, int x8, int x9, double x10, double x11, int x12, QFlags<Qt::KeyboardModifier> x13, long long x14) : QTabletEvent(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) {}
    void x_2(Smoke::Stack x) {
        // const QPoint& pos() const
        const QPoint& xret = ((const x_QTabletEvent*)this)->QTabletEvent::pos();
        x[0].s_class = (void*)&xret;
    }
    void x_3(Smoke::Stack x) {
        // const QPoint& globalPos() const
        const QPoint& xret = ((const x_QTabletEvent*)this)->QTabletEvent::globalPos();
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // const QPointF& hiResGlobalPos() const
        const QPointF& xret = ((const x_QTabletEvent*)this)->QTabletEvent::hiResGlobalPos();
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // int x() const
        int xret = ((const x_QTabletEvent*)this)->QTabletEvent::x();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // int y() const
        int xret = ((const x_QTabletEvent*)this)->QTabletEvent::y();
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // int globalX() const
        int xret = ((const x_QTabletEvent*)this)->QTabletEvent::globalX();
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // int globalY() const
        int xret = ((const x_QTabletEvent*)this)->QTabletEvent::globalY();
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // double hiResGlobalX() const
        double xret = ((const x_QTabletEvent*)this)->QTabletEvent::hiResGlobalX();
        x[0].s_double = xret;
    }
    void x_10(Smoke::Stack x) {
        // double hiResGlobalY() const
        double xret = ((const x_QTabletEvent*)this)->QTabletEvent::hiResGlobalY();
        x[0].s_double = xret;
    }
    void x_11(Smoke::Stack x) {
        // QTabletEvent::TabletDevice device() const
        QTabletEvent::TabletDevice xret = ((const x_QTabletEvent*)this)->QTabletEvent::device();
        x[0].s_enum = xret;
    }
    void x_12(Smoke::Stack x) {
        // QTabletEvent::PointerType pointerType() const
        QTabletEvent::PointerType xret = ((const x_QTabletEvent*)this)->QTabletEvent::pointerType();
        x[0].s_enum = xret;
    }
    void x_13(Smoke::Stack x) {
        // long long uniqueId() const
        long long xret = ((const x_QTabletEvent*)this)->QTabletEvent::uniqueId();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_14(Smoke::Stack x) {
        // double pressure() const
        double xret = ((const x_QTabletEvent*)this)->QTabletEvent::pressure();
        x[0].s_double = xret;
    }
    void x_15(Smoke::Stack x) {
        // int z() const
        int xret = ((const x_QTabletEvent*)this)->QTabletEvent::z();
        x[0].s_int = xret;
    }
    void x_16(Smoke::Stack x) {
        // double tangentialPressure() const
        double xret = ((const x_QTabletEvent*)this)->QTabletEvent::tangentialPressure();
        x[0].s_double = xret;
    }
    void x_17(Smoke::Stack x) {
        // double rotation() const
        double xret = ((const x_QTabletEvent*)this)->QTabletEvent::rotation();
        x[0].s_double = xret;
    }
    void x_18(Smoke::Stack x) {
        // int xTilt() const
        int xret = ((const x_QTabletEvent*)this)->QTabletEvent::xTilt();
        x[0].s_int = xret;
    }
    void x_19(Smoke::Stack x) {
        // int yTilt() const
        int xret = ((const x_QTabletEvent*)this)->QTabletEvent::yTilt();
        x[0].s_int = xret;
    }
    static void x_20(Smoke::Stack x) {
        // QTabletEvent* QTabletEvent(const QTabletEvent&)
        x_QTabletEvent* xret = new x_QTabletEvent(*(const QTabletEvent*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTabletEvent(const QTabletEvent& x1) : QTabletEvent(x1) {}
    void x_21(Smoke::Stack x) {
        // QPoint mPos
        x[0].s_class = (void*)&this->QTabletEvent::mPos;
    }
    void x_22(Smoke::Stack x) {
        // QPoint mPos=
        this->QTabletEvent::mPos = *(const QPoint*)x[1].s_class;
    }
    void x_23(Smoke::Stack x) {
        // QPoint mGPos
        x[0].s_class = (void*)&this->QTabletEvent::mGPos;
    }
    void x_24(Smoke::Stack x) {
        // QPoint mGPos=
        this->QTabletEvent::mGPos = *(const QPoint*)x[1].s_class;
    }
    void x_25(Smoke::Stack x) {
        // QPointF mHiResGlobalPos
        x[0].s_class = (void*)&this->QTabletEvent::mHiResGlobalPos;
    }
    void x_26(Smoke::Stack x) {
        // QPointF mHiResGlobalPos=
        this->QTabletEvent::mHiResGlobalPos = *(const QPointF*)x[1].s_class;
    }
    void x_27(Smoke::Stack x) {
        // int mDev
        x[0].s_int = this->QTabletEvent::mDev;
    }
    void x_28(Smoke::Stack x) {
        // int mDev=
        this->QTabletEvent::mDev = (int)x[1].s_int;
    }
    void x_29(Smoke::Stack x) {
        // int mPointerType
        x[0].s_int = this->QTabletEvent::mPointerType;
    }
    void x_30(Smoke::Stack x) {
        // int mPointerType=
        this->QTabletEvent::mPointerType = (int)x[1].s_int;
    }
    void x_31(Smoke::Stack x) {
        // int mXT
        x[0].s_int = this->QTabletEvent::mXT;
    }
    void x_32(Smoke::Stack x) {
        // int mXT=
        this->QTabletEvent::mXT = (int)x[1].s_int;
    }
    void x_33(Smoke::Stack x) {
        // int mYT
        x[0].s_int = this->QTabletEvent::mYT;
    }
    void x_34(Smoke::Stack x) {
        // int mYT=
        this->QTabletEvent::mYT = (int)x[1].s_int;
    }
    void x_35(Smoke::Stack x) {
        // int mZ
        x[0].s_int = this->QTabletEvent::mZ;
    }
    void x_36(Smoke::Stack x) {
        // int mZ=
        this->QTabletEvent::mZ = (int)x[1].s_int;
    }
    void x_37(Smoke::Stack x) {
        // double mPress
        x[0].s_double = this->QTabletEvent::mPress;
    }
    void x_38(Smoke::Stack x) {
        // double mPress=
        this->QTabletEvent::mPress = (double)x[1].s_double;
    }
    void x_39(Smoke::Stack x) {
        // double mTangential
        x[0].s_double = this->QTabletEvent::mTangential;
    }
    void x_40(Smoke::Stack x) {
        // double mTangential=
        this->QTabletEvent::mTangential = (double)x[1].s_double;
    }
    void x_41(Smoke::Stack x) {
        // double mRot
        x[0].s_double = this->QTabletEvent::mRot;
    }
    void x_42(Smoke::Stack x) {
        // double mRot=
        this->QTabletEvent::mRot = (double)x[1].s_double;
    }
    void x_43(Smoke::Stack x) {
        // long long mUnique
        x[0].s_class = (void*)new long long(this->QTabletEvent::mUnique);
    }
    void x_44(Smoke::Stack x) {
        // long long mUnique=
        this->QTabletEvent::mUnique = *(long long*)x[1].s_class;
    }
    void x_45(Smoke::Stack x) {
        // void* mExtra
        x[0].s_class = (void*)this->QTabletEvent::mExtra;
    }
    void x_46(Smoke::Stack x) {
        // void* mExtra=
        this->QTabletEvent::mExtra = (void*)x[1].s_class;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QTabletEvent::NoDevice;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QTabletEvent::Puck;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QTabletEvent::Stylus;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QTabletEvent::Airbrush;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)QTabletEvent::FourDMouse;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)QTabletEvent::XFreeEraser;
    }
    static void x_53(Smoke::Stack x) {
        x[0].s_enum = (long)QTabletEvent::RotationStylus;
    }
    static void x_54(Smoke::Stack x) {
        x[0].s_enum = (long)QTabletEvent::UnknownPointer;
    }
    static void x_55(Smoke::Stack x) {
        x[0].s_enum = (long)QTabletEvent::Pen;
    }
    static void x_56(Smoke::Stack x) {
        x[0].s_enum = (long)QTabletEvent::Cursor;
    }
    static void x_57(Smoke::Stack x) {
        x[0].s_enum = (long)QTabletEvent::Eraser;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 908: //QTabletEvent::TabletDevice
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTabletEvent::TabletDevice;
                    break;
                case Smoke::EnumDelete:
                    delete (QTabletEvent::TabletDevice*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTabletEvent::TabletDevice*)xdata = (QTabletEvent::TabletDevice)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTabletEvent::TabletDevice*)xdata;
                    break;
            }
            break;
        case 907: //QTabletEvent::PointerType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTabletEvent::PointerType;
                    break;
                case Smoke::EnumDelete:
                    delete (QTabletEvent::PointerType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTabletEvent::PointerType*)xdata = (QTabletEvent::PointerType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTabletEvent::PointerType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QTabletEvent() { this->_binding->deleted(376, (void*)this); }
};
void xenum_QTabletEvent(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QTabletEvent::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QTabletEvent(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTabletEvent *xself = (x_QTabletEvent*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QTabletEvent::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: x_QTabletEvent::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: x_QTabletEvent::x_47(args);	break;
        case 48: x_QTabletEvent::x_48(args);	break;
        case 49: x_QTabletEvent::x_49(args);	break;
        case 50: x_QTabletEvent::x_50(args);	break;
        case 51: x_QTabletEvent::x_51(args);	break;
        case 52: x_QTabletEvent::x_52(args);	break;
        case 53: x_QTabletEvent::x_53(args);	break;
        case 54: x_QTabletEvent::x_54(args);	break;
        case 55: x_QTabletEvent::x_55(args);	break;
        case 56: x_QTabletEvent::x_56(args);	break;
        case 57: x_QTabletEvent::x_57(args);	break;
        case 58: delete (QTabletEvent*)xself;	break;
    }
}
class x_QTapAndHoldGesture : public QTapAndHoldGesture, 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<QTapAndHoldGesture*>(this))) {
            const QMetaObject* xret = ((const x_QTapAndHoldGesture*)this)->QTapAndHoldGesture::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QTapAndHoldGesture*)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<QTapAndHoldGesture*>(this))) {
            void* xret = this->QTapAndHoldGesture::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 = QTapAndHoldGesture::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 = QTapAndHoldGesture::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 = QTapAndHoldGesture::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 = QTapAndHoldGesture::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<QTapAndHoldGesture*>(this))) {
            int xret = this->QTapAndHoldGesture::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) {
        // QTapAndHoldGesture* QTapAndHoldGesture(QObject*)
        x_QTapAndHoldGesture* xret = new x_QTapAndHoldGesture((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTapAndHoldGesture(QObject* x1) : QTapAndHoldGesture(x1) {}
    void x_9(Smoke::Stack x) {
        // QPointF position() const
        QPointF xret = ((const x_QTapAndHoldGesture*)this)->QTapAndHoldGesture::position();
        x[0].s_class = (void*)new QPointF(xret);
    }
    void x_10(Smoke::Stack x) {
        // void setPosition(const QPointF&)
        this->QTapAndHoldGesture::setPosition(*(const QPointF*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_11(Smoke::Stack x) {
        // static void setTimeout(int)
        QTapAndHoldGesture::setTimeout((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    static void x_12(Smoke::Stack x) {
        // static int timeout()
        int xret = QTapAndHoldGesture::timeout();
        x[0].s_int = xret;
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QTapAndHoldGesture::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 = QTapAndHoldGesture::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) {
        // QTapAndHoldGesture* QTapAndHoldGesture()
        x_QTapAndHoldGesture* xret = new x_QTapAndHoldGesture((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QTapAndHoldGesture::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13136, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QTapAndHoldGesture::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13137, (void*)this, x)) return (void*)x[0].s_class;
        return this->QTapAndHoldGesture::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(13142, (void*)this, x)) return (int)x[0].s_int;
        return this->QTapAndHoldGesture::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_QTapAndHoldGesture() { this->_binding->deleted(377, (void*)this); }
};
void xcall_QTapAndHoldGesture(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTapAndHoldGesture *xself = (x_QTapAndHoldGesture*)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_QTapAndHoldGesture::x_3(args);	break;
        case 4: x_QTapAndHoldGesture::x_4(args);	break;
        case 5: x_QTapAndHoldGesture::x_5(args);	break;
        case 6: x_QTapAndHoldGesture::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QTapAndHoldGesture::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_QTapAndHoldGesture::x_11(args);	break;
        case 12: x_QTapAndHoldGesture::x_12(args);	break;
        case 13: x_QTapAndHoldGesture::x_13(args);	break;
        case 14: x_QTapAndHoldGesture::x_14(args);	break;
        case 15: x_QTapAndHoldGesture::x_15(args);	break;
        case 16: x_QTapAndHoldGesture::x_16(args);	break;
        case 17: delete (QTapAndHoldGesture*)xself;	break;
    }
}
class x_QTapGesture : public QTapGesture, 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<QTapGesture*>(this))) {
            const QMetaObject* xret = ((const x_QTapGesture*)this)->QTapGesture::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QTapGesture*)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<QTapGesture*>(this))) {
            void* xret = this->QTapGesture::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 = QTapGesture::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 = QTapGesture::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 = QTapGesture::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 = QTapGesture::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<QTapGesture*>(this))) {
            int xret = this->QTapGesture::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) {
        // QTapGesture* QTapGesture(QObject*)
        x_QTapGesture* xret = new x_QTapGesture((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTapGesture(QObject* x1) : QTapGesture(x1) {}
    void x_9(Smoke::Stack x) {
        // QPointF position() const
        QPointF xret = ((const x_QTapGesture*)this)->QTapGesture::position();
        x[0].s_class = (void*)new QPointF(xret);
    }
    void x_10(Smoke::Stack x) {
        // void setPosition(const QPointF&)
        this->QTapGesture::setPosition(*(const QPointF*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_11(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QTapGesture::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QTapGesture::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // QTapGesture* QTapGesture()
        x_QTapGesture* xret = new x_QTapGesture((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_14(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QTapGesture::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13153, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QTapGesture::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13154, (void*)this, x)) return (void*)x[0].s_class;
        return this->QTapGesture::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(13159, (void*)this, x)) return (int)x[0].s_int;
        return this->QTapGesture::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_QTapGesture() { this->_binding->deleted(378, (void*)this); }
};
void xcall_QTapGesture(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTapGesture *xself = (x_QTapGesture*)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_QTapGesture::x_3(args);	break;
        case 4: x_QTapGesture::x_4(args);	break;
        case 5: x_QTapGesture::x_5(args);	break;
        case 6: x_QTapGesture::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QTapGesture::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_QTapGesture::x_11(args);	break;
        case 12: x_QTapGesture::x_12(args);	break;
        case 13: x_QTapGesture::x_13(args);	break;
        case 14: x_QTapGesture::x_14(args);	break;
        case 15: delete (QTapGesture*)xself;	break;
    }
}
class x_QTextBlock : public QTextBlock {
    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) {
        // QTextBlock* QTextBlock()
        x_QTextBlock* xret = new x_QTextBlock();
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextBlock() : QTextBlock() {}
    static void x_2(Smoke::Stack x) {
        // QTextBlock* QTextBlock(const QTextBlock&)
        x_QTextBlock* xret = new x_QTextBlock(*(const QTextBlock*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextBlock(const QTextBlock& x1) : QTextBlock(x1) {}
    void x_3(Smoke::Stack x) {
        // QTextBlock& operator=(const QTextBlock&)
        QTextBlock& xret = this->QTextBlock::operator=(*(const QTextBlock*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QTextBlock*)this)->QTextBlock::isValid();
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool operator==(const QTextBlock&) const
        bool xret = ((const x_QTextBlock*)this)->QTextBlock::operator==(*(const QTextBlock*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // bool operator!=(const QTextBlock&) const
        bool xret = ((const x_QTextBlock*)this)->QTextBlock::operator!=(*(const QTextBlock*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // bool operator<(const QTextBlock&) const
        bool xret = ((const x_QTextBlock*)this)->QTextBlock::operator<(*(const QTextBlock*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // int position() const
        int xret = ((const x_QTextBlock*)this)->QTextBlock::position();
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // int length() const
        int xret = ((const x_QTextBlock*)this)->QTextBlock::length();
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool contains(int) const
        bool xret = ((const x_QTextBlock*)this)->QTextBlock::contains((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // QTextLayout* layout() const
        QTextLayout* xret = ((const x_QTextBlock*)this)->QTextBlock::layout();
        x[0].s_class = (void*)xret;
    }
    void x_12(Smoke::Stack x) {
        // void clearLayout()
        this->QTextBlock::clearLayout();
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QTextBlockFormat blockFormat() const
        QTextBlockFormat xret = ((const x_QTextBlock*)this)->QTextBlock::blockFormat();
        x[0].s_class = (void*)new QTextBlockFormat(xret);
    }
    void x_14(Smoke::Stack x) {
        // int blockFormatIndex() const
        int xret = ((const x_QTextBlock*)this)->QTextBlock::blockFormatIndex();
        x[0].s_int = xret;
    }
    void x_15(Smoke::Stack x) {
        // QTextCharFormat charFormat() const
        QTextCharFormat xret = ((const x_QTextBlock*)this)->QTextBlock::charFormat();
        x[0].s_class = (void*)new QTextCharFormat(xret);
    }
    void x_16(Smoke::Stack x) {
        // int charFormatIndex() const
        int xret = ((const x_QTextBlock*)this)->QTextBlock::charFormatIndex();
        x[0].s_int = xret;
    }
    void x_17(Smoke::Stack x) {
        // Qt::LayoutDirection textDirection() const
        Qt::LayoutDirection xret = ((const x_QTextBlock*)this)->QTextBlock::textDirection();
        x[0].s_enum = xret;
    }
    void x_18(Smoke::Stack x) {
        // QString text() const
        QString xret = ((const x_QTextBlock*)this)->QTextBlock::text();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_19(Smoke::Stack x) {
        // const QTextDocument* document() const
        const QTextDocument* xret = ((const x_QTextBlock*)this)->QTextBlock::document();
        x[0].s_class = (void*)xret;
    }
    void x_20(Smoke::Stack x) {
        // QTextList* textList() const
        QTextList* xret = ((const x_QTextBlock*)this)->QTextBlock::textList();
        x[0].s_class = (void*)xret;
    }
    void x_21(Smoke::Stack x) {
        // QTextBlockUserData* userData() const
        QTextBlockUserData* xret = ((const x_QTextBlock*)this)->QTextBlock::userData();
        x[0].s_class = (void*)xret;
    }
    void x_22(Smoke::Stack x) {
        // void setUserData(QTextBlockUserData*)
        this->QTextBlock::setUserData((QTextBlockUserData*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // int userState() const
        int xret = ((const x_QTextBlock*)this)->QTextBlock::userState();
        x[0].s_int = xret;
    }
    void x_24(Smoke::Stack x) {
        // void setUserState(int)
        this->QTextBlock::setUserState((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // int revision() const
        int xret = ((const x_QTextBlock*)this)->QTextBlock::revision();
        x[0].s_int = xret;
    }
    void x_26(Smoke::Stack x) {
        // void setRevision(int)
        this->QTextBlock::setRevision((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // bool isVisible() const
        bool xret = ((const x_QTextBlock*)this)->QTextBlock::isVisible();
        x[0].s_bool = xret;
    }
    void x_28(Smoke::Stack x) {
        // void setVisible(bool)
        this->QTextBlock::setVisible((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // int blockNumber() const
        int xret = ((const x_QTextBlock*)this)->QTextBlock::blockNumber();
        x[0].s_int = xret;
    }
    void x_30(Smoke::Stack x) {
        // int firstLineNumber() const
        int xret = ((const x_QTextBlock*)this)->QTextBlock::firstLineNumber();
        x[0].s_int = xret;
    }
    void x_31(Smoke::Stack x) {
        // void setLineCount(int)
        this->QTextBlock::setLineCount((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // int lineCount() const
        int xret = ((const x_QTextBlock*)this)->QTextBlock::lineCount();
        x[0].s_int = xret;
    }
    void x_33(Smoke::Stack x) {
        // QTextBlock::iterator begin() const
        QTextBlock::iterator xret = ((const x_QTextBlock*)this)->QTextBlock::begin();
        x[0].s_class = (void*)new QTextBlock::iterator(xret);
    }
    void x_34(Smoke::Stack x) {
        // QTextBlock::iterator end() const
        QTextBlock::iterator xret = ((const x_QTextBlock*)this)->QTextBlock::end();
        x[0].s_class = (void*)new QTextBlock::iterator(xret);
    }
    void x_35(Smoke::Stack x) {
        // QTextBlock next() const
        QTextBlock xret = ((const x_QTextBlock*)this)->QTextBlock::next();
        x[0].s_class = (void*)new QTextBlock(xret);
    }
    void x_36(Smoke::Stack x) {
        // QTextBlock previous() const
        QTextBlock xret = ((const x_QTextBlock*)this)->QTextBlock::previous();
        x[0].s_class = (void*)new QTextBlock(xret);
    }
    void x_37(Smoke::Stack x) {
        // QTextDocumentPrivate* docHandle() const
        QTextDocumentPrivate* xret = ((const x_QTextBlock*)this)->QTextBlock::docHandle();
        x[0].s_class = (void*)xret;
    }
    void x_38(Smoke::Stack x) {
        // int fragmentIndex() const
        int xret = ((const x_QTextBlock*)this)->QTextBlock::fragmentIndex();
        x[0].s_int = xret;
    }
    ~x_QTextBlock() { this->_binding->deleted(379, (void*)this); }
};
void xcall_QTextBlock(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTextBlock *xself = (x_QTextBlock*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QTextBlock::x_1(args);	break;
        case 2: x_QTextBlock::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: 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: delete (QTextBlock*)xself;	break;
    }
}
class x_QTextBlock__iterator : public QTextBlock::iterator {
    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) {
        // QTextBlock::iterator* iterator()
        x_QTextBlock__iterator* xret = new x_QTextBlock__iterator();
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextBlock__iterator() : iterator() {}
    static void x_2(Smoke::Stack x) {
        // QTextBlock::iterator* iterator(const QTextBlock::iterator&)
        x_QTextBlock__iterator* xret = new x_QTextBlock__iterator(*(const QTextBlock::iterator*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextBlock__iterator(const QTextBlock::iterator& x1) : iterator(x1) {}
    void x_3(Smoke::Stack x) {
        // QTextFragment fragment() const
        QTextFragment xret = ((const x_QTextBlock__iterator*)this)->QTextBlock::iterator::fragment();
        x[0].s_class = (void*)new QTextFragment(xret);
    }
    void x_4(Smoke::Stack x) {
        // bool atEnd() const
        bool xret = ((const x_QTextBlock__iterator*)this)->QTextBlock::iterator::atEnd();
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool operator==(const QTextBlock::iterator&) const
        bool xret = ((const x_QTextBlock__iterator*)this)->QTextBlock::iterator::operator==(*(const QTextBlock::iterator*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // bool operator!=(const QTextBlock::iterator&) const
        bool xret = ((const x_QTextBlock__iterator*)this)->QTextBlock::iterator::operator!=(*(const QTextBlock::iterator*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // QTextBlock::iterator& operator++()
        QTextBlock::iterator& xret = this->QTextBlock::iterator::operator++();
        x[0].s_class = (void*)&xret;
    }
    void x_8(Smoke::Stack x) {
        // QTextBlock::iterator operator++(int)
        QTextBlock::iterator xret = this->QTextBlock::iterator::operator++((int)x[1].s_int);
        x[0].s_class = (void*)new QTextBlock::iterator(xret);
    }
    void x_9(Smoke::Stack x) {
        // QTextBlock::iterator& operator--()
        QTextBlock::iterator& xret = this->QTextBlock::iterator::operator--();
        x[0].s_class = (void*)&xret;
    }
    void x_10(Smoke::Stack x) {
        // QTextBlock::iterator operator--(int)
        QTextBlock::iterator xret = this->QTextBlock::iterator::operator--((int)x[1].s_int);
        x[0].s_class = (void*)new QTextBlock::iterator(xret);
    }
    ~x_QTextBlock__iterator() { this->_binding->deleted(380, (void*)this); }
};
void xcall_QTextBlock__iterator(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTextBlock__iterator *xself = (x_QTextBlock__iterator*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QTextBlock__iterator::x_1(args);	break;
        case 2: x_QTextBlock__iterator::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: delete (QTextBlock::iterator*)xself;	break;
    }
}
class x_QTextBlockFormat : public QTextBlockFormat {
    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) {
        // QTextBlockFormat* QTextBlockFormat()
        x_QTextBlockFormat* xret = new x_QTextBlockFormat();
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextBlockFormat() : QTextBlockFormat() {}
    void x_2(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::isValid();
        x[0].s_bool = xret;
    }
    void x_3(Smoke::Stack x) {
        // void setAlignment(QFlags<Qt::AlignmentFlag>)
        this->QTextBlockFormat::setAlignment((QFlags<Qt::AlignmentFlag>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // QFlags<Qt::AlignmentFlag> alignment() const
        QFlags<Qt::AlignmentFlag> xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::alignment();
        x[0].s_uint = (uint)xret;
    }
    void x_5(Smoke::Stack x) {
        // void setTopMargin(double)
        this->QTextBlockFormat::setTopMargin((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // double topMargin() const
        double xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::topMargin();
        x[0].s_double = xret;
    }
    void x_7(Smoke::Stack x) {
        // void setBottomMargin(double)
        this->QTextBlockFormat::setBottomMargin((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // double bottomMargin() const
        double xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::bottomMargin();
        x[0].s_double = xret;
    }
    void x_9(Smoke::Stack x) {
        // void setLeftMargin(double)
        this->QTextBlockFormat::setLeftMargin((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // double leftMargin() const
        double xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::leftMargin();
        x[0].s_double = xret;
    }
    void x_11(Smoke::Stack x) {
        // void setRightMargin(double)
        this->QTextBlockFormat::setRightMargin((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // double rightMargin() const
        double xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::rightMargin();
        x[0].s_double = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setTextIndent(double)
        this->QTextBlockFormat::setTextIndent((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // double textIndent() const
        double xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::textIndent();
        x[0].s_double = xret;
    }
    void x_15(Smoke::Stack x) {
        // void setIndent(int)
        this->QTextBlockFormat::setIndent((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // int indent() const
        int xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::indent();
        x[0].s_int = xret;
    }
    void x_17(Smoke::Stack x) {
        // void setLineHeight(double, int)
        this->QTextBlockFormat::setLineHeight((double)x[1].s_double,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // double lineHeight(double, double) const
        double xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::lineHeight((double)x[1].s_double,(double)x[2].s_double);
        x[0].s_double = xret;
    }
    void x_19(Smoke::Stack x) {
        // double lineHeight() const
        double xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::lineHeight();
        x[0].s_double = xret;
    }
    void x_20(Smoke::Stack x) {
        // int lineHeightType() const
        int xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::lineHeightType();
        x[0].s_int = xret;
    }
    void x_21(Smoke::Stack x) {
        // void setNonBreakableLines(bool)
        this->QTextBlockFormat::setNonBreakableLines((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // bool nonBreakableLines() const
        bool xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::nonBreakableLines();
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // void setPageBreakPolicy(QFlags<QTextFormat::PageBreakFlag>)
        this->QTextBlockFormat::setPageBreakPolicy((QFlags<QTextFormat::PageBreakFlag>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // QFlags<QTextFormat::PageBreakFlag> pageBreakPolicy() const
        QFlags<QTextFormat::PageBreakFlag> xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::pageBreakPolicy();
        x[0].s_uint = (uint)xret;
    }
    void x_25(Smoke::Stack x) {
        // void setTabPositions(const QList<QTextOption::Tab>&)
        this->QTextBlockFormat::setTabPositions(*(const QList<QTextOption::Tab>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // QList<QTextOption::Tab> tabPositions() const
        QList<QTextOption::Tab> xret = ((const x_QTextBlockFormat*)this)->QTextBlockFormat::tabPositions();
        x[0].s_class = (void*)new QList<QTextOption::Tab>(xret);
    }
    static void x_27(Smoke::Stack x) {
        // QTextBlockFormat* QTextBlockFormat(const QTextFormat&)
        x_QTextBlockFormat* xret = new x_QTextBlockFormat(*(const QTextFormat*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextBlockFormat(const QTextFormat& x1) : QTextBlockFormat(x1) {}
    static void x_28(Smoke::Stack x) {
        // QTextBlockFormat* QTextBlockFormat(const QTextBlockFormat&)
        x_QTextBlockFormat* xret = new x_QTextBlockFormat(*(const QTextBlockFormat*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextBlockFormat(const QTextBlockFormat& x1) : QTextBlockFormat(x1) {}
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QTextBlockFormat::SingleHeight;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QTextBlockFormat::ProportionalHeight;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QTextBlockFormat::FixedHeight;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QTextBlockFormat::MinimumHeight;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QTextBlockFormat::LineDistanceHeight;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 919: //QTextBlockFormat::LineHeightTypes
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTextBlockFormat::LineHeightTypes;
                    break;
                case Smoke::EnumDelete:
                    delete (QTextBlockFormat::LineHeightTypes*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTextBlockFormat::LineHeightTypes*)xdata = (QTextBlockFormat::LineHeightTypes)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTextBlockFormat::LineHeightTypes*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QTextBlockFormat() { this->_binding->deleted(381, (void*)this); }
};
void xenum_QTextBlockFormat(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QTextBlockFormat::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QTextBlockFormat(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTextBlockFormat *xself = (x_QTextBlockFormat*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QTextBlockFormat::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: x_QTextBlockFormat::x_27(args);	break;
        case 28: x_QTextBlockFormat::x_28(args);	break;
        case 29: x_QTextBlockFormat::x_29(args);	break;
        case 30: x_QTextBlockFormat::x_30(args);	break;
        case 31: x_QTextBlockFormat::x_31(args);	break;
        case 32: x_QTextBlockFormat::x_32(args);	break;
        case 33: x_QTextBlockFormat::x_33(args);	break;
        case 34: delete (QTextBlockFormat*)xself;	break;
    }
}
class x_QTextBlockGroup : public QTextBlockGroup {
    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<QTextBlockGroup*>(this))) {
            const QMetaObject* xret = ((const x_QTextBlockGroup*)this)->QTextBlockGroup::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QTextBlockGroup*)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<QTextBlockGroup*>(this))) {
            void* xret = this->QTextBlockGroup::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 = QTextBlockGroup::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 = QTextBlockGroup::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 = QTextBlockGroup::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 = QTextBlockGroup::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<QTextBlockGroup*>(this))) {
            int xret = this->QTextBlockGroup::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) {
        // QTextBlockGroup* QTextBlockGroup(QTextDocument*)
        x_QTextBlockGroup* xret = new x_QTextBlockGroup((QTextDocument*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextBlockGroup(QTextDocument* x1) : QTextBlockGroup(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual void blockInserted(const QTextBlock&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBlockGroup*>(this))) {
            this->QTextBlockGroup::blockInserted(*(const QTextBlock*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->blockInserted(*(const QTextBlock*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_10(Smoke::Stack x) {
        // virtual void blockRemoved(const QTextBlock&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBlockGroup*>(this))) {
            this->QTextBlockGroup::blockRemoved(*(const QTextBlock*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->blockRemoved(*(const QTextBlock*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual void blockFormatChanged(const QTextBlock&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBlockGroup*>(this))) {
            this->QTextBlockGroup::blockFormatChanged(*(const QTextBlock*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->blockFormatChanged(*(const QTextBlock*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // QList<QTextBlock> blockList() const
        QList<QTextBlock> xret = ((const x_QTextBlockGroup*)this)->QTextBlockGroup::blockList();
        x[0].s_class = (void*)new QList<QTextBlock>(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QTextBlockGroup::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 = QTextBlockGroup::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) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QTextBlockGroup::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13252, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QTextBlockGroup::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13253, (void*)this, x)) return (void*)x[0].s_class;
        return this->QTextBlockGroup::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(13258, (void*)this, x)) return (int)x[0].s_int;
        return this->QTextBlockGroup::qt_metacall(x1, x2, x3);
    }
    virtual void blockInserted(const QTextBlock& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(13260, (void*)this, x)) return;
        this->QTextBlockGroup::blockInserted(x1);
    }
    virtual void blockRemoved(const QTextBlock& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(13261, (void*)this, x)) return;
        this->QTextBlockGroup::blockRemoved(x1);
    }
    virtual void blockFormatChanged(const QTextBlock& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(13262, (void*)this, x)) return;
        this->QTextBlockGroup::blockFormatChanged(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_QTextBlockGroup() { this->_binding->deleted(382, (void*)this); }
};
void xcall_QTextBlockGroup(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTextBlockGroup *xself = (x_QTextBlockGroup*)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_QTextBlockGroup::x_3(args);	break;
        case 4: x_QTextBlockGroup::x_4(args);	break;
        case 5: x_QTextBlockGroup::x_5(args);	break;
        case 6: x_QTextBlockGroup::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QTextBlockGroup::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: x_QTextBlockGroup::x_13(args);	break;
        case 14: x_QTextBlockGroup::x_14(args);	break;
        case 15: x_QTextBlockGroup::x_15(args);	break;
    }
}
class x_QTextBlockUserData : public QTextBlockUserData, 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) {
        // QTextBlockUserData* QTextBlockUserData()
        x_QTextBlockUserData* xret = new x_QTextBlockUserData();
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextBlockUserData() : QTextBlockUserData() {}
    static void x_2(Smoke::Stack x) {
        // QTextBlockUserData* QTextBlockUserData(const QTextBlockUserData&)
        x_QTextBlockUserData* xret = new x_QTextBlockUserData(*(const QTextBlockUserData*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextBlockUserData(const QTextBlockUserData& x1) : QTextBlockUserData(x1) {}
    ~x_QTextBlockUserData() { this->_binding->deleted(383, (void*)this); }
};
void xcall_QTextBlockUserData(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTextBlockUserData *xself = (x_QTextBlockUserData*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QTextBlockUserData::x_1(args);	break;
        case 2: x_QTextBlockUserData::x_2(args);	break;
        case 3: delete (QTextBlockUserData*)xself;	break;
    }
}
class x_QTextBrowser : public QTextBrowser, 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<QTextBrowser*>(this))) {
            const QMetaObject* xret = ((const x_QTextBrowser*)this)->QTextBrowser::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QTextBrowser*)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<QTextBrowser*>(this))) {
            void* xret = this->QTextBrowser::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 = QTextBrowser::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 = QTextBrowser::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 = QTextBrowser::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 = QTextBrowser::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<QTextBrowser*>(this))) {
            int xret = this->QTextBrowser::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) {
        // QTextBrowser* QTextBrowser(QWidget*)
        x_QTextBrowser* xret = new x_QTextBrowser((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextBrowser(QWidget* x1) : QTextBrowser(x1) {}
    void x_9(Smoke::Stack x) {
        // QUrl source() const
        QUrl xret = ((const x_QTextBrowser*)this)->QTextBrowser::source();
        x[0].s_class = (void*)new QUrl(xret);
    }
    void x_10(Smoke::Stack x) {
        // QStringList searchPaths() const
        QStringList xret = ((const x_QTextBrowser*)this)->QTextBrowser::searchPaths();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_11(Smoke::Stack x) {
        // void setSearchPaths(const QStringList&)
        this->QTextBrowser::setSearchPaths(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // virtual QVariant loadResource(int, const QUrl&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            QVariant xret = this->QTextBrowser::loadResource((int)x[1].s_int,*(const QUrl*)x[2].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = this->loadResource((int)x[1].s_int,*(const QUrl*)x[2].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // bool isBackwardAvailable() const
        bool xret = ((const x_QTextBrowser*)this)->QTextBrowser::isBackwardAvailable();
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // bool isForwardAvailable() const
        bool xret = ((const x_QTextBrowser*)this)->QTextBrowser::isForwardAvailable();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // void clearHistory()
        this->QTextBrowser::clearHistory();
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // QString historyTitle(int) const
        QString xret = ((const x_QTextBrowser*)this)->QTextBrowser::historyTitle((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_17(Smoke::Stack x) {
        // QUrl historyUrl(int) const
        QUrl xret = ((const x_QTextBrowser*)this)->QTextBrowser::historyUrl((int)x[1].s_int);
        x[0].s_class = (void*)new QUrl(xret);
    }
    void x_18(Smoke::Stack x) {
        // int backwardHistoryCount() const
        int xret = ((const x_QTextBrowser*)this)->QTextBrowser::backwardHistoryCount();
        x[0].s_int = xret;
    }
    void x_19(Smoke::Stack x) {
        // int forwardHistoryCount() const
        int xret = ((const x_QTextBrowser*)this)->QTextBrowser::forwardHistoryCount();
        x[0].s_int = xret;
    }
    void x_20(Smoke::Stack x) {
        // bool openExternalLinks() const
        bool xret = ((const x_QTextBrowser*)this)->QTextBrowser::openExternalLinks();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // void setOpenExternalLinks(bool)
        this->QTextBrowser::setOpenExternalLinks((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // bool openLinks() const
        bool xret = ((const x_QTextBrowser*)this)->QTextBrowser::openLinks();
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // void setOpenLinks(bool)
        this->QTextBrowser::setOpenLinks((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // virtual void setSource(const QUrl&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            this->QTextBrowser::setSource(*(const QUrl*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setSource(*(const QUrl*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_25(Smoke::Stack x) {
        // virtual void backward()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            this->QTextBrowser::backward();
            (void)x; // noop (for compiler warning)
        } else {
            this->backward();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_26(Smoke::Stack x) {
        // virtual void forward()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            this->QTextBrowser::forward();
            (void)x; // noop (for compiler warning)
        } else {
            this->forward();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_27(Smoke::Stack x) {
        // virtual void home()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            this->QTextBrowser::home();
            (void)x; // noop (for compiler warning)
        } else {
            this->home();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_28(Smoke::Stack x) {
        // virtual void reload()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            this->QTextBrowser::reload();
            (void)x; // noop (for compiler warning)
        } else {
            this->reload();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_29(Smoke::Stack x) {
        // void backwardAvailable(bool)
        this->QTextBrowser::backwardAvailable((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // void forwardAvailable(bool)
        this->QTextBrowser::forwardAvailable((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // void historyChanged()
        this->QTextBrowser::historyChanged();
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // void sourceChanged(const QUrl&)
        this->QTextBrowser::sourceChanged(*(const QUrl*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // void highlighted(const QUrl&)
        this->QTextBrowser::highlighted(*(const QUrl*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // void highlighted(const QString&)
        this->QTextBrowser::highlighted(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // void anchorClicked(const QUrl&)
        this->QTextBrowser::anchorClicked(*(const QUrl*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            bool xret = this->QTextBrowser::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_37(Smoke::Stack x) {
        // virtual void keyPressEvent(QKeyEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            this->QTextBrowser::keyPressEvent((QKeyEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->keyPressEvent((QKeyEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_38(Smoke::Stack x) {
        // virtual void mouseMoveEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            this->QTextBrowser::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_39(Smoke::Stack x) {
        // virtual void mousePressEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            this->QTextBrowser::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_40(Smoke::Stack x) {
        // virtual void mouseReleaseEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            this->QTextBrowser::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_41(Smoke::Stack x) {
        // virtual void focusOutEvent(QFocusEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            this->QTextBrowser::focusOutEvent((QFocusEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->focusOutEvent((QFocusEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_42(Smoke::Stack x) {
        // virtual bool focusNextPrevChild(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            bool xret = this->QTextBrowser::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_43(Smoke::Stack x) {
        // virtual void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextBrowser*>(this))) {
            this->QTextBrowser::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)
        }
    }
    static void x_44(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QTextBrowser::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_45(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QTextBrowser::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_46(Smoke::Stack x) {
        // QTextBrowser* QTextBrowser()
        x_QTextBrowser* xret = new x_QTextBrowser((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_47(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QTextBrowser::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13271, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QTextBrowser::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13272, (void*)this, x)) return (void*)x[0].s_class;
        return this->QTextBrowser::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(13277, (void*)this, x)) return (int)x[0].s_int;
        return this->QTextBrowser::qt_metacall(x1, x2, x3);
    }
    virtual QVariant loadResource(int x1, const QUrl& x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(13282, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTextBrowser::loadResource(x1, x2);
    }
    virtual void setSource(const QUrl& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(13294, (void*)this, x)) return;
        this->QTextBrowser::setSource(x1);
    }
    virtual void backward() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13295, (void*)this, x)) return;
        this->QTextBrowser::backward();
    }
    virtual void forward() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13296, (void*)this, x)) return;
        this->QTextBrowser::forward();
    }
    virtual void home() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13297, (void*)this, x)) return;
        this->QTextBrowser::home();
    }
    virtual void reload() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13298, (void*)this, x)) return;
        this->QTextBrowser::reload();
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13307, (void*)this, x)) return;
        this->QTextBrowser::keyPressEvent(x1);
    }
    virtual void mouseMoveEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13308, (void*)this, x)) return;
        this->QTextBrowser::mouseMoveEvent(x1);
    }
    virtual void mousePressEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13309, (void*)this, x)) return;
        this->QTextBrowser::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13310, (void*)this, x)) return;
        this->QTextBrowser::mouseReleaseEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13311, (void*)this, x)) return;
        this->QTextBrowser::focusOutEvent(x1);
    }
    virtual bool focusNextPrevChild(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(13312, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTextBrowser::focusNextPrevChild(x1);
    }
    virtual void paintEvent(QPaintEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13313, (void*)this, x)) return;
        this->QTextBrowser::paintEvent(x1);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13306, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTextBrowser::event(x1);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13762, (void*)this, x)) return;
        this->QTextEdit::timerEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13764, (void*)this, x)) return;
        this->QTextEdit::keyReleaseEvent(x1);
    }
    virtual void resizeEvent(QResizeEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13765, (void*)this, x)) return;
        this->QTextEdit::resizeEvent(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13770, (void*)this, x)) return;
        this->QTextEdit::mouseDoubleClickEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13772, (void*)this, x)) return;
        this->QTextEdit::contextMenuEvent(x1);
    }
    virtual void dragEnterEvent(QDragEnterEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13773, (void*)this, x)) return;
        this->QTextEdit::dragEnterEvent(x1);
    }
    virtual void dragLeaveEvent(QDragLeaveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13774, (void*)this, x)) return;
        this->QTextEdit::dragLeaveEvent(x1);
    }
    virtual void dragMoveEvent(QDragMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13775, (void*)this, x)) return;
        this->QTextEdit::dragMoveEvent(x1);
    }
    virtual void dropEvent(QDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13776, (void*)this, x)) return;
        this->QTextEdit::dropEvent(x1);
    }
    virtual void focusInEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13777, (void*)this, x)) return;
        this->QTextEdit::focusInEvent(x1);
    }
    virtual void showEvent(QShowEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13779, (void*)this, x)) return;
        this->QTextEdit::showEvent(x1);
    }
    virtual void changeEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13780, (void*)this, x)) return;
        this->QTextEdit::changeEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13781, (void*)this, x)) return;
        this->QTextEdit::wheelEvent(x1);
    }
    virtual QMimeData* createMimeDataFromSelection() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13782, (void*)this, x)) return (QMimeData*)x[0].s_class;
        return this->QTextEdit::createMimeDataFromSelection();
    }
    virtual bool canInsertFromMimeData(const QMimeData* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13783, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTextEdit::canInsertFromMimeData(x1);
    }
    virtual void insertFromMimeData(const QMimeData* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13784, (void*)this, x)) return;
        this->QTextEdit::insertFromMimeData(x1);
    }
    virtual void inputMethodEvent(QInputMethodEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13785, (void*)this, x)) return;
        this->QTextEdit::inputMethodEvent(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(13787, (void*)this, x)) return;
        this->QTextEdit::scrollContentsBy(x1, x2);
    }
    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 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(440, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractScrollArea::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 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 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 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 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 QVariant inputMethodQuery(Qt::InputMethodQuery x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(13786, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTextEdit::inputMethodQuery(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 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 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_QTextBrowser() { this->_binding->deleted(384, (void*)this); }
};
void xcall_QTextBrowser(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTextBrowser *xself = (x_QTextBrowser*)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_QTextBrowser::x_3(args);	break;
        case 4: x_QTextBrowser::x_4(args);	break;
        case 5: x_QTextBrowser::x_5(args);	break;
        case 6: x_QTextBrowser::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QTextBrowser::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: x_QTextBrowser::x_44(args);	break;
        case 45: x_QTextBrowser::x_45(args);	break;
        case 46: x_QTextBrowser::x_46(args);	break;
        case 47: x_QTextBrowser::x_47(args);	break;
        case 48: delete (QTextBrowser*)xself;	break;
    }
}
class x_QTextCharFormat : public QTextCharFormat {
    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) {
        // QTextCharFormat* QTextCharFormat()
        x_QTextCharFormat* xret = new x_QTextCharFormat();
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextCharFormat() : QTextCharFormat() {}
    void x_2(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::isValid();
        x[0].s_bool = xret;
    }
    void x_3(Smoke::Stack x) {
        // void setFont(const QFont&)
        this->QTextCharFormat::setFont(*(const QFont*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // QFont font() const
        QFont xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::font();
        x[0].s_class = (void*)new QFont(xret);
    }
    void x_5(Smoke::Stack x) {
        // void setFontFamily(const QString&)
        this->QTextCharFormat::setFontFamily(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // QString fontFamily() const
        QString xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontFamily();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setFontPointSize(double)
        this->QTextCharFormat::setFontPointSize((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // double fontPointSize() const
        double xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontPointSize();
        x[0].s_double = xret;
    }
    void x_9(Smoke::Stack x) {
        // void setFontWeight(int)
        this->QTextCharFormat::setFontWeight((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // int fontWeight() const
        int xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontWeight();
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // void setFontItalic(bool)
        this->QTextCharFormat::setFontItalic((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // bool fontItalic() const
        bool xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontItalic();
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setFontCapitalization(QFont::Capitalization)
        this->QTextCharFormat::setFontCapitalization((QFont::Capitalization)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QFont::Capitalization fontCapitalization() const
        QFont::Capitalization xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontCapitalization();
        x[0].s_enum = xret;
    }
    void x_15(Smoke::Stack x) {
        // void setFontLetterSpacing(double)
        this->QTextCharFormat::setFontLetterSpacing((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // double fontLetterSpacing() const
        double xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontLetterSpacing();
        x[0].s_double = xret;
    }
    void x_17(Smoke::Stack x) {
        // void setFontWordSpacing(double)
        this->QTextCharFormat::setFontWordSpacing((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // double fontWordSpacing() const
        double xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontWordSpacing();
        x[0].s_double = xret;
    }
    void x_19(Smoke::Stack x) {
        // void setFontUnderline(bool)
        this->QTextCharFormat::setFontUnderline((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // bool fontUnderline() const
        bool xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontUnderline();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // void setFontOverline(bool)
        this->QTextCharFormat::setFontOverline((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // bool fontOverline() const
        bool xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontOverline();
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // void setFontStrikeOut(bool)
        this->QTextCharFormat::setFontStrikeOut((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // bool fontStrikeOut() const
        bool xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontStrikeOut();
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // void setUnderlineColor(const QColor&)
        this->QTextCharFormat::setUnderlineColor(*(const QColor*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // QColor underlineColor() const
        QColor xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::underlineColor();
        x[0].s_class = (void*)new QColor(xret);
    }
    void x_27(Smoke::Stack x) {
        // void setFontFixedPitch(bool)
        this->QTextCharFormat::setFontFixedPitch((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // bool fontFixedPitch() const
        bool xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontFixedPitch();
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // void setFontStyleHint(QFont::StyleHint, QFont::StyleStrategy)
        this->QTextCharFormat::setFontStyleHint((QFont::StyleHint)x[1].s_enum,(QFont::StyleStrategy)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // void setFontStyleStrategy(QFont::StyleStrategy)
        this->QTextCharFormat::setFontStyleStrategy((QFont::StyleStrategy)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // QFont::StyleHint fontStyleHint() const
        QFont::StyleHint xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontStyleHint();
        x[0].s_enum = xret;
    }
    void x_32(Smoke::Stack x) {
        // QFont::StyleStrategy fontStyleStrategy() const
        QFont::StyleStrategy xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontStyleStrategy();
        x[0].s_enum = xret;
    }
    void x_33(Smoke::Stack x) {
        // void setFontHintingPreference(QFont::HintingPreference)
        this->QTextCharFormat::setFontHintingPreference((QFont::HintingPreference)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // QFont::HintingPreference fontHintingPreference() const
        QFont::HintingPreference xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontHintingPreference();
        x[0].s_enum = xret;
    }
    void x_35(Smoke::Stack x) {
        // void setFontKerning(bool)
        this->QTextCharFormat::setFontKerning((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // bool fontKerning() const
        bool xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::fontKerning();
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // void setUnderlineStyle(QTextCharFormat::UnderlineStyle)
        this->QTextCharFormat::setUnderlineStyle((QTextCharFormat::UnderlineStyle)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // QTextCharFormat::UnderlineStyle underlineStyle() const
        QTextCharFormat::UnderlineStyle xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::underlineStyle();
        x[0].s_enum = xret;
    }
    void x_39(Smoke::Stack x) {
        // void setVerticalAlignment(QTextCharFormat::VerticalAlignment)
        this->QTextCharFormat::setVerticalAlignment((QTextCharFormat::VerticalAlignment)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_40(Smoke::Stack x) {
        // QTextCharFormat::VerticalAlignment verticalAlignment() const
        QTextCharFormat::VerticalAlignment xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::verticalAlignment();
        x[0].s_enum = xret;
    }
    void x_41(Smoke::Stack x) {
        // void setTextOutline(const QPen&)
        this->QTextCharFormat::setTextOutline(*(const QPen*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_42(Smoke::Stack x) {
        // QPen textOutline() const
        QPen xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::textOutline();
        x[0].s_class = (void*)new QPen(xret);
    }
    void x_43(Smoke::Stack x) {
        // void setToolTip(const QString&)
        this->QTextCharFormat::setToolTip(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_44(Smoke::Stack x) {
        // QString toolTip() const
        QString xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::toolTip();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_45(Smoke::Stack x) {
        // void setAnchor(bool)
        this->QTextCharFormat::setAnchor((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // bool isAnchor() const
        bool xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::isAnchor();
        x[0].s_bool = xret;
    }
    void x_47(Smoke::Stack x) {
        // void setAnchorHref(const QString&)
        this->QTextCharFormat::setAnchorHref(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_48(Smoke::Stack x) {
        // QString anchorHref() const
        QString xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::anchorHref();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_49(Smoke::Stack x) {
        // void setAnchorName(const QString&)
        this->QTextCharFormat::setAnchorName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_50(Smoke::Stack x) {
        // QString anchorName() const
        QString xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::anchorName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_51(Smoke::Stack x) {
        // void setAnchorNames(const QStringList&)
        this->QTextCharFormat::setAnchorNames(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_52(Smoke::Stack x) {
        // QStringList anchorNames() const
        QStringList xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::anchorNames();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_53(Smoke::Stack x) {
        // void setTableCellRowSpan(int)
        this->QTextCharFormat::setTableCellRowSpan((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_54(Smoke::Stack x) {
        // int tableCellRowSpan() const
        int xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::tableCellRowSpan();
        x[0].s_int = xret;
    }
    void x_55(Smoke::Stack x) {
        // void setTableCellColumnSpan(int)
        this->QTextCharFormat::setTableCellColumnSpan((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_56(Smoke::Stack x) {
        // int tableCellColumnSpan() const
        int xret = ((const x_QTextCharFormat*)this)->QTextCharFormat::tableCellColumnSpan();
        x[0].s_int = xret;
    }
    static void x_57(Smoke::Stack x) {
        // QTextCharFormat* QTextCharFormat(const QTextFormat&)
        x_QTextCharFormat* xret = new x_QTextCharFormat(*(const QTextFormat*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextCharFormat(const QTextFormat& x1) : QTextCharFormat(x1) {}
    static void x_58(Smoke::Stack x) {
        // QTextCharFormat* QTextCharFormat(const QTextCharFormat&)
        x_QTextCharFormat* xret = new x_QTextCharFormat(*(const QTextCharFormat*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextCharFormat(const QTextCharFormat& x1) : QTextCharFormat(x1) {}
    void x_59(Smoke::Stack x) {
        // void setFontStyleHint(QFont::StyleHint)
        this->QTextCharFormat::setFontStyleHint((QFont::StyleHint)x[1].s_enum,(QFont::StyleStrategy)QFont::PreferDefault);
        (void)x; // noop (for compiler warning)
    }
    static void x_60(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::AlignNormal;
    }
    static void x_61(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::AlignSuperScript;
    }
    static void x_62(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::AlignSubScript;
    }
    static void x_63(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::AlignMiddle;
    }
    static void x_64(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::AlignTop;
    }
    static void x_65(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::AlignBottom;
    }
    static void x_66(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::AlignBaseline;
    }
    static void x_67(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::NoUnderline;
    }
    static void x_68(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::SingleUnderline;
    }
    static void x_69(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::DashUnderline;
    }
    static void x_70(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::DotLine;
    }
    static void x_71(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::DashDotLine;
    }
    static void x_72(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::DashDotDotLine;
    }
    static void x_73(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::WaveUnderline;
    }
    static void x_74(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCharFormat::SpellCheckUnderline;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 927: //QTextCharFormat::VerticalAlignment
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTextCharFormat::VerticalAlignment;
                    break;
                case Smoke::EnumDelete:
                    delete (QTextCharFormat::VerticalAlignment*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTextCharFormat::VerticalAlignment*)xdata = (QTextCharFormat::VerticalAlignment)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTextCharFormat::VerticalAlignment*)xdata;
                    break;
            }
            break;
        case 926: //QTextCharFormat::UnderlineStyle
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTextCharFormat::UnderlineStyle;
                    break;
                case Smoke::EnumDelete:
                    delete (QTextCharFormat::UnderlineStyle*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTextCharFormat::UnderlineStyle*)xdata = (QTextCharFormat::UnderlineStyle)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTextCharFormat::UnderlineStyle*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QTextCharFormat() { this->_binding->deleted(385, (void*)this); }
};
void xenum_QTextCharFormat(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QTextCharFormat::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QTextCharFormat(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTextCharFormat *xself = (x_QTextCharFormat*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QTextCharFormat::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: 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: x_QTextCharFormat::x_57(args);	break;
        case 58: x_QTextCharFormat::x_58(args);	break;
        case 59: xself->x_59(args);	break;
        case 60: x_QTextCharFormat::x_60(args);	break;
        case 61: x_QTextCharFormat::x_61(args);	break;
        case 62: x_QTextCharFormat::x_62(args);	break;
        case 63: x_QTextCharFormat::x_63(args);	break;
        case 64: x_QTextCharFormat::x_64(args);	break;
        case 65: x_QTextCharFormat::x_65(args);	break;
        case 66: x_QTextCharFormat::x_66(args);	break;
        case 67: x_QTextCharFormat::x_67(args);	break;
        case 68: x_QTextCharFormat::x_68(args);	break;
        case 69: x_QTextCharFormat::x_69(args);	break;
        case 70: x_QTextCharFormat::x_70(args);	break;
        case 71: x_QTextCharFormat::x_71(args);	break;
        case 72: x_QTextCharFormat::x_72(args);	break;
        case 73: x_QTextCharFormat::x_73(args);	break;
        case 74: x_QTextCharFormat::x_74(args);	break;
        case 75: delete (QTextCharFormat*)xself;	break;
    }
}
class x_QTextCursor : public QTextCursor {
    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) {
        // QTextCursor* QTextCursor()
        x_QTextCursor* xret = new x_QTextCursor();
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextCursor() : QTextCursor() {}
    static void x_2(Smoke::Stack x) {
        // QTextCursor* QTextCursor(QTextDocument*)
        x_QTextCursor* xret = new x_QTextCursor((QTextDocument*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextCursor(QTextDocument* x1) : QTextCursor(x1) {}
    static void x_3(Smoke::Stack x) {
        // QTextCursor* QTextCursor(QTextFrame*)
        x_QTextCursor* xret = new x_QTextCursor((QTextFrame*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextCursor(QTextFrame* x1) : QTextCursor(x1) {}
    static void x_4(Smoke::Stack x) {
        // QTextCursor* QTextCursor(const QTextBlock&)
        x_QTextCursor* xret = new x_QTextCursor(*(const QTextBlock*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextCursor(const QTextBlock& x1) : QTextCursor(x1) {}
    static void x_5(Smoke::Stack x) {
        // QTextCursor* QTextCursor(const QTextCursor&)
        x_QTextCursor* xret = new x_QTextCursor(*(const QTextCursor*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextCursor(const QTextCursor& x1) : QTextCursor(x1) {}
    void x_6(Smoke::Stack x) {
        // QTextCursor& operator=(const QTextCursor&)
        QTextCursor& xret = this->QTextCursor::operator=(*(const QTextCursor*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_7(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::isNull();
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // void setPosition(int, QTextCursor::MoveMode)
        this->QTextCursor::setPosition((int)x[1].s_int,(QTextCursor::MoveMode)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // int position() const
        int xret = ((const x_QTextCursor*)this)->QTextCursor::position();
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // int positionInBlock() const
        int xret = ((const x_QTextCursor*)this)->QTextCursor::positionInBlock();
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // int anchor() const
        int xret = ((const x_QTextCursor*)this)->QTextCursor::anchor();
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // void insertText(const QString&)
        this->QTextCursor::insertText(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void insertText(const QString&, const QTextCharFormat&)
        this->QTextCursor::insertText(*(const QString*)x[1].s_class,*(const QTextCharFormat*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool movePosition(QTextCursor::MoveOperation, QTextCursor::MoveMode, int)
        bool xret = this->QTextCursor::movePosition((QTextCursor::MoveOperation)x[1].s_enum,(QTextCursor::MoveMode)x[2].s_enum,(int)x[3].s_int);
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // bool visualNavigation() const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::visualNavigation();
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // void setVisualNavigation(bool)
        this->QTextCursor::setVisualNavigation((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void setVerticalMovementX(int)
        this->QTextCursor::setVerticalMovementX((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // int verticalMovementX() const
        int xret = ((const x_QTextCursor*)this)->QTextCursor::verticalMovementX();
        x[0].s_int = xret;
    }
    void x_19(Smoke::Stack x) {
        // void setKeepPositionOnInsert(bool)
        this->QTextCursor::setKeepPositionOnInsert((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // bool keepPositionOnInsert() const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::keepPositionOnInsert();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // void deleteChar()
        this->QTextCursor::deleteChar();
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void deletePreviousChar()
        this->QTextCursor::deletePreviousChar();
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void select(QTextCursor::SelectionType)
        this->QTextCursor::select((QTextCursor::SelectionType)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // bool hasSelection() const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::hasSelection();
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // bool hasComplexSelection() const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::hasComplexSelection();
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // void removeSelectedText()
        this->QTextCursor::removeSelectedText();
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // void clearSelection()
        this->QTextCursor::clearSelection();
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // int selectionStart() const
        int xret = ((const x_QTextCursor*)this)->QTextCursor::selectionStart();
        x[0].s_int = xret;
    }
    void x_29(Smoke::Stack x) {
        // int selectionEnd() const
        int xret = ((const x_QTextCursor*)this)->QTextCursor::selectionEnd();
        x[0].s_int = xret;
    }
    void x_30(Smoke::Stack x) {
        // QString selectedText() const
        QString xret = ((const x_QTextCursor*)this)->QTextCursor::selectedText();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_31(Smoke::Stack x) {
        // QTextDocumentFragment selection() const
        QTextDocumentFragment xret = ((const x_QTextCursor*)this)->QTextCursor::selection();
        x[0].s_class = (void*)new QTextDocumentFragment(xret);
    }
    void x_32(Smoke::Stack x) {
        // void selectedTableCells(int*, int*, int*, int*) const
        ((const x_QTextCursor*)this)->QTextCursor::selectedTableCells((int*)x[1].s_class,(int*)x[2].s_class,(int*)x[3].s_class,(int*)x[4].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // QTextBlock block() const
        QTextBlock xret = ((const x_QTextCursor*)this)->QTextCursor::block();
        x[0].s_class = (void*)new QTextBlock(xret);
    }
    void x_34(Smoke::Stack x) {
        // QTextCharFormat charFormat() const
        QTextCharFormat xret = ((const x_QTextCursor*)this)->QTextCursor::charFormat();
        x[0].s_class = (void*)new QTextCharFormat(xret);
    }
    void x_35(Smoke::Stack x) {
        // void setCharFormat(const QTextCharFormat&)
        this->QTextCursor::setCharFormat(*(const QTextCharFormat*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // void mergeCharFormat(const QTextCharFormat&)
        this->QTextCursor::mergeCharFormat(*(const QTextCharFormat*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // QTextBlockFormat blockFormat() const
        QTextBlockFormat xret = ((const x_QTextCursor*)this)->QTextCursor::blockFormat();
        x[0].s_class = (void*)new QTextBlockFormat(xret);
    }
    void x_38(Smoke::Stack x) {
        // void setBlockFormat(const QTextBlockFormat&)
        this->QTextCursor::setBlockFormat(*(const QTextBlockFormat*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // void mergeBlockFormat(const QTextBlockFormat&)
        this->QTextCursor::mergeBlockFormat(*(const QTextBlockFormat*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_40(Smoke::Stack x) {
        // QTextCharFormat blockCharFormat() const
        QTextCharFormat xret = ((const x_QTextCursor*)this)->QTextCursor::blockCharFormat();
        x[0].s_class = (void*)new QTextCharFormat(xret);
    }
    void x_41(Smoke::Stack x) {
        // void setBlockCharFormat(const QTextCharFormat&)
        this->QTextCursor::setBlockCharFormat(*(const QTextCharFormat*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_42(Smoke::Stack x) {
        // void mergeBlockCharFormat(const QTextCharFormat&)
        this->QTextCursor::mergeBlockCharFormat(*(const QTextCharFormat*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_43(Smoke::Stack x) {
        // bool atBlockStart() const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::atBlockStart();
        x[0].s_bool = xret;
    }
    void x_44(Smoke::Stack x) {
        // bool atBlockEnd() const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::atBlockEnd();
        x[0].s_bool = xret;
    }
    void x_45(Smoke::Stack x) {
        // bool atStart() const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::atStart();
        x[0].s_bool = xret;
    }
    void x_46(Smoke::Stack x) {
        // bool atEnd() const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::atEnd();
        x[0].s_bool = xret;
    }
    void x_47(Smoke::Stack x) {
        // void insertBlock()
        this->QTextCursor::insertBlock();
        (void)x; // noop (for compiler warning)
    }
    void x_48(Smoke::Stack x) {
        // void insertBlock(const QTextBlockFormat&)
        this->QTextCursor::insertBlock(*(const QTextBlockFormat*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_49(Smoke::Stack x) {
        // void insertBlock(const QTextBlockFormat&, const QTextCharFormat&)
        this->QTextCursor::insertBlock(*(const QTextBlockFormat*)x[1].s_class,*(const QTextCharFormat*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_50(Smoke::Stack x) {
        // QTextList* insertList(const QTextListFormat&)
        QTextList* xret = this->QTextCursor::insertList(*(const QTextListFormat*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_51(Smoke::Stack x) {
        // QTextList* insertList(QTextListFormat::Style)
        QTextList* xret = this->QTextCursor::insertList((QTextListFormat::Style)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    void x_52(Smoke::Stack x) {
        // QTextList* createList(const QTextListFormat&)
        QTextList* xret = this->QTextCursor::createList(*(const QTextListFormat*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_53(Smoke::Stack x) {
        // QTextList* createList(QTextListFormat::Style)
        QTextList* xret = this->QTextCursor::createList((QTextListFormat::Style)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    void x_54(Smoke::Stack x) {
        // QTextList* currentList() const
        QTextList* xret = ((const x_QTextCursor*)this)->QTextCursor::currentList();
        x[0].s_class = (void*)xret;
    }
    void x_55(Smoke::Stack x) {
        // QTextTable* insertTable(int, int, const QTextTableFormat&)
        QTextTable* xret = this->QTextCursor::insertTable((int)x[1].s_int,(int)x[2].s_int,*(const QTextTableFormat*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_56(Smoke::Stack x) {
        // QTextTable* insertTable(int, int)
        QTextTable* xret = this->QTextCursor::insertTable((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_57(Smoke::Stack x) {
        // QTextTable* currentTable() const
        QTextTable* xret = ((const x_QTextCursor*)this)->QTextCursor::currentTable();
        x[0].s_class = (void*)xret;
    }
    void x_58(Smoke::Stack x) {
        // QTextFrame* insertFrame(const QTextFrameFormat&)
        QTextFrame* xret = this->QTextCursor::insertFrame(*(const QTextFrameFormat*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_59(Smoke::Stack x) {
        // QTextFrame* currentFrame() const
        QTextFrame* xret = ((const x_QTextCursor*)this)->QTextCursor::currentFrame();
        x[0].s_class = (void*)xret;
    }
    void x_60(Smoke::Stack x) {
        // void insertFragment(const QTextDocumentFragment&)
        this->QTextCursor::insertFragment(*(const QTextDocumentFragment*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_61(Smoke::Stack x) {
        // void insertHtml(const QString&)
        this->QTextCursor::insertHtml(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_62(Smoke::Stack x) {
        // void insertImage(const QTextImageFormat&, QTextFrameFormat::Position)
        this->QTextCursor::insertImage(*(const QTextImageFormat*)x[1].s_class,(QTextFrameFormat::Position)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_63(Smoke::Stack x) {
        // void insertImage(const QTextImageFormat&)
        this->QTextCursor::insertImage(*(const QTextImageFormat*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_64(Smoke::Stack x) {
        // void insertImage(const QString&)
        this->QTextCursor::insertImage(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_65(Smoke::Stack x) {
        // void insertImage(const QImage&, const QString&)
        this->QTextCursor::insertImage(*(const QImage*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_66(Smoke::Stack x) {
        // void beginEditBlock()
        this->QTextCursor::beginEditBlock();
        (void)x; // noop (for compiler warning)
    }
    void x_67(Smoke::Stack x) {
        // void joinPreviousEditBlock()
        this->QTextCursor::joinPreviousEditBlock();
        (void)x; // noop (for compiler warning)
    }
    void x_68(Smoke::Stack x) {
        // void endEditBlock()
        this->QTextCursor::endEditBlock();
        (void)x; // noop (for compiler warning)
    }
    void x_69(Smoke::Stack x) {
        // bool operator!=(const QTextCursor&) const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::operator!=(*(const QTextCursor*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_70(Smoke::Stack x) {
        // bool operator<(const QTextCursor&) const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::operator<(*(const QTextCursor*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_71(Smoke::Stack x) {
        // bool operator<=(const QTextCursor&) const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::operator<=(*(const QTextCursor*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_72(Smoke::Stack x) {
        // bool operator==(const QTextCursor&) const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::operator==(*(const QTextCursor*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_73(Smoke::Stack x) {
        // bool operator>=(const QTextCursor&) const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::operator>=(*(const QTextCursor*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_74(Smoke::Stack x) {
        // bool operator>(const QTextCursor&) const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::operator>(*(const QTextCursor*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_75(Smoke::Stack x) {
        // bool isCopyOf(const QTextCursor&) const
        bool xret = ((const x_QTextCursor*)this)->QTextCursor::isCopyOf(*(const QTextCursor*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_76(Smoke::Stack x) {
        // int blockNumber() const
        int xret = ((const x_QTextCursor*)this)->QTextCursor::blockNumber();
        x[0].s_int = xret;
    }
    void x_77(Smoke::Stack x) {
        // int columnNumber() const
        int xret = ((const x_QTextCursor*)this)->QTextCursor::columnNumber();
        x[0].s_int = xret;
    }
    void x_78(Smoke::Stack x) {
        // QTextDocument* document() const
        QTextDocument* xret = ((const x_QTextCursor*)this)->QTextCursor::document();
        x[0].s_class = (void*)xret;
    }
    void x_79(Smoke::Stack x) {
        // void setPosition(int)
        this->QTextCursor::setPosition((int)x[1].s_int,(QTextCursor::MoveMode)QTextCursor::MoveAnchor);
        (void)x; // noop (for compiler warning)
    }
    void x_80(Smoke::Stack x) {
        // bool movePosition(QTextCursor::MoveOperation)
        bool xret = this->QTextCursor::movePosition((QTextCursor::MoveOperation)x[1].s_enum,(QTextCursor::MoveMode)QTextCursor::MoveAnchor,(int)1);
        x[0].s_bool = xret;
    }
    void x_81(Smoke::Stack x) {
        // bool movePosition(QTextCursor::MoveOperation, QTextCursor::MoveMode)
        bool xret = this->QTextCursor::movePosition((QTextCursor::MoveOperation)x[1].s_enum,(QTextCursor::MoveMode)x[2].s_enum,(int)1);
        x[0].s_bool = xret;
    }
    void x_82(Smoke::Stack x) {
        // void insertImage(const QImage&)
        this->QTextCursor::insertImage(*(const QImage*)x[1].s_class,(const QString&)QString());
        (void)x; // noop (for compiler warning)
    }
    static void x_83(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::MoveAnchor;
    }
    static void x_84(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::KeepAnchor;
    }
    static void x_85(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::NoMove;
    }
    static void x_86(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::Start;
    }
    static void x_87(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::Up;
    }
    static void x_88(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::StartOfLine;
    }
    static void x_89(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::StartOfBlock;
    }
    static void x_90(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::StartOfWord;
    }
    static void x_91(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::PreviousBlock;
    }
    static void x_92(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::PreviousCharacter;
    }
    static void x_93(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::PreviousWord;
    }
    static void x_94(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::Left;
    }
    static void x_95(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::WordLeft;
    }
    static void x_96(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::End;
    }
    static void x_97(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::Down;
    }
    static void x_98(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::EndOfLine;
    }
    static void x_99(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::EndOfWord;
    }
    static void x_100(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::EndOfBlock;
    }
    static void x_101(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::NextBlock;
    }
    static void x_102(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::NextCharacter;
    }
    static void x_103(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::NextWord;
    }
    static void x_104(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::Right;
    }
    static void x_105(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::WordRight;
    }
    static void x_106(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::NextCell;
    }
    static void x_107(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::PreviousCell;
    }
    static void x_108(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::NextRow;
    }
    static void x_109(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::PreviousRow;
    }
    static void x_110(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::WordUnderCursor;
    }
    static void x_111(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::LineUnderCursor;
    }
    static void x_112(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::BlockUnderCursor;
    }
    static void x_113(Smoke::Stack x) {
        x[0].s_enum = (long)QTextCursor::Document;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 932: //QTextCursor::MoveMode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTextCursor::MoveMode;
                    break;
                case Smoke::EnumDelete:
                    delete (QTextCursor::MoveMode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTextCursor::MoveMode*)xdata = (QTextCursor::MoveMode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTextCursor::MoveMode*)xdata;
                    break;
            }
            break;
        case 933: //QTextCursor::MoveOperation
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTextCursor::MoveOperation;
                    break;
                case Smoke::EnumDelete:
                    delete (QTextCursor::MoveOperation*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTextCursor::MoveOperation*)xdata = (QTextCursor::MoveOperation)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTextCursor::MoveOperation*)xdata;
                    break;
            }
            break;
        case 934: //QTextCursor::SelectionType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTextCursor::SelectionType;
                    break;
                case Smoke::EnumDelete:
                    delete (QTextCursor::SelectionType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTextCursor::SelectionType*)xdata = (QTextCursor::SelectionType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTextCursor::SelectionType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QTextCursor() { this->_binding->deleted(387, (void*)this); }
};
void xenum_QTextCursor(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QTextCursor::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QTextCursor(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTextCursor *xself = (x_QTextCursor*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QTextCursor::x_1(args);	break;
        case 2: x_QTextCursor::x_2(args);	break;
        case 3: x_QTextCursor::x_3(args);	break;
        case 4: x_QTextCursor::x_4(args);	break;
        case 5: x_QTextCursor::x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: xself->x_53(args);	break;
        case 54: xself->x_54(args);	break;
        case 55: xself->x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: xself->x_58(args);	break;
        case 59: xself->x_59(args);	break;
        case 60: xself->x_60(args);	break;
        case 61: xself->x_61(args);	break;
        case 62: xself->x_62(args);	break;
        case 63: xself->x_63(args);	break;
        case 64: xself->x_64(args);	break;
        case 65: xself->x_65(args);	break;
        case 66: xself->x_66(args);	break;
        case 67: xself->x_67(args);	break;
        case 68: xself->x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: 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: x_QTextCursor::x_83(args);	break;
        case 84: x_QTextCursor::x_84(args);	break;
        case 85: x_QTextCursor::x_85(args);	break;
        case 86: x_QTextCursor::x_86(args);	break;
        case 87: x_QTextCursor::x_87(args);	break;
        case 88: x_QTextCursor::x_88(args);	break;
        case 89: x_QTextCursor::x_89(args);	break;
        case 90: x_QTextCursor::x_90(args);	break;
        case 91: x_QTextCursor::x_91(args);	break;
        case 92: x_QTextCursor::x_92(args);	break;
        case 93: x_QTextCursor::x_93(args);	break;
        case 94: x_QTextCursor::x_94(args);	break;
        case 95: x_QTextCursor::x_95(args);	break;
        case 96: x_QTextCursor::x_96(args);	break;
        case 97: x_QTextCursor::x_97(args);	break;
        case 98: x_QTextCursor::x_98(args);	break;
        case 99: x_QTextCursor::x_99(args);	break;
        case 100: x_QTextCursor::x_100(args);	break;
        case 101: x_QTextCursor::x_101(args);	break;
        case 102: x_QTextCursor::x_102(args);	break;
        case 103: x_QTextCursor::x_103(args);	break;
        case 104: x_QTextCursor::x_104(args);	break;
        case 105: x_QTextCursor::x_105(args);	break;
        case 106: x_QTextCursor::x_106(args);	break;
        case 107: x_QTextCursor::x_107(args);	break;
        case 108: x_QTextCursor::x_108(args);	break;
        case 109: x_QTextCursor::x_109(args);	break;
        case 110: x_QTextCursor::x_110(args);	break;
        case 111: x_QTextCursor::x_111(args);	break;
        case 112: x_QTextCursor::x_112(args);	break;
        case 113: x_QTextCursor::x_113(args);	break;
        case 114: delete (QTextCursor*)xself;	break;
    }
}
class x_QTextDocument : public QTextDocument, 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<QTextDocument*>(this))) {
            const QMetaObject* xret = ((const x_QTextDocument*)this)->QTextDocument::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QTextDocument*)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<QTextDocument*>(this))) {
            void* xret = this->QTextDocument::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 = QTextDocument::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 = QTextDocument::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 = QTextDocument::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 = QTextDocument::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<QTextDocument*>(this))) {
            int xret = this->QTextDocument::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) {
        // QTextDocument* QTextDocument(QObject*)
        x_QTextDocument* xret = new x_QTextDocument((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextDocument(QObject* x1) : QTextDocument(x1) {}
    static void x_9(Smoke::Stack x) {
        // QTextDocument* QTextDocument(const QString&, QObject*)
        x_QTextDocument* xret = new x_QTextDocument(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextDocument(const QString& x1, QObject* x2) : QTextDocument(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // QTextDocument* clone(QObject*) const
        QTextDocument* xret = ((const x_QTextDocument*)this)->QTextDocument::clone((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // bool isEmpty() const
        bool xret = ((const x_QTextDocument*)this)->QTextDocument::isEmpty();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // virtual void clear()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextDocument*>(this))) {
            this->QTextDocument::clear();
            (void)x; // noop (for compiler warning)
        } else {
            this->clear();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // void setUndoRedoEnabled(bool)
        this->QTextDocument::setUndoRedoEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool isUndoRedoEnabled() const
        bool xret = ((const x_QTextDocument*)this)->QTextDocument::isUndoRedoEnabled();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // bool isUndoAvailable() const
        bool xret = ((const x_QTextDocument*)this)->QTextDocument::isUndoAvailable();
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool isRedoAvailable() const
        bool xret = ((const x_QTextDocument*)this)->QTextDocument::isRedoAvailable();
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // int availableUndoSteps() const
        int xret = ((const x_QTextDocument*)this)->QTextDocument::availableUndoSteps();
        x[0].s_int = xret;
    }
    void x_18(Smoke::Stack x) {
        // int availableRedoSteps() const
        int xret = ((const x_QTextDocument*)this)->QTextDocument::availableRedoSteps();
        x[0].s_int = xret;
    }
    void x_19(Smoke::Stack x) {
        // int revision() const
        int xret = ((const x_QTextDocument*)this)->QTextDocument::revision();
        x[0].s_int = xret;
    }
    void x_20(Smoke::Stack x) {
        // void setDocumentLayout(QAbstractTextDocumentLayout*)
        this->QTextDocument::setDocumentLayout((QAbstractTextDocumentLayout*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // QAbstractTextDocumentLayout* documentLayout() const
        QAbstractTextDocumentLayout* xret = ((const x_QTextDocument*)this)->QTextDocument::documentLayout();
        x[0].s_class = (void*)xret;
    }
    void x_22(Smoke::Stack x) {
        // void setMetaInformation(QTextDocument::MetaInformation, const QString&)
        this->QTextDocument::setMetaInformation((QTextDocument::MetaInformation)x[1].s_enum,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // QString metaInformation(QTextDocument::MetaInformation) const
        QString xret = ((const x_QTextDocument*)this)->QTextDocument::metaInformation((QTextDocument::MetaInformation)x[1].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_24(Smoke::Stack x) {
        // QString toHtml(const QByteArray&) const
        QString xret = ((const x_QTextDocument*)this)->QTextDocument::toHtml(*(const QByteArray*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_25(Smoke::Stack x) {
        // void setHtml(const QString&)
        this->QTextDocument::setHtml(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // QString toPlainText() const
        QString xret = ((const x_QTextDocument*)this)->QTextDocument::toPlainText();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_27(Smoke::Stack x) {
        // void setPlainText(const QString&)
        this->QTextDocument::setPlainText(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // QChar characterAt(int) const
        QChar xret = ((const x_QTextDocument*)this)->QTextDocument::characterAt((int)x[1].s_int);
        x[0].s_class = (void*)new QChar(xret);
    }
    void x_29(Smoke::Stack x) {
        // QTextCursor find(const QString&, int, QFlags<QTextDocument::FindFlag>) const
        QTextCursor xret = ((const x_QTextDocument*)this)->QTextDocument::find(*(const QString*)x[1].s_class,(int)x[2].s_int,(QFlags<QTextDocument::FindFlag>)x[3].s_uint);
        x[0].s_class = (void*)new QTextCursor(xret);
    }
    void x_30(Smoke::Stack x) {
        // QTextCursor find(const QString&, const QTextCursor&, QFlags<QTextDocument::FindFlag>) const
        QTextCursor xret = ((const x_QTextDocument*)this)->QTextDocument::find(*(const QString*)x[1].s_class,*(const QTextCursor*)x[2].s_class,(QFlags<QTextDocument::FindFlag>)x[3].s_uint);
        x[0].s_class = (void*)new QTextCursor(xret);
    }
    void x_31(Smoke::Stack x) {
        // QTextCursor find(const QRegExp&, int, QFlags<QTextDocument::FindFlag>) const
        QTextCursor xret = ((const x_QTextDocument*)this)->QTextDocument::find(*(const QRegExp*)x[1].s_class,(int)x[2].s_int,(QFlags<QTextDocument::FindFlag>)x[3].s_uint);
        x[0].s_class = (void*)new QTextCursor(xret);
    }
    void x_32(Smoke::Stack x) {
        // QTextCursor find(const QRegExp&, const QTextCursor&, QFlags<QTextDocument::FindFlag>) const
        QTextCursor xret = ((const x_QTextDocument*)this)->QTextDocument::find(*(const QRegExp*)x[1].s_class,*(const QTextCursor*)x[2].s_class,(QFlags<QTextDocument::FindFlag>)x[3].s_uint);
        x[0].s_class = (void*)new QTextCursor(xret);
    }
    void x_33(Smoke::Stack x) {
        // QTextFrame* frameAt(int) const
        QTextFrame* xret = ((const x_QTextDocument*)this)->QTextDocument::frameAt((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_34(Smoke::Stack x) {
        // QTextFrame* rootFrame() const
        QTextFrame* xret = ((const x_QTextDocument*)this)->QTextDocument::rootFrame();
        x[0].s_class = (void*)xret;
    }
    void x_35(Smoke::Stack x) {
        // QTextObject* object(int) const
        QTextObject* xret = ((const x_QTextDocument*)this)->QTextDocument::object((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_36(Smoke::Stack x) {
        // QTextObject* objectForFormat(const QTextFormat&) const
        QTextObject* xret = ((const x_QTextDocument*)this)->QTextDocument::objectForFormat(*(const QTextFormat*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_37(Smoke::Stack x) {
        // QTextBlock findBlock(int) const
        QTextBlock xret = ((const x_QTextDocument*)this)->QTextDocument::findBlock((int)x[1].s_int);
        x[0].s_class = (void*)new QTextBlock(xret);
    }
    void x_38(Smoke::Stack x) {
        // QTextBlock findBlockByNumber(int) const
        QTextBlock xret = ((const x_QTextDocument*)this)->QTextDocument::findBlockByNumber((int)x[1].s_int);
        x[0].s_class = (void*)new QTextBlock(xret);
    }
    void x_39(Smoke::Stack x) {
        // QTextBlock findBlockByLineNumber(int) const
        QTextBlock xret = ((const x_QTextDocument*)this)->QTextDocument::findBlockByLineNumber((int)x[1].s_int);
        x[0].s_class = (void*)new QTextBlock(xret);
    }
    void x_40(Smoke::Stack x) {
        // QTextBlock begin() const
        QTextBlock xret = ((const x_QTextDocument*)this)->QTextDocument::begin();
        x[0].s_class = (void*)new QTextBlock(xret);
    }
    void x_41(Smoke::Stack x) {
        // QTextBlock end() const
        QTextBlock xret = ((const x_QTextDocument*)this)->QTextDocument::end();
        x[0].s_class = (void*)new QTextBlock(xret);
    }
    void x_42(Smoke::Stack x) {
        // QTextBlock firstBlock() const
        QTextBlock xret = ((const x_QTextDocument*)this)->QTextDocument::firstBlock();
        x[0].s_class = (void*)new QTextBlock(xret);
    }
    void x_43(Smoke::Stack x) {
        // QTextBlock lastBlock() const
        QTextBlock xret = ((const x_QTextDocument*)this)->QTextDocument::lastBlock();
        x[0].s_class = (void*)new QTextBlock(xret);
    }
    void x_44(Smoke::Stack x) {
        // void setPageSize(const QSizeF&)
        this->QTextDocument::setPageSize(*(const QSizeF*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_45(Smoke::Stack x) {
        // QSizeF pageSize() const
        QSizeF xret = ((const x_QTextDocument*)this)->QTextDocument::pageSize();
        x[0].s_class = (void*)new QSizeF(xret);
    }
    void x_46(Smoke::Stack x) {
        // void setDefaultFont(const QFont&)
        this->QTextDocument::setDefaultFont(*(const QFont*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_47(Smoke::Stack x) {
        // QFont defaultFont() const
        QFont xret = ((const x_QTextDocument*)this)->QTextDocument::defaultFont();
        x[0].s_class = (void*)new QFont(xret);
    }
    void x_48(Smoke::Stack x) {
        // int pageCount() const
        int xret = ((const x_QTextDocument*)this)->QTextDocument::pageCount();
        x[0].s_int = xret;
    }
    void x_49(Smoke::Stack x) {
        // bool isModified() const
        bool xret = ((const x_QTextDocument*)this)->QTextDocument::isModified();
        x[0].s_bool = xret;
    }
    void x_50(Smoke::Stack x) {
        // void print(QPrinter*) const
        ((const x_QTextDocument*)this)->QTextDocument::print((QPrinter*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_51(Smoke::Stack x) {
        // QVariant resource(int, const QUrl&) const
        QVariant xret = ((const x_QTextDocument*)this)->QTextDocument::resource((int)x[1].s_int,*(const QUrl*)x[2].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_52(Smoke::Stack x) {
        // void addResource(int, const QUrl&, const QVariant&)
        this->QTextDocument::addResource((int)x[1].s_int,*(const QUrl*)x[2].s_class,*(const QVariant*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_53(Smoke::Stack x) {
        // QVector<QTextFormat> allFormats() const
        QVector<QTextFormat> xret = ((const x_QTextDocument*)this)->QTextDocument::allFormats();
        x[0].s_class = (void*)new QVector<QTextFormat>(xret);
    }
    void x_54(Smoke::Stack x) {
        // void markContentsDirty(int, int)
        this->QTextDocument::markContentsDirty((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_55(Smoke::Stack x) {
        // void setUseDesignMetrics(bool)
        this->QTextDocument::setUseDesignMetrics((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_56(Smoke::Stack x) {
        // bool useDesignMetrics() const
        bool xret = ((const x_QTextDocument*)this)->QTextDocument::useDesignMetrics();
        x[0].s_bool = xret;
    }
    void x_57(Smoke::Stack x) {
        // void drawContents(QPainter*, const QRectF&)
        this->QTextDocument::drawContents((QPainter*)x[1].s_class,*(const QRectF*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_58(Smoke::Stack x) {
        // void setTextWidth(double)
        this->QTextDocument::setTextWidth((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_59(Smoke::Stack x) {
        // double textWidth() const
        double xret = ((const x_QTextDocument*)this)->QTextDocument::textWidth();
        x[0].s_double = xret;
    }
    void x_60(Smoke::Stack x) {
        // double idealWidth() const
        double xret = ((const x_QTextDocument*)this)->QTextDocument::idealWidth();
        x[0].s_double = xret;
    }
    void x_61(Smoke::Stack x) {
        // double indentWidth() const
        double xret = ((const x_QTextDocument*)this)->QTextDocument::indentWidth();
        x[0].s_double = xret;
    }
    void x_62(Smoke::Stack x) {
        // void setIndentWidth(double)
        this->QTextDocument::setIndentWidth((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_63(Smoke::Stack x) {
        // double documentMargin() const
        double xret = ((const x_QTextDocument*)this)->QTextDocument::documentMargin();
        x[0].s_double = xret;
    }
    void x_64(Smoke::Stack x) {
        // void setDocumentMargin(double)
        this->QTextDocument::setDocumentMargin((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_65(Smoke::Stack x) {
        // void adjustSize()
        this->QTextDocument::adjustSize();
        (void)x; // noop (for compiler warning)
    }
    void x_66(Smoke::Stack x) {
        // QSizeF size() const
        QSizeF xret = ((const x_QTextDocument*)this)->QTextDocument::size();
        x[0].s_class = (void*)new QSizeF(xret);
    }
    void x_67(Smoke::Stack x) {
        // int blockCount() const
        int xret = ((const x_QTextDocument*)this)->QTextDocument::blockCount();
        x[0].s_int = xret;
    }
    void x_68(Smoke::Stack x) {
        // int lineCount() const
        int xret = ((const x_QTextDocument*)this)->QTextDocument::lineCount();
        x[0].s_int = xret;
    }
    void x_69(Smoke::Stack x) {
        // int characterCount() const
        int xret = ((const x_QTextDocument*)this)->QTextDocument::characterCount();
        x[0].s_int = xret;
    }
    void x_70(Smoke::Stack x) {
        // void setDefaultStyleSheet(const QString&)
        this->QTextDocument::setDefaultStyleSheet(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_71(Smoke::Stack x) {
        // QString defaultStyleSheet() const
        QString xret = ((const x_QTextDocument*)this)->QTextDocument::defaultStyleSheet();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_72(Smoke::Stack x) {
        // void undo(QTextCursor*)
        this->QTextDocument::undo((QTextCursor*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_73(Smoke::Stack x) {
        // void redo(QTextCursor*)
        this->QTextDocument::redo((QTextCursor*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_74(Smoke::Stack x) {
        // void clearUndoRedoStacks(QTextDocument::Stacks)
        this->QTextDocument::clearUndoRedoStacks((QTextDocument::Stacks)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_75(Smoke::Stack x) {
        // int maximumBlockCount() const
        int xret = ((const x_QTextDocument*)this)->QTextDocument::maximumBlockCount();
        x[0].s_int = xret;
    }
    void x_76(Smoke::Stack x) {
        // void setMaximumBlockCount(int)
        this->QTextDocument::setMaximumBlockCount((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_77(Smoke::Stack x) {
        // QTextOption defaultTextOption() const
        QTextOption xret = ((const x_QTextDocument*)this)->QTextDocument::defaultTextOption();
        x[0].s_class = (void*)new QTextOption(xret);
    }
    void x_78(Smoke::Stack x) {
        // void setDefaultTextOption(const QTextOption&)
        this->QTextDocument::setDefaultTextOption(*(const QTextOption*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_79(Smoke::Stack x) {
        // Qt::CursorMoveStyle defaultCursorMoveStyle() const
        Qt::CursorMoveStyle xret = ((const x_QTextDocument*)this)->QTextDocument::defaultCursorMoveStyle();
        x[0].s_enum = xret;
    }
    void x_80(Smoke::Stack x) {
        // void setDefaultCursorMoveStyle(Qt::CursorMoveStyle)
        this->QTextDocument::setDefaultCursorMoveStyle((Qt::CursorMoveStyle)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_81(Smoke::Stack x) {
        // void contentsChange(int, int, int)
        this->QTextDocument::contentsChange((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_82(Smoke::Stack x) {
        // void contentsChanged()
        this->QTextDocument::contentsChanged();
        (void)x; // noop (for compiler warning)
    }
    void x_83(Smoke::Stack x) {
        // void undoAvailable(bool)
        this->QTextDocument::undoAvailable((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_84(Smoke::Stack x) {
        // void redoAvailable(bool)
        this->QTextDocument::redoAvailable((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_85(Smoke::Stack x) {
        // void undoCommandAdded()
        this->QTextDocument::undoCommandAdded();
        (void)x; // noop (for compiler warning)
    }
    void x_86(Smoke::Stack x) {
        // void modificationChanged(bool)
        this->QTextDocument::modificationChanged((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_87(Smoke::Stack x) {
        // void cursorPositionChanged(const QTextCursor&)
        this->QTextDocument::cursorPositionChanged(*(const QTextCursor*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_88(Smoke::Stack x) {
        // void blockCountChanged(int)
        this->QTextDocument::blockCountChanged((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_89(Smoke::Stack x) {
        // void documentLayoutChanged()
        this->QTextDocument::documentLayoutChanged();
        (void)x; // noop (for compiler warning)
    }
    void x_90(Smoke::Stack x) {
        // void undo()
        this->QTextDocument::undo();
        (void)x; // noop (for compiler warning)
    }
    void x_91(Smoke::Stack x) {
        // void redo()
        this->QTextDocument::redo();
        (void)x; // noop (for compiler warning)
    }
    void x_92(Smoke::Stack x) {
        // void appendUndoItem(QAbstractUndoItem*)
        this->QTextDocument::appendUndoItem((QAbstractUndoItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_93(Smoke::Stack x) {
        // void setModified(bool)
        this->QTextDocument::setModified((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_94(Smoke::Stack x) {
        // virtual QTextObject* createObject(const QTextFormat&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextDocument*>(this))) {
            QTextObject* xret = this->QTextDocument::createObject(*(const QTextFormat*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QTextObject* xret = this->createObject(*(const QTextFormat*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_95(Smoke::Stack x) {
        // virtual QVariant loadResource(int, const QUrl&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QTextDocument*>(this))) {
            QVariant xret = this->QTextDocument::loadResource((int)x[1].s_int,*(const QUrl*)x[2].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = this->loadResource((int)x[1].s_int,*(const QUrl*)x[2].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_96(Smoke::Stack x) {
        // QTextDocumentPrivate* docHandle() const
        QTextDocumentPrivate* xret = ((const x_QTextDocument*)this)->QTextDocument::docHandle();
        x[0].s_class = (void*)xret;
    }
    static void x_97(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QTextDocument::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_98(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QTextDocument::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_99(Smoke::Stack x) {
        // QTextDocument* QTextDocument()
        x_QTextDocument* xret = new x_QTextDocument((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_100(Smoke::Stack x) {
        // QTextDocument* QTextDocument(const QString&)
        x_QTextDocument* xret = new x_QTextDocument(*(const QString*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_101(Smoke::Stack x) {
        // QTextDocument* clone() const
        QTextDocument* xret = ((const x_QTextDocument*)this)->QTextDocument::clone((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_102(Smoke::Stack x) {
        // QString toHtml() const
        QString xret = ((const x_QTextDocument*)this)->QTextDocument::toHtml((const QByteArray&)QByteArray());
        x[0].s_class = (void*)new QString(xret);
    }
    void x_103(Smoke::Stack x) {
        // QTextCursor find(const QString&) const
        QTextCursor xret = ((const x_QTextDocument*)this)->QTextDocument::find(*(const QString*)x[1].s_class,(int)0,(QFlags<QTextDocument::FindFlag>)0);
        x[0].s_class = (void*)new QTextCursor(xret);
    }
    void x_104(Smoke::Stack x) {
        // QTextCursor find(const QString&, int) const
        QTextCursor xret = ((const x_QTextDocument*)this)->QTextDocument::find(*(const QString*)x[1].s_class,(int)x[2].s_int,(QFlags<QTextDocument::FindFlag>)0);
        x[0].s_class = (void*)new QTextCursor(xret);
    }
    void x_105(Smoke::Stack x) {
        // QTextCursor find(const QString&, const QTextCursor&) const
        QTextCursor xret = ((const x_QTextDocument*)this)->QTextDocument::find(*(const QString*)x[1].s_class,*(const QTextCursor*)x[2].s_class,(QFlags<QTextDocument::FindFlag>)0);
        x[0].s_class = (void*)new QTextCursor(xret);
    }
    void x_106(Smoke::Stack x) {
        // QTextCursor find(const QRegExp&) const
        QTextCursor xret = ((const x_QTextDocument*)this)->QTextDocument::find(*(const QRegExp*)x[1].s_class,(int)0,(QFlags<QTextDocument::FindFlag>)0);
        x[0].s_class = (void*)new QTextCursor(xret);
    }
    void x_107(Smoke::Stack x) {
        // QTextCursor find(const QRegExp&, int) const
        QTextCursor xret = ((const x_QTextDocument*)this)->QTextDocument::find(*(const QRegExp*)x[1].s_class,(int)x[2].s_int,(QFlags<QTextDocument::FindFlag>)0);
        x[0].s_class = (void*)new QTextCursor(xret);
    }
    void x_108(Smoke::Stack x) {
        // QTextCursor find(const QRegExp&, const QTextCursor&) const
        QTextCursor xret = ((const x_QTextDocument*)this)->QTextDocument::find(*(const QRegExp*)x[1].s_class,*(const QTextCursor*)x[2].s_class,(QFlags<QTextDocument::FindFlag>)0);
        x[0].s_class = (void*)new QTextCursor(xret);
    }
    void x_109(Smoke::Stack x) {
        // void drawContents(QPainter*)
        this->QTextDocument::drawContents((QPainter*)x[1].s_class,(const QRectF&)QRectF());
        (void)x; // noop (for compiler warning)
    }
    void x_110(Smoke::Stack x) {
        // void clearUndoRedoStacks()
        this->QTextDocument::clearUndoRedoStacks((QTextDocument::Stacks)QTextDocument::UndoAndRedoStacks);
        (void)x; // noop (for compiler warning)
    }
    void x_111(Smoke::Stack x) {
        // void setModified()
        this->QTextDocument::setModified((bool)true);
        (void)x; // noop (for compiler warning)
    }
    static void x_112(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QTextDocument::staticMetaObject;
    }
    static void x_113(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::DocumentTitle;
    }
    static void x_114(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::DocumentUrl;
    }
    static void x_115(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::FindBackward;
    }
    static void x_116(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::FindCaseSensitively;
    }
    static void x_117(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::FindWholeWords;
    }
    static void x_118(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::HtmlResource;
    }
    static void x_119(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::ImageResource;
    }
    static void x_120(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::StyleSheetResource;
    }
    static void x_121(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::UserResource;
    }
    static void x_122(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::UndoStack;
    }
    static void x_123(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::RedoStack;
    }
    static void x_124(Smoke::Stack x) {
        x[0].s_enum = (long)QTextDocument::UndoAndRedoStacks;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13508, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QTextDocument::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13509, (void*)this, x)) return (void*)x[0].s_class;
        return this->QTextDocument::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(13514, (void*)this, x)) return (int)x[0].s_int;
        return this->QTextDocument::qt_metacall(x1, x2, x3);
    }
    virtual void clear() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(13519, (void*)this, x)) return;
        this->QTextDocument::clear();
    }
    virtual QTextObject* createObject(const QTextFormat& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(13601, (void*)this, x)) return (QTextObject*)x[0].s_class;
        return this->QTextDocument::createObject(x1);
    }
    virtual QVariant loadResource(int x1, const QUrl& x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(13602, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTextDocument::loadResource(x1, x2);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8374, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(8375, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8376, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8377, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8378, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8379, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(8380, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 937: //QTextDocument::MetaInformation
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTextDocument::MetaInformation;
                    break;
                case Smoke::EnumDelete:
                    delete (QTextDocument::MetaInformation*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTextDocument::MetaInformation*)xdata = (QTextDocument::MetaInformation)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTextDocument::MetaInformation*)xdata;
                    break;
            }
            break;
        case 936: //QTextDocument::FindFlag
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTextDocument::FindFlag;
                    break;
                case Smoke::EnumDelete:
                    delete (QTextDocument::FindFlag*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTextDocument::FindFlag*)xdata = (QTextDocument::FindFlag)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTextDocument::FindFlag*)xdata;
                    break;
            }
            break;
        case 938: //QTextDocument::ResourceType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTextDocument::ResourceType;
                    break;
                case Smoke::EnumDelete:
                    delete (QTextDocument::ResourceType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTextDocument::ResourceType*)xdata = (QTextDocument::ResourceType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTextDocument::ResourceType*)xdata;
                    break;
            }
            break;
        case 939: //QTextDocument::Stacks
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QTextDocument::Stacks;
                    break;
                case Smoke::EnumDelete:
                    delete (QTextDocument::Stacks*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QTextDocument::Stacks*)xdata = (QTextDocument::Stacks)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QTextDocument::Stacks*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QTextDocument() { this->_binding->deleted(388, (void*)this); }
};
void xenum_QTextDocument(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QTextDocument::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QTextDocument(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTextDocument *xself = (x_QTextDocument*)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_QTextDocument::x_3(args);	break;
        case 4: x_QTextDocument::x_4(args);	break;
        case 5: x_QTextDocument::x_5(args);	break;
        case 6: x_QTextDocument::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QTextDocument::x_8(args);	break;
        case 9: x_QTextDocument::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: xself->x_67(args);	break;
        case 68: xself->x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: 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: xself->x_85(args);	break;
        case 86: xself->x_86(args);	break;
        case 87: xself->x_87(args);	break;
        case 88: xself->x_88(args);	break;
        case 89: xself->x_89(args);	break;
        case 90: xself->x_90(args);	break;
        case 91: xself->x_91(args);	break;
        case 92: xself->x_92(args);	break;
        case 93: xself->x_93(args);	break;
        case 94: xself->x_94(args);	break;
        case 95: xself->x_95(args);	break;
        case 96: xself->x_96(args);	break;
        case 97: x_QTextDocument::x_97(args);	break;
        case 98: x_QTextDocument::x_98(args);	break;
        case 99: x_QTextDocument::x_99(args);	break;
        case 100: x_QTextDocument::x_100(args);	break;
        case 101: xself->x_101(args);	break;
        case 102: xself->x_102(args);	break;
        case 103: xself->x_103(args);	break;
        case 104: xself->x_104(args);	break;
        case 105: xself->x_105(args);	break;
        case 106: xself->x_106(args);	break;
        case 107: xself->x_107(args);	break;
        case 108: xself->x_108(args);	break;
        case 109: xself->x_109(args);	break;
        case 110: xself->x_110(args);	break;
        case 111: xself->x_111(args);	break;
        case 112: x_QTextDocument::x_112(args);	break;
        case 113: x_QTextDocument::x_113(args);	break;
        case 114: x_QTextDocument::x_114(args);	break;
        case 115: x_QTextDocument::x_115(args);	break;
        case 116: x_QTextDocument::x_116(args);	break;
        case 117: x_QTextDocument::x_117(args);	break;
        case 118: x_QTextDocument::x_118(args);	break;
        case 119: x_QTextDocument::x_119(args);	break;
        case 120: x_QTextDocument::x_120(args);	break;
        case 121: x_QTextDocument::x_121(args);	break;
        case 122: x_QTextDocument::x_122(args);	break;
        case 123: x_QTextDocument::x_123(args);	break;
        case 124: x_QTextDocument::x_124(args);	break;
        case 125: delete (QTextDocument*)xself;	break;
    }
}
class x_QTextDocumentFragment : public QTextDocumentFragment {
    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) {
        // QTextDocumentFragment* QTextDocumentFragment()
        x_QTextDocumentFragment* xret = new x_QTextDocumentFragment();
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextDocumentFragment() : QTextDocumentFragment() {}
    static void x_2(Smoke::Stack x) {
        // QTextDocumentFragment* QTextDocumentFragment(const QTextDocument*)
        x_QTextDocumentFragment* xret = new x_QTextDocumentFragment((const QTextDocument*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextDocumentFragment(const QTextDocument* x1) : QTextDocumentFragment(x1) {}
    static void x_3(Smoke::Stack x) {
        // QTextDocumentFragment* QTextDocumentFragment(const QTextCursor&)
        x_QTextDocumentFragment* xret = new x_QTextDocumentFragment(*(const QTextCursor*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextDocumentFragment(const QTextCursor& x1) : QTextDocumentFragment(x1) {}
    static void x_4(Smoke::Stack x) {
        // QTextDocumentFragment* QTextDocumentFragment(const QTextDocumentFragment&)
        x_QTextDocumentFragment* xret = new x_QTextDocumentFragment(*(const QTextDocumentFragment*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextDocumentFragment(const QTextDocumentFragment& x1) : QTextDocumentFragment(x1) {}
    void x_5(Smoke::Stack x) {
        // QTextDocumentFragment& operator=(const QTextDocumentFragment&)
        QTextDocumentFragment& xret = this->QTextDocumentFragment::operator=(*(const QTextDocumentFragment*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // bool isEmpty() const
        bool xret = ((const x_QTextDocumentFragment*)this)->QTextDocumentFragment::isEmpty();
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // QString toPlainText() const
        QString xret = ((const x_QTextDocumentFragment*)this)->QTextDocumentFragment::toPlainText();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_8(Smoke::Stack x) {
        // QString toHtml() const
        QString xret = ((const x_QTextDocumentFragment*)this)->QTextDocumentFragment::toHtml();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_9(Smoke::Stack x) {
        // QString toHtml(const QByteArray&) const
        QString xret = ((const x_QTextDocumentFragment*)this)->QTextDocumentFragment::toHtml(*(const QByteArray*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_10(Smoke::Stack x) {
        // static QTextDocumentFragment fromPlainText(const QString&)
        QTextDocumentFragment xret = QTextDocumentFragment::fromPlainText(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QTextDocumentFragment(xret);
    }
    static void x_11(Smoke::Stack x) {
        // static QTextDocumentFragment fromHtml(const QString&)
        QTextDocumentFragment xret = QTextDocumentFragment::fromHtml(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QTextDocumentFragment(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static QTextDocumentFragment fromHtml(const QString&, const QTextDocument*)
        QTextDocumentFragment xret = QTextDocumentFragment::fromHtml(*(const QString*)x[1].s_class,(const QTextDocument*)x[2].s_class);
        x[0].s_class = (void*)new QTextDocumentFragment(xret);
    }
    ~x_QTextDocumentFragment() { this->_binding->deleted(389, (void*)this); }
};
void xcall_QTextDocumentFragment(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTextDocumentFragment *xself = (x_QTextDocumentFragment*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QTextDocumentFragment::x_1(args);	break;
        case 2: x_QTextDocumentFragment::x_2(args);	break;
        case 3: x_QTextDocumentFragment::x_3(args);	break;
        case 4: x_QTextDocumentFragment::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: x_QTextDocumentFragment::x_10(args);	break;
        case 11: x_QTextDocumentFragment::x_11(args);	break;
        case 12: x_QTextDocumentFragment::x_12(args);	break;
        case 13: delete (QTextDocumentFragment*)xself;	break;
    }
}
class x_QTextDocumentWriter : public QTextDocumentWriter {
    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) {
        // QTextDocumentWriter* QTextDocumentWriter()
        x_QTextDocumentWriter* xret = new x_QTextDocumentWriter();
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextDocumentWriter() : QTextDocumentWriter() {}
    static void x_2(Smoke::Stack x) {
        // QTextDocumentWriter* QTextDocumentWriter(QIODevice*, const QByteArray&)
        x_QTextDocumentWriter* xret = new x_QTextDocumentWriter((QIODevice*)x[1].s_class,*(const QByteArray*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextDocumentWriter(QIODevice* x1, const QByteArray& x2) : QTextDocumentWriter(x1, x2) {}
    static void x_3(Smoke::Stack x) {
        // QTextDocumentWriter* QTextDocumentWriter(const QString&, const QByteArray&)
        x_QTextDocumentWriter* xret = new x_QTextDocumentWriter(*(const QString*)x[1].s_class,*(const QByteArray*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QTextDocumentWriter(const QString& x1, const QByteArray& x2) : QTextDocumentWriter(x1, x2) {}
    void x_4(Smoke::Stack x) {
        // void setFormat(const QByteArray&)
        this->QTextDocumentWriter::setFormat(*(const QByteArray*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // QByteArray format() const
        QByteArray xret = ((const x_QTextDocumentWriter*)this)->QTextDocumentWriter::format();
        x[0].s_class = (void*)new QByteArray(xret);
    }
    void x_6(Smoke::Stack x) {
        // void setDevice(QIODevice*)
        this->QTextDocumentWriter::setDevice((QIODevice*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // QIODevice* device() const
        QIODevice* xret = ((const x_QTextDocumentWriter*)this)->QTextDocumentWriter::device();
        x[0].s_class = (void*)xret;
    }
    void x_8(Smoke::Stack x) {
        // void setFileName(const QString&)
        this->QTextDocumentWriter::setFileName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_QTextDocumentWriter*)this)->QTextDocumentWriter::fileName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_10(Smoke::Stack x) {
        // bool write(const QTextDocument*)
        bool xret = this->QTextDocumentWriter::write((const QTextDocument*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // bool write(const QTextDocumentFragment&)
        bool xret = this->QTextDocumentWriter::write(*(const QTextDocumentFragment*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // void setCodec(QTextCodec*)
        this->QTextDocumentWriter::setCodec((QTextCodec*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QTextCodec* codec() const
        QTextCodec* xret = ((const x_QTextDocumentWriter*)this)->QTextDocumentWriter::codec();
        x[0].s_class = (void*)xret;
    }
    static void x_14(Smoke::Stack x) {
        // static QList<QByteArray> supportedDocumentFormats()
        QList<QByteArray> xret = QTextDocumentWriter::supportedDocumentFormats();
        x[0].s_class = (void*)new QList<QByteArray>(xret);
    }
    static void x_15(Smoke::Stack x) {
        // QTextDocumentWriter* QTextDocumentWriter(const QString&)
        x_QTextDocumentWriter* xret = new x_QTextDocumentWriter(*(const QString*)x[1].s_class,(const QByteArray&)QByteArray());
        x[0].s_class = (void*)xret;
    }
    ~x_QTextDocumentWriter() { this->_binding->deleted(391, (void*)this); }
};
void xcall_QTextDocumentWriter(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QTextDocumentWriter *xself = (x_QTextDocumentWriter*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QTextDocumentWriter::x_1(args);	break;
        case 2: x_QTextDocumentWriter::x_2(args);	break;
        case 3: x_QTextDocumentWriter::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: x_QTextDocumentWriter::x_14(args);	break;
        case 15: x_QTextDocumentWriter::x_15(args);	break;
        case 16: delete (QTextDocumentWriter*)xself;	break;
    }
}

}
