//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_QwtRoundScaleDraw : public QwtRoundScaleDraw, 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) {
        // QwtRoundScaleDraw* QwtRoundScaleDraw()
        x_QwtRoundScaleDraw* xret = new x_QwtRoundScaleDraw();
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtRoundScaleDraw() : QwtRoundScaleDraw() {}
    static void x_2(Smoke::Stack x) {
        // QwtRoundScaleDraw* QwtRoundScaleDraw(const QwtRoundScaleDraw&)
        x_QwtRoundScaleDraw* xret = new x_QwtRoundScaleDraw(*(const QwtRoundScaleDraw*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtRoundScaleDraw(const QwtRoundScaleDraw& x1) : QwtRoundScaleDraw(x1) {}
    void x_3(Smoke::Stack x) {
        // QwtRoundScaleDraw& operator=(const QwtRoundScaleDraw&)
        QwtRoundScaleDraw& xret = this->QwtRoundScaleDraw::operator=(*(const QwtRoundScaleDraw*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // void setRadius(int)
        this->QwtRoundScaleDraw::setRadius((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // int radius() const
        int xret = ((const x_QwtRoundScaleDraw*)this)->QwtRoundScaleDraw::radius();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // void moveCenter(int, int)
        this->QwtRoundScaleDraw::moveCenter((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // void moveCenter(const QPoint&)
        this->QwtRoundScaleDraw::moveCenter(*(const QPoint*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // QPoint center() const
        QPoint xret = ((const x_QwtRoundScaleDraw*)this)->QwtRoundScaleDraw::center();
        x[0].s_class = (void*)new QPoint(xret);
    }
    void x_9(Smoke::Stack x) {
        // void setAngleRange(double, double)
        this->QwtRoundScaleDraw::setAngleRange((double)x[1].s_double,(double)x[2].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // virtual int extent(const QPen&, const QFont&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtRoundScaleDraw*>(this))) {
            int xret = ((const x_QwtRoundScaleDraw*)this)->QwtRoundScaleDraw::extent(*(const QPen*)x[1].s_class,*(const QFont*)x[2].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QwtRoundScaleDraw*)this)->extent(*(const QPen*)x[1].s_class,*(const QFont*)x[2].s_class);
            x[0].s_int = xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual void drawTick(QPainter*, double, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtRoundScaleDraw*>(this))) {
            ((const x_QwtRoundScaleDraw*)this)->QwtRoundScaleDraw::drawTick((QPainter*)x[1].s_class,(double)x[2].s_double,(int)x[3].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QwtRoundScaleDraw*)this)->drawTick((QPainter*)x[1].s_class,(double)x[2].s_double,(int)x[3].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual void drawBackbone(QPainter*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtRoundScaleDraw*>(this))) {
            ((const x_QwtRoundScaleDraw*)this)->QwtRoundScaleDraw::drawBackbone((QPainter*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QwtRoundScaleDraw*)this)->drawBackbone((QPainter*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // virtual void drawLabel(QPainter*, double) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtRoundScaleDraw*>(this))) {
            ((const x_QwtRoundScaleDraw*)this)->QwtRoundScaleDraw::drawLabel((QPainter*)x[1].s_class,(double)x[2].s_double);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QwtRoundScaleDraw*)this)->drawLabel((QPainter*)x[1].s_class,(double)x[2].s_double);
            (void)x; // noop (for compiler warning)
        }
    }
    virtual int extent(const QPen& x1, const QFont& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1677, (void*)this, x)) return (int)x[0].s_int;
        return this->QwtRoundScaleDraw::extent(x1, x2);
    }
    virtual void drawTick(QPainter* x1, double x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_double = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(1678, (void*)this, x)) return;
        this->QwtRoundScaleDraw::drawTick(x1, x2, x3);
    }
    virtual void drawBackbone(QPainter* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1679, (void*)this, x)) return;
        this->QwtRoundScaleDraw::drawBackbone(x1);
    }
    virtual void drawLabel(QPainter* x1, double x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_double = x2;
        if (this->_binding->callMethod(1680, (void*)this, x)) return;
        this->QwtRoundScaleDraw::drawLabel(x1, x2);
    }
    virtual void draw(QPainter* x1, const QPalette& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(126, (void*)this, x)) return;
        this->QwtAbstractScaleDraw::draw(x1, x2);
    }
    virtual QwtText label(double x1) const {
        Smoke::StackItem x[2];
        x[1].s_double = x1;
        if (this->_binding->callMethod(127, (void*)this, x)) {
            QwtText* xptr = (QwtText*)x[0].s_class;
            QwtText xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtAbstractScaleDraw::label(x1);
    }
    ~x_QwtRoundScaleDraw() { this->_binding->deleted(125, (void*)this); }
};
void xcall_QwtRoundScaleDraw(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtRoundScaleDraw *xself = (x_QwtRoundScaleDraw*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QwtRoundScaleDraw::x_1(args);	break;
        case 2: x_QwtRoundScaleDraw::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: delete (QwtRoundScaleDraw*)xself;	break;
    }
}
class x_QwtScaleArithmetic : public QwtScaleArithmetic {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // static int compareEps(double, double, double)
        int xret = QwtScaleArithmetic::compareEps((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double);
        x[0].s_int = xret;
    }
    static void x_2(Smoke::Stack x) {
        // static double ceilEps(double, double)
        double xret = QwtScaleArithmetic::ceilEps((double)x[1].s_double,(double)x[2].s_double);
        x[0].s_double = xret;
    }
    static void x_3(Smoke::Stack x) {
        // static double floorEps(double, double)
        double xret = QwtScaleArithmetic::floorEps((double)x[1].s_double,(double)x[2].s_double);
        x[0].s_double = xret;
    }
    static void x_4(Smoke::Stack x) {
        // static double divideEps(double, double)
        double xret = QwtScaleArithmetic::divideEps((double)x[1].s_double,(double)x[2].s_double);
        x[0].s_double = xret;
    }
    static void x_5(Smoke::Stack x) {
        // static double ceil125(double)
        double xret = QwtScaleArithmetic::ceil125((double)x[1].s_double);
        x[0].s_double = xret;
    }
    static void x_6(Smoke::Stack x) {
        // static double floor125(double)
        double xret = QwtScaleArithmetic::floor125((double)x[1].s_double);
        x[0].s_double = xret;
    }
    static void x_7(Smoke::Stack x) {
        // QwtScaleArithmetic* QwtScaleArithmetic()
        x_QwtScaleArithmetic* xret = new x_QwtScaleArithmetic();
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleArithmetic() : QwtScaleArithmetic() {}
    static void x_8(Smoke::Stack x) {
        // QwtScaleArithmetic* QwtScaleArithmetic(const QwtScaleArithmetic&)
        x_QwtScaleArithmetic* xret = new x_QwtScaleArithmetic(*(const QwtScaleArithmetic*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleArithmetic(const QwtScaleArithmetic& x1) : QwtScaleArithmetic(x1) {}
    ~x_QwtScaleArithmetic() { this->_binding->deleted(126, (void*)this); }
};
void xcall_QwtScaleArithmetic(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtScaleArithmetic *xself = (x_QwtScaleArithmetic*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QwtScaleArithmetic::x_1(args);	break;
        case 2: x_QwtScaleArithmetic::x_2(args);	break;
        case 3: x_QwtScaleArithmetic::x_3(args);	break;
        case 4: x_QwtScaleArithmetic::x_4(args);	break;
        case 5: x_QwtScaleArithmetic::x_5(args);	break;
        case 6: x_QwtScaleArithmetic::x_6(args);	break;
        case 7: x_QwtScaleArithmetic::x_7(args);	break;
        case 8: x_QwtScaleArithmetic::x_8(args);	break;
        case 9: delete (QwtScaleArithmetic*)xself;	break;
    }
}
class x_QwtScaleDiv : public QwtScaleDiv {
    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) {
        // QwtScaleDiv* QwtScaleDiv()
        x_QwtScaleDiv* xret = new x_QwtScaleDiv();
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleDiv() : QwtScaleDiv() {}
    static void x_2(Smoke::Stack x) {
        // QwtScaleDiv* QwtScaleDiv(const QwtDoubleInterval&, QList<double>*)
        x_QwtScaleDiv* xret = new x_QwtScaleDiv(*(const QwtDoubleInterval*)x[1].s_class,(QList<double>*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleDiv(const QwtDoubleInterval& x1, QList<double>* x2) : QwtScaleDiv(x1, x2) {}
    static void x_3(Smoke::Stack x) {
        // QwtScaleDiv* QwtScaleDiv(double, double, QList<double>*)
        x_QwtScaleDiv* xret = new x_QwtScaleDiv((double)x[1].s_double,(double)x[2].s_double,(QList<double>*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleDiv(double x1, double x2, QList<double>* x3) : QwtScaleDiv(x1, x2, x3) {}
    void x_4(Smoke::Stack x) {
        // int operator==(const QwtScaleDiv&) const
        int xret = ((const x_QwtScaleDiv*)this)->QwtScaleDiv::operator==(*(const QwtScaleDiv*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_5(Smoke::Stack x) {
        // int operator!=(const QwtScaleDiv&) const
        int xret = ((const x_QwtScaleDiv*)this)->QwtScaleDiv::operator!=(*(const QwtScaleDiv*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // void setInterval(double, double)
        this->QwtScaleDiv::setInterval((double)x[1].s_double,(double)x[2].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // void setInterval(const QwtDoubleInterval&)
        this->QwtScaleDiv::setInterval(*(const QwtDoubleInterval*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // QwtDoubleInterval interval() const
        QwtDoubleInterval xret = ((const x_QwtScaleDiv*)this)->QwtScaleDiv::interval();
        x[0].s_class = (void*)new QwtDoubleInterval(xret);
    }
    void x_9(Smoke::Stack x) {
        // double lowerBound() const
        double xret = ((const x_QwtScaleDiv*)this)->QwtScaleDiv::lowerBound();
        x[0].s_double = xret;
    }
    void x_10(Smoke::Stack x) {
        // double upperBound() const
        double xret = ((const x_QwtScaleDiv*)this)->QwtScaleDiv::upperBound();
        x[0].s_double = xret;
    }
    void x_11(Smoke::Stack x) {
        // double range() const
        double xret = ((const x_QwtScaleDiv*)this)->QwtScaleDiv::range();
        x[0].s_double = xret;
    }
    void x_12(Smoke::Stack x) {
        // bool contains(double) const
        bool xret = ((const x_QwtScaleDiv*)this)->QwtScaleDiv::contains((double)x[1].s_double);
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setTicks(int, const QList<double>&)
        this->QwtScaleDiv::setTicks((int)x[1].s_int,*(const QList<double>*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // const QList<double>& ticks(int) const
        const QList<double>& xret = ((const x_QwtScaleDiv*)this)->QwtScaleDiv::ticks((int)x[1].s_int);
        x[0].s_class = (void*)&xret;
    }
    void x_15(Smoke::Stack x) {
        // void invalidate()
        this->QwtScaleDiv::invalidate();
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QwtScaleDiv*)this)->QwtScaleDiv::isValid();
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // void invert()
        this->QwtScaleDiv::invert();
        (void)x; // noop (for compiler warning)
    }
    static void x_18(Smoke::Stack x) {
        // QwtScaleDiv* QwtScaleDiv(const QwtScaleDiv&)
        x_QwtScaleDiv* xret = new x_QwtScaleDiv(*(const QwtScaleDiv*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleDiv(const QwtScaleDiv& x1) : QwtScaleDiv(x1) {}
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleDiv::NoTick;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleDiv::MinorTick;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleDiv::MediumTick;
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleDiv::MajorTick;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleDiv::NTickTypes;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 278: //QwtScaleDiv::TickType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QwtScaleDiv::TickType;
                    break;
                case Smoke::EnumDelete:
                    delete (QwtScaleDiv::TickType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QwtScaleDiv::TickType*)xdata = (QwtScaleDiv::TickType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QwtScaleDiv::TickType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QwtScaleDiv() { this->_binding->deleted(127, (void*)this); }
};
void xenum_QwtScaleDiv(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QwtScaleDiv::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QwtScaleDiv(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtScaleDiv *xself = (x_QwtScaleDiv*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QwtScaleDiv::x_1(args);	break;
        case 2: x_QwtScaleDiv::x_2(args);	break;
        case 3: x_QwtScaleDiv::x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: x_QwtScaleDiv::x_18(args);	break;
        case 19: x_QwtScaleDiv::x_19(args);	break;
        case 20: x_QwtScaleDiv::x_20(args);	break;
        case 21: x_QwtScaleDiv::x_21(args);	break;
        case 22: x_QwtScaleDiv::x_22(args);	break;
        case 23: x_QwtScaleDiv::x_23(args);	break;
        case 24: delete (QwtScaleDiv*)xself;	break;
    }
}
class x_QwtScaleDraw : public QwtScaleDraw, 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) {
        // QwtScaleDraw* QwtScaleDraw()
        x_QwtScaleDraw* xret = new x_QwtScaleDraw();
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleDraw() : QwtScaleDraw() {}
    static void x_2(Smoke::Stack x) {
        // QwtScaleDraw* QwtScaleDraw(const QwtScaleDraw&)
        x_QwtScaleDraw* xret = new x_QwtScaleDraw(*(const QwtScaleDraw*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleDraw(const QwtScaleDraw& x1) : QwtScaleDraw(x1) {}
    void x_3(Smoke::Stack x) {
        // QwtScaleDraw& operator=(const QwtScaleDraw&)
        QwtScaleDraw& xret = this->QwtScaleDraw::operator=(*(const QwtScaleDraw*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // void getBorderDistHint(const QFont&, int&, int&) const
        ((const x_QwtScaleDraw*)this)->QwtScaleDraw::getBorderDistHint(*(const QFont*)x[1].s_class,*(int*)x[2].s_class,*(int*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // int minLabelDist(const QFont&) const
        int xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::minLabelDist(*(const QFont*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // int minLength(const QPen&, const QFont&) const
        int xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::minLength(*(const QPen*)x[1].s_class,*(const QFont*)x[2].s_class);
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // virtual int extent(const QPen&, const QFont&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtScaleDraw*>(this))) {
            int xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::extent(*(const QPen*)x[1].s_class,*(const QFont*)x[2].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QwtScaleDraw*)this)->extent(*(const QPen*)x[1].s_class,*(const QFont*)x[2].s_class);
            x[0].s_int = xret;
        }
    }
    void x_8(Smoke::Stack x) {
        // void move(int, int)
        this->QwtScaleDraw::move((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // void move(const QPoint&)
        this->QwtScaleDraw::move(*(const QPoint*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void setLength(int)
        this->QwtScaleDraw::setLength((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // QwtScaleDraw::Alignment alignment() const
        QwtScaleDraw::Alignment xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::alignment();
        x[0].s_enum = xret;
    }
    void x_12(Smoke::Stack x) {
        // void setAlignment(QwtScaleDraw::Alignment)
        this->QwtScaleDraw::setAlignment((QwtScaleDraw::Alignment)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // Qt::Orientation orientation() const
        Qt::Orientation xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::orientation();
        x[0].s_enum = xret;
    }
    void x_14(Smoke::Stack x) {
        // QPoint pos() const
        QPoint xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::pos();
        x[0].s_class = (void*)new QPoint(xret);
    }
    void x_15(Smoke::Stack x) {
        // int length() const
        int xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::length();
        x[0].s_int = xret;
    }
    void x_16(Smoke::Stack x) {
        // void setLabelAlignment(QFlags<Qt::AlignmentFlag>)
        this->QwtScaleDraw::setLabelAlignment((QFlags<Qt::AlignmentFlag>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // QFlags<Qt::AlignmentFlag> labelAlignment() const
        QFlags<Qt::AlignmentFlag> xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::labelAlignment();
        x[0].s_uint = (uint)xret;
    }
    void x_18(Smoke::Stack x) {
        // void setLabelRotation(double)
        this->QwtScaleDraw::setLabelRotation((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // double labelRotation() const
        double xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::labelRotation();
        x[0].s_double = xret;
    }
    void x_20(Smoke::Stack x) {
        // int maxLabelHeight(const QFont&) const
        int xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::maxLabelHeight(*(const QFont*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_21(Smoke::Stack x) {
        // int maxLabelWidth(const QFont&) const
        int xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::maxLabelWidth(*(const QFont*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_22(Smoke::Stack x) {
        // QPoint labelPosition(double) const
        QPoint xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::labelPosition((double)x[1].s_double);
        x[0].s_class = (void*)new QPoint(xret);
    }
    void x_23(Smoke::Stack x) {
        // QRect labelRect(const QFont&, double) const
        QRect xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::labelRect(*(const QFont*)x[1].s_class,(double)x[2].s_double);
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_24(Smoke::Stack x) {
        // QSize labelSize(const QFont&, double) const
        QSize xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::labelSize(*(const QFont*)x[1].s_class,(double)x[2].s_double);
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_25(Smoke::Stack x) {
        // QRect boundingLabelRect(const QFont&, double) const
        QRect xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::boundingLabelRect(*(const QFont*)x[1].s_class,(double)x[2].s_double);
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_26(Smoke::Stack x) {
        // QMatrix labelMatrix(const QPoint&, const QSize&) const
        QMatrix xret = ((const x_QwtScaleDraw*)this)->QwtScaleDraw::labelMatrix(*(const QPoint*)x[1].s_class,*(const QSize*)x[2].s_class);
        x[0].s_class = (void*)new QMatrix(xret);
    }
    void x_27(Smoke::Stack x) {
        // virtual void drawTick(QPainter*, double, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtScaleDraw*>(this))) {
            ((const x_QwtScaleDraw*)this)->QwtScaleDraw::drawTick((QPainter*)x[1].s_class,(double)x[2].s_double,(int)x[3].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QwtScaleDraw*)this)->drawTick((QPainter*)x[1].s_class,(double)x[2].s_double,(int)x[3].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_28(Smoke::Stack x) {
        // virtual void drawBackbone(QPainter*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtScaleDraw*>(this))) {
            ((const x_QwtScaleDraw*)this)->QwtScaleDraw::drawBackbone((QPainter*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QwtScaleDraw*)this)->drawBackbone((QPainter*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_29(Smoke::Stack x) {
        // virtual void drawLabel(QPainter*, double) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtScaleDraw*>(this))) {
            ((const x_QwtScaleDraw*)this)->QwtScaleDraw::drawLabel((QPainter*)x[1].s_class,(double)x[2].s_double);
            (void)x; // noop (for compiler warning)
        } else {
            ((const x_QwtScaleDraw*)this)->drawLabel((QPainter*)x[1].s_class,(double)x[2].s_double);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleDraw::BottomScale;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleDraw::TopScale;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleDraw::LeftScale;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleDraw::RightScale;
    }
    virtual int extent(const QPen& x1, const QFont& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1721, (void*)this, x)) return (int)x[0].s_int;
        return this->QwtScaleDraw::extent(x1, x2);
    }
    virtual void drawTick(QPainter* x1, double x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_double = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(1741, (void*)this, x)) return;
        this->QwtScaleDraw::drawTick(x1, x2, x3);
    }
    virtual void drawBackbone(QPainter* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1742, (void*)this, x)) return;
        this->QwtScaleDraw::drawBackbone(x1);
    }
    virtual void drawLabel(QPainter* x1, double x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_double = x2;
        if (this->_binding->callMethod(1743, (void*)this, x)) return;
        this->QwtScaleDraw::drawLabel(x1, x2);
    }
    virtual void draw(QPainter* x1, const QPalette& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(126, (void*)this, x)) return;
        this->QwtAbstractScaleDraw::draw(x1, x2);
    }
    virtual QwtText label(double x1) const {
        Smoke::StackItem x[2];
        x[1].s_double = x1;
        if (this->_binding->callMethod(127, (void*)this, x)) {
            QwtText* xptr = (QwtText*)x[0].s_class;
            QwtText xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtAbstractScaleDraw::label(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 281: //QwtScaleDraw::Alignment
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QwtScaleDraw::Alignment;
                    break;
                case Smoke::EnumDelete:
                    delete (QwtScaleDraw::Alignment*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QwtScaleDraw::Alignment*)xdata = (QwtScaleDraw::Alignment)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QwtScaleDraw::Alignment*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QwtScaleDraw() { this->_binding->deleted(128, (void*)this); }
};
void xenum_QwtScaleDraw(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QwtScaleDraw::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QwtScaleDraw(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtScaleDraw *xself = (x_QwtScaleDraw*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QwtScaleDraw::x_1(args);	break;
        case 2: x_QwtScaleDraw::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: x_QwtScaleDraw::x_30(args);	break;
        case 31: x_QwtScaleDraw::x_31(args);	break;
        case 32: x_QwtScaleDraw::x_32(args);	break;
        case 33: x_QwtScaleDraw::x_33(args);	break;
        case 34: delete (QwtScaleDraw*)xself;	break;
    }
}
class x_QwtScaleEngine : public QwtScaleEngine, 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) {
        // QwtScaleEngine* QwtScaleEngine()
        x_QwtScaleEngine* xret = new x_QwtScaleEngine();
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleEngine() : QwtScaleEngine() {}
    void x_2(Smoke::Stack x) {
        // void setAttribute(QwtScaleEngine::Attribute, bool)
        this->QwtScaleEngine::setAttribute((QwtScaleEngine::Attribute)x[1].s_enum,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // bool testAttribute(QwtScaleEngine::Attribute) const
        bool xret = ((const x_QwtScaleEngine*)this)->QwtScaleEngine::testAttribute((QwtScaleEngine::Attribute)x[1].s_enum);
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // void setAttributes(int)
        this->QwtScaleEngine::setAttributes((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // int attributes() const
        int xret = ((const x_QwtScaleEngine*)this)->QwtScaleEngine::attributes();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // void setReference(double)
        this->QwtScaleEngine::setReference((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // double reference() const
        double xret = ((const x_QwtScaleEngine*)this)->QwtScaleEngine::reference();
        x[0].s_double = xret;
    }
    void x_8(Smoke::Stack x) {
        // void setMargins(double, double)
        this->QwtScaleEngine::setMargins((double)x[1].s_double,(double)x[2].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // double lowerMargin() const
        double xret = ((const x_QwtScaleEngine*)this)->QwtScaleEngine::lowerMargin();
        x[0].s_double = xret;
    }
    void x_10(Smoke::Stack x) {
        // double upperMargin() const
        double xret = ((const x_QwtScaleEngine*)this)->QwtScaleEngine::upperMargin();
        x[0].s_double = xret;
    }
    void x_11(Smoke::Stack x) {
        // virtual void autoScale(int, double&, double&, double&) const = 0
        ((const x_QwtScaleEngine*)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_12(Smoke::Stack x) {
        // virtual QwtScaleDiv divideScale(double, double, int, int, double) const = 0
        QwtScaleDiv xret = ((const x_QwtScaleEngine*)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_13(Smoke::Stack x) {
        // virtual QwtScaleTransformation* transformation() const = 0
        QwtScaleTransformation* xret = ((const x_QwtScaleEngine*)this)->transformation();
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // bool contains(const QwtDoubleInterval&, double) const
        bool xret = ((const x_QwtScaleEngine*)this)->QwtScaleEngine::contains(*(const QwtDoubleInterval*)x[1].s_class,(double)x[2].s_double);
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // QList<double> strip(const QList<double>&, const QwtDoubleInterval&) const
        QList<double> xret = ((const x_QwtScaleEngine*)this)->QwtScaleEngine::strip(*(const QList<double>*)x[1].s_class,*(const QwtDoubleInterval*)x[2].s_class);
        x[0].s_class = (void*)new QList<double>(xret);
    }
    void x_16(Smoke::Stack x) {
        // double divideInterval(double, int) const
        double xret = ((const x_QwtScaleEngine*)this)->QwtScaleEngine::divideInterval((double)x[1].s_double,(int)x[2].s_int);
        x[0].s_double = xret;
    }
    void x_17(Smoke::Stack x) {
        // QwtDoubleInterval buildInterval(double) const
        QwtDoubleInterval xret = ((const x_QwtScaleEngine*)this)->QwtScaleEngine::buildInterval((double)x[1].s_double);
        x[0].s_class = (void*)new QwtDoubleInterval(xret);
    }
    static void x_18(Smoke::Stack x) {
        // QwtScaleEngine* QwtScaleEngine(const QwtScaleEngine&)
        x_QwtScaleEngine* xret = new x_QwtScaleEngine(*(const QwtScaleEngine*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleEngine(const QwtScaleEngine& x1) : QwtScaleEngine(x1) {}
    void x_19(Smoke::Stack x) {
        // void setAttribute(QwtScaleEngine::Attribute)
        this->QwtScaleEngine::setAttribute((QwtScaleEngine::Attribute)x[1].s_enum,(bool)true);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // QwtScaleDiv divideScale(double, double, int, int) const
        QwtScaleDiv xret = ((const x_QwtScaleEngine*)this)->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);
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleEngine::NoAttribute;
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleEngine::IncludeReference;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleEngine::Symmetric;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleEngine::Floating;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleEngine::Inverted;
    }
    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;
        this->_binding->callMethod(1759, (void*)this, x, true /*pure virtual*/);
    }
    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;
        this->_binding->callMethod(1760, (void*)this, x, true /*pure virtual*/);
        QwtScaleDiv* xptr = (QwtScaleDiv*)x[0].s_class;
        QwtScaleDiv xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QwtScaleTransformation* transformation() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1761, (void*)this, x, true /*pure virtual*/);
        return (QwtScaleTransformation*)x[0].s_class;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 283: //QwtScaleEngine::Attribute
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QwtScaleEngine::Attribute;
                    break;
                case Smoke::EnumDelete:
                    delete (QwtScaleEngine::Attribute*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QwtScaleEngine::Attribute*)xdata = (QwtScaleEngine::Attribute)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QwtScaleEngine::Attribute*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QwtScaleEngine() { this->_binding->deleted(129, (void*)this); }
};
void xenum_QwtScaleEngine(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QwtScaleEngine::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QwtScaleEngine(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtScaleEngine *xself = (x_QwtScaleEngine*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QwtScaleEngine::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: x_QwtScaleEngine::x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: x_QwtScaleEngine::x_21(args);	break;
        case 22: x_QwtScaleEngine::x_22(args);	break;
        case 23: x_QwtScaleEngine::x_23(args);	break;
        case 24: x_QwtScaleEngine::x_24(args);	break;
        case 25: x_QwtScaleEngine::x_25(args);	break;
        case 26: delete (QwtScaleEngine*)xself;	break;
    }
}
class x_QwtScaleMap : public QwtScaleMap {
    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) {
        // QwtScaleMap* QwtScaleMap()
        x_QwtScaleMap* xret = new x_QwtScaleMap();
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleMap() : QwtScaleMap() {}
    static void x_2(Smoke::Stack x) {
        // QwtScaleMap* QwtScaleMap(const QwtScaleMap&)
        x_QwtScaleMap* xret = new x_QwtScaleMap(*(const QwtScaleMap*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleMap(const QwtScaleMap& x1) : QwtScaleMap(x1) {}
    void x_3(Smoke::Stack x) {
        // QwtScaleMap& operator=(const QwtScaleMap&)
        QwtScaleMap& xret = this->QwtScaleMap::operator=(*(const QwtScaleMap*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // void setTransformation(QwtScaleTransformation*)
        this->QwtScaleMap::setTransformation((QwtScaleTransformation*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // const QwtScaleTransformation* transformation() const
        const QwtScaleTransformation* xret = ((const x_QwtScaleMap*)this)->QwtScaleMap::transformation();
        x[0].s_class = (void*)xret;
    }
    void x_6(Smoke::Stack x) {
        // void setPaintInterval(int, int)
        this->QwtScaleMap::setPaintInterval((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // void setPaintXInterval(double, double)
        this->QwtScaleMap::setPaintXInterval((double)x[1].s_double,(double)x[2].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // void setScaleInterval(double, double)
        this->QwtScaleMap::setScaleInterval((double)x[1].s_double,(double)x[2].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // int transform(double) const
        int xret = ((const x_QwtScaleMap*)this)->QwtScaleMap::transform((double)x[1].s_double);
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // double invTransform(double) const
        double xret = ((const x_QwtScaleMap*)this)->QwtScaleMap::invTransform((double)x[1].s_double);
        x[0].s_double = xret;
    }
    void x_11(Smoke::Stack x) {
        // double xTransform(double) const
        double xret = ((const x_QwtScaleMap*)this)->QwtScaleMap::xTransform((double)x[1].s_double);
        x[0].s_double = xret;
    }
    void x_12(Smoke::Stack x) {
        // double p1() const
        double xret = ((const x_QwtScaleMap*)this)->QwtScaleMap::p1();
        x[0].s_double = xret;
    }
    void x_13(Smoke::Stack x) {
        // double p2() const
        double xret = ((const x_QwtScaleMap*)this)->QwtScaleMap::p2();
        x[0].s_double = xret;
    }
    void x_14(Smoke::Stack x) {
        // double s1() const
        double xret = ((const x_QwtScaleMap*)this)->QwtScaleMap::s1();
        x[0].s_double = xret;
    }
    void x_15(Smoke::Stack x) {
        // double s2() const
        double xret = ((const x_QwtScaleMap*)this)->QwtScaleMap::s2();
        x[0].s_double = xret;
    }
    void x_16(Smoke::Stack x) {
        // double pDist() const
        double xret = ((const x_QwtScaleMap*)this)->QwtScaleMap::pDist();
        x[0].s_double = xret;
    }
    void x_17(Smoke::Stack x) {
        // double sDist() const
        double xret = ((const x_QwtScaleMap*)this)->QwtScaleMap::sDist();
        x[0].s_double = xret;
    }
    static void x_18(Smoke::Stack x) {
        // static const double LogMin
        x[0].s_double = QwtScaleMap::LogMin;
    }
    static void x_19(Smoke::Stack x) {
        // static const double LogMax
        x[0].s_double = QwtScaleMap::LogMax;
    }
    ~x_QwtScaleMap() { this->_binding->deleted(130, (void*)this); }
};
void xcall_QwtScaleMap(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtScaleMap *xself = (x_QwtScaleMap*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QwtScaleMap::x_1(args);	break;
        case 2: x_QwtScaleMap::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: x_QwtScaleMap::x_18(args);	break;
        case 19: x_QwtScaleMap::x_19(args);	break;
        case 20: delete (QwtScaleMap*)xself;	break;
    }
}
class x_QwtScaleTransformation : public QwtScaleTransformation, 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) {
        // QwtScaleTransformation* QwtScaleTransformation(QwtScaleTransformation::Type)
        x_QwtScaleTransformation* xret = new x_QwtScaleTransformation((QwtScaleTransformation::Type)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleTransformation(QwtScaleTransformation::Type x1) : QwtScaleTransformation(x1) {}
    void x_2(Smoke::Stack x) {
        // virtual double xForm(double, double, double, double, double) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtScaleTransformation*>(this))) {
            double xret = ((const x_QwtScaleTransformation*)this)->QwtScaleTransformation::xForm((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double,(double)x[4].s_double,(double)x[5].s_double);
            x[0].s_double = xret;
        } else {
            double xret = ((const x_QwtScaleTransformation*)this)->xForm((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double,(double)x[4].s_double,(double)x[5].s_double);
            x[0].s_double = xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual double invXForm(double, double, double, double, double) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtScaleTransformation*>(this))) {
            double xret = ((const x_QwtScaleTransformation*)this)->QwtScaleTransformation::invXForm((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double,(double)x[4].s_double,(double)x[5].s_double);
            x[0].s_double = xret;
        } else {
            double xret = ((const x_QwtScaleTransformation*)this)->invXForm((double)x[1].s_double,(double)x[2].s_double,(double)x[3].s_double,(double)x[4].s_double,(double)x[5].s_double);
            x[0].s_double = xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // QwtScaleTransformation::Type type() const
        QwtScaleTransformation::Type xret = ((const x_QwtScaleTransformation*)this)->QwtScaleTransformation::type();
        x[0].s_enum = xret;
    }
    void x_5(Smoke::Stack x) {
        // virtual QwtScaleTransformation* copy() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtScaleTransformation*>(this))) {
            QwtScaleTransformation* xret = ((const x_QwtScaleTransformation*)this)->QwtScaleTransformation::copy();
            x[0].s_class = (void*)xret;
        } else {
            QwtScaleTransformation* xret = ((const x_QwtScaleTransformation*)this)->copy();
            x[0].s_class = (void*)xret;
        }
    }
    static void x_6(Smoke::Stack x) {
        // QwtScaleTransformation* QwtScaleTransformation(const QwtScaleTransformation&)
        x_QwtScaleTransformation* xret = new x_QwtScaleTransformation(*(const QwtScaleTransformation*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleTransformation(const QwtScaleTransformation& x1) : QwtScaleTransformation(x1) {}
    static void x_7(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleTransformation::Linear;
    }
    static void x_8(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleTransformation::Log10;
    }
    static void x_9(Smoke::Stack x) {
        x[0].s_enum = (long)QwtScaleTransformation::Other;
    }
    virtual double xForm(double x1, double x2, double x3, double x4, double x5) const {
        Smoke::StackItem x[6];
        x[1].s_double = x1;
        x[2].s_double = x2;
        x[3].s_double = x3;
        x[4].s_double = x4;
        x[5].s_double = x5;
        if (this->_binding->callMethod(1796, (void*)this, x)) return (double)x[0].s_double;
        return this->QwtScaleTransformation::xForm(x1, x2, x3, x4, x5);
    }
    virtual double invXForm(double x1, double x2, double x3, double x4, double x5) const {
        Smoke::StackItem x[6];
        x[1].s_double = x1;
        x[2].s_double = x2;
        x[3].s_double = x3;
        x[4].s_double = x4;
        x[5].s_double = x5;
        if (this->_binding->callMethod(1797, (void*)this, x)) return (double)x[0].s_double;
        return this->QwtScaleTransformation::invXForm(x1, x2, x3, x4, x5);
    }
    virtual QwtScaleTransformation* copy() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1799, (void*)this, x)) return (QwtScaleTransformation*)x[0].s_class;
        return this->QwtScaleTransformation::copy();
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 288: //QwtScaleTransformation::Type
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QwtScaleTransformation::Type;
                    break;
                case Smoke::EnumDelete:
                    delete (QwtScaleTransformation::Type*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QwtScaleTransformation::Type*)xdata = (QwtScaleTransformation::Type)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QwtScaleTransformation::Type*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QwtScaleTransformation() { this->_binding->deleted(131, (void*)this); }
};
void xenum_QwtScaleTransformation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QwtScaleTransformation::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QwtScaleTransformation(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtScaleTransformation *xself = (x_QwtScaleTransformation*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QwtScaleTransformation::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: x_QwtScaleTransformation::x_6(args);	break;
        case 7: x_QwtScaleTransformation::x_7(args);	break;
        case 8: x_QwtScaleTransformation::x_8(args);	break;
        case 9: x_QwtScaleTransformation::x_9(args);	break;
        case 10: delete (QwtScaleTransformation*)xself;	break;
    }
}
class x_QwtScaleWidget : public QwtScaleWidget, 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<QwtScaleWidget*>(this))) {
            const QMetaObject* xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QwtScaleWidget*)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<QwtScaleWidget*>(this))) {
            void* xret = this->QwtScaleWidget::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 = QwtScaleWidget::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 = QwtScaleWidget::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 = QwtScaleWidget::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 = QwtScaleWidget::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<QwtScaleWidget*>(this))) {
            int xret = this->QwtScaleWidget::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) {
        // QwtScaleWidget* QwtScaleWidget(QWidget*)
        x_QwtScaleWidget* xret = new x_QwtScaleWidget((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleWidget(QWidget* x1) : QwtScaleWidget(x1) {}
    static void x_9(Smoke::Stack x) {
        // QwtScaleWidget* QwtScaleWidget(QwtScaleDraw::Alignment, QWidget*)
        x_QwtScaleWidget* xret = new x_QwtScaleWidget((QwtScaleDraw::Alignment)x[1].s_enum,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QwtScaleWidget(QwtScaleDraw::Alignment x1, QWidget* x2) : QwtScaleWidget(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // void scaleDivChanged()
        this->QwtScaleWidget::scaleDivChanged();
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void setTitle(const QString&)
        this->QwtScaleWidget::setTitle(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void setTitle(const QwtText&)
        this->QwtScaleWidget::setTitle(*(const QwtText*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QwtText title() const
        QwtText xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::title();
        x[0].s_class = (void*)new QwtText(xret);
    }
    void x_14(Smoke::Stack x) {
        // void setBorderDist(int, int)
        this->QwtScaleWidget::setBorderDist((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // int startBorderDist() const
        int xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::startBorderDist();
        x[0].s_int = xret;
    }
    void x_16(Smoke::Stack x) {
        // int endBorderDist() const
        int xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::endBorderDist();
        x[0].s_int = xret;
    }
    void x_17(Smoke::Stack x) {
        // void getBorderDistHint(int&, int&) const
        ((const x_QwtScaleWidget*)this)->QwtScaleWidget::getBorderDistHint(*(int*)x[1].s_class,*(int*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void getMinBorderDist(int&, int&) const
        ((const x_QwtScaleWidget*)this)->QwtScaleWidget::getMinBorderDist(*(int*)x[1].s_class,*(int*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void setMinBorderDist(int, int)
        this->QwtScaleWidget::setMinBorderDist((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void setMargin(int)
        this->QwtScaleWidget::setMargin((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // int margin() const
        int xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::margin();
        x[0].s_int = xret;
    }
    void x_22(Smoke::Stack x) {
        // void setSpacing(int)
        this->QwtScaleWidget::setSpacing((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // int spacing() const
        int xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::spacing();
        x[0].s_int = xret;
    }
    void x_24(Smoke::Stack x) {
        // void setPenWidth(int)
        this->QwtScaleWidget::setPenWidth((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // int penWidth() const
        int xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::penWidth();
        x[0].s_int = xret;
    }
    void x_26(Smoke::Stack x) {
        // void setScaleDiv(QwtScaleTransformation*, const QwtScaleDiv&)
        this->QwtScaleWidget::setScaleDiv((QwtScaleTransformation*)x[1].s_class,*(const QwtScaleDiv*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // void setScaleDraw(QwtScaleDraw*)
        this->QwtScaleWidget::setScaleDraw((QwtScaleDraw*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // const QwtScaleDraw* scaleDraw() const
        const QwtScaleDraw* xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::scaleDraw();
        x[0].s_class = (void*)xret;
    }
    void x_29(Smoke::Stack x) {
        // QwtScaleDraw* scaleDraw()
        QwtScaleDraw* xret = this->QwtScaleWidget::scaleDraw();
        x[0].s_class = (void*)xret;
    }
    void x_30(Smoke::Stack x) {
        // void setLabelAlignment(QFlags<Qt::AlignmentFlag>)
        this->QwtScaleWidget::setLabelAlignment((QFlags<Qt::AlignmentFlag>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // void setLabelRotation(double)
        this->QwtScaleWidget::setLabelRotation((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // void setColorBarEnabled(bool)
        this->QwtScaleWidget::setColorBarEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // bool isColorBarEnabled() const
        bool xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::isColorBarEnabled();
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // void setColorBarWidth(int)
        this->QwtScaleWidget::setColorBarWidth((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // int colorBarWidth() const
        int xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::colorBarWidth();
        x[0].s_int = xret;
    }
    void x_36(Smoke::Stack x) {
        // void setColorMap(const QwtDoubleInterval&, const QwtColorMap&)
        this->QwtScaleWidget::setColorMap(*(const QwtDoubleInterval*)x[1].s_class,*(const QwtColorMap*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // QwtDoubleInterval colorBarInterval() const
        QwtDoubleInterval xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::colorBarInterval();
        x[0].s_class = (void*)new QwtDoubleInterval(xret);
    }
    void x_38(Smoke::Stack x) {
        // const QwtColorMap& colorMap() const
        const QwtColorMap& xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::colorMap();
        x[0].s_class = (void*)&xret;
    }
    void x_39(Smoke::Stack x) {
        // virtual QSize sizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtScaleWidget*>(this))) {
            QSize xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QwtScaleWidget*)this)->sizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_40(Smoke::Stack x) {
        // virtual QSize minimumSizeHint() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtScaleWidget*>(this))) {
            QSize xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        } else {
            QSize xret = ((const x_QwtScaleWidget*)this)->minimumSizeHint();
            x[0].s_class = (void*)new QSize(xret);
        }
    }
    void x_41(Smoke::Stack x) {
        // int titleHeightForWidth(int) const
        int xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::titleHeightForWidth((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_42(Smoke::Stack x) {
        // int dimForLength(int, const QFont&) const
        int xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::dimForLength((int)x[1].s_int,*(const QFont*)x[2].s_class);
        x[0].s_int = xret;
    }
    void x_43(Smoke::Stack x) {
        // void drawColorBar(QPainter*, const QRect&) const
        ((const x_QwtScaleWidget*)this)->QwtScaleWidget::drawColorBar((QPainter*)x[1].s_class,*(const QRect*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_44(Smoke::Stack x) {
        // void drawTitle(QPainter*, QwtScaleDraw::Alignment, const QRect&) const
        ((const x_QwtScaleWidget*)this)->QwtScaleWidget::drawTitle((QPainter*)x[1].s_class,(QwtScaleDraw::Alignment)x[2].s_enum,*(const QRect*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_45(Smoke::Stack x) {
        // void setAlignment(QwtScaleDraw::Alignment)
        this->QwtScaleWidget::setAlignment((QwtScaleDraw::Alignment)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // QwtScaleDraw::Alignment alignment() const
        QwtScaleDraw::Alignment xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::alignment();
        x[0].s_enum = xret;
    }
    void x_47(Smoke::Stack x) {
        // QRect colorBarRect(const QRect&) const
        QRect xret = ((const x_QwtScaleWidget*)this)->QwtScaleWidget::colorBarRect(*(const QRect*)x[1].s_class);
        x[0].s_class = (void*)new QRect(xret);
    }
    void x_48(Smoke::Stack x) {
        // virtual void paintEvent(QPaintEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtScaleWidget*>(this))) {
            this->QwtScaleWidget::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_49(Smoke::Stack x) {
        // virtual void resizeEvent(QResizeEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QwtScaleWidget*>(this))) {
            this->QwtScaleWidget::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_50(Smoke::Stack x) {
        // void draw(QPainter*) const
        ((const x_QwtScaleWidget*)this)->QwtScaleWidget::draw((QPainter*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_51(Smoke::Stack x) {
        // void scaleChange()
        this->QwtScaleWidget::scaleChange();
        (void)x; // noop (for compiler warning)
    }
    void x_52(Smoke::Stack x) {
        // void layoutScale(bool)
        this->QwtScaleWidget::layoutScale((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    static void x_53(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QwtScaleWidget::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_54(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QwtScaleWidget::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_55(Smoke::Stack x) {
        // QwtScaleWidget* QwtScaleWidget()
        x_QwtScaleWidget* xret = new x_QwtScaleWidget((QWidget*)NULL);
        x[0].s_class = (void*)xret;
    }
    static void x_56(Smoke::Stack x) {
        // QwtScaleWidget* QwtScaleWidget(QwtScaleDraw::Alignment)
        x_QwtScaleWidget* xret = new x_QwtScaleWidget((QwtScaleDraw::Alignment)x[1].s_enum,(QWidget*)NULL);
        x[0].s_class = (void*)xret;
    }
    void x_57(Smoke::Stack x) {
        // void layoutScale()
        this->QwtScaleWidget::layoutScale((bool)true);
        (void)x; // noop (for compiler warning)
    }
    static void x_58(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QwtScaleWidget::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1805, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QwtScaleWidget::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1806, (void*)this, x)) return (void*)x[0].s_class;
        return this->QwtScaleWidget::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(1811, (void*)this, x)) return (int)x[0].s_int;
        return this->QwtScaleWidget::qt_metacall(x1, x2, x3);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1843, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtScaleWidget::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1844, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QwtScaleWidget::minimumSizeHint();
    }
    virtual void paintEvent(QPaintEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1852, (void*)this, x)) return;
        this->QwtScaleWidget::paintEvent(x1);
    }
    virtual void resizeEvent(QResizeEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return;
        this->QwtScaleWidget::resizeEvent(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 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 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 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(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 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);
    }
    ~x_QwtScaleWidget() { this->_binding->deleted(132, (void*)this); }
};
void xcall_QwtScaleWidget(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QwtScaleWidget *xself = (x_QwtScaleWidget*)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_QwtScaleWidget::x_3(args);	break;
        case 4: x_QwtScaleWidget::x_4(args);	break;
        case 5: x_QwtScaleWidget::x_5(args);	break;
        case 6: x_QwtScaleWidget::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QwtScaleWidget::x_8(args);	break;
        case 9: x_QwtScaleWidget::x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: x_QwtScaleWidget::x_53(args);	break;
        case 54: x_QwtScaleWidget::x_54(args);	break;
        case 55: x_QwtScaleWidget::x_55(args);	break;
        case 56: x_QwtScaleWidget::x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: x_QwtScaleWidget::x_58(args);	break;
        case 59: delete (QwtScaleWidget*)xself;	break;
    }
}

}
