//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__ConfigInterface : public KTextEditor::ConfigInterface, 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::ConfigInterface* ConfigInterface()
        x_KTextEditor__ConfigInterface* xret = new x_KTextEditor__ConfigInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__ConfigInterface() : ConfigInterface() {}
    void x_2(Smoke::Stack x) {
        // virtual QStringList configKeys() const = 0
        QStringList xret = ((const x_KTextEditor__ConfigInterface*)this)->configKeys();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual QVariant configValue(const QString&) = 0
        QVariant xret = this->configValue(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_4(Smoke::Stack x) {
        // virtual void setConfigValue(const QString&, const QVariant&) = 0
        this->setConfigValue(*(const QString*)x[1].s_class,*(const QVariant*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_5(Smoke::Stack x) {
        // KTextEditor::ConfigInterface* ConfigInterface(const KTextEditor::ConfigInterface&)
        x_KTextEditor__ConfigInterface* xret = new x_KTextEditor__ConfigInterface(*(const KTextEditor::ConfigInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__ConfigInterface(const KTextEditor::ConfigInterface& x1) : ConfigInterface(x1) {}
    virtual QStringList configKeys() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(258, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QVariant configValue(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(259, (void*)this, x, true /*pure virtual*/);
        QVariant* xptr = (QVariant*)x[0].s_class;
        QVariant xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void setConfigValue(const QString& x1, const QVariant& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(260, (void*)this, x, true /*pure virtual*/);
    }
    ~x_KTextEditor__ConfigInterface() { this->_binding->deleted(33, (void*)this); }
};
void xcall_KTextEditor__ConfigInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__ConfigInterface *xself = (x_KTextEditor__ConfigInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__ConfigInterface::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__ConfigInterface::x_5(args);	break;
        case 6: delete (KTextEditor::ConfigInterface*)xself;	break;
    }
}
class x_KTextEditor__ConfigPage : public KTextEditor::ConfigPage, 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::ConfigPage*>(this))) {
            const QMetaObject* xret = ((const x_KTextEditor__ConfigPage*)this)->KTextEditor::ConfigPage::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KTextEditor__ConfigPage*)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::ConfigPage*>(this))) {
            void* xret = this->KTextEditor::ConfigPage::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::ConfigPage::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::ConfigPage::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::ConfigPage::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::ConfigPage::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::ConfigPage*>(this))) {
            int xret = this->KTextEditor::ConfigPage::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::ConfigPage* ConfigPage(QWidget*)
        x_KTextEditor__ConfigPage* xret = new x_KTextEditor__ConfigPage((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__ConfigPage(QWidget* x1) : ConfigPage(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual void apply() = 0
        this->apply();
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // virtual void reset() = 0
        this->reset();
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // virtual void defaults() = 0
        this->defaults();
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void changed()
        this->KTextEditor::ConfigPage::changed();
        (void)x; // noop (for compiler warning)
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KTextEditor::ConfigPage::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KTextEditor::ConfigPage::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KTextEditor::ConfigPage::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(263, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KTextEditor::ConfigPage::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(264, (void*)this, x)) return (void*)x[0].s_class;
        return this->KTextEditor::ConfigPage::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(269, (void*)this, x)) return (int)x[0].s_int;
        return this->KTextEditor::ConfigPage::qt_metacall(x1, x2, x3);
    }
    virtual void apply() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(271, (void*)this, x, true /*pure virtual*/);
    }
    virtual void reset() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(272, (void*)this, x, true /*pure virtual*/);
    }
    virtual void defaults() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(273, (void*)this, x, true /*pure virtual*/);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1090, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1091, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1092, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::minimumSizeHint();
    }
    virtual int heightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1093, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::heightForWidth(x1);
    }
    virtual void mousePressEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1096, (void*)this, x)) return;
        this->QWidget::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1097, (void*)this, x)) return;
        this->QWidget::mouseReleaseEvent(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1098, (void*)this, x)) return;
        this->QWidget::mouseDoubleClickEvent(x1);
    }
    virtual void mouseMoveEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1099, (void*)this, x)) return;
        this->QWidget::mouseMoveEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1100, (void*)this, x)) return;
        this->QWidget::wheelEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1101, (void*)this, x)) return;
        this->QWidget::keyPressEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1102, (void*)this, x)) return;
        this->QWidget::keyReleaseEvent(x1);
    }
    virtual void focusInEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1103, (void*)this, x)) return;
        this->QWidget::focusInEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1104, (void*)this, x)) return;
        this->QWidget::focusOutEvent(x1);
    }
    virtual void enterEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1105, (void*)this, x)) return;
        this->QWidget::enterEvent(x1);
    }
    virtual void leaveEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1106, (void*)this, x)) return;
        this->QWidget::leaveEvent(x1);
    }
    virtual void paintEvent(QPaintEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1107, (void*)this, x)) return;
        this->QWidget::paintEvent(x1);
    }
    virtual void moveEvent(QMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1108, (void*)this, x)) return;
        this->QWidget::moveEvent(x1);
    }
    virtual void resizeEvent(QResizeEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1109, (void*)this, x)) return;
        this->QWidget::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1110, (void*)this, x)) return;
        this->QWidget::closeEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1111, (void*)this, x)) return;
        this->QWidget::contextMenuEvent(x1);
    }
    virtual void tabletEvent(QTabletEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1112, (void*)this, x)) return;
        this->QWidget::tabletEvent(x1);
    }
    virtual void actionEvent(QActionEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1113, (void*)this, x)) return;
        this->QWidget::actionEvent(x1);
    }
    virtual void dragEnterEvent(QDragEnterEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1114, (void*)this, x)) return;
        this->QWidget::dragEnterEvent(x1);
    }
    virtual void dragMoveEvent(QDragMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1115, (void*)this, x)) return;
        this->QWidget::dragMoveEvent(x1);
    }
    virtual void dragLeaveEvent(QDragLeaveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1116, (void*)this, x)) return;
        this->QWidget::dragLeaveEvent(x1);
    }
    virtual void dropEvent(QDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1117, (void*)this, x)) return;
        this->QWidget::dropEvent(x1);
    }
    virtual void showEvent(QShowEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1118, (void*)this, x)) return;
        this->QWidget::showEvent(x1);
    }
    virtual void hideEvent(QHideEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1119, (void*)this, x)) return;
        this->QWidget::hideEvent(x1);
    }
    virtual bool x11Event(_XEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1120, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::x11Event(x1);
    }
    virtual void changeEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1121, (void*)this, x)) return;
        this->QWidget::changeEvent(x1);
    }
    virtual void inputMethodEvent(QInputMethodEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1123, (void*)this, x)) return;
        this->QWidget::inputMethodEvent(x1);
    }
    virtual QVariant inputMethodQuery(Qt::InputMethodQuery x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1124, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::inputMethodQuery(x1);
    }
    virtual bool focusNextPrevChild(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1125, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::focusNextPrevChild(x1);
    }
    virtual void styleChange(QStyle& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1126, (void*)this, x)) return;
        this->QWidget::styleChange(x1);
    }
    virtual void enabledChange(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1127, (void*)this, x)) return;
        this->QWidget::enabledChange(x1);
    }
    virtual void paletteChange(const QPalette& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1128, (void*)this, x)) return;
        this->QWidget::paletteChange(x1);
    }
    virtual void fontChange(const QFont& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1129, (void*)this, x)) return;
        this->QWidget::fontChange(x1);
    }
    virtual void windowActivationChange(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1130, (void*)this, x)) return;
        this->QWidget::windowActivationChange(x1);
    }
    virtual void languageChange() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1131, (void*)this, x)) return;
        this->QWidget::languageChange();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1095, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(1083, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1084, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1085, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1086, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1087, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1088, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    virtual int devType() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1089, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::devType();
    }
    virtual QPaintEngine* paintEngine() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1094, (void*)this, x)) return (QPaintEngine*)x[0].s_class;
        return this->QWidget::paintEngine();
    }
    virtual int metric(QPaintDevice::PaintDeviceMetric x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1122, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::metric(x1);
    }
    ~x_KTextEditor__ConfigPage() { this->_binding->deleted(34, (void*)this); }
};
void xcall_KTextEditor__ConfigPage(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__ConfigPage *xself = (x_KTextEditor__ConfigPage*)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__ConfigPage::x_3(args);	break;
        case 4: x_KTextEditor__ConfigPage::x_4(args);	break;
        case 5: x_KTextEditor__ConfigPage::x_5(args);	break;
        case 6: x_KTextEditor__ConfigPage::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KTextEditor__ConfigPage::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: x_KTextEditor__ConfigPage::x_13(args);	break;
        case 14: x_KTextEditor__ConfigPage::x_14(args);	break;
        case 15: x_KTextEditor__ConfigPage::x_15(args);	break;
        case 16: delete (KTextEditor::ConfigPage*)xself;	break;
    }
}
class x_KTextEditor__ContainerInterface : public KTextEditor::ContainerInterface, 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::ContainerInterface* ContainerInterface()
        x_KTextEditor__ContainerInterface* xret = new x_KTextEditor__ContainerInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__ContainerInterface() : ContainerInterface() {}
    void x_2(Smoke::Stack x) {
        // virtual void setContainer(QObject*) = 0
        this->setContainer((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // virtual QObject* container() = 0
        QObject* xret = this->container();
        x[0].s_class = (void*)xret;
    }
    static void x_4(Smoke::Stack x) {
        // KTextEditor::ContainerInterface* ContainerInterface(const KTextEditor::ContainerInterface&)
        x_KTextEditor__ContainerInterface* xret = new x_KTextEditor__ContainerInterface(*(const KTextEditor::ContainerInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__ContainerInterface(const KTextEditor::ContainerInterface& x1) : ContainerInterface(x1) {}
    virtual void setContainer(QObject* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(280, (void*)this, x, true /*pure virtual*/);
    }
    virtual QObject* container() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(281, (void*)this, x, true /*pure virtual*/);
        return (QObject*)x[0].s_class;
    }
    ~x_KTextEditor__ContainerInterface() { this->_binding->deleted(35, (void*)this); }
};
void xcall_KTextEditor__ContainerInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__ContainerInterface *xself = (x_KTextEditor__ContainerInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__ContainerInterface::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_KTextEditor__ContainerInterface::x_4(args);	break;
        case 5: delete (KTextEditor::ContainerInterface*)xself;	break;
    }
}
class x_KTextEditor__CoordinatesToCursorInterface : public KTextEditor::CoordinatesToCursorInterface, 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 KTextEditor::Cursor coordinatesToCursor(const QPoint&) const = 0
        KTextEditor::Cursor xret = ((const x_KTextEditor__CoordinatesToCursorInterface*)this)->coordinatesToCursor(*(const QPoint*)x[1].s_class);
        x[0].s_class = (void*)new KTextEditor::Cursor(xret);
    }
    static void x_2(Smoke::Stack x) {
        // KTextEditor::CoordinatesToCursorInterface* CoordinatesToCursorInterface()
        x_KTextEditor__CoordinatesToCursorInterface* xret = new x_KTextEditor__CoordinatesToCursorInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__CoordinatesToCursorInterface() : CoordinatesToCursorInterface() {}
    static void x_3(Smoke::Stack x) {
        // KTextEditor::CoordinatesToCursorInterface* CoordinatesToCursorInterface(const KTextEditor::CoordinatesToCursorInterface&)
        x_KTextEditor__CoordinatesToCursorInterface* xret = new x_KTextEditor__CoordinatesToCursorInterface(*(const KTextEditor::CoordinatesToCursorInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__CoordinatesToCursorInterface(const KTextEditor::CoordinatesToCursorInterface& x1) : CoordinatesToCursorInterface(x1) {}
    virtual KTextEditor::Cursor coordinatesToCursor(const QPoint& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(284, (void*)this, x, true /*pure virtual*/);
        KTextEditor::Cursor* xptr = (KTextEditor::Cursor*)x[0].s_class;
        KTextEditor::Cursor xret(*xptr);
        delete xptr;
        return xret;
    }
    ~x_KTextEditor__CoordinatesToCursorInterface() { this->_binding->deleted(36, (void*)this); }
};
void xcall_KTextEditor__CoordinatesToCursorInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__CoordinatesToCursorInterface *xself = (x_KTextEditor__CoordinatesToCursorInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: x_KTextEditor__CoordinatesToCursorInterface::x_2(args);	break;
        case 3: x_KTextEditor__CoordinatesToCursorInterface::x_3(args);	break;
        case 4: delete (KTextEditor::CoordinatesToCursorInterface*)xself;	break;
    }
}

}
