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

#include <smoke.h>
#include <ktexteditor_smoke.h>

class __internal_SmokeClass {};

namespace __smokektexteditor {

class x_KTextEditor__Cursor : public KTextEditor::Cursor, 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) {
        // KTextEditor::Cursor* Cursor()
        x_KTextEditor__Cursor* xret = new x_KTextEditor__Cursor();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__Cursor() : Cursor() {}
    static void x_2(Smoke::Stack x) {
        // KTextEditor::Cursor* Cursor(int, int)
        x_KTextEditor__Cursor* xret = new x_KTextEditor__Cursor((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__Cursor(int x1, int x2) : Cursor(x1, x2) {}
    static void x_3(Smoke::Stack x) {
        // KTextEditor::Cursor* Cursor(const KTextEditor::Cursor&)
        x_KTextEditor__Cursor* xret = new x_KTextEditor__Cursor(*(const KTextEditor::Cursor*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__Cursor(const KTextEditor::Cursor& x1) : Cursor(x1) {}
    void x_4(Smoke::Stack x) {
        // virtual bool isValid() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Cursor*>(this))) {
            bool xret = ((const x_KTextEditor__Cursor*)this)->KTextEditor::Cursor::isValid();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KTextEditor__Cursor*)this)->isValid();
            x[0].s_bool = xret;
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual bool isSmartCursor() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Cursor*>(this))) {
            bool xret = ((const x_KTextEditor__Cursor*)this)->KTextEditor::Cursor::isSmartCursor();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KTextEditor__Cursor*)this)->isSmartCursor();
            x[0].s_bool = xret;
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual KTextEditor::SmartCursor* toSmartCursor() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Cursor*>(this))) {
            KTextEditor::SmartCursor* xret = ((const x_KTextEditor__Cursor*)this)->KTextEditor::Cursor::toSmartCursor();
            x[0].s_class = (void*)xret;
        } else {
            KTextEditor::SmartCursor* xret = ((const x_KTextEditor__Cursor*)this)->toSmartCursor();
            x[0].s_class = (void*)xret;
        }
    }
    static void x_7(Smoke::Stack x) {
        // static KTextEditor::Cursor invalid()
        KTextEditor::Cursor xret = KTextEditor::Cursor::invalid();
        x[0].s_class = (void*)new KTextEditor::Cursor(xret);
    }
    static void x_8(Smoke::Stack x) {
        // static KTextEditor::Cursor start()
        KTextEditor::Cursor xret = KTextEditor::Cursor::start();
        x[0].s_class = (void*)new KTextEditor::Cursor(xret);
    }
    void x_9(Smoke::Stack x) {
        // virtual void setPosition(const KTextEditor::Cursor&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Cursor*>(this))) {
            this->KTextEditor::Cursor::setPosition(*(const KTextEditor::Cursor*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setPosition(*(const KTextEditor::Cursor*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_10(Smoke::Stack x) {
        // void setPosition(int, int)
        this->KTextEditor::Cursor::setPosition((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // virtual int line() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Cursor*>(this))) {
            int xret = ((const x_KTextEditor__Cursor*)this)->KTextEditor::Cursor::line();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_KTextEditor__Cursor*)this)->line();
            x[0].s_int = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual void setLine(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Cursor*>(this))) {
            this->KTextEditor::Cursor::setLine((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->setLine((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // int column() const
        int xret = ((const x_KTextEditor__Cursor*)this)->KTextEditor::Cursor::column();
        x[0].s_int = xret;
    }
    void x_14(Smoke::Stack x) {
        // virtual void setColumn(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Cursor*>(this))) {
            this->KTextEditor::Cursor::setColumn((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->setColumn((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_15(Smoke::Stack x) {
        // bool atStartOfLine() const
        bool xret = ((const x_KTextEditor__Cursor*)this)->KTextEditor::Cursor::atStartOfLine();
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool atStartOfDocument() const
        bool xret = ((const x_KTextEditor__Cursor*)this)->KTextEditor::Cursor::atStartOfDocument();
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // void position(int&, int&) const
        ((const x_KTextEditor__Cursor*)this)->KTextEditor::Cursor::position(*(int*)x[1].s_class,*(int*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // KTextEditor::Range* range() const
        KTextEditor::Range* xret = ((const x_KTextEditor__Cursor*)this)->KTextEditor::Cursor::range();
        x[0].s_class = (void*)xret;
    }
    void x_19(Smoke::Stack x) {
        // KTextEditor::Cursor& operator=(const KTextEditor::Cursor&)
        KTextEditor::Cursor& xret = this->KTextEditor::Cursor::operator=(*(const KTextEditor::Cursor*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_20(Smoke::Stack x) {
        // virtual void setRange(KTextEditor::Range*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Cursor*>(this))) {
            this->KTextEditor::Cursor::setRange((KTextEditor::Range*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setRange((KTextEditor::Range*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_21(Smoke::Stack x) {
        // void cursorChangedDirectly(const KTextEditor::Cursor&)
        this->KTextEditor::Cursor::cursorChangedDirectly(*(const KTextEditor::Cursor*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // int m_line
        x[0].s_int = this->KTextEditor::Cursor::m_line;
    }
    void x_23(Smoke::Stack x) {
        // int m_line=
        this->KTextEditor::Cursor::m_line = (int)x[1].s_int;
    }
    void x_24(Smoke::Stack x) {
        // int m_column
        x[0].s_int = this->KTextEditor::Cursor::m_column;
    }
    void x_25(Smoke::Stack x) {
        // int m_column=
        this->KTextEditor::Cursor::m_column = (int)x[1].s_int;
    }
    void x_26(Smoke::Stack x) {
        // KTextEditor::Range* m_range
        x[0].s_class = (void*)this->KTextEditor::Cursor::m_range;
    }
    void x_27(Smoke::Stack x) {
        // KTextEditor::Range* m_range=
        this->KTextEditor::Cursor::m_range = (KTextEditor::Range*)x[1].s_class;
    }
    virtual bool isValid() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(291, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::Cursor::isValid();
    }
    virtual bool isSmartCursor() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(292, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::Cursor::isSmartCursor();
    }
    virtual KTextEditor::SmartCursor* toSmartCursor() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(293, (void*)this, x)) return (KTextEditor::SmartCursor*)x[0].s_class;
        return this->KTextEditor::Cursor::toSmartCursor();
    }
    virtual void setPosition(const KTextEditor::Cursor& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(296, (void*)this, x)) return;
        this->KTextEditor::Cursor::setPosition(x1);
    }
    virtual int line() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(298, (void*)this, x)) return (int)x[0].s_int;
        return this->KTextEditor::Cursor::line();
    }
    virtual void setLine(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(299, (void*)this, x)) return;
        this->KTextEditor::Cursor::setLine(x1);
    }
    virtual void setColumn(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(301, (void*)this, x)) return;
        this->KTextEditor::Cursor::setColumn(x1);
    }
    virtual void setRange(KTextEditor::Range* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(307, (void*)this, x)) return;
        this->KTextEditor::Cursor::setRange(x1);
    }
    ~x_KTextEditor__Cursor() { this->_binding->deleted(37, (void*)this); }
};
void xcall_KTextEditor__Cursor(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__Cursor *xself = (x_KTextEditor__Cursor*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__Cursor::x_1(args);	break;
        case 2: x_KTextEditor__Cursor::x_2(args);	break;
        case 3: x_KTextEditor__Cursor::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_KTextEditor__Cursor::x_7(args);	break;
        case 8: x_KTextEditor__Cursor::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: delete (KTextEditor::Cursor*)xself;	break;
    }
}
class x_KTextEditor__Document : public KTextEditor::Document, 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<KTextEditor::Document*>(this))) {
            const QMetaObject* xret = ((const x_KTextEditor__Document*)this)->KTextEditor::Document::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KTextEditor__Document*)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<KTextEditor::Document*>(this))) {
            void* xret = this->KTextEditor::Document::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 = KTextEditor::Document::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 = KTextEditor::Document::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 = KTextEditor::Document::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 = KTextEditor::Document::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<KTextEditor::Document*>(this))) {
            int xret = this->KTextEditor::Document::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) {
        // KTextEditor::Document* Document(QObject*)
        x_KTextEditor__Document* xret = new x_KTextEditor__Document((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__Document(QObject* x1) : Document(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual KTextEditor::Editor* editor() = 0
        KTextEditor::Editor* xret = this->editor();
        x[0].s_class = (void*)xret;
    }
    void x_10(Smoke::Stack x) {
        // virtual KTextEditor::View* createView(QWidget*) = 0
        KTextEditor::View* xret = this->createView((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // virtual KTextEditor::View* activeView() const = 0
        KTextEditor::View* xret = ((const x_KTextEditor__Document*)this)->activeView();
        x[0].s_class = (void*)xret;
    }
    void x_12(Smoke::Stack x) {
        // virtual const QList<KTextEditor::View*>& views() const = 0
        const QList<KTextEditor::View*>& xret = ((const x_KTextEditor__Document*)this)->views();
        x[0].s_class = (void*)&xret;
    }
    void x_13(Smoke::Stack x) {
        // void viewCreated(KTextEditor::Document*, KTextEditor::View*)
        this->KTextEditor::Document::viewCreated((KTextEditor::Document*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // virtual const QString& documentName() const = 0
        const QString& xret = ((const x_KTextEditor__Document*)this)->documentName();
        x[0].s_class = (void*)&xret;
    }
    void x_15(Smoke::Stack x) {
        // virtual QString mimeType() = 0
        QString xret = this->mimeType();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_16(Smoke::Stack x) {
        // void documentNameChanged(KTextEditor::Document*)
        this->KTextEditor::Document::documentNameChanged((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void documentUrlChanged(KTextEditor::Document*)
        this->KTextEditor::Document::documentUrlChanged((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void modifiedChanged(KTextEditor::Document*)
        this->KTextEditor::Document::modifiedChanged((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // virtual bool setEncoding(const QString&) = 0
        bool xret = this->setEncoding(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // virtual const QString& encoding() const = 0
        const QString& xret = ((const x_KTextEditor__Document*)this)->encoding();
        x[0].s_class = (void*)&xret;
    }
    void x_21(Smoke::Stack x) {
        // virtual bool documentReload() = 0
        bool xret = this->documentReload();
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // virtual bool documentSave() = 0
        bool xret = this->documentSave();
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // virtual bool documentSaveAs() = 0
        bool xret = this->documentSaveAs();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // void documentSavedOrUploaded(KTextEditor::Document*, bool)
        this->KTextEditor::Document::documentSavedOrUploaded((KTextEditor::Document*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // virtual bool startEditing() = 0
        bool xret = this->startEditing();
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // virtual bool endEditing() = 0
        bool xret = this->endEditing();
        x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) {
        // virtual QString text() const = 0
        QString xret = ((const x_KTextEditor__Document*)this)->text();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_28(Smoke::Stack x) {
        // virtual QString text(const KTextEditor::Range&, bool) const = 0
        QString xret = ((const x_KTextEditor__Document*)this)->text(*(const KTextEditor::Range*)x[1].s_class,(bool)x[2].s_bool);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_29(Smoke::Stack x) {
        // virtual QChar character(const KTextEditor::Cursor&) const = 0
        QChar xret = ((const x_KTextEditor__Document*)this)->character(*(const KTextEditor::Cursor*)x[1].s_class);
        x[0].s_class = (void*)new QChar(xret);
    }
    void x_30(Smoke::Stack x) {
        // virtual QStringList textLines(const KTextEditor::Range&, bool) const = 0
        QStringList xret = ((const x_KTextEditor__Document*)this)->textLines(*(const KTextEditor::Range*)x[1].s_class,(bool)x[2].s_bool);
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_31(Smoke::Stack x) {
        // virtual QString line(int) const = 0
        QString xret = ((const x_KTextEditor__Document*)this)->line((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_32(Smoke::Stack x) {
        // virtual int lines() const = 0
        int xret = ((const x_KTextEditor__Document*)this)->lines();
        x[0].s_int = xret;
    }
    void x_33(Smoke::Stack x) {
        // virtual KTextEditor::Cursor documentEnd() const = 0
        KTextEditor::Cursor xret = ((const x_KTextEditor__Document*)this)->documentEnd();
        x[0].s_class = (void*)new KTextEditor::Cursor(xret);
    }
    void x_34(Smoke::Stack x) {
        // KTextEditor::Range documentRange() const
        KTextEditor::Range xret = ((const x_KTextEditor__Document*)this)->KTextEditor::Document::documentRange();
        x[0].s_class = (void*)new KTextEditor::Range(xret);
    }
    void x_35(Smoke::Stack x) {
        // virtual int totalCharacters() const = 0
        int xret = ((const x_KTextEditor__Document*)this)->totalCharacters();
        x[0].s_int = xret;
    }
    void x_36(Smoke::Stack x) {
        // virtual bool isEmpty() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Document*>(this))) {
            bool xret = ((const x_KTextEditor__Document*)this)->KTextEditor::Document::isEmpty();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KTextEditor__Document*)this)->isEmpty();
            x[0].s_bool = xret;
        }
    }
    void x_37(Smoke::Stack x) {
        // virtual int lineLength(int) const = 0
        int xret = ((const x_KTextEditor__Document*)this)->lineLength((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_38(Smoke::Stack x) {
        // KTextEditor::Cursor endOfLine(int) const
        KTextEditor::Cursor xret = ((const x_KTextEditor__Document*)this)->KTextEditor::Document::endOfLine((int)x[1].s_int);
        x[0].s_class = (void*)new KTextEditor::Cursor(xret);
    }
    void x_39(Smoke::Stack x) {
        // virtual bool setText(const QString&) = 0
        bool xret = this->setText(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_40(Smoke::Stack x) {
        // virtual bool setText(const QStringList&) = 0
        bool xret = this->setText(*(const QStringList*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_41(Smoke::Stack x) {
        // virtual bool clear() = 0
        bool xret = this->clear();
        x[0].s_bool = xret;
    }
    void x_42(Smoke::Stack x) {
        // virtual bool insertText(const KTextEditor::Cursor&, const QString&, bool) = 0
        bool xret = this->insertText(*(const KTextEditor::Cursor*)x[1].s_class,*(const QString*)x[2].s_class,(bool)x[3].s_bool);
        x[0].s_bool = xret;
    }
    void x_43(Smoke::Stack x) {
        // virtual bool insertText(const KTextEditor::Cursor&, const QStringList&, bool) = 0
        bool xret = this->insertText(*(const KTextEditor::Cursor*)x[1].s_class,*(const QStringList*)x[2].s_class,(bool)x[3].s_bool);
        x[0].s_bool = xret;
    }
    void x_44(Smoke::Stack x) {
        // virtual bool replaceText(const KTextEditor::Range&, const QString&, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Document*>(this))) {
            bool xret = this->KTextEditor::Document::replaceText(*(const KTextEditor::Range*)x[1].s_class,*(const QString*)x[2].s_class,(bool)x[3].s_bool);
            x[0].s_bool = xret;
        } else {
            bool xret = this->replaceText(*(const KTextEditor::Range*)x[1].s_class,*(const QString*)x[2].s_class,(bool)x[3].s_bool);
            x[0].s_bool = xret;
        }
    }
    void x_45(Smoke::Stack x) {
        // virtual bool replaceText(const KTextEditor::Range&, const QStringList&, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Document*>(this))) {
            bool xret = this->KTextEditor::Document::replaceText(*(const KTextEditor::Range*)x[1].s_class,*(const QStringList*)x[2].s_class,(bool)x[3].s_bool);
            x[0].s_bool = xret;
        } else {
            bool xret = this->replaceText(*(const KTextEditor::Range*)x[1].s_class,*(const QStringList*)x[2].s_class,(bool)x[3].s_bool);
            x[0].s_bool = xret;
        }
    }
    void x_46(Smoke::Stack x) {
        // virtual bool removeText(const KTextEditor::Range&, bool) = 0
        bool xret = this->removeText(*(const KTextEditor::Range*)x[1].s_class,(bool)x[2].s_bool);
        x[0].s_bool = xret;
    }
    void x_47(Smoke::Stack x) {
        // virtual bool cursorInText(const KTextEditor::Cursor&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::Document*>(this))) {
            bool xret = this->KTextEditor::Document::cursorInText(*(const KTextEditor::Cursor*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->cursorInText(*(const KTextEditor::Cursor*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_48(Smoke::Stack x) {
        // virtual bool insertLine(int, const QString&) = 0
        bool xret = this->insertLine((int)x[1].s_int,*(const QString*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_49(Smoke::Stack x) {
        // virtual bool insertLines(int, const QStringList&) = 0
        bool xret = this->insertLines((int)x[1].s_int,*(const QStringList*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_50(Smoke::Stack x) {
        // virtual bool removeLine(int) = 0
        bool xret = this->removeLine((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_51(Smoke::Stack x) {
        // void textChanged(KTextEditor::Document*)
        this->KTextEditor::Document::textChanged((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_52(Smoke::Stack x) {
        // void textInserted(KTextEditor::Document*, const KTextEditor::Range&)
        this->KTextEditor::Document::textInserted((KTextEditor::Document*)x[1].s_class,*(const KTextEditor::Range*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_53(Smoke::Stack x) {
        // void textRemoved(KTextEditor::Document*, const KTextEditor::Range&)
        this->KTextEditor::Document::textRemoved((KTextEditor::Document*)x[1].s_class,*(const KTextEditor::Range*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_54(Smoke::Stack x) {
        // void textRemoved(KTextEditor::Document*, const KTextEditor::Range&, const QString&)
        this->KTextEditor::Document::textRemoved((KTextEditor::Document*)x[1].s_class,*(const KTextEditor::Range*)x[2].s_class,*(const QString*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_55(Smoke::Stack x) {
        // void textChanged(KTextEditor::Document*, const KTextEditor::Range&, const KTextEditor::Range&)
        this->KTextEditor::Document::textChanged((KTextEditor::Document*)x[1].s_class,*(const KTextEditor::Range*)x[2].s_class,*(const KTextEditor::Range*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_56(Smoke::Stack x) {
        // void textChanged(KTextEditor::Document*, const KTextEditor::Range&, const QString&, const KTextEditor::Range&)
        this->KTextEditor::Document::textChanged((KTextEditor::Document*)x[1].s_class,*(const KTextEditor::Range*)x[2].s_class,*(const QString*)x[3].s_class,*(const KTextEditor::Range*)x[4].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_57(Smoke::Stack x) {
        // void aboutToClose(KTextEditor::Document*)
        this->KTextEditor::Document::aboutToClose((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_58(Smoke::Stack x) {
        // void aboutToReload(KTextEditor::Document*)
        this->KTextEditor::Document::aboutToReload((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_59(Smoke::Stack x) {
        // void reloaded(KTextEditor::Document*)
        this->KTextEditor::Document::reloaded((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_60(Smoke::Stack x) {
        // void exclusiveEditStart(KTextEditor::Document*)
        this->KTextEditor::Document::exclusiveEditStart((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_61(Smoke::Stack x) {
        // void exclusiveEditEnd(KTextEditor::Document*)
        this->KTextEditor::Document::exclusiveEditEnd((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_62(Smoke::Stack x) {
        // virtual QString mode() const = 0
        QString xret = ((const x_KTextEditor__Document*)this)->mode();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_63(Smoke::Stack x) {
        // virtual QString highlightingMode() const = 0
        QString xret = ((const x_KTextEditor__Document*)this)->highlightingMode();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_64(Smoke::Stack x) {
        // virtual QStringList modes() const = 0
        QStringList xret = ((const x_KTextEditor__Document*)this)->modes();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_65(Smoke::Stack x) {
        // virtual QStringList highlightingModes() const = 0
        QStringList xret = ((const x_KTextEditor__Document*)this)->highlightingModes();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_66(Smoke::Stack x) {
        // virtual bool setMode(const QString&) = 0
        bool xret = this->setMode(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_67(Smoke::Stack x) {
        // virtual bool setHighlightingMode(const QString&) = 0
        bool xret = this->setHighlightingMode(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_68(Smoke::Stack x) {
        // virtual QString highlightingModeSection(int) const = 0
        QString xret = ((const x_KTextEditor__Document*)this)->highlightingModeSection((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_69(Smoke::Stack x) {
        // virtual QString modeSection(int) const = 0
        QString xret = ((const x_KTextEditor__Document*)this)->modeSection((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_70(Smoke::Stack x) {
        // void modeChanged(KTextEditor::Document*)
        this->KTextEditor::Document::modeChanged((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_71(Smoke::Stack x) {
        // void highlightingModeChanged(KTextEditor::Document*)
        this->KTextEditor::Document::highlightingModeChanged((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_72(Smoke::Stack x) {
        // void setSuppressOpeningErrorDialogs(bool)
        this->KTextEditor::Document::setSuppressOpeningErrorDialogs((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_73(Smoke::Stack x) {
        // bool suppressOpeningErrorDialogs() const
        bool xret = ((const x_KTextEditor__Document*)this)->KTextEditor::Document::suppressOpeningErrorDialogs();
        x[0].s_bool = xret;
    }
    void x_74(Smoke::Stack x) {
        // bool openingError() const
        bool xret = ((const x_KTextEditor__Document*)this)->KTextEditor::Document::openingError();
        x[0].s_bool = xret;
    }
    void x_75(Smoke::Stack x) {
        // QString openingErrorMessage() const
        QString xret = ((const x_KTextEditor__Document*)this)->KTextEditor::Document::openingErrorMessage();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_76(Smoke::Stack x) {
        // bool isOrphaned() const
        bool xret = ((const x_KTextEditor__Document*)this)->KTextEditor::Document::isOrphaned();
        x[0].s_bool = xret;
    }
    void x_77(Smoke::Stack x) {
        // void setOrphaned(bool)
        this->KTextEditor::Document::setOrphaned((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_78(Smoke::Stack x) {
        // void setOpeningError(bool)
        this->KTextEditor::Document::setOpeningError((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_79(Smoke::Stack x) {
        // void setOpeningErrorMessage(const QString&)
        this->KTextEditor::Document::setOpeningErrorMessage(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_80(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KTextEditor::Document::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_81(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KTextEditor::Document::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_82(Smoke::Stack x) {
        // KTextEditor::Document* Document()
        x_KTextEditor__Document* xret = new x_KTextEditor__Document((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_83(Smoke::Stack x) {
        // QString text(const KTextEditor::Range&) const
        QString xret = ((const x_KTextEditor__Document*)this)->text(*(const KTextEditor::Range*)x[1].s_class,(bool)false);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_84(Smoke::Stack x) {
        // QStringList textLines(const KTextEditor::Range&) const
        QStringList xret = ((const x_KTextEditor__Document*)this)->textLines(*(const KTextEditor::Range*)x[1].s_class,(bool)false);
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_85(Smoke::Stack x) {
        // bool insertText(const KTextEditor::Cursor&, const QString&)
        bool xret = this->insertText(*(const KTextEditor::Cursor*)x[1].s_class,*(const QString*)x[2].s_class,(bool)false);
        x[0].s_bool = xret;
    }
    void x_86(Smoke::Stack x) {
        // bool insertText(const KTextEditor::Cursor&, const QStringList&)
        bool xret = this->insertText(*(const KTextEditor::Cursor*)x[1].s_class,*(const QStringList*)x[2].s_class,(bool)false);
        x[0].s_bool = xret;
    }
    void x_87(Smoke::Stack x) {
        // bool replaceText(const KTextEditor::Range&, const QString&)
        bool xret = this->KTextEditor::Document::replaceText(*(const KTextEditor::Range*)x[1].s_class,*(const QString*)x[2].s_class,(bool)false);
        x[0].s_bool = xret;
    }
    void x_88(Smoke::Stack x) {
        // bool replaceText(const KTextEditor::Range&, const QStringList&)
        bool xret = this->KTextEditor::Document::replaceText(*(const KTextEditor::Range*)x[1].s_class,*(const QStringList*)x[2].s_class,(bool)false);
        x[0].s_bool = xret;
    }
    void x_89(Smoke::Stack x) {
        // bool removeText(const KTextEditor::Range&)
        bool xret = this->removeText(*(const KTextEditor::Range*)x[1].s_class,(bool)false);
        x[0].s_bool = xret;
    }
    static void x_90(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KTextEditor::Document::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(316, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KTextEditor::Document::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(317, (void*)this, x)) return (void*)x[0].s_class;
        return this->KTextEditor::Document::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(322, (void*)this, x)) return (int)x[0].s_int;
        return this->KTextEditor::Document::qt_metacall(x1, x2, x3);
    }
    virtual KTextEditor::Editor* editor() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(324, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::Editor*)x[0].s_class;
    }
    virtual KTextEditor::View* createView(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(325, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::View*)x[0].s_class;
    }
    virtual KTextEditor::View* activeView() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(326, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::View*)x[0].s_class;
    }
    virtual const QList<KTextEditor::View*>& views() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(327, (void*)this, x, true /*pure virtual*/);
        const QList<KTextEditor::View*>* xptr = (const QList<KTextEditor::View*>*)x[0].s_class;
        const QList<KTextEditor::View*>& xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual const QString& documentName() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(329, (void*)this, x, true /*pure virtual*/);
        const QString* xptr = (const QString*)x[0].s_class;
        const QString& xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString mimeType() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(330, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual bool setEncoding(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(334, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual const QString& encoding() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(335, (void*)this, x, true /*pure virtual*/);
        const QString* xptr = (const QString*)x[0].s_class;
        const QString& xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual bool documentReload() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(336, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool documentSave() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(337, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool documentSaveAs() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(338, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool startEditing() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(340, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool endEditing() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(341, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual QString text() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(342, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString text(const KTextEditor::Range& x1, bool x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        this->_binding->callMethod(343, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QChar character(const KTextEditor::Cursor& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(344, (void*)this, x, true /*pure virtual*/);
        QChar* xptr = (QChar*)x[0].s_class;
        QChar xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QStringList textLines(const KTextEditor::Range& x1, bool x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        this->_binding->callMethod(345, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString line(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(346, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual int lines() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(347, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual KTextEditor::Cursor documentEnd() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(348, (void*)this, x, true /*pure virtual*/);
        KTextEditor::Cursor* xptr = (KTextEditor::Cursor*)x[0].s_class;
        KTextEditor::Cursor xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual int totalCharacters() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(350, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual bool isEmpty() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(351, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::Document::isEmpty();
    }
    virtual int lineLength(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(352, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual bool setText(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(354, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool setText(const QStringList& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(355, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool clear() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(356, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool insertText(const KTextEditor::Cursor& x1, const QString& x2, bool x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_bool = x3;
        this->_binding->callMethod(357, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool insertText(const KTextEditor::Cursor& x1, const QStringList& x2, bool x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_bool = x3;
        this->_binding->callMethod(358, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool replaceText(const KTextEditor::Range& x1, const QString& x2, bool x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_bool = x3;
        if (this->_binding->callMethod(359, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::Document::replaceText(x1, x2, x3);
    }
    virtual bool replaceText(const KTextEditor::Range& x1, const QStringList& x2, bool x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_bool = x3;
        if (this->_binding->callMethod(360, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::Document::replaceText(x1, x2, x3);
    }
    virtual bool removeText(const KTextEditor::Range& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        this->_binding->callMethod(361, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool cursorInText(const KTextEditor::Cursor& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(362, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::Document::cursorInText(x1);
    }
    virtual bool insertLine(int x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(363, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool insertLines(int x1, const QStringList& x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(364, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool removeLine(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(365, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual QString mode() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(377, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString highlightingMode() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(378, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QStringList modes() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(379, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QStringList highlightingModes() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(380, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual bool setMode(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(381, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool setHighlightingMode(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(382, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual QString highlightingModeSection(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(383, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString modeSection(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(384, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void setReadWrite(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(18, (void*)this, x)) return;
        this->KParts::ReadWritePart::setReadWrite(x1);
    }
    virtual bool queryClose() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(19, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KParts::ReadWritePart::queryClose();
    }
    virtual bool closeUrl() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(20, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KParts::ReadWritePart::closeUrl();
    }
    virtual bool closeUrl(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(21, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KParts::ReadWritePart::closeUrl(x1);
    }
    virtual bool saveAs(const KUrl& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(22, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KParts::ReadWritePart::saveAs(x1);
    }
    virtual void setModified(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(23, (void*)this, x)) return;
        this->KParts::ReadWritePart::setModified(x1);
    }
    virtual bool save() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(24, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KParts::ReadWritePart::save();
    }
    virtual bool saveFile() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(25, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool saveToUrl() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(26, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KParts::ReadWritePart::saveToUrl();
    }
    virtual bool openUrl(const KUrl& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(15, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KParts::ReadOnlyPart::openUrl(x1);
    }
    virtual bool openFile() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(16, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KParts::ReadOnlyPart::openFile();
    }
    virtual void guiActivateEvent(KParts::GUIActivateEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(17, (void*)this, x)) return;
        this->KParts::ReadOnlyPart::guiActivateEvent(x1);
    }
    virtual void embed(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4, (void*)this, x)) return;
        this->KParts::Part::embed(x1);
    }
    virtual QWidget* widget() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(5, (void*)this, x)) return (QWidget*)x[0].s_class;
        return this->KParts::Part::widget();
    }
    virtual void setManager(KParts::PartManager* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(6, (void*)this, x)) return;
        this->KParts::Part::setManager(x1);
    }
    virtual KParts::Part* hitTest(QWidget* x1, const QPoint& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(7, (void*)this, x)) return (KParts::Part*)x[0].s_class;
        return this->KParts::Part::hitTest(x1, x2);
    }
    virtual void setSelectable(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(8, (void*)this, x)) return;
        this->KParts::Part::setSelectable(x1);
    }
    virtual void setWidget(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(9, (void*)this, x)) return;
        this->KParts::Part::setWidget(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10, (void*)this, x)) return;
        this->KParts::Part::customEvent(x1);
    }
    virtual void partActivateEvent(KParts::PartActivateEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(11, (void*)this, x)) return;
        this->KParts::Part::partActivateEvent(x1);
    }
    virtual void partSelectEvent(KParts::PartSelectEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12, (void*)this, x)) return;
        this->KParts::Part::partSelectEvent(x1);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1082, (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(1083, (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(1084, (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(1085, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1087, (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(1088, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    virtual void setComponentData(const KComponentData& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(13, (void*)this, x)) return;
        this->KParts::PartBase::setComponentData(x1);
    }
    virtual void setComponentData(const KComponentData& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(14, (void*)this, x)) return;
        this->KParts::PartBase::setComponentData(x1, x2);
    }
    virtual QAction* action(const QDomElement& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(996, (void*)this, x)) return (QAction*)x[0].s_class;
        return this->KXMLGUIClient::action(x1);
    }
    virtual KActionCollection* actionCollection() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(997, (void*)this, x)) return (KActionCollection*)x[0].s_class;
        return this->KXMLGUIClient::actionCollection();
    }
    virtual KComponentData componentData() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(998, (void*)this, x)) {
            KComponentData* xptr = (KComponentData*)x[0].s_class;
            KComponentData xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KXMLGUIClient::componentData();
    }
    virtual QDomDocument domDocument() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(999, (void*)this, x)) {
            QDomDocument* xptr = (QDomDocument*)x[0].s_class;
            QDomDocument xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KXMLGUIClient::domDocument();
    }
    virtual QString xmlFile() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1000, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KXMLGUIClient::xmlFile();
    }
    virtual QString localXMLFile() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1001, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KXMLGUIClient::localXMLFile();
    }
    virtual void setXMLFile(const QString& x1, bool x2, bool x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        x[3].s_bool = x3;
        if (this->_binding->callMethod(1003, (void*)this, x)) return;
        this->KXMLGUIClient::setXMLFile(x1, x2, x3);
    }
    virtual void setLocalXMLFile(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1004, (void*)this, x)) return;
        this->KXMLGUIClient::setLocalXMLFile(x1);
    }
    virtual void setXML(const QString& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(1005, (void*)this, x)) return;
        this->KXMLGUIClient::setXML(x1, x2);
    }
    virtual void setDOMDocument(const QDomDocument& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(1006, (void*)this, x)) return;
        this->KXMLGUIClient::setDOMDocument(x1, x2);
    }
    virtual void stateChanged(const QString& x1, KXMLGUIClient::ReverseStateChange x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(1007, (void*)this, x)) return;
        this->KXMLGUIClient::stateChanged(x1, x2);
    }
    virtual void virtual_hook(int x1, void* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(1008, (void*)this, x)) return;
        this->KXMLGUIClient::virtual_hook(x1, x2);
    }
    ~x_KTextEditor__Document() { this->_binding->deleted(38, (void*)this); }
};
void xcall_KTextEditor__Document(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__Document *xself = (x_KTextEditor__Document*)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_KTextEditor__Document::x_3(args);	break;
        case 4: x_KTextEditor__Document::x_4(args);	break;
        case 5: x_KTextEditor__Document::x_5(args);	break;
        case 6: x_KTextEditor__Document::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KTextEditor__Document::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: xself->x_53(args);	break;
        case 54: xself->x_54(args);	break;
        case 55: xself->x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: xself->x_58(args);	break;
        case 59: xself->x_59(args);	break;
        case 60: xself->x_60(args);	break;
        case 61: xself->x_61(args);	break;
        case 62: xself->x_62(args);	break;
        case 63: xself->x_63(args);	break;
        case 64: xself->x_64(args);	break;
        case 65: xself->x_65(args);	break;
        case 66: xself->x_66(args);	break;
        case 67: xself->x_67(args);	break;
        case 68: xself->x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: xself->x_72(args);	break;
        case 73: xself->x_73(args);	break;
        case 74: xself->x_74(args);	break;
        case 75: xself->x_75(args);	break;
        case 76: xself->x_76(args);	break;
        case 77: xself->x_77(args);	break;
        case 78: xself->x_78(args);	break;
        case 79: xself->x_79(args);	break;
        case 80: x_KTextEditor__Document::x_80(args);	break;
        case 81: x_KTextEditor__Document::x_81(args);	break;
        case 82: x_KTextEditor__Document::x_82(args);	break;
        case 83: xself->x_83(args);	break;
        case 84: xself->x_84(args);	break;
        case 85: xself->x_85(args);	break;
        case 86: xself->x_86(args);	break;
        case 87: xself->x_87(args);	break;
        case 88: xself->x_88(args);	break;
        case 89: xself->x_89(args);	break;
        case 90: x_KTextEditor__Document::x_90(args);	break;
        case 91: delete (KTextEditor::Document*)xself;	break;
    }
}
class x_KTextEditor__Editor : public KTextEditor::Editor, 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<KTextEditor::Editor*>(this))) {
            const QMetaObject* xret = ((const x_KTextEditor__Editor*)this)->KTextEditor::Editor::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KTextEditor__Editor*)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<KTextEditor::Editor*>(this))) {
            void* xret = this->KTextEditor::Editor::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 = KTextEditor::Editor::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 = KTextEditor::Editor::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 = KTextEditor::Editor::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 = KTextEditor::Editor::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<KTextEditor::Editor*>(this))) {
            int xret = this->KTextEditor::Editor::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) {
        // KTextEditor::Editor* Editor(QObject*)
        x_KTextEditor__Editor* xret = new x_KTextEditor__Editor((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__Editor(QObject* x1) : Editor(x1) {}
    void x_9(Smoke::Stack x) {
        // void setSimpleMode(bool)
        this->KTextEditor::Editor::setSimpleMode((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // bool simpleMode() const
        bool xret = ((const x_KTextEditor__Editor*)this)->KTextEditor::Editor::simpleMode();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // virtual KTextEditor::Document* createDocument(QObject*) = 0
        KTextEditor::Document* xret = this->createDocument((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_12(Smoke::Stack x) {
        // virtual const QList<KTextEditor::Document*>& documents() = 0
        const QList<KTextEditor::Document*>& xret = this->documents();
        x[0].s_class = (void*)&xret;
    }
    void x_13(Smoke::Stack x) {
        // virtual const KAboutData* aboutData() const = 0
        const KAboutData* xret = ((const x_KTextEditor__Editor*)this)->aboutData();
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // const QString& defaultEncoding() const
        const QString& xret = ((const x_KTextEditor__Editor*)this)->KTextEditor::Editor::defaultEncoding();
        x[0].s_class = (void*)&xret;
    }
    void x_15(Smoke::Stack x) {
        // void setDefaultEncoding(const QString&)
        this->KTextEditor::Editor::setDefaultEncoding(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // virtual void readConfig(KConfig*) = 0
        this->readConfig((KConfig*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // virtual void writeConfig(KConfig*) = 0
        this->writeConfig((KConfig*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // virtual bool configDialogSupported() const = 0
        bool xret = ((const x_KTextEditor__Editor*)this)->configDialogSupported();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // virtual void configDialog(QWidget*) = 0
        this->configDialog((QWidget*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // virtual int configPages() const = 0
        int xret = ((const x_KTextEditor__Editor*)this)->configPages();
        x[0].s_int = xret;
    }
    void x_21(Smoke::Stack x) {
        // virtual KTextEditor::ConfigPage* configPage(int, QWidget*) = 0
        KTextEditor::ConfigPage* xret = this->configPage((int)x[1].s_int,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_22(Smoke::Stack x) {
        // virtual QString configPageName(int) const = 0
        QString xret = ((const x_KTextEditor__Editor*)this)->configPageName((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_23(Smoke::Stack x) {
        // virtual QString configPageFullName(int) const = 0
        QString xret = ((const x_KTextEditor__Editor*)this)->configPageFullName((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_24(Smoke::Stack x) {
        // virtual KIcon configPageIcon(int) const = 0
        KIcon xret = ((const x_KTextEditor__Editor*)this)->configPageIcon((int)x[1].s_int);
        x[0].s_class = (void*)new KIcon(xret);
    }
    void x_25(Smoke::Stack x) {
        // void documentCreated(KTextEditor::Editor*, KTextEditor::Document*)
        this->KTextEditor::Editor::documentCreated((KTextEditor::Editor*)x[1].s_class,(KTextEditor::Document*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_26(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KTextEditor::Editor::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 = KTextEditor::Editor::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_28(Smoke::Stack x) {
        // void readConfig()
        this->readConfig((KConfig*)0);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // void writeConfig()
        this->writeConfig((KConfig*)0);
        (void)x; // noop (for compiler warning)
    }
    static void x_30(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KTextEditor::Editor::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(407, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KTextEditor::Editor::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(408, (void*)this, x)) return (void*)x[0].s_class;
        return this->KTextEditor::Editor::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(413, (void*)this, x)) return (int)x[0].s_int;
        return this->KTextEditor::Editor::qt_metacall(x1, x2, x3);
    }
    virtual KTextEditor::Document* createDocument(QObject* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(417, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::Document*)x[0].s_class;
    }
    virtual const QList<KTextEditor::Document*>& documents() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(418, (void*)this, x, true /*pure virtual*/);
        const QList<KTextEditor::Document*>* xptr = (const QList<KTextEditor::Document*>*)x[0].s_class;
        const QList<KTextEditor::Document*>& xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual const KAboutData* aboutData() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(419, (void*)this, x, true /*pure virtual*/);
        return (const KAboutData*)x[0].s_class;
    }
    virtual void readConfig(KConfig* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(422, (void*)this, x, true /*pure virtual*/);
    }
    virtual void writeConfig(KConfig* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(423, (void*)this, x, true /*pure virtual*/);
    }
    virtual bool configDialogSupported() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(424, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual void configDialog(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(425, (void*)this, x, true /*pure virtual*/);
    }
    virtual int configPages() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(426, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual KTextEditor::ConfigPage* configPage(int x1, QWidget* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(427, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::ConfigPage*)x[0].s_class;
    }
    virtual QString configPageName(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(428, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString configPageFullName(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(429, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual KIcon configPageIcon(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(430, (void*)this, x, true /*pure virtual*/);
        KIcon* xptr = (KIcon*)x[0].s_class;
        KIcon xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1082, (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(1083, (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(1084, (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(1085, (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(1086, (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(1087, (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(1088, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_KTextEditor__Editor() { this->_binding->deleted(39, (void*)this); }
};
void xcall_KTextEditor__Editor(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__Editor *xself = (x_KTextEditor__Editor*)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_KTextEditor__Editor::x_3(args);	break;
        case 4: x_KTextEditor__Editor::x_4(args);	break;
        case 5: x_KTextEditor__Editor::x_5(args);	break;
        case 6: x_KTextEditor__Editor::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KTextEditor__Editor::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_KTextEditor__Editor::x_26(args);	break;
        case 27: x_KTextEditor__Editor::x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: x_KTextEditor__Editor::x_30(args);	break;
        case 31: delete (KTextEditor::Editor*)xself;	break;
    }
}
class x_KTextEditor__EditorChooser : public KTextEditor::EditorChooser, 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<KTextEditor::EditorChooser*>(this))) {
            const QMetaObject* xret = ((const x_KTextEditor__EditorChooser*)this)->KTextEditor::EditorChooser::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KTextEditor__EditorChooser*)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<KTextEditor::EditorChooser*>(this))) {
            void* xret = this->KTextEditor::EditorChooser::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 = KTextEditor::EditorChooser::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 = KTextEditor::EditorChooser::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 = KTextEditor::EditorChooser::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 = KTextEditor::EditorChooser::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<KTextEditor::EditorChooser*>(this))) {
            int xret = this->KTextEditor::EditorChooser::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) {
        // KTextEditor::EditorChooser* EditorChooser(QWidget*)
        x_KTextEditor__EditorChooser* xret = new x_KTextEditor__EditorChooser((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__EditorChooser(QWidget* x1) : EditorChooser(x1) {}
    void x_9(Smoke::Stack x) {
        // void readAppSetting(const QString&)
        this->KTextEditor::EditorChooser::readAppSetting(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void writeAppSetting(const QString&)
        this->KTextEditor::EditorChooser::writeAppSetting(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_11(Smoke::Stack x) {
        // static KTextEditor::Editor* editor(const QString&, bool)
        KTextEditor::Editor* xret = KTextEditor::EditorChooser::editor(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
        x[0].s_class = (void*)xret;
    }
    void x_12(Smoke::Stack x) {
        // void changed()
        this->KTextEditor::EditorChooser::changed();
        (void)x; // noop (for compiler warning)
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KTextEditor::EditorChooser::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KTextEditor::EditorChooser::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // KTextEditor::EditorChooser* EditorChooser()
        x_KTextEditor__EditorChooser* xret = new x_KTextEditor__EditorChooser((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    void x_16(Smoke::Stack x) {
        // void readAppSetting()
        this->KTextEditor::EditorChooser::readAppSetting((const QString&)QString());
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void writeAppSetting()
        this->KTextEditor::EditorChooser::writeAppSetting((const QString&)QString());
        (void)x; // noop (for compiler warning)
    }
    static void x_18(Smoke::Stack x) {
        // static KTextEditor::Editor* editor()
        KTextEditor::Editor* xret = KTextEditor::EditorChooser::editor((const QString&)QString(),(bool)true);
        x[0].s_class = (void*)xret;
    }
    static void x_19(Smoke::Stack x) {
        // static KTextEditor::Editor* editor(const QString&)
        KTextEditor::Editor* xret = KTextEditor::EditorChooser::editor(*(const QString*)x[1].s_class,(bool)true);
        x[0].s_class = (void*)xret;
    }
    static void x_20(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KTextEditor::EditorChooser::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(438, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KTextEditor::EditorChooser::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(439, (void*)this, x)) return (void*)x[0].s_class;
        return this->KTextEditor::EditorChooser::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(444, (void*)this, x)) return (int)x[0].s_int;
        return this->KTextEditor::EditorChooser::qt_metacall(x1, x2, x3);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1090, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1091, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1092, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::minimumSizeHint();
    }
    virtual int heightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1093, (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(1096, (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(1097, (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(1098, (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(1099, (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(1100, (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(1101, (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(1102, (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(1103, (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(1104, (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(1105, (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(1106, (void*)this, x)) return;
        this->QWidget::leaveEvent(x1);
    }
    virtual void paintEvent(QPaintEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1107, (void*)this, x)) return;
        this->QWidget::paintEvent(x1);
    }
    virtual void moveEvent(QMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1108, (void*)this, x)) return;
        this->QWidget::moveEvent(x1);
    }
    virtual void resizeEvent(QResizeEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1109, (void*)this, x)) return;
        this->QWidget::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1110, (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(1111, (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(1112, (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(1113, (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(1114, (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(1115, (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(1116, (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(1117, (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(1118, (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(1119, (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(1120, (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(1121, (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(1123, (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(1124, (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(1125, (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(1126, (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(1127, (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(1128, (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(1129, (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(1130, (void*)this, x)) return;
        this->QWidget::windowActivationChange(x1);
    }
    virtual void languageChange() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1131, (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(1095, (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(1083, (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(1084, (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(1085, (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(1086, (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(1087, (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(1088, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    virtual int devType() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1089, (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(1094, (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(1122, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::metric(x1);
    }
    ~x_KTextEditor__EditorChooser() { this->_binding->deleted(40, (void*)this); }
};
void xcall_KTextEditor__EditorChooser(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__EditorChooser *xself = (x_KTextEditor__EditorChooser*)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_KTextEditor__EditorChooser::x_3(args);	break;
        case 4: x_KTextEditor__EditorChooser::x_4(args);	break;
        case 5: x_KTextEditor__EditorChooser::x_5(args);	break;
        case 6: x_KTextEditor__EditorChooser::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KTextEditor__EditorChooser::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_KTextEditor__EditorChooser::x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: x_KTextEditor__EditorChooser::x_13(args);	break;
        case 14: x_KTextEditor__EditorChooser::x_14(args);	break;
        case 15: x_KTextEditor__EditorChooser::x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: x_KTextEditor__EditorChooser::x_18(args);	break;
        case 19: x_KTextEditor__EditorChooser::x_19(args);	break;
        case 20: x_KTextEditor__EditorChooser::x_20(args);	break;
        case 21: delete (KTextEditor::EditorChooser*)xself;	break;
    }
}

}
