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

#include <smoke.h>
#include <qwt_smoke.h>

class __internal_SmokeClass {};

namespace __smokeqwt {

class x_QwtEventPattern : public QwtEventPattern, 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) {
        // QwtEventPattern* QwtEventPattern()
        x_QwtEventPattern* xret = new x_QwtEventPattern();
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtEventPattern() : QwtEventPattern() {}
    void x_2(Smoke::Stack x) {
        // void initMousePattern(int)
        this->QwtEventPattern::initMousePattern((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // void initKeyPattern()
        this->QwtEventPattern::initKeyPattern();
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // void setMousePattern(unsigned int, int, int)
        this->QwtEventPattern::setMousePattern((unsigned int)x[1].s_uint,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // void setKeyPattern(unsigned int, int, int)
        this->QwtEventPattern::setKeyPattern((unsigned int)x[1].s_uint,(int)x[2].s_int,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // void setMousePattern(const QVector<QwtEventPattern::MousePattern>&)
        this->QwtEventPattern::setMousePattern(*(const QVector<QwtEventPattern::MousePattern>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // void setKeyPattern(const QVector<QwtEventPattern::KeyPattern>&)
        this->QwtEventPattern::setKeyPattern(*(const QVector<QwtEventPattern::KeyPattern>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // const QVector<QwtEventPattern::MousePattern>& mousePattern() const
        const QVector<QwtEventPattern::MousePattern>& xret = ((const x_QwtEventPattern*)this)->QwtEventPattern::mousePattern();
        x[0].s_class = (void*)&xret;
    }
    void x_9(Smoke::Stack x) {
        // const QVector<QwtEventPattern::KeyPattern>& keyPattern() const
        const QVector<QwtEventPattern::KeyPattern>& xret = ((const x_QwtEventPattern*)this)->QwtEventPattern::keyPattern();
        x[0].s_class = (void*)&xret;
    }
    void x_10(Smoke::Stack x) {
        // QVector<QwtEventPattern::MousePattern>& mousePattern()
        QVector<QwtEventPattern::MousePattern>& xret = this->QwtEventPattern::mousePattern();
        x[0].s_class = (void*)&xret;
    }
    void x_11(Smoke::Stack x) {
        // QVector<QwtEventPattern::KeyPattern>& keyPattern()
        QVector<QwtEventPattern::KeyPattern>& xret = this->QwtEventPattern::keyPattern();
        x[0].s_class = (void*)&xret;
    }
    void x_12(Smoke::Stack x) {
        // bool mouseMatch(unsigned int, const QMouseEvent*) const
        bool xret = ((const x_QwtEventPattern*)this)->QwtEventPattern::mouseMatch((unsigned int)x[1].s_uint,(const QMouseEvent*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // bool keyMatch(unsigned int, const QKeyEvent*) const
        bool xret = ((const x_QwtEventPattern*)this)->QwtEventPattern::keyMatch((unsigned int)x[1].s_uint,(const QKeyEvent*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // virtual bool mouseMatch(const QwtEventPattern::MousePattern&, const QMouseEvent*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtEventPattern*>(this))) {
            bool xret = ((const x_QwtEventPattern*)this)->QwtEventPattern::mouseMatch(*(const QwtEventPattern::MousePattern*)x[1].s_class,(const QMouseEvent*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QwtEventPattern*)this)->mouseMatch(*(const QwtEventPattern::MousePattern*)x[1].s_class,(const QMouseEvent*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_15(Smoke::Stack x) {
        // virtual bool keyMatch(const QwtEventPattern::KeyPattern&, const QKeyEvent*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtEventPattern*>(this))) {
            bool xret = ((const x_QwtEventPattern*)this)->QwtEventPattern::keyMatch(*(const QwtEventPattern::KeyPattern*)x[1].s_class,(const QKeyEvent*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QwtEventPattern*)this)->keyMatch(*(const QwtEventPattern::KeyPattern*)x[1].s_class,(const QKeyEvent*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_16(Smoke::Stack x) {
        // QwtEventPattern* QwtEventPattern(const QwtEventPattern&)
        x_QwtEventPattern* xret = new x_QwtEventPattern(*(const QwtEventPattern*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtEventPattern(const QwtEventPattern& x1) : QwtEventPattern(x1) {}
    void x_17(Smoke::Stack x) {
        // void setMousePattern(unsigned int, int)
        this->QwtEventPattern::setMousePattern((unsigned int)x[1].s_uint,(int)x[2].s_int,(int)Qt::NoButton);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void setKeyPattern(unsigned int, int)
        this->QwtEventPattern::setKeyPattern((unsigned int)x[1].s_uint,(int)x[2].s_int,(int)Qt::NoButton);
        (void)x; // noop (for compiler warning)
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::MouseSelect1;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::MouseSelect2;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::MouseSelect3;
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::MouseSelect4;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::MouseSelect5;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::MouseSelect6;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::MousePatternCount;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::KeySelect1;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::KeySelect2;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::KeyAbort;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::KeyLeft;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::KeyRight;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::KeyUp;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::KeyDown;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::KeyRedo;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::KeyUndo;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::KeyHome;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QwtEventPattern::KeyPatternCount;
    }
    virtual bool mouseMatch(const QwtEventPattern::MousePattern& x1, const QMouseEvent* x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(605, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QwtEventPattern::mouseMatch(x1, x2);
    }
    virtual bool keyMatch(const QwtEventPattern::KeyPattern& x1, const QKeyEvent* x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(606, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QwtEventPattern::keyMatch(x1, x2);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 200: //QwtEventPattern::MousePatternCode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QwtEventPattern::MousePatternCode;
                    break;
                case Smoke::EnumDelete:
                    delete (QwtEventPattern::MousePatternCode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QwtEventPattern::MousePatternCode*)xdata = (QwtEventPattern::MousePatternCode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QwtEventPattern::MousePatternCode*)xdata;
                    break;
            }
            break;
        case 198: //QwtEventPattern::KeyPatternCode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QwtEventPattern::KeyPatternCode;
                    break;
                case Smoke::EnumDelete:
                    delete (QwtEventPattern::KeyPatternCode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QwtEventPattern::KeyPatternCode*)xdata = (QwtEventPattern::KeyPatternCode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QwtEventPattern::KeyPatternCode*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QwtEventPattern() { this->_binding->deleted(83, (void*)this); }
};
void xenum_QwtEventPattern(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QwtEventPattern::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QwtEventPattern(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtEventPattern *xself = (x_QwtEventPattern*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QwtEventPattern::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: x_QwtEventPattern::x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: x_QwtEventPattern::x_19(args);	break;
        case 20: x_QwtEventPattern::x_20(args);	break;
        case 21: x_QwtEventPattern::x_21(args);	break;
        case 22: x_QwtEventPattern::x_22(args);	break;
        case 23: x_QwtEventPattern::x_23(args);	break;
        case 24: x_QwtEventPattern::x_24(args);	break;
        case 25: x_QwtEventPattern::x_25(args);	break;
        case 26: x_QwtEventPattern::x_26(args);	break;
        case 27: x_QwtEventPattern::x_27(args);	break;
        case 28: x_QwtEventPattern::x_28(args);	break;
        case 29: x_QwtEventPattern::x_29(args);	break;
        case 30: x_QwtEventPattern::x_30(args);	break;
        case 31: x_QwtEventPattern::x_31(args);	break;
        case 32: x_QwtEventPattern::x_32(args);	break;
        case 33: x_QwtEventPattern::x_33(args);	break;
        case 34: x_QwtEventPattern::x_34(args);	break;
        case 35: x_QwtEventPattern::x_35(args);	break;
        case 36: x_QwtEventPattern::x_36(args);	break;
        case 37: delete (QwtEventPattern*)xself;	break;
    }
}
class x_QwtIntervalData : public QwtIntervalData {
    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) {
        // QwtIntervalData* QwtIntervalData()
        x_QwtIntervalData* xret = new x_QwtIntervalData();
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtIntervalData() : QwtIntervalData() {}
    static void x_2(Smoke::Stack x) {
        // QwtIntervalData* QwtIntervalData(const QVector<QwtDoubleInterval>&, const QVector<double>&)
        x_QwtIntervalData* xret = new x_QwtIntervalData(*(const QVector<QwtDoubleInterval>*)x[1].s_class,*(const QVector<double>*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtIntervalData(const QVector<QwtDoubleInterval>& x1, const QVector<double>& x2) : QwtIntervalData(x1, x2) {}
    void x_3(Smoke::Stack x) {
        // void setData(const QVector<QwtDoubleInterval>&, const QVector<double>&)
        this->QwtIntervalData::setData(*(const QVector<QwtDoubleInterval>*)x[1].s_class,*(const QVector<double>*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // size_t size() const
        size_t xret = ((const x_QwtIntervalData*)this)->QwtIntervalData::size();
        x[0].s_ulong = xret;
    }
    void x_5(Smoke::Stack x) {
        // const QwtDoubleInterval& interval(size_t) const
        const QwtDoubleInterval& xret = ((const x_QwtIntervalData*)this)->QwtIntervalData::interval((size_t)x[1].s_ulong);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // double value(size_t) const
        double xret = ((const x_QwtIntervalData*)this)->QwtIntervalData::value((size_t)x[1].s_ulong);
        x[0].s_double = xret;
    }
    void x_7(Smoke::Stack x) {
        // QRectF boundingRect() const
        QRectF xret = ((const x_QwtIntervalData*)this)->QwtIntervalData::boundingRect();
        x[0].s_class = (void*)new QRectF(xret);
    }
    static void x_8(Smoke::Stack x) {
        // QwtIntervalData* QwtIntervalData(const QwtIntervalData&)
        x_QwtIntervalData* xret = new x_QwtIntervalData(*(const QwtIntervalData*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtIntervalData(const QwtIntervalData& x1) : QwtIntervalData(x1) {}
    ~x_QwtIntervalData() { this->_binding->deleted(86, (void*)this); }
};
void xcall_QwtIntervalData(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtIntervalData *xself = (x_QwtIntervalData*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QwtIntervalData::x_1(args);	break;
        case 2: x_QwtIntervalData::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QwtIntervalData::x_8(args);	break;
        case 9: delete (QwtIntervalData*)xself;	break;
    }
}
class x_QwtKnob : public QwtKnob, 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<QwtKnob*>(this))) {
            const QMetaObject* xret = ((const x_QwtKnob*)this)->QwtKnob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QwtKnob*)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<QwtKnob*>(this))) {
            void* xret = this->QwtKnob::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 = QwtKnob::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 = QwtKnob::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 = QwtKnob::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 = QwtKnob::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<QwtKnob*>(this))) {
            int xret = this->QwtKnob::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) {
        // QwtKnob* QwtKnob(QWidget*)
        x_QwtKnob* xret = new x_QwtKnob((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtKnob(QWidget* x1) : QwtKnob(x1) {}
    void x_9(Smoke::Stack x) {
        // void setKnobWidth(int)
        this->QwtKnob::setKnobWidth((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // int knobWidth() const
        int xret = ((const x_QwtKnob*)this)->QwtKnob::knobWidth();
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // void setTotalAngle(double)
        this->QwtKnob::setTotalAngle((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // double totalAngle() const
        double xret = ((const x_QwtKnob*)this)->QwtKnob::totalAngle();
        x[0].s_double = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setBorderWidth(int)
        this->QwtKnob::setBorderWidth((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // int borderWidth() const
        int xret = ((const x_QwtKnob*)this)->QwtKnob::borderWidth();
        x[0].s_int = xret;
    }
    void x_15(Smoke::Stack x) {
        // void setSymbol(QwtKnob::Symbol)
        this->QwtKnob::setSymbol((QwtKnob::Symbol)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // QwtKnob::Symbol symbol() const
        QwtKnob::Symbol xret = ((const x_QwtKnob*)this)->QwtKnob::symbol();
        x[0].s_enum = xret;
    }
    void x_17(Smoke::Stack x) {
        // virtual QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtKnob*>(this))) {
            QSize xret = ((const x_QwtKnob*)this)->QwtKnob::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QwtKnob*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_18(Smoke::Stack x) {
        // virtual QSize minimumSizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtKnob*>(this))) {
            QSize xret = ((const x_QwtKnob*)this)->QwtKnob::minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QwtKnob*)this)->minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_19(Smoke::Stack x) {
        // void setScaleDraw(QwtRoundScaleDraw*)
        this->QwtKnob::setScaleDraw((QwtRoundScaleDraw*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // const QwtRoundScaleDraw* scaleDraw() const
        const QwtRoundScaleDraw* xret = ((const x_QwtKnob*)this)->QwtKnob::scaleDraw();
        x[0].s_class = (void*)xret;
    }
    void x_21(Smoke::Stack x) {
        // QwtRoundScaleDraw* scaleDraw()
        QwtRoundScaleDraw* xret = this->QwtKnob::scaleDraw();
        x[0].s_class = (void*)xret;
    }
    void x_22(Smoke::Stack x) {
        // virtual void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtKnob*>(this))) {
            this->QwtKnob::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_23(Smoke::Stack x) {
        // virtual void resizeEvent(QResizeEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtKnob*>(this))) {
            this->QwtKnob::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_24(Smoke::Stack x) {
        // void draw(QPainter*, const QRect&)
        this->QwtKnob::draw((QPainter*)x[1].s_class,*(const QRect*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // void drawKnob(QPainter*, const QRect&)
        this->QwtKnob::drawKnob((QPainter*)x[1].s_class,*(const QRect*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // void drawMarker(QPainter*, double, const QColor&)
        this->QwtKnob::drawMarker((QPainter*)x[1].s_class,(double)x[2].s_double,*(const QColor*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_27(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QwtKnob::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_28(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QwtKnob::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_29(Smoke::Stack x) {
        // QwtKnob* QwtKnob()
        x_QwtKnob* xret = new x_QwtKnob((QWidget*)NULL);
        x[0].s_class = (void*)xret;
    }
    static void x_30(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QwtKnob::staticMetaObject;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QwtKnob::Line;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QwtKnob::Dot;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(638, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QwtKnob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(639, (void*)this, x)) return (void*)x[0].s_class;
        return this->QwtKnob::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(644, (void*)this, x)) return (int)x[0].s_int;
        return this->QwtKnob::qt_metacall(x1, x2, x3);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(654, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtKnob::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(655, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtKnob::minimumSizeHint();
    }
    virtual void paintEvent(QPaintEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(659, (void*)this, x)) return;
        this->QwtKnob::paintEvent(x1);
    }
    virtual void resizeEvent(QResizeEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(660, (void*)this, x)) return;
        this->QwtKnob::resizeEvent(x1);
    }
    virtual void setMass(double x1) {
        Smoke::StackItem x[2];
        x[1].s_double = x1;
        if (this->_binding->callMethod(153, (void*)this, x)) return;
        this->QwtAbstractSlider::setMass(x1);
    }
    virtual double mass() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(154, (void*)this, x)) return (double)x[0].s_double;
        return this->QwtAbstractSlider::mass();
    }
    virtual void setOrientation(Qt::Orientation x1) {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(155, (void*)this, x)) return;
        this->QwtAbstractSlider::setOrientation(x1);
    }
    virtual void setValue(double x1) {
        Smoke::StackItem x[2];
        x[1].s_double = x1;
        if (this->_binding->callMethod(160, (void*)this, x)) return;
        this->QwtAbstractSlider::setValue(x1);
    }
    virtual void fitValue(double x1) {
        Smoke::StackItem x[2];
        x[1].s_double = x1;
        if (this->_binding->callMethod(161, (void*)this, x)) return;
        this->QwtAbstractSlider::fitValue(x1);
    }
    virtual void incValue(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(162, (void*)this, x)) return;
        this->QwtAbstractSlider::incValue(x1);
    }
    virtual void setReadOnly(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(163, (void*)this, x)) return;
        this->QwtAbstractSlider::setReadOnly(x1);
    }
    virtual void setPosition(const QPoint& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(168, (void*)this, x)) return;
        this->QwtAbstractSlider::setPosition(x1);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(170, (void*)this, x)) return;
        this->QwtAbstractSlider::timerEvent(x1);
    }
    virtual void mousePressEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(171, (void*)this, x)) return;
        this->QwtAbstractSlider::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(172, (void*)this, x)) return;
        this->QwtAbstractSlider::mouseReleaseEvent(x1);
    }
    virtual void mouseMoveEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(173, (void*)this, x)) return;
        this->QwtAbstractSlider::mouseMoveEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(174, (void*)this, x)) return;
        this->QwtAbstractSlider::keyPressEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(175, (void*)this, x)) return;
        this->QwtAbstractSlider::wheelEvent(x1);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(46, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual int heightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(49, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::heightForWidth(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(54, (void*)this, x)) return;
        this->QWidget::mouseDoubleClickEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(58, (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(59, (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(60, (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(61, (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(62, (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(64, (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(66, (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(67, (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(68, (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(69, (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(70, (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(71, (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(72, (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(73, (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(74, (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(75, (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(76, (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(77, (void*)this, x)) return;
        this->QWidget::changeEvent(x1);
    }
    virtual void inputMethodEvent(QInputMethodEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(79, (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(80, (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(81, (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(82, (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(83, (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(84, (void*)this, x)) return;
        this->QWidget::paletteChange(x1);
    }
    virtual void windowActivationChange(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(86, (void*)this, x)) return;
        this->QWidget::windowActivationChange(x1);
    }
    virtual void languageChange() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(87, (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(51, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(33, (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(35, (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(36, (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(37, (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(38, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    virtual int devType() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(45, (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(50, (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(78, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::metric(x1);
    }
    virtual void incPages(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(542, (void*)this, x)) return;
        this->QwtDoubleRange::incPages(x1);
    }
    virtual void stepChange() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(548, (void*)this, x)) return;
        this->QwtDoubleRange::stepChange();
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 203: //QwtKnob::Symbol
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QwtKnob::Symbol;
                    break;
                case Smoke::EnumDelete:
                    delete (QwtKnob::Symbol*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QwtKnob::Symbol*)xdata = (QwtKnob::Symbol)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QwtKnob::Symbol*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QwtKnob() { this->_binding->deleted(87, (void*)this); }
};
void xenum_QwtKnob(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QwtKnob::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QwtKnob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtKnob *xself = (x_QwtKnob*)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_QwtKnob::x_3(args);	break;
        case 4: x_QwtKnob::x_4(args);	break;
        case 5: x_QwtKnob::x_5(args);	break;
        case 6: x_QwtKnob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QwtKnob::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_QwtKnob::x_27(args);	break;
        case 28: x_QwtKnob::x_28(args);	break;
        case 29: x_QwtKnob::x_29(args);	break;
        case 30: x_QwtKnob::x_30(args);	break;
        case 31: x_QwtKnob::x_31(args);	break;
        case 32: x_QwtKnob::x_32(args);	break;
        case 33: delete (QwtKnob*)xself;	break;
    }
}
class x_QwtLegend : public QwtLegend, 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<QwtLegend*>(this))) {
            const QMetaObject* xret = ((const x_QwtLegend*)this)->QwtLegend::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QwtLegend*)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<QwtLegend*>(this))) {
            void* xret = this->QwtLegend::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 = QwtLegend::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 = QwtLegend::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 = QwtLegend::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 = QwtLegend::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<QwtLegend*>(this))) {
            int xret = this->QwtLegend::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) {
        // QwtLegend* QwtLegend(QWidget*)
        x_QwtLegend* xret = new x_QwtLegend((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtLegend(QWidget* x1) : QwtLegend(x1) {}
    void x_9(Smoke::Stack x) {
        // void setDisplayPolicy(QwtLegend::LegendDisplayPolicy, int)
        this->QwtLegend::setDisplayPolicy((QwtLegend::LegendDisplayPolicy)x[1].s_enum,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // QwtLegend::LegendDisplayPolicy displayPolicy() const
        QwtLegend::LegendDisplayPolicy xret = ((const x_QwtLegend*)this)->QwtLegend::displayPolicy();
        x[0].s_enum = xret;
    }
    void x_11(Smoke::Stack x) {
        // void setItemMode(QwtLegend::LegendItemMode)
        this->QwtLegend::setItemMode((QwtLegend::LegendItemMode)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QwtLegend::LegendItemMode itemMode() const
        QwtLegend::LegendItemMode xret = ((const x_QwtLegend*)this)->QwtLegend::itemMode();
        x[0].s_enum = xret;
    }
    void x_13(Smoke::Stack x) {
        // int identifierMode() const
        int xret = ((const x_QwtLegend*)this)->QwtLegend::identifierMode();
        x[0].s_int = xret;
    }
    void x_14(Smoke::Stack x) {
        // QWidget* contentsWidget()
        QWidget* xret = this->QwtLegend::contentsWidget();
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // const QWidget* contentsWidget() const
        const QWidget* xret = ((const x_QwtLegend*)this)->QwtLegend::contentsWidget();
        x[0].s_class = (void*)xret;
    }
    void x_16(Smoke::Stack x) {
        // void insert(const QwtLegendItemManager*, QWidget*)
        this->QwtLegend::insert((const QwtLegendItemManager*)x[1].s_class,(QWidget*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void remove(const QwtLegendItemManager*)
        this->QwtLegend::remove((const QwtLegendItemManager*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // QWidget* find(const QwtLegendItemManager*) const
        QWidget* xret = ((const x_QwtLegend*)this)->QwtLegend::find((const QwtLegendItemManager*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_19(Smoke::Stack x) {
        // QwtLegendItemManager* find(const QWidget*) const
        QwtLegendItemManager* xret = ((const x_QwtLegend*)this)->QwtLegend::find((const QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_20(Smoke::Stack x) {
        // virtual QList<QWidget*> legendItems() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegend*>(this))) {
            QList<QWidget*> xret = ((const x_QwtLegend*)this)->QwtLegend::legendItems();
            x[0].s_class = (void*)new QList<QWidget*>(xret);
        } else {
            QList<QWidget*> xret = ((const x_QwtLegend*)this)->legendItems();
            x[0].s_class = (void*)new QList<QWidget*>(xret);
        }
    }
    void x_21(Smoke::Stack x) {
        // void clear()
        this->QwtLegend::clear();
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // bool isEmpty() const
        bool xret = ((const x_QwtLegend*)this)->QwtLegend::isEmpty();
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // unsigned int itemCount() const
        unsigned int xret = ((const x_QwtLegend*)this)->QwtLegend::itemCount();
        x[0].s_uint = xret;
    }
    void x_24(Smoke::Stack x) {
        // virtual bool eventFilter(QObject*, QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegend*>(this))) {
            bool xret = this->QwtLegend::eventFilter((QObject*)x[1].s_class,(QEvent*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->eventFilter((QObject*)x[1].s_class,(QEvent*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_25(Smoke::Stack x) {
        // virtual QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegend*>(this))) {
            QSize xret = ((const x_QwtLegend*)this)->QwtLegend::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QwtLegend*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_26(Smoke::Stack x) {
        // virtual int heightForWidth(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegend*>(this))) {
            int xret = ((const x_QwtLegend*)this)->QwtLegend::heightForWidth((int)x[1].s_int);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QwtLegend*)this)->heightForWidth((int)x[1].s_int);
            x[0].s_int = xret;
        }
    }
    void x_27(Smoke::Stack x) {
        // QScrollBar* horizontalScrollBar() const
        QScrollBar* xret = ((const x_QwtLegend*)this)->QwtLegend::horizontalScrollBar();
        x[0].s_class = (void*)xret;
    }
    void x_28(Smoke::Stack x) {
        // QScrollBar* verticalScrollBar() const
        QScrollBar* xret = ((const x_QwtLegend*)this)->QwtLegend::verticalScrollBar();
        x[0].s_class = (void*)xret;
    }
    void x_29(Smoke::Stack x) {
        // virtual void resizeEvent(QResizeEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegend*>(this))) {
            this->QwtLegend::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_30(Smoke::Stack x) {
        // virtual void layoutContents()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegend*>(this))) {
            this->QwtLegend::layoutContents();
            (void)x; // noop (for compiler warning)
        } else {
            this->layoutContents();
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_31(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QwtLegend::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_32(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QwtLegend::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_33(Smoke::Stack x) {
        // QwtLegend* QwtLegend()
        x_QwtLegend* xret = new x_QwtLegend((QWidget*)NULL);
        x[0].s_class = (void*)xret;
    }
    static void x_34(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QwtLegend::staticMetaObject;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLegend::NoIdentifier;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLegend::FixedIdentifier;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLegend::AutoIdentifier;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLegend::ReadOnlyItem;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLegend::ClickableItem;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLegend::CheckableItem;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(671, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QwtLegend::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(672, (void*)this, x)) return (void*)x[0].s_class;
        return this->QwtLegend::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(677, (void*)this, x)) return (int)x[0].s_int;
        return this->QwtLegend::qt_metacall(x1, x2, x3);
    }
    virtual QList<QWidget*> legendItems() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(690, (void*)this, x)) {
            QList<QWidget*>* xptr = (QList<QWidget*>*)x[0].s_class;
            QList<QWidget*> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtLegend::legendItems();
    }
    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(694, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QwtLegend::eventFilter(x1, x2);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(695, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtLegend::sizeHint();
    }
    virtual int heightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(696, (void*)this, x)) return (int)x[0].s_int;
        return this->QwtLegend::heightForWidth(x1);
    }
    virtual void resizeEvent(QResizeEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(699, (void*)this, x)) return;
        this->QwtLegend::resizeEvent(x1);
    }
    virtual void layoutContents() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(700, (void*)this, x)) return;
        this->QwtLegend::layoutContents();
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(46, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(48, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::minimumSizeHint();
    }
    virtual void mousePressEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(52, (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(53, (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(54, (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(55, (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(56, (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(57, (void*)this, x)) return;
        this->QWidget::keyPressEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(58, (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(59, (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(60, (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(61, (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(62, (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(12, (void*)this, x)) return;
        this->QFrame::paintEvent(x1);
    }
    virtual void moveEvent(QMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(64, (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(66, (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(67, (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(68, (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(69, (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(70, (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(71, (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(72, (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(73, (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(74, (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(75, (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(76, (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(13, (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(79, (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(80, (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(81, (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(82, (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(83, (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(84, (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(85, (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(86, (void*)this, x)) return;
        this->QWidget::windowActivationChange(x1);
    }
    virtual void languageChange() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(87, (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(11, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFrame::event(x1);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(34, (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(35, (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(36, (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(37, (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(38, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    virtual int devType() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(45, (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(50, (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(78, (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 205: //QwtLegend::LegendDisplayPolicy
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QwtLegend::LegendDisplayPolicy;
                    break;
                case Smoke::EnumDelete:
                    delete (QwtLegend::LegendDisplayPolicy*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QwtLegend::LegendDisplayPolicy*)xdata = (QwtLegend::LegendDisplayPolicy)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QwtLegend::LegendDisplayPolicy*)xdata;
                    break;
            }
            break;
        case 206: //QwtLegend::LegendItemMode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QwtLegend::LegendItemMode;
                    break;
                case Smoke::EnumDelete:
                    delete (QwtLegend::LegendItemMode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QwtLegend::LegendItemMode*)xdata = (QwtLegend::LegendItemMode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QwtLegend::LegendItemMode*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QwtLegend() { this->_binding->deleted(88, (void*)this); }
};
void xenum_QwtLegend(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QwtLegend::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QwtLegend(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtLegend *xself = (x_QwtLegend*)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_QwtLegend::x_3(args);	break;
        case 4: x_QwtLegend::x_4(args);	break;
        case 5: x_QwtLegend::x_5(args);	break;
        case 6: x_QwtLegend::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QwtLegend::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: x_QwtLegend::x_31(args);	break;
        case 32: x_QwtLegend::x_32(args);	break;
        case 33: x_QwtLegend::x_33(args);	break;
        case 34: x_QwtLegend::x_34(args);	break;
        case 35: x_QwtLegend::x_35(args);	break;
        case 36: x_QwtLegend::x_36(args);	break;
        case 37: x_QwtLegend::x_37(args);	break;
        case 38: x_QwtLegend::x_38(args);	break;
        case 39: x_QwtLegend::x_39(args);	break;
        case 40: x_QwtLegend::x_40(args);	break;
        case 41: delete (QwtLegend*)xself;	break;
    }
}
class x_QwtLegendItem : public QwtLegendItem, 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<QwtLegendItem*>(this))) {
            const QMetaObject* xret = ((const x_QwtLegendItem*)this)->QwtLegendItem::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QwtLegendItem*)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<QwtLegendItem*>(this))) {
            void* xret = this->QwtLegendItem::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 = QwtLegendItem::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 = QwtLegendItem::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 = QwtLegendItem::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 = QwtLegendItem::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<QwtLegendItem*>(this))) {
            int xret = this->QwtLegendItem::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) {
        // QwtLegendItem* QwtLegendItem(QWidget*)
        x_QwtLegendItem* xret = new x_QwtLegendItem((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtLegendItem(QWidget* x1) : QwtLegendItem(x1) {}
    static void x_9(Smoke::Stack x) {
        // QwtLegendItem* QwtLegendItem(const QwtSymbol&, const QPen&, const QwtText&, QWidget*)
        x_QwtLegendItem* xret = new x_QwtLegendItem(*(const QwtSymbol*)x[1].s_class,*(const QPen*)x[2].s_class,*(const QwtText*)x[3].s_class,(QWidget*)x[4].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtLegendItem(const QwtSymbol& x1, const QPen& x2, const QwtText& x3, QWidget* x4) : QwtLegendItem(x1, x2, x3, x4) {}
    void x_10(Smoke::Stack x) {
        // virtual void setText(const QwtText&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegendItem*>(this))) {
            this->QwtLegendItem::setText(*(const QwtText*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setText(*(const QwtText*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_11(Smoke::Stack x) {
        // void setItemMode(QwtLegend::LegendItemMode)
        this->QwtLegendItem::setItemMode((QwtLegend::LegendItemMode)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QwtLegend::LegendItemMode itemMode() const
        QwtLegend::LegendItemMode xret = ((const x_QwtLegendItem*)this)->QwtLegendItem::itemMode();
        x[0].s_enum = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setIdentifierMode(int)
        this->QwtLegendItem::setIdentifierMode((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // int identifierMode() const
        int xret = ((const x_QwtLegendItem*)this)->QwtLegendItem::identifierMode();
        x[0].s_int = xret;
    }
    void x_15(Smoke::Stack x) {
        // void setIdentifierWidth(int)
        this->QwtLegendItem::setIdentifierWidth((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // int identifierWidth() const
        int xret = ((const x_QwtLegendItem*)this)->QwtLegendItem::identifierWidth();
        x[0].s_int = xret;
    }
    void x_17(Smoke::Stack x) {
        // void setSpacing(int)
        this->QwtLegendItem::setSpacing((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // int spacing() const
        int xret = ((const x_QwtLegendItem*)this)->QwtLegendItem::spacing();
        x[0].s_int = xret;
    }
    void x_19(Smoke::Stack x) {
        // void setSymbol(const QwtSymbol&)
        this->QwtLegendItem::setSymbol(*(const QwtSymbol*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // const QwtSymbol& symbol() const
        const QwtSymbol& xret = ((const x_QwtLegendItem*)this)->QwtLegendItem::symbol();
        x[0].s_class = (void*)&xret;
    }
    void x_21(Smoke::Stack x) {
        // void setCurvePen(const QPen&)
        this->QwtLegendItem::setCurvePen(*(const QPen*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // const QPen& curvePen() const
        const QPen& xret = ((const x_QwtLegendItem*)this)->QwtLegendItem::curvePen();
        x[0].s_class = (void*)&xret;
    }
    void x_23(Smoke::Stack x) {
        // virtual void drawIdentifier(QPainter*, const QRect&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegendItem*>(this))) {
            ((const x_QwtLegendItem*)this)->QwtLegendItem::drawIdentifier((QPainter*)x[1].s_class,*(const QRect*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QwtLegendItem*)this)->drawIdentifier((QPainter*)x[1].s_class,*(const QRect*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_24(Smoke::Stack x) {
        // virtual void drawItem(QPainter*, const QRect&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegendItem*>(this))) {
            ((const x_QwtLegendItem*)this)->QwtLegendItem::drawItem((QPainter*)x[1].s_class,*(const QRect*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QwtLegendItem*)this)->drawItem((QPainter*)x[1].s_class,*(const QRect*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_25(Smoke::Stack x) {
        // virtual QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegendItem*>(this))) {
            QSize xret = ((const x_QwtLegendItem*)this)->QwtLegendItem::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QwtLegendItem*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_26(Smoke::Stack x) {
        // bool isChecked() const
        bool xret = ((const x_QwtLegendItem*)this)->QwtLegendItem::isChecked();
        x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) {
        // void setChecked(bool)
        this->QwtLegendItem::setChecked((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // void clicked()
        this->QwtLegendItem::clicked();
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // void pressed()
        this->QwtLegendItem::pressed();
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // void released()
        this->QwtLegendItem::released();
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // void checked(bool)
        this->QwtLegendItem::checked((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // void setDown(bool)
        this->QwtLegendItem::setDown((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // bool isDown() const
        bool xret = ((const x_QwtLegendItem*)this)->QwtLegendItem::isDown();
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // virtual void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegendItem*>(this))) {
            this->QwtLegendItem::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_35(Smoke::Stack x) {
        // virtual void mousePressEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegendItem*>(this))) {
            this->QwtLegendItem::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_36(Smoke::Stack x) {
        // virtual void mouseReleaseEvent(QMouseEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegendItem*>(this))) {
            this->QwtLegendItem::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_37(Smoke::Stack x) {
        // virtual void keyPressEvent(QKeyEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegendItem*>(this))) {
            this->QwtLegendItem::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 keyReleaseEvent(QKeyEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegendItem*>(this))) {
            this->QwtLegendItem::keyReleaseEvent((QKeyEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->keyReleaseEvent((QKeyEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_39(Smoke::Stack x) {
        // virtual void drawText(QPainter*, const QRect&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLegendItem*>(this))) {
            this->QwtLegendItem::drawText((QPainter*)x[1].s_class,*(const QRect*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->drawText((QPainter*)x[1].s_class,*(const QRect*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_40(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QwtLegendItem::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_41(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QwtLegendItem::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_42(Smoke::Stack x) {
        // QwtLegendItem* QwtLegendItem()
        x_QwtLegendItem* xret = new x_QwtLegendItem((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_43(Smoke::Stack x) {
        // QwtLegendItem* QwtLegendItem(const QwtSymbol&, const QPen&, const QwtText&)
        x_QwtLegendItem* xret = new x_QwtLegendItem(*(const QwtSymbol*)x[1].s_class,*(const QPen*)x[2].s_class,*(const QwtText*)x[3].s_class,(QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_44(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QwtLegendItem::staticMetaObject;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLegendItem::NoIdentifier;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLegendItem::ShowLine;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLegendItem::ShowSymbol;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLegendItem::ShowText;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(712, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QwtLegendItem::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(713, (void*)this, x)) return (void*)x[0].s_class;
        return this->QwtLegendItem::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(718, (void*)this, x)) return (int)x[0].s_int;
        return this->QwtLegendItem::qt_metacall(x1, x2, x3);
    }
    virtual void setText(const QwtText& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(721, (void*)this, x)) return;
        this->QwtLegendItem::setText(x1);
    }
    virtual void drawIdentifier(QPainter* x1, const QRect& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(734, (void*)this, x)) return;
        this->QwtLegendItem::drawIdentifier(x1, x2);
    }
    virtual void drawItem(QPainter* x1, const QRect& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(735, (void*)this, x)) return;
        this->QwtLegendItem::drawItem(x1, x2);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(736, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtLegendItem::sizeHint();
    }
    virtual void paintEvent(QPaintEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(745, (void*)this, x)) return;
        this->QwtLegendItem::paintEvent(x1);
    }
    virtual void mousePressEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(746, (void*)this, x)) return;
        this->QwtLegendItem::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(747, (void*)this, x)) return;
        this->QwtLegendItem::mouseReleaseEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(748, (void*)this, x)) return;
        this->QwtLegendItem::keyPressEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(749, (void*)this, x)) return;
        this->QwtLegendItem::keyReleaseEvent(x1);
    }
    virtual void drawText(QPainter* x1, const QRect& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(750, (void*)this, x)) return;
        this->QwtLegendItem::drawText(x1, x2);
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2078, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtTextLabel::minimumSizeHint();
    }
    virtual int heightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2079, (void*)this, x)) return (int)x[0].s_int;
        return this->QwtTextLabel::heightForWidth(x1);
    }
    virtual void drawContents(QPainter* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2082, (void*)this, x)) return;
        this->QwtTextLabel::drawContents(x1);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(46, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(54, (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(55, (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(56, (void*)this, x)) return;
        this->QWidget::wheelEvent(x1);
    }
    virtual void focusInEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(59, (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(60, (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(61, (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(62, (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(64, (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(65, (void*)this, x)) return;
        this->QWidget::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(66, (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(67, (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(68, (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(69, (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(70, (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(71, (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(72, (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(73, (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(74, (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(75, (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(76, (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(13, (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(79, (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(80, (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(81, (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(82, (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(83, (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(84, (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(85, (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(86, (void*)this, x)) return;
        this->QWidget::windowActivationChange(x1);
    }
    virtual void languageChange() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(87, (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(11, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFrame::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(33, (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(34, (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(35, (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(36, (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(37, (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(38, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    virtual int devType() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(45, (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(50, (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(78, (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 208: //QwtLegendItem::IdentifierMode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QwtLegendItem::IdentifierMode;
                    break;
                case Smoke::EnumDelete:
                    delete (QwtLegendItem::IdentifierMode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QwtLegendItem::IdentifierMode*)xdata = (QwtLegendItem::IdentifierMode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QwtLegendItem::IdentifierMode*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QwtLegendItem() { this->_binding->deleted(89, (void*)this); }
};
void xenum_QwtLegendItem(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QwtLegendItem::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QwtLegendItem(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtLegendItem *xself = (x_QwtLegendItem*)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_QwtLegendItem::x_3(args);	break;
        case 4: x_QwtLegendItem::x_4(args);	break;
        case 5: x_QwtLegendItem::x_5(args);	break;
        case 6: x_QwtLegendItem::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QwtLegendItem::x_8(args);	break;
        case 9: x_QwtLegendItem::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: x_QwtLegendItem::x_40(args);	break;
        case 41: x_QwtLegendItem::x_41(args);	break;
        case 42: x_QwtLegendItem::x_42(args);	break;
        case 43: x_QwtLegendItem::x_43(args);	break;
        case 44: x_QwtLegendItem::x_44(args);	break;
        case 45: x_QwtLegendItem::x_45(args);	break;
        case 46: x_QwtLegendItem::x_46(args);	break;
        case 47: x_QwtLegendItem::x_47(args);	break;
        case 48: x_QwtLegendItem::x_48(args);	break;
        case 49: delete (QwtLegendItem*)xself;	break;
    }
}
class x_QwtLegendItemManager : public QwtLegendItemManager, 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) {
        // QwtLegendItemManager* QwtLegendItemManager()
        x_QwtLegendItemManager* xret = new x_QwtLegendItemManager();
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtLegendItemManager() : QwtLegendItemManager() {}
    void x_2(Smoke::Stack x) {
        // virtual void updateLegend(QwtLegend*) const = 0
        ((const x_QwtLegendItemManager*)this)->updateLegend((QwtLegend*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // virtual QWidget* legendItem() const = 0
        QWidget* xret = ((const x_QwtLegendItemManager*)this)->legendItem();
        x[0].s_class = (void*)xret;
    }
    static void x_4(Smoke::Stack x) {
        // QwtLegendItemManager* QwtLegendItemManager(const QwtLegendItemManager&)
        x_QwtLegendItemManager* xret = new x_QwtLegendItemManager(*(const QwtLegendItemManager*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtLegendItemManager(const QwtLegendItemManager& x1) : QwtLegendItemManager(x1) {}
    virtual void updateLegend(QwtLegend* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(762, (void*)this, x, true /*pure virtual*/);
    }
    virtual QWidget* legendItem() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(763, (void*)this, x, true /*pure virtual*/);
        return (QWidget*)x[0].s_class;
    }
    ~x_QwtLegendItemManager() { this->_binding->deleted(90, (void*)this); }
};
void xcall_QwtLegendItemManager(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtLegendItemManager *xself = (x_QwtLegendItemManager*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QwtLegendItemManager::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_QwtLegendItemManager::x_4(args);	break;
        case 5: delete (QwtLegendItemManager*)xself;	break;
    }
}
class x_QwtLinearColorMap : public QwtLinearColorMap, 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) {
        // QwtLinearColorMap* QwtLinearColorMap(QwtColorMap::Format)
        x_QwtLinearColorMap* xret = new x_QwtLinearColorMap((QwtColorMap::Format)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtLinearColorMap(QwtColorMap::Format x1) : QwtLinearColorMap(x1) {}
    static void x_2(Smoke::Stack x) {
        // QwtLinearColorMap* QwtLinearColorMap(const QColor&, const QColor&, QwtColorMap::Format)
        x_QwtLinearColorMap* xret = new x_QwtLinearColorMap(*(const QColor*)x[1].s_class,*(const QColor*)x[2].s_class,(QwtColorMap::Format)x[3].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtLinearColorMap(const QColor& x1, const QColor& x2, QwtColorMap::Format x3) : QwtLinearColorMap(x1, x2, x3) {}
    static void x_3(Smoke::Stack x) {
        // QwtLinearColorMap* QwtLinearColorMap(const QwtLinearColorMap&)
        x_QwtLinearColorMap* xret = new x_QwtLinearColorMap(*(const QwtLinearColorMap*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtLinearColorMap(const QwtLinearColorMap& x1) : QwtLinearColorMap(x1) {}
    void x_4(Smoke::Stack x) {
        // QwtLinearColorMap& operator=(const QwtLinearColorMap&)
        QwtLinearColorMap& xret = this->QwtLinearColorMap::operator=(*(const QwtLinearColorMap*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // virtual QwtColorMap* copy() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLinearColorMap*>(this))) {
            QwtColorMap* xret = ((const x_QwtLinearColorMap*)this)->QwtLinearColorMap::copy();
            x[0].s_class = (void*)xret;
        } else {
            QwtColorMap* xret = ((const x_QwtLinearColorMap*)this)->copy();
            x[0].s_class = (void*)xret;
        }
    }
    void x_6(Smoke::Stack x) {
        // void setMode(QwtLinearColorMap::Mode)
        this->QwtLinearColorMap::setMode((QwtLinearColorMap::Mode)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // QwtLinearColorMap::Mode mode() const
        QwtLinearColorMap::Mode xret = ((const x_QwtLinearColorMap*)this)->QwtLinearColorMap::mode();
        x[0].s_enum = xret;
    }
    void x_8(Smoke::Stack x) {
        // void setColorInterval(const QColor&, const QColor&)
        this->QwtLinearColorMap::setColorInterval(*(const QColor*)x[1].s_class,*(const QColor*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // void addColorStop(double, const QColor&)
        this->QwtLinearColorMap::addColorStop((double)x[1].s_double,*(const QColor*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // QVector<double> colorStops() const
        QVector<double> xret = ((const x_QwtLinearColorMap*)this)->QwtLinearColorMap::colorStops();
        x[0].s_class = (void*)new QVector<double>(xret);
    }
    void x_11(Smoke::Stack x) {
        // QColor color1() const
        QColor xret = ((const x_QwtLinearColorMap*)this)->QwtLinearColorMap::color1();
        x[0].s_class = (void*)new QColor(xret);
    }
    void x_12(Smoke::Stack x) {
        // QColor color2() const
        QColor xret = ((const x_QwtLinearColorMap*)this)->QwtLinearColorMap::color2();
        x[0].s_class = (void*)new QColor(xret);
    }
    void x_13(Smoke::Stack x) {
        // virtual unsigned int rgb(const QwtDoubleInterval&, double) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLinearColorMap*>(this))) {
            unsigned int xret = ((const x_QwtLinearColorMap*)this)->QwtLinearColorMap::rgb(*(const QwtDoubleInterval*)x[1].s_class,(double)x[2].s_double);
            x[0].s_uint = xret;
        } else {
            unsigned int xret = ((const x_QwtLinearColorMap*)this)->rgb(*(const QwtDoubleInterval*)x[1].s_class,(double)x[2].s_double);
            x[0].s_uint = xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // virtual unsigned char colorIndex(const QwtDoubleInterval&, double) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLinearColorMap*>(this))) {
            unsigned char xret = ((const x_QwtLinearColorMap*)this)->QwtLinearColorMap::colorIndex(*(const QwtDoubleInterval*)x[1].s_class,(double)x[2].s_double);
            x[0].s_uchar = xret;
        } else {
            unsigned char xret = ((const x_QwtLinearColorMap*)this)->colorIndex(*(const QwtDoubleInterval*)x[1].s_class,(double)x[2].s_double);
            x[0].s_uchar = xret;
        }
    }
    static void x_15(Smoke::Stack x) {
        // QwtLinearColorMap* QwtLinearColorMap()
        x_QwtLinearColorMap* xret = new x_QwtLinearColorMap((QwtColorMap::Format)QwtColorMap::RGB);
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        // QwtLinearColorMap* QwtLinearColorMap(const QColor&, const QColor&)
        x_QwtLinearColorMap* xret = new x_QwtLinearColorMap(*(const QColor*)x[1].s_class,*(const QColor*)x[2].s_class,(QwtColorMap::Format)QwtColorMap::RGB);
        x[0].s_class = (void*)xret;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLinearColorMap::FixedColors;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)QwtLinearColorMap::ScaledColors;
    }
    virtual QwtColorMap* copy() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(770, (void*)this, x)) return (QwtColorMap*)x[0].s_class;
        return this->QwtLinearColorMap::copy();
    }
    virtual unsigned int rgb(const QwtDoubleInterval& x1, double x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_double = x2;
        if (this->_binding->callMethod(778, (void*)this, x)) return (unsigned int)x[0].s_uint;
        return this->QwtLinearColorMap::rgb(x1, x2);
    }
    virtual unsigned char colorIndex(const QwtDoubleInterval& x1, double x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_double = x2;
        if (this->_binding->callMethod(779, (void*)this, x)) return (unsigned char)x[0].s_uchar;
        return this->QwtLinearColorMap::colorIndex(x1, x2);
    }
    virtual QVector<unsigned int> colorTable(const QwtDoubleInterval& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(274, (void*)this, x)) {
            QVector<unsigned int>* xptr = (QVector<unsigned int>*)x[0].s_class;
            QVector<unsigned int> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtColorMap::colorTable(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 212: //QwtLinearColorMap::Mode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QwtLinearColorMap::Mode;
                    break;
                case Smoke::EnumDelete:
                    delete (QwtLinearColorMap::Mode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QwtLinearColorMap::Mode*)xdata = (QwtLinearColorMap::Mode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QwtLinearColorMap::Mode*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QwtLinearColorMap() { this->_binding->deleted(91, (void*)this); }
};
void xenum_QwtLinearColorMap(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QwtLinearColorMap::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QwtLinearColorMap(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtLinearColorMap *xself = (x_QwtLinearColorMap*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QwtLinearColorMap::x_1(args);	break;
        case 2: x_QwtLinearColorMap::x_2(args);	break;
        case 3: x_QwtLinearColorMap::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: x_QwtLinearColorMap::x_15(args);	break;
        case 16: x_QwtLinearColorMap::x_16(args);	break;
        case 17: x_QwtLinearColorMap::x_17(args);	break;
        case 18: x_QwtLinearColorMap::x_18(args);	break;
        case 19: delete (QwtLinearColorMap*)xself;	break;
    }
}
class x_QwtLinearScaleEngine : public QwtLinearScaleEngine, 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 void autoScale(int, double&, double&, double&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLinearScaleEngine*>(this))) {
            ((const x_QwtLinearScaleEngine*)this)->QwtLinearScaleEngine::autoScale((int)x[1].s_int,*(double*)x[2].s_class,*(double*)x[3].s_class,*(double*)x[4].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QwtLinearScaleEngine*)this)->autoScale((int)x[1].s_int,*(double*)x[2].s_class,*(double*)x[3].s_class,*(double*)x[4].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual QwtScaleDiv divideScale(double, double, int, int, double) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLinearScaleEngine*>(this))) {
            QwtScaleDiv xret = ((const x_QwtLinearScaleEngine*)this)->QwtLinearScaleEngine::divideScale((double)x[1].s_double,(double)x[2].s_double,(int)x[3].s_int,(int)x[4].s_int,(double)x[5].s_double);
            x[0].s_class = (void*)new QwtScaleDiv(xret);
        } else {
            QwtScaleDiv xret = ((const x_QwtLinearScaleEngine*)this)->divideScale((double)x[1].s_double,(double)x[2].s_double,(int)x[3].s_int,(int)x[4].s_int,(double)x[5].s_double);
            x[0].s_class = (void*)new QwtScaleDiv(xret);
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual QwtScaleTransformation* transformation() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtLinearScaleEngine*>(this))) {
            QwtScaleTransformation* xret = ((const x_QwtLinearScaleEngine*)this)->QwtLinearScaleEngine::transformation();
            x[0].s_class = (void*)xret;
        } else {
            QwtScaleTransformation* xret = ((const x_QwtLinearScaleEngine*)this)->transformation();
            x[0].s_class = (void*)xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // QwtDoubleInterval align(const QwtDoubleInterval&, double) const
        QwtDoubleInterval xret = ((const x_QwtLinearScaleEngine*)this)->QwtLinearScaleEngine::align(*(const QwtDoubleInterval*)x[1].s_class,(double)x[2].s_double);
        x[0].s_class = (void*)new QwtDoubleInterval(xret);
    }
    static void x_5(Smoke::Stack x) {
        // QwtLinearScaleEngine* QwtLinearScaleEngine()
        x_QwtLinearScaleEngine* xret = new x_QwtLinearScaleEngine();
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtLinearScaleEngine() : QwtLinearScaleEngine() {}
    static void x_6(Smoke::Stack x) {
        // QwtLinearScaleEngine* QwtLinearScaleEngine(const QwtLinearScaleEngine&)
        x_QwtLinearScaleEngine* xret = new x_QwtLinearScaleEngine(*(const QwtLinearScaleEngine*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtLinearScaleEngine(const QwtLinearScaleEngine& x1) : QwtLinearScaleEngine(x1) {}
    void x_7(Smoke::Stack x) {
        // QwtScaleDiv divideScale(double, double, int, int) const
        QwtScaleDiv xret = ((const x_QwtLinearScaleEngine*)this)->QwtLinearScaleEngine::divideScale((double)x[1].s_double,(double)x[2].s_double,(int)x[3].s_int,(int)x[4].s_int,(double)0.0);
        x[0].s_class = (void*)new QwtScaleDiv(xret);
    }
    virtual void autoScale(int x1, double& x2, double& x3, double& x4) const {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)&x4;
        if (this->_binding->callMethod(785, (void*)this, x)) return;
        this->QwtLinearScaleEngine::autoScale(x1, x2, x3, x4);
    }
    virtual QwtScaleDiv divideScale(double x1, double x2, int x3, int x4, double x5) const {
        Smoke::StackItem x[6];
        x[1].s_double = x1;
        x[2].s_double = x2;
        x[3].s_int = x3;
        x[4].s_int = x4;
        x[5].s_double = x5;
        if (this->_binding->callMethod(786, (void*)this, x)) {
            QwtScaleDiv* xptr = (QwtScaleDiv*)x[0].s_class;
            QwtScaleDiv xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtLinearScaleEngine::divideScale(x1, x2, x3, x4, x5);
    }
    virtual QwtScaleTransformation* transformation() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(787, (void*)this, x)) return (QwtScaleTransformation*)x[0].s_class;
        return this->QwtLinearScaleEngine::transformation();
    }
    ~x_QwtLinearScaleEngine() { this->_binding->deleted(92, (void*)this); }
};
void xcall_QwtLinearScaleEngine(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtLinearScaleEngine *xself = (x_QwtLinearScaleEngine*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: x_QwtLinearScaleEngine::x_5(args);	break;
        case 6: x_QwtLinearScaleEngine::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: delete (QwtLinearScaleEngine*)xself;	break;
    }
}

}
