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

#include "sipAPI_richtext.h"
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/gdicmn.h>
        #include <wx/dc.h>
        #include <wx/richtext/richtextbuffer.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/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/gdicmn.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 sipwxRichTextObject : public ::wxRichTextObject
{
public:
    sipwxRichTextObject(::wxRichTextObject*);
    sipwxRichTextObject(const ::wxRichTextObject&);
    virtual ~sipwxRichTextObject();

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

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[58];
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
        return ::wxRichTextObject::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 sipwxRichTextObject::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[5], &sipPySelf, SIP_NULLPTR, sipName_LayoutToBestSize);

    if (!sipMeth)
        return ::wxRichTextObject::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);
}

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

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

    if (!sipMeth)
        return ::wxRichTextObject::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);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
    {
        ::wxRichTextObject::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);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
    {
        ::wxRichTextObject::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 sipwxRichTextObject::GetPosition() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
    {
        ::wxRichTextObject::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 sipwxRichTextObject::GetMaxSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

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

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

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

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

    if (!sipMeth)
    {
        ::wxRichTextObject::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 sipwxRichTextObject::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 ::wxRichTextObject::GetCachedSize();

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

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

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

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

    if (!sipMeth)
        return ::wxRichTextObject::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);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
        return ::wxRichTextObject::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 sipwxRichTextObject::AcceptsFocus() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
        return ::wxRichTextObject::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);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
        return ::wxRichTextObject::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 sipwxRichTextObject::CanMerge(::wxRichTextObject*object, ::wxRichTextDrawingContext& context) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextObject::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);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
    {
        ::wxRichTextObject::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);
}

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

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

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

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

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

bool sipwxRichTextObject::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[52]), const_cast<sipSimpleWrapper **>(&sipPySelf), sipName_RichTextObject, sipName_GetRangeSize);

    if (!sipMeth)
        return 0;

    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);
}

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

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

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

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

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

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

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

    if (!sipMeth)
        return ::wxRichTextObject::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);
}

int sipwxRichTextObject::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[55], &sipPySelf, SIP_NULLPTR, sipName_HitTest);

    if (!sipMeth)
        return ::wxRichTextObject::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 sipwxRichTextObject::Layout(::wxDC& dc, ::wxRichTextDrawingContext& context, const ::wxRect& rect, const ::wxRect& parentRect, int style)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[56], &sipPySelf, sipName_RichTextObject, 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);
}

bool sipwxRichTextObject::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[57], &sipPySelf, sipName_RichTextObject, 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);
}


PyDoc_STRVAR(doc_wxRichTextObject_Draw, "Draw(dc, context, range, selection, rect, descent, style) -> bool\n"
"\n"
"Draw the item, within the given range.");

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

    {
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        const ::wxRichTextRange* range;
        int rangeState = 0;
        const ::wxRichTextSelection* selection;
        const ::wxRect* rect;
        int rectState = 0;
        int descent;
        int style;
        ::wxRichTextObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_context,
            sipName_range,
            sipName_selection,
            sipName_rect,
            sipName_descent,
            sipName_style,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9J1J9J1ii", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, sipType_wxRichTextRange, &range, &rangeState, sipType_wxRichTextSelection, &selection, sipType_wxRect, &rect, &rectState, &descent, &style))
        {
            bool sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RichTextObject, sipName_Draw);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Draw(*dc, *context, *range, *selection, *rect, descent, style);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRichTextRange *>(range), sipType_wxRichTextRange, rangeState);
            sipReleaseType(const_cast<::wxRect *>(rect), sipType_wxRect, rectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_Draw, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_Layout, "Layout(dc, context, rect, parentRect, style) -> bool\n"
"\n"
"Lay the item out at the specified position with the given size\n"
"constraint.");

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

    {
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        const ::wxRect* rect;
        int rectState = 0;
        const ::wxRect* parentRect;
        int parentRectState = 0;
        int style;
        ::wxRichTextObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_context,
            sipName_rect,
            sipName_parentRect,
            sipName_style,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9J1J1i", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, sipType_wxRect, &rect, &rectState, sipType_wxRect, &parentRect, &parentRectState, &style))
        {
            bool sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RichTextObject, sipName_Layout);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Layout(*dc, *context, *rect, *parentRect, style);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(rect), sipType_wxRect, rectState);
            sipReleaseType(const_cast<::wxRect *>(parentRect), sipType_wxRect, parentRectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_Layout, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_HitTest, "HitTest(dc, context, pt, flags=0) -> (int, textPosition, obj, contextObj)\n"
"\n"
"Hit-testing: returns a flag indicating hit test details, plus\n"
"information about position.");

extern "C" {static PyObject *meth_wxRichTextObject_HitTest(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextObject_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;
        ::wxRichTextObject *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_wxRichTextObject, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, sipType_wxPoint, &pt, &ptState, &flags))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::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_RichTextObject, sipName_HitTest, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_FindPosition, "FindPosition(dc, context, index, forceLineStart) -> (bool, pt, height)\n"
"\n"
"Finds the absolute position and row height for the given character\n"
"position.");

extern "C" {static PyObject *meth_wxRichTextObject_FindPosition(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextObject_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;
        ::wxRichTextObject *sipCpp;

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

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::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_RichTextObject, sipName_FindPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetBestSize, "GetBestSize() -> wx.Size\n"
"\n"
"Returns the best size, i.e. the ideal starting size for this object\n"
"irrespective of available space.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetBestSize() : sipCpp->GetBestSize()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetBestSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_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_wxRichTextObject_GetRangeSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextObject_GetRangeSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    PyObject *sipOrigSelf = 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 ::wxRichTextObject *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_wxRichTextObject, &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;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RichTextObject, sipName_GetRangeSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = 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_RichTextObject, sipName_GetRangeSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_DoSplit, "DoSplit(pos) -> RichTextObject\n"
"\n"
"Do a split from pos, returning an object containing the second part,\n"
"and setting the first part in 'this'.");

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

    {
        long pos;
        ::wxRichTextObject *sipCpp;

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

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::DoSplit(pos) : sipCpp->DoSplit(pos));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_DoSplit, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

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

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(end);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_CalculateRange, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::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_RichTextObject, sipName_DeleteRange, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_IsEmpty, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_IsFloatable, "IsFloatable() -> bool\n"
"\n"
"Returns true if this class of object is floatable.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::IsFloatable() : sipCpp->IsFloatable());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_IsFloatable, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_IsFloating, "IsFloating() -> bool\n"
"\n"
"Returns true if this object is currently floating.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::IsFloating() : sipCpp->IsFloating());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_IsFloating, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetFloatDirection, "GetFloatDirection() -> int\n"
"\n"
"Returns the floating direction.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::GetFloatDirection() : sipCpp->GetFloatDirection());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetFloatDirection, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxString((sipSelfWasArg ? sipCpp->::wxRichTextObject::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_RichTextObject, sipName_GetTextForRange, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_CanMerge, "CanMerge(object, context) -> bool\n"
"\n"
"Returns true if this object can merge itself with the given one.");

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

    {
        ::wxRichTextObject* object;
        ::wxRichTextDrawingContext* context;
        const ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxRichTextObject, &object, sipType_wxRichTextDrawingContext, &context))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::CanMerge(object, *context) : sipCpp->CanMerge(object, *context));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_CanMerge, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_Merge, "Merge(object, context) -> bool\n"
"\n"
"Returns true if this object merged itself with the given one.");

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

    {
        ::wxRichTextObject* object;
        ::wxRichTextDrawingContext* context;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxRichTextObject, &object, sipType_wxRichTextDrawingContext, &context))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::Merge(object, *context) : sipCpp->Merge(object, *context));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_Merge, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_CanSplit, "CanSplit(context) -> bool\n"
"\n"
"Returns true if this object can potentially be split, by virtue of\n"
"having different virtual attributes for individual sub-objects.");

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

    {
        ::wxRichTextDrawingContext* context;
        const ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxRichTextDrawingContext, &context))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::CanSplit(*context) : sipCpp->CanSplit(*context));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_CanSplit, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_Split, "Split(context) -> RichTextObject\n"
"\n"
"Returns the final object in the split objects if this object was split\n"
"due to differences between sub-object virtual attributes.");

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

    {
        ::wxRichTextDrawingContext* context;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxRichTextDrawingContext, &context))
        {
            ::wxRichTextObject*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::Split(*context) : sipCpp->Split(*context));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_Split, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_CanEditProperties, "CanEditProperties() -> bool\n"
"\n"
"Returns true if we can edit the object's properties via a GUI.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::CanEditProperties() : sipCpp->CanEditProperties());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_CanEditProperties, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_EditProperties, "EditProperties(parent, buffer) -> bool\n"
"\n"
"Edits the object's properties via a GUI.");

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

    {
        ::wxWindow* parent;
        ::wxRichTextBuffer* buffer;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J8", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxWindow, &parent, sipType_wxRichTextBuffer, &buffer))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::EditProperties(parent, buffer) : sipCpp->EditProperties(parent, buffer));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_EditProperties, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetPropertiesMenuLabel, "GetPropertiesMenuLabel() -> String\n"
"\n"
"Returns the label to be used for the properties context menu item.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxString((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetPropertiesMenuLabel() : sipCpp->GetPropertiesMenuLabel()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetPropertiesMenuLabel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_AcceptsFocus, "AcceptsFocus() -> bool\n"
"\n"
"Returns true if objects of this class can accept the focus, i.e. a\n"
"call to SetFocusObject is possible.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::AcceptsFocus() : sipCpp->AcceptsFocus());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_AcceptsFocus, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_ImportFromXML, "ImportFromXML(buffer, node, handler, recurse) -> bool\n"
"\n"
"Imports this object from XML.");

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

    {
        ::wxRichTextBuffer* buffer;
        ::wxXmlNode* node;
        ::wxRichTextXMLHandler* handler;
        bool recurse;
        ::wxRichTextObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_buffer,
            sipName_node,
            sipName_handler,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J8J8", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxRichTextBuffer, &buffer, sipType_wxXmlNode, &node, sipType_wxRichTextXMLHandler, &handler))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::ImportFromXML(buffer, node, handler, &recurse) : sipCpp->ImportFromXML(buffer, node, handler, &recurse));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(bb)", sipRes, recurse);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_ImportFromXML, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_UsesParagraphAttributes, "UsesParagraphAttributes() -> bool\n"
"\n"
"Returns true if this object takes note of paragraph attributes (text\n"
"and image objects don't).");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::UsesParagraphAttributes() : sipCpp->UsesParagraphAttributes());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_UsesParagraphAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetXMLNodeName, "GetXMLNodeName() -> String\n"
"\n"
"Returns the XML node name of this object.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxString((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetXMLNodeName() : sipCpp->GetXMLNodeName()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetXMLNodeName, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_Invalidate, "Invalidate(invalidRange=RICHTEXT_ALL)\n"
"\n"
"Invalidates the object at the given range.");

extern "C" {static PyObject *meth_wxRichTextObject_Invalidate(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextObject_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;
        ::wxRichTextObject *sipCpp;

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

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

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextObject::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_RichTextObject, sipName_Invalidate, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_HandlesChildSelections, "HandlesChildSelections() -> bool\n"
"\n"
"Returns true if this object can handle the selections of its children,\n"
"fOr example a table.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::HandlesChildSelections() : sipCpp->HandlesChildSelections());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_HandlesChildSelections, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetSelection, "GetSelection(start, end) -> RichTextSelection\n"
"\n"
"Returns a selection object specifying the selections between start and\n"
"end character positions.");

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

    {
        long start;
        long end;
        const ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bll", &sipSelf, sipType_wxRichTextObject, &sipCpp, &start, &end))
        {
            ::wxRichTextSelection*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxRichTextSelection((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetSelection(start, end) : sipCpp->GetSelection(start, end)));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetSelection, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetCachedSize, "GetCachedSize() -> wx.Size\n"
"\n"
"Gets the cached object size as calculated by Layout.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetCachedSize() : sipCpp->GetCachedSize()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetCachedSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetCachedSize, "SetCachedSize(sz)\n"
"\n"
"Sets the cached object size as calculated by Layout.");

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

    {
        const ::wxSize* sz;
        int szState = 0;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxSize, &sz, &szState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextObject::SetCachedSize(*sz) : sipCpp->SetCachedSize(*sz));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxSize *>(sz), sipType_wxSize, szState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetCachedSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetMaxSize, "GetMaxSize() -> wx.Size\n"
"\n"
"Gets the maximum object size as calculated by Layout.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetMaxSize() : sipCpp->GetMaxSize()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetMaxSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetMaxSize, "SetMaxSize(sz)\n"
"\n"
"Sets the maximum object size as calculated by Layout.");

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

    {
        const ::wxSize* sz;
        int szState = 0;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxSize, &sz, &szState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextObject::SetMaxSize(*sz) : sipCpp->SetMaxSize(*sz));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxSize *>(sz), sipType_wxSize, szState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetMaxSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetMinSize, "GetMinSize() -> wx.Size\n"
"\n"
"Gets the minimum object size as calculated by Layout.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetMinSize() : sipCpp->GetMinSize()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetMinSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetMinSize, "SetMinSize(sz)\n"
"\n"
"Sets the minimum object size as calculated by Layout.");

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

    {
        const ::wxSize* sz;
        int szState = 0;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxSize, &sz, &szState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextObject::SetMinSize(*sz) : sipCpp->SetMinSize(*sz));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxSize *>(sz), sipType_wxSize, szState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetMinSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetNaturalSize, "GetNaturalSize() -> TextAttrSize\n"
"\n"
"Gets the 'natural' size for an object.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxTextAttrSize((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetNaturalSize() : sipCpp->GetNaturalSize()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetNaturalSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetPosition, "GetPosition() -> wx.Point\n"
"\n"
"Returns the object position in pixels.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPoint((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetPosition() : sipCpp->GetPosition()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetPosition, "SetPosition(pos)\n"
"\n"
"Sets the object position in pixels.");

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

    {
        const ::wxPoint* pos;
        int posState = 0;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxPoint, &pos, &posState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextObject::SetPosition(*pos) : sipCpp->SetPosition(*pos));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(pos), sipType_wxPoint, posState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetAbsolutePosition, "GetAbsolutePosition() -> wx.Point\n"
"\n"
"Returns the absolute object position, by traversing up the\n"
"child/parent hierarchy.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPoint((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetAbsolutePosition() : sipCpp->GetAbsolutePosition()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetAbsolutePosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetRect, "GetRect() -> wx.Rect\n"
"\n"
"Returns the rectangle enclosing the object.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxRect((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetRect() : sipCpp->GetRect()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetRect, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetRange, "SetRange(range)\n"
"\n"
"Sets the object's range within its container.");

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

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

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRange(*range);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRichTextRange *>(range), sipType_wxRichTextRange, rangeState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetRange, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetRange, "GetRange() -> RichTextRange\n"
"\n"
"Returns the object's range.");

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

    {
        ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetRange, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetOwnRange, "SetOwnRange(range)\n"
"\n"
"Set the object's own range, for a top-level object with its own\n"
"position space.");

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

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

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetOwnRange(*range);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRichTextRange *>(range), sipType_wxRichTextRange, rangeState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetOwnRange, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetOwnRange, "GetOwnRange() -> RichTextRange\n"
"\n"
"Returns the object's own range (valid if top-level).");

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

    {
        ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetOwnRange, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetOwnRangeIfTopLevel, "GetOwnRangeIfTopLevel() -> RichTextRange\n"
"\n"
"Returns the object's own range only if a top-level object.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxRichTextRange(sipCpp->GetOwnRangeIfTopLevel());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetOwnRangeIfTopLevel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_IsComposite, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_IsAtomic, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetParent, "GetParent() -> RichTextObject\n"
"\n"
"Returns a pointer to the parent object.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::GetParent() : sipCpp->GetParent());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetParent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetParent, "SetParent(parent)\n"
"\n"
"Sets the pointer to the parent object.");

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

    {
        ::wxRichTextObject* parent;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxRichTextObject, &parent))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextObject::SetParent(parent) : sipCpp->SetParent(parent));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetParent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetContainer, "GetContainer() -> RichTextParagraphLayoutBox\n"
"\n"
"Returns the top-level container of this object.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::GetContainer() : sipCpp->GetContainer());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetContainer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetParentContainer, "GetParentContainer() -> RichTextParagraphLayoutBox\n"
"\n"
"Returns the top-level container of this object.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::GetParentContainer() : sipCpp->GetParentContainer());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetParentContainer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetMargins, "SetMargins(margin)\n"
"SetMargins(leftMargin, rightMargin, topMargin, bottomMargin)\n"
"\n"
"Set the margin around the object, in pixels.\n"
"");

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

    {
        int margin;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRichTextObject, &sipCpp, &margin))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextObject::SetMargins(margin) : sipCpp->SetMargins(margin));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int leftMargin;
        int rightMargin;
        int topMargin;
        int bottomMargin;
        ::wxRichTextObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_leftMargin,
            sipName_rightMargin,
            sipName_topMargin,
            sipName_bottomMargin,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiii", &sipSelf, sipType_wxRichTextObject, &sipCpp, &leftMargin, &rightMargin, &topMargin, &bottomMargin))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextObject::SetMargins(leftMargin, rightMargin, topMargin, bottomMargin) : sipCpp->SetMargins(leftMargin, rightMargin, topMargin, bottomMargin));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetMargins, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetLeftMargin, "GetLeftMargin() -> int\n"
"\n"
"Returns the left margin of the object, in pixels.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::GetLeftMargin() : sipCpp->GetLeftMargin());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetLeftMargin, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetRightMargin, "GetRightMargin() -> int\n"
"\n"
"Returns the right margin of the object, in pixels.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::GetRightMargin() : sipCpp->GetRightMargin());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetRightMargin, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetTopMargin, "GetTopMargin() -> int\n"
"\n"
"Returns the top margin of the object, in pixels.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::GetTopMargin() : sipCpp->GetTopMargin());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetTopMargin, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetBottomMargin, "GetBottomMargin() -> int\n"
"\n"
"Returns the bottom margin of the object, in pixels.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::GetBottomMargin() : sipCpp->GetBottomMargin());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetBottomMargin, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetAvailableContentArea, "GetAvailableContentArea(dc, context, outerRect) -> wx.Rect\n"
"\n"
"Calculates the available content space in the given rectangle, given\n"
"the margins, border and padding specified in the object's attributes.");

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

    {
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        const ::wxRect* outerRect;
        int outerRectState = 0;
        const ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9J1", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, sipType_wxRect, &outerRect, &outerRectState))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxRect((sipSelfWasArg ? sipCpp->::wxRichTextObject::GetAvailableContentArea(*dc, *context, *outerRect) : sipCpp->GetAvailableContentArea(*dc, *context, *outerRect)));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(outerRect), sipType_wxRect, outerRectState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetAvailableContentArea, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_LayoutToBestSize, "LayoutToBestSize(dc, context, buffer, parentAttr, attr, availableParentSpace, availableContainerSpace, style) -> bool\n"
"\n"
"Lays out the object first with a given amount of space, and then if no\n"
"width was specified in attr, lays out the object again using the\n"
"minimum size.");

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

    {
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        ::wxRichTextBuffer* buffer;
        const ::wxRichTextAttr* parentAttr;
        const ::wxRichTextAttr* attr;
        const ::wxRect* availableParentSpace;
        int availableParentSpaceState = 0;
        const ::wxRect* availableContainerSpace;
        int availableContainerSpaceState = 0;
        int style;
        ::wxRichTextObject *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_context,
            sipName_buffer,
            sipName_parentAttr,
            sipName_attr,
            sipName_availableParentSpace,
            sipName_availableContainerSpace,
            sipName_style,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9J8J9J9J1J1i", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, sipType_wxRichTextBuffer, &buffer, sipType_wxRichTextAttr, &parentAttr, sipType_wxRichTextAttr, &attr, sipType_wxRect, &availableParentSpace, &availableParentSpaceState, sipType_wxRect, &availableContainerSpace, &availableContainerSpaceState, &style))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::LayoutToBestSize(*dc, *context, buffer, *parentAttr, *attr, *availableParentSpace, *availableContainerSpace, style) : sipCpp->LayoutToBestSize(*dc, *context, buffer, *parentAttr, *attr, *availableParentSpace, *availableContainerSpace, style));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(availableParentSpace), sipType_wxRect, availableParentSpaceState);
            sipReleaseType(const_cast<::wxRect *>(availableContainerSpace), sipType_wxRect, availableContainerSpaceState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_LayoutToBestSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_AdjustAttributes, "AdjustAttributes(attr, context) -> bool\n"
"\n"
"Adjusts the attributes for virtual attribute provision, collapsed\n"
"borders, etc.");

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

    {
        ::wxRichTextAttr* attr;
        ::wxRichTextDrawingContext* context;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxRichTextAttr, &attr, sipType_wxRichTextDrawingContext, &context))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::AdjustAttributes(*attr, *context) : sipCpp->AdjustAttributes(*attr, *context));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_AdjustAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetAttributes, "SetAttributes(attr)\n"
"\n"
"Sets the object's attributes.");

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

    {
        const ::wxRichTextAttr* attr;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxRichTextAttr, &attr))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetAttributes(*attr);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetAttributes, "GetAttributes() -> RichTextAttr\n"
"\n"
"Returns the object's attributes.");

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

    {
        ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetProperties, "GetProperties() -> RichTextProperties\n"
"\n"
"Returns the object's properties.");

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

    {
        ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetProperties, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetProperties, "SetProperties(props)\n"
"\n"
"Sets the object's properties.");

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

    {
        const ::wxRichTextProperties* props;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxRichTextProperties, &props))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetProperties(*props);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetProperties, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetDescent, "SetDescent(descent)\n"
"\n"
"Sets the stored descent value.");

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

    {
        int descent;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRichTextObject, &sipCpp, &descent))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetDescent(descent);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetDescent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetDescent, "GetDescent() -> int\n"
"\n"
"Returns the stored descent value.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetDescent();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetDescent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetBuffer, "GetBuffer() -> RichTextBuffer\n"
"\n"
"Returns the containing buffer.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetBuffer();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetBuffer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_SetName, "SetName(name)\n"
"\n"
"Sets the identifying name for this object as a property using the\n"
"\"name\" key.");

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

    {
        const ::wxString* name;
        int nameState = 0;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxString, &name, &nameState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetName(*name);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxString *>(name), sipType_wxString, nameState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_SetName, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetName, "GetName() -> String\n"
"\n"
"Returns the identifying name for this object from the properties,\n"
"using the \"name\" key.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxString(sipCpp->GetName());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetName, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_IsTopLevel, "IsTopLevel() -> bool\n"
"\n"
"Returns true if this object is top-level, i.e. contains its own\n"
"paragraphs, such as a text box.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextObject::IsTopLevel() : sipCpp->IsTopLevel());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_IsTopLevel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_IsShown, "IsShown() -> bool\n"
"\n"
"Returns true if the object will be shown, false otherwise.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsShown();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_IsShown, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_Show, "Show(show)\n"
"\n"
"Call to show or hide this object.");

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

    {
        bool show;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxRichTextObject, &sipCpp, &show))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextObject::Show(show) : sipCpp->Show(show));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_Show, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_Clone, "Clone() -> RichTextObject\n"
"\n"
"Clones the object.");

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

    {
        const ::wxRichTextObject *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_Clone, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_Copy, "Copy(obj)\n"
"\n"
"Copies the object.");

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

    {
        const ::wxRichTextObject* obj;
        ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxRichTextObject, &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_RichTextObject, sipName_Copy, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_Reference, "Reference()\n"
"\n"
"Reference-counting allows us to use the same object in multiple lists\n"
"(not yet used).");

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

    {
        ::wxRichTextObject *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRichTextObject, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Reference();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_Reference, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_Dereference, "Dereference()\n"
"\n"
"Reference-counting allows us to use the same object in multiple lists\n"
"(not yet used).");

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

    {
        ::wxRichTextObject *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRichTextObject, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Dereference();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_Dereference, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxRichTextObject::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_RichTextObject, sipName_Move, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_ConvertTenthsMMToPixels, "ConvertTenthsMMToPixels(dc, units) -> int\n"
"ConvertTenthsMMToPixels(ppi, units, scale=1.0) -> int\n"
"\n"
"Converts units in tenths of a millimetre to device units.\n"
"");

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

    {
        ::wxDC* dc;
        int units;
        const ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9i", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxDC, &dc, &units))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->ConvertTenthsMMToPixels(*dc, units);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    {
        int ppi;
        int units;
        double scale = 1;

        static const char *sipKwdList[] = {
            sipName_ppi,
            sipName_units,
            sipName_scale,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "ii|d", &ppi, &units, &scale))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = ::wxRichTextObject::ConvertTenthsMMToPixels(ppi, units, scale);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_ConvertTenthsMMToPixels, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_ConvertPixelsToTenthsMM, "ConvertPixelsToTenthsMM(dc, pixels) -> int\n"
"ConvertPixelsToTenthsMM(ppi, pixels, scale=1.0) -> int\n"
"\n"
"Convert units in pixels to tenths of a millimetre.\n"
"");

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

    {
        ::wxDC* dc;
        int pixels;
        const ::wxRichTextObject *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9i", &sipSelf, sipType_wxRichTextObject, &sipCpp, sipType_wxDC, &dc, &pixels))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->ConvertPixelsToTenthsMM(*dc, pixels);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    {
        int ppi;
        int pixels;
        double scale = 1;

        static const char *sipKwdList[] = {
            sipName_ppi,
            sipName_pixels,
            sipName_scale,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "ii|d", &ppi, &pixels, &scale))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = ::wxRichTextObject::ConvertPixelsToTenthsMM(ppi, pixels, scale);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_ConvertPixelsToTenthsMM, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_DrawBoxAttributes, "DrawBoxAttributes(dc, buffer, attr, boxRect, flags=0, obj=None) -> bool\n"
"\n"
"Draws the borders and background for the given rectangle and\n"
"attributes.");

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

    {
        ::wxDC* dc;
        ::wxRichTextBuffer* buffer;
        const ::wxRichTextAttr* attr;
        const ::wxRect* boxRect;
        int boxRectState = 0;
        int flags = 0;
        ::wxRichTextObject* obj = 0;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_buffer,
            sipName_attr,
            sipName_boxRect,
            sipName_flags,
            sipName_obj,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J9J8J9J1|iJ8", sipType_wxDC, &dc, sipType_wxRichTextBuffer, &buffer, sipType_wxRichTextAttr, &attr, sipType_wxRect, &boxRect, &boxRectState, &flags, sipType_wxRichTextObject, &obj))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = ::wxRichTextObject::DrawBoxAttributes(*dc, buffer, *attr, *boxRect, flags, obj);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(boxRect), sipType_wxRect, boxRectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_DrawBoxAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_DrawBorder, "DrawBorder(dc, buffer, attr, borders, rect, flags=0) -> bool\n"
"\n"
"Draws a border.");

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

    {
        ::wxDC* dc;
        ::wxRichTextBuffer* buffer;
        const ::wxRichTextAttr* attr;
        const ::wxTextAttrBorders* borders;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_buffer,
            sipName_attr,
            sipName_borders,
            sipName_rect,
            sipName_flags,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J9J8J9J9J1|i", sipType_wxDC, &dc, sipType_wxRichTextBuffer, &buffer, sipType_wxRichTextAttr, &attr, sipType_wxTextAttrBorders, &borders, sipType_wxRect, &rect, &rectState, &flags))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = ::wxRichTextObject::DrawBorder(*dc, buffer, *attr, *borders, *rect, flags);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(rect), sipType_wxRect, rectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_DrawBorder, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetBoxRects, "GetBoxRects(dc, buffer, attr) -> (bool, marginRect, borderRect, contentRect, paddingRect, outlineRect)\n"
"\n"
"Returns the various rectangles of the box model in pixels.");

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

    {
        ::wxDC* dc;
        ::wxRichTextBuffer* buffer;
        const ::wxRichTextAttr* attr;
        ::wxRect* marginRect;
        ::wxRect* borderRect;
        ::wxRect* contentRect;
        ::wxRect* paddingRect;
        ::wxRect* outlineRect;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_buffer,
            sipName_attr,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J9J8J9", sipType_wxDC, &dc, sipType_wxRichTextBuffer, &buffer, sipType_wxRichTextAttr, &attr))
        {
            bool sipRes;
            marginRect = new ::wxRect();
            borderRect = new ::wxRect();
            contentRect = new ::wxRect();
            paddingRect = new ::wxRect();
            outlineRect = new ::wxRect();

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = ::wxRichTextObject::GetBoxRects(*dc, buffer, *attr, *marginRect, *borderRect, *contentRect, *paddingRect, *outlineRect);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(bNNNNN)", sipRes, marginRect, sipType_wxRect, SIP_NULLPTR, borderRect, sipType_wxRect, SIP_NULLPTR, contentRect, sipType_wxRect, SIP_NULLPTR, paddingRect, sipType_wxRect, SIP_NULLPTR, outlineRect, sipType_wxRect, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetBoxRects, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_GetTotalMargin, "GetTotalMargin(dc, buffer, attr) -> (bool, leftMargin, rightMargin, topMargin, bottomMargin)\n"
"\n"
"Returns the total margin for the object in pixels, taking into account\n"
"margin, padding and border size.");

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

    {
        ::wxDC* dc;
        ::wxRichTextBuffer* buffer;
        const ::wxRichTextAttr* attr;
        int leftMargin;
        int rightMargin;
        int topMargin;
        int bottomMargin;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_buffer,
            sipName_attr,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J9J8J9", sipType_wxDC, &dc, sipType_wxRichTextBuffer, &buffer, sipType_wxRichTextAttr, &attr))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = ::wxRichTextObject::GetTotalMargin(*dc, buffer, *attr, leftMargin, rightMargin, topMargin, bottomMargin);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(biiii)", sipRes, leftMargin, rightMargin, topMargin, bottomMargin);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_GetTotalMargin, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextObject_AdjustAvailableSpace, "AdjustAvailableSpace(dc, buffer, parentAttr, childAttr, availableParentSpace, availableContainerSpace) -> wx.Rect\n"
"\n"
"Returns the rectangle which the child has available to it given\n"
"restrictions specified in the child attribute, e.g.");

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

    {
        ::wxDC* dc;
        ::wxRichTextBuffer* buffer;
        const ::wxRichTextAttr* parentAttr;
        const ::wxRichTextAttr* childAttr;
        const ::wxRect* availableParentSpace;
        int availableParentSpaceState = 0;
        const ::wxRect* availableContainerSpace;
        int availableContainerSpaceState = 0;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_buffer,
            sipName_parentAttr,
            sipName_childAttr,
            sipName_availableParentSpace,
            sipName_availableContainerSpace,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J9J8J9J9J1J1", sipType_wxDC, &dc, sipType_wxRichTextBuffer, &buffer, sipType_wxRichTextAttr, &parentAttr, sipType_wxRichTextAttr, &childAttr, sipType_wxRect, &availableParentSpace, &availableParentSpaceState, sipType_wxRect, &availableContainerSpace, &availableContainerSpaceState))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxRect(::wxRichTextObject::AdjustAvailableSpace(*dc, buffer, *parentAttr, *childAttr, *availableParentSpace, *availableContainerSpace));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(availableParentSpace), sipType_wxRect, availableParentSpaceState);
            sipReleaseType(const_cast<::wxRect *>(availableContainerSpace), sipType_wxRect, availableContainerSpaceState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextObject, sipName_AdjustAvailableSpace, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_wxRichTextObject)
        return sipCppV;

    if (targetType == sipType_wxObject)
        return static_cast<::wxObject *>(sipCpp);

    return SIP_NULLPTR;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxRichTextObject *>(sipCppV);
    else
        delete reinterpret_cast<::wxRichTextObject *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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

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


extern "C" {static void *init_type_wxRichTextObject(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_wxRichTextObject(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    sipwxRichTextObject *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 sipwxRichTextObject(parent);
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const ::wxRichTextObject* a0;

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


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


static PyMethodDef methods_wxRichTextObject[] = {
    {sipName_AcceptsFocus, meth_wxRichTextObject_AcceptsFocus, METH_VARARGS, doc_wxRichTextObject_AcceptsFocus},
    {sipName_AdjustAttributes, SIP_MLMETH_CAST(meth_wxRichTextObject_AdjustAttributes), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_AdjustAttributes},
    {sipName_AdjustAvailableSpace, SIP_MLMETH_CAST(meth_wxRichTextObject_AdjustAvailableSpace), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_AdjustAvailableSpace},
    {sipName_CalculateRange, SIP_MLMETH_CAST(meth_wxRichTextObject_CalculateRange), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_CalculateRange},
    {sipName_CanEditProperties, meth_wxRichTextObject_CanEditProperties, METH_VARARGS, doc_wxRichTextObject_CanEditProperties},
    {sipName_CanMerge, SIP_MLMETH_CAST(meth_wxRichTextObject_CanMerge), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_CanMerge},
    {sipName_CanSplit, SIP_MLMETH_CAST(meth_wxRichTextObject_CanSplit), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_CanSplit},
    {sipName_Clone, meth_wxRichTextObject_Clone, METH_VARARGS, doc_wxRichTextObject_Clone},
    {sipName_ConvertPixelsToTenthsMM, SIP_MLMETH_CAST(meth_wxRichTextObject_ConvertPixelsToTenthsMM), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_ConvertPixelsToTenthsMM},
    {sipName_ConvertTenthsMMToPixels, SIP_MLMETH_CAST(meth_wxRichTextObject_ConvertTenthsMMToPixels), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_ConvertTenthsMMToPixels},
    {sipName_Copy, SIP_MLMETH_CAST(meth_wxRichTextObject_Copy), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_Copy},
    {sipName_DeleteRange, SIP_MLMETH_CAST(meth_wxRichTextObject_DeleteRange), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_DeleteRange},
    {sipName_Dereference, meth_wxRichTextObject_Dereference, METH_VARARGS, doc_wxRichTextObject_Dereference},
    {sipName_DoSplit, SIP_MLMETH_CAST(meth_wxRichTextObject_DoSplit), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_DoSplit},
    {sipName_Draw, SIP_MLMETH_CAST(meth_wxRichTextObject_Draw), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_Draw},
    {sipName_DrawBorder, SIP_MLMETH_CAST(meth_wxRichTextObject_DrawBorder), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_DrawBorder},
    {sipName_DrawBoxAttributes, SIP_MLMETH_CAST(meth_wxRichTextObject_DrawBoxAttributes), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_DrawBoxAttributes},
    {sipName_EditProperties, SIP_MLMETH_CAST(meth_wxRichTextObject_EditProperties), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_EditProperties},
    {sipName_FindPosition, SIP_MLMETH_CAST(meth_wxRichTextObject_FindPosition), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_FindPosition},
    {sipName_GetAbsolutePosition, meth_wxRichTextObject_GetAbsolutePosition, METH_VARARGS, doc_wxRichTextObject_GetAbsolutePosition},
    {sipName_GetAttributes, meth_wxRichTextObject_GetAttributes, METH_VARARGS, doc_wxRichTextObject_GetAttributes},
    {sipName_GetAvailableContentArea, SIP_MLMETH_CAST(meth_wxRichTextObject_GetAvailableContentArea), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_GetAvailableContentArea},
    {sipName_GetBestSize, meth_wxRichTextObject_GetBestSize, METH_VARARGS, doc_wxRichTextObject_GetBestSize},
    {sipName_GetBottomMargin, meth_wxRichTextObject_GetBottomMargin, METH_VARARGS, doc_wxRichTextObject_GetBottomMargin},
    {sipName_GetBoxRects, SIP_MLMETH_CAST(meth_wxRichTextObject_GetBoxRects), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_GetBoxRects},
    {sipName_GetBuffer, meth_wxRichTextObject_GetBuffer, METH_VARARGS, doc_wxRichTextObject_GetBuffer},
    {sipName_GetCachedSize, meth_wxRichTextObject_GetCachedSize, METH_VARARGS, doc_wxRichTextObject_GetCachedSize},
    {sipName_GetContainer, meth_wxRichTextObject_GetContainer, METH_VARARGS, doc_wxRichTextObject_GetContainer},
    {sipName_GetDescent, meth_wxRichTextObject_GetDescent, METH_VARARGS, doc_wxRichTextObject_GetDescent},
    {sipName_GetFloatDirection, meth_wxRichTextObject_GetFloatDirection, METH_VARARGS, doc_wxRichTextObject_GetFloatDirection},
    {sipName_GetLeftMargin, meth_wxRichTextObject_GetLeftMargin, METH_VARARGS, doc_wxRichTextObject_GetLeftMargin},
    {sipName_GetMaxSize, meth_wxRichTextObject_GetMaxSize, METH_VARARGS, doc_wxRichTextObject_GetMaxSize},
    {sipName_GetMinSize, meth_wxRichTextObject_GetMinSize, METH_VARARGS, doc_wxRichTextObject_GetMinSize},
    {sipName_GetName, meth_wxRichTextObject_GetName, METH_VARARGS, doc_wxRichTextObject_GetName},
    {sipName_GetNaturalSize, meth_wxRichTextObject_GetNaturalSize, METH_VARARGS, doc_wxRichTextObject_GetNaturalSize},
    {sipName_GetOwnRange, meth_wxRichTextObject_GetOwnRange, METH_VARARGS, doc_wxRichTextObject_GetOwnRange},
    {sipName_GetOwnRangeIfTopLevel, meth_wxRichTextObject_GetOwnRangeIfTopLevel, METH_VARARGS, doc_wxRichTextObject_GetOwnRangeIfTopLevel},
    {sipName_GetParent, meth_wxRichTextObject_GetParent, METH_VARARGS, doc_wxRichTextObject_GetParent},
    {sipName_GetParentContainer, meth_wxRichTextObject_GetParentContainer, METH_VARARGS, doc_wxRichTextObject_GetParentContainer},
    {sipName_GetPosition, meth_wxRichTextObject_GetPosition, METH_VARARGS, doc_wxRichTextObject_GetPosition},
    {sipName_GetProperties, meth_wxRichTextObject_GetProperties, METH_VARARGS, doc_wxRichTextObject_GetProperties},
    {sipName_GetPropertiesMenuLabel, meth_wxRichTextObject_GetPropertiesMenuLabel, METH_VARARGS, doc_wxRichTextObject_GetPropertiesMenuLabel},
    {sipName_GetRange, meth_wxRichTextObject_GetRange, METH_VARARGS, doc_wxRichTextObject_GetRange},
    {sipName_GetRangeSize, SIP_MLMETH_CAST(meth_wxRichTextObject_GetRangeSize), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_GetRangeSize},
    {sipName_GetRect, meth_wxRichTextObject_GetRect, METH_VARARGS, doc_wxRichTextObject_GetRect},
    {sipName_GetRightMargin, meth_wxRichTextObject_GetRightMargin, METH_VARARGS, doc_wxRichTextObject_GetRightMargin},
    {sipName_GetSelection, SIP_MLMETH_CAST(meth_wxRichTextObject_GetSelection), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_GetSelection},
    {sipName_GetTextForRange, SIP_MLMETH_CAST(meth_wxRichTextObject_GetTextForRange), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_GetTextForRange},
    {sipName_GetTopMargin, meth_wxRichTextObject_GetTopMargin, METH_VARARGS, doc_wxRichTextObject_GetTopMargin},
    {sipName_GetTotalMargin, SIP_MLMETH_CAST(meth_wxRichTextObject_GetTotalMargin), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_GetTotalMargin},
    {sipName_GetXMLNodeName, meth_wxRichTextObject_GetXMLNodeName, METH_VARARGS, doc_wxRichTextObject_GetXMLNodeName},
    {sipName_HandlesChildSelections, meth_wxRichTextObject_HandlesChildSelections, METH_VARARGS, doc_wxRichTextObject_HandlesChildSelections},
    {sipName_HitTest, SIP_MLMETH_CAST(meth_wxRichTextObject_HitTest), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_HitTest},
    {sipName_ImportFromXML, SIP_MLMETH_CAST(meth_wxRichTextObject_ImportFromXML), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_ImportFromXML},
    {sipName_Invalidate, SIP_MLMETH_CAST(meth_wxRichTextObject_Invalidate), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_Invalidate},
    {sipName_IsAtomic, meth_wxRichTextObject_IsAtomic, METH_VARARGS, doc_wxRichTextObject_IsAtomic},
    {sipName_IsComposite, meth_wxRichTextObject_IsComposite, METH_VARARGS, doc_wxRichTextObject_IsComposite},
    {sipName_IsEmpty, meth_wxRichTextObject_IsEmpty, METH_VARARGS, doc_wxRichTextObject_IsEmpty},
    {sipName_IsFloatable, meth_wxRichTextObject_IsFloatable, METH_VARARGS, doc_wxRichTextObject_IsFloatable},
    {sipName_IsFloating, meth_wxRichTextObject_IsFloating, METH_VARARGS, doc_wxRichTextObject_IsFloating},
    {sipName_IsShown, meth_wxRichTextObject_IsShown, METH_VARARGS, doc_wxRichTextObject_IsShown},
    {sipName_IsTopLevel, meth_wxRichTextObject_IsTopLevel, METH_VARARGS, doc_wxRichTextObject_IsTopLevel},
    {sipName_Layout, SIP_MLMETH_CAST(meth_wxRichTextObject_Layout), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_Layout},
    {sipName_LayoutToBestSize, SIP_MLMETH_CAST(meth_wxRichTextObject_LayoutToBestSize), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_LayoutToBestSize},
    {sipName_Merge, SIP_MLMETH_CAST(meth_wxRichTextObject_Merge), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_Merge},
    {sipName_Move, SIP_MLMETH_CAST(meth_wxRichTextObject_Move), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_Move},
    {sipName_Reference, meth_wxRichTextObject_Reference, METH_VARARGS, doc_wxRichTextObject_Reference},
    {sipName_SetAttributes, SIP_MLMETH_CAST(meth_wxRichTextObject_SetAttributes), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetAttributes},
    {sipName_SetCachedSize, SIP_MLMETH_CAST(meth_wxRichTextObject_SetCachedSize), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetCachedSize},
    {sipName_SetDescent, SIP_MLMETH_CAST(meth_wxRichTextObject_SetDescent), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetDescent},
    {sipName_SetMargins, SIP_MLMETH_CAST(meth_wxRichTextObject_SetMargins), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetMargins},
    {sipName_SetMaxSize, SIP_MLMETH_CAST(meth_wxRichTextObject_SetMaxSize), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetMaxSize},
    {sipName_SetMinSize, SIP_MLMETH_CAST(meth_wxRichTextObject_SetMinSize), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetMinSize},
    {sipName_SetName, SIP_MLMETH_CAST(meth_wxRichTextObject_SetName), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetName},
    {sipName_SetOwnRange, SIP_MLMETH_CAST(meth_wxRichTextObject_SetOwnRange), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetOwnRange},
    {sipName_SetParent, SIP_MLMETH_CAST(meth_wxRichTextObject_SetParent), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetParent},
    {sipName_SetPosition, SIP_MLMETH_CAST(meth_wxRichTextObject_SetPosition), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetPosition},
    {sipName_SetProperties, SIP_MLMETH_CAST(meth_wxRichTextObject_SetProperties), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetProperties},
    {sipName_SetRange, SIP_MLMETH_CAST(meth_wxRichTextObject_SetRange), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_SetRange},
    {sipName_Show, SIP_MLMETH_CAST(meth_wxRichTextObject_Show), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_Show},
    {sipName_Split, SIP_MLMETH_CAST(meth_wxRichTextObject_Split), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextObject_Split},
    {sipName_UsesParagraphAttributes, meth_wxRichTextObject_UsesParagraphAttributes, METH_VARARGS, doc_wxRichTextObject_UsesParagraphAttributes}
};

sipVariableDef variables_wxRichTextObject[] = {
    {PropertyVariable, sipName_XMLNodeName, &methods_wxRichTextObject[50], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_TopMargin, &methods_wxRichTextObject[48], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_RightMargin, &methods_wxRichTextObject[45], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Rect, &methods_wxRichTextObject[44], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Range, &methods_wxRichTextObject[42], &methods_wxRichTextObject[78], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_PropertiesMenuLabel, &methods_wxRichTextObject[41], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Properties, &methods_wxRichTextObject[40], &methods_wxRichTextObject[77], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Position, &methods_wxRichTextObject[39], &methods_wxRichTextObject[76], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ParentContainer, &methods_wxRichTextObject[38], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Parent, &methods_wxRichTextObject[37], &methods_wxRichTextObject[75], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_OwnRangeIfTopLevel, &methods_wxRichTextObject[36], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_OwnRange, &methods_wxRichTextObject[35], &methods_wxRichTextObject[74], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_NaturalSize, &methods_wxRichTextObject[34], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Name, &methods_wxRichTextObject[33], &methods_wxRichTextObject[73], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_MinSize, &methods_wxRichTextObject[32], &methods_wxRichTextObject[72], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_MaxSize, &methods_wxRichTextObject[31], &methods_wxRichTextObject[71], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_LeftMargin, &methods_wxRichTextObject[30], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_FloatDirection, &methods_wxRichTextObject[29], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Descent, &methods_wxRichTextObject[28], &methods_wxRichTextObject[69], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Container, &methods_wxRichTextObject[27], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_CachedSize, &methods_wxRichTextObject[26], &methods_wxRichTextObject[68], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Buffer, &methods_wxRichTextObject[25], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_BottomMargin, &methods_wxRichTextObject[23], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_BestSize, &methods_wxRichTextObject[22], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Attributes, &methods_wxRichTextObject[20], &methods_wxRichTextObject[67], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_AbsolutePosition, &methods_wxRichTextObject[19], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxRichTextObject, "RichTextObject(parent=None)\n"
"\n"
"This is the base for drawable rich text objects.");


sipClassTypeDef sipTypeDef__richtext_wxRichTextObject = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_ABSTRACT|SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxRichTextObject,
        SIP_NULLPTR,
        SIP_NULLPTR,
    },
    {
        sipNameNr_RichTextObject,
        {0, 0, 1},
        82, methods_wxRichTextObject,
        0, SIP_NULLPTR,
        26, variables_wxRichTextObject,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxRichTextObject,
    -1,
    -1,
    supers_wxRichTextObject,
    SIP_NULLPTR,
    init_type_wxRichTextObject,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxRichTextObject,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_wxRichTextObject,
    cast_wxRichTextObject,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
};
