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

#include <smoke.h>
#include <qt3support_smoke.h>

class __internal_SmokeClass {};

namespace __smokeqt3support {

class x_Q3SqlCursor : public Q3SqlCursor, 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) {
        // Q3SqlCursor* Q3SqlCursor(const QString&, bool, QSqlDatabase)
        x_Q3SqlCursor* xret = new x_Q3SqlCursor(*(const QString*)x[1].s_class,(bool)x[2].s_bool,*(QSqlDatabase*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlCursor(const QString& x1, bool x2, QSqlDatabase x3) : Q3SqlCursor(x1, x2, x3) {}
    static void x_2(Smoke::Stack x) {
        // Q3SqlCursor* Q3SqlCursor(const Q3SqlCursor&)
        x_Q3SqlCursor* xret = new x_Q3SqlCursor(*(const Q3SqlCursor*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlCursor(const Q3SqlCursor& x1) : Q3SqlCursor(x1) {}
    void x_3(Smoke::Stack x) {
        // Q3SqlCursor& operator=(const Q3SqlCursor&)
        Q3SqlCursor& xret = this->Q3SqlCursor::operator=(*(const Q3SqlCursor*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // QVariant value(int) const
        QVariant xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::value((int)x[1].s_int);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_5(Smoke::Stack x) {
        // QVariant value(const QString&) const
        QVariant xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::value(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_6(Smoke::Stack x) {
        // virtual void setValue(int, const QVariant&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::setValue((int)x[1].s_int,*(const QVariant*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setValue((int)x[1].s_int,*(const QVariant*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_7(Smoke::Stack x) {
        // void setValue(const QString&, const QVariant&)
        this->Q3SqlCursor::setValue(*(const QString*)x[1].s_class,*(const QVariant*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // virtual QSqlIndex primaryIndex(bool) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            QSqlIndex xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::primaryIndex((bool)x[1].s_bool);
            x[0].s_class = (void*)new QSqlIndex(xret);
        } else {
            QSqlIndex xret = ((const x_Q3SqlCursor*)this)->primaryIndex((bool)x[1].s_bool);
            x[0].s_class = (void*)new QSqlIndex(xret);
        }
    }
    void x_9(Smoke::Stack x) {
        // virtual QSqlIndex index(const QStringList&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            QSqlIndex xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::index(*(const QStringList*)x[1].s_class);
            x[0].s_class = (void*)new QSqlIndex(xret);
        } else {
            QSqlIndex xret = ((const x_Q3SqlCursor*)this)->index(*(const QStringList*)x[1].s_class);
            x[0].s_class = (void*)new QSqlIndex(xret);
        }
    }
    void x_10(Smoke::Stack x) {
        // QSqlIndex index(const QString&) const
        QSqlIndex xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::index(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QSqlIndex(xret);
    }
    void x_11(Smoke::Stack x) {
        // virtual void setPrimaryIndex(const QSqlIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::setPrimaryIndex(*(const QSqlIndex*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setPrimaryIndex(*(const QSqlIndex*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual void append(const Q3SqlFieldInfo&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::append(*(const Q3SqlFieldInfo*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->append(*(const Q3SqlFieldInfo*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // virtual void insert(int, const Q3SqlFieldInfo&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::insert((int)x[1].s_int,*(const Q3SqlFieldInfo*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->insert((int)x[1].s_int,*(const Q3SqlFieldInfo*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_14(Smoke::Stack x) {
        // virtual void remove(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::remove((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->remove((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_15(Smoke::Stack x) {
        // virtual void clear()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::clear();
            (void)x; // noop (for compiler warning)
        } else {
            this->clear();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // virtual void setGenerated(const QString&, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::setGenerated(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setGenerated(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_17(Smoke::Stack x) {
        // virtual void setGenerated(int, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::setGenerated((int)x[1].s_int,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setGenerated((int)x[1].s_int,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_18(Smoke::Stack x) {
        // virtual QSqlRecord* editBuffer(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            QSqlRecord* xret = this->Q3SqlCursor::editBuffer((bool)x[1].s_bool);
            x[0].s_class = (void*)xret;
        } else {
            QSqlRecord* xret = this->editBuffer((bool)x[1].s_bool);
            x[0].s_class = (void*)xret;
        }
    }
    void x_19(Smoke::Stack x) {
        // virtual QSqlRecord* primeInsert()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            QSqlRecord* xret = this->Q3SqlCursor::primeInsert();
            x[0].s_class = (void*)xret;
        } else {
            QSqlRecord* xret = this->primeInsert();
            x[0].s_class = (void*)xret;
        }
    }
    void x_20(Smoke::Stack x) {
        // virtual QSqlRecord* primeUpdate()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            QSqlRecord* xret = this->Q3SqlCursor::primeUpdate();
            x[0].s_class = (void*)xret;
        } else {
            QSqlRecord* xret = this->primeUpdate();
            x[0].s_class = (void*)xret;
        }
    }
    void x_21(Smoke::Stack x) {
        // virtual QSqlRecord* primeDelete()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            QSqlRecord* xret = this->Q3SqlCursor::primeDelete();
            x[0].s_class = (void*)xret;
        } else {
            QSqlRecord* xret = this->primeDelete();
            x[0].s_class = (void*)xret;
        }
    }
    void x_22(Smoke::Stack x) {
        // virtual int insert(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            int xret = this->Q3SqlCursor::insert((bool)x[1].s_bool);
            x[0].s_int = xret;
        } else {
            int xret = this->insert((bool)x[1].s_bool);
            x[0].s_int = xret;
        }
    }
    void x_23(Smoke::Stack x) {
        // virtual int update(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            int xret = this->Q3SqlCursor::update((bool)x[1].s_bool);
            x[0].s_int = xret;
        } else {
            int xret = this->update((bool)x[1].s_bool);
            x[0].s_int = xret;
        }
    }
    void x_24(Smoke::Stack x) {
        // virtual int del(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            int xret = this->Q3SqlCursor::del((bool)x[1].s_bool);
            x[0].s_int = xret;
        } else {
            int xret = this->del((bool)x[1].s_bool);
            x[0].s_int = xret;
        }
    }
    void x_25(Smoke::Stack x) {
        // virtual void setMode(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::setMode((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->setMode((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_26(Smoke::Stack x) {
        // int mode() const
        int xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::mode();
        x[0].s_int = xret;
    }
    void x_27(Smoke::Stack x) {
        // virtual void setCalculated(const QString&, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::setCalculated(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setCalculated(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_28(Smoke::Stack x) {
        // bool isCalculated(const QString&) const
        bool xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::isCalculated(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // virtual void setTrimmed(const QString&, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::setTrimmed(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setTrimmed(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_30(Smoke::Stack x) {
        // bool isTrimmed(const QString&) const
        bool xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::isTrimmed(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // bool isReadOnly() const
        bool xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::isReadOnly();
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // bool canInsert() const
        bool xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::canInsert();
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // bool canUpdate() const
        bool xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::canUpdate();
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // bool canDelete() const
        bool xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::canDelete();
        x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
        // bool select()
        bool xret = this->Q3SqlCursor::select();
        x[0].s_bool = xret;
    }
    void x_36(Smoke::Stack x) {
        // bool select(const QSqlIndex&)
        bool xret = this->Q3SqlCursor::select(*(const QSqlIndex*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // bool select(const QSqlIndex&, const QSqlIndex&)
        bool xret = this->Q3SqlCursor::select(*(const QSqlIndex*)x[1].s_class,*(const QSqlIndex*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_38(Smoke::Stack x) {
        // virtual bool select(const QString&, const QSqlIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            bool xret = this->Q3SqlCursor::select(*(const QString*)x[1].s_class,*(const QSqlIndex*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->select(*(const QString*)x[1].s_class,*(const QSqlIndex*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_39(Smoke::Stack x) {
        // virtual void setSort(const QSqlIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::setSort(*(const QSqlIndex*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setSort(*(const QSqlIndex*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_40(Smoke::Stack x) {
        // QSqlIndex sort() const
        QSqlIndex xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::sort();
        x[0].s_class = (void*)new QSqlIndex(xret);
    }
    void x_41(Smoke::Stack x) {
        // virtual void setFilter(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::setFilter(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFilter(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_42(Smoke::Stack x) {
        // QString filter() const
        QString xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::filter();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_43(Smoke::Stack x) {
        // virtual void setName(const QString&, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            this->Q3SqlCursor::setName(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setName(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_44(Smoke::Stack x) {
        // QString name() const
        QString xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::name();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_45(Smoke::Stack x) {
        // QString toString(const QString&, const QString&) const
        QString xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::toString(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_46(Smoke::Stack x) {
        // bool isNull(int) const
        bool xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::isNull((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_47(Smoke::Stack x) {
        // bool isNull(const QString&) const
        bool xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::isNull(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_48(Smoke::Stack x) {
        // virtual bool seek(int, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            bool xret = this->Q3SqlCursor::seek((int)x[1].s_int,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        } else {
            bool xret = this->seek((int)x[1].s_int,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        }
    }
    void x_49(Smoke::Stack x) {
        // virtual bool next()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            bool xret = this->Q3SqlCursor::next();
            x[0].s_bool = xret;
        } else {
            bool xret = this->next();
            x[0].s_bool = xret;
        }
    }
    void x_50(Smoke::Stack x) {
        // bool previous()
        bool xret = this->Q3SqlCursor::previous();
        x[0].s_bool = xret;
    }
    void x_51(Smoke::Stack x) {
        // virtual bool prev()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            bool xret = this->Q3SqlCursor::prev();
            x[0].s_bool = xret;
        } else {
            bool xret = this->prev();
            x[0].s_bool = xret;
        }
    }
    void x_52(Smoke::Stack x) {
        // virtual bool first()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            bool xret = this->Q3SqlCursor::first();
            x[0].s_bool = xret;
        } else {
            bool xret = this->first();
            x[0].s_bool = xret;
        }
    }
    void x_53(Smoke::Stack x) {
        // virtual bool last()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            bool xret = this->Q3SqlCursor::last();
            x[0].s_bool = xret;
        } else {
            bool xret = this->last();
            x[0].s_bool = xret;
        }
    }
    void x_54(Smoke::Stack x) {
        // virtual bool exec(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            bool xret = this->Q3SqlCursor::exec(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->exec(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_55(Smoke::Stack x) {
        // virtual QVariant calculateField(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            QVariant xret = this->Q3SqlCursor::calculateField(*(const QString*)x[1].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = this->calculateField(*(const QString*)x[1].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_56(Smoke::Stack x) {
        // virtual int update(const QString&, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            int xret = this->Q3SqlCursor::update(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_int = xret;
        } else {
            int xret = this->update(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_int = xret;
        }
    }
    void x_57(Smoke::Stack x) {
        // virtual int del(const QString&, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            int xret = this->Q3SqlCursor::del(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_int = xret;
        } else {
            int xret = this->del(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_int = xret;
        }
    }
    void x_58(Smoke::Stack x) {
        // virtual QString toString(const QString&, QSqlField*, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            QString xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::toString(*(const QString*)x[1].s_class,(QSqlField*)x[2].s_class,*(const QString*)x[3].s_class);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_Q3SqlCursor*)this)->toString(*(const QString*)x[1].s_class,(QSqlField*)x[2].s_class,*(const QString*)x[3].s_class);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_59(Smoke::Stack x) {
        // virtual QString toString(QSqlRecord*, const QString&, const QString&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            QString xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::toString((QSqlRecord*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_Q3SqlCursor*)this)->toString((QSqlRecord*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_60(Smoke::Stack x) {
        // virtual QString toString(const QSqlIndex&, QSqlRecord*, const QString&, const QString&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlCursor*>(this))) {
            QString xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::toString(*(const QSqlIndex*)x[1].s_class,(QSqlRecord*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class,*(const QString*)x[5].s_class);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_Q3SqlCursor*)this)->toString(*(const QSqlIndex*)x[1].s_class,(QSqlRecord*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class,*(const QString*)x[5].s_class);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    static void x_61(Smoke::Stack x) {
        // Q3SqlCursor* Q3SqlCursor()
        x_Q3SqlCursor* xret = new x_Q3SqlCursor((const QString&)QString(),(bool)true,(QSqlDatabase)QSqlDatabase());
        x[0].s_class = (void*)xret;
    }
    static void x_62(Smoke::Stack x) {
        // Q3SqlCursor* Q3SqlCursor(const QString&)
        x_Q3SqlCursor* xret = new x_Q3SqlCursor(*(const QString*)x[1].s_class,(bool)true,(QSqlDatabase)QSqlDatabase());
        x[0].s_class = (void*)xret;
    }
    static void x_63(Smoke::Stack x) {
        // Q3SqlCursor* Q3SqlCursor(const QString&, bool)
        x_Q3SqlCursor* xret = new x_Q3SqlCursor(*(const QString*)x[1].s_class,(bool)x[2].s_bool,(QSqlDatabase)QSqlDatabase());
        x[0].s_class = (void*)xret;
    }
    void x_64(Smoke::Stack x) {
        // QSqlIndex primaryIndex() const
        QSqlIndex xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::primaryIndex((bool)true);
        x[0].s_class = (void*)new QSqlIndex(xret);
    }
    void x_65(Smoke::Stack x) {
        // QSqlRecord* editBuffer()
        QSqlRecord* xret = this->Q3SqlCursor::editBuffer((bool)false);
        x[0].s_class = (void*)xret;
    }
    void x_66(Smoke::Stack x) {
        // int insert()
        int xret = this->Q3SqlCursor::insert((bool)true);
        x[0].s_int = xret;
    }
    void x_67(Smoke::Stack x) {
        // int update()
        int xret = this->Q3SqlCursor::update((bool)true);
        x[0].s_int = xret;
    }
    void x_68(Smoke::Stack x) {
        // int del()
        int xret = this->Q3SqlCursor::del((bool)true);
        x[0].s_int = xret;
    }
    void x_69(Smoke::Stack x) {
        // bool select(const QString&)
        bool xret = this->Q3SqlCursor::select(*(const QString*)x[1].s_class,(const QSqlIndex&)QSqlIndex());
        x[0].s_bool = xret;
    }
    void x_70(Smoke::Stack x) {
        // void setName(const QString&)
        this->Q3SqlCursor::setName(*(const QString*)x[1].s_class,(bool)true);
        (void)x; // noop (for compiler warning)
    }
    void x_71(Smoke::Stack x) {
        // QString toString() const
        QString xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::toString((const QString&)QString(),(const QString&)QLatin1String(","));
        x[0].s_class = (void*)new QString(xret);
    }
    void x_72(Smoke::Stack x) {
        // QString toString(const QString&) const
        QString xret = ((const x_Q3SqlCursor*)this)->Q3SqlCursor::toString(*(const QString*)x[1].s_class,(const QString&)QLatin1String(","));
        x[0].s_class = (void*)new QString(xret);
    }
    void x_73(Smoke::Stack x) {
        // bool seek(int)
        bool xret = this->Q3SqlCursor::seek((int)x[1].s_int,(bool)false);
        x[0].s_bool = xret;
    }
    void x_74(Smoke::Stack x) {
        // int update(const QString&)
        int xret = this->Q3SqlCursor::update(*(const QString*)x[1].s_class,(bool)true);
        x[0].s_int = xret;
    }
    void x_75(Smoke::Stack x) {
        // int del(const QString&)
        int xret = this->Q3SqlCursor::del(*(const QString*)x[1].s_class,(bool)true);
        x[0].s_int = xret;
    }
    static void x_76(Smoke::Stack x) {
        x[0].s_enum = (long)Q3SqlCursor::ReadOnly;
    }
    static void x_77(Smoke::Stack x) {
        x[0].s_enum = (long)Q3SqlCursor::Insert;
    }
    static void x_78(Smoke::Stack x) {
        x[0].s_enum = (long)Q3SqlCursor::Update;
    }
    static void x_79(Smoke::Stack x) {
        x[0].s_enum = (long)Q3SqlCursor::Delete;
    }
    static void x_80(Smoke::Stack x) {
        x[0].s_enum = (long)Q3SqlCursor::Writable;
    }
    virtual void setValue(int x1, const QVariant& x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(3659, (void*)this, x)) return;
        this->Q3SqlCursor::setValue(x1, x2);
    }
    virtual QSqlIndex primaryIndex(bool x1) const {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(3661, (void*)this, x)) {
            QSqlIndex* xptr = (QSqlIndex*)x[0].s_class;
            QSqlIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Q3SqlCursor::primaryIndex(x1);
    }
    virtual QSqlIndex index(const QStringList& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3662, (void*)this, x)) {
            QSqlIndex* xptr = (QSqlIndex*)x[0].s_class;
            QSqlIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Q3SqlCursor::index(x1);
    }
    virtual void setPrimaryIndex(const QSqlIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3664, (void*)this, x)) return;
        this->Q3SqlCursor::setPrimaryIndex(x1);
    }
    virtual void append(const Q3SqlFieldInfo& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3665, (void*)this, x)) return;
        this->Q3SqlCursor::append(x1);
    }
    virtual void insert(int x1, const Q3SqlFieldInfo& x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(3666, (void*)this, x)) return;
        this->Q3SqlCursor::insert(x1, x2);
    }
    virtual void remove(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(3667, (void*)this, x)) return;
        this->Q3SqlCursor::remove(x1);
    }
    virtual void clear() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3668, (void*)this, x)) return;
        this->Q3SqlCursor::clear();
    }
    virtual void setGenerated(const QString& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(3669, (void*)this, x)) return;
        this->Q3SqlCursor::setGenerated(x1, x2);
    }
    virtual void setGenerated(int x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(3670, (void*)this, x)) return;
        this->Q3SqlCursor::setGenerated(x1, x2);
    }
    virtual QSqlRecord* editBuffer(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(3671, (void*)this, x)) return (QSqlRecord*)x[0].s_class;
        return this->Q3SqlCursor::editBuffer(x1);
    }
    virtual QSqlRecord* primeInsert() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3672, (void*)this, x)) return (QSqlRecord*)x[0].s_class;
        return this->Q3SqlCursor::primeInsert();
    }
    virtual QSqlRecord* primeUpdate() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3673, (void*)this, x)) return (QSqlRecord*)x[0].s_class;
        return this->Q3SqlCursor::primeUpdate();
    }
    virtual QSqlRecord* primeDelete() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3674, (void*)this, x)) return (QSqlRecord*)x[0].s_class;
        return this->Q3SqlCursor::primeDelete();
    }
    virtual int insert(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(3675, (void*)this, x)) return (int)x[0].s_int;
        return this->Q3SqlCursor::insert(x1);
    }
    virtual int update(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(3676, (void*)this, x)) return (int)x[0].s_int;
        return this->Q3SqlCursor::update(x1);
    }
    virtual int del(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(3677, (void*)this, x)) return (int)x[0].s_int;
        return this->Q3SqlCursor::del(x1);
    }
    virtual void setMode(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(3678, (void*)this, x)) return;
        this->Q3SqlCursor::setMode(x1);
    }
    virtual void setCalculated(const QString& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(3680, (void*)this, x)) return;
        this->Q3SqlCursor::setCalculated(x1, x2);
    }
    virtual void setTrimmed(const QString& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(3682, (void*)this, x)) return;
        this->Q3SqlCursor::setTrimmed(x1, x2);
    }
    virtual bool select(const QString& x1, const QSqlIndex& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(3691, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Q3SqlCursor::select(x1, x2);
    }
    virtual void setSort(const QSqlIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3692, (void*)this, x)) return;
        this->Q3SqlCursor::setSort(x1);
    }
    virtual void setFilter(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3694, (void*)this, x)) return;
        this->Q3SqlCursor::setFilter(x1);
    }
    virtual void setName(const QString& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(3696, (void*)this, x)) return;
        this->Q3SqlCursor::setName(x1, x2);
    }
    virtual bool seek(int x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(3701, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Q3SqlCursor::seek(x1, x2);
    }
    virtual bool next() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3702, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Q3SqlCursor::next();
    }
    virtual bool prev() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3704, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Q3SqlCursor::prev();
    }
    virtual bool first() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3705, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Q3SqlCursor::first();
    }
    virtual bool last() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3706, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Q3SqlCursor::last();
    }
    virtual bool exec(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3707, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Q3SqlCursor::exec(x1);
    }
    virtual QVariant calculateField(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3708, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Q3SqlCursor::calculateField(x1);
    }
    virtual int update(const QString& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(3709, (void*)this, x)) return (int)x[0].s_int;
        return this->Q3SqlCursor::update(x1, x2);
    }
    virtual int del(const QString& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(3710, (void*)this, x)) return (int)x[0].s_int;
        return this->Q3SqlCursor::del(x1, x2);
    }
    virtual QString toString(const QString& x1, QSqlField* x2, const QString& x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(3711, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Q3SqlCursor::toString(x1, x2, x3);
    }
    virtual QString toString(QSqlRecord* x1, const QString& x2, const QString& x3, const QString& x4) const {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)&x4;
        if (this->_binding->callMethod(3712, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Q3SqlCursor::toString(x1, x2, x3, x4);
    }
    virtual QString toString(const QSqlIndex& x1, QSqlRecord* x2, const QString& x3, const QString& x4, const QString& x5) const {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)&x4;
        x[5].s_class = (void*)&x5;
        if (this->_binding->callMethod(3713, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Q3SqlCursor::toString(x1, x2, x3, x4, x5);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 170: //Q3SqlCursor::Mode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Q3SqlCursor::Mode;
                    break;
                case Smoke::EnumDelete:
                    delete (Q3SqlCursor::Mode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Q3SqlCursor::Mode*)xdata = (Q3SqlCursor::Mode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Q3SqlCursor::Mode*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Q3SqlCursor() { this->_binding->deleted(97, (void*)this); }
};
void xenum_Q3SqlCursor(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Q3SqlCursor::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Q3SqlCursor(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Q3SqlCursor *xself = (x_Q3SqlCursor*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Q3SqlCursor::x_1(args);	break;
        case 2: x_Q3SqlCursor::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: xself->x_53(args);	break;
        case 54: xself->x_54(args);	break;
        case 55: xself->x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: xself->x_58(args);	break;
        case 59: xself->x_59(args);	break;
        case 60: xself->x_60(args);	break;
        case 61: x_Q3SqlCursor::x_61(args);	break;
        case 62: x_Q3SqlCursor::x_62(args);	break;
        case 63: x_Q3SqlCursor::x_63(args);	break;
        case 64: xself->x_64(args);	break;
        case 65: xself->x_65(args);	break;
        case 66: xself->x_66(args);	break;
        case 67: xself->x_67(args);	break;
        case 68: xself->x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: xself->x_72(args);	break;
        case 73: xself->x_73(args);	break;
        case 74: xself->x_74(args);	break;
        case 75: xself->x_75(args);	break;
        case 76: x_Q3SqlCursor::x_76(args);	break;
        case 77: x_Q3SqlCursor::x_77(args);	break;
        case 78: x_Q3SqlCursor::x_78(args);	break;
        case 79: x_Q3SqlCursor::x_79(args);	break;
        case 80: x_Q3SqlCursor::x_80(args);	break;
        case 81: delete (Q3SqlCursor*)xself;	break;
    }
}
class x_Q3SqlEditorFactory : public Q3SqlEditorFactory, 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) {
        // Q3SqlEditorFactory* Q3SqlEditorFactory(QObject*)
        x_Q3SqlEditorFactory* xret = new x_Q3SqlEditorFactory((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlEditorFactory(QObject* x1) : Q3SqlEditorFactory(x1) {}
    void x_2(Smoke::Stack x) {
        // virtual QWidget* createEditor(QWidget*, const QVariant&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlEditorFactory*>(this))) {
            QWidget* xret = this->Q3SqlEditorFactory::createEditor((QWidget*)x[1].s_class,*(const QVariant*)x[2].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QWidget* xret = this->createEditor((QWidget*)x[1].s_class,*(const QVariant*)x[2].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual QWidget* createEditor(QWidget*, const QSqlField*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlEditorFactory*>(this))) {
            QWidget* xret = this->Q3SqlEditorFactory::createEditor((QWidget*)x[1].s_class,(const QSqlField*)x[2].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QWidget* xret = this->createEditor((QWidget*)x[1].s_class,(const QSqlField*)x[2].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_4(Smoke::Stack x) {
        // static Q3SqlEditorFactory* defaultFactory()
        Q3SqlEditorFactory* xret = Q3SqlEditorFactory::defaultFactory();
        x[0].s_class = (void*)xret;
    }
    static void x_5(Smoke::Stack x) {
        // static void installDefaultFactory(Q3SqlEditorFactory*)
        Q3SqlEditorFactory::installDefaultFactory((Q3SqlEditorFactory*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_6(Smoke::Stack x) {
        // Q3SqlEditorFactory* Q3SqlEditorFactory()
        x_Q3SqlEditorFactory* xret = new x_Q3SqlEditorFactory((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    virtual QWidget* createEditor(QWidget* x1, const QVariant& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(3736, (void*)this, x)) return (QWidget*)x[0].s_class;
        return this->Q3SqlEditorFactory::createEditor(x1, x2);
    }
    virtual QWidget* createEditor(QWidget* x1, const QSqlField* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(3737, (void*)this, x)) return (QWidget*)x[0].s_class;
        return this->Q3SqlEditorFactory::createEditor(x1, x2);
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(5235, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QObject::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(5236, (void*)this, x)) return (void*)x[0].s_class;
        return this->QObject::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(5237, (void*)this, x)) return (int)x[0].s_int;
        return this->QObject::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(5238, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(5239, (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(5240, (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(5241, (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(5242, (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(5243, (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(5244, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Q3SqlEditorFactory() { this->_binding->deleted(98, (void*)this); }
};
void xcall_Q3SqlEditorFactory(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Q3SqlEditorFactory *xself = (x_Q3SqlEditorFactory*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Q3SqlEditorFactory::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_Q3SqlEditorFactory::x_4(args);	break;
        case 5: x_Q3SqlEditorFactory::x_5(args);	break;
        case 6: x_Q3SqlEditorFactory::x_6(args);	break;
        case 7: delete (Q3SqlEditorFactory*)xself;	break;
    }
}
class x_Q3SqlFieldInfo : public Q3SqlFieldInfo, 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) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const QString&, QVariant::Type, int, int, int, const QVariant&, int, bool, bool, bool)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const QString*)x[1].s_class,(QVariant::Type)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,(int)x[5].s_int,*(const QVariant*)x[6].s_class,(int)x[7].s_int,(bool)x[8].s_bool,(bool)x[9].s_bool,(bool)x[10].s_bool);
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlFieldInfo(const QString& x1, QVariant::Type x2, int x3, int x4, int x5, const QVariant& x6, int x7, bool x8, bool x9, bool x10) : Q3SqlFieldInfo(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) {}
    static void x_2(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const QSqlField&)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const QSqlField*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlFieldInfo(const QSqlField& x1) : Q3SqlFieldInfo(x1) {}
    void x_3(Smoke::Stack x) {
        // bool operator==(const Q3SqlFieldInfo&) const
        bool xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::operator==(*(const Q3SqlFieldInfo*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // QSqlField toField() const
        QSqlField xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::toField();
        x[0].s_class = (void*)new QSqlField(xret);
    }
    void x_5(Smoke::Stack x) {
        // int isRequired() const
        int xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::isRequired();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // QVariant::Type type() const
        QVariant::Type xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::type();
        x[0].s_enum = xret;
    }
    void x_7(Smoke::Stack x) {
        // int length() const
        int xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::length();
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // int precision() const
        int xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::precision();
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // QVariant defaultValue() const
        QVariant xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::defaultValue();
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_10(Smoke::Stack x) {
        // QString name() const
        QString xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::name();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_11(Smoke::Stack x) {
        // int typeID() const
        int xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::typeID();
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // bool isGenerated() const
        bool xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::isGenerated();
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // bool isTrim() const
        bool xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::isTrim();
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // bool isCalculated() const
        bool xret = ((const x_Q3SqlFieldInfo*)this)->Q3SqlFieldInfo::isCalculated();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // virtual void setTrim(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlFieldInfo*>(this))) {
            this->Q3SqlFieldInfo::setTrim((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setTrim((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // virtual void setGenerated(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlFieldInfo*>(this))) {
            this->Q3SqlFieldInfo::setGenerated((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setGenerated((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_17(Smoke::Stack x) {
        // virtual void setCalculated(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlFieldInfo*>(this))) {
            this->Q3SqlFieldInfo::setCalculated((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setCalculated((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_18(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const Q3SqlFieldInfo&)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const Q3SqlFieldInfo*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlFieldInfo(const Q3SqlFieldInfo& x1) : Q3SqlFieldInfo(x1) {}
    static void x_19(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo()
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo((const QString&)QString(),(QVariant::Type)QVariant::Invalid,(int)-1,(int)-1,(int)-1,(const QVariant&)QVariant(),(int)0,(bool)true,(bool)false,(bool)false);
        x[0].s_class = (void*)xret;
    }
    static void x_20(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const QString&)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const QString*)x[1].s_class,(QVariant::Type)QVariant::Invalid,(int)-1,(int)-1,(int)-1,(const QVariant&)QVariant(),(int)0,(bool)true,(bool)false,(bool)false);
        x[0].s_class = (void*)xret;
    }
    static void x_21(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const QString&, QVariant::Type)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const QString*)x[1].s_class,(QVariant::Type)x[2].s_enum,(int)-1,(int)-1,(int)-1,(const QVariant&)QVariant(),(int)0,(bool)true,(bool)false,(bool)false);
        x[0].s_class = (void*)xret;
    }
    static void x_22(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const QString&, QVariant::Type, int)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const QString*)x[1].s_class,(QVariant::Type)x[2].s_enum,(int)x[3].s_int,(int)-1,(int)-1,(const QVariant&)QVariant(),(int)0,(bool)true,(bool)false,(bool)false);
        x[0].s_class = (void*)xret;
    }
    static void x_23(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const QString&, QVariant::Type, int, int)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const QString*)x[1].s_class,(QVariant::Type)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,(int)-1,(const QVariant&)QVariant(),(int)0,(bool)true,(bool)false,(bool)false);
        x[0].s_class = (void*)xret;
    }
    static void x_24(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const QString&, QVariant::Type, int, int, int)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const QString*)x[1].s_class,(QVariant::Type)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,(int)x[5].s_int,(const QVariant&)QVariant(),(int)0,(bool)true,(bool)false,(bool)false);
        x[0].s_class = (void*)xret;
    }
    static void x_25(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const QString&, QVariant::Type, int, int, int, const QVariant&)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const QString*)x[1].s_class,(QVariant::Type)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,(int)x[5].s_int,*(const QVariant*)x[6].s_class,(int)0,(bool)true,(bool)false,(bool)false);
        x[0].s_class = (void*)xret;
    }
    static void x_26(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const QString&, QVariant::Type, int, int, int, const QVariant&, int)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const QString*)x[1].s_class,(QVariant::Type)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,(int)x[5].s_int,*(const QVariant*)x[6].s_class,(int)x[7].s_int,(bool)true,(bool)false,(bool)false);
        x[0].s_class = (void*)xret;
    }
    static void x_27(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const QString&, QVariant::Type, int, int, int, const QVariant&, int, bool)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const QString*)x[1].s_class,(QVariant::Type)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,(int)x[5].s_int,*(const QVariant*)x[6].s_class,(int)x[7].s_int,(bool)x[8].s_bool,(bool)false,(bool)false);
        x[0].s_class = (void*)xret;
    }
    static void x_28(Smoke::Stack x) {
        // Q3SqlFieldInfo* Q3SqlFieldInfo(const QString&, QVariant::Type, int, int, int, const QVariant&, int, bool, bool)
        x_Q3SqlFieldInfo* xret = new x_Q3SqlFieldInfo(*(const QString*)x[1].s_class,(QVariant::Type)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,(int)x[5].s_int,*(const QVariant*)x[6].s_class,(int)x[7].s_int,(bool)x[8].s_bool,(bool)x[9].s_bool,(bool)false);
        x[0].s_class = (void*)xret;
    }
    virtual void setTrim(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(3756, (void*)this, x)) return;
        this->Q3SqlFieldInfo::setTrim(x1);
    }
    virtual void setGenerated(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(3757, (void*)this, x)) return;
        this->Q3SqlFieldInfo::setGenerated(x1);
    }
    virtual void setCalculated(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(3758, (void*)this, x)) return;
        this->Q3SqlFieldInfo::setCalculated(x1);
    }
    ~x_Q3SqlFieldInfo() { this->_binding->deleted(99, (void*)this); }
};
void xcall_Q3SqlFieldInfo(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Q3SqlFieldInfo *xself = (x_Q3SqlFieldInfo*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Q3SqlFieldInfo::x_1(args);	break;
        case 2: x_Q3SqlFieldInfo::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_Q3SqlFieldInfo::x_18(args);	break;
        case 19: x_Q3SqlFieldInfo::x_19(args);	break;
        case 20: x_Q3SqlFieldInfo::x_20(args);	break;
        case 21: x_Q3SqlFieldInfo::x_21(args);	break;
        case 22: x_Q3SqlFieldInfo::x_22(args);	break;
        case 23: x_Q3SqlFieldInfo::x_23(args);	break;
        case 24: x_Q3SqlFieldInfo::x_24(args);	break;
        case 25: x_Q3SqlFieldInfo::x_25(args);	break;
        case 26: x_Q3SqlFieldInfo::x_26(args);	break;
        case 27: x_Q3SqlFieldInfo::x_27(args);	break;
        case 28: x_Q3SqlFieldInfo::x_28(args);	break;
        case 29: delete (Q3SqlFieldInfo*)xself;	break;
    }
}
class x_Q3SqlForm : public Q3SqlForm, 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<Q3SqlForm*>(this))) {
            const QMetaObject* xret = ((const x_Q3SqlForm*)this)->Q3SqlForm::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Q3SqlForm*)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<Q3SqlForm*>(this))) {
            void* xret = this->Q3SqlForm::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 = Q3SqlForm::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 = Q3SqlForm::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 = Q3SqlForm::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 = Q3SqlForm::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<Q3SqlForm*>(this))) {
            int xret = this->Q3SqlForm::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) {
        // Q3SqlForm* Q3SqlForm(QObject*)
        x_Q3SqlForm* xret = new x_Q3SqlForm((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlForm(QObject* x1) : Q3SqlForm(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual void insert(QWidget*, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlForm*>(this))) {
            this->Q3SqlForm::insert((QWidget*)x[1].s_class,*(const QString*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->insert((QWidget*)x[1].s_class,*(const QString*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_10(Smoke::Stack x) {
        // virtual void remove(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlForm*>(this))) {
            this->Q3SqlForm::remove(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->remove(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_11(Smoke::Stack x) {
        // int count() const
        int xret = ((const x_Q3SqlForm*)this)->Q3SqlForm::count();
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // QWidget* widget(int) const
        QWidget* xret = ((const x_Q3SqlForm*)this)->Q3SqlForm::widget((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_13(Smoke::Stack x) {
        // QSqlField* widgetToField(QWidget*) const
        QSqlField* xret = ((const x_Q3SqlForm*)this)->Q3SqlForm::widgetToField((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // QWidget* fieldToWidget(QSqlField*) const
        QWidget* xret = ((const x_Q3SqlForm*)this)->Q3SqlForm::fieldToWidget((QSqlField*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // void installPropertyMap(Q3SqlPropertyMap*)
        this->Q3SqlForm::installPropertyMap((Q3SqlPropertyMap*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // virtual void setRecord(QSqlRecord*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlForm*>(this))) {
            this->Q3SqlForm::setRecord((QSqlRecord*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setRecord((QSqlRecord*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_17(Smoke::Stack x) {
        // virtual void readField(QWidget*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlForm*>(this))) {
            this->Q3SqlForm::readField((QWidget*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->readField((QWidget*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_18(Smoke::Stack x) {
        // virtual void writeField(QWidget*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlForm*>(this))) {
            this->Q3SqlForm::writeField((QWidget*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->writeField((QWidget*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_19(Smoke::Stack x) {
        // virtual void readFields()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlForm*>(this))) {
            this->Q3SqlForm::readFields();
            (void)x; // noop (for compiler warning)
        } else {
            this->readFields();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_20(Smoke::Stack x) {
        // virtual void writeFields()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlForm*>(this))) {
            this->Q3SqlForm::writeFields();
            (void)x; // noop (for compiler warning)
        } else {
            this->writeFields();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_21(Smoke::Stack x) {
        // virtual void clear()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlForm*>(this))) {
            this->Q3SqlForm::clear();
            (void)x; // noop (for compiler warning)
        } else {
            this->clear();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_22(Smoke::Stack x) {
        // virtual void clearValues()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlForm*>(this))) {
            this->Q3SqlForm::clearValues();
            (void)x; // noop (for compiler warning)
        } else {
            this->clearValues();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_23(Smoke::Stack x) {
        // virtual void insert(QWidget*, QSqlField*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlForm*>(this))) {
            this->Q3SqlForm::insert((QWidget*)x[1].s_class,(QSqlField*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->insert((QWidget*)x[1].s_class,(QSqlField*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_24(Smoke::Stack x) {
        // virtual void remove(QWidget*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlForm*>(this))) {
            this->Q3SqlForm::remove((QWidget*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->remove((QWidget*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_25(Smoke::Stack x) {
        // void clearMap()
        this->Q3SqlForm::clearMap();
        (void)x; // noop (for compiler warning)
    }
    static void x_26(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Q3SqlForm::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_27(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Q3SqlForm::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_28(Smoke::Stack x) {
        // Q3SqlForm* Q3SqlForm()
        x_Q3SqlForm* xret = new x_Q3SqlForm((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_29(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Q3SqlForm::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3771, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Q3SqlForm::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3772, (void*)this, x)) return (void*)x[0].s_class;
        return this->Q3SqlForm::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(3777, (void*)this, x)) return (int)x[0].s_int;
        return this->Q3SqlForm::qt_metacall(x1, x2, x3);
    }
    virtual void insert(QWidget* x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(3779, (void*)this, x)) return;
        this->Q3SqlForm::insert(x1, x2);
    }
    virtual void remove(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3780, (void*)this, x)) return;
        this->Q3SqlForm::remove(x1);
    }
    virtual void setRecord(QSqlRecord* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3786, (void*)this, x)) return;
        this->Q3SqlForm::setRecord(x1);
    }
    virtual void readField(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3787, (void*)this, x)) return;
        this->Q3SqlForm::readField(x1);
    }
    virtual void writeField(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3788, (void*)this, x)) return;
        this->Q3SqlForm::writeField(x1);
    }
    virtual void readFields() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3789, (void*)this, x)) return;
        this->Q3SqlForm::readFields();
    }
    virtual void writeFields() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3790, (void*)this, x)) return;
        this->Q3SqlForm::writeFields();
    }
    virtual void clear() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3791, (void*)this, x)) return;
        this->Q3SqlForm::clear();
    }
    virtual void clearValues() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3792, (void*)this, x)) return;
        this->Q3SqlForm::clearValues();
    }
    virtual void insert(QWidget* x1, QSqlField* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(3793, (void*)this, x)) return;
        this->Q3SqlForm::insert(x1, x2);
    }
    virtual void remove(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3794, (void*)this, x)) return;
        this->Q3SqlForm::remove(x1);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(5238, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(5239, (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(5240, (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(5241, (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(5242, (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(5243, (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(5244, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Q3SqlForm() { this->_binding->deleted(100, (void*)this); }
};
void xcall_Q3SqlForm(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Q3SqlForm *xself = (x_Q3SqlForm*)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_Q3SqlForm::x_3(args);	break;
        case 4: x_Q3SqlForm::x_4(args);	break;
        case 5: x_Q3SqlForm::x_5(args);	break;
        case 6: x_Q3SqlForm::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Q3SqlForm::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: x_Q3SqlForm::x_26(args);	break;
        case 27: x_Q3SqlForm::x_27(args);	break;
        case 28: x_Q3SqlForm::x_28(args);	break;
        case 29: x_Q3SqlForm::x_29(args);	break;
        case 30: delete (Q3SqlForm*)xself;	break;
    }
}
class x_Q3SqlPropertyMap : public Q3SqlPropertyMap, 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) {
        // Q3SqlPropertyMap* Q3SqlPropertyMap()
        x_Q3SqlPropertyMap* xret = new x_Q3SqlPropertyMap();
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlPropertyMap() : Q3SqlPropertyMap() {}
    void x_2(Smoke::Stack x) {
        // QVariant property(QWidget*)
        QVariant xret = this->Q3SqlPropertyMap::property((QWidget*)x[1].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual void setProperty(QWidget*, const QVariant&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Q3SqlPropertyMap*>(this))) {
            this->Q3SqlPropertyMap::setProperty((QWidget*)x[1].s_class,*(const QVariant*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setProperty((QWidget*)x[1].s_class,*(const QVariant*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_4(Smoke::Stack x) {
        // void insert(const QString&, const QString&)
        this->Q3SqlPropertyMap::insert(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // void remove(const QString&)
        this->Q3SqlPropertyMap::remove(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_6(Smoke::Stack x) {
        // static Q3SqlPropertyMap* defaultMap()
        Q3SqlPropertyMap* xret = Q3SqlPropertyMap::defaultMap();
        x[0].s_class = (void*)xret;
    }
    static void x_7(Smoke::Stack x) {
        // static void installDefaultMap(Q3SqlPropertyMap*)
        Q3SqlPropertyMap::installDefaultMap((Q3SqlPropertyMap*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    virtual void setProperty(QWidget* x1, const QVariant& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(3803, (void*)this, x)) return;
        this->Q3SqlPropertyMap::setProperty(x1, x2);
    }
    ~x_Q3SqlPropertyMap() { this->_binding->deleted(101, (void*)this); }
};
void xcall_Q3SqlPropertyMap(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Q3SqlPropertyMap *xself = (x_Q3SqlPropertyMap*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Q3SqlPropertyMap::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_Q3SqlPropertyMap::x_6(args);	break;
        case 7: x_Q3SqlPropertyMap::x_7(args);	break;
        case 8: delete (Q3SqlPropertyMap*)xself;	break;
    }
}
class x_Q3SqlRecordInfo : public Q3SqlRecordInfo {
    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) {
        // Q3SqlRecordInfo* Q3SqlRecordInfo()
        x_Q3SqlRecordInfo* xret = new x_Q3SqlRecordInfo();
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlRecordInfo() : Q3SqlRecordInfo() {}
    static void x_2(Smoke::Stack x) {
        // Q3SqlRecordInfo* Q3SqlRecordInfo(const Q3ValueList<Q3SqlFieldInfo>&)
        x_Q3SqlRecordInfo* xret = new x_Q3SqlRecordInfo(*(const Q3ValueList<Q3SqlFieldInfo>*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlRecordInfo(const Q3ValueList<Q3SqlFieldInfo>& x1) : Q3SqlRecordInfo(x1) {}
    static void x_3(Smoke::Stack x) {
        // Q3SqlRecordInfo* Q3SqlRecordInfo(const QSqlRecord&)
        x_Q3SqlRecordInfo* xret = new x_Q3SqlRecordInfo(*(const QSqlRecord*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlRecordInfo(const QSqlRecord& x1) : Q3SqlRecordInfo(x1) {}
    void x_4(Smoke::Stack x) {
        // size_type contains(const QString&) const
        size_type xret = ((const x_Q3SqlRecordInfo*)this)->Q3SqlRecordInfo::contains(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new size_type(xret);
    }
    void x_5(Smoke::Stack x) {
        // Q3SqlFieldInfo find(const QString&) const
        Q3SqlFieldInfo xret = ((const x_Q3SqlRecordInfo*)this)->Q3SqlRecordInfo::find(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new Q3SqlFieldInfo(xret);
    }
    void x_6(Smoke::Stack x) {
        // QSqlRecord toRecord() const
        QSqlRecord xret = ((const x_Q3SqlRecordInfo*)this)->Q3SqlRecordInfo::toRecord();
        x[0].s_class = (void*)new QSqlRecord(xret);
    }
    static void x_7(Smoke::Stack x) {
        // Q3SqlRecordInfo* Q3SqlRecordInfo(const Q3SqlRecordInfo&)
        x_Q3SqlRecordInfo* xret = new x_Q3SqlRecordInfo(*(const Q3SqlRecordInfo*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Q3SqlRecordInfo(const Q3SqlRecordInfo& x1) : Q3SqlRecordInfo(x1) {}
    ~x_Q3SqlRecordInfo() { this->_binding->deleted(102, (void*)this); }
};
void xcall_Q3SqlRecordInfo(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Q3SqlRecordInfo *xself = (x_Q3SqlRecordInfo*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Q3SqlRecordInfo::x_1(args);	break;
        case 2: x_Q3SqlRecordInfo::x_2(args);	break;
        case 3: x_Q3SqlRecordInfo::x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: x_Q3SqlRecordInfo::x_7(args);	break;
        case 8: delete (Q3SqlRecordInfo*)xself;	break;
    }
}

}
