/*
 * Module code.
 *
 * Generated by SIP 4.8.2 on Sun Oct 11 20:19:25 2009
 *
 * 
 *  This file is part of PyKDE4.
 * 
 *  PyKDE4 is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU Lesser General Public License as
 *  published by the Free Software Foundation; either version 2.1 of
 *  the License, or (at your option) any later version.
 * 
 *  PyKDE4 is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 * 
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http:www.gnu.org/licenses/>.
 * 
 */

#include "sipAPIktexteditor.h"

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/smartcursor.sip"
#include <ktexteditor/smartcursor.h>
#line 29 "sipktexteditorpart2.cpp"

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/cursor.sip"
#include <ktexteditor/cursor.h>
#line 33 "sipktexteditorpart2.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/document.sip"
#include <ktexteditor/document.h>

#include <ktexteditor/modificationinterface.h>
#include <ktexteditor/markinterface.h>
#include <ktexteditor/searchinterface.h>
#include <ktexteditor/sessionconfiginterface.h>
#include <ktexteditor/smartinterface.h>
#include <ktexteditor/templateinterface.h>
#include <ktexteditor/variableinterface.h>
#line 44 "sipktexteditorpart2.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/cursorfeedback.sip"
#include <ktexteditor/cursorfeedback.h>
#line 47 "sipktexteditorpart2.cpp"
#line 50 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/cursorfeedback.sip"
#include <ktexteditor/cursorfeedback.h>
#line 50 "sipktexteditorpart2.cpp"
#line 46 "/usr/local/share/py-sip/QtCore/qstringlist.sip"
#include <qstringlist.h>
#line 53 "sipktexteditorpart2.cpp"
#line 83 "/usr/local/share/py-sip/QtCore/qchar.sip"
#include <qchar.h>
#line 56 "sipktexteditorpart2.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/smartrange.sip"
#include <ktexteditor/smartrange.h>
#line 59 "sipktexteditorpart2.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/range.sip"
#include <ktexteditor/range.h>
#line 62 "sipktexteditorpart2.cpp"


class sipKTextEditor_SmartCursor : public KTextEditor::SmartCursor
{
public:
    sipKTextEditor_SmartCursor(const KTextEditor::Cursor&,KTextEditor::Document *,KTextEditor::SmartCursor::InsertBehavior);
    virtual ~sipKTextEditor_SmartCursor();

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
    void sipProtectVirt_setRange(bool,KTextEditor::Range *);
    void sipProtect_cursorChangedDirectly(const KTextEditor::Cursor&);

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    bool isSmartCursor() const;
    KTextEditor::SmartCursor * toSmartCursor() const;
    bool atEndOfLine() const;
    bool atEndOfDocument() const;
    bool isValid() const;
    bool insertText(const QStringList&,bool);
    bool advance(int,KTextEditor::SmartCursor::AdvanceMode);
    bool hasNotifier() const;
    KTextEditor::SmartCursorNotifier * notifier();
    void deleteNotifier();
    KTextEditor::SmartCursorWatcher * watcher() const;
    void setWatcher(KTextEditor::SmartCursorWatcher *);
    void setPosition(const KTextEditor::Cursor&);
    int line() const;
    void setLine(int);
    void setColumn(int);
    void setRange(KTextEditor::Range *);

public:
    sipSimpleWrapper *sipPySelf;

private:
    sipKTextEditor_SmartCursor(const sipKTextEditor_SmartCursor &);
    sipKTextEditor_SmartCursor &operator = (const sipKTextEditor_SmartCursor &);

    char sipPyMethods[17];
};

sipKTextEditor_SmartCursor::sipKTextEditor_SmartCursor(const KTextEditor::Cursor& a0,KTextEditor::Document *a1,KTextEditor::SmartCursor::InsertBehavior a2): KTextEditor::SmartCursor(a0,a1,a2), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKTextEditor_SmartCursor::~sipKTextEditor_SmartCursor()
{
    sipCommonDtor(sipPySelf);
}

bool sipKTextEditor_SmartCursor::isSmartCursor() const
{
    typedef bool (*sipVH_QtCore_1)(sip_gilstate_t,PyObject *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[0]),sipPySelf,NULL,sipName_isSmartCursor);

    if (!meth)
        return KTextEditor::SmartCursor::isSmartCursor();

    return ((sipVH_QtCore_1)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[1]))(sipGILState,meth);
}

KTextEditor::SmartCursor * sipKTextEditor_SmartCursor::toSmartCursor() const
{
    extern KTextEditor::SmartCursor * sipVH_ktexteditor_37(sip_gilstate_t,PyObject *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[1]),sipPySelf,NULL,sipName_toSmartCursor);

    if (!meth)
        return KTextEditor::SmartCursor::toSmartCursor();

    return sipVH_ktexteditor_37(sipGILState,meth);
}

bool sipKTextEditor_SmartCursor::atEndOfLine() const
{
    typedef bool (*sipVH_QtCore_1)(sip_gilstate_t,PyObject *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[2]),sipPySelf,NULL,sipName_atEndOfLine);

    if (!meth)
        return KTextEditor::SmartCursor::atEndOfLine();

    return ((sipVH_QtCore_1)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[1]))(sipGILState,meth);
}

bool sipKTextEditor_SmartCursor::atEndOfDocument() const
{
    typedef bool (*sipVH_QtCore_1)(sip_gilstate_t,PyObject *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[3]),sipPySelf,NULL,sipName_atEndOfDocument);

    if (!meth)
        return KTextEditor::SmartCursor::atEndOfDocument();

    return ((sipVH_QtCore_1)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[1]))(sipGILState,meth);
}

bool sipKTextEditor_SmartCursor::isValid() const
{
    typedef bool (*sipVH_QtCore_1)(sip_gilstate_t,PyObject *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[4]),sipPySelf,NULL,sipName_isValid);

    if (!meth)
        return KTextEditor::SmartCursor::isValid();

    return ((sipVH_QtCore_1)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[1]))(sipGILState,meth);
}

bool sipKTextEditor_SmartCursor::insertText(const QStringList& a0,bool a1)
{
    extern bool sipVH_ktexteditor_17(sip_gilstate_t,PyObject *,const QStringList&,bool);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[5],sipPySelf,NULL,sipName_insertText);

    if (!meth)
        return KTextEditor::SmartCursor::insertText(a0,a1);

    return sipVH_ktexteditor_17(sipGILState,meth,a0,a1);
}

bool sipKTextEditor_SmartCursor::advance(int a0,KTextEditor::SmartCursor::AdvanceMode a1)
{
    extern bool sipVH_ktexteditor_36(sip_gilstate_t,PyObject *,int,KTextEditor::SmartCursor::AdvanceMode);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[6],sipPySelf,NULL,sipName_advance);

    if (!meth)
        return KTextEditor::SmartCursor::advance(a0,a1);

    return sipVH_ktexteditor_36(sipGILState,meth,a0,a1);
}

bool sipKTextEditor_SmartCursor::hasNotifier() const
{
    typedef bool (*sipVH_QtCore_1)(sip_gilstate_t,PyObject *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[7]),sipPySelf,sipName_SmartCursor,sipName_hasNotifier);

    if (!meth)
        return 0;

    return ((sipVH_QtCore_1)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[1]))(sipGILState,meth);
}

KTextEditor::SmartCursorNotifier * sipKTextEditor_SmartCursor::notifier()
{
    extern KTextEditor::SmartCursorNotifier * sipVH_ktexteditor_35(sip_gilstate_t,PyObject *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[8],sipPySelf,sipName_SmartCursor,sipName_notifier);

    if (!meth)
        return 0;

    return sipVH_ktexteditor_35(sipGILState,meth);
}

void sipKTextEditor_SmartCursor::deleteNotifier()
{
    typedef void (*sipVH_QtCore_5)(sip_gilstate_t,PyObject *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[9],sipPySelf,sipName_SmartCursor,sipName_deleteNotifier);

    if (!meth)
        return;

    ((sipVH_QtCore_5)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[5]))(sipGILState,meth);
}

KTextEditor::SmartCursorWatcher * sipKTextEditor_SmartCursor::watcher() const
{
    extern KTextEditor::SmartCursorWatcher * sipVH_ktexteditor_34(sip_gilstate_t,PyObject *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[10]),sipPySelf,sipName_SmartCursor,sipName_watcher);

    if (!meth)
        return 0;

    return sipVH_ktexteditor_34(sipGILState,meth);
}

void sipKTextEditor_SmartCursor::setWatcher(KTextEditor::SmartCursorWatcher *a0)
{
    extern void sipVH_ktexteditor_33(sip_gilstate_t,PyObject *,KTextEditor::SmartCursorWatcher *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[11],sipPySelf,sipName_SmartCursor,sipName_setWatcher);

    if (!meth)
        return;

    sipVH_ktexteditor_33(sipGILState,meth,a0);
}

void sipKTextEditor_SmartCursor::setPosition(const KTextEditor::Cursor& a0)
{
    extern void sipVH_ktexteditor_80(sip_gilstate_t,PyObject *,const KTextEditor::Cursor&);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[12],sipPySelf,NULL,sipName_setPosition);

    if (!meth)
    {
        KTextEditor::Cursor::setPosition(a0);
        return;
    }

    sipVH_ktexteditor_80(sipGILState,meth,a0);
}

int sipKTextEditor_SmartCursor::line() const
{
    typedef int (*sipVH_QtCore_8)(sip_gilstate_t,PyObject *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[13]),sipPySelf,NULL,sipName_line);

    if (!meth)
        return KTextEditor::Cursor::line();

    return ((sipVH_QtCore_8)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[8]))(sipGILState,meth);
}

void sipKTextEditor_SmartCursor::setLine(int a0)
{
    typedef void (*sipVH_QtNetwork_1)(sip_gilstate_t,PyObject *,int);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[14],sipPySelf,NULL,sipName_setLine);

    if (!meth)
    {
        KTextEditor::Cursor::setLine(a0);
        return;
    }

    ((sipVH_QtNetwork_1)(sipModuleAPI_ktexteditor_QtNetwork->em_virthandlers[1]))(sipGILState,meth,a0);
}

void sipKTextEditor_SmartCursor::setColumn(int a0)
{
    typedef void (*sipVH_QtNetwork_1)(sip_gilstate_t,PyObject *,int);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[15],sipPySelf,NULL,sipName_setColumn);

    if (!meth)
    {
        KTextEditor::Cursor::setColumn(a0);
        return;
    }

    ((sipVH_QtNetwork_1)(sipModuleAPI_ktexteditor_QtNetwork->em_virthandlers[1]))(sipGILState,meth,a0);
}

void sipKTextEditor_SmartCursor::setRange(KTextEditor::Range *a0)
{
    extern void sipVH_ktexteditor_79(sip_gilstate_t,PyObject *,KTextEditor::Range *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[16],sipPySelf,NULL,sipName_setRange);

    if (!meth)
    {
        KTextEditor::Cursor::setRange(a0);
        return;
    }

    sipVH_ktexteditor_79(sipGILState,meth,a0);
}

void sipKTextEditor_SmartCursor::sipProtectVirt_setRange(bool sipSelfWasArg,KTextEditor::Range *a0)
{
    (sipSelfWasArg ? KTextEditor::Cursor::setRange(a0) : setRange(a0));
}

void sipKTextEditor_SmartCursor::sipProtect_cursorChangedDirectly(const KTextEditor::Cursor& a0)
{
    KTextEditor::Cursor::cursorChangedDirectly(a0);
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_setRange(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_setRange(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::Range * a0;
        sipKTextEditor_SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"pJ8",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp,sipType_KTextEditor_Range,&a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_setRange(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_setRange);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_cursorChangedDirectly(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_cursorChangedDirectly(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;

    {
        const KTextEditor::Cursor * a0;
        sipKTextEditor_SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"pJ9",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp,sipType_KTextEditor_Cursor,&a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtect_cursorChangedDirectly(*a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_cursorChangedDirectly);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_isSmartCursor(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_isSmartCursor(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->KTextEditor::SmartCursor::isSmartCursor() : sipCpp->isSmartCursor());
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_isSmartCursor);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_toSmartCursor(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_toSmartCursor(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            KTextEditor::SmartCursor *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->KTextEditor::SmartCursor::toSmartCursor() : sipCpp->toSmartCursor());
            Py_END_ALLOW_THREADS

            return sipConvertFromType(sipRes,sipType_KTextEditor_SmartCursor,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_toSmartCursor);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_smartRange(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_smartRange(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            KTextEditor::SmartRange *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->smartRange();
            Py_END_ALLOW_THREADS

            return sipConvertFromType(sipRes,sipType_KTextEditor_SmartRange,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_smartRange);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_document(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_document(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            KTextEditor::Document *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->document();
            Py_END_ALLOW_THREADS

            return sipConvertFromType(sipRes,sipType_KTextEditor_Document,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_document);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_atEndOfLine(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_atEndOfLine(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->KTextEditor::SmartCursor::atEndOfLine() : sipCpp->atEndOfLine());
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_atEndOfLine);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_atEndOfDocument(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_atEndOfDocument(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->KTextEditor::SmartCursor::atEndOfDocument() : sipCpp->atEndOfDocument());
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_atEndOfDocument);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_isValid(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_isValid(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->KTextEditor::SmartCursor::isValid() : sipCpp->isValid());
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_isValid);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_character(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_character(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            QChar *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new QChar(sipCpp->character());
            Py_END_ALLOW_THREADS

            return sipConvertFromNewType(sipRes,sipType_QChar,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_character);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_insertText(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_insertText(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        const QStringList * a0;
        int a0State = 0;
        bool a1 = 0;
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ1|b",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp,sipType_QStringList,&a0,&a0State,&a1))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->KTextEditor::SmartCursor::insertText(*a0,a1) : sipCpp->insertText(*a0,a1));
            Py_END_ALLOW_THREADS

            sipReleaseType(const_cast<QStringList *>(a0),sipType_QStringList,a0State);

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_insertText);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_advance(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_advance(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        int a0;
        KTextEditor::SmartCursor::AdvanceMode a1 = KTextEditor::SmartCursor::ByCharacter;
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"Bi|E",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp,&a0,sipType_KTextEditor_SmartCursor_AdvanceMode,&a1))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->KTextEditor::SmartCursor::advance(a0,a1) : sipCpp->advance(a0,a1));
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_advance);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_insertBehavior(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_insertBehavior(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            KTextEditor::SmartCursor::InsertBehavior sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->insertBehavior();
            Py_END_ALLOW_THREADS

            return sipConvertFromEnum(sipRes,sipType_KTextEditor_SmartCursor_InsertBehavior);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_insertBehavior);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_setInsertBehavior(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_setInsertBehavior(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;

    {
        KTextEditor::SmartCursor::InsertBehavior a0;
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BE",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp,sipType_KTextEditor_SmartCursor_InsertBehavior,&a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->setInsertBehavior(a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_setInsertBehavior);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_hasNotifier(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_hasNotifier(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            bool sipRes;

            if (sipSelfWasArg)
            {
                sipAbstractMethod(sipName_SmartCursor, sipName_hasNotifier);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->hasNotifier();
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_hasNotifier);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_notifier(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_notifier(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            KTextEditor::SmartCursorNotifier *sipRes;

            if (sipSelfWasArg)
            {
                sipAbstractMethod(sipName_SmartCursor, sipName_notifier);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->notifier();
            Py_END_ALLOW_THREADS

            return sipConvertFromType(sipRes,sipType_KTextEditor_SmartCursorNotifier,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_notifier);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_deleteNotifier(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_deleteNotifier(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            if (sipSelfWasArg)
            {
                sipAbstractMethod(sipName_SmartCursor, sipName_deleteNotifier);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipCpp->deleteNotifier();
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_deleteNotifier);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_watcher(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_watcher(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp))
        {
            KTextEditor::SmartCursorWatcher *sipRes;

            if (sipSelfWasArg)
            {
                sipAbstractMethod(sipName_SmartCursor, sipName_watcher);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->watcher();
            Py_END_ALLOW_THREADS

            return sipConvertFromType(sipRes,sipType_KTextEditor_SmartCursorWatcher,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_watcher);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartCursor_setWatcher(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartCursor_setWatcher(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartCursorWatcher * a0 = 0;
        KTextEditor::SmartCursor *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B|J8",&sipSelf,sipType_KTextEditor_SmartCursor,&sipCpp,sipType_KTextEditor_SmartCursorWatcher,&a0))
        {
            if (sipSelfWasArg)
            {
                sipAbstractMethod(sipName_SmartCursor, sipName_setWatcher);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipCpp->setWatcher(a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartCursor,sipName_setWatcher);

    return NULL;
}


/* Cast a pointer to a type somewhere in its superclass hierarchy. */
extern "C" {static void *cast_KTextEditor_SmartCursor(void *, const sipTypeDef *);}
static void *cast_KTextEditor_SmartCursor(void *ptr,const sipTypeDef *targetType)
{
    void *res;

    if (targetType == sipType_KTextEditor_SmartCursor)
        return ptr;

    if ((res = ((const sipClassTypeDef *)sipType_KTextEditor_Cursor)->ctd_cast((KTextEditor::Cursor *)(KTextEditor::SmartCursor *)ptr,targetType)) != NULL)
        return res;

    return NULL;
}


/* Call the instance's destructor. */
extern "C" {static void release_KTextEditor_SmartCursor(void *, int);}
static void release_KTextEditor_SmartCursor(void *sipCppV,int state)
{
    Py_BEGIN_ALLOW_THREADS

    if (state & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipKTextEditor_SmartCursor *>(sipCppV);
    else
        delete reinterpret_cast<KTextEditor::SmartCursor *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void dealloc_KTextEditor_SmartCursor(sipSimpleWrapper *);}
static void dealloc_KTextEditor_SmartCursor(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerived(sipSelf))
        reinterpret_cast<sipKTextEditor_SmartCursor *>(sipSelf->u.cppPtr)->sipPySelf = NULL;

    if (sipIsPyOwned(sipSelf))
    {
        release_KTextEditor_SmartCursor(sipSelf->u.cppPtr,sipSelf->flags);
    }
}


extern "C" {static void *init_KTextEditor_SmartCursor(sipSimpleWrapper *, PyObject *, PyObject **, int *);}
static void *init_KTextEditor_SmartCursor(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject **, int *sipArgsParsed)
{
    sipKTextEditor_SmartCursor *sipCpp = 0;

    if (!sipCpp)
    {
        const KTextEditor::Cursor * a0;
        KTextEditor::Document * a1;
        KTextEditor::SmartCursor::InsertBehavior a2;

        if (sipParseArgs(sipArgsParsed,sipArgs,"J9J8E",sipType_KTextEditor_Cursor,&a0,sipType_KTextEditor_Document,&a1,sipType_KTextEditor_SmartCursor_InsertBehavior,&a2))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_SmartCursor(*a0,a1,a2);
            Py_END_ALLOW_THREADS
        }
    }

    if (sipCpp)
        sipCpp->sipPySelf = sipSelf;

    return sipCpp;
}


/* Define this type's super-types. */
static sipEncodedClassDef supers_KTextEditor_SmartCursor[] = {{22, 255, 1}};


static PyMethodDef methods_KTextEditor_SmartCursor[] = {
    {SIP_MLNAME_CAST(sipName_advance), meth_KTextEditor_SmartCursor_advance, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_atEndOfDocument), meth_KTextEditor_SmartCursor_atEndOfDocument, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_atEndOfLine), meth_KTextEditor_SmartCursor_atEndOfLine, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_character), meth_KTextEditor_SmartCursor_character, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_cursorChangedDirectly), meth_KTextEditor_SmartCursor_cursorChangedDirectly, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_deleteNotifier), meth_KTextEditor_SmartCursor_deleteNotifier, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_document), meth_KTextEditor_SmartCursor_document, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_hasNotifier), meth_KTextEditor_SmartCursor_hasNotifier, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_insertBehavior), meth_KTextEditor_SmartCursor_insertBehavior, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_insertText), meth_KTextEditor_SmartCursor_insertText, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_isSmartCursor), meth_KTextEditor_SmartCursor_isSmartCursor, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_isValid), meth_KTextEditor_SmartCursor_isValid, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_notifier), meth_KTextEditor_SmartCursor_notifier, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setInsertBehavior), meth_KTextEditor_SmartCursor_setInsertBehavior, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setRange), meth_KTextEditor_SmartCursor_setRange, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setWatcher), meth_KTextEditor_SmartCursor_setWatcher, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_smartRange), meth_KTextEditor_SmartCursor_smartRange, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_toSmartCursor), meth_KTextEditor_SmartCursor_toSmartCursor, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_watcher), meth_KTextEditor_SmartCursor_watcher, METH_VARARGS, NULL}
};

static sipEnumMemberDef enummembers_KTextEditor_SmartCursor[] = {
    {sipName_ByCharacter, KTextEditor::SmartCursor::ByCharacter, 41},
    {sipName_ByCursorPosition, KTextEditor::SmartCursor::ByCursorPosition, 41},
    {sipName_MoveOnInsert, KTextEditor::SmartCursor::MoveOnInsert, 42},
    {sipName_StayOnInsert, KTextEditor::SmartCursor::StayOnInsert, 42},
};


pyqt4ClassTypeDef pyqt4Type_ktexteditor_KTextEditor_SmartCursor = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_ABSTRACT|SIP_TYPE_CLASS,
        sipNameNr_KTextEditor__SmartCursor,
        {0}
    },
    sipNameNr_SmartCursor,
    -1,
    -1,
    {1, 255, 0},
    supers_KTextEditor_SmartCursor,
    0,
    19, methods_KTextEditor_SmartCursor,
    4, enummembers_KTextEditor_SmartCursor,
    0, 0,
    init_KTextEditor_SmartCursor,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KTextEditor_SmartCursor,
    release_KTextEditor_SmartCursor,
    cast_KTextEditor_SmartCursor,
    0,
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    0,
    0
},
    0,
    0,
    0,
    0
};

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/sessionconfiginterface.sip"
#include <ktexteditor/sessionconfiginterface.h>
#line 1112 "sipktexteditorpart2.cpp"

#line 32 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/kdecore/kconfiggroup.sip"
#include <kconfiggroup.h>
#line 1116 "sipktexteditorpart2.cpp"


class sipKTextEditor_SessionConfigInterface : public KTextEditor::SessionConfigInterface
{
public:
    sipKTextEditor_SessionConfigInterface();
    virtual ~sipKTextEditor_SessionConfigInterface();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void readSessionConfig(const KConfigGroup&);
    void writeSessionConfig(KConfigGroup&);

public:
    sipSimpleWrapper *sipPySelf;

private:
    sipKTextEditor_SessionConfigInterface(const sipKTextEditor_SessionConfigInterface &);
    sipKTextEditor_SessionConfigInterface &operator = (const sipKTextEditor_SessionConfigInterface &);

    char sipPyMethods[2];
};

sipKTextEditor_SessionConfigInterface::sipKTextEditor_SessionConfigInterface(): KTextEditor::SessionConfigInterface(), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKTextEditor_SessionConfigInterface::~sipKTextEditor_SessionConfigInterface()
{
    sipCommonDtor(sipPySelf);
}

void sipKTextEditor_SessionConfigInterface::readSessionConfig(const KConfigGroup& a0)
{
    typedef void (*sipVH_kdeui_32)(sip_gilstate_t,PyObject *,const KConfigGroup&);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[0],sipPySelf,sipName_SessionConfigInterface,sipName_readSessionConfig);

    if (!meth)
        return;

    ((sipVH_kdeui_32)(sipModuleAPI_ktexteditor_kdeui->em_virthandlers[32]))(sipGILState,meth,a0);
}

void sipKTextEditor_SessionConfigInterface::writeSessionConfig(KConfigGroup& a0)
{
    typedef void (*sipVH_kdeui_33)(sip_gilstate_t,PyObject *,KConfigGroup&);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[1],sipPySelf,sipName_SessionConfigInterface,sipName_writeSessionConfig);

    if (!meth)
        return;

    ((sipVH_kdeui_33)(sipModuleAPI_ktexteditor_kdeui->em_virthandlers[33]))(sipGILState,meth,a0);
}


extern "C" {static PyObject *meth_KTextEditor_SessionConfigInterface_readSessionConfig(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SessionConfigInterface_readSessionConfig(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        const KConfigGroup * a0;
        KTextEditor::SessionConfigInterface *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ9",&sipSelf,sipType_KTextEditor_SessionConfigInterface,&sipCpp,sipType_KConfigGroup,&a0))
        {
            if (sipSelfWasArg)
            {
                sipAbstractMethod(sipName_SessionConfigInterface, sipName_readSessionConfig);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipCpp->readSessionConfig(*a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SessionConfigInterface,sipName_readSessionConfig);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SessionConfigInterface_writeSessionConfig(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SessionConfigInterface_writeSessionConfig(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KConfigGroup * a0;
        KTextEditor::SessionConfigInterface *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ9",&sipSelf,sipType_KTextEditor_SessionConfigInterface,&sipCpp,sipType_KConfigGroup,&a0))
        {
            if (sipSelfWasArg)
            {
                sipAbstractMethod(sipName_SessionConfigInterface, sipName_writeSessionConfig);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipCpp->writeSessionConfig(*a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SessionConfigInterface,sipName_writeSessionConfig);

    return NULL;
}


/* Cast a pointer to a type somewhere in its superclass hierarchy. */
extern "C" {static void *cast_KTextEditor_SessionConfigInterface(void *, const sipTypeDef *);}
static void *cast_KTextEditor_SessionConfigInterface(void *ptr,const sipTypeDef *targetType)
{
    if (targetType == sipType_KTextEditor_SessionConfigInterface)
        return ptr;

    return NULL;
}


/* Call the instance's destructor. */
extern "C" {static void release_KTextEditor_SessionConfigInterface(void *, int);}
static void release_KTextEditor_SessionConfigInterface(void *sipCppV,int state)
{
    Py_BEGIN_ALLOW_THREADS

    if (state & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipKTextEditor_SessionConfigInterface *>(sipCppV);
    else
        delete reinterpret_cast<KTextEditor::SessionConfigInterface *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void dealloc_KTextEditor_SessionConfigInterface(sipSimpleWrapper *);}
static void dealloc_KTextEditor_SessionConfigInterface(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerived(sipSelf))
        reinterpret_cast<sipKTextEditor_SessionConfigInterface *>(sipSelf->u.cppPtr)->sipPySelf = NULL;

    if (sipIsPyOwned(sipSelf))
    {
        release_KTextEditor_SessionConfigInterface(sipSelf->u.cppPtr,sipSelf->flags);
    }
}


extern "C" {static void *init_KTextEditor_SessionConfigInterface(sipSimpleWrapper *, PyObject *, PyObject **, int *);}
static void *init_KTextEditor_SessionConfigInterface(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject **, int *sipArgsParsed)
{
    sipKTextEditor_SessionConfigInterface *sipCpp = 0;

    if (!sipCpp)
    {
        if (sipParseArgs(sipArgsParsed,sipArgs,""))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_SessionConfigInterface();
            Py_END_ALLOW_THREADS
        }
    }

    if (sipCpp)
        sipCpp->sipPySelf = sipSelf;

    return sipCpp;
}


static PyMethodDef methods_KTextEditor_SessionConfigInterface[] = {
    {SIP_MLNAME_CAST(sipName_readSessionConfig), meth_KTextEditor_SessionConfigInterface_readSessionConfig, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_writeSessionConfig), meth_KTextEditor_SessionConfigInterface_writeSessionConfig, METH_VARARGS, NULL}
};


pyqt4ClassTypeDef pyqt4Type_ktexteditor_KTextEditor_SessionConfigInterface = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_ABSTRACT|SIP_TYPE_CLASS,
        sipNameNr_KTextEditor__SessionConfigInterface,
        {0}
    },
    sipNameNr_SessionConfigInterface,
    sipNameNr_PyQt4_QtCore_pyqtWrapperType,
    -1,
    {1, 255, 0},
    0,
    0,
    2, methods_KTextEditor_SessionConfigInterface,
    0, 0,
    0, 0,
    init_KTextEditor_SessionConfigInterface,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KTextEditor_SessionConfigInterface,
    release_KTextEditor_SessionConfigInterface,
    cast_KTextEditor_SessionConfigInterface,
    0,
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    0,
    0
},
    0,
    0,
    0,
    0
};

#line 52 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/searchinterface.sip"
#include <ktexteditor/searchinterface.h>
#line 1366 "sipktexteditorpart2.cpp"

#line 43 "/usr/local/share/py-sip/QtCore/qvector.sip"
#include <qvector.h>
#line 1370 "sipktexteditorpart2.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/range.sip"
#include <ktexteditor/range.h>
#line 1373 "sipktexteditorpart2.cpp"
#line 46 "/usr/local/share/py-sip/QtCore/qstring.sip"
#include <qstring.h>
#line 1376 "sipktexteditorpart2.cpp"


class sipKTextEditor_SearchInterface : public KTextEditor::SearchInterface
{
public:
    sipKTextEditor_SearchInterface();
    virtual ~sipKTextEditor_SearchInterface();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    QVector<KTextEditor::Range> searchText(const KTextEditor::Range&,const QString&,const KTextEditor::Search::SearchOptions);
    KTextEditor::Search::SearchOptions supportedSearchOptions() const;

public:
    sipSimpleWrapper *sipPySelf;

private:
    sipKTextEditor_SearchInterface(const sipKTextEditor_SearchInterface &);
    sipKTextEditor_SearchInterface &operator = (const sipKTextEditor_SearchInterface &);

    char sipPyMethods[2];
};

sipKTextEditor_SearchInterface::sipKTextEditor_SearchInterface(): KTextEditor::SearchInterface(), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKTextEditor_SearchInterface::~sipKTextEditor_SearchInterface()
{
    sipCommonDtor(sipPySelf);
}

QVector<KTextEditor::Range> sipKTextEditor_SearchInterface::searchText(const KTextEditor::Range& a0,const QString& a1,const KTextEditor::Search::SearchOptions a2)
{
    extern QVector<KTextEditor::Range> sipVH_ktexteditor_39(sip_gilstate_t,PyObject *,const KTextEditor::Range&,const QString&,const KTextEditor::Search::SearchOptions);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[0],sipPySelf,sipName_SearchInterface,sipName_searchText);

    if (!meth)
        return QVector<KTextEditor::Range>();

    return sipVH_ktexteditor_39(sipGILState,meth,a0,a1,a2);
}

KTextEditor::Search::SearchOptions sipKTextEditor_SearchInterface::supportedSearchOptions() const
{
    extern KTextEditor::Search::SearchOptions sipVH_ktexteditor_38(sip_gilstate_t,PyObject *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[1]),sipPySelf,sipName_SearchInterface,sipName_supportedSearchOptions);

    if (!meth)
        return KTextEditor::Search::SearchOptions();

    return sipVH_ktexteditor_38(sipGILState,meth);
}


extern "C" {static PyObject *meth_KTextEditor_SearchInterface_searchText(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SearchInterface_searchText(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        const KTextEditor::Range * a0;
        const QString * a1;
        int a1State = 0;
        const KTextEditor::Search::SearchOptions a2def = KTextEditor::Search::Default;
        const KTextEditor::Search::SearchOptions * a2 = &a2def;
        int a2State = 0;
        KTextEditor::SearchInterface *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ9J1|J1",&sipSelf,sipType_KTextEditor_SearchInterface,&sipCpp,sipType_KTextEditor_Range,&a0,sipType_QString,&a1,&a1State,sipType_KTextEditor_Search_SearchOptions,&a2,&a2State))
        {
            QVector<KTextEditor::Range> *sipRes;

            if (sipSelfWasArg)
            {
                sipAbstractMethod(sipName_SearchInterface, sipName_searchText);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipRes = new QVector<KTextEditor::Range>(sipCpp->searchText(*a0,*a1,*a2));
            Py_END_ALLOW_THREADS

            sipReleaseType(const_cast<QString *>(a1),sipType_QString,a1State);
            sipReleaseType(const_cast<KTextEditor::Search::SearchOptions *>(a2),sipType_KTextEditor_Search_SearchOptions,a2State);

            PyObject *sipResObj = sipConvertFromType(sipRes,sipType_QVector_0200KTextEditor_Range,NULL);
            delete sipRes;

            return sipResObj;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SearchInterface,sipName_searchText);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SearchInterface_supportedSearchOptions(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SearchInterface_supportedSearchOptions(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SearchInterface *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SearchInterface,&sipCpp))
        {
            KTextEditor::Search::SearchOptions *sipRes;

            if (sipSelfWasArg)
            {
                sipAbstractMethod(sipName_SearchInterface, sipName_supportedSearchOptions);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipRes = new KTextEditor::Search::SearchOptions(sipCpp->supportedSearchOptions());
            Py_END_ALLOW_THREADS

            return sipConvertFromNewType(sipRes,sipType_KTextEditor_Search_SearchOptions,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SearchInterface,sipName_supportedSearchOptions);

    return NULL;
}


/* Cast a pointer to a type somewhere in its superclass hierarchy. */
extern "C" {static void *cast_KTextEditor_SearchInterface(void *, const sipTypeDef *);}
static void *cast_KTextEditor_SearchInterface(void *ptr,const sipTypeDef *targetType)
{
    if (targetType == sipType_KTextEditor_SearchInterface)
        return ptr;

    return NULL;
}


/* Call the instance's destructor. */
extern "C" {static void release_KTextEditor_SearchInterface(void *, int);}
static void release_KTextEditor_SearchInterface(void *sipCppV,int state)
{
    Py_BEGIN_ALLOW_THREADS

    if (state & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipKTextEditor_SearchInterface *>(sipCppV);
    else
        delete reinterpret_cast<KTextEditor::SearchInterface *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void dealloc_KTextEditor_SearchInterface(sipSimpleWrapper *);}
static void dealloc_KTextEditor_SearchInterface(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerived(sipSelf))
        reinterpret_cast<sipKTextEditor_SearchInterface *>(sipSelf->u.cppPtr)->sipPySelf = NULL;

    if (sipIsPyOwned(sipSelf))
    {
        release_KTextEditor_SearchInterface(sipSelf->u.cppPtr,sipSelf->flags);
    }
}


extern "C" {static void *init_KTextEditor_SearchInterface(sipSimpleWrapper *, PyObject *, PyObject **, int *);}
static void *init_KTextEditor_SearchInterface(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject **, int *sipArgsParsed)
{
    sipKTextEditor_SearchInterface *sipCpp = 0;

    if (!sipCpp)
    {
        if (sipParseArgs(sipArgsParsed,sipArgs,""))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_SearchInterface();
            Py_END_ALLOW_THREADS
        }
    }

    if (sipCpp)
        sipCpp->sipPySelf = sipSelf;

    return sipCpp;
}


static PyMethodDef methods_KTextEditor_SearchInterface[] = {
    {SIP_MLNAME_CAST(sipName_searchText), meth_KTextEditor_SearchInterface_searchText, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_supportedSearchOptions), meth_KTextEditor_SearchInterface_supportedSearchOptions, METH_VARARGS, NULL}
};


pyqt4ClassTypeDef pyqt4Type_ktexteditor_KTextEditor_SearchInterface = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_ABSTRACT|SIP_TYPE_CLASS,
        sipNameNr_KTextEditor__SearchInterface,
        {0}
    },
    sipNameNr_SearchInterface,
    sipNameNr_PyQt4_QtCore_pyqtWrapperType,
    -1,
    {1, 255, 0},
    0,
    0,
    2, methods_KTextEditor_SearchInterface,
    0, 0,
    0, 0,
    init_KTextEditor_SearchInterface,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KTextEditor_SearchInterface,
    release_KTextEditor_SearchInterface,
    cast_KTextEditor_SearchInterface,
    0,
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    0,
    0
},
    0,
    0,
    0,
    0
};




extern "C" {static int slot_KTextEditor_Search_SearchOptions___bool__(PyObject *sipSelf);}
static int slot_KTextEditor_Search_SearchOptions___bool__(PyObject *sipSelf)
{
    KTextEditor::Search::SearchOptions *sipCpp = reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf,sipType_KTextEditor_Search_SearchOptions));

    if (!sipCpp)
        return -1;


    {
        {
            int sipRes = 0;

#line 271 "/usr/local/share/py-sip/QtCore/qglobal.sip"
        sipRes = (sipCpp->operator int() != 0);
#line 1654 "sipktexteditorpart2.cpp"

            return sipRes;
        }
    }
}


extern "C" {static PyObject *slot_KTextEditor_Search_SearchOptions___ne__(PyObject *sipSelf,PyObject *sipArg);}
static PyObject *slot_KTextEditor_Search_SearchOptions___ne__(PyObject *sipSelf,PyObject *sipArg)
{
    KTextEditor::Search::SearchOptions *sipCpp = reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf,sipType_KTextEditor_Search_SearchOptions));

    if (!sipCpp)
        return 0;

    int sipArgsParsed = 0;

    {
        const KTextEditor::Search::SearchOptions * a0;
        int a0State = 0;

        if (sipParseArgs(&sipArgsParsed,sipArg,"1J1",sipType_KTextEditor_Search_SearchOptions,&a0,&a0State))
        {
            bool sipRes = 0;

#line 266 "/usr/local/share/py-sip/QtCore/qglobal.sip"
        sipRes = (sipCpp->operator int() != a0->operator int());
#line 1682 "sipktexteditorpart2.cpp"

            sipReleaseType(const_cast<KTextEditor::Search::SearchOptions *>(a0),sipType_KTextEditor_Search_SearchOptions,a0State);

            return PyBool_FromLong(sipRes);
        }
    }

    return sipPySlotExtend(&sipModuleAPI_ktexteditor,ne_slot,sipType_KTextEditor_Search_SearchOptions,sipSelf,sipArg);
}


extern "C" {static PyObject *slot_KTextEditor_Search_SearchOptions___eq__(PyObject *sipSelf,PyObject *sipArg);}
static PyObject *slot_KTextEditor_Search_SearchOptions___eq__(PyObject *sipSelf,PyObject *sipArg)
{
    KTextEditor::Search::SearchOptions *sipCpp = reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf,sipType_KTextEditor_Search_SearchOptions));

    if (!sipCpp)
        return 0;

    int sipArgsParsed = 0;

    {
        const KTextEditor::Search::SearchOptions * a0;
        int a0State = 0;

        if (sipParseArgs(&sipArgsParsed,sipArg,"1J1",sipType_KTextEditor_Search_SearchOptions,&a0,&a0State))
        {
            bool sipRes = 0;

#line 261 "/usr/local/share/py-sip/QtCore/qglobal.sip"
        sipRes = (sipCpp->operator int() == a0->operator int());
#line 1714 "sipktexteditorpart2.cpp"

            sipReleaseType(const_cast<KTextEditor::Search::SearchOptions *>(a0),sipType_KTextEditor_Search_SearchOptions,a0State);

            return PyBool_FromLong(sipRes);
        }
    }

    return sipPySlotExtend(&sipModuleAPI_ktexteditor,eq_slot,sipType_KTextEditor_Search_SearchOptions,sipSelf,sipArg);
}


extern "C" {static PyObject *slot_KTextEditor_Search_SearchOptions___invert__(PyObject *sipSelf);}
static PyObject *slot_KTextEditor_Search_SearchOptions___invert__(PyObject *sipSelf)
{
    KTextEditor::Search::SearchOptions *sipCpp = reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf,sipType_KTextEditor_Search_SearchOptions));

    if (!sipCpp)
        return 0;


    {
        {
            KTextEditor::Search::SearchOptions *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new KTextEditor::Search::SearchOptions(~(*sipCpp));
            Py_END_ALLOW_THREADS

            return sipConvertFromNewType(sipRes,sipType_KTextEditor_Search_SearchOptions,NULL);
        }
    }
}


extern "C" {static PyObject *slot_KTextEditor_Search_SearchOptions___and__(PyObject *sipArg0,PyObject *sipArg1);}
static PyObject *slot_KTextEditor_Search_SearchOptions___and__(PyObject *sipArg0,PyObject *sipArg1)
{
    int sipArgsParsed = 0;

    {
        KTextEditor::Search::SearchOptions * a0;
        int a0State = 0;
        int a1;

        if (sipParsePair(&sipArgsParsed,sipArg0,sipArg1,"J1i",sipType_KTextEditor_Search_SearchOptions,&a0,&a0State,&a1))
        {
            KTextEditor::Search::SearchOptions *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new KTextEditor::Search::SearchOptions((*a0 & a1));
            Py_END_ALLOW_THREADS

            sipReleaseType(a0,sipType_KTextEditor_Search_SearchOptions,a0State);

            return sipConvertFromNewType(sipRes,sipType_KTextEditor_Search_SearchOptions,NULL);
        }
    }

    return sipPySlotExtend(&sipModuleAPI_ktexteditor,and_slot,NULL,sipArg0,sipArg1);
}


extern "C" {static PyObject *slot_KTextEditor_Search_SearchOptions___xor__(PyObject *sipArg0,PyObject *sipArg1);}
static PyObject *slot_KTextEditor_Search_SearchOptions___xor__(PyObject *sipArg0,PyObject *sipArg1)
{
    int sipArgsParsed = 0;

    {
        KTextEditor::Search::SearchOptions * a0;
        int a0State = 0;
        KTextEditor::Search::SearchOptions * a1;
        int a1State = 0;

        if (sipParsePair(&sipArgsParsed,sipArg0,sipArg1,"J1J1",sipType_KTextEditor_Search_SearchOptions,&a0,&a0State,sipType_KTextEditor_Search_SearchOptions,&a1,&a1State))
        {
            KTextEditor::Search::SearchOptions *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new KTextEditor::Search::SearchOptions((*a0 ^ *a1));
            Py_END_ALLOW_THREADS

            sipReleaseType(a0,sipType_KTextEditor_Search_SearchOptions,a0State);
            sipReleaseType(a1,sipType_KTextEditor_Search_SearchOptions,a1State);

            return sipConvertFromNewType(sipRes,sipType_KTextEditor_Search_SearchOptions,NULL);
        }
    }

    return sipPySlotExtend(&sipModuleAPI_ktexteditor,xor_slot,NULL,sipArg0,sipArg1);
}


extern "C" {static PyObject *slot_KTextEditor_Search_SearchOptions___or__(PyObject *sipArg0,PyObject *sipArg1);}
static PyObject *slot_KTextEditor_Search_SearchOptions___or__(PyObject *sipArg0,PyObject *sipArg1)
{
    int sipArgsParsed = 0;

    {
        KTextEditor::Search::SearchOptions * a0;
        int a0State = 0;
        KTextEditor::Search::SearchOptions * a1;
        int a1State = 0;

        if (sipParsePair(&sipArgsParsed,sipArg0,sipArg1,"J1J1",sipType_KTextEditor_Search_SearchOptions,&a0,&a0State,sipType_KTextEditor_Search_SearchOptions,&a1,&a1State))
        {
            KTextEditor::Search::SearchOptions *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new KTextEditor::Search::SearchOptions((*a0 | *a1));
            Py_END_ALLOW_THREADS

            sipReleaseType(a0,sipType_KTextEditor_Search_SearchOptions,a0State);
            sipReleaseType(a1,sipType_KTextEditor_Search_SearchOptions,a1State);

            return sipConvertFromNewType(sipRes,sipType_KTextEditor_Search_SearchOptions,NULL);
        }
    }

    return sipPySlotExtend(&sipModuleAPI_ktexteditor,or_slot,NULL,sipArg0,sipArg1);
}


extern "C" {static PyObject *slot_KTextEditor_Search_SearchOptions___int__(PyObject *sipSelf);}
static PyObject *slot_KTextEditor_Search_SearchOptions___int__(PyObject *sipSelf)
{
    KTextEditor::Search::SearchOptions *sipCpp = reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf,sipType_KTextEditor_Search_SearchOptions));

    if (!sipCpp)
        return 0;


    {
        {
            int sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = *sipCpp;
            Py_END_ALLOW_THREADS

            return SIPLong_FromLong(sipRes);
        }
    }
}


extern "C" {static PyObject *slot_KTextEditor_Search_SearchOptions___ixor__(PyObject *sipSelf,PyObject *sipArg);}
static PyObject *slot_KTextEditor_Search_SearchOptions___ixor__(PyObject *sipSelf,PyObject *sipArg)
{
    if (!PyObject_TypeCheck(sipSelf, sipTypeAsPyTypeObject(sipType_KTextEditor_Search_SearchOptions)))
    {
        Py_INCREF(Py_NotImplemented);
        return Py_NotImplemented;
    }

    KTextEditor::Search::SearchOptions *sipCpp = reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf,sipType_KTextEditor_Search_SearchOptions));

    if (!sipCpp)
        return 0;

    int sipArgsParsed = 0;

    {
        KTextEditor::Search::SearchOptions * a0;
        int a0State = 0;

        if (sipParseArgs(&sipArgsParsed,sipArg,"1J1",sipType_KTextEditor_Search_SearchOptions,&a0,&a0State))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->KTextEditor::Search::SearchOptions::operator^=(*a0);
            Py_END_ALLOW_THREADS

            sipReleaseType(a0,sipType_KTextEditor_Search_SearchOptions,a0State);

            Py_INCREF(sipSelf);
            return sipSelf;
        }
    }

    PyErr_Clear();

    Py_INCREF(Py_NotImplemented);
    return Py_NotImplemented;
}


extern "C" {static PyObject *slot_KTextEditor_Search_SearchOptions___ior__(PyObject *sipSelf,PyObject *sipArg);}
static PyObject *slot_KTextEditor_Search_SearchOptions___ior__(PyObject *sipSelf,PyObject *sipArg)
{
    if (!PyObject_TypeCheck(sipSelf, sipTypeAsPyTypeObject(sipType_KTextEditor_Search_SearchOptions)))
    {
        Py_INCREF(Py_NotImplemented);
        return Py_NotImplemented;
    }

    KTextEditor::Search::SearchOptions *sipCpp = reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf,sipType_KTextEditor_Search_SearchOptions));

    if (!sipCpp)
        return 0;

    int sipArgsParsed = 0;

    {
        KTextEditor::Search::SearchOptions * a0;
        int a0State = 0;

        if (sipParseArgs(&sipArgsParsed,sipArg,"1J1",sipType_KTextEditor_Search_SearchOptions,&a0,&a0State))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->KTextEditor::Search::SearchOptions::operator|=(*a0);
            Py_END_ALLOW_THREADS

            sipReleaseType(a0,sipType_KTextEditor_Search_SearchOptions,a0State);

            Py_INCREF(sipSelf);
            return sipSelf;
        }
    }

    PyErr_Clear();

    Py_INCREF(Py_NotImplemented);
    return Py_NotImplemented;
}


extern "C" {static PyObject *slot_KTextEditor_Search_SearchOptions___iand__(PyObject *sipSelf,PyObject *sipArg);}
static PyObject *slot_KTextEditor_Search_SearchOptions___iand__(PyObject *sipSelf,PyObject *sipArg)
{
    if (!PyObject_TypeCheck(sipSelf, sipTypeAsPyTypeObject(sipType_KTextEditor_Search_SearchOptions)))
    {
        Py_INCREF(Py_NotImplemented);
        return Py_NotImplemented;
    }

    KTextEditor::Search::SearchOptions *sipCpp = reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf,sipType_KTextEditor_Search_SearchOptions));

    if (!sipCpp)
        return 0;

    int sipArgsParsed = 0;

    {
        int a0;

        if (sipParseArgs(&sipArgsParsed,sipArg,"1i",&a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->KTextEditor::Search::SearchOptions::operator&=(a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(sipSelf);
            return sipSelf;
        }
    }

    PyErr_Clear();

    Py_INCREF(Py_NotImplemented);
    return Py_NotImplemented;
}


/* Cast a pointer to a type somewhere in its superclass hierarchy. */
extern "C" {static void *cast_KTextEditor_Search_SearchOptions(void *, const sipTypeDef *);}
static void *cast_KTextEditor_Search_SearchOptions(void *ptr,const sipTypeDef *targetType)
{
    if (targetType == sipType_KTextEditor_Search_SearchOptions)
        return ptr;

    return NULL;
}


/* Call the instance's destructor. */
extern "C" {static void release_KTextEditor_Search_SearchOptions(void *, int);}
static void release_KTextEditor_Search_SearchOptions(void *sipCppV,int)
{
    Py_BEGIN_ALLOW_THREADS

    delete reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void assign_KTextEditor_Search_SearchOptions(void *, const void*);}
static void assign_KTextEditor_Search_SearchOptions(void *sipDst, const void *sipSrc)
{
    *reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipDst) = *reinterpret_cast<const KTextEditor::Search::SearchOptions *>(sipSrc);
}


extern "C" {static void dealloc_KTextEditor_Search_SearchOptions(sipSimpleWrapper *);}
static void dealloc_KTextEditor_Search_SearchOptions(sipSimpleWrapper *sipSelf)
{
    if (sipIsPyOwned(sipSelf))
    {
        release_KTextEditor_Search_SearchOptions(sipSelf->u.cppPtr,0);
    }
}


extern "C" {static void *init_KTextEditor_Search_SearchOptions(sipSimpleWrapper *, PyObject *, PyObject **, int *);}
static void *init_KTextEditor_Search_SearchOptions(sipSimpleWrapper *, PyObject *sipArgs, PyObject **, int *sipArgsParsed)
{
    KTextEditor::Search::SearchOptions *sipCpp = 0;

    if (!sipCpp)
    {
        const KTextEditor::Search::SearchOptions * a0;
        int a0State = 0;

        if (sipParseArgs(sipArgsParsed,sipArgs,"J1",sipType_KTextEditor_Search_SearchOptions,&a0,&a0State))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new KTextEditor::Search::SearchOptions(*a0);
            Py_END_ALLOW_THREADS

            sipReleaseType(const_cast<KTextEditor::Search::SearchOptions *>(a0),sipType_KTextEditor_Search_SearchOptions,a0State);
        }
    }

    if (!sipCpp)
    {
        int a0;

        if (sipParseArgs(sipArgsParsed,sipArgs,"i",&a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new KTextEditor::Search::SearchOptions(a0);
            Py_END_ALLOW_THREADS
        }
    }

    if (!sipCpp)
    {
        if (sipParseArgs(sipArgsParsed,sipArgs,""))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new KTextEditor::Search::SearchOptions();
            Py_END_ALLOW_THREADS
        }
    }

    return sipCpp;
}


extern "C" {static int convertTo_KTextEditor_Search_SearchOptions(PyObject *, void **, int *, PyObject *);}
static int convertTo_KTextEditor_Search_SearchOptions(PyObject *sipPy,void **sipCppPtrV,int *sipIsErr,PyObject *sipTransferObj)
{
    KTextEditor::Search::SearchOptions **sipCppPtr = reinterpret_cast<KTextEditor::Search::SearchOptions **>(sipCppPtrV);

#line 276 "/usr/local/share/py-sip/QtCore/qglobal.sip"
// Allow an instance of the base enum whenever a KTextEditor::Search::SearchOptions is expected.

if (sipIsErr == NULL)
    return (PyObject_TypeCheck(sipPy, sipTypeAsPyTypeObject(sipType_KTextEditor_Search_SearchOptionsEnum)) ||
            sipCanConvertToType(sipPy, sipType_KTextEditor_Search_SearchOptions, SIP_NO_CONVERTORS));

if (PyObject_TypeCheck(sipPy, sipTypeAsPyTypeObject(sipType_KTextEditor_Search_SearchOptionsEnum)))
{
    *sipCppPtr = new KTextEditor::Search::SearchOptions(SIPLong_AsLong(sipPy));

    return sipGetState(sipTransferObj);
}

*sipCppPtr = reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipConvertToType(sipPy, sipType_KTextEditor_Search_SearchOptions, sipTransferObj, SIP_NO_CONVERTORS, 0, sipIsErr));

return 0;
#line 2085 "sipktexteditorpart2.cpp"
}


/* Define this type's Python slots. */
static sipPySlotDef slots_KTextEditor_Search_SearchOptions[] = {
    {(void *)slot_KTextEditor_Search_SearchOptions___bool__, bool_slot},
    {(void *)slot_KTextEditor_Search_SearchOptions___ne__, ne_slot},
    {(void *)slot_KTextEditor_Search_SearchOptions___eq__, eq_slot},
    {(void *)slot_KTextEditor_Search_SearchOptions___invert__, invert_slot},
    {(void *)slot_KTextEditor_Search_SearchOptions___and__, and_slot},
    {(void *)slot_KTextEditor_Search_SearchOptions___xor__, xor_slot},
    {(void *)slot_KTextEditor_Search_SearchOptions___or__, or_slot},
    {(void *)slot_KTextEditor_Search_SearchOptions___int__, int_slot},
    {(void *)slot_KTextEditor_Search_SearchOptions___ixor__, ixor_slot},
    {(void *)slot_KTextEditor_Search_SearchOptions___ior__, ior_slot},
    {(void *)slot_KTextEditor_Search_SearchOptions___iand__, iand_slot},
    {0, (sipPySlotType)0}
};


pyqt4ClassTypeDef pyqt4Type_ktexteditor_KTextEditor_Search_SearchOptions = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_CLASS,
        sipNameNr_KTextEditor__Search__SearchOptions,
        {0}
    },
    sipNameNr_SearchOptions,
    sipNameNr_PyQt4_QtCore_pyqtWrapperType,
    -1,
    {35, 255, 0},
    0,
    slots_KTextEditor_Search_SearchOptions,
    0, 0,
    0, 0,
    0, 0,
    init_KTextEditor_Search_SearchOptions,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KTextEditor_Search_SearchOptions,
    release_KTextEditor_Search_SearchOptions,
    cast_KTextEditor_Search_SearchOptions,
    convertTo_KTextEditor_Search_SearchOptions,
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    0,
    0
},
    assign_KTextEditor_Search_SearchOptions,
    0,
    1,
    0
};



static sipEnumMemberDef enummembers_KTextEditor_Search[] = {
    {sipName_Backwards, KTextEditor::Search::Backwards, 37},
    {sipName_BlockInputRange, KTextEditor::Search::BlockInputRange, 37},
    {sipName_CaseInsensitive, KTextEditor::Search::CaseInsensitive, 37},
    {sipName_Default, KTextEditor::Search::Default, 37},
    {sipName_DotMatchesNewline, KTextEditor::Search::DotMatchesNewline, 37},
    {sipName_EscapeSequences, KTextEditor::Search::EscapeSequences, 37},
    {sipName_Regex, KTextEditor::Search::Regex, 37},
    {sipName_WholeWords, KTextEditor::Search::WholeWords, 37},
};


pyqt4ClassTypeDef pyqt4Type_ktexteditor_KTextEditor_Search = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_NAMESPACE,
        sipNameNr_KTextEditor__Search,
        {0}
    },
    sipNameNr_Search,
    -1,
    -1,
    {1, 255, 0},
    0,
    0,
    0, 0,
    8, enummembers_KTextEditor_Search,
    0, 0,
    0,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    0,
    0,
    0,
    0,
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    0,
    0
},
    0,
    0,
    0,
    0
};

#line 60 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/rangefeedback.sip"
#include <ktexteditor/rangefeedback.h>
#line 2212 "sipktexteditorpart2.cpp"

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/smartrange.sip"
#include <ktexteditor/smartrange.h>
#line 2216 "sipktexteditorpart2.cpp"
#line 224 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/kdecore/typedefs.sip"
#include <ksharedptr.h>
#line 2219 "sipktexteditorpart2.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/attribute.sip"
#include <ktexteditor/attribute.h>
#line 2222 "sipktexteditorpart2.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.3.1/python/pykde4/sip/ktexteditor/view.sip"
#include <ktexteditor/view.h>

#include <ktexteditor/codecompletioninterface.h>
#include <ktexteditor/sessionconfiginterface.h>
#include <ktexteditor/texthintinterface.h>
#line 2229 "sipktexteditorpart2.cpp"


class sipKTextEditor_SmartRangeWatcher : public KTextEditor::SmartRangeWatcher
{
public:
    sipKTextEditor_SmartRangeWatcher();
    sipKTextEditor_SmartRangeWatcher(const KTextEditor::SmartRangeWatcher&);
    virtual ~sipKTextEditor_SmartRangeWatcher();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void rangePositionChanged(KTextEditor::SmartRange *);
    void rangeContentsChanged(KTextEditor::SmartRange *);
    void rangeContentsChanged(KTextEditor::SmartRange *,KTextEditor::SmartRange *);
    void mouseEnteredRange(KTextEditor::SmartRange *,KTextEditor::View *);
    void mouseExitedRange(KTextEditor::SmartRange *,KTextEditor::View *);
    void caretEnteredRange(KTextEditor::SmartRange *,KTextEditor::View *);
    void caretExitedRange(KTextEditor::SmartRange *,KTextEditor::View *);
    void rangeEliminated(KTextEditor::SmartRange *);
    void rangeDeleted(KTextEditor::SmartRange *);
    void parentRangeChanged(KTextEditor::SmartRange *,KTextEditor::SmartRange *,KTextEditor::SmartRange *);
    void childRangeInserted(KTextEditor::SmartRange *,KTextEditor::SmartRange *);
    void childRangeRemoved(KTextEditor::SmartRange *,KTextEditor::SmartRange *);
    void rangeAttributeChanged(KTextEditor::SmartRange *,KTextEditor::Attribute::Ptr,KTextEditor::Attribute::Ptr);

public:
    sipSimpleWrapper *sipPySelf;

private:
    sipKTextEditor_SmartRangeWatcher(const sipKTextEditor_SmartRangeWatcher &);
    sipKTextEditor_SmartRangeWatcher &operator = (const sipKTextEditor_SmartRangeWatcher &);

    char sipPyMethods[13];
};

sipKTextEditor_SmartRangeWatcher::sipKTextEditor_SmartRangeWatcher(): KTextEditor::SmartRangeWatcher(), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKTextEditor_SmartRangeWatcher::sipKTextEditor_SmartRangeWatcher(const KTextEditor::SmartRangeWatcher& a0): KTextEditor::SmartRangeWatcher(a0), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKTextEditor_SmartRangeWatcher::~sipKTextEditor_SmartRangeWatcher()
{
    sipCommonDtor(sipPySelf);
}

void sipKTextEditor_SmartRangeWatcher::rangePositionChanged(KTextEditor::SmartRange *a0)
{
    extern void sipVH_ktexteditor_16(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[0],sipPySelf,NULL,sipName_rangePositionChanged);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::rangePositionChanged(a0);
        return;
    }

    sipVH_ktexteditor_16(sipGILState,meth,a0);
}

void sipKTextEditor_SmartRangeWatcher::rangeContentsChanged(KTextEditor::SmartRange *a0)
{
    extern void sipVH_ktexteditor_16(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[1],sipPySelf,NULL,sipName_rangeContentsChanged);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::rangeContentsChanged(a0);
        return;
    }

    sipVH_ktexteditor_16(sipGILState,meth,a0);
}

void sipKTextEditor_SmartRangeWatcher::rangeContentsChanged(KTextEditor::SmartRange *a0,KTextEditor::SmartRange *a1)
{
    extern void sipVH_ktexteditor_41(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::SmartRange *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[2],sipPySelf,NULL,sipName_rangeContentsChanged);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::rangeContentsChanged(a0,a1);
        return;
    }

    sipVH_ktexteditor_41(sipGILState,meth,a0,a1);
}

void sipKTextEditor_SmartRangeWatcher::mouseEnteredRange(KTextEditor::SmartRange *a0,KTextEditor::View *a1)
{
    extern void sipVH_ktexteditor_43(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::View *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[3],sipPySelf,NULL,sipName_mouseEnteredRange);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::mouseEnteredRange(a0,a1);
        return;
    }

    sipVH_ktexteditor_43(sipGILState,meth,a0,a1);
}

void sipKTextEditor_SmartRangeWatcher::mouseExitedRange(KTextEditor::SmartRange *a0,KTextEditor::View *a1)
{
    extern void sipVH_ktexteditor_43(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::View *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[4],sipPySelf,NULL,sipName_mouseExitedRange);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::mouseExitedRange(a0,a1);
        return;
    }

    sipVH_ktexteditor_43(sipGILState,meth,a0,a1);
}

void sipKTextEditor_SmartRangeWatcher::caretEnteredRange(KTextEditor::SmartRange *a0,KTextEditor::View *a1)
{
    extern void sipVH_ktexteditor_43(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::View *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[5],sipPySelf,NULL,sipName_caretEnteredRange);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::caretEnteredRange(a0,a1);
        return;
    }

    sipVH_ktexteditor_43(sipGILState,meth,a0,a1);
}

void sipKTextEditor_SmartRangeWatcher::caretExitedRange(KTextEditor::SmartRange *a0,KTextEditor::View *a1)
{
    extern void sipVH_ktexteditor_43(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::View *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[6],sipPySelf,NULL,sipName_caretExitedRange);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::caretExitedRange(a0,a1);
        return;
    }

    sipVH_ktexteditor_43(sipGILState,meth,a0,a1);
}

void sipKTextEditor_SmartRangeWatcher::rangeEliminated(KTextEditor::SmartRange *a0)
{
    extern void sipVH_ktexteditor_16(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[7],sipPySelf,NULL,sipName_rangeEliminated);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::rangeEliminated(a0);
        return;
    }

    sipVH_ktexteditor_16(sipGILState,meth,a0);
}

void sipKTextEditor_SmartRangeWatcher::rangeDeleted(KTextEditor::SmartRange *a0)
{
    extern void sipVH_ktexteditor_16(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[8],sipPySelf,NULL,sipName_rangeDeleted);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::rangeDeleted(a0);
        return;
    }

    sipVH_ktexteditor_16(sipGILState,meth,a0);
}

void sipKTextEditor_SmartRangeWatcher::parentRangeChanged(KTextEditor::SmartRange *a0,KTextEditor::SmartRange *a1,KTextEditor::SmartRange *a2)
{
    extern void sipVH_ktexteditor_42(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::SmartRange *,KTextEditor::SmartRange *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[9],sipPySelf,NULL,sipName_parentRangeChanged);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::parentRangeChanged(a0,a1,a2);
        return;
    }

    sipVH_ktexteditor_42(sipGILState,meth,a0,a1,a2);
}

void sipKTextEditor_SmartRangeWatcher::childRangeInserted(KTextEditor::SmartRange *a0,KTextEditor::SmartRange *a1)
{
    extern void sipVH_ktexteditor_41(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::SmartRange *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[10],sipPySelf,NULL,sipName_childRangeInserted);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::childRangeInserted(a0,a1);
        return;
    }

    sipVH_ktexteditor_41(sipGILState,meth,a0,a1);
}

void sipKTextEditor_SmartRangeWatcher::childRangeRemoved(KTextEditor::SmartRange *a0,KTextEditor::SmartRange *a1)
{
    extern void sipVH_ktexteditor_41(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::SmartRange *);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[11],sipPySelf,NULL,sipName_childRangeRemoved);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::childRangeRemoved(a0,a1);
        return;
    }

    sipVH_ktexteditor_41(sipGILState,meth,a0,a1);
}

void sipKTextEditor_SmartRangeWatcher::rangeAttributeChanged(KTextEditor::SmartRange *a0,KTextEditor::Attribute::Ptr a1,KTextEditor::Attribute::Ptr a2)
{
    extern void sipVH_ktexteditor_40(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KSharedPtr<KTextEditor::Attribute>,KSharedPtr<KTextEditor::Attribute>);

    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[12],sipPySelf,NULL,sipName_rangeAttributeChanged);

    if (!meth)
    {
        KTextEditor::SmartRangeWatcher::rangeAttributeChanged(a0,a1,a2);
        return;
    }

    sipVH_ktexteditor_40(sipGILState,meth,a0,a1,a2);
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_wantsDirectChanges(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_wantsDirectChanges(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;

    {
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"B",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->wantsDirectChanges();
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_wantsDirectChanges);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_setWantsDirectChanges(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_setWantsDirectChanges(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;

    {
        bool a0;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"Bb",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,&a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->setWantsDirectChanges(a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_setWantsDirectChanges);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_rangePositionChanged(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_rangePositionChanged(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::rangePositionChanged(a0) : sipCpp->rangePositionChanged(a0));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_rangePositionChanged);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_rangeContentsChanged(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_rangeContentsChanged(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::rangeContentsChanged(a0) : sipCpp->rangeContentsChanged(a0));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::SmartRange * a1;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8J8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0,sipType_KTextEditor_SmartRange,&a1))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::rangeContentsChanged(a0,a1) : sipCpp->rangeContentsChanged(a0,a1));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_rangeContentsChanged);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_mouseEnteredRange(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_mouseEnteredRange(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::View * a1;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8J8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0,sipType_KTextEditor_View,&a1))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::mouseEnteredRange(a0,a1) : sipCpp->mouseEnteredRange(a0,a1));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_mouseEnteredRange);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_mouseExitedRange(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_mouseExitedRange(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::View * a1;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8J8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0,sipType_KTextEditor_View,&a1))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::mouseExitedRange(a0,a1) : sipCpp->mouseExitedRange(a0,a1));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_mouseExitedRange);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_caretEnteredRange(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_caretEnteredRange(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::View * a1;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8J8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0,sipType_KTextEditor_View,&a1))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::caretEnteredRange(a0,a1) : sipCpp->caretEnteredRange(a0,a1));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_caretEnteredRange);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_caretExitedRange(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_caretExitedRange(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::View * a1;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8J8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0,sipType_KTextEditor_View,&a1))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::caretExitedRange(a0,a1) : sipCpp->caretExitedRange(a0,a1));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_caretExitedRange);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_rangeEliminated(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_rangeEliminated(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::rangeEliminated(a0) : sipCpp->rangeEliminated(a0));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_rangeEliminated);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_rangeDeleted(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_rangeDeleted(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::rangeDeleted(a0) : sipCpp->rangeDeleted(a0));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_rangeDeleted);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_parentRangeChanged(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_parentRangeChanged(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::SmartRange * a1;
        KTextEditor::SmartRange * a2;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8J8J8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0,sipType_KTextEditor_SmartRange,&a1,sipType_KTextEditor_SmartRange,&a2))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::parentRangeChanged(a0,a1,a2) : sipCpp->parentRangeChanged(a0,a1,a2));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_parentRangeChanged);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_childRangeInserted(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_childRangeInserted(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::SmartRange * a1;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8J8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0,sipType_KTextEditor_SmartRange,&a1))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::childRangeInserted(a0,a1) : sipCpp->childRangeInserted(a0,a1));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_childRangeInserted);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_childRangeRemoved(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_childRangeRemoved(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::SmartRange * a1;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8J8",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0,sipType_KTextEditor_SmartRange,&a1))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::childRangeRemoved(a0,a1) : sipCpp->childRangeRemoved(a0,a1));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_childRangeRemoved);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_rangeAttributeChanged(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_rangeAttributeChanged(PyObject *sipSelf,PyObject *sipArgs)
{
    int sipArgsParsed = 0;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::SmartRange * a0;
        KTextEditor::Attribute::Ptr * a1;
        int a1State = 0;
        KTextEditor::Attribute::Ptr * a2;
        int a2State = 0;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipArgsParsed,sipArgs,"BJ8J1J1",&sipSelf,sipType_KTextEditor_SmartRangeWatcher,&sipCpp,sipType_KTextEditor_SmartRange,&a0,sipType_KSharedPtr_0200KTextEditor_Attribute,&a1,&a1State,sipType_KSharedPtr_0200KTextEditor_Attribute,&a2,&a2State))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::SmartRangeWatcher::rangeAttributeChanged(a0,*a1,*a2) : sipCpp->rangeAttributeChanged(a0,*a1,*a2));
            Py_END_ALLOW_THREADS

            sipReleaseType(a1,sipType_KSharedPtr_0200KTextEditor_Attribute,a1State);
            sipReleaseType(a2,sipType_KSharedPtr_0200KTextEditor_Attribute,a2State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipArgsParsed,sipName_SmartRangeWatcher,sipName_rangeAttributeChanged);

    return NULL;
}


/* Cast a pointer to a type somewhere in its superclass hierarchy. */
extern "C" {static void *cast_KTextEditor_SmartRangeWatcher(void *, const sipTypeDef *);}
static void *cast_KTextEditor_SmartRangeWatcher(void *ptr,const sipTypeDef *targetType)
{
    if (targetType == sipType_KTextEditor_SmartRangeWatcher)
        return ptr;

    return NULL;
}


/* Call the instance's destructor. */
extern "C" {static void release_KTextEditor_SmartRangeWatcher(void *, int);}
static void release_KTextEditor_SmartRangeWatcher(void *sipCppV,int state)
{
    Py_BEGIN_ALLOW_THREADS

    if (state & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipKTextEditor_SmartRangeWatcher *>(sipCppV);
    else
        delete reinterpret_cast<KTextEditor::SmartRangeWatcher *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void assign_KTextEditor_SmartRangeWatcher(void *, const void*);}
static void assign_KTextEditor_SmartRangeWatcher(void *sipDst, const void *sipSrc)
{
    *reinterpret_cast<KTextEditor::SmartRangeWatcher *>(sipDst) = *reinterpret_cast<const KTextEditor::SmartRangeWatcher *>(sipSrc);
}


extern "C" {static void dealloc_KTextEditor_SmartRangeWatcher(sipSimpleWrapper *);}
static void dealloc_KTextEditor_SmartRangeWatcher(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerived(sipSelf))
        reinterpret_cast<sipKTextEditor_SmartRangeWatcher *>(sipSelf->u.cppPtr)->sipPySelf = NULL;

    if (sipIsPyOwned(sipSelf))
    {
        release_KTextEditor_SmartRangeWatcher(sipSelf->u.cppPtr,sipSelf->flags);
    }
}


extern "C" {static void *init_KTextEditor_SmartRangeWatcher(sipSimpleWrapper *, PyObject *, PyObject **, int *);}
static void *init_KTextEditor_SmartRangeWatcher(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject **, int *sipArgsParsed)
{
    sipKTextEditor_SmartRangeWatcher *sipCpp = 0;

    if (!sipCpp)
    {
        if (sipParseArgs(sipArgsParsed,sipArgs,""))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_SmartRangeWatcher();
            Py_END_ALLOW_THREADS
        }
    }

    if (!sipCpp)
    {
        const KTextEditor::SmartRangeWatcher * a0;

        if (sipParseArgs(sipArgsParsed,sipArgs,"J9",sipType_KTextEditor_SmartRangeWatcher,&a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_SmartRangeWatcher(*a0);
            Py_END_ALLOW_THREADS
        }
    }

    if (sipCpp)
        sipCpp->sipPySelf = sipSelf;

    return sipCpp;
}


static PyMethodDef methods_KTextEditor_SmartRangeWatcher[] = {
    {SIP_MLNAME_CAST(sipName_caretEnteredRange), meth_KTextEditor_SmartRangeWatcher_caretEnteredRange, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_caretExitedRange), meth_KTextEditor_SmartRangeWatcher_caretExitedRange, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_childRangeInserted), meth_KTextEditor_SmartRangeWatcher_childRangeInserted, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_childRangeRemoved), meth_KTextEditor_SmartRangeWatcher_childRangeRemoved, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_mouseEnteredRange), meth_KTextEditor_SmartRangeWatcher_mouseEnteredRange, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_mouseExitedRange), meth_KTextEditor_SmartRangeWatcher_mouseExitedRange, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_parentRangeChanged), meth_KTextEditor_SmartRangeWatcher_parentRangeChanged, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_rangeAttributeChanged), meth_KTextEditor_SmartRangeWatcher_rangeAttributeChanged, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_rangeContentsChanged), meth_KTextEditor_SmartRangeWatcher_rangeContentsChanged, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_rangeDeleted), meth_KTextEditor_SmartRangeWatcher_rangeDeleted, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_rangeEliminated), meth_KTextEditor_SmartRangeWatcher_rangeEliminated, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_rangePositionChanged), meth_KTextEditor_SmartRangeWatcher_rangePositionChanged, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setWantsDirectChanges), meth_KTextEditor_SmartRangeWatcher_setWantsDirectChanges, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_wantsDirectChanges), meth_KTextEditor_SmartRangeWatcher_wantsDirectChanges, METH_VARARGS, NULL}
};


pyqt4ClassTypeDef pyqt4Type_ktexteditor_KTextEditor_SmartRangeWatcher = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_CLASS,
        sipNameNr_KTextEditor__SmartRangeWatcher,
        {0}
    },
    sipNameNr_SmartRangeWatcher,
    sipNameNr_PyQt4_QtCore_pyqtWrapperType,
    -1,
    {1, 255, 0},
    0,
    0,
    14, methods_KTextEditor_SmartRangeWatcher,
    0, 0,
    0, 0,
    init_KTextEditor_SmartRangeWatcher,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KTextEditor_SmartRangeWatcher,
    release_KTextEditor_SmartRangeWatcher,
    cast_KTextEditor_SmartRangeWatcher,
    0,
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    0,
    0
},
    assign_KTextEditor_SmartRangeWatcher,
    0,
    0,
    0
};
