/*
 * Module code.
 *
 * Generated by SIP 4.10.2 on Sun Jul 11 10:11:20 2010
 *
 * 
 *  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"




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 321 "/usr/local/share/py-sip/QtCore/qglobal.sip"
        sipRes = (sipCpp->operator int() != 0);
#line 45 "sipktexteditorpart3.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;

    PyObject *sipParseErr = NULL;

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

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

#line 316 "/usr/local/share/py-sip/QtCore/qglobal.sip"
        sipRes = (sipCpp->operator int() != a0->operator int());
#line 73 "sipktexteditorpart3.cpp"
            sipReleaseType(const_cast<KTextEditor::Search::SearchOptions *>(a0),sipType_KTextEditor_Search_SearchOptions,a0State);

            return PyBool_FromLong(sipRes);
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return NULL;

    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;

    PyObject *sipParseErr = NULL;

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

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

#line 311 "/usr/local/share/py-sip/QtCore/qglobal.sip"
        sipRes = (sipCpp->operator int() == a0->operator int());
#line 109 "sipktexteditorpart3.cpp"
            sipReleaseType(const_cast<KTextEditor::Search::SearchOptions *>(a0),sipType_KTextEditor_Search_SearchOptions,a0State);

            return PyBool_FromLong(sipRes);
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return NULL;

    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)
{
    PyObject *sipParseErr = NULL;

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

        if (sipParsePair(&sipParseErr, 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);
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return 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)
{
    PyObject *sipParseErr = NULL;

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

        if (sipParsePair(&sipParseErr, 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);
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return 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)
{
    PyObject *sipParseErr = NULL;

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

        if (sipParsePair(&sipParseErr, 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);
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return 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;

    PyObject *sipParseErr = NULL;

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

        if (sipParseArgs(&sipParseErr, 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;
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return NULL;

    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;

    PyObject *sipParseErr = NULL;

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

        if (sipParseArgs(&sipParseErr, 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;
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return NULL;

    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;

    PyObject *sipParseErr = NULL;

    {
        int a0;

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

            Py_INCREF(sipSelf);
            return sipSelf;
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return NULL;

    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 *, SIP_SSIZE_T, const void *);}
static void assign_KTextEditor_Search_SearchOptions(void *sipDst, SIP_SSIZE_T sipDstIdx, const void *sipSrc)
{
    reinterpret_cast<KTextEditor::Search::SearchOptions *>(sipDst)[sipDstIdx] = *reinterpret_cast<const KTextEditor::Search::SearchOptions *>(sipSrc);
}


extern "C" {static void *array_KTextEditor_Search_SearchOptions(SIP_SSIZE_T);}
static void *array_KTextEditor_Search_SearchOptions(SIP_SSIZE_T sipNrElem)
{
    return new KTextEditor::Search::SearchOptions[sipNrElem];
}


extern "C" {static void *copy_KTextEditor_Search_SearchOptions(const void *, SIP_SSIZE_T);}
static void *copy_KTextEditor_Search_SearchOptions(const void *sipSrc, SIP_SSIZE_T sipSrcIdx)
{
    return new KTextEditor::Search::SearchOptions(reinterpret_cast<const KTextEditor::Search::SearchOptions *>(sipSrc)[sipSrcIdx]);
}


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 *, PyObject **, PyObject **, PyObject **);}
static void *init_KTextEditor_Search_SearchOptions(sipSimpleWrapper *, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    KTextEditor::Search::SearchOptions *sipCpp = 0;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "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);

            return sipCpp;
        }
    }

    {
        int a0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "i", &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new KTextEditor::Search::SearchOptions(a0);
            Py_END_ALLOW_THREADS

            return sipCpp;
        }
    }

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, ""))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new KTextEditor::Search::SearchOptions();
            Py_END_ALLOW_THREADS

            return sipCpp;
        }
    }

    return NULL;
}


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 326 "/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 525 "sipktexteditorpart3.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 sipTypeDef_ktexteditor_KTextEditor_Search_SearchOptions = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_CLASS,
        sipNameNr_KTextEditor__Search__SearchOptions,
        {0}
    },
    {
        sipNameNr_SearchOptions,
        {35, 255, 0},
        0, 0,
        0, 0,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    0,
    sipNameNr_PyQt4_QtCore_pyqtWrapperType,
    -1,
    0,
    slots_KTextEditor_Search_SearchOptions,
    init_KTextEditor_Search_SearchOptions,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KTextEditor_Search_SearchOptions,
    assign_KTextEditor_Search_SearchOptions,
    array_KTextEditor_Search_SearchOptions,
    copy_KTextEditor_Search_SearchOptions,
    release_KTextEditor_Search_SearchOptions,
    cast_KTextEditor_Search_SearchOptions,
    convertTo_KTextEditor_Search_SearchOptions,
    0,
    0
},
    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 sipTypeDef_ktexteditor_KTextEditor_Search = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_NAMESPACE,
        sipNameNr_KTextEditor__Search,
        {0}
    },
    {
        sipNameNr_Search,
        {1, 255, 0},
        0, 0,
        8, enummembers_KTextEditor_Search,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    0,
    -1,
    -1,
    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
};

#line 60 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/rangefeedback.sip"
#include <ktexteditor/rangefeedback.h>
#line 662 "sipktexteditorpart3.cpp"

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/smartrange.sip"
#include <ktexteditor/smartrange.h>
#line 666 "sipktexteditorpart3.cpp"
#line 340 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/kdecore/typedefs.sip"
#include <ksharedptr.h>
#line 669 "sipktexteditorpart3.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/attribute.sip"
#include <ktexteditor/attribute.h>
#line 672 "sipktexteditorpart3.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/view.sip"
#include <ktexteditor/view.h>

#include <ktexteditor/codecompletioninterface.h>
#include <ktexteditor/sessionconfiginterface.h>
#include <ktexteditor/texthintinterface.h>
#line 679 "sipktexteditorpart3.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)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

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

    extern void sipVH_ktexteditor_16(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *);

    sipVH_ktexteditor_16(sipGILState,meth,a0);
}

void sipKTextEditor_SmartRangeWatcher::rangeContentsChanged(KTextEditor::SmartRange *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

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

    extern void sipVH_ktexteditor_16(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *);

    sipVH_ktexteditor_16(sipGILState,meth,a0);
}

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

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

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

    extern void sipVH_ktexteditor_41(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::SmartRange *);

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

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

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

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

    extern void sipVH_ktexteditor_43(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::View *);

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

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

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

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

    extern void sipVH_ktexteditor_43(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::View *);

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

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

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

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

    extern void sipVH_ktexteditor_43(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::View *);

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

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

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

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

    extern void sipVH_ktexteditor_43(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::View *);

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

void sipKTextEditor_SmartRangeWatcher::rangeEliminated(KTextEditor::SmartRange *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

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

    extern void sipVH_ktexteditor_16(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *);

    sipVH_ktexteditor_16(sipGILState,meth,a0);
}

void sipKTextEditor_SmartRangeWatcher::rangeDeleted(KTextEditor::SmartRange *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

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

    extern void sipVH_ktexteditor_16(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *);

    sipVH_ktexteditor_16(sipGILState,meth,a0);
}

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

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

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

    extern void sipVH_ktexteditor_42(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::SmartRange *,KTextEditor::SmartRange *);

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

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

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

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

    extern void sipVH_ktexteditor_41(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::SmartRange *);

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

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

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

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

    extern void sipVH_ktexteditor_41(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KTextEditor::SmartRange *);

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

void sipKTextEditor_SmartRangeWatcher::rangeAttributeChanged(KTextEditor::SmartRange *a0,KTextEditor::Attribute::Ptr a1,KTextEditor::Attribute::Ptr a2)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

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

    extern void sipVH_ktexteditor_40(sip_gilstate_t,PyObject *,KTextEditor::SmartRange *,KSharedPtr<KTextEditor::Attribute>,KSharedPtr<KTextEditor::Attribute>);

    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)
{
    PyObject *sipParseErr = NULL;

    {
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_wantsDirectChanges, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_setWantsDirectChanges(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_setWantsDirectChanges(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        bool a0;
        KTextEditor::SmartRangeWatcher *sipCpp;

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_setWantsDirectChanges, NULL);

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_rangePositionChanged, NULL);

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, 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(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_rangeContentsChanged, NULL);

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_mouseEnteredRange, NULL);

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_mouseExitedRange, NULL);

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_caretEnteredRange, NULL);

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_caretExitedRange, NULL);

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_rangeEliminated, NULL);

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_rangeDeleted, NULL);

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_parentRangeChanged, NULL);

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_childRangeInserted, NULL);

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, 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(sipParseErr, sipName_SmartRangeWatcher, sipName_childRangeRemoved, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeWatcher_rangeAttributeChanged(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeWatcher_rangeAttributeChanged(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    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(&sipParseErr, sipArgs, "BJ8J1J1", &sipSelf, sipType_KTextEditor_SmartRangeWatcher, &sipCpp, sipType_KTextEditor_SmartRange, &a0, sipType_KSharedPtr_0100KTextEditor_Attribute,&a1, &a1State, sipType_KSharedPtr_0100KTextEditor_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_0100KTextEditor_Attribute,a1State);
            sipReleaseType(a2,sipType_KSharedPtr_0100KTextEditor_Attribute,a2State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    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 sipState)
{
    Py_BEGIN_ALLOW_THREADS

    if (sipState & 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 *, SIP_SSIZE_T, const void *);}
static void assign_KTextEditor_SmartRangeWatcher(void *sipDst, SIP_SSIZE_T sipDstIdx, const void *sipSrc)
{
    reinterpret_cast<KTextEditor::SmartRangeWatcher *>(sipDst)[sipDstIdx] = *reinterpret_cast<const KTextEditor::SmartRangeWatcher *>(sipSrc);
}


extern "C" {static void *array_KTextEditor_SmartRangeWatcher(SIP_SSIZE_T);}
static void *array_KTextEditor_SmartRangeWatcher(SIP_SSIZE_T sipNrElem)
{
    return new KTextEditor::SmartRangeWatcher[sipNrElem];
}


extern "C" {static void *copy_KTextEditor_SmartRangeWatcher(const void *, SIP_SSIZE_T);}
static void *copy_KTextEditor_SmartRangeWatcher(const void *sipSrc, SIP_SSIZE_T sipSrcIdx)
{
    return new KTextEditor::SmartRangeWatcher(reinterpret_cast<const KTextEditor::SmartRangeWatcher *>(sipSrc)[sipSrcIdx]);
}


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 *, PyObject **, PyObject **, PyObject **);}
static void *init_KTextEditor_SmartRangeWatcher(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    sipKTextEditor_SmartRangeWatcher *sipCpp = 0;

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, ""))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_SmartRangeWatcher();
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const KTextEditor::SmartRangeWatcher * a0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "J9", sipType_KTextEditor_SmartRangeWatcher, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_SmartRangeWatcher(*a0);
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return NULL;
}


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 sipTypeDef_ktexteditor_KTextEditor_SmartRangeWatcher = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_CLASS,
        sipNameNr_KTextEditor__SmartRangeWatcher,
        {0}
    },
    {
        sipNameNr_SmartRangeWatcher,
        {1, 255, 0},
        14, methods_KTextEditor_SmartRangeWatcher,
        0, 0,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    0,
    sipNameNr_PyQt4_QtCore_pyqtWrapperType,
    -1,
    0,
    0,
    init_KTextEditor_SmartRangeWatcher,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KTextEditor_SmartRangeWatcher,
    assign_KTextEditor_SmartRangeWatcher,
    array_KTextEditor_SmartRangeWatcher,
    copy_KTextEditor_SmartRangeWatcher,
    release_KTextEditor_SmartRangeWatcher,
    cast_KTextEditor_SmartRangeWatcher,
    0,
    0,
    0
},
    0,
    0,
    0
};

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/rangefeedback.sip"
#include <ktexteditor/rangefeedback.h>
#line 1555 "sipktexteditorpart3.cpp"

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/smartrange.sip"
#include <ktexteditor/smartrange.h>
#line 1559 "sipktexteditorpart3.cpp"
#line 340 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/kdecore/typedefs.sip"
#include <ksharedptr.h>
#line 1562 "sipktexteditorpart3.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/attribute.sip"
#include <ktexteditor/attribute.h>
#line 1565 "sipktexteditorpart3.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/view.sip"
#include <ktexteditor/view.h>

#include <ktexteditor/codecompletioninterface.h>
#include <ktexteditor/sessionconfiginterface.h>
#include <ktexteditor/texthintinterface.h>
#line 1572 "sipktexteditorpart3.cpp"
#line 37 "/usr/local/share/py-sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 1575 "sipktexteditorpart3.cpp"
#line 318 "/usr/local/share/py-sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 1578 "sipktexteditorpart3.cpp"
#line 305 "/usr/local/share/py-sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 1581 "sipktexteditorpart3.cpp"
#line 40 "/usr/local/share/py-sip/QtCore/qobject.sip"
#include <qobject.h>
#line 1584 "sipktexteditorpart3.cpp"
#line 41 "/usr/local/share/py-sip/QtCore/qvariant.sip"
#include <qvariant.h>
#line 1587 "sipktexteditorpart3.cpp"
#line 38 "/usr/local/share/py-sip/QtCore/qlist.sip"
#include <qlist.h>
#line 1590 "sipktexteditorpart3.cpp"
#line 43 "/usr/local/share/py-sip/QtCore/qbytearray.sip"
#include <qbytearray.h>
#line 1593 "sipktexteditorpart3.cpp"
#line 40 "/usr/local/share/py-sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 1596 "sipktexteditorpart3.cpp"
#line 125 "/usr/local/share/py-sip/QtCore/qlist.sip"
#include <qlist.h>
#line 1599 "sipktexteditorpart3.cpp"
#line 37 "/usr/local/share/py-sip/QtCore/qthread.sip"
#include <qthread.h>
#line 1602 "sipktexteditorpart3.cpp"
#line 41 "/usr/local/share/py-sip/QtCore/qstring.sip"
#include <qstring.h>
#line 1605 "sipktexteditorpart3.cpp"
#line 41 "/usr/local/share/py-sip/QtCore/qregexp.sip"
#include <qregexp.h>
#line 1608 "sipktexteditorpart3.cpp"
#line 37 "/usr/local/share/py-sip/QtCore/qobjectdefs.sip"
#include <qobjectdefs.h>
#line 1611 "sipktexteditorpart3.cpp"


class sipKTextEditor_SmartRangeNotifier : public KTextEditor::SmartRangeNotifier
{
public:
    sipKTextEditor_SmartRangeNotifier();
    virtual ~sipKTextEditor_SmartRangeNotifier();

    int qt_metacall(QMetaObject::Call,int,void **);
    void *qt_metacast(const char *);
    const QMetaObject *metaObject() const;

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
    int sipProtect_receivers(const char *) const;
    void sipProtectVirt_timerEvent(bool,QTimerEvent *);
    void sipProtectVirt_childEvent(bool,QChildEvent *);
    void sipProtectVirt_customEvent(bool,QEvent *);
    void sipProtectVirt_connectNotify(bool,const char *);
    void sipProtectVirt_disconnectNotify(bool,const char *);

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    bool event(QEvent *);
    bool eventFilter(QObject *,QEvent *);
    void timerEvent(QTimerEvent *);
    void childEvent(QChildEvent *);
    void customEvent(QEvent *);
    void connectNotify(const char *);
    void disconnectNotify(const char *);

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[7];
};

sipKTextEditor_SmartRangeNotifier::sipKTextEditor_SmartRangeNotifier(): KTextEditor::SmartRangeNotifier(), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

const QMetaObject *sipKTextEditor_SmartRangeNotifier::metaObject() const
{
    return sip_ktexteditor_qt_metaobject(sipPySelf,sipType_KTextEditor_SmartRangeNotifier);
}

int sipKTextEditor_SmartRangeNotifier::qt_metacall(QMetaObject::Call _c,int _id,void **_a)
{
    _id = KTextEditor::SmartRangeNotifier::qt_metacall(_c,_id,_a);

    if (_id >= 0)
        _id = sip_ktexteditor_qt_metacall(sipPySelf,sipType_KTextEditor_SmartRangeNotifier,_c,_id,_a);

    return _id;
}

void *sipKTextEditor_SmartRangeNotifier::qt_metacast(const char *_clname)
{
    return (sip_ktexteditor_qt_metacast && sip_ktexteditor_qt_metacast(sipPySelf,sipType_KTextEditor_SmartRangeNotifier,_clname)) ? this : KTextEditor::SmartRangeNotifier::qt_metacast(_clname);
}

bool sipKTextEditor_SmartRangeNotifier::event(QEvent *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
        return QObject::event(a0);

    typedef bool (*sipVH_QtCore_5)(sip_gilstate_t,PyObject *,QEvent *);

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

bool sipKTextEditor_SmartRangeNotifier::eventFilter(QObject *a0,QEvent *a1)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
        return QObject::eventFilter(a0,a1);

    typedef bool (*sipVH_QtCore_18)(sip_gilstate_t,PyObject *,QObject *,QEvent *);

    return ((sipVH_QtCore_18)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[18]))(sipGILState,meth,a0,a1);
}

void sipKTextEditor_SmartRangeNotifier::timerEvent(QTimerEvent *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        QObject::timerEvent(a0);
        return;
    }

    typedef void (*sipVH_QtCore_9)(sip_gilstate_t,PyObject *,QTimerEvent *);

    ((sipVH_QtCore_9)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[9]))(sipGILState,meth,a0);
}

void sipKTextEditor_SmartRangeNotifier::childEvent(QChildEvent *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        QObject::childEvent(a0);
        return;
    }

    typedef void (*sipVH_QtCore_25)(sip_gilstate_t,PyObject *,QChildEvent *);

    ((sipVH_QtCore_25)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[25]))(sipGILState,meth,a0);
}

void sipKTextEditor_SmartRangeNotifier::customEvent(QEvent *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        QObject::customEvent(a0);
        return;
    }

    typedef void (*sipVH_QtCore_17)(sip_gilstate_t,PyObject *,QEvent *);

    ((sipVH_QtCore_17)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[17]))(sipGILState,meth,a0);
}

void sipKTextEditor_SmartRangeNotifier::connectNotify(const char *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        QObject::connectNotify(a0);
        return;
    }

    typedef void (*sipVH_QtCore_24)(sip_gilstate_t,PyObject *,const char *);

    ((sipVH_QtCore_24)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[24]))(sipGILState,meth,a0);
}

void sipKTextEditor_SmartRangeNotifier::disconnectNotify(const char *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        QObject::disconnectNotify(a0);
        return;
    }

    typedef void (*sipVH_QtCore_24)(sip_gilstate_t,PyObject *,const char *);

    ((sipVH_QtCore_24)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[24]))(sipGILState,meth,a0);
}

int sipKTextEditor_SmartRangeNotifier::sipProtect_receivers(const char *a0) const
{
    return QObject::receivers(a0);
}

void sipKTextEditor_SmartRangeNotifier::sipProtectVirt_timerEvent(bool sipSelfWasArg,QTimerEvent *a0)
{
    (sipSelfWasArg ? QObject::timerEvent(a0) : timerEvent(a0));
}

void sipKTextEditor_SmartRangeNotifier::sipProtectVirt_childEvent(bool sipSelfWasArg,QChildEvent *a0)
{
    (sipSelfWasArg ? QObject::childEvent(a0) : childEvent(a0));
}

void sipKTextEditor_SmartRangeNotifier::sipProtectVirt_customEvent(bool sipSelfWasArg,QEvent *a0)
{
    (sipSelfWasArg ? QObject::customEvent(a0) : customEvent(a0));
}

void sipKTextEditor_SmartRangeNotifier::sipProtectVirt_connectNotify(bool sipSelfWasArg,const char *a0)
{
    (sipSelfWasArg ? QObject::connectNotify(a0) : connectNotify(a0));
}

void sipKTextEditor_SmartRangeNotifier::sipProtectVirt_disconnectNotify(bool sipSelfWasArg,const char *a0)
{
    (sipSelfWasArg ? QObject::disconnectNotify(a0) : disconnectNotify(a0));
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeNotifier_receivers(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeNotifier_receivers(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        char * a0;
        sipKTextEditor_SmartRangeNotifier *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BG", &sipSelf, sipType_KTextEditor_SmartRangeNotifier, &sipCpp, &a0))
        {
            int sipRes = 0;

#line 538 "/usr/local/share/py-sip/QtCore/qobject.sip"
        // We need to take into account any proxies for Python signals. Import the
        // helper if it hasn't already been done.
        typedef int (*helper_func)(QObject *, const char *, int);
        
        static helper_func helper = 0;
        
        if (!helper)
            helper = (helper_func)sipImportSymbol("qpycore_qobject_receivers");
        
        if (helper)
        #if defined(SIP_PROTECTED_IS_PUBLIC)
            sipRes = helper(sipCpp, a0, sipCpp->receivers(a0));
        #else
            sipRes = helper(sipCpp, a0, sipCpp->sipProtect_receivers(a0));
        #endif
#line 1868 "sipktexteditorpart3.cpp"

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_SmartRangeNotifier, sipName_receivers, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeNotifier_timerEvent(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeNotifier_timerEvent(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        QTimerEvent * a0;
        sipKTextEditor_SmartRangeNotifier *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_KTextEditor_SmartRangeNotifier, &sipCpp, sipType_QTimerEvent, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_timerEvent(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_SmartRangeNotifier, sipName_timerEvent, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeNotifier_childEvent(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeNotifier_childEvent(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        QChildEvent * a0;
        sipKTextEditor_SmartRangeNotifier *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_KTextEditor_SmartRangeNotifier, &sipCpp, sipType_QChildEvent, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_childEvent(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_SmartRangeNotifier, sipName_childEvent, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeNotifier_customEvent(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeNotifier_customEvent(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        QEvent * a0;
        sipKTextEditor_SmartRangeNotifier *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_KTextEditor_SmartRangeNotifier, &sipCpp, sipType_QEvent, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_customEvent(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_SmartRangeNotifier, sipName_customEvent, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeNotifier_connectNotify(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeNotifier_connectNotify(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        char * a0;
        sipKTextEditor_SmartRangeNotifier *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BG", &sipSelf, sipType_KTextEditor_SmartRangeNotifier, &sipCpp, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_connectNotify(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_SmartRangeNotifier, sipName_connectNotify, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeNotifier_disconnectNotify(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeNotifier_disconnectNotify(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        char * a0;
        sipKTextEditor_SmartRangeNotifier *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BG", &sipSelf, sipType_KTextEditor_SmartRangeNotifier, &sipCpp, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_disconnectNotify(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_SmartRangeNotifier, sipName_disconnectNotify, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeNotifier_wantsDirectChanges(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeNotifier_wantsDirectChanges(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        KTextEditor::SmartRangeNotifier *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KTextEditor_SmartRangeNotifier, &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(sipParseErr, sipName_SmartRangeNotifier, sipName_wantsDirectChanges, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_SmartRangeNotifier_setWantsDirectChanges(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_SmartRangeNotifier_setWantsDirectChanges(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        bool a0;
        KTextEditor::SmartRangeNotifier *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bb", &sipSelf, sipType_KTextEditor_SmartRangeNotifier, &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(sipParseErr, sipName_SmartRangeNotifier, sipName_setWantsDirectChanges, NULL);

    return NULL;
}


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

    if (targetType == sipType_KTextEditor_SmartRangeNotifier)
        return ptr;

    if ((res = ((const sipClassTypeDef *)sipType_QObject)->ctd_cast((QObject *)(KTextEditor::SmartRangeNotifier *)ptr,targetType)) != NULL)
        return res;

    return NULL;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipKTextEditor_SmartRangeNotifier *>(sipCppV);
    else
        delete reinterpret_cast<KTextEditor::SmartRangeNotifier *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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

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


extern "C" {static void *init_KTextEditor_SmartRangeNotifier(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_KTextEditor_SmartRangeNotifier(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    sipKTextEditor_SmartRangeNotifier *sipCpp = 0;

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, ""))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_SmartRangeNotifier();
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return NULL;
}


/* Define this type's super-types. */
static sipEncodedTypeDef supers_KTextEditor_SmartRangeNotifier[] = {{129, 0, 1}};


static PyMethodDef methods_KTextEditor_SmartRangeNotifier[] = {
    {SIP_MLNAME_CAST(sipName_childEvent), meth_KTextEditor_SmartRangeNotifier_childEvent, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_connectNotify), meth_KTextEditor_SmartRangeNotifier_connectNotify, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_customEvent), meth_KTextEditor_SmartRangeNotifier_customEvent, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_disconnectNotify), meth_KTextEditor_SmartRangeNotifier_disconnectNotify, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_receivers), meth_KTextEditor_SmartRangeNotifier_receivers, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setWantsDirectChanges), meth_KTextEditor_SmartRangeNotifier_setWantsDirectChanges, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_timerEvent), meth_KTextEditor_SmartRangeNotifier_timerEvent, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_wantsDirectChanges), meth_KTextEditor_SmartRangeNotifier_wantsDirectChanges, METH_VARARGS, NULL}
};


/* Define this type's PyQt4 signals. */
static const pyqt4QtSignal pyqt4_signals_KTextEditor_SmartRangeNotifier[] = {
    {"rangeAttributeChanged(KTextEditor::SmartRange *,KTextEditor::Attribute::Ptr,KTextEditor::Attribute::Ptr)", 0, 0},
    {"childRangeRemoved(KTextEditor::SmartRange *,KTextEditor::SmartRange *)", 0, 0},
    {"childRangeInserted(KTextEditor::SmartRange *,KTextEditor::SmartRange *)", 0, 0},
    {"parentRangeChanged(KTextEditor::SmartRange *,KTextEditor::SmartRange *,KTextEditor::SmartRange *)", 0, 0},
    {"rangeDeleted(KTextEditor::SmartRange *)", 0, 0},
    {"rangeEliminated(KTextEditor::SmartRange *)", 0, 0},
    {"caretExitedRange(KTextEditor::SmartRange *,KTextEditor::View *)", 0, 0},
    {"caretEnteredRange(KTextEditor::SmartRange *,KTextEditor::View *)", 0, 0},
    {"mouseExitedRange(KTextEditor::SmartRange *,KTextEditor::View *)", 0, 0},
    {"mouseEnteredRange(KTextEditor::SmartRange *,KTextEditor::View *)", 0, 0},
    {"rangeContentsChanged(KTextEditor::SmartRange *)", 0, 0},
    {"rangeContentsChanged(KTextEditor::SmartRange *,KTextEditor::SmartRange *)", 0, 0},
    {"rangePositionChanged(KTextEditor::SmartRange *)", 0, 0},
    {0, 0, 0}
};


pyqt4ClassTypeDef sipTypeDef_ktexteditor_KTextEditor_SmartRangeNotifier = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_KTextEditor__SmartRangeNotifier,
        {0}
    },
    {
        sipNameNr_SmartRangeNotifier,
        {1, 255, 0},
        8, methods_KTextEditor_SmartRangeNotifier,
        0, 0,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    0,
    -1,
    -1,
    supers_KTextEditor_SmartRangeNotifier,
    0,
    init_KTextEditor_SmartRangeNotifier,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KTextEditor_SmartRangeNotifier,
    0,
    0,
    0,
    release_KTextEditor_SmartRangeNotifier,
    cast_KTextEditor_SmartRangeNotifier,
    0,
    0,
    0
},
    &KTextEditor::SmartRangeNotifier::staticMetaObject,
    0,
    pyqt4_signals_KTextEditor_SmartRangeNotifier
};

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/range.sip"
#include <ktexteditor/range.h>
#line 2228 "sipktexteditorpart3.cpp"

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/cursor.sip"
#include <ktexteditor/cursor.h>
#line 2232 "sipktexteditorpart3.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/smartrange.sip"
#include <ktexteditor/smartrange.h>
#line 2235 "sipktexteditorpart3.cpp"


class sipKTextEditor_Range : public KTextEditor::Range
{
public:
    sipKTextEditor_Range();
    sipKTextEditor_Range(const KTextEditor::Cursor&,const KTextEditor::Cursor&);
    sipKTextEditor_Range(const KTextEditor::Cursor&,int);
    sipKTextEditor_Range(const KTextEditor::Cursor&,int,int);
    sipKTextEditor_Range(int,int,int,int);
    sipKTextEditor_Range(const KTextEditor::Range&);
    sipKTextEditor_Range(KTextEditor::Cursor *,KTextEditor::Cursor *);
    virtual ~sipKTextEditor_Range();

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

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    bool isValid() const;
    bool isSmartRange() const;
    KTextEditor::SmartRange * toSmartRange() const;
    void setRange(const KTextEditor::Range&);
    bool expandToRange(const KTextEditor::Range&);
    bool confineToRange(const KTextEditor::Range&);
    void rangeChanged(KTextEditor::Cursor *,const KTextEditor::Range&);

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[7];
};

sipKTextEditor_Range::sipKTextEditor_Range(): KTextEditor::Range(), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKTextEditor_Range::sipKTextEditor_Range(const KTextEditor::Cursor& a0,const KTextEditor::Cursor& a1): KTextEditor::Range(a0,a1), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKTextEditor_Range::sipKTextEditor_Range(const KTextEditor::Cursor& a0,int a1): KTextEditor::Range(a0,a1), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKTextEditor_Range::sipKTextEditor_Range(const KTextEditor::Cursor& a0,int a1,int a2): KTextEditor::Range(a0,a1,a2), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKTextEditor_Range::sipKTextEditor_Range(int a0,int a1,int a2,int a3): KTextEditor::Range(a0,a1,a2,a3), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

sipKTextEditor_Range::sipKTextEditor_Range(KTextEditor::Cursor *a0,KTextEditor::Cursor *a1): KTextEditor::Range(a0,a1), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

bool sipKTextEditor_Range::isValid() const
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

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

    typedef bool (*sipVH_QtCore_7)(sip_gilstate_t,PyObject *);

    return ((sipVH_QtCore_7)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[7]))(sipGILState,meth);
}

bool sipKTextEditor_Range::isSmartRange() const
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
        return KTextEditor::Range::isSmartRange();

    typedef bool (*sipVH_QtCore_7)(sip_gilstate_t,PyObject *);

    return ((sipVH_QtCore_7)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[7]))(sipGILState,meth);
}

KTextEditor::SmartRange * sipKTextEditor_Range::toSmartRange() const
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
        return KTextEditor::Range::toSmartRange();

    extern KTextEditor::SmartRange * sipVH_ktexteditor_20(sip_gilstate_t,PyObject *);

    return sipVH_ktexteditor_20(sipGILState,meth);
}

void sipKTextEditor_Range::setRange(const KTextEditor::Range& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

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

    extern void sipVH_ktexteditor_19(sip_gilstate_t,PyObject *,const KTextEditor::Range&);

    sipVH_ktexteditor_19(sipGILState,meth,a0);
}

bool sipKTextEditor_Range::expandToRange(const KTextEditor::Range& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
        return KTextEditor::Range::expandToRange(a0);

    extern bool sipVH_ktexteditor_2(sip_gilstate_t,PyObject *,const KTextEditor::Range&);

    return sipVH_ktexteditor_2(sipGILState,meth,a0);
}

bool sipKTextEditor_Range::confineToRange(const KTextEditor::Range& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
        return KTextEditor::Range::confineToRange(a0);

    extern bool sipVH_ktexteditor_2(sip_gilstate_t,PyObject *,const KTextEditor::Range&);

    return sipVH_ktexteditor_2(sipGILState,meth,a0);
}

void sipKTextEditor_Range::rangeChanged(KTextEditor::Cursor *a0,const KTextEditor::Range& a1)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        KTextEditor::Range::rangeChanged(a0,a1);
        return;
    }

    extern void sipVH_ktexteditor_15(sip_gilstate_t,PyObject *,KTextEditor::Cursor *,const KTextEditor::Range&);

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

void sipKTextEditor_Range::sipProtectVirt_rangeChanged(bool sipSelfWasArg,KTextEditor::Cursor *a0,const KTextEditor::Range& a1)
{
    (sipSelfWasArg ? KTextEditor::Range::rangeChanged(a0,a1) : rangeChanged(a0,a1));
}


extern "C" {static PyObject *meth_KTextEditor_Range_isValid(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_isValid(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KTextEditor_Range, &sipCpp))
        {
            bool sipRes;

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

            return PyBool_FromLong(sipRes);
        }
    }

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

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_invalid(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_invalid(PyObject *, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
            KTextEditor::Range *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new KTextEditor::Range(KTextEditor::Range::invalid());
            Py_END_ALLOW_THREADS

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_invalid, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_isSmartRange(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_isSmartRange(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KTextEditor_Range, &sipCpp))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->KTextEditor::Range::isSmartRange() : sipCpp->isSmartRange());
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_isSmartRange, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_toSmartRange(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_toSmartRange(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::Range *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->KTextEditor::Range::toSmartRange() : sipCpp->toSmartRange());
            Py_END_ALLOW_THREADS

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_toSmartRange, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_start(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_start(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KTextEditor_Range, &sipCpp))
        {
            KTextEditor::Cursor *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = &sipCpp->start();
            Py_END_ALLOW_THREADS

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_start, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_end(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_end(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KTextEditor_Range, &sipCpp))
        {
            KTextEditor::Cursor *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = &sipCpp->end();
            Py_END_ALLOW_THREADS

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_end, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_setBothLines(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_setBothLines(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        int a0;
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bi", &sipSelf, sipType_KTextEditor_Range, &sipCpp, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->setBothLines(a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_setBothLines, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_setBothColumns(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_setBothColumns(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        int a0;
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bi", &sipSelf, sipType_KTextEditor_Range, &sipCpp, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->setBothColumns(a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_setBothColumns, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_setRange(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_setRange(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Range, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::Range::setRange(*a0) : sipCpp->setRange(*a0));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const KTextEditor::Cursor * a0;
        const KTextEditor::Cursor * a1;
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Cursor, &a0, sipType_KTextEditor_Cursor, &a1))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->setRange(*a0,*a1);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_expandToRange(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_expandToRange(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Range, &a0))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->KTextEditor::Range::expandToRange(*a0) : sipCpp->expandToRange(*a0));
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_expandToRange, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_confineToRange(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_confineToRange(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Range, &a0))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->KTextEditor::Range::confineToRange(*a0) : sipCpp->confineToRange(*a0));
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_confineToRange, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_onSingleLine(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_onSingleLine(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KTextEditor_Range, &sipCpp))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->onSingleLine();
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_onSingleLine, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_numberOfLines(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_numberOfLines(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KTextEditor_Range, &sipCpp))
        {
            int sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->numberOfLines();
            Py_END_ALLOW_THREADS

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_numberOfLines, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_columnWidth(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_columnWidth(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KTextEditor_Range, &sipCpp))
        {
            int sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->columnWidth();
            Py_END_ALLOW_THREADS

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_columnWidth, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_isEmpty(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_isEmpty(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KTextEditor_Range, &sipCpp))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->isEmpty();
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_isEmpty, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_contains(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_contains(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Range, &a0))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->contains(*a0);
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Cursor, &a0))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->contains(*a0);
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_contains, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_containsLine(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_containsLine(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        int a0;
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bi", &sipSelf, sipType_KTextEditor_Range, &sipCpp, &a0))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->containsLine(a0);
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_containsLine, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_overlaps(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_overlaps(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Range, &a0))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->overlaps(*a0);
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_overlaps, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_overlapsLine(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_overlapsLine(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        int a0;
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bi", &sipSelf, sipType_KTextEditor_Range, &sipCpp, &a0))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->overlapsLine(a0);
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_overlapsLine, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_overlapsColumn(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_overlapsColumn(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        int a0;
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bi", &sipSelf, sipType_KTextEditor_Range, &sipCpp, &a0))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->overlapsColumn(a0);
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_overlapsColumn, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_positionRelativeToCursor(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_positionRelativeToCursor(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Cursor, &a0))
        {
            int sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->positionRelativeToCursor(*a0);
            Py_END_ALLOW_THREADS

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_positionRelativeToCursor, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_positionRelativeToLine(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_positionRelativeToLine(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        int a0;
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bi", &sipSelf, sipType_KTextEditor_Range, &sipCpp, &a0))
        {
            int sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->positionRelativeToLine(a0);
            Py_END_ALLOW_THREADS

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_positionRelativeToLine, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_boundaryAtCursor(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_boundaryAtCursor(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Cursor, &a0))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->boundaryAtCursor(*a0);
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_boundaryAtCursor, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_boundaryOnLine(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_boundaryOnLine(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        int a0;
        KTextEditor::Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bi", &sipSelf, sipType_KTextEditor_Range, &sipCpp, &a0))
        {
            bool sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->boundaryOnLine(a0);
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_boundaryOnLine, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_intersect(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_intersect(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Range, &a0))
        {
            KTextEditor::Range *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new KTextEditor::Range(sipCpp->intersect(*a0));
            Py_END_ALLOW_THREADS

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_intersect, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_encompass(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_encompass(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Range, &a0))
        {
            KTextEditor::Range *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new KTextEditor::Range(sipCpp->encompass(*a0));
            Py_END_ALLOW_THREADS

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_encompass, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Range_rangeChanged(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Range_rangeChanged(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::Cursor * a0;
        const KTextEditor::Range * a1;
        sipKTextEditor_Range *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8J9", &sipSelf, sipType_KTextEditor_Range, &sipCpp, sipType_KTextEditor_Cursor, &a0, sipType_KTextEditor_Range, &a1))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_rangeChanged(sipSelfWasArg,a0,*a1);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Range, sipName_rangeChanged, NULL);

    return NULL;
}


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

    return NULL;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipKTextEditor_Range *>(sipCppV);
    else
        delete reinterpret_cast<KTextEditor::Range *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void assign_KTextEditor_Range(void *, SIP_SSIZE_T, const void *);}
static void assign_KTextEditor_Range(void *sipDst, SIP_SSIZE_T sipDstIdx, const void *sipSrc)
{
    reinterpret_cast<KTextEditor::Range *>(sipDst)[sipDstIdx] = *reinterpret_cast<const KTextEditor::Range *>(sipSrc);
}


extern "C" {static void *array_KTextEditor_Range(SIP_SSIZE_T);}
static void *array_KTextEditor_Range(SIP_SSIZE_T sipNrElem)
{
    return new KTextEditor::Range[sipNrElem];
}


extern "C" {static void *copy_KTextEditor_Range(const void *, SIP_SSIZE_T);}
static void *copy_KTextEditor_Range(const void *sipSrc, SIP_SSIZE_T sipSrcIdx)
{
    return new KTextEditor::Range(reinterpret_cast<const KTextEditor::Range *>(sipSrc)[sipSrcIdx]);
}


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

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


extern "C" {static void *init_KTextEditor_Range(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_KTextEditor_Range(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    sipKTextEditor_Range *sipCpp = 0;

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, ""))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_Range();
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const KTextEditor::Cursor * a0;
        const KTextEditor::Cursor * a1;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "J9J9", sipType_KTextEditor_Cursor, &a0, sipType_KTextEditor_Cursor, &a1))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_Range(*a0,*a1);
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const KTextEditor::Cursor * a0;
        int a1;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "J9i", sipType_KTextEditor_Cursor, &a0, &a1))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_Range(*a0,a1);
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const KTextEditor::Cursor * a0;
        int a1;
        int a2;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "J9ii", sipType_KTextEditor_Cursor, &a0, &a1, &a2))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_Range(*a0,a1,a2);
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "iiii", &a0, &a1, &a2, &a3))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_Range(a0,a1,a2,a3);
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const KTextEditor::Range * a0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "J9", sipType_KTextEditor_Range, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_Range(*a0);
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        KTextEditor::Cursor * a0;
        KTextEditor::Cursor * a1;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "J8J8", sipType_KTextEditor_Cursor, &a0, sipType_KTextEditor_Cursor, &a1))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_Range(a0,a1);
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return NULL;
}


static PyMethodDef methods_KTextEditor_Range[] = {
    {SIP_MLNAME_CAST(sipName_boundaryAtCursor), meth_KTextEditor_Range_boundaryAtCursor, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_boundaryOnLine), meth_KTextEditor_Range_boundaryOnLine, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_columnWidth), meth_KTextEditor_Range_columnWidth, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_confineToRange), meth_KTextEditor_Range_confineToRange, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_contains), meth_KTextEditor_Range_contains, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_containsLine), meth_KTextEditor_Range_containsLine, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_encompass), meth_KTextEditor_Range_encompass, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_end), meth_KTextEditor_Range_end, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_expandToRange), meth_KTextEditor_Range_expandToRange, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_intersect), meth_KTextEditor_Range_intersect, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_invalid), meth_KTextEditor_Range_invalid, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_isEmpty), meth_KTextEditor_Range_isEmpty, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_isSmartRange), meth_KTextEditor_Range_isSmartRange, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_isValid), meth_KTextEditor_Range_isValid, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_numberOfLines), meth_KTextEditor_Range_numberOfLines, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_onSingleLine), meth_KTextEditor_Range_onSingleLine, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_overlaps), meth_KTextEditor_Range_overlaps, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_overlapsColumn), meth_KTextEditor_Range_overlapsColumn, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_overlapsLine), meth_KTextEditor_Range_overlapsLine, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_positionRelativeToCursor), meth_KTextEditor_Range_positionRelativeToCursor, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_positionRelativeToLine), meth_KTextEditor_Range_positionRelativeToLine, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_rangeChanged), meth_KTextEditor_Range_rangeChanged, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setBothColumns), meth_KTextEditor_Range_setBothColumns, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setBothLines), meth_KTextEditor_Range_setBothLines, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setRange), meth_KTextEditor_Range_setRange, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_start), meth_KTextEditor_Range_start, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_toSmartRange), meth_KTextEditor_Range_toSmartRange, METH_VARARGS, NULL}
};


pyqt4ClassTypeDef sipTypeDef_ktexteditor_KTextEditor_Range = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_CLASS,
        sipNameNr_KTextEditor__Range,
        {0}
    },
    {
        sipNameNr_Range,
        {1, 255, 0},
        27, methods_KTextEditor_Range,
        0, 0,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    0,
    sipNameNr_PyQt4_QtCore_pyqtWrapperType,
    -1,
    0,
    0,
    init_KTextEditor_Range,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KTextEditor_Range,
    assign_KTextEditor_Range,
    array_KTextEditor_Range,
    copy_KTextEditor_Range,
    release_KTextEditor_Range,
    cast_KTextEditor_Range,
    0,
    0,
    0
},
    0,
    0,
    0
};

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/plugin.sip"
#include <ktexteditor/plugin.h>
#line 3479 "sipktexteditorpart3.cpp"

#line 40 "/usr/local/share/py-sip/QtCore/qobject.sip"
#include <qobject.h>
#line 3483 "sipktexteditorpart3.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/view.sip"
#include <ktexteditor/view.h>

#include <ktexteditor/codecompletioninterface.h>
#include <ktexteditor/sessionconfiginterface.h>
#include <ktexteditor/texthintinterface.h>
#line 3490 "sipktexteditorpart3.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/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 3501 "sipktexteditorpart3.cpp"
#line 37 "/usr/local/share/py-sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 3504 "sipktexteditorpart3.cpp"
#line 318 "/usr/local/share/py-sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 3507 "sipktexteditorpart3.cpp"
#line 305 "/usr/local/share/py-sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 3510 "sipktexteditorpart3.cpp"
#line 41 "/usr/local/share/py-sip/QtCore/qvariant.sip"
#include <qvariant.h>
#line 3513 "sipktexteditorpart3.cpp"
#line 38 "/usr/local/share/py-sip/QtCore/qlist.sip"
#include <qlist.h>
#line 3516 "sipktexteditorpart3.cpp"
#line 43 "/usr/local/share/py-sip/QtCore/qbytearray.sip"
#include <qbytearray.h>
#line 3519 "sipktexteditorpart3.cpp"
#line 40 "/usr/local/share/py-sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 3522 "sipktexteditorpart3.cpp"
#line 125 "/usr/local/share/py-sip/QtCore/qlist.sip"
#include <qlist.h>
#line 3525 "sipktexteditorpart3.cpp"
#line 37 "/usr/local/share/py-sip/QtCore/qthread.sip"
#include <qthread.h>
#line 3528 "sipktexteditorpart3.cpp"
#line 41 "/usr/local/share/py-sip/QtCore/qstring.sip"
#include <qstring.h>
#line 3531 "sipktexteditorpart3.cpp"
#line 41 "/usr/local/share/py-sip/QtCore/qregexp.sip"
#include <qregexp.h>
#line 3534 "sipktexteditorpart3.cpp"
#line 37 "/usr/local/share/py-sip/QtCore/qobjectdefs.sip"
#include <qobjectdefs.h>
#line 3537 "sipktexteditorpart3.cpp"


class sipKTextEditor_Plugin : public KTextEditor::Plugin
{
public:
    sipKTextEditor_Plugin(QObject *);
    virtual ~sipKTextEditor_Plugin();

    int qt_metacall(QMetaObject::Call,int,void **);
    void *qt_metacast(const char *);
    const QMetaObject *metaObject() const;

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
    int sipProtect_receivers(const char *) const;
    void sipProtectVirt_timerEvent(bool,QTimerEvent *);
    void sipProtectVirt_childEvent(bool,QChildEvent *);
    void sipProtectVirt_customEvent(bool,QEvent *);
    void sipProtectVirt_connectNotify(bool,const char *);
    void sipProtectVirt_disconnectNotify(bool,const char *);

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void addDocument(KTextEditor::Document *);
    void removeDocument(KTextEditor::Document *);
    void addView(KTextEditor::View *);
    void removeView(KTextEditor::View *);
    bool event(QEvent *);
    bool eventFilter(QObject *,QEvent *);
    void timerEvent(QTimerEvent *);
    void childEvent(QChildEvent *);
    void customEvent(QEvent *);
    void connectNotify(const char *);
    void disconnectNotify(const char *);

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[11];
};

sipKTextEditor_Plugin::sipKTextEditor_Plugin(QObject *a0): KTextEditor::Plugin(a0), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

const QMetaObject *sipKTextEditor_Plugin::metaObject() const
{
    return sip_ktexteditor_qt_metaobject(sipPySelf,sipType_KTextEditor_Plugin);
}

int sipKTextEditor_Plugin::qt_metacall(QMetaObject::Call _c,int _id,void **_a)
{
    _id = KTextEditor::Plugin::qt_metacall(_c,_id,_a);

    if (_id >= 0)
        _id = sip_ktexteditor_qt_metacall(sipPySelf,sipType_KTextEditor_Plugin,_c,_id,_a);

    return _id;
}

void *sipKTextEditor_Plugin::qt_metacast(const char *_clname)
{
    return (sip_ktexteditor_qt_metacast && sip_ktexteditor_qt_metacast(sipPySelf,sipType_KTextEditor_Plugin,_clname)) ? this : KTextEditor::Plugin::qt_metacast(_clname);
}

void sipKTextEditor_Plugin::addDocument(KTextEditor::Document *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        KTextEditor::Plugin::addDocument(a0);
        return;
    }

    extern void sipVH_ktexteditor_44(sip_gilstate_t,PyObject *,KTextEditor::Document *);

    sipVH_ktexteditor_44(sipGILState,meth,a0);
}

void sipKTextEditor_Plugin::removeDocument(KTextEditor::Document *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        KTextEditor::Plugin::removeDocument(a0);
        return;
    }

    extern void sipVH_ktexteditor_44(sip_gilstate_t,PyObject *,KTextEditor::Document *);

    sipVH_ktexteditor_44(sipGILState,meth,a0);
}

void sipKTextEditor_Plugin::addView(KTextEditor::View *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        KTextEditor::Plugin::addView(a0);
        return;
    }

    extern void sipVH_ktexteditor_22(sip_gilstate_t,PyObject *,KTextEditor::View *);

    sipVH_ktexteditor_22(sipGILState,meth,a0);
}

void sipKTextEditor_Plugin::removeView(KTextEditor::View *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        KTextEditor::Plugin::removeView(a0);
        return;
    }

    extern void sipVH_ktexteditor_22(sip_gilstate_t,PyObject *,KTextEditor::View *);

    sipVH_ktexteditor_22(sipGILState,meth,a0);
}

bool sipKTextEditor_Plugin::event(QEvent *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
        return QObject::event(a0);

    typedef bool (*sipVH_QtCore_5)(sip_gilstate_t,PyObject *,QEvent *);

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

bool sipKTextEditor_Plugin::eventFilter(QObject *a0,QEvent *a1)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
        return QObject::eventFilter(a0,a1);

    typedef bool (*sipVH_QtCore_18)(sip_gilstate_t,PyObject *,QObject *,QEvent *);

    return ((sipVH_QtCore_18)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[18]))(sipGILState,meth,a0,a1);
}

void sipKTextEditor_Plugin::timerEvent(QTimerEvent *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        QObject::timerEvent(a0);
        return;
    }

    typedef void (*sipVH_QtCore_9)(sip_gilstate_t,PyObject *,QTimerEvent *);

    ((sipVH_QtCore_9)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[9]))(sipGILState,meth,a0);
}

void sipKTextEditor_Plugin::childEvent(QChildEvent *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        QObject::childEvent(a0);
        return;
    }

    typedef void (*sipVH_QtCore_25)(sip_gilstate_t,PyObject *,QChildEvent *);

    ((sipVH_QtCore_25)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[25]))(sipGILState,meth,a0);
}

void sipKTextEditor_Plugin::customEvent(QEvent *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        QObject::customEvent(a0);
        return;
    }

    typedef void (*sipVH_QtCore_17)(sip_gilstate_t,PyObject *,QEvent *);

    ((sipVH_QtCore_17)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[17]))(sipGILState,meth,a0);
}

void sipKTextEditor_Plugin::connectNotify(const char *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        QObject::connectNotify(a0);
        return;
    }

    typedef void (*sipVH_QtCore_24)(sip_gilstate_t,PyObject *,const char *);

    ((sipVH_QtCore_24)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[24]))(sipGILState,meth,a0);
}

void sipKTextEditor_Plugin::disconnectNotify(const char *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

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

    if (!meth)
    {
        QObject::disconnectNotify(a0);
        return;
    }

    typedef void (*sipVH_QtCore_24)(sip_gilstate_t,PyObject *,const char *);

    ((sipVH_QtCore_24)(sipModuleAPI_ktexteditor_QtCore->em_virthandlers[24]))(sipGILState,meth,a0);
}

int sipKTextEditor_Plugin::sipProtect_receivers(const char *a0) const
{
    return QObject::receivers(a0);
}

void sipKTextEditor_Plugin::sipProtectVirt_timerEvent(bool sipSelfWasArg,QTimerEvent *a0)
{
    (sipSelfWasArg ? QObject::timerEvent(a0) : timerEvent(a0));
}

void sipKTextEditor_Plugin::sipProtectVirt_childEvent(bool sipSelfWasArg,QChildEvent *a0)
{
    (sipSelfWasArg ? QObject::childEvent(a0) : childEvent(a0));
}

void sipKTextEditor_Plugin::sipProtectVirt_customEvent(bool sipSelfWasArg,QEvent *a0)
{
    (sipSelfWasArg ? QObject::customEvent(a0) : customEvent(a0));
}

void sipKTextEditor_Plugin::sipProtectVirt_connectNotify(bool sipSelfWasArg,const char *a0)
{
    (sipSelfWasArg ? QObject::connectNotify(a0) : connectNotify(a0));
}

void sipKTextEditor_Plugin::sipProtectVirt_disconnectNotify(bool sipSelfWasArg,const char *a0)
{
    (sipSelfWasArg ? QObject::disconnectNotify(a0) : disconnectNotify(a0));
}


extern "C" {static PyObject *meth_KTextEditor_Plugin_receivers(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Plugin_receivers(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        char * a0;
        sipKTextEditor_Plugin *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BG", &sipSelf, sipType_KTextEditor_Plugin, &sipCpp, &a0))
        {
            int sipRes = 0;

#line 538 "/usr/local/share/py-sip/QtCore/qobject.sip"
        // We need to take into account any proxies for Python signals. Import the
        // helper if it hasn't already been done.
        typedef int (*helper_func)(QObject *, const char *, int);
        
        static helper_func helper = 0;
        
        if (!helper)
            helper = (helper_func)sipImportSymbol("qpycore_qobject_receivers");
        
        if (helper)
        #if defined(SIP_PROTECTED_IS_PUBLIC)
            sipRes = helper(sipCpp, a0, sipCpp->receivers(a0));
        #else
            sipRes = helper(sipCpp, a0, sipCpp->sipProtect_receivers(a0));
        #endif
#line 3870 "sipktexteditorpart3.cpp"

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Plugin, sipName_receivers, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Plugin_timerEvent(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Plugin_timerEvent(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        QTimerEvent * a0;
        sipKTextEditor_Plugin *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_KTextEditor_Plugin, &sipCpp, sipType_QTimerEvent, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_timerEvent(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Plugin, sipName_timerEvent, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Plugin_childEvent(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Plugin_childEvent(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        QChildEvent * a0;
        sipKTextEditor_Plugin *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_KTextEditor_Plugin, &sipCpp, sipType_QChildEvent, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_childEvent(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Plugin, sipName_childEvent, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Plugin_customEvent(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Plugin_customEvent(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        QEvent * a0;
        sipKTextEditor_Plugin *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_KTextEditor_Plugin, &sipCpp, sipType_QEvent, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_customEvent(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Plugin, sipName_customEvent, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Plugin_connectNotify(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Plugin_connectNotify(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        char * a0;
        sipKTextEditor_Plugin *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BG", &sipSelf, sipType_KTextEditor_Plugin, &sipCpp, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_connectNotify(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Plugin, sipName_connectNotify, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Plugin_disconnectNotify(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Plugin_disconnectNotify(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        char * a0;
        sipKTextEditor_Plugin *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BG", &sipSelf, sipType_KTextEditor_Plugin, &sipCpp, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_disconnectNotify(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Plugin, sipName_disconnectNotify, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Plugin_addDocument(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Plugin_addDocument(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::Document * a0;
        KTextEditor::Plugin *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_KTextEditor_Plugin, &sipCpp, sipType_KTextEditor_Document, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::Plugin::addDocument(a0) : sipCpp->addDocument(a0));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Plugin, sipName_addDocument, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Plugin_removeDocument(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Plugin_removeDocument(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::Document * a0;
        KTextEditor::Plugin *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_KTextEditor_Plugin, &sipCpp, sipType_KTextEditor_Document, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::Plugin::removeDocument(a0) : sipCpp->removeDocument(a0));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Plugin, sipName_removeDocument, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Plugin_addView(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Plugin_addView(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::View * a0;
        KTextEditor::Plugin *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_KTextEditor_Plugin, &sipCpp, sipType_KTextEditor_View, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::Plugin::addView(a0) : sipCpp->addView(a0));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Plugin, sipName_addView, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_Plugin_removeView(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_Plugin_removeView(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf));

    {
        KTextEditor::View * a0;
        KTextEditor::Plugin *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_KTextEditor_Plugin, &sipCpp, sipType_KTextEditor_View, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->KTextEditor::Plugin::removeView(a0) : sipCpp->removeView(a0));
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_Plugin, sipName_removeView, NULL);

    return NULL;
}


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

    if (targetType == sipType_KTextEditor_Plugin)
        return ptr;

    if ((res = ((const sipClassTypeDef *)sipType_QObject)->ctd_cast((QObject *)(KTextEditor::Plugin *)ptr,targetType)) != NULL)
        return res;

    return NULL;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipKTextEditor_Plugin *>(sipCppV);
    else
        delete reinterpret_cast<KTextEditor::Plugin *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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

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


extern "C" {static void *init_KTextEditor_Plugin(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_KTextEditor_Plugin(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **sipOwner, PyObject **sipParseErr)
{
    sipKTextEditor_Plugin *sipCpp = 0;

    {
        QObject * a0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "JH", sipType_QObject, &a0, sipOwner))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_Plugin(a0);
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return NULL;
}


/* Define this type's super-types. */
static sipEncodedTypeDef supers_KTextEditor_Plugin[] = {{129, 0, 1}};


static PyMethodDef methods_KTextEditor_Plugin[] = {
    {SIP_MLNAME_CAST(sipName_addDocument), meth_KTextEditor_Plugin_addDocument, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_addView), meth_KTextEditor_Plugin_addView, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_childEvent), meth_KTextEditor_Plugin_childEvent, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_connectNotify), meth_KTextEditor_Plugin_connectNotify, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_customEvent), meth_KTextEditor_Plugin_customEvent, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_disconnectNotify), meth_KTextEditor_Plugin_disconnectNotify, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_receivers), meth_KTextEditor_Plugin_receivers, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_removeDocument), meth_KTextEditor_Plugin_removeDocument, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_removeView), meth_KTextEditor_Plugin_removeView, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_timerEvent), meth_KTextEditor_Plugin_timerEvent, METH_VARARGS, NULL}
};


pyqt4ClassTypeDef sipTypeDef_ktexteditor_KTextEditor_Plugin = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_KTextEditor__Plugin,
        {0}
    },
    {
        sipNameNr_Plugin,
        {1, 255, 0},
        10, methods_KTextEditor_Plugin,
        0, 0,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    0,
    -1,
    -1,
    supers_KTextEditor_Plugin,
    0,
    init_KTextEditor_Plugin,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KTextEditor_Plugin,
    0,
    0,
    0,
    release_KTextEditor_Plugin,
    cast_KTextEditor_Plugin,
    0,
    0,
    0
},
    &KTextEditor::Plugin::staticMetaObject,
    0,
    0
};

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/modificationinterface.sip"
#include <ktexteditor/modificationinterface.h>
#line 4273 "sipktexteditorpart3.cpp"

#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/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 4285 "sipktexteditorpart3.cpp"
#line 30 "/work/a/ports/devel/kdebindings4-python-pykde4/work/kdebindings-4.4.5/python/pykde4/sip/ktexteditor/view.sip"
#include <ktexteditor/view.h>

#include <ktexteditor/codecompletioninterface.h>
#include <ktexteditor/sessionconfiginterface.h>
#include <ktexteditor/texthintinterface.h>
#line 4292 "sipktexteditorpart3.cpp"


class sipKTextEditor_ModificationInterface : public KTextEditor::ModificationInterface
{
public:
    sipKTextEditor_ModificationInterface();
    virtual ~sipKTextEditor_ModificationInterface();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void setModifiedOnDisk(KTextEditor::ModificationInterface::ModifiedOnDiskReason);
    void setModifiedOnDiskWarning(bool);
    void slotModifiedOnDisk(KTextEditor::View *);
    void modifiedOnDisk(KTextEditor::Document *,bool,KTextEditor::ModificationInterface::ModifiedOnDiskReason);

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[4];
};

sipKTextEditor_ModificationInterface::sipKTextEditor_ModificationInterface(): KTextEditor::ModificationInterface(), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

void sipKTextEditor_ModificationInterface::setModifiedOnDisk(KTextEditor::ModificationInterface::ModifiedOnDiskReason a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[0],sipPySelf,sipName_ModificationInterface,sipName_setModifiedOnDisk);

    if (!meth)
        return;

    extern void sipVH_ktexteditor_46(sip_gilstate_t,PyObject *,KTextEditor::ModificationInterface::ModifiedOnDiskReason);

    sipVH_ktexteditor_46(sipGILState,meth,a0);
}

void sipKTextEditor_ModificationInterface::setModifiedOnDiskWarning(bool a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[1],sipPySelf,sipName_ModificationInterface,sipName_setModifiedOnDiskWarning);

    if (!meth)
        return;

    typedef void (*sipVH_QtNetwork_1)(sip_gilstate_t,PyObject *,bool);

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

void sipKTextEditor_ModificationInterface::slotModifiedOnDisk(KTextEditor::View *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[2],sipPySelf,sipName_ModificationInterface,sipName_slotModifiedOnDisk);

    if (!meth)
        return;

    extern void sipVH_ktexteditor_22(sip_gilstate_t,PyObject *,KTextEditor::View *);

    sipVH_ktexteditor_22(sipGILState,meth,a0);
}

void sipKTextEditor_ModificationInterface::modifiedOnDisk(KTextEditor::Document *a0,bool a1,KTextEditor::ModificationInterface::ModifiedOnDiskReason a2)
{
    sip_gilstate_t sipGILState;
    PyObject *meth;

    meth = sipIsPyMethod(&sipGILState,&sipPyMethods[3],sipPySelf,sipName_ModificationInterface,sipName_modifiedOnDisk);

    if (!meth)
        return;

    extern void sipVH_ktexteditor_45(sip_gilstate_t,PyObject *,KTextEditor::Document *,bool,KTextEditor::ModificationInterface::ModifiedOnDiskReason);

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


extern "C" {static PyObject *meth_KTextEditor_ModificationInterface_setModifiedOnDisk(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_ModificationInterface_setModifiedOnDisk(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    PyObject *sipOrigSelf = sipSelf;

    {
        KTextEditor::ModificationInterface::ModifiedOnDiskReason a0;
        KTextEditor::ModificationInterface *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BE", &sipSelf, sipType_KTextEditor_ModificationInterface, &sipCpp, sipType_KTextEditor_ModificationInterface_ModifiedOnDiskReason, &a0))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_ModificationInterface, sipName_setModifiedOnDisk);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipCpp->setModifiedOnDisk(a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_ModificationInterface, sipName_setModifiedOnDisk, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_ModificationInterface_setModifiedOnDiskWarning(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_ModificationInterface_setModifiedOnDiskWarning(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    PyObject *sipOrigSelf = sipSelf;

    {
        bool a0;
        KTextEditor::ModificationInterface *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bb", &sipSelf, sipType_KTextEditor_ModificationInterface, &sipCpp, &a0))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_ModificationInterface, sipName_setModifiedOnDiskWarning);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipCpp->setModifiedOnDiskWarning(a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_ModificationInterface, sipName_setModifiedOnDiskWarning, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_ModificationInterface_slotModifiedOnDisk(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_ModificationInterface_slotModifiedOnDisk(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    PyObject *sipOrigSelf = sipSelf;

    {
        KTextEditor::View * a0 = 0;
        KTextEditor::ModificationInterface *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B|J8", &sipSelf, sipType_KTextEditor_ModificationInterface, &sipCpp, sipType_KTextEditor_View, &a0))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_ModificationInterface, sipName_slotModifiedOnDisk);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipCpp->slotModifiedOnDisk(a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_ModificationInterface, sipName_slotModifiedOnDisk, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KTextEditor_ModificationInterface_modifiedOnDisk(PyObject *, PyObject *);}
static PyObject *meth_KTextEditor_ModificationInterface_modifiedOnDisk(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    PyObject *sipOrigSelf = sipSelf;

    {
        KTextEditor::Document * a0;
        bool a1;
        KTextEditor::ModificationInterface::ModifiedOnDiskReason a2;
        KTextEditor::ModificationInterface *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8bE", &sipSelf, sipType_KTextEditor_ModificationInterface, &sipCpp, sipType_KTextEditor_Document, &a0, &a1, sipType_KTextEditor_ModificationInterface_ModifiedOnDiskReason, &a2))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_ModificationInterface, sipName_modifiedOnDisk);
                return NULL;
            }

            Py_BEGIN_ALLOW_THREADS
            sipCpp->modifiedOnDisk(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(sipParseErr, sipName_ModificationInterface, sipName_modifiedOnDisk, NULL);

    return NULL;
}


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

    return NULL;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipKTextEditor_ModificationInterface *>(sipCppV);
    else
        delete reinterpret_cast<KTextEditor::ModificationInterface *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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

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


extern "C" {static void *init_KTextEditor_ModificationInterface(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_KTextEditor_ModificationInterface(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    sipKTextEditor_ModificationInterface *sipCpp = 0;

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, ""))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipKTextEditor_ModificationInterface();
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return NULL;
}


static PyMethodDef methods_KTextEditor_ModificationInterface[] = {
    {SIP_MLNAME_CAST(sipName_modifiedOnDisk), meth_KTextEditor_ModificationInterface_modifiedOnDisk, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setModifiedOnDisk), meth_KTextEditor_ModificationInterface_setModifiedOnDisk, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setModifiedOnDiskWarning), meth_KTextEditor_ModificationInterface_setModifiedOnDiskWarning, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_slotModifiedOnDisk), meth_KTextEditor_ModificationInterface_slotModifiedOnDisk, METH_VARARGS, NULL}
};

static sipEnumMemberDef enummembers_KTextEditor_ModificationInterface[] = {
    {sipName_OnDiskCreated, KTextEditor::ModificationInterface::OnDiskCreated, 32},
    {sipName_OnDiskDeleted, KTextEditor::ModificationInterface::OnDiskDeleted, 32},
    {sipName_OnDiskModified, KTextEditor::ModificationInterface::OnDiskModified, 32},
    {sipName_OnDiskUnmodified, KTextEditor::ModificationInterface::OnDiskUnmodified, 32},
};


pyqt4ClassTypeDef sipTypeDef_ktexteditor_KTextEditor_ModificationInterface = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_ABSTRACT|SIP_TYPE_CLASS,
        sipNameNr_KTextEditor__ModificationInterface,
        {0}
    },
    {
        sipNameNr_ModificationInterface,
        {1, 255, 0},
        4, methods_KTextEditor_ModificationInterface,
        4, enummembers_KTextEditor_ModificationInterface,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    0,
    sipNameNr_PyQt4_QtCore_pyqtWrapperType,
    -1,
    0,
    0,
    init_KTextEditor_ModificationInterface,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KTextEditor_ModificationInterface,
    0,
    0,
    0,
    release_KTextEditor_ModificationInterface,
    cast_KTextEditor_ModificationInterface,
    0,
    0,
    0
},
    0,
    0,
    0
};
