/*
 * Interface wrapper code.
 *
 * Generated by SIP 6.15.1
 *
 *     Copyright: (c) 2020 by Total Control Software
 *     License:   wxWindows License
 */

#include "sipAPI_richtext.h"
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/gdicmn.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/gdicmn.h>
        #include <wx/dc.h>
        #include <wx/gdicmn.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/xml/xml.h>
        #include <wx/richtext/richtextxml.h>
        #include <wx/window.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>


class sipwxRichTextCompositeObject : public ::wxRichTextCompositeObject
{
public:
    sipwxRichTextCompositeObject(::wxRichTextObject*);
    sipwxRichTextCompositeObject(const ::wxRichTextCompositeObject&);
    virtual ~sipwxRichTextCompositeObject();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    ::wxRichTextObject* GetChildAtPosition(long) const SIP_OVERRIDE;
    bool Draw(::wxDC&, ::wxRichTextDrawingContext&, const ::wxRichTextRange&, const ::wxRichTextSelection&, const ::wxRect&, int, int) SIP_OVERRIDE;
    bool Layout(::wxDC&, ::wxRichTextDrawingContext&, const ::wxRect&, const ::wxRect&, int) SIP_OVERRIDE;
    int HitTest(::wxDC&, ::wxRichTextDrawingContext&, const ::wxPoint&, long&, ::wxRichTextObject**, ::wxRichTextObject**, int) SIP_OVERRIDE;
    bool FindPosition(::wxDC&, ::wxRichTextDrawingContext&, long, ::wxPoint&, int*, bool) SIP_OVERRIDE;
    ::wxSize GetBestSize() const SIP_OVERRIDE;
    bool GetRangeSize(const ::wxRichTextRange&, ::wxSize&, int&, ::wxDC&, ::wxRichTextDrawingContext&, int, const ::wxPoint&, const ::wxSize&, ::wxArrayInt*) const SIP_OVERRIDE;
    ::wxRichTextObject* DoSplit(long) SIP_OVERRIDE;
    void CalculateRange(long, long&) SIP_OVERRIDE;
    bool DeleteRange(const ::wxRichTextRange&) SIP_OVERRIDE;
    bool IsEmpty() const SIP_OVERRIDE;
    bool IsFloatable() const SIP_OVERRIDE;
    bool IsFloating() const SIP_OVERRIDE;
    int GetFloatDirection() const SIP_OVERRIDE;
    ::wxString GetTextForRange(const ::wxRichTextRange&) const SIP_OVERRIDE;
    bool CanMerge(::wxRichTextObject*, ::wxRichTextDrawingContext&) const SIP_OVERRIDE;
    bool Merge(::wxRichTextObject*, ::wxRichTextDrawingContext&) SIP_OVERRIDE;
    bool CanSplit(::wxRichTextDrawingContext&) const SIP_OVERRIDE;
    ::wxRichTextObject* Split(::wxRichTextDrawingContext&) SIP_OVERRIDE;
    bool CanEditProperties() const SIP_OVERRIDE;
    bool EditProperties(::wxWindow*, ::wxRichTextBuffer*) SIP_OVERRIDE;
    ::wxString GetPropertiesMenuLabel() const SIP_OVERRIDE;
    bool AcceptsFocus() const SIP_OVERRIDE;
    bool ImportFromXML(::wxRichTextBuffer*, ::wxXmlNode*, ::wxRichTextXMLHandler*, bool*) SIP_OVERRIDE;
    bool UsesParagraphAttributes() const SIP_OVERRIDE;
    ::wxString GetXMLNodeName() const SIP_OVERRIDE;
    void Invalidate(const ::wxRichTextRange&) SIP_OVERRIDE;
    bool HandlesChildSelections() const SIP_OVERRIDE;
    ::wxRichTextSelection GetSelection(long, long) const SIP_OVERRIDE;
    ::wxSize GetCachedSize() const SIP_OVERRIDE;
    void SetCachedSize(const ::wxSize&) SIP_OVERRIDE;
    ::wxSize GetMaxSize() const SIP_OVERRIDE;
    void SetMaxSize(const ::wxSize&) SIP_OVERRIDE;
    ::wxSize GetMinSize() const SIP_OVERRIDE;
    void SetMinSize(const ::wxSize&) SIP_OVERRIDE;
    ::wxTextAttrSize GetNaturalSize() const SIP_OVERRIDE;
    ::wxPoint GetPosition() const SIP_OVERRIDE;
    void SetPosition(const ::wxPoint&) SIP_OVERRIDE;
    ::wxPoint GetAbsolutePosition() const SIP_OVERRIDE;
    ::wxRect GetRect() const SIP_OVERRIDE;
    bool IsComposite() const SIP_OVERRIDE;
    bool IsAtomic() const SIP_OVERRIDE;
    ::wxRichTextObject* GetParent() const SIP_OVERRIDE;
    void SetParent(::wxRichTextObject*) SIP_OVERRIDE;
    ::wxRichTextParagraphLayoutBox* GetContainer() const SIP_OVERRIDE;
    ::wxRichTextParagraphLayoutBox* GetParentContainer() const SIP_OVERRIDE;
    void SetMargins(int) SIP_OVERRIDE;
    void SetMargins(int, int, int, int) SIP_OVERRIDE;
    int GetLeftMargin() const SIP_OVERRIDE;
    int GetRightMargin() const SIP_OVERRIDE;
    int GetTopMargin() const SIP_OVERRIDE;
    int GetBottomMargin() const SIP_OVERRIDE;
    ::wxRect GetAvailableContentArea(::wxDC&, ::wxRichTextDrawingContext&, const ::wxRect&) const SIP_OVERRIDE;
    bool LayoutToBestSize(::wxDC&, ::wxRichTextDrawingContext&, ::wxRichTextBuffer*, const ::wxRichTextAttr&, const ::wxRichTextAttr&, const ::wxRect&, const ::wxRect&, int) SIP_OVERRIDE;
    bool AdjustAttributes(::wxRichTextAttr&, ::wxRichTextDrawingContext&) SIP_OVERRIDE;
    bool IsTopLevel() const SIP_OVERRIDE;
    void Show(bool) SIP_OVERRIDE;
    ::wxRichTextObject* Clone() const SIP_OVERRIDE;
    void Move(const ::wxPoint&) SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[59];
};

sipwxRichTextCompositeObject::sipwxRichTextCompositeObject(::wxRichTextObject*parent): ::wxRichTextCompositeObject(parent), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxRichTextCompositeObject::sipwxRichTextCompositeObject(const ::wxRichTextCompositeObject& a0): ::wxRichTextCompositeObject(a0), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxRichTextCompositeObject::~sipwxRichTextCompositeObject()
{
    sipInstanceDestroyedEx(&sipPySelf);
}

::wxRichTextObject* sipwxRichTextCompositeObject::GetChildAtPosition(long pos) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[0]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetChildAtPosition);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetChildAtPosition(pos);

    extern ::wxRichTextObject* sipVH__richtext_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long);

    return sipVH__richtext_6(sipGILState, 0, sipPySelf, sipMeth, pos);
}

bool sipwxRichTextCompositeObject::Draw(::wxDC& dc, ::wxRichTextDrawingContext& context, const ::wxRichTextRange& range, const ::wxRichTextSelection& selection, const ::wxRect& rect, int descent, int style)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[1], &sipPySelf, sipName_RichTextCompositeObject, sipName_Draw);

    if (!sipMeth)
        return 0;

    extern bool sipVH__richtext_0(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, const ::wxRichTextRange&, const ::wxRichTextSelection&, const ::wxRect&, int, int);

    return sipVH__richtext_0(sipGILState, 0, sipPySelf, sipMeth, dc, context, range, selection, rect, descent, style);
}

bool sipwxRichTextCompositeObject::Layout(::wxDC& dc, ::wxRichTextDrawingContext& context, const ::wxRect& rect, const ::wxRect& parentRect, int style)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[2], &sipPySelf, sipName_RichTextCompositeObject, sipName_Layout);

    if (!sipMeth)
        return 0;

    extern bool sipVH__richtext_1(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, const ::wxRect&, const ::wxRect&, int);

    return sipVH__richtext_1(sipGILState, 0, sipPySelf, sipMeth, dc, context, rect, parentRect, style);
}

int sipwxRichTextCompositeObject::HitTest(::wxDC& dc, ::wxRichTextDrawingContext& context, const ::wxPoint& pt, long& textPosition, ::wxRichTextObject**obj, ::wxRichTextObject**contextObj, int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[3], &sipPySelf, SIP_NULLPTR, sipName_HitTest);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::HitTest(dc, context, pt, textPosition, obj, contextObj, flags);

    extern int sipVH__richtext_2(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, const ::wxPoint&, long&, ::wxRichTextObject**, ::wxRichTextObject**, int);

    return sipVH__richtext_2(sipGILState, 0, sipPySelf, sipMeth, dc, context, pt, textPosition, obj, contextObj, flags);
}

bool sipwxRichTextCompositeObject::FindPosition(::wxDC& dc, ::wxRichTextDrawingContext& context, long index, ::wxPoint& pt, int*height, bool forceLineStart)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[4], &sipPySelf, SIP_NULLPTR, sipName_FindPosition);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::FindPosition(dc, context, index, pt, height, forceLineStart);

    extern bool sipVH__richtext_3(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, long, ::wxPoint&, int*, bool);

    return sipVH__richtext_3(sipGILState, 0, sipPySelf, sipMeth, dc, context, index, pt, height, forceLineStart);
}

::wxSize sipwxRichTextCompositeObject::GetBestSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[5]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetBestSize);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetBestSize();

    extern ::wxSize sipVH__richtext_4(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_4(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxRichTextCompositeObject::GetRangeSize(const ::wxRichTextRange& range, ::wxSize& size, int& descent, ::wxDC& dc, ::wxRichTextDrawingContext& context, int flags, const ::wxPoint& position, const ::wxSize& parentSize, ::wxArrayInt*partialExtents) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[6]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetRangeSize);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetRangeSize(range, size, descent, dc, context, flags, position, parentSize, partialExtents);

    extern bool sipVH__richtext_5(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxRichTextRange&, ::wxSize&, int&, ::wxDC&, ::wxRichTextDrawingContext&, int, const ::wxPoint&, const ::wxSize&, ::wxArrayInt*);

    return sipVH__richtext_5(sipGILState, 0, sipPySelf, sipMeth, range, size, descent, dc, context, flags, position, parentSize, partialExtents);
}

::wxRichTextObject* sipwxRichTextCompositeObject::DoSplit(long pos)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[7], &sipPySelf, SIP_NULLPTR, sipName_DoSplit);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::DoSplit(pos);

    extern ::wxRichTextObject* sipVH__richtext_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long);

    return sipVH__richtext_6(sipGILState, 0, sipPySelf, sipMeth, pos);
}

void sipwxRichTextCompositeObject::CalculateRange(long start, long& end)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[8], &sipPySelf, SIP_NULLPTR, sipName_CalculateRange);

    if (!sipMeth)
    {
        ::wxRichTextCompositeObject::CalculateRange(start, end);
        return;
    }

    extern void sipVH__richtext_7(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long, long&);

    sipVH__richtext_7(sipGILState, 0, sipPySelf, sipMeth, start, end);
}

bool sipwxRichTextCompositeObject::DeleteRange(const ::wxRichTextRange& range)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[9], &sipPySelf, SIP_NULLPTR, sipName_DeleteRange);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::DeleteRange(range);

    extern bool sipVH__richtext_8(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxRichTextRange&);

    return sipVH__richtext_8(sipGILState, 0, sipPySelf, sipMeth, range);
}

bool sipwxRichTextCompositeObject::IsEmpty() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[10]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_IsEmpty);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::IsEmpty();

    extern bool sipVH__richtext_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_9(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxRichTextCompositeObject::IsFloatable() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[11]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_IsFloatable);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::IsFloatable();

    extern bool sipVH__richtext_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_9(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxRichTextCompositeObject::IsFloating() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[12]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_IsFloating);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::IsFloating();

    extern bool sipVH__richtext_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_9(sipGILState, 0, sipPySelf, sipMeth);
}

int sipwxRichTextCompositeObject::GetFloatDirection() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[13]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetFloatDirection);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetFloatDirection();

    extern int sipVH__richtext_10(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_10(sipGILState, 0, sipPySelf, sipMeth);
}

::wxString sipwxRichTextCompositeObject::GetTextForRange(const ::wxRichTextRange& range) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[14]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetTextForRange);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetTextForRange(range);

    extern ::wxString sipVH__richtext_11(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxRichTextRange&);

    return sipVH__richtext_11(sipGILState, 0, sipPySelf, sipMeth, range);
}

bool sipwxRichTextCompositeObject::CanMerge(::wxRichTextObject*object, ::wxRichTextDrawingContext& context) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[15]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_CanMerge);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::CanMerge(object, context);

    extern bool sipVH__richtext_12(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextObject*, ::wxRichTextDrawingContext&);

    return sipVH__richtext_12(sipGILState, 0, sipPySelf, sipMeth, object, context);
}

bool sipwxRichTextCompositeObject::Merge(::wxRichTextObject*object, ::wxRichTextDrawingContext& context)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[16], &sipPySelf, SIP_NULLPTR, sipName_Merge);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::Merge(object, context);

    extern bool sipVH__richtext_12(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextObject*, ::wxRichTextDrawingContext&);

    return sipVH__richtext_12(sipGILState, 0, sipPySelf, sipMeth, object, context);
}

bool sipwxRichTextCompositeObject::CanSplit(::wxRichTextDrawingContext& context) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[17]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_CanSplit);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::CanSplit(context);

    extern bool sipVH__richtext_13(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextDrawingContext&);

    return sipVH__richtext_13(sipGILState, 0, sipPySelf, sipMeth, context);
}

::wxRichTextObject* sipwxRichTextCompositeObject::Split(::wxRichTextDrawingContext& context)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[18], &sipPySelf, SIP_NULLPTR, sipName_Split);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::Split(context);

    extern ::wxRichTextObject* sipVH__richtext_14(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextDrawingContext&);

    return sipVH__richtext_14(sipGILState, 0, sipPySelf, sipMeth, context);
}

bool sipwxRichTextCompositeObject::CanEditProperties() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[19]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_CanEditProperties);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::CanEditProperties();

    extern bool sipVH__richtext_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_9(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxRichTextCompositeObject::EditProperties(::wxWindow*parent, ::wxRichTextBuffer*buffer)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[20], &sipPySelf, SIP_NULLPTR, sipName_EditProperties);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::EditProperties(parent, buffer);

    extern bool sipVH__richtext_15(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxWindow*, ::wxRichTextBuffer*);

    return sipVH__richtext_15(sipGILState, 0, sipPySelf, sipMeth, parent, buffer);
}

::wxString sipwxRichTextCompositeObject::GetPropertiesMenuLabel() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[21]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetPropertiesMenuLabel);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetPropertiesMenuLabel();

    extern ::wxString sipVH__richtext_16(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_16(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxRichTextCompositeObject::AcceptsFocus() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[22]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_AcceptsFocus);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::AcceptsFocus();

    extern bool sipVH__richtext_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_9(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxRichTextCompositeObject::ImportFromXML(::wxRichTextBuffer*buffer, ::wxXmlNode*node, ::wxRichTextXMLHandler*handler, bool*recurse)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[23], &sipPySelf, SIP_NULLPTR, sipName_ImportFromXML);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::ImportFromXML(buffer, node, handler, recurse);

    extern bool sipVH__richtext_17(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextBuffer*, ::wxXmlNode*, ::wxRichTextXMLHandler*, bool*);

    return sipVH__richtext_17(sipGILState, 0, sipPySelf, sipMeth, buffer, node, handler, recurse);
}

bool sipwxRichTextCompositeObject::UsesParagraphAttributes() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[24]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_UsesParagraphAttributes);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::UsesParagraphAttributes();

    extern bool sipVH__richtext_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_9(sipGILState, 0, sipPySelf, sipMeth);
}

::wxString sipwxRichTextCompositeObject::GetXMLNodeName() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[25]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetXMLNodeName);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetXMLNodeName();

    extern ::wxString sipVH__richtext_16(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_16(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxRichTextCompositeObject::Invalidate(const ::wxRichTextRange& invalidRange)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[26], &sipPySelf, SIP_NULLPTR, sipName_Invalidate);

    if (!sipMeth)
    {
        ::wxRichTextCompositeObject::Invalidate(invalidRange);
        return;
    }

    extern void sipVH__richtext_18(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxRichTextRange&);

    sipVH__richtext_18(sipGILState, 0, sipPySelf, sipMeth, invalidRange);
}

bool sipwxRichTextCompositeObject::HandlesChildSelections() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[27]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_HandlesChildSelections);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::HandlesChildSelections();

    extern bool sipVH__richtext_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_9(sipGILState, 0, sipPySelf, sipMeth);
}

::wxRichTextSelection sipwxRichTextCompositeObject::GetSelection(long start, long end) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[28]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetSelection);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetSelection(start, end);

    extern ::wxRichTextSelection sipVH__richtext_19(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long, long);

    return sipVH__richtext_19(sipGILState, 0, sipPySelf, sipMeth, start, end);
}

::wxSize sipwxRichTextCompositeObject::GetCachedSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[29]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetCachedSize);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetCachedSize();

    extern ::wxSize sipVH__richtext_4(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_4(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxRichTextCompositeObject::SetCachedSize(const ::wxSize& sz)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[30], &sipPySelf, SIP_NULLPTR, sipName_SetCachedSize);

    if (!sipMeth)
    {
        ::wxRichTextCompositeObject::SetCachedSize(sz);
        return;
    }

    extern void sipVH__richtext_20(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxSize&);

    sipVH__richtext_20(sipGILState, 0, sipPySelf, sipMeth, sz);
}

::wxSize sipwxRichTextCompositeObject::GetMaxSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[31]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetMaxSize);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetMaxSize();

    extern ::wxSize sipVH__richtext_4(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_4(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxRichTextCompositeObject::SetMaxSize(const ::wxSize& sz)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[32], &sipPySelf, SIP_NULLPTR, sipName_SetMaxSize);

    if (!sipMeth)
    {
        ::wxRichTextCompositeObject::SetMaxSize(sz);
        return;
    }

    extern void sipVH__richtext_20(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxSize&);

    sipVH__richtext_20(sipGILState, 0, sipPySelf, sipMeth, sz);
}

::wxSize sipwxRichTextCompositeObject::GetMinSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[33]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetMinSize);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetMinSize();

    extern ::wxSize sipVH__richtext_4(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_4(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxRichTextCompositeObject::SetMinSize(const ::wxSize& sz)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[34], &sipPySelf, SIP_NULLPTR, sipName_SetMinSize);

    if (!sipMeth)
    {
        ::wxRichTextCompositeObject::SetMinSize(sz);
        return;
    }

    extern void sipVH__richtext_20(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxSize&);

    sipVH__richtext_20(sipGILState, 0, sipPySelf, sipMeth, sz);
}

::wxTextAttrSize sipwxRichTextCompositeObject::GetNaturalSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[35]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetNaturalSize);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetNaturalSize();

    extern ::wxTextAttrSize sipVH__richtext_21(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_21(sipGILState, 0, sipPySelf, sipMeth);
}

::wxPoint sipwxRichTextCompositeObject::GetPosition() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[36]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetPosition);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetPosition();

    extern ::wxPoint sipVH__richtext_22(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_22(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxRichTextCompositeObject::SetPosition(const ::wxPoint& pos)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[37], &sipPySelf, SIP_NULLPTR, sipName_SetPosition);

    if (!sipMeth)
    {
        ::wxRichTextCompositeObject::SetPosition(pos);
        return;
    }

    extern void sipVH__richtext_23(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxPoint&);

    sipVH__richtext_23(sipGILState, 0, sipPySelf, sipMeth, pos);
}

::wxPoint sipwxRichTextCompositeObject::GetAbsolutePosition() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[38]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetAbsolutePosition);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetAbsolutePosition();

    extern ::wxPoint sipVH__richtext_22(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_22(sipGILState, 0, sipPySelf, sipMeth);
}

::wxRect sipwxRichTextCompositeObject::GetRect() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[39]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetRect);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetRect();

    extern ::wxRect sipVH__richtext_24(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_24(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxRichTextCompositeObject::IsComposite() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[40]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_IsComposite);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::IsComposite();

    extern bool sipVH__richtext_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_9(sipGILState, 0, sipPySelf, sipMeth);
}

bool sipwxRichTextCompositeObject::IsAtomic() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[41]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_IsAtomic);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::IsAtomic();

    extern bool sipVH__richtext_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_9(sipGILState, 0, sipPySelf, sipMeth);
}

::wxRichTextObject* sipwxRichTextCompositeObject::GetParent() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[42]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetParent);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetParent();

    extern ::wxRichTextObject* sipVH__richtext_34(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_34(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxRichTextCompositeObject::SetParent(::wxRichTextObject*parent)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[43], &sipPySelf, SIP_NULLPTR, sipName_SetParent);

    if (!sipMeth)
    {
        ::wxRichTextCompositeObject::SetParent(parent);
        return;
    }

    extern void sipVH__richtext_26(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextObject*);

    sipVH__richtext_26(sipGILState, 0, sipPySelf, sipMeth, parent);
}

::wxRichTextParagraphLayoutBox* sipwxRichTextCompositeObject::GetContainer() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[44]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetContainer);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetContainer();

    extern ::wxRichTextParagraphLayoutBox* sipVH__richtext_27(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_27(sipGILState, 0, sipPySelf, sipMeth);
}

::wxRichTextParagraphLayoutBox* sipwxRichTextCompositeObject::GetParentContainer() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[45]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetParentContainer);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetParentContainer();

    extern ::wxRichTextParagraphLayoutBox* sipVH__richtext_27(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_27(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxRichTextCompositeObject::SetMargins(int margin)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[46], &sipPySelf, SIP_NULLPTR, sipName_SetMargins);

    if (!sipMeth)
    {
        ::wxRichTextCompositeObject::SetMargins(margin);
        return;
    }

    extern void sipVH__richtext_28(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int);

    sipVH__richtext_28(sipGILState, 0, sipPySelf, sipMeth, margin);
}

void sipwxRichTextCompositeObject::SetMargins(int leftMargin, int rightMargin, int topMargin, int bottomMargin)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[47], &sipPySelf, SIP_NULLPTR, sipName_SetMargins);

    if (!sipMeth)
    {
        ::wxRichTextCompositeObject::SetMargins(leftMargin, rightMargin, topMargin, bottomMargin);
        return;
    }

    extern void sipVH__richtext_29(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, int, int, int);

    sipVH__richtext_29(sipGILState, 0, sipPySelf, sipMeth, leftMargin, rightMargin, topMargin, bottomMargin);
}

int sipwxRichTextCompositeObject::GetLeftMargin() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[48]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetLeftMargin);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetLeftMargin();

    extern int sipVH__richtext_10(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_10(sipGILState, 0, sipPySelf, sipMeth);
}

int sipwxRichTextCompositeObject::GetRightMargin() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[49]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetRightMargin);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetRightMargin();

    extern int sipVH__richtext_10(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_10(sipGILState, 0, sipPySelf, sipMeth);
}

int sipwxRichTextCompositeObject::GetTopMargin() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[50]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetTopMargin);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetTopMargin();

    extern int sipVH__richtext_10(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_10(sipGILState, 0, sipPySelf, sipMeth);
}

int sipwxRichTextCompositeObject::GetBottomMargin() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[51]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetBottomMargin);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetBottomMargin();

    extern int sipVH__richtext_10(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_10(sipGILState, 0, sipPySelf, sipMeth);
}

::wxRect sipwxRichTextCompositeObject::GetAvailableContentArea(::wxDC& dc, ::wxRichTextDrawingContext& context, const ::wxRect& outerRect) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[52]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetAvailableContentArea);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::GetAvailableContentArea(dc, context, outerRect);

    extern ::wxRect sipVH__richtext_30(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, const ::wxRect&);

    return sipVH__richtext_30(sipGILState, 0, sipPySelf, sipMeth, dc, context, outerRect);
}

bool sipwxRichTextCompositeObject::LayoutToBestSize(::wxDC& dc, ::wxRichTextDrawingContext& context, ::wxRichTextBuffer*buffer, const ::wxRichTextAttr& parentAttr, const ::wxRichTextAttr& attr, const ::wxRect& availableParentSpace, const ::wxRect& availableContainerSpace, int style)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[53], &sipPySelf, SIP_NULLPTR, sipName_LayoutToBestSize);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::LayoutToBestSize(dc, context, buffer, parentAttr, attr, availableParentSpace, availableContainerSpace, style);

    extern bool sipVH__richtext_31(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, ::wxRichTextBuffer*, const ::wxRichTextAttr&, const ::wxRichTextAttr&, const ::wxRect&, const ::wxRect&, int);

    return sipVH__richtext_31(sipGILState, 0, sipPySelf, sipMeth, dc, context, buffer, parentAttr, attr, availableParentSpace, availableContainerSpace, style);
}

bool sipwxRichTextCompositeObject::AdjustAttributes(::wxRichTextAttr& attr, ::wxRichTextDrawingContext& context)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[54], &sipPySelf, SIP_NULLPTR, sipName_AdjustAttributes);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::AdjustAttributes(attr, context);

    extern bool sipVH__richtext_32(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextAttr&, ::wxRichTextDrawingContext&);

    return sipVH__richtext_32(sipGILState, 0, sipPySelf, sipMeth, attr, context);
}

bool sipwxRichTextCompositeObject::IsTopLevel() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[55]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_IsTopLevel);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::IsTopLevel();

    extern bool sipVH__richtext_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_9(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxRichTextCompositeObject::Show(bool show)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[56], &sipPySelf, SIP_NULLPTR, sipName_Show);

    if (!sipMeth)
    {
        ::wxRichTextCompositeObject::Show(show);
        return;
    }

    extern void sipVH__richtext_33(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, bool);

    sipVH__richtext_33(sipGILState, 0, sipPySelf, sipMeth, show);
}

::wxRichTextObject* sipwxRichTextCompositeObject::Clone() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[57]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_Clone);

    if (!sipMeth)
        return ::wxRichTextCompositeObject::Clone();

    extern ::wxRichTextObject* sipVH__richtext_34(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__richtext_34(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxRichTextCompositeObject::Move(const ::wxPoint& pt)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[58], &sipPySelf, SIP_NULLPTR, sipName_Move);

    if (!sipMeth)
    {
        ::wxRichTextCompositeObject::Move(pt);
        return;
    }

    extern void sipVH__richtext_23(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxPoint&);

    sipVH__richtext_23(sipGILState, 0, sipPySelf, sipMeth, pt);
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_HitTest, "HitTest(dc, context, pt, flags=0) -> Tuple[int, int, RichTextObject, RichTextObject]\n"
"\n"
"Hit-testing: returns a flag indicating hit test details, plus\n"
"information about position.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_HitTest(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_HitTest(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        const ::wxPoint* pt;
        int ptState = 0;
        long textPosition;
        ::wxRichTextObject* obj;
        ::wxRichTextObject* contextObj;
        int flags = 0;
        ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_context,
            sipName_pt,
            sipName_flags,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9J1|i", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, sipType_wxPoint, &pt, &ptState, &flags))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::HitTest(*dc, *context, *pt, textPosition, &obj, &contextObj, flags) : sipCpp->HitTest(*dc, *context, *pt, textPosition, &obj, &contextObj, flags));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint *>(pt), sipType_wxPoint, ptState);

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(ilDD)", sipRes, textPosition, obj, sipType_wxRichTextObject, SIP_NULLPTR, contextObj, sipType_wxRichTextObject, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_HitTest, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_FindPosition, "FindPosition(dc, context, index, forceLineStart) -> Tuple[bool, wx.Point, int]\n"
"\n"
"Finds the absolute position and row height for the given character\n"
"position.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_FindPosition(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_FindPosition(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        long index;
        ::wxPoint* pt;
        int height;
        bool forceLineStart;
        ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_context,
            sipName_index,
            sipName_forceLineStart,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9lb", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, &index, &forceLineStart))
        {
            bool sipRes;
            pt = new ::wxPoint();

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::FindPosition(*dc, *context, index, *pt, &height, forceLineStart) : sipCpp->FindPosition(*dc, *context, index, *pt, &height, forceLineStart));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(bNi)", sipRes, pt, sipType_wxPoint, SIP_NULLPTR, height);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_FindPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_CalculateRange, "CalculateRange(start) -> int\n"
"\n"
"Calculates the range of the object.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_CalculateRange(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_CalculateRange(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        long start;
        long end;
        ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_start,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, &start))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::CalculateRange(start, end) : sipCpp->CalculateRange(start, end));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(end);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_CalculateRange, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_DeleteRange, "DeleteRange(range) -> bool\n"
"\n"
"Deletes the given range.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_DeleteRange(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_DeleteRange(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const ::wxRichTextRange* range;
        int rangeState = 0;
        ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_range,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxRichTextRange, &range, &rangeState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::DeleteRange(*range) : sipCpp->DeleteRange(*range));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRichTextRange *>(range), sipType_wxRichTextRange, rangeState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_DeleteRange, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_GetTextForRange, "GetTextForRange(range) -> str\n"
"\n"
"Returns any text in this object for the given range.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_GetTextForRange(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_GetTextForRange(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const ::wxRichTextRange* range;
        int rangeState = 0;
        const ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_range,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxRichTextRange, &range, &rangeState))
        {
            ::wxString*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxString((sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::GetTextForRange(*range) : sipCpp->GetTextForRange(*range)));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRichTextRange *>(range), sipType_wxRichTextRange, rangeState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes, sipType_wxString, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_GetTextForRange, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_GetRangeSize, "GetRangeSize(range, size, descent, dc, context, flags, position=wx.Point(0,0), parentSize=wx.DefaultSize, partialExtents=None) -> bool\n"
"\n"
"Returns the object size for the given range.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_GetRangeSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_GetRangeSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const ::wxRichTextRange* range;
        int rangeState = 0;
        ::wxSize* size;
        int sizeState = 0;
        int descent;
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        int flags;
        const ::wxPoint& positiondef = wxPoint(0, 0);
        const ::wxPoint* position = &positiondef;
        int positionState = 0;
        const ::wxSize& parentSizedef = wxDefaultSize;
        const ::wxSize* parentSize = &parentSizedef;
        int parentSizeState = 0;
        ::wxArrayInt* partialExtents = 0;
        int partialExtentsState = 0;
        const ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_range,
            sipName_size,
            sipName_dc,
            sipName_context,
            sipName_flags,
            sipName_position,
            sipName_parentSize,
            sipName_partialExtents,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1J9J9i|J1J1J0", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxRichTextRange, &range, &rangeState, sipType_wxSize, &size, &sizeState, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, &flags, sipType_wxPoint, &position, &positionState, sipType_wxSize, &parentSize, &parentSizeState, sipType_wxArrayInt, &partialExtents, &partialExtentsState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::GetRangeSize(*range, *size, descent, *dc, *context, flags, *position, *parentSize, partialExtents) : sipCpp->GetRangeSize(*range, *size, descent, *dc, *context, flags, *position, *parentSize, partialExtents));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRichTextRange *>(range), sipType_wxRichTextRange, rangeState);
            sipReleaseType(size, sipType_wxSize, sizeState);
            sipReleaseType(const_cast< ::wxPoint *>(position), sipType_wxPoint, positionState);
            sipReleaseType(const_cast< ::wxSize *>(parentSize), sipType_wxSize, parentSizeState);
            sipReleaseType(partialExtents, sipType_wxArrayInt, partialExtentsState);

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(bi)", sipRes, descent);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_GetRangeSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_Invalidate, "Invalidate(invalidRange=RICHTEXT_ALL) -> None\n"
"\n"
"Invalidates the object at the given range.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_Invalidate(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_Invalidate(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const ::wxRichTextRange& invalidRangedef = wxRICHTEXT_ALL;
        const ::wxRichTextRange* invalidRange = &invalidRangedef;
        int invalidRangeState = 0;
        ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_invalidRange,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|J1", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxRichTextRange, &invalidRange, &invalidRangeState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::Invalidate(*invalidRange) : sipCpp->Invalidate(*invalidRange));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRichTextRange *>(invalidRange), sipType_wxRichTextRange, invalidRangeState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_Invalidate, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_GetChildren, "GetChildren() -> RichTextObjectList\n"
"\n"
"Returns the children.");

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

    {
        ::wxRichTextCompositeObject *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp))
        {
            ::wxRichTextObjectList*sipRes;

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes, sipType_wxRichTextObjectList, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_GetChildren, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_GetChildCount, "GetChildCount() -> int\n"
"\n"
"Returns the number of children.");

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

    {
        const ::wxRichTextCompositeObject *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp))
        {
            size_t sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetChildCount();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromUnsignedLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_GetChildCount, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_GetChild, "GetChild(n) -> RichTextObject\n"
"\n"
"Returns the nth child.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_GetChild(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_GetChild(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        size_t n;
        const ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_n,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B=", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, &n))
        {
            ::wxRichTextObject*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetChild(n);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes, sipType_wxRichTextObject, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_GetChild, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_IsComposite, "IsComposite() -> bool\n"
"\n"
"Returns true if this object is composite.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_IsComposite(PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_IsComposite(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const ::wxRichTextCompositeObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::IsComposite() : sipCpp->IsComposite());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_IsComposite, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_IsAtomic, "IsAtomic() -> bool\n"
"\n"
"Returns true if no user editing can be done inside the object.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_IsAtomic(PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_IsAtomic(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const ::wxRichTextCompositeObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::IsAtomic() : sipCpp->IsAtomic());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_IsAtomic, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_IsEmpty, "IsEmpty() -> bool\n"
"\n"
"Returns true if the buffer is empty.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_IsEmpty(PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_IsEmpty(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const ::wxRichTextCompositeObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::IsEmpty() : sipCpp->IsEmpty());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_IsEmpty, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_GetChildAtPosition, "GetChildAtPosition(pos) -> RichTextObject\n"
"\n"
"Returns the child object at the given character position.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_GetChildAtPosition(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_GetChildAtPosition(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        long pos;
        const ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pos,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, &pos))
        {
            ::wxRichTextObject*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::GetChildAtPosition(pos) : sipCpp->GetChildAtPosition(pos));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes, sipType_wxRichTextObject, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_GetChildAtPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_Copy, "Copy(obj) -> None");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_Copy(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_Copy(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxRichTextCompositeObject* obj;
        ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_obj,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxRichTextCompositeObject, &obj))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Copy(*obj);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_Copy, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_AppendChild, "AppendChild(child) -> int\n"
"\n"
"Appends a child, returning the position.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_AppendChild(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_AppendChild(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        ::wxRichTextObject* child;
        ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_child,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxRichTextObject, &child))
        {
            size_t sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->AppendChild(child);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromUnsignedLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_AppendChild, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_InsertChild, "InsertChild(child, inFrontOf) -> bool\n"
"\n"
"Inserts the child in front of the given object, or at the beginning.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_InsertChild(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_InsertChild(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        ::wxRichTextObject* child;
        ::wxRichTextObject* inFrontOf;
        ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_child,
            sipName_inFrontOf,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J8", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxRichTextObject, &child, sipType_wxRichTextObject, &inFrontOf))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->InsertChild(child, inFrontOf);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_InsertChild, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_RemoveChild, "RemoveChild(child, deleteChild=False) -> bool\n"
"\n"
"Removes and optionally deletes the specified child.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_RemoveChild(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_RemoveChild(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        ::wxRichTextObject* child;
        bool deleteChild = 0;
        ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_child,
            sipName_deleteChild,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8|b", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxRichTextObject, &child, &deleteChild))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->RemoveChild(child, deleteChild);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_RemoveChild, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_DeleteChildren, "DeleteChildren() -> bool\n"
"\n"
"Deletes all the children.");

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

    {
        ::wxRichTextCompositeObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->DeleteChildren();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_DeleteChildren, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_Defragment, "Defragment(context, range=RICHTEXT_ALL) -> bool\n"
"\n"
"Recursively merges all pieces that can be merged.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_Defragment(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_Defragment(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        ::wxRichTextDrawingContext* context;
        const ::wxRichTextRange& rangedef = wxRICHTEXT_ALL;
        const ::wxRichTextRange* range = &rangedef;
        int rangeState = 0;
        ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_context,
            sipName_range,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|J1", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxRichTextDrawingContext, &context, sipType_wxRichTextRange, &range, &rangeState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Defragment(*context, *range);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRichTextRange *>(range), sipType_wxRichTextRange, rangeState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_Defragment, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_Move, "Move(pt) -> None\n"
"\n"
"Moves the object recursively, by adding the offset from old to new.");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_Move(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_Move(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const ::wxPoint* pt;
        int ptState = 0;
        ::wxRichTextCompositeObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pt,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp, sipType_wxPoint, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::Move(*pt) : sipCpp->Move(*pt));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxPoint *>(pt), sipType_wxPoint, ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_Move, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextCompositeObject_Clone, "Clone(self) -> RichTextObject|None");

extern "C" {static PyObject *meth_wxRichTextCompositeObject_Clone(PyObject *, PyObject *);}
static PyObject *meth_wxRichTextCompositeObject_Clone(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const ::wxRichTextCompositeObject *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRichTextCompositeObject, &sipCpp))
        {
            ::wxRichTextObject*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextCompositeObject::Clone() : sipCpp->Clone());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromNewType(sipRes, sipType_wxRichTextObject, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextCompositeObject, sipName_Clone, doc_wxRichTextCompositeObject_Clone);

    return SIP_NULLPTR;
}


/* Cast a pointer to a type somewhere in its inheritance hierarchy. */
extern "C" {static void *cast_wxRichTextCompositeObject(void *, const sipTypeDef *);}
static void *cast_wxRichTextCompositeObject(void *sipCppV, const sipTypeDef *targetType)
{
    ::wxRichTextCompositeObject *sipCpp = reinterpret_cast< ::wxRichTextCompositeObject *>(sipCppV);

    if (targetType == sipType_wxRichTextCompositeObject)
        return sipCppV;

    sipCppV = ((const sipClassTypeDef *)sipType_wxRichTextObject)->ctd_cast(static_cast< ::wxRichTextObject *>(sipCpp), targetType);
    if (sipCppV)
        return sipCppV;

    return SIP_NULLPTR;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxRichTextCompositeObject *>(sipCppV);
    else
        delete reinterpret_cast< ::wxRichTextCompositeObject *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void dealloc_wxRichTextCompositeObject(sipSimpleWrapper *);}
static void dealloc_wxRichTextCompositeObject(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerivedClass(sipSelf))
        reinterpret_cast<sipwxRichTextCompositeObject *>(sipGetAddress(sipSelf))->sipPySelf = SIP_NULLPTR;

    if (sipIsOwnedByPython(sipSelf))
    {
        release_wxRichTextCompositeObject(sipGetAddress(sipSelf), sipIsDerivedClass(sipSelf));
    }
}


extern "C" {static void *init_type_wxRichTextCompositeObject(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_wxRichTextCompositeObject(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    sipwxRichTextCompositeObject *sipCpp = SIP_NULLPTR;

    {
        ::wxRichTextObject* parent = 0;

        static const char *sipKwdList[] = {
            sipName_parent,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "|J8", sipType_wxRichTextObject, &parent))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRichTextCompositeObject(parent);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const ::wxRichTextCompositeObject* a0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, "J9", sipType_wxRichTextCompositeObject, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRichTextCompositeObject(*a0);
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


/* Define this type's super-types. */
static sipEncodedTypeDef supers_wxRichTextCompositeObject[] = {{39, 255, 1}};


static PyMethodDef methods_wxRichTextCompositeObject[] = {
    {sipName_AppendChild, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_AppendChild), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_AppendChild},
    {sipName_CalculateRange, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_CalculateRange), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_CalculateRange},
    {sipName_Clone, meth_wxRichTextCompositeObject_Clone, METH_VARARGS, doc_wxRichTextCompositeObject_Clone},
    {sipName_Copy, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_Copy), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_Copy},
    {sipName_Defragment, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_Defragment), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_Defragment},
    {sipName_DeleteChildren, meth_wxRichTextCompositeObject_DeleteChildren, METH_VARARGS, doc_wxRichTextCompositeObject_DeleteChildren},
    {sipName_DeleteRange, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_DeleteRange), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_DeleteRange},
    {sipName_FindPosition, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_FindPosition), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_FindPosition},
    {sipName_GetChild, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_GetChild), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_GetChild},
    {sipName_GetChildAtPosition, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_GetChildAtPosition), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_GetChildAtPosition},
    {sipName_GetChildCount, meth_wxRichTextCompositeObject_GetChildCount, METH_VARARGS, doc_wxRichTextCompositeObject_GetChildCount},
    {sipName_GetChildren, meth_wxRichTextCompositeObject_GetChildren, METH_VARARGS, doc_wxRichTextCompositeObject_GetChildren},
    {sipName_GetRangeSize, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_GetRangeSize), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_GetRangeSize},
    {sipName_GetTextForRange, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_GetTextForRange), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_GetTextForRange},
    {sipName_HitTest, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_HitTest), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_HitTest},
    {sipName_InsertChild, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_InsertChild), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_InsertChild},
    {sipName_Invalidate, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_Invalidate), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_Invalidate},
    {sipName_IsAtomic, meth_wxRichTextCompositeObject_IsAtomic, METH_VARARGS, doc_wxRichTextCompositeObject_IsAtomic},
    {sipName_IsComposite, meth_wxRichTextCompositeObject_IsComposite, METH_VARARGS, doc_wxRichTextCompositeObject_IsComposite},
    {sipName_IsEmpty, meth_wxRichTextCompositeObject_IsEmpty, METH_VARARGS, doc_wxRichTextCompositeObject_IsEmpty},
    {sipName_Move, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_Move), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_Move},
    {sipName_RemoveChild, SIP_MLMETH_CAST(meth_wxRichTextCompositeObject_RemoveChild), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextCompositeObject_RemoveChild}
};

sipVariableDef variables_wxRichTextCompositeObject[] = {
    {PropertyVariable, sipName_Children, &methods_wxRichTextCompositeObject[11], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ChildCount, &methods_wxRichTextCompositeObject[10], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxRichTextCompositeObject, "RichTextCompositeObject(parent=None) -> None\n"
"\n"
"Objects of this class can contain other objects.");


sipClassTypeDef sipTypeDef__richtext_wxRichTextCompositeObject = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_ABSTRACT|SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxRichTextCompositeObject,
        SIP_NULLPTR,
        SIP_NULLPTR,
    },
    {
        sipNameNr_RichTextCompositeObject,
        {0, 0, 1},
        22, methods_wxRichTextCompositeObject,
        0, SIP_NULLPTR,
        2, variables_wxRichTextCompositeObject,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxRichTextCompositeObject,
    -1,
    -1,
    supers_wxRichTextCompositeObject,
    SIP_NULLPTR,
    init_type_wxRichTextCompositeObject,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxRichTextCompositeObject,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_wxRichTextCompositeObject,
    cast_wxRichTextCompositeObject,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    sizeof (::wxRichTextCompositeObject),
};
