//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__SmartCursorWatcher : public KTextEditor::SmartCursorWatcher, 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::SmartCursorWatcher* SmartCursorWatcher()
        x_KTextEditor__SmartCursorWatcher* xret = new x_KTextEditor__SmartCursorWatcher();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__SmartCursorWatcher() : SmartCursorWatcher() {}
    void x_2(Smoke::Stack x) {
        // bool wantsDirectChanges() const
        bool xret = ((const x_KTextEditor__SmartCursorWatcher*)this)->KTextEditor::SmartCursorWatcher::wantsDirectChanges();
        x[0].s_bool = xret;
    }
    void x_3(Smoke::Stack x) {
        // void setWantsDirectChanges(bool)
        this->KTextEditor::SmartCursorWatcher::setWantsDirectChanges((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // virtual void positionChanged(KTextEditor::SmartCursor*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartCursorWatcher*>(this))) {
            this->KTextEditor::SmartCursorWatcher::positionChanged((KTextEditor::SmartCursor*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->positionChanged((KTextEditor::SmartCursor*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual void positionDeleted(KTextEditor::SmartCursor*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartCursorWatcher*>(this))) {
            this->KTextEditor::SmartCursorWatcher::positionDeleted((KTextEditor::SmartCursor*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->positionDeleted((KTextEditor::SmartCursor*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual void characterDeleted(KTextEditor::SmartCursor*, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartCursorWatcher*>(this))) {
            this->KTextEditor::SmartCursorWatcher::characterDeleted((KTextEditor::SmartCursor*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->characterDeleted((KTextEditor::SmartCursor*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_7(Smoke::Stack x) {
        // virtual void characterInserted(KTextEditor::SmartCursor*, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartCursorWatcher*>(this))) {
            this->KTextEditor::SmartCursorWatcher::characterInserted((KTextEditor::SmartCursor*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->characterInserted((KTextEditor::SmartCursor*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_8(Smoke::Stack x) {
        // virtual void deleted(KTextEditor::SmartCursor*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartCursorWatcher*>(this))) {
            this->KTextEditor::SmartCursorWatcher::deleted((KTextEditor::SmartCursor*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->deleted((KTextEditor::SmartCursor*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_9(Smoke::Stack x) {
        // KTextEditor::SmartCursorWatcher* SmartCursorWatcher(const KTextEditor::SmartCursorWatcher&)
        x_KTextEditor__SmartCursorWatcher* xret = new x_KTextEditor__SmartCursorWatcher(*(const KTextEditor::SmartCursorWatcher*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__SmartCursorWatcher(const KTextEditor::SmartCursorWatcher& x1) : SmartCursorWatcher(x1) {}
    virtual void positionChanged(KTextEditor::SmartCursor* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(742, (void*)this, x)) return;
        this->KTextEditor::SmartCursorWatcher::positionChanged(x1);
    }
    virtual void positionDeleted(KTextEditor::SmartCursor* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(743, (void*)this, x)) return;
        this->KTextEditor::SmartCursorWatcher::positionDeleted(x1);
    }
    virtual void characterDeleted(KTextEditor::SmartCursor* x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(744, (void*)this, x)) return;
        this->KTextEditor::SmartCursorWatcher::characterDeleted(x1, x2);
    }
    virtual void characterInserted(KTextEditor::SmartCursor* x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(745, (void*)this, x)) return;
        this->KTextEditor::SmartCursorWatcher::characterInserted(x1, x2);
    }
    virtual void deleted(KTextEditor::SmartCursor* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(746, (void*)this, x)) return;
        this->KTextEditor::SmartCursorWatcher::deleted(x1);
    }
    ~x_KTextEditor__SmartCursorWatcher() { this->_binding->deleted(57, (void*)this); }
};
void xcall_KTextEditor__SmartCursorWatcher(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__SmartCursorWatcher *xself = (x_KTextEditor__SmartCursorWatcher*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__SmartCursorWatcher::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: x_KTextEditor__SmartCursorWatcher::x_9(args);	break;
        case 10: delete (KTextEditor::SmartCursorWatcher*)xself;	break;
    }
}
class x_KTextEditor__SmartInterface : public KTextEditor::SmartInterface, 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::SmartInterface* SmartInterface()
        x_KTextEditor__SmartInterface* xret = new x_KTextEditor__SmartInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__SmartInterface() : SmartInterface() {}
    void x_2(Smoke::Stack x) {
        // QMutex* smartMutex() const
        QMutex* xret = ((const x_KTextEditor__SmartInterface*)this)->KTextEditor::SmartInterface::smartMutex();
        x[0].s_class = (void*)xret;
    }
    void x_3(Smoke::Stack x) {
        // virtual void clearSmartInterface() = 0
        this->clearSmartInterface();
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // bool clearOnDocumentReload() const
        bool xret = ((const x_KTextEditor__SmartInterface*)this)->KTextEditor::SmartInterface::clearOnDocumentReload();
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // void setClearOnDocumentReload(bool)
        this->KTextEditor::SmartInterface::setClearOnDocumentReload((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // virtual int currentRevision() const = 0
        int xret = ((const x_KTextEditor__SmartInterface*)this)->currentRevision();
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // virtual void releaseRevision(int) const = 0
        ((const x_KTextEditor__SmartInterface*)this)->releaseRevision((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // virtual void useRevision(int) = 0
        this->useRevision((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // void clearRevision()
        this->KTextEditor::SmartInterface::clearRevision();
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // virtual KTextEditor::Cursor translateFromRevision(const KTextEditor::Cursor&, KTextEditor::SmartCursor::InsertBehavior) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartInterface*>(this))) {
            KTextEditor::Cursor xret = ((const x_KTextEditor__SmartInterface*)this)->KTextEditor::SmartInterface::translateFromRevision(*(const KTextEditor::Cursor*)x[1].s_class,(KTextEditor::SmartCursor::InsertBehavior)x[2].s_enum);
            x[0].s_class = (void*)new KTextEditor::Cursor(xret);
        } else {
            KTextEditor::Cursor xret = ((const x_KTextEditor__SmartInterface*)this)->translateFromRevision(*(const KTextEditor::Cursor*)x[1].s_class,(KTextEditor::SmartCursor::InsertBehavior)x[2].s_enum);
            x[0].s_class = (void*)new KTextEditor::Cursor(xret);
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual KTextEditor::Range translateFromRevision(const KTextEditor::Range&, QFlags<KTextEditor::SmartRange::InsertBehavior>) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartInterface*>(this))) {
            KTextEditor::Range xret = ((const x_KTextEditor__SmartInterface*)this)->KTextEditor::SmartInterface::translateFromRevision(*(const KTextEditor::Range*)x[1].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)x[2].s_uint);
            x[0].s_class = (void*)new KTextEditor::Range(xret);
        } else {
            KTextEditor::Range xret = ((const x_KTextEditor__SmartInterface*)this)->translateFromRevision(*(const KTextEditor::Range*)x[1].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)x[2].s_uint);
            x[0].s_class = (void*)new KTextEditor::Range(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual KTextEditor::SmartCursor* newSmartCursor(const KTextEditor::Cursor&, KTextEditor::SmartCursor::InsertBehavior) = 0
        KTextEditor::SmartCursor* xret = this->newSmartCursor(*(const KTextEditor::Cursor*)x[1].s_class,(KTextEditor::SmartCursor::InsertBehavior)x[2].s_enum);
        x[0].s_class = (void*)xret;
    }
    void x_13(Smoke::Stack x) {
        // KTextEditor::SmartCursor* newSmartCursor(int, int, KTextEditor::SmartCursor::InsertBehavior)
        KTextEditor::SmartCursor* xret = this->KTextEditor::SmartInterface::newSmartCursor((int)x[1].s_int,(int)x[2].s_int,(KTextEditor::SmartCursor::InsertBehavior)x[3].s_enum);
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // virtual void deleteCursors() = 0
        this->deleteCursors();
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // virtual KTextEditor::SmartRange* newSmartRange(const KTextEditor::Range&, KTextEditor::SmartRange*, QFlags<KTextEditor::SmartRange::InsertBehavior>) = 0
        KTextEditor::SmartRange* xret = this->newSmartRange(*(const KTextEditor::Range*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)x[3].s_uint);
        x[0].s_class = (void*)xret;
    }
    void x_16(Smoke::Stack x) {
        // KTextEditor::SmartRange* newSmartRange(const KTextEditor::Cursor&, const KTextEditor::Cursor&, KTextEditor::SmartRange*, QFlags<KTextEditor::SmartRange::InsertBehavior>)
        KTextEditor::SmartRange* xret = this->KTextEditor::SmartInterface::newSmartRange(*(const KTextEditor::Cursor*)x[1].s_class,*(const KTextEditor::Cursor*)x[2].s_class,(KTextEditor::SmartRange*)x[3].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)x[4].s_uint);
        x[0].s_class = (void*)xret;
    }
    void x_17(Smoke::Stack x) {
        // KTextEditor::SmartRange* newSmartRange(int, int, int, int, KTextEditor::SmartRange*, QFlags<KTextEditor::SmartRange::InsertBehavior>)
        KTextEditor::SmartRange* xret = this->KTextEditor::SmartInterface::newSmartRange((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int,(int)x[4].s_int,(KTextEditor::SmartRange*)x[5].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)x[6].s_uint);
        x[0].s_class = (void*)xret;
    }
    void x_18(Smoke::Stack x) {
        // virtual KTextEditor::SmartRange* newSmartRange(KTextEditor::SmartCursor*, KTextEditor::SmartCursor*, KTextEditor::SmartRange*, QFlags<KTextEditor::SmartRange::InsertBehavior>) = 0
        KTextEditor::SmartRange* xret = this->newSmartRange((KTextEditor::SmartCursor*)x[1].s_class,(KTextEditor::SmartCursor*)x[2].s_class,(KTextEditor::SmartRange*)x[3].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)x[4].s_uint);
        x[0].s_class = (void*)xret;
    }
    void x_19(Smoke::Stack x) {
        // virtual void unbindSmartRange(KTextEditor::SmartRange*) = 0
        this->unbindSmartRange((KTextEditor::SmartRange*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // virtual void deleteRanges() = 0
        this->deleteRanges();
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // virtual void addHighlightToDocument(KTextEditor::SmartRange*, bool) = 0
        this->addHighlightToDocument((KTextEditor::SmartRange*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // virtual void removeHighlightFromDocument(KTextEditor::SmartRange*) = 0
        this->removeHighlightFromDocument((KTextEditor::SmartRange*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // virtual const QList<KTextEditor::SmartRange*> documentHighlights() const = 0
        const QList<KTextEditor::SmartRange*> xret = ((const x_KTextEditor__SmartInterface*)this)->documentHighlights();
        x[0].s_class = (void*)new const QList<KTextEditor::SmartRange*>(xret);
    }
    void x_24(Smoke::Stack x) {
        // virtual void clearDocumentHighlights() = 0
        this->clearDocumentHighlights();
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // virtual void addHighlightToView(KTextEditor::View*, KTextEditor::SmartRange*, bool) = 0
        this->addHighlightToView((KTextEditor::View*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class,(bool)x[3].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // virtual void removeHighlightFromView(KTextEditor::View*, KTextEditor::SmartRange*) = 0
        this->removeHighlightFromView((KTextEditor::View*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // virtual const QList<KTextEditor::SmartRange*> viewHighlights(KTextEditor::View*) const = 0
        const QList<KTextEditor::SmartRange*> xret = ((const x_KTextEditor__SmartInterface*)this)->viewHighlights((KTextEditor::View*)x[1].s_class);
        x[0].s_class = (void*)new const QList<KTextEditor::SmartRange*>(xret);
    }
    void x_28(Smoke::Stack x) {
        // virtual void clearViewHighlights(KTextEditor::View*) = 0
        this->clearViewHighlights((KTextEditor::View*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // virtual void addActionsToDocument(KTextEditor::SmartRange*) = 0
        this->addActionsToDocument((KTextEditor::SmartRange*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // virtual void removeActionsFromDocument(KTextEditor::SmartRange*) = 0
        this->removeActionsFromDocument((KTextEditor::SmartRange*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // virtual const QList<KTextEditor::SmartRange*> documentActions() const = 0
        const QList<KTextEditor::SmartRange*> xret = ((const x_KTextEditor__SmartInterface*)this)->documentActions();
        x[0].s_class = (void*)new const QList<KTextEditor::SmartRange*>(xret);
    }
    void x_32(Smoke::Stack x) {
        // virtual void clearDocumentActions() = 0
        this->clearDocumentActions();
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // virtual void addActionsToView(KTextEditor::View*, KTextEditor::SmartRange*) = 0
        this->addActionsToView((KTextEditor::View*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // virtual void removeActionsFromView(KTextEditor::View*, KTextEditor::SmartRange*) = 0
        this->removeActionsFromView((KTextEditor::View*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // virtual const QList<KTextEditor::SmartRange*> viewActions(KTextEditor::View*) const = 0
        const QList<KTextEditor::SmartRange*> xret = ((const x_KTextEditor__SmartInterface*)this)->viewActions((KTextEditor::View*)x[1].s_class);
        x[0].s_class = (void*)new const QList<KTextEditor::SmartRange*>(xret);
    }
    void x_36(Smoke::Stack x) {
        // virtual void clearViewActions(KTextEditor::View*) = 0
        this->clearViewActions((KTextEditor::View*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // virtual void attributeDynamic(KSharedPtr<KTextEditor::Attribute>) = 0
        this->attributeDynamic(*(KSharedPtr<KTextEditor::Attribute>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // virtual void attributeNotDynamic(KSharedPtr<KTextEditor::Attribute>) = 0
        this->attributeNotDynamic(*(KSharedPtr<KTextEditor::Attribute>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_39(Smoke::Stack x) {
        // KTextEditor::SmartInterface* SmartInterface(const KTextEditor::SmartInterface&)
        x_KTextEditor__SmartInterface* xret = new x_KTextEditor__SmartInterface(*(const KTextEditor::SmartInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__SmartInterface(const KTextEditor::SmartInterface& x1) : SmartInterface(x1) {}
    void x_40(Smoke::Stack x) {
        // KTextEditor::Cursor translateFromRevision(const KTextEditor::Cursor&) const
        KTextEditor::Cursor xret = ((const x_KTextEditor__SmartInterface*)this)->KTextEditor::SmartInterface::translateFromRevision(*(const KTextEditor::Cursor*)x[1].s_class,(KTextEditor::SmartCursor::InsertBehavior)KTextEditor::SmartCursor::StayOnInsert);
        x[0].s_class = (void*)new KTextEditor::Cursor(xret);
    }
    void x_41(Smoke::Stack x) {
        // KTextEditor::Range translateFromRevision(const KTextEditor::Range&) const
        KTextEditor::Range xret = ((const x_KTextEditor__SmartInterface*)this)->KTextEditor::SmartInterface::translateFromRevision(*(const KTextEditor::Range*)x[1].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::ExpandLeft|KTextEditor::SmartRange::ExpandRight);
        x[0].s_class = (void*)new KTextEditor::Range(xret);
    }
    void x_42(Smoke::Stack x) {
        // KTextEditor::SmartCursor* newSmartCursor()
        KTextEditor::SmartCursor* xret = this->newSmartCursor((const KTextEditor::Cursor&)KTextEditor::Cursor::start(),(KTextEditor::SmartCursor::InsertBehavior)KTextEditor::SmartCursor::MoveOnInsert);
        x[0].s_class = (void*)xret;
    }
    void x_43(Smoke::Stack x) {
        // KTextEditor::SmartCursor* newSmartCursor(const KTextEditor::Cursor&)
        KTextEditor::SmartCursor* xret = this->newSmartCursor(*(const KTextEditor::Cursor*)x[1].s_class,(KTextEditor::SmartCursor::InsertBehavior)KTextEditor::SmartCursor::MoveOnInsert);
        x[0].s_class = (void*)xret;
    }
    void x_44(Smoke::Stack x) {
        // KTextEditor::SmartCursor* newSmartCursor(int, int)
        KTextEditor::SmartCursor* xret = this->KTextEditor::SmartInterface::newSmartCursor((int)x[1].s_int,(int)x[2].s_int,(KTextEditor::SmartCursor::InsertBehavior)KTextEditor::SmartCursor::MoveOnInsert);
        x[0].s_class = (void*)xret;
    }
    void x_45(Smoke::Stack x) {
        // KTextEditor::SmartRange* newSmartRange()
        KTextEditor::SmartRange* xret = this->newSmartRange((const KTextEditor::Range&)KTextEditor::Range(),(KTextEditor::SmartRange*)0L,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::DoNotExpand);
        x[0].s_class = (void*)xret;
    }
    void x_46(Smoke::Stack x) {
        // KTextEditor::SmartRange* newSmartRange(const KTextEditor::Range&)
        KTextEditor::SmartRange* xret = this->newSmartRange(*(const KTextEditor::Range*)x[1].s_class,(KTextEditor::SmartRange*)0L,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::DoNotExpand);
        x[0].s_class = (void*)xret;
    }
    void x_47(Smoke::Stack x) {
        // KTextEditor::SmartRange* newSmartRange(const KTextEditor::Range&, KTextEditor::SmartRange*)
        KTextEditor::SmartRange* xret = this->newSmartRange(*(const KTextEditor::Range*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::DoNotExpand);
        x[0].s_class = (void*)xret;
    }
    void x_48(Smoke::Stack x) {
        // KTextEditor::SmartRange* newSmartRange(const KTextEditor::Cursor&, const KTextEditor::Cursor&)
        KTextEditor::SmartRange* xret = this->KTextEditor::SmartInterface::newSmartRange(*(const KTextEditor::Cursor*)x[1].s_class,*(const KTextEditor::Cursor*)x[2].s_class,(KTextEditor::SmartRange*)0L,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::DoNotExpand);
        x[0].s_class = (void*)xret;
    }
    void x_49(Smoke::Stack x) {
        // KTextEditor::SmartRange* newSmartRange(const KTextEditor::Cursor&, const KTextEditor::Cursor&, KTextEditor::SmartRange*)
        KTextEditor::SmartRange* xret = this->KTextEditor::SmartInterface::newSmartRange(*(const KTextEditor::Cursor*)x[1].s_class,*(const KTextEditor::Cursor*)x[2].s_class,(KTextEditor::SmartRange*)x[3].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::DoNotExpand);
        x[0].s_class = (void*)xret;
    }
    void x_50(Smoke::Stack x) {
        // KTextEditor::SmartRange* newSmartRange(int, int, int, int)
        KTextEditor::SmartRange* xret = this->KTextEditor::SmartInterface::newSmartRange((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int,(int)x[4].s_int,(KTextEditor::SmartRange*)0L,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::DoNotExpand);
        x[0].s_class = (void*)xret;
    }
    void x_51(Smoke::Stack x) {
        // KTextEditor::SmartRange* newSmartRange(int, int, int, int, KTextEditor::SmartRange*)
        KTextEditor::SmartRange* xret = this->KTextEditor::SmartInterface::newSmartRange((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int,(int)x[4].s_int,(KTextEditor::SmartRange*)x[5].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::DoNotExpand);
        x[0].s_class = (void*)xret;
    }
    void x_52(Smoke::Stack x) {
        // KTextEditor::SmartRange* newSmartRange(KTextEditor::SmartCursor*, KTextEditor::SmartCursor*)
        KTextEditor::SmartRange* xret = this->newSmartRange((KTextEditor::SmartCursor*)x[1].s_class,(KTextEditor::SmartCursor*)x[2].s_class,(KTextEditor::SmartRange*)0L,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::DoNotExpand);
        x[0].s_class = (void*)xret;
    }
    void x_53(Smoke::Stack x) {
        // KTextEditor::SmartRange* newSmartRange(KTextEditor::SmartCursor*, KTextEditor::SmartCursor*, KTextEditor::SmartRange*)
        KTextEditor::SmartRange* xret = this->newSmartRange((KTextEditor::SmartCursor*)x[1].s_class,(KTextEditor::SmartCursor*)x[2].s_class,(KTextEditor::SmartRange*)x[3].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::DoNotExpand);
        x[0].s_class = (void*)xret;
    }
    void x_54(Smoke::Stack x) {
        // void addHighlightToDocument(KTextEditor::SmartRange*)
        this->addHighlightToDocument((KTextEditor::SmartRange*)x[1].s_class,(bool)false);
        (void)x; // noop (for compiler warning)
    }
    void x_55(Smoke::Stack x) {
        // void addHighlightToView(KTextEditor::View*, KTextEditor::SmartRange*)
        this->addHighlightToView((KTextEditor::View*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class,(bool)false);
        (void)x; // noop (for compiler warning)
    }
    virtual void clearSmartInterface() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(751, (void*)this, x, true /*pure virtual*/);
    }
    virtual int currentRevision() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(754, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual void releaseRevision(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(755, (void*)this, x, true /*pure virtual*/);
    }
    virtual void useRevision(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(756, (void*)this, x, true /*pure virtual*/);
    }
    virtual KTextEditor::Cursor translateFromRevision(const KTextEditor::Cursor& x1, KTextEditor::SmartCursor::InsertBehavior x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(758, (void*)this, x)) {
            KTextEditor::Cursor* xptr = (KTextEditor::Cursor*)x[0].s_class;
            KTextEditor::Cursor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KTextEditor::SmartInterface::translateFromRevision(x1, x2);
    }
    virtual KTextEditor::Range translateFromRevision(const KTextEditor::Range& x1, QFlags<KTextEditor::SmartRange::InsertBehavior> x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(759, (void*)this, x)) {
            KTextEditor::Range* xptr = (KTextEditor::Range*)x[0].s_class;
            KTextEditor::Range xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KTextEditor::SmartInterface::translateFromRevision(x1, x2);
    }
    virtual KTextEditor::SmartCursor* newSmartCursor(const KTextEditor::Cursor& x1, KTextEditor::SmartCursor::InsertBehavior x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        this->_binding->callMethod(760, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::SmartCursor*)x[0].s_class;
    }
    virtual void deleteCursors() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(762, (void*)this, x, true /*pure virtual*/);
    }
    virtual KTextEditor::SmartRange* newSmartRange(const KTextEditor::Range& x1, KTextEditor::SmartRange* x2, QFlags<KTextEditor::SmartRange::InsertBehavior> x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        x[3].s_uint = (uint)x3;
        this->_binding->callMethod(763, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::SmartRange*)x[0].s_class;
    }
    virtual KTextEditor::SmartRange* newSmartRange(KTextEditor::SmartCursor* x1, KTextEditor::SmartCursor* x2, KTextEditor::SmartRange* x3, QFlags<KTextEditor::SmartRange::InsertBehavior> x4) {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        x[4].s_uint = (uint)x4;
        this->_binding->callMethod(766, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::SmartRange*)x[0].s_class;
    }
    virtual void unbindSmartRange(KTextEditor::SmartRange* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(767, (void*)this, x, true /*pure virtual*/);
    }
    virtual void deleteRanges() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(768, (void*)this, x, true /*pure virtual*/);
    }
    virtual void addHighlightToDocument(KTextEditor::SmartRange* x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_bool = x2;
        this->_binding->callMethod(769, (void*)this, x, true /*pure virtual*/);
    }
    virtual void removeHighlightFromDocument(KTextEditor::SmartRange* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(770, (void*)this, x, true /*pure virtual*/);
    }
    virtual const QList<KTextEditor::SmartRange*> documentHighlights() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(771, (void*)this, x, true /*pure virtual*/);
        const QList<KTextEditor::SmartRange*>* xptr = (const QList<KTextEditor::SmartRange*>*)x[0].s_class;
        const QList<KTextEditor::SmartRange*> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void clearDocumentHighlights() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(772, (void*)this, x, true /*pure virtual*/);
    }
    virtual void addHighlightToView(KTextEditor::View* x1, KTextEditor::SmartRange* 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(773, (void*)this, x, true /*pure virtual*/);
    }
    virtual void removeHighlightFromView(KTextEditor::View* x1, KTextEditor::SmartRange* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(774, (void*)this, x, true /*pure virtual*/);
    }
    virtual const QList<KTextEditor::SmartRange*> viewHighlights(KTextEditor::View* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(775, (void*)this, x, true /*pure virtual*/);
        const QList<KTextEditor::SmartRange*>* xptr = (const QList<KTextEditor::SmartRange*>*)x[0].s_class;
        const QList<KTextEditor::SmartRange*> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void clearViewHighlights(KTextEditor::View* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(776, (void*)this, x, true /*pure virtual*/);
    }
    virtual void addActionsToDocument(KTextEditor::SmartRange* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(777, (void*)this, x, true /*pure virtual*/);
    }
    virtual void removeActionsFromDocument(KTextEditor::SmartRange* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(778, (void*)this, x, true /*pure virtual*/);
    }
    virtual const QList<KTextEditor::SmartRange*> documentActions() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(779, (void*)this, x, true /*pure virtual*/);
        const QList<KTextEditor::SmartRange*>* xptr = (const QList<KTextEditor::SmartRange*>*)x[0].s_class;
        const QList<KTextEditor::SmartRange*> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void clearDocumentActions() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(780, (void*)this, x, true /*pure virtual*/);
    }
    virtual void addActionsToView(KTextEditor::View* x1, KTextEditor::SmartRange* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(781, (void*)this, x, true /*pure virtual*/);
    }
    virtual void removeActionsFromView(KTextEditor::View* x1, KTextEditor::SmartRange* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(782, (void*)this, x, true /*pure virtual*/);
    }
    virtual const QList<KTextEditor::SmartRange*> viewActions(KTextEditor::View* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(783, (void*)this, x, true /*pure virtual*/);
        const QList<KTextEditor::SmartRange*>* xptr = (const QList<KTextEditor::SmartRange*>*)x[0].s_class;
        const QList<KTextEditor::SmartRange*> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void clearViewActions(KTextEditor::View* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(784, (void*)this, x, true /*pure virtual*/);
    }
    virtual void attributeDynamic(KSharedPtr<KTextEditor::Attribute> x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new KSharedPtr<KTextEditor::Attribute>(x1);
        this->_binding->callMethod(785, (void*)this, x, true /*pure virtual*/);
    }
    virtual void attributeNotDynamic(KSharedPtr<KTextEditor::Attribute> x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new KSharedPtr<KTextEditor::Attribute>(x1);
        this->_binding->callMethod(786, (void*)this, x, true /*pure virtual*/);
    }
    ~x_KTextEditor__SmartInterface() { this->_binding->deleted(58, (void*)this); }
};
void xcall_KTextEditor__SmartInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__SmartInterface *xself = (x_KTextEditor__SmartInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__SmartInterface::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: x_KTextEditor__SmartInterface::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: delete (KTextEditor::SmartInterface*)xself;	break;
    }
}
class x_KTextEditor__SmartRange : public KTextEditor::SmartRange, 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 bool isSmartRange() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRange*>(this))) {
            bool xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::isSmartRange();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KTextEditor__SmartRange*)this)->isSmartRange();
            x[0].s_bool = xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual KTextEditor::SmartRange* toSmartRange() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRange*>(this))) {
            KTextEditor::SmartRange* xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::toSmartRange();
            x[0].s_class = (void*)xret;
        } else {
            KTextEditor::SmartRange* xret = ((const x_KTextEditor__SmartRange*)this)->toSmartRange();
            x[0].s_class = (void*)xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual void setRange(const KTextEditor::Range&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRange*>(this))) {
            this->KTextEditor::SmartRange::setRange(*(const KTextEditor::Range*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setRange(*(const KTextEditor::Range*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_4(Smoke::Stack x) {
        // KTextEditor::SmartCursor& smartStart()
        KTextEditor::SmartCursor& xret = this->KTextEditor::SmartRange::smartStart();
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // const KTextEditor::SmartCursor& smartStart() const
        const KTextEditor::SmartCursor& xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::smartStart();
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // KTextEditor::SmartCursor& smartEnd()
        KTextEditor::SmartCursor& xret = this->KTextEditor::SmartRange::smartEnd();
        x[0].s_class = (void*)&xret;
    }
    void x_7(Smoke::Stack x) {
        // const KTextEditor::SmartCursor& smartEnd() const
        const KTextEditor::SmartCursor& xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::smartEnd();
        x[0].s_class = (void*)&xret;
    }
    void x_8(Smoke::Stack x) {
        // virtual bool confineToRange(const KTextEditor::Range&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRange*>(this))) {
            bool xret = this->KTextEditor::SmartRange::confineToRange(*(const KTextEditor::Range*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->confineToRange(*(const KTextEditor::Range*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_9(Smoke::Stack x) {
        // virtual bool expandToRange(const KTextEditor::Range&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRange*>(this))) {
            bool xret = this->KTextEditor::SmartRange::expandToRange(*(const KTextEditor::Range*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->expandToRange(*(const KTextEditor::Range*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // KTextEditor::Document* document() const
        KTextEditor::Document* xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::document();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // virtual QStringList text(bool) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRange*>(this))) {
            QStringList xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::text((bool)x[1].s_bool);
            x[0].s_class = (void*)new QStringList(xret);
        } else {
            QStringList xret = ((const x_KTextEditor__SmartRange*)this)->text((bool)x[1].s_bool);
            x[0].s_class = (void*)new QStringList(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual bool replaceText(const QStringList&, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRange*>(this))) {
            bool xret = this->KTextEditor::SmartRange::replaceText(*(const QStringList*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        } else {
            bool xret = this->replaceText(*(const QStringList*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // virtual bool removeText(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRange*>(this))) {
            bool xret = this->KTextEditor::SmartRange::removeText((bool)x[1].s_bool);
            x[0].s_bool = xret;
        } else {
            bool xret = this->removeText((bool)x[1].s_bool);
            x[0].s_bool = xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // QFlags<KTextEditor::SmartRange::InsertBehavior> insertBehavior() const
        QFlags<KTextEditor::SmartRange::InsertBehavior> xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::insertBehavior();
        x[0].s_uint = (uint)xret;
    }
    void x_15(Smoke::Stack x) {
        // void setInsertBehavior(QFlags<KTextEditor::SmartRange::InsertBehavior>)
        this->KTextEditor::SmartRange::setInsertBehavior((QFlags<KTextEditor::SmartRange::InsertBehavior>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // KTextEditor::SmartRange* parentRange() const
        KTextEditor::SmartRange* xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::parentRange();
        x[0].s_class = (void*)xret;
    }
    void x_17(Smoke::Stack x) {
        // virtual void setParentRange(KTextEditor::SmartRange*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRange*>(this))) {
            this->KTextEditor::SmartRange::setParentRange((KTextEditor::SmartRange*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setParentRange((KTextEditor::SmartRange*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_18(Smoke::Stack x) {
        // bool hasParent(KTextEditor::SmartRange*) const
        bool xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::hasParent((KTextEditor::SmartRange*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // int depth() const
        int xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::depth();
        x[0].s_int = xret;
    }
    void x_20(Smoke::Stack x) {
        // KTextEditor::SmartRange* topParentRange() const
        KTextEditor::SmartRange* xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::topParentRange();
        x[0].s_class = (void*)xret;
    }
    void x_21(Smoke::Stack x) {
        // const QList<KTextEditor::SmartRange*>& childRanges() const
        const QList<KTextEditor::SmartRange*>& xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::childRanges();
        x[0].s_class = (void*)&xret;
    }
    void x_22(Smoke::Stack x) {
        // void clearChildRanges()
        this->KTextEditor::SmartRange::clearChildRanges();
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void deleteChildRanges()
        this->KTextEditor::SmartRange::deleteChildRanges();
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // void clearAndDeleteChildRanges()
        this->KTextEditor::SmartRange::clearAndDeleteChildRanges();
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // KTextEditor::SmartRange* childBefore(const KTextEditor::SmartRange*) const
        KTextEditor::SmartRange* xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::childBefore((const KTextEditor::SmartRange*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_26(Smoke::Stack x) {
        // KTextEditor::SmartRange* childAfter(const KTextEditor::SmartRange*) const
        KTextEditor::SmartRange* xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::childAfter((const KTextEditor::SmartRange*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_27(Smoke::Stack x) {
        // KTextEditor::SmartRange* mostSpecificRange(const KTextEditor::Range&) const
        KTextEditor::SmartRange* xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::mostSpecificRange(*(const KTextEditor::Range*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_28(Smoke::Stack x) {
        // KTextEditor::SmartRange* firstRangeContaining(const KTextEditor::Cursor&) const
        KTextEditor::SmartRange* xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::firstRangeContaining(*(const KTextEditor::Cursor*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_29(Smoke::Stack x) {
        // KTextEditor::SmartRange* deepestRangeContaining(const KTextEditor::Cursor&, QStack<KTextEditor::SmartRange*>*, QStack<KTextEditor::SmartRange*>*) const
        KTextEditor::SmartRange* xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::deepestRangeContaining(*(const KTextEditor::Cursor*)x[1].s_class,(QStack<KTextEditor::SmartRange*>*)x[2].s_class,(QStack<KTextEditor::SmartRange*>*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_30(Smoke::Stack x) {
        // QList<KTextEditor::SmartRange*> deepestRangesContaining(const KTextEditor::Cursor&) const
        QList<KTextEditor::SmartRange*> xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::deepestRangesContaining(*(const KTextEditor::Cursor*)x[1].s_class);
        x[0].s_class = (void*)new QList<KTextEditor::SmartRange*>(xret);
    }
    void x_31(Smoke::Stack x) {
        // int overlapCount() const
        int xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::overlapCount();
        x[0].s_int = xret;
    }
    void x_32(Smoke::Stack x) {
        // KSharedPtr<KTextEditor::Attribute> attribute() const
        KSharedPtr<KTextEditor::Attribute> xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::attribute();
        x[0].s_class = (void*)new KSharedPtr<KTextEditor::Attribute>(xret);
    }
    void x_33(Smoke::Stack x) {
        // void setAttribute(KSharedPtr<KTextEditor::Attribute>)
        this->KTextEditor::SmartRange::setAttribute(*(KSharedPtr<KTextEditor::Attribute>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // void associateAction(KAction*)
        this->KTextEditor::SmartRange::associateAction((KAction*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // void dissociateAction(KAction*)
        this->KTextEditor::SmartRange::dissociateAction((KAction*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // const QList<KAction*>& associatedActions() const
        const QList<KAction*>& xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::associatedActions();
        x[0].s_class = (void*)&xret;
    }
    void x_37(Smoke::Stack x) {
        // void clearAssociatedActions()
        this->KTextEditor::SmartRange::clearAssociatedActions();
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // KTextEditor::SmartRangeNotifier* primaryNotifier()
        KTextEditor::SmartRangeNotifier* xret = this->KTextEditor::SmartRange::primaryNotifier();
        x[0].s_class = (void*)xret;
    }
    void x_39(Smoke::Stack x) {
        // const QList<KTextEditor::SmartRangeNotifier*> notifiers() const
        const QList<KTextEditor::SmartRangeNotifier*> xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::notifiers();
        x[0].s_class = (void*)new const QList<KTextEditor::SmartRangeNotifier*>(xret);
    }
    void x_40(Smoke::Stack x) {
        // void addNotifier(KTextEditor::SmartRangeNotifier*)
        this->KTextEditor::SmartRange::addNotifier((KTextEditor::SmartRangeNotifier*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_41(Smoke::Stack x) {
        // void removeNotifier(KTextEditor::SmartRangeNotifier*)
        this->KTextEditor::SmartRange::removeNotifier((KTextEditor::SmartRangeNotifier*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_42(Smoke::Stack x) {
        // void deletePrimaryNotifier()
        this->KTextEditor::SmartRange::deletePrimaryNotifier();
        (void)x; // noop (for compiler warning)
    }
    void x_43(Smoke::Stack x) {
        // const QList<KTextEditor::SmartRangeWatcher*>& watchers() const
        const QList<KTextEditor::SmartRangeWatcher*>& xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::watchers();
        x[0].s_class = (void*)&xret;
    }
    void x_44(Smoke::Stack x) {
        // void addWatcher(KTextEditor::SmartRangeWatcher*)
        this->KTextEditor::SmartRange::addWatcher((KTextEditor::SmartRangeWatcher*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_45(Smoke::Stack x) {
        // void removeWatcher(KTextEditor::SmartRangeWatcher*)
        this->KTextEditor::SmartRange::removeWatcher((KTextEditor::SmartRangeWatcher*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // KTextEditor::SmartRange& operator=(const KTextEditor::SmartRange&)
        KTextEditor::SmartRange& xret = this->KTextEditor::SmartRange::operator=(*(const KTextEditor::SmartRange*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_47(Smoke::Stack x) {
        // KTextEditor::SmartRange& operator=(const KTextEditor::Range&)
        KTextEditor::SmartRange& xret = this->KTextEditor::SmartRange::operator=(*(const KTextEditor::Range*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    static void x_48(Smoke::Stack x) {
        // KTextEditor::SmartRange* SmartRange(KTextEditor::SmartCursor*, KTextEditor::SmartCursor*, KTextEditor::SmartRange*, QFlags<KTextEditor::SmartRange::InsertBehavior>)
        x_KTextEditor__SmartRange* xret = new x_KTextEditor__SmartRange((KTextEditor::SmartCursor*)x[1].s_class,(KTextEditor::SmartCursor*)x[2].s_class,(KTextEditor::SmartRange*)x[3].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)x[4].s_uint);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__SmartRange(KTextEditor::SmartCursor* x1, KTextEditor::SmartCursor* x2, KTextEditor::SmartRange* x3, QFlags<KTextEditor::SmartRange::InsertBehavior> x4) : SmartRange(x1, x2, x3, x4) {}
    void x_49(Smoke::Stack x) {
        // virtual void rangeChanged(KTextEditor::Cursor*, const KTextEditor::Range&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRange*>(this))) {
            this->KTextEditor::SmartRange::rangeChanged((KTextEditor::Cursor*)x[1].s_class,*(const KTextEditor::Range*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->rangeChanged((KTextEditor::Cursor*)x[1].s_class,*(const KTextEditor::Range*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_50(Smoke::Stack x) {
        // virtual void checkFeedback()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRange*>(this))) {
            this->KTextEditor::SmartRange::checkFeedback();
            (void)x; // noop (for compiler warning)
        } else {
            this->checkFeedback();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_51(Smoke::Stack x) {
        // virtual KTextEditor::SmartRangeNotifier* createNotifier() = 0
        KTextEditor::SmartRangeNotifier* xret = this->createNotifier();
        x[0].s_class = (void*)xret;
    }
    void x_52(Smoke::Stack x) {
        // void rebuildChildStructure()
        this->KTextEditor::SmartRange::rebuildChildStructure();
        (void)x; // noop (for compiler warning)
    }
    void x_53(Smoke::Stack x) {
        // QStringList text() const
        QStringList xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::text((bool)false);
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_54(Smoke::Stack x) {
        // bool replaceText(const QStringList&)
        bool xret = this->KTextEditor::SmartRange::replaceText(*(const QStringList*)x[1].s_class,(bool)false);
        x[0].s_bool = xret;
    }
    void x_55(Smoke::Stack x) {
        // bool removeText()
        bool xret = this->KTextEditor::SmartRange::removeText((bool)false);
        x[0].s_bool = xret;
    }
    void x_56(Smoke::Stack x) {
        // KTextEditor::SmartRange* deepestRangeContaining(const KTextEditor::Cursor&) const
        KTextEditor::SmartRange* xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::deepestRangeContaining(*(const KTextEditor::Cursor*)x[1].s_class,(QStack<KTextEditor::SmartRange*>*)0L,(QStack<KTextEditor::SmartRange*>*)0L);
        x[0].s_class = (void*)xret;
    }
    void x_57(Smoke::Stack x) {
        // KTextEditor::SmartRange* deepestRangeContaining(const KTextEditor::Cursor&, QStack<KTextEditor::SmartRange*>*) const
        KTextEditor::SmartRange* xret = ((const x_KTextEditor__SmartRange*)this)->KTextEditor::SmartRange::deepestRangeContaining(*(const KTextEditor::Cursor*)x[1].s_class,(QStack<KTextEditor::SmartRange*>*)x[2].s_class,(QStack<KTextEditor::SmartRange*>*)0L);
        x[0].s_class = (void*)xret;
    }
    static void x_58(Smoke::Stack x) {
        // KTextEditor::SmartRange* SmartRange(KTextEditor::SmartCursor*, KTextEditor::SmartCursor*)
        x_KTextEditor__SmartRange* xret = new x_KTextEditor__SmartRange((KTextEditor::SmartCursor*)x[1].s_class,(KTextEditor::SmartCursor*)x[2].s_class,(KTextEditor::SmartRange*)0L,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::DoNotExpand);
        x[0].s_class = (void*)xret;
    }
    static void x_59(Smoke::Stack x) {
        // KTextEditor::SmartRange* SmartRange(KTextEditor::SmartCursor*, KTextEditor::SmartCursor*, KTextEditor::SmartRange*)
        x_KTextEditor__SmartRange* xret = new x_KTextEditor__SmartRange((KTextEditor::SmartCursor*)x[1].s_class,(KTextEditor::SmartCursor*)x[2].s_class,(KTextEditor::SmartRange*)x[3].s_class,(QFlags<KTextEditor::SmartRange::InsertBehavior>)KTextEditor::SmartRange::DoNotExpand);
        x[0].s_class = (void*)xret;
    }
    static void x_60(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::SmartRange::DoNotExpand;
    }
    static void x_61(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::SmartRange::ExpandLeft;
    }
    static void x_62(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::SmartRange::ExpandRight;
    }
    virtual bool isSmartRange() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(805, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::SmartRange::isSmartRange();
    }
    virtual KTextEditor::SmartRange* toSmartRange() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(806, (void*)this, x)) return (KTextEditor::SmartRange*)x[0].s_class;
        return this->KTextEditor::SmartRange::toSmartRange();
    }
    virtual void setRange(const KTextEditor::Range& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(807, (void*)this, x)) return;
        this->KTextEditor::SmartRange::setRange(x1);
    }
    virtual bool confineToRange(const KTextEditor::Range& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(812, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::SmartRange::confineToRange(x1);
    }
    virtual bool expandToRange(const KTextEditor::Range& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(813, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::SmartRange::expandToRange(x1);
    }
    virtual QStringList text(bool x1) const {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(815, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KTextEditor::SmartRange::text(x1);
    }
    virtual bool replaceText(const QStringList& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(816, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::SmartRange::replaceText(x1, x2);
    }
    virtual bool removeText(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(817, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::SmartRange::removeText(x1);
    }
    virtual void setParentRange(KTextEditor::SmartRange* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(821, (void*)this, x)) return;
        this->KTextEditor::SmartRange::setParentRange(x1);
    }
    virtual void rangeChanged(KTextEditor::Cursor* x1, const KTextEditor::Range& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(853, (void*)this, x)) return;
        this->KTextEditor::SmartRange::rangeChanged(x1, x2);
    }
    virtual void checkFeedback() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(854, (void*)this, x)) return;
        this->KTextEditor::SmartRange::checkFeedback();
    }
    virtual KTextEditor::SmartRangeNotifier* createNotifier() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(855, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::SmartRangeNotifier*)x[0].s_class;
    }
    virtual bool isValid() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(638, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::Range::isValid();
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 91: //KTextEditor::SmartRange::InsertBehavior
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KTextEditor::SmartRange::InsertBehavior;
                    break;
                case Smoke::EnumDelete:
                    delete (KTextEditor::SmartRange::InsertBehavior*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KTextEditor::SmartRange::InsertBehavior*)xdata = (KTextEditor::SmartRange::InsertBehavior)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KTextEditor::SmartRange::InsertBehavior*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_KTextEditor__SmartRange() { this->_binding->deleted(59, (void*)this); }
};
void xenum_KTextEditor__SmartRange(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_KTextEditor__SmartRange::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_KTextEditor__SmartRange(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__SmartRange *xself = (x_KTextEditor__SmartRange*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: x_KTextEditor__SmartRange::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: x_KTextEditor__SmartRange::x_58(args);	break;
        case 59: x_KTextEditor__SmartRange::x_59(args);	break;
        case 60: x_KTextEditor__SmartRange::x_60(args);	break;
        case 61: x_KTextEditor__SmartRange::x_61(args);	break;
        case 62: x_KTextEditor__SmartRange::x_62(args);	break;
        case 63: delete (KTextEditor::SmartRange*)xself;	break;
    }
}
class x_KTextEditor__SmartRangeNotifier : public KTextEditor::SmartRangeNotifier, 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::SmartRangeNotifier*>(this))) {
            const QMetaObject* xret = ((const x_KTextEditor__SmartRangeNotifier*)this)->KTextEditor::SmartRangeNotifier::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KTextEditor__SmartRangeNotifier*)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::SmartRangeNotifier*>(this))) {
            void* xret = this->KTextEditor::SmartRangeNotifier::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::SmartRangeNotifier::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::SmartRangeNotifier::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::SmartRangeNotifier::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::SmartRangeNotifier::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::SmartRangeNotifier*>(this))) {
            int xret = this->KTextEditor::SmartRangeNotifier::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::SmartRangeNotifier* SmartRangeNotifier()
        x_KTextEditor__SmartRangeNotifier* xret = new x_KTextEditor__SmartRangeNotifier();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__SmartRangeNotifier() : SmartRangeNotifier() {}
    void x_9(Smoke::Stack x) {
        // bool wantsDirectChanges() const
        bool xret = ((const x_KTextEditor__SmartRangeNotifier*)this)->KTextEditor::SmartRangeNotifier::wantsDirectChanges();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // void setWantsDirectChanges(bool)
        this->KTextEditor::SmartRangeNotifier::setWantsDirectChanges((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void rangePositionChanged(KTextEditor::SmartRange*)
        this->KTextEditor::SmartRangeNotifier::rangePositionChanged((KTextEditor::SmartRange*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void rangeContentsChanged(KTextEditor::SmartRange*)
        this->KTextEditor::SmartRangeNotifier::rangeContentsChanged((KTextEditor::SmartRange*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void rangeContentsChanged(KTextEditor::SmartRange*, KTextEditor::SmartRange*)
        this->KTextEditor::SmartRangeNotifier::rangeContentsChanged((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void mouseEnteredRange(KTextEditor::SmartRange*, KTextEditor::View*)
        this->KTextEditor::SmartRangeNotifier::mouseEnteredRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void mouseExitedRange(KTextEditor::SmartRange*, KTextEditor::View*)
        this->KTextEditor::SmartRangeNotifier::mouseExitedRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void caretEnteredRange(KTextEditor::SmartRange*, KTextEditor::View*)
        this->KTextEditor::SmartRangeNotifier::caretEnteredRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void caretExitedRange(KTextEditor::SmartRange*, KTextEditor::View*)
        this->KTextEditor::SmartRangeNotifier::caretExitedRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void rangeEliminated(KTextEditor::SmartRange*)
        this->KTextEditor::SmartRangeNotifier::rangeEliminated((KTextEditor::SmartRange*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void rangeDeleted(KTextEditor::SmartRange*)
        this->KTextEditor::SmartRangeNotifier::rangeDeleted((KTextEditor::SmartRange*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void parentRangeChanged(KTextEditor::SmartRange*, KTextEditor::SmartRange*, KTextEditor::SmartRange*)
        this->KTextEditor::SmartRangeNotifier::parentRangeChanged((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class,(KTextEditor::SmartRange*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void childRangeInserted(KTextEditor::SmartRange*, KTextEditor::SmartRange*)
        this->KTextEditor::SmartRangeNotifier::childRangeInserted((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void childRangeRemoved(KTextEditor::SmartRange*, KTextEditor::SmartRange*)
        this->KTextEditor::SmartRangeNotifier::childRangeRemoved((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void rangeAttributeChanged(KTextEditor::SmartRange*, KTextEditor::Attribute::Ptr, KTextEditor::Attribute::Ptr)
        this->KTextEditor::SmartRangeNotifier::rangeAttributeChanged((KTextEditor::SmartRange*)x[1].s_class,*(KTextEditor::Attribute::Ptr*)x[2].s_class,*(KTextEditor::Attribute::Ptr*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_24(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KTextEditor::SmartRangeNotifier::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_25(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KTextEditor::SmartRangeNotifier::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KTextEditor::SmartRangeNotifier::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(868, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KTextEditor::SmartRangeNotifier::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(869, (void*)this, x)) return (void*)x[0].s_class;
        return this->KTextEditor::SmartRangeNotifier::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(874, (void*)this, x)) return (int)x[0].s_int;
        return this->KTextEditor::SmartRangeNotifier::qt_metacall(x1, x2, x3);
    }
    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__SmartRangeNotifier() { this->_binding->deleted(60, (void*)this); }
};
void xcall_KTextEditor__SmartRangeNotifier(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__SmartRangeNotifier *xself = (x_KTextEditor__SmartRangeNotifier*)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__SmartRangeNotifier::x_3(args);	break;
        case 4: x_KTextEditor__SmartRangeNotifier::x_4(args);	break;
        case 5: x_KTextEditor__SmartRangeNotifier::x_5(args);	break;
        case 6: x_KTextEditor__SmartRangeNotifier::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KTextEditor__SmartRangeNotifier::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: x_KTextEditor__SmartRangeNotifier::x_24(args);	break;
        case 25: x_KTextEditor__SmartRangeNotifier::x_25(args);	break;
        case 26: x_KTextEditor__SmartRangeNotifier::x_26(args);	break;
        case 27: delete (KTextEditor::SmartRangeNotifier*)xself;	break;
    }
}
class x_KTextEditor__SmartRangeWatcher : public KTextEditor::SmartRangeWatcher, 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::SmartRangeWatcher* SmartRangeWatcher()
        x_KTextEditor__SmartRangeWatcher* xret = new x_KTextEditor__SmartRangeWatcher();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__SmartRangeWatcher() : SmartRangeWatcher() {}
    void x_2(Smoke::Stack x) {
        // bool wantsDirectChanges() const
        bool xret = ((const x_KTextEditor__SmartRangeWatcher*)this)->KTextEditor::SmartRangeWatcher::wantsDirectChanges();
        x[0].s_bool = xret;
    }
    void x_3(Smoke::Stack x) {
        // void setWantsDirectChanges(bool)
        this->KTextEditor::SmartRangeWatcher::setWantsDirectChanges((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // virtual void rangePositionChanged(KTextEditor::SmartRange*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::rangePositionChanged((KTextEditor::SmartRange*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->rangePositionChanged((KTextEditor::SmartRange*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual void rangeContentsChanged(KTextEditor::SmartRange*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::rangeContentsChanged((KTextEditor::SmartRange*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->rangeContentsChanged((KTextEditor::SmartRange*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual void rangeContentsChanged(KTextEditor::SmartRange*, KTextEditor::SmartRange*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::rangeContentsChanged((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->rangeContentsChanged((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_7(Smoke::Stack x) {
        // virtual void mouseEnteredRange(KTextEditor::SmartRange*, KTextEditor::View*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::mouseEnteredRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mouseEnteredRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_8(Smoke::Stack x) {
        // virtual void mouseExitedRange(KTextEditor::SmartRange*, KTextEditor::View*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::mouseExitedRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->mouseExitedRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_9(Smoke::Stack x) {
        // virtual void caretEnteredRange(KTextEditor::SmartRange*, KTextEditor::View*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::caretEnteredRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->caretEnteredRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_10(Smoke::Stack x) {
        // virtual void caretExitedRange(KTextEditor::SmartRange*, KTextEditor::View*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::caretExitedRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->caretExitedRange((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::View*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual void rangeEliminated(KTextEditor::SmartRange*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::rangeEliminated((KTextEditor::SmartRange*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->rangeEliminated((KTextEditor::SmartRange*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual void rangeDeleted(KTextEditor::SmartRange*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::rangeDeleted((KTextEditor::SmartRange*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->rangeDeleted((KTextEditor::SmartRange*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // virtual void parentRangeChanged(KTextEditor::SmartRange*, KTextEditor::SmartRange*, KTextEditor::SmartRange*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::parentRangeChanged((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class,(KTextEditor::SmartRange*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->parentRangeChanged((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class,(KTextEditor::SmartRange*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_14(Smoke::Stack x) {
        // virtual void childRangeInserted(KTextEditor::SmartRange*, KTextEditor::SmartRange*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::childRangeInserted((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->childRangeInserted((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_15(Smoke::Stack x) {
        // virtual void childRangeRemoved(KTextEditor::SmartRange*, KTextEditor::SmartRange*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::childRangeRemoved((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->childRangeRemoved((KTextEditor::SmartRange*)x[1].s_class,(KTextEditor::SmartRange*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // virtual void rangeAttributeChanged(KTextEditor::SmartRange*, KSharedPtr<KTextEditor::Attribute>, KSharedPtr<KTextEditor::Attribute>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::SmartRangeWatcher*>(this))) {
            this->KTextEditor::SmartRangeWatcher::rangeAttributeChanged((KTextEditor::SmartRange*)x[1].s_class,*(KSharedPtr<KTextEditor::Attribute>*)x[2].s_class,*(KSharedPtr<KTextEditor::Attribute>*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->rangeAttributeChanged((KTextEditor::SmartRange*)x[1].s_class,*(KSharedPtr<KTextEditor::Attribute>*)x[2].s_class,*(KSharedPtr<KTextEditor::Attribute>*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_17(Smoke::Stack x) {
        // KTextEditor::SmartRangeWatcher* SmartRangeWatcher(const KTextEditor::SmartRangeWatcher&)
        x_KTextEditor__SmartRangeWatcher* xret = new x_KTextEditor__SmartRangeWatcher(*(const KTextEditor::SmartRangeWatcher*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__SmartRangeWatcher(const KTextEditor::SmartRangeWatcher& x1) : SmartRangeWatcher(x1) {}
    virtual void rangePositionChanged(KTextEditor::SmartRange* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(898, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::rangePositionChanged(x1);
    }
    virtual void rangeContentsChanged(KTextEditor::SmartRange* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(899, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::rangeContentsChanged(x1);
    }
    virtual void rangeContentsChanged(KTextEditor::SmartRange* x1, KTextEditor::SmartRange* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(900, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::rangeContentsChanged(x1, x2);
    }
    virtual void mouseEnteredRange(KTextEditor::SmartRange* x1, KTextEditor::View* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(901, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::mouseEnteredRange(x1, x2);
    }
    virtual void mouseExitedRange(KTextEditor::SmartRange* x1, KTextEditor::View* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(902, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::mouseExitedRange(x1, x2);
    }
    virtual void caretEnteredRange(KTextEditor::SmartRange* x1, KTextEditor::View* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(903, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::caretEnteredRange(x1, x2);
    }
    virtual void caretExitedRange(KTextEditor::SmartRange* x1, KTextEditor::View* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(904, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::caretExitedRange(x1, x2);
    }
    virtual void rangeEliminated(KTextEditor::SmartRange* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(905, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::rangeEliminated(x1);
    }
    virtual void rangeDeleted(KTextEditor::SmartRange* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(906, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::rangeDeleted(x1);
    }
    virtual void parentRangeChanged(KTextEditor::SmartRange* x1, KTextEditor::SmartRange* x2, KTextEditor::SmartRange* x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(907, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::parentRangeChanged(x1, x2, x3);
    }
    virtual void childRangeInserted(KTextEditor::SmartRange* x1, KTextEditor::SmartRange* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(908, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::childRangeInserted(x1, x2);
    }
    virtual void childRangeRemoved(KTextEditor::SmartRange* x1, KTextEditor::SmartRange* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(909, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::childRangeRemoved(x1, x2);
    }
    virtual void rangeAttributeChanged(KTextEditor::SmartRange* x1, KSharedPtr<KTextEditor::Attribute> x2, KSharedPtr<KTextEditor::Attribute> x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)new KSharedPtr<KTextEditor::Attribute>(x2);
        x[3].s_class = (void*)new KSharedPtr<KTextEditor::Attribute>(x3);
        if (this->_binding->callMethod(910, (void*)this, x)) return;
        this->KTextEditor::SmartRangeWatcher::rangeAttributeChanged(x1, x2, x3);
    }
    ~x_KTextEditor__SmartRangeWatcher() { this->_binding->deleted(61, (void*)this); }
};
void xcall_KTextEditor__SmartRangeWatcher(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__SmartRangeWatcher *xself = (x_KTextEditor__SmartRangeWatcher*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__SmartRangeWatcher::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: x_KTextEditor__SmartRangeWatcher::x_17(args);	break;
        case 18: delete (KTextEditor::SmartRangeWatcher*)xself;	break;
    }
}
class x_KTextEditor__TemplateInterface : public KTextEditor::TemplateInterface, 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::TemplateInterface* TemplateInterface()
        x_KTextEditor__TemplateInterface* xret = new x_KTextEditor__TemplateInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__TemplateInterface() : TemplateInterface() {}
    static void x_2(Smoke::Stack x) {
        // static bool expandMacros(QMap<QString,QString>&, QWidget*)
        bool xret = KTextEditor::TemplateInterface::expandMacros(*(QMap<QString,QString>*)x[1].s_class,(QWidget*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_3(Smoke::Stack x) {
        // bool insertTemplateText(const KTextEditor::Cursor&, const QString&, const QMap<QString,QString>&)
        bool xret = this->KTextEditor::TemplateInterface::insertTemplateText(*(const KTextEditor::Cursor*)x[1].s_class,*(const QString*)x[2].s_class,*(const QMap<QString,QString>*)x[3].s_class);
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // virtual bool insertTemplateTextImplementation(const KTextEditor::Cursor&, const QString&, const QMap<QString,QString>&) = 0
        bool xret = this->insertTemplateTextImplementation(*(const KTextEditor::Cursor*)x[1].s_class,*(const QString*)x[2].s_class,*(const QMap<QString,QString>*)x[3].s_class);
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool KTE_INTERNAL_setupIntialValues(const QString&, QMap<QString,QString>*)
        bool xret = this->KTextEditor::TemplateInterface::KTE_INTERNAL_setupIntialValues(*(const QString*)x[1].s_class,(QMap<QString,QString>*)x[2].s_class);
        x[0].s_bool = xret;
    }
    static void x_6(Smoke::Stack x) {
        // KTextEditor::TemplateInterface* TemplateInterface(const KTextEditor::TemplateInterface&)
        x_KTextEditor__TemplateInterface* xret = new x_KTextEditor__TemplateInterface(*(const KTextEditor::TemplateInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__TemplateInterface(const KTextEditor::TemplateInterface& x1) : TemplateInterface(x1) {}
    virtual bool insertTemplateTextImplementation(const KTextEditor::Cursor& x1, const QString& x2, const QMap<QString,QString>& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(916, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    ~x_KTextEditor__TemplateInterface() { this->_binding->deleted(62, (void*)this); }
};
void xcall_KTextEditor__TemplateInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__TemplateInterface *xself = (x_KTextEditor__TemplateInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__TemplateInterface::x_1(args);	break;
        case 2: x_KTextEditor__TemplateInterface::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: x_KTextEditor__TemplateInterface::x_6(args);	break;
        case 7: delete (KTextEditor::TemplateInterface*)xself;	break;
    }
}
class x_KTextEditor__TextHintInterface : public KTextEditor::TextHintInterface, 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::TextHintInterface* TextHintInterface()
        x_KTextEditor__TextHintInterface* xret = new x_KTextEditor__TextHintInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__TextHintInterface() : TextHintInterface() {}
    void x_2(Smoke::Stack x) {
        // virtual void enableTextHints(int) = 0
        this->enableTextHints((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // virtual void disableTextHints() = 0
        this->disableTextHints();
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // virtual void needTextHint(const KTextEditor::Cursor&, QString&) = 0
        this->needTextHint(*(const KTextEditor::Cursor*)x[1].s_class,*(QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_5(Smoke::Stack x) {
        // KTextEditor::TextHintInterface* TextHintInterface(const KTextEditor::TextHintInterface&)
        x_KTextEditor__TextHintInterface* xret = new x_KTextEditor__TextHintInterface(*(const KTextEditor::TextHintInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__TextHintInterface(const KTextEditor::TextHintInterface& x1) : TextHintInterface(x1) {}
    virtual void enableTextHints(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(921, (void*)this, x, true /*pure virtual*/);
    }
    virtual void disableTextHints() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(922, (void*)this, x, true /*pure virtual*/);
    }
    virtual void needTextHint(const KTextEditor::Cursor& x1, QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(923, (void*)this, x, true /*pure virtual*/);
    }
    ~x_KTextEditor__TextHintInterface() { this->_binding->deleted(63, (void*)this); }
};
void xcall_KTextEditor__TextHintInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__TextHintInterface *xself = (x_KTextEditor__TextHintInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__TextHintInterface::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: x_KTextEditor__TextHintInterface::x_5(args);	break;
        case 6: delete (KTextEditor::TextHintInterface*)xself;	break;
    }
}
class x_KTextEditor__VariableInterface : public KTextEditor::VariableInterface, 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::VariableInterface* VariableInterface()
        x_KTextEditor__VariableInterface* xret = new x_KTextEditor__VariableInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__VariableInterface() : VariableInterface() {}
    void x_2(Smoke::Stack x) {
        // virtual QString variable(const QString&) const = 0
        QString xret = ((const x_KTextEditor__VariableInterface*)this)->variable(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual void variableChanged(KTextEditor::Document*, const QString&, const QString&) = 0
        this->variableChanged((KTextEditor::Document*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_4(Smoke::Stack x) {
        // KTextEditor::VariableInterface* VariableInterface(const KTextEditor::VariableInterface&)
        x_KTextEditor__VariableInterface* xret = new x_KTextEditor__VariableInterface(*(const KTextEditor::VariableInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__VariableInterface(const KTextEditor::VariableInterface& x1) : VariableInterface(x1) {}
    virtual QString variable(const QString& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(927, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void variableChanged(KTextEditor::Document* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(928, (void*)this, x, true /*pure virtual*/);
    }
    ~x_KTextEditor__VariableInterface() { this->_binding->deleted(64, (void*)this); }
};
void xcall_KTextEditor__VariableInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__VariableInterface *xself = (x_KTextEditor__VariableInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__VariableInterface::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_KTextEditor__VariableInterface::x_4(args);	break;
        case 5: delete (KTextEditor::VariableInterface*)xself;	break;
    }
}
class x_KTextEditor__View : public KTextEditor::View, 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::View*>(this))) {
            const QMetaObject* xret = ((const x_KTextEditor__View*)this)->KTextEditor::View::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KTextEditor__View*)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::View*>(this))) {
            void* xret = this->KTextEditor::View::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::View::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::View::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::View::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::View::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::View*>(this))) {
            int xret = this->KTextEditor::View::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::View* View(QWidget*)
        x_KTextEditor__View* xret = new x_KTextEditor__View((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__View(QWidget* x1) : View(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual KTextEditor::Document* document() const = 0
        KTextEditor::Document* xret = ((const x_KTextEditor__View*)this)->document();
        x[0].s_class = (void*)xret;
    }
    void x_10(Smoke::Stack x) {
        // bool isActiveView() const
        bool xret = ((const x_KTextEditor__View*)this)->KTextEditor::View::isActiveView();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // virtual QString viewMode() const = 0
        QString xret = ((const x_KTextEditor__View*)this)->viewMode();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_12(Smoke::Stack x) {
        // virtual KTextEditor::View::EditMode viewEditMode() const = 0
        KTextEditor::View::EditMode xret = ((const x_KTextEditor__View*)this)->viewEditMode();
        x[0].s_enum = xret;
    }
    void x_13(Smoke::Stack x) {
        // void focusIn(KTextEditor::View*)
        this->KTextEditor::View::focusIn((KTextEditor::View*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void focusOut(KTextEditor::View*)
        this->KTextEditor::View::focusOut((KTextEditor::View*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void viewModeChanged(KTextEditor::View*)
        this->KTextEditor::View::viewModeChanged((KTextEditor::View*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void viewEditModeChanged(KTextEditor::View*, KTextEditor::View::EditMode)
        this->KTextEditor::View::viewEditModeChanged((KTextEditor::View*)x[1].s_class,(KTextEditor::View::EditMode)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void informationMessage(KTextEditor::View*, const QString&)
        this->KTextEditor::View::informationMessage((KTextEditor::View*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void textInserted(KTextEditor::View*, const KTextEditor::Cursor&, const QString&)
        this->KTextEditor::View::textInserted((KTextEditor::View*)x[1].s_class,*(const KTextEditor::Cursor*)x[2].s_class,*(const QString*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // virtual void setContextMenu(QMenu*) = 0
        this->setContextMenu((QMenu*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // virtual QMenu* contextMenu() const = 0
        QMenu* xret = ((const x_KTextEditor__View*)this)->contextMenu();
        x[0].s_class = (void*)xret;
    }
    void x_21(Smoke::Stack x) {
        // virtual QMenu* defaultContextMenu(QMenu*) const = 0
        QMenu* xret = ((const x_KTextEditor__View*)this)->defaultContextMenu((QMenu*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_22(Smoke::Stack x) {
        // void contextMenuAboutToShow(KTextEditor::View*, QMenu*)
        this->KTextEditor::View::contextMenuAboutToShow((KTextEditor::View*)x[1].s_class,(QMenu*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // virtual bool setCursorPosition(KTextEditor::Cursor) = 0
        bool xret = this->setCursorPosition(*(KTextEditor::Cursor*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // virtual KTextEditor::Cursor cursorPosition() const = 0
        KTextEditor::Cursor xret = ((const x_KTextEditor__View*)this)->cursorPosition();
        x[0].s_class = (void*)new KTextEditor::Cursor(xret);
    }
    void x_25(Smoke::Stack x) {
        // virtual KTextEditor::Cursor cursorPositionVirtual() const = 0
        KTextEditor::Cursor xret = ((const x_KTextEditor__View*)this)->cursorPositionVirtual();
        x[0].s_class = (void*)new KTextEditor::Cursor(xret);
    }
    void x_26(Smoke::Stack x) {
        // virtual QPoint cursorToCoordinate(const KTextEditor::Cursor&) const = 0
        QPoint xret = ((const x_KTextEditor__View*)this)->cursorToCoordinate(*(const KTextEditor::Cursor*)x[1].s_class);
        x[0].s_class = (void*)new QPoint(xret);
    }
    void x_27(Smoke::Stack x) {
        // virtual QPoint cursorPositionCoordinates() const = 0
        QPoint xret = ((const x_KTextEditor__View*)this)->cursorPositionCoordinates();
        x[0].s_class = (void*)new QPoint(xret);
    }
    void x_28(Smoke::Stack x) {
        // void cursorPositionChanged(KTextEditor::View*, const KTextEditor::Cursor&)
        this->KTextEditor::View::cursorPositionChanged((KTextEditor::View*)x[1].s_class,*(const KTextEditor::Cursor*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // void verticalScrollPositionChanged(KTextEditor::View*, const KTextEditor::Cursor&)
        this->KTextEditor::View::verticalScrollPositionChanged((KTextEditor::View*)x[1].s_class,*(const KTextEditor::Cursor*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // void horizontalScrollPositionChanged(KTextEditor::View*)
        this->KTextEditor::View::horizontalScrollPositionChanged((KTextEditor::View*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // virtual bool mouseTrackingEnabled() const = 0
        bool xret = ((const x_KTextEditor__View*)this)->mouseTrackingEnabled();
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // virtual bool setMouseTrackingEnabled(bool) = 0
        bool xret = this->setMouseTrackingEnabled((bool)x[1].s_bool);
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // void mousePositionChanged(KTextEditor::View*, const KTextEditor::Cursor&)
        this->KTextEditor::View::mousePositionChanged((KTextEditor::View*)x[1].s_class,*(const KTextEditor::Cursor*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // virtual bool setSelection(const KTextEditor::Range&) = 0
        bool xret = this->setSelection(*(const KTextEditor::Range*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
        // virtual bool setSelection(const KTextEditor::Cursor&, int, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::View*>(this))) {
            bool xret = this->KTextEditor::View::setSelection(*(const KTextEditor::Cursor*)x[1].s_class,(int)x[2].s_int,(bool)x[3].s_bool);
            x[0].s_bool = xret;
        } else {
            bool xret = this->setSelection(*(const KTextEditor::Cursor*)x[1].s_class,(int)x[2].s_int,(bool)x[3].s_bool);
            x[0].s_bool = xret;
        }
    }
    void x_36(Smoke::Stack x) {
        // virtual bool selection() const = 0
        bool xret = ((const x_KTextEditor__View*)this)->selection();
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // virtual const KTextEditor::Range& selectionRange() const = 0
        const KTextEditor::Range& xret = ((const x_KTextEditor__View*)this)->selectionRange();
        x[0].s_class = (void*)&xret;
    }
    void x_38(Smoke::Stack x) {
        // virtual QString selectionText() const = 0
        QString xret = ((const x_KTextEditor__View*)this)->selectionText();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_39(Smoke::Stack x) {
        // virtual bool removeSelection() = 0
        bool xret = this->removeSelection();
        x[0].s_bool = xret;
    }
    void x_40(Smoke::Stack x) {
        // virtual bool removeSelectionText() = 0
        bool xret = this->removeSelectionText();
        x[0].s_bool = xret;
    }
    void x_41(Smoke::Stack x) {
        // virtual bool setBlockSelection(bool) = 0
        bool xret = this->setBlockSelection((bool)x[1].s_bool);
        x[0].s_bool = xret;
    }
    void x_42(Smoke::Stack x) {
        // virtual bool blockSelection() const = 0
        bool xret = ((const x_KTextEditor__View*)this)->blockSelection();
        x[0].s_bool = xret;
    }
    void x_43(Smoke::Stack x) {
        // void selectionChanged(KTextEditor::View*)
        this->KTextEditor::View::selectionChanged((KTextEditor::View*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_44(Smoke::Stack x) {
        // virtual bool insertText(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTextEditor::View*>(this))) {
            bool xret = this->KTextEditor::View::insertText(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->insertText(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_45(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KTextEditor::View::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_46(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KTextEditor::View::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_47(Smoke::Stack x) {
        // QMenu* defaultContextMenu() const
        QMenu* xret = ((const x_KTextEditor__View*)this)->defaultContextMenu((QMenu*)0L);
        x[0].s_class = (void*)xret;
    }
    void x_48(Smoke::Stack x) {
        // bool setSelection(const KTextEditor::Cursor&, int)
        bool xret = this->KTextEditor::View::setSelection(*(const KTextEditor::Cursor*)x[1].s_class,(int)x[2].s_int,(bool)true);
        x[0].s_bool = xret;
    }
    static void x_49(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KTextEditor::View::staticMetaObject;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::View::EditInsert;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::View::EditOverwrite;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::View::EditViMode;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(931, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KTextEditor::View::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(932, (void*)this, x)) return (void*)x[0].s_class;
        return this->KTextEditor::View::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(937, (void*)this, x)) return (int)x[0].s_int;
        return this->KTextEditor::View::qt_metacall(x1, x2, x3);
    }
    virtual KTextEditor::Document* document() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(939, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::Document*)x[0].s_class;
    }
    virtual QString viewMode() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(941, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual KTextEditor::View::EditMode viewEditMode() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(942, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::View::EditMode)x[0].s_enum;
    }
    virtual void setContextMenu(QMenu* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(949, (void*)this, x, true /*pure virtual*/);
    }
    virtual QMenu* contextMenu() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(950, (void*)this, x, true /*pure virtual*/);
        return (QMenu*)x[0].s_class;
    }
    virtual QMenu* defaultContextMenu(QMenu* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(951, (void*)this, x, true /*pure virtual*/);
        return (QMenu*)x[0].s_class;
    }
    virtual bool setCursorPosition(KTextEditor::Cursor x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new KTextEditor::Cursor(x1);
        this->_binding->callMethod(953, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual KTextEditor::Cursor cursorPosition() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(954, (void*)this, x, true /*pure virtual*/);
        KTextEditor::Cursor* xptr = (KTextEditor::Cursor*)x[0].s_class;
        KTextEditor::Cursor xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual KTextEditor::Cursor cursorPositionVirtual() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(955, (void*)this, x, true /*pure virtual*/);
        KTextEditor::Cursor* xptr = (KTextEditor::Cursor*)x[0].s_class;
        KTextEditor::Cursor xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QPoint cursorToCoordinate(const KTextEditor::Cursor& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(956, (void*)this, x, true /*pure virtual*/);
        QPoint* xptr = (QPoint*)x[0].s_class;
        QPoint xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QPoint cursorPositionCoordinates() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(957, (void*)this, x, true /*pure virtual*/);
        QPoint* xptr = (QPoint*)x[0].s_class;
        QPoint xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual bool mouseTrackingEnabled() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(961, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool setMouseTrackingEnabled(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        this->_binding->callMethod(962, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool setSelection(const KTextEditor::Range& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(964, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool setSelection(const KTextEditor::Cursor& x1, int x2, bool x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_bool = x3;
        if (this->_binding->callMethod(965, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::View::setSelection(x1, x2, x3);
    }
    virtual bool selection() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(966, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual const KTextEditor::Range& selectionRange() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(967, (void*)this, x, true /*pure virtual*/);
        const KTextEditor::Range* xptr = (const KTextEditor::Range*)x[0].s_class;
        const KTextEditor::Range& xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString selectionText() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(968, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual bool removeSelection() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(969, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool removeSelectionText() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(970, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool setBlockSelection(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        this->_binding->callMethod(971, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool blockSelection() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(972, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool insertText(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(974, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTextEditor::View::insertText(x1);
    }
    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);
    }
    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 setComponentData(const KComponentData& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1002, (void*)this, x)) return;
        this->KXMLGUIClient::setComponentData(x1);
    }
    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);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 99: //KTextEditor::View::EditMode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KTextEditor::View::EditMode;
                    break;
                case Smoke::EnumDelete:
                    delete (KTextEditor::View::EditMode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KTextEditor::View::EditMode*)xdata = (KTextEditor::View::EditMode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KTextEditor::View::EditMode*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_KTextEditor__View() { this->_binding->deleted(65, (void*)this); }
};
void xenum_KTextEditor__View(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_KTextEditor__View::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_KTextEditor__View(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__View *xself = (x_KTextEditor__View*)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__View::x_3(args);	break;
        case 4: x_KTextEditor__View::x_4(args);	break;
        case 5: x_KTextEditor__View::x_5(args);	break;
        case 6: x_KTextEditor__View::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KTextEditor__View::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: x_KTextEditor__View::x_45(args);	break;
        case 46: x_KTextEditor__View::x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: x_KTextEditor__View::x_49(args);	break;
        case 50: x_KTextEditor__View::x_50(args);	break;
        case 51: x_KTextEditor__View::x_51(args);	break;
        case 52: x_KTextEditor__View::x_52(args);	break;
        case 53: delete (KTextEditor::View*)xself;	break;
    }
}
class x_KTextEditor__ViewBarContainer : public KTextEditor::ViewBarContainer, 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::ViewBarContainer* ViewBarContainer()
        x_KTextEditor__ViewBarContainer* xret = new x_KTextEditor__ViewBarContainer();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__ViewBarContainer() : ViewBarContainer() {}
    void x_2(Smoke::Stack x) {
        // virtual QWidget* getViewBarParent(KTextEditor::View*, KTextEditor::ViewBarContainer::Position) = 0
        QWidget* xret = this->getViewBarParent((KTextEditor::View*)x[1].s_class,(KTextEditor::ViewBarContainer::Position)x[2].s_enum);
        x[0].s_class = (void*)xret;
    }
    void x_3(Smoke::Stack x) {
        // virtual void addViewBarToLayout(KTextEditor::View*, QWidget*, KTextEditor::ViewBarContainer::Position) = 0
        this->addViewBarToLayout((KTextEditor::View*)x[1].s_class,(QWidget*)x[2].s_class,(KTextEditor::ViewBarContainer::Position)x[3].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // virtual void showViewBarForView(KTextEditor::View*, KTextEditor::ViewBarContainer::Position) = 0
        this->showViewBarForView((KTextEditor::View*)x[1].s_class,(KTextEditor::ViewBarContainer::Position)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // virtual void hideViewBarForView(KTextEditor::View*, KTextEditor::ViewBarContainer::Position) = 0
        this->hideViewBarForView((KTextEditor::View*)x[1].s_class,(KTextEditor::ViewBarContainer::Position)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // virtual void deleteViewBarForView(KTextEditor::View*, KTextEditor::ViewBarContainer::Position) = 0
        this->deleteViewBarForView((KTextEditor::View*)x[1].s_class,(KTextEditor::ViewBarContainer::Position)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    static void x_7(Smoke::Stack x) {
        // KTextEditor::ViewBarContainer* ViewBarContainer(const KTextEditor::ViewBarContainer&)
        x_KTextEditor__ViewBarContainer* xret = new x_KTextEditor__ViewBarContainer(*(const KTextEditor::ViewBarContainer*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__ViewBarContainer(const KTextEditor::ViewBarContainer& x1) : ViewBarContainer(x1) {}
    static void x_8(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::ViewBarContainer::LeftBar;
    }
    static void x_9(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::ViewBarContainer::TopBar;
    }
    static void x_10(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::ViewBarContainer::RightBar;
    }
    static void x_11(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::ViewBarContainer::BottomBar;
    }
    virtual QWidget* getViewBarParent(KTextEditor::View* x1, KTextEditor::ViewBarContainer::Position x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        this->_binding->callMethod(985, (void*)this, x, true /*pure virtual*/);
        return (QWidget*)x[0].s_class;
    }
    virtual void addViewBarToLayout(KTextEditor::View* x1, QWidget* x2, KTextEditor::ViewBarContainer::Position x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_enum = x3;
        this->_binding->callMethod(986, (void*)this, x, true /*pure virtual*/);
    }
    virtual void showViewBarForView(KTextEditor::View* x1, KTextEditor::ViewBarContainer::Position x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        this->_binding->callMethod(987, (void*)this, x, true /*pure virtual*/);
    }
    virtual void hideViewBarForView(KTextEditor::View* x1, KTextEditor::ViewBarContainer::Position x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        this->_binding->callMethod(988, (void*)this, x, true /*pure virtual*/);
    }
    virtual void deleteViewBarForView(KTextEditor::View* x1, KTextEditor::ViewBarContainer::Position x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        this->_binding->callMethod(989, (void*)this, x, true /*pure virtual*/);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 101: //KTextEditor::ViewBarContainer::Position
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KTextEditor::ViewBarContainer::Position;
                    break;
                case Smoke::EnumDelete:
                    delete (KTextEditor::ViewBarContainer::Position*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KTextEditor::ViewBarContainer::Position*)xdata = (KTextEditor::ViewBarContainer::Position)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KTextEditor::ViewBarContainer::Position*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_KTextEditor__ViewBarContainer() { this->_binding->deleted(66, (void*)this); }
};
void xenum_KTextEditor__ViewBarContainer(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_KTextEditor__ViewBarContainer::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_KTextEditor__ViewBarContainer(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__ViewBarContainer *xself = (x_KTextEditor__ViewBarContainer*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__ViewBarContainer::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: x_KTextEditor__ViewBarContainer::x_7(args);	break;
        case 8: x_KTextEditor__ViewBarContainer::x_8(args);	break;
        case 9: x_KTextEditor__ViewBarContainer::x_9(args);	break;
        case 10: x_KTextEditor__ViewBarContainer::x_10(args);	break;
        case 11: x_KTextEditor__ViewBarContainer::x_11(args);	break;
        case 12: delete (KTextEditor::ViewBarContainer*)xself;	break;
    }
}
class x_QGlobalSpace {
    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) {
        x[0].s_enum = (long)Q_COMPLEX_TYPE;
    }
    static void x_2(Smoke::Stack x) {
        x[0].s_enum = (long)Q_PRIMITIVE_TYPE;
    }
    static void x_3(Smoke::Stack x) {
        x[0].s_enum = (long)Q_STATIC_TYPE;
    }
    static void x_4(Smoke::Stack x) {
        x[0].s_enum = (long)Q_MOVABLE_TYPE;
    }
    static void x_5(Smoke::Stack x) {
        x[0].s_enum = (long)Q_DUMMY_TYPE;
    }
    static void x_6(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedGui;
    }
    static void x_7(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedXml;
    }
    static void x_8(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedQt3SupportLight;
    }
    static void x_9(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KSycocaEntry;
    }
    static void x_10(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KService;
    }
    static void x_11(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KServiceType;
    }
    static void x_12(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KMimeType;
    }
    static void x_13(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KFolderMimeType;
    }
    static void x_14(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KDEDesktopMimeType;
    }
    static void x_15(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KMimeTypeEntry;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KServiceGroup;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KImageIOFormat;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KProtocolInfo;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KServiceSeparator;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KCustom;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedScript;
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedOpenVG;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedDBus;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedTest;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedActiveQt;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedScriptTools;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedSvg;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedDeclarative;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedSql;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedOpenGL;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedCore;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QtDebugMsg;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QtWarningMsg;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QtCriticalMsg;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QtFatalMsg;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QtSystemMsg;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedHelp;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedMultimedia;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedQt3Support;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KServiceFactory;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KServiceTypeFactory;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KServiceGroupFactory;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KImageIO;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KProtocolInfoFactory;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)KST_KMimeTypeFactory;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)KST_CTimeInfo;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedXmlPatterns;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)LicensedNetwork;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 248: //QtValidLicenseForGuiModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForGuiModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForGuiModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForGuiModule*)xdata = (QtValidLicenseForGuiModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForGuiModule*)xdata;
                    break;
            }
            break;
        case 261: //QtValidLicenseForXmlModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForXmlModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForXmlModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForXmlModule*)xdata = (QtValidLicenseForXmlModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForXmlModule*)xdata;
                    break;
            }
            break;
        case 254: //QtValidLicenseForQt3SupportLightModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForQt3SupportLightModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForQt3SupportLightModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForQt3SupportLightModule*)xdata = (QtValidLicenseForQt3SupportLightModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForQt3SupportLightModule*)xdata;
                    break;
            }
            break;
        case 19: //KSycocaType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KSycocaType;
                    break;
                case Smoke::EnumDelete:
                    delete (KSycocaType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KSycocaType*)xdata = (KSycocaType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KSycocaType*)xdata;
                    break;
            }
            break;
        case 256: //QtValidLicenseForScriptModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForScriptModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForScriptModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForScriptModule*)xdata = (QtValidLicenseForScriptModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForScriptModule*)xdata;
                    break;
            }
            break;
        case 253: //QtValidLicenseForOpenVGModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForOpenVGModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForOpenVGModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForOpenVGModule*)xdata = (QtValidLicenseForOpenVGModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForOpenVGModule*)xdata;
                    break;
            }
            break;
        case 246: //QtValidLicenseForDBusModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForDBusModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForDBusModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForDBusModule*)xdata = (QtValidLicenseForDBusModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForDBusModule*)xdata;
                    break;
            }
            break;
        case 260: //QtValidLicenseForTestModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForTestModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForTestModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForTestModule*)xdata = (QtValidLicenseForTestModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForTestModule*)xdata;
                    break;
            }
            break;
        case 244: //QtValidLicenseForActiveQtModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForActiveQtModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForActiveQtModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForActiveQtModule*)xdata = (QtValidLicenseForActiveQtModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForActiveQtModule*)xdata;
                    break;
            }
            break;
        case 257: //QtValidLicenseForScriptToolsModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForScriptToolsModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForScriptToolsModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForScriptToolsModule*)xdata = (QtValidLicenseForScriptToolsModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForScriptToolsModule*)xdata;
                    break;
            }
            break;
        case 259: //QtValidLicenseForSvgModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForSvgModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForSvgModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForSvgModule*)xdata = (QtValidLicenseForSvgModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForSvgModule*)xdata;
                    break;
            }
            break;
        case 247: //QtValidLicenseForDeclarativeModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForDeclarativeModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForDeclarativeModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForDeclarativeModule*)xdata = (QtValidLicenseForDeclarativeModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForDeclarativeModule*)xdata;
                    break;
            }
            break;
        case 258: //QtValidLicenseForSqlModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForSqlModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForSqlModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForSqlModule*)xdata = (QtValidLicenseForSqlModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForSqlModule*)xdata;
                    break;
            }
            break;
        case 252: //QtValidLicenseForOpenGLModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForOpenGLModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForOpenGLModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForOpenGLModule*)xdata = (QtValidLicenseForOpenGLModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForOpenGLModule*)xdata;
                    break;
            }
            break;
        case 245: //QtValidLicenseForCoreModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForCoreModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForCoreModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForCoreModule*)xdata = (QtValidLicenseForCoreModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForCoreModule*)xdata;
                    break;
            }
            break;
        case 243: //QtMsgType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtMsgType;
                    break;
                case Smoke::EnumDelete:
                    delete (QtMsgType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtMsgType*)xdata = (QtMsgType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtMsgType*)xdata;
                    break;
            }
            break;
        case 249: //QtValidLicenseForHelpModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForHelpModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForHelpModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForHelpModule*)xdata = (QtValidLicenseForHelpModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForHelpModule*)xdata;
                    break;
            }
            break;
        case 250: //QtValidLicenseForMultimediaModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForMultimediaModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForMultimediaModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForMultimediaModule*)xdata = (QtValidLicenseForMultimediaModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForMultimediaModule*)xdata;
                    break;
            }
            break;
        case 255: //QtValidLicenseForQt3SupportModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForQt3SupportModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForQt3SupportModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForQt3SupportModule*)xdata = (QtValidLicenseForQt3SupportModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForQt3SupportModule*)xdata;
                    break;
            }
            break;
        case 18: //KSycocaFactoryId
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KSycocaFactoryId;
                    break;
                case Smoke::EnumDelete:
                    delete (KSycocaFactoryId*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KSycocaFactoryId*)xdata = (KSycocaFactoryId)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KSycocaFactoryId*)xdata;
                    break;
            }
            break;
        case 262: //QtValidLicenseForXmlPatternsModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForXmlPatternsModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForXmlPatternsModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForXmlPatternsModule*)xdata = (QtValidLicenseForXmlPatternsModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForXmlPatternsModule*)xdata;
                    break;
            }
            break;
        case 251: //QtValidLicenseForNetworkModule
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QtValidLicenseForNetworkModule;
                    break;
                case Smoke::EnumDelete:
                    delete (QtValidLicenseForNetworkModule*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QtValidLicenseForNetworkModule*)xdata = (QtValidLicenseForNetworkModule)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QtValidLicenseForNetworkModule*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QGlobalSpace() { this->_binding->deleted(87, (void*)this); }
};
void xenum_QGlobalSpace(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QGlobalSpace::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QGlobalSpace(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QGlobalSpace *xself = (x_QGlobalSpace*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QGlobalSpace::x_1(args);	break;
        case 2: x_QGlobalSpace::x_2(args);	break;
        case 3: x_QGlobalSpace::x_3(args);	break;
        case 4: x_QGlobalSpace::x_4(args);	break;
        case 5: x_QGlobalSpace::x_5(args);	break;
        case 6: x_QGlobalSpace::x_6(args);	break;
        case 7: x_QGlobalSpace::x_7(args);	break;
        case 8: x_QGlobalSpace::x_8(args);	break;
        case 9: x_QGlobalSpace::x_9(args);	break;
        case 10: x_QGlobalSpace::x_10(args);	break;
        case 11: x_QGlobalSpace::x_11(args);	break;
        case 12: x_QGlobalSpace::x_12(args);	break;
        case 13: x_QGlobalSpace::x_13(args);	break;
        case 14: x_QGlobalSpace::x_14(args);	break;
        case 15: x_QGlobalSpace::x_15(args);	break;
        case 16: x_QGlobalSpace::x_16(args);	break;
        case 17: x_QGlobalSpace::x_17(args);	break;
        case 18: x_QGlobalSpace::x_18(args);	break;
        case 19: x_QGlobalSpace::x_19(args);	break;
        case 20: x_QGlobalSpace::x_20(args);	break;
        case 21: x_QGlobalSpace::x_21(args);	break;
        case 22: x_QGlobalSpace::x_22(args);	break;
        case 23: x_QGlobalSpace::x_23(args);	break;
        case 24: x_QGlobalSpace::x_24(args);	break;
        case 25: x_QGlobalSpace::x_25(args);	break;
        case 26: x_QGlobalSpace::x_26(args);	break;
        case 27: x_QGlobalSpace::x_27(args);	break;
        case 28: x_QGlobalSpace::x_28(args);	break;
        case 29: x_QGlobalSpace::x_29(args);	break;
        case 30: x_QGlobalSpace::x_30(args);	break;
        case 31: x_QGlobalSpace::x_31(args);	break;
        case 32: x_QGlobalSpace::x_32(args);	break;
        case 33: x_QGlobalSpace::x_33(args);	break;
        case 34: x_QGlobalSpace::x_34(args);	break;
        case 35: x_QGlobalSpace::x_35(args);	break;
        case 36: x_QGlobalSpace::x_36(args);	break;
        case 37: x_QGlobalSpace::x_37(args);	break;
        case 38: x_QGlobalSpace::x_38(args);	break;
        case 39: x_QGlobalSpace::x_39(args);	break;
        case 40: x_QGlobalSpace::x_40(args);	break;
        case 41: x_QGlobalSpace::x_41(args);	break;
        case 42: x_QGlobalSpace::x_42(args);	break;
        case 43: x_QGlobalSpace::x_43(args);	break;
        case 44: x_QGlobalSpace::x_44(args);	break;
        case 45: x_QGlobalSpace::x_45(args);	break;
        case 46: x_QGlobalSpace::x_46(args);	break;
        case 47: x_QGlobalSpace::x_47(args);	break;
        case 48: x_QGlobalSpace::x_48(args);	break;
    }
}
class x_KTextEditor {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // static QFlags<KTextEditor::CodeCompletionModel::HighlightMethods::enum_type> operator|(KTextEditor::CodeCompletionModel::HighlightMethods::enum_type, QFlags<KTextEditor::CodeCompletionModel::HighlightMethods::enum_type>)
        QFlags<KTextEditor::CodeCompletionModel::HighlightMethods::enum_type> xret = KTextEditor::operator|(*(KTextEditor::CodeCompletionModel::HighlightMethods::enum_type*)x[1].s_class,(QFlags<KTextEditor::CodeCompletionModel::HighlightMethods::enum_type>)x[2].s_uint);
        x[0].s_uint = (uint)xret;
    }
    static void x_2(Smoke::Stack x) {
        // static QFlags<KTextEditor::SmartRange::InsertBehaviors::enum_type> operator|(KTextEditor::SmartRange::InsertBehaviors::enum_type, KTextEditor::SmartRange::InsertBehaviors::enum_type)
        QFlags<KTextEditor::SmartRange::InsertBehaviors::enum_type> xret = KTextEditor::operator|(*(KTextEditor::SmartRange::InsertBehaviors::enum_type*)x[1].s_class,*(KTextEditor::SmartRange::InsertBehaviors::enum_type*)x[2].s_class);
        x[0].s_uint = (uint)xret;
    }
    static void x_3(Smoke::Stack x) {
        // static QIncompatibleFlag operator|(KTextEditor::CodeCompletionModel::HighlightMethods::enum_type, int)
        QIncompatibleFlag xret = KTextEditor::operator|(*(KTextEditor::CodeCompletionModel::HighlightMethods::enum_type*)x[1].s_class,(int)x[2].s_int);
        x[0].s_class = (void*)new QIncompatibleFlag(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QFlags<KTextEditor::Attribute::Effects::enum_type> operator|(KTextEditor::Attribute::Effects::enum_type, KTextEditor::Attribute::Effects::enum_type)
        QFlags<KTextEditor::Attribute::Effects::enum_type> xret = KTextEditor::operator|(*(KTextEditor::Attribute::Effects::enum_type*)x[1].s_class,*(KTextEditor::Attribute::Effects::enum_type*)x[2].s_class);
        x[0].s_uint = (uint)xret;
    }
    static void x_5(Smoke::Stack x) {
        // static QFlags<KTextEditor::CodeCompletionModel::CompletionProperties::enum_type> operator|(KTextEditor::CodeCompletionModel::CompletionProperties::enum_type, QFlags<KTextEditor::CodeCompletionModel::CompletionProperties::enum_type>)
        QFlags<KTextEditor::CodeCompletionModel::CompletionProperties::enum_type> xret = KTextEditor::operator|(*(KTextEditor::CodeCompletionModel::CompletionProperties::enum_type*)x[1].s_class,(QFlags<KTextEditor::CodeCompletionModel::CompletionProperties::enum_type>)x[2].s_uint);
        x[0].s_uint = (uint)xret;
    }
    static void x_6(Smoke::Stack x) {
        // static QIncompatibleFlag operator|(KTextEditor::SmartRange::InsertBehaviors::enum_type, int)
        QIncompatibleFlag xret = KTextEditor::operator|(*(KTextEditor::SmartRange::InsertBehaviors::enum_type*)x[1].s_class,(int)x[2].s_int);
        x[0].s_class = (void*)new QIncompatibleFlag(xret);
    }
    static void x_7(Smoke::Stack x) {
        // static QFlags<KTextEditor::SmartRange::InsertBehaviors::enum_type> operator|(KTextEditor::SmartRange::InsertBehaviors::enum_type, QFlags<KTextEditor::SmartRange::InsertBehaviors::enum_type>)
        QFlags<KTextEditor::SmartRange::InsertBehaviors::enum_type> xret = KTextEditor::operator|(*(KTextEditor::SmartRange::InsertBehaviors::enum_type*)x[1].s_class,(QFlags<KTextEditor::SmartRange::InsertBehaviors::enum_type>)x[2].s_uint);
        x[0].s_uint = (uint)xret;
    }
    static void x_8(Smoke::Stack x) {
        // static QFlags<KTextEditor::Attribute::Effects::enum_type> operator|(KTextEditor::Attribute::Effects::enum_type, QFlags<KTextEditor::Attribute::Effects::enum_type>)
        QFlags<KTextEditor::Attribute::Effects::enum_type> xret = KTextEditor::operator|(*(KTextEditor::Attribute::Effects::enum_type*)x[1].s_class,(QFlags<KTextEditor::Attribute::Effects::enum_type>)x[2].s_uint);
        x[0].s_uint = (uint)xret;
    }
    static void x_9(Smoke::Stack x) {
        // static QFlags<KTextEditor::CodeCompletionModel::CompletionProperties::enum_type> operator|(KTextEditor::CodeCompletionModel::CompletionProperties::enum_type, KTextEditor::CodeCompletionModel::CompletionProperties::enum_type)
        QFlags<KTextEditor::CodeCompletionModel::CompletionProperties::enum_type> xret = KTextEditor::operator|(*(KTextEditor::CodeCompletionModel::CompletionProperties::enum_type*)x[1].s_class,*(KTextEditor::CodeCompletionModel::CompletionProperties::enum_type*)x[2].s_class);
        x[0].s_uint = (uint)xret;
    }
    static void x_10(Smoke::Stack x) {
        // static QIncompatibleFlag operator|(KTextEditor::Attribute::Effects::enum_type, int)
        QIncompatibleFlag xret = KTextEditor::operator|(*(KTextEditor::Attribute::Effects::enum_type*)x[1].s_class,(int)x[2].s_int);
        x[0].s_class = (void*)new QIncompatibleFlag(xret);
    }
    static void x_11(Smoke::Stack x) {
        // static KTextEditor::Editor* editor(const char*)
        KTextEditor::Editor* xret = KTextEditor::editor((const char*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_12(Smoke::Stack x) {
        // static KTextEditor::Plugin* createPlugin(KSharedPtr<KService>, QObject*)
        KTextEditor::Plugin* xret = KTextEditor::createPlugin(*(KSharedPtr<KService>*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_13(Smoke::Stack x) {
        // static QIncompatibleFlag operator|(KTextEditor::CodeCompletionModel::CompletionProperties::enum_type, int)
        QIncompatibleFlag xret = KTextEditor::operator|(*(KTextEditor::CodeCompletionModel::CompletionProperties::enum_type*)x[1].s_class,(int)x[2].s_int);
        x[0].s_class = (void*)new QIncompatibleFlag(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QFlags<KTextEditor::CodeCompletionModel::HighlightMethods::enum_type> operator|(KTextEditor::CodeCompletionModel::HighlightMethods::enum_type, KTextEditor::CodeCompletionModel::HighlightMethods::enum_type)
        QFlags<KTextEditor::CodeCompletionModel::HighlightMethods::enum_type> xret = KTextEditor::operator|(*(KTextEditor::CodeCompletionModel::HighlightMethods::enum_type*)x[1].s_class,*(KTextEditor::CodeCompletionModel::HighlightMethods::enum_type*)x[2].s_class);
        x[0].s_uint = (uint)xret;
    }
    ~x_KTextEditor() { this->_binding->deleted(20, (void*)this); }
};
void xcall_KTextEditor(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor *xself = (x_KTextEditor*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor::x_1(args);	break;
        case 2: x_KTextEditor::x_2(args);	break;
        case 3: x_KTextEditor::x_3(args);	break;
        case 4: x_KTextEditor::x_4(args);	break;
        case 5: x_KTextEditor::x_5(args);	break;
        case 6: x_KTextEditor::x_6(args);	break;
        case 7: x_KTextEditor::x_7(args);	break;
        case 8: x_KTextEditor::x_8(args);	break;
        case 9: x_KTextEditor::x_9(args);	break;
        case 10: x_KTextEditor::x_10(args);	break;
        case 11: x_KTextEditor::x_11(args);	break;
        case 12: x_KTextEditor::x_12(args);	break;
        case 13: x_KTextEditor::x_13(args);	break;
        case 14: x_KTextEditor::x_14(args);	break;
    }
}

}
