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

#include "sipAPI_richtext.h"
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/xml/xml.h>
        #include <wx/richtext/richtextxml.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/gdicmn.h>
        #include <wx/dc.h>
        #include <wx/gdicmn.h>
        #include <wx/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/window.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>


class sipwxRichTextPlainText : public ::wxRichTextPlainText
{
public:
    sipwxRichTextPlainText(const ::wxString&, ::wxRichTextObject*, ::wxRichTextAttr*);
    sipwxRichTextPlainText(const ::wxRichTextPlainText&);
    virtual ~sipwxRichTextPlainText();

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

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[58];
};

sipwxRichTextPlainText::sipwxRichTextPlainText(const ::wxString& text, ::wxRichTextObject*parent, ::wxRichTextAttr*style): ::wxRichTextPlainText(text, parent, style), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxRichTextPlainText::sipwxRichTextPlainText(const ::wxRichTextPlainText& obj): ::wxRichTextPlainText(obj), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

bool sipwxRichTextPlainText::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[0], &sipPySelf, SIP_NULLPTR, sipName_Draw);

    if (!sipMeth)
        return ::wxRichTextPlainText::Draw(dc, context, range, selection, rect, descent, style);

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

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

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

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[1], &sipPySelf, SIP_NULLPTR, sipName_Layout);

    if (!sipMeth)
        return ::wxRichTextPlainText::Layout(dc, context, rect, parentRect, style);

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

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

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

    if (!sipMeth)
        return ::wxRichTextPlainText::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 sipwxRichTextPlainText::FindPosition(::wxDC& dc, ::wxRichTextDrawingContext& context, long index, ::wxPoint& pt, int*height, bool forceLineStart)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

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

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

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

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

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

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

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

bool sipwxRichTextPlainText::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[5]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetRangeSize);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
        return ::wxRichTextPlainText::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 sipwxRichTextPlainText::CanSplit(::wxRichTextDrawingContext& context) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
        return ::wxRichTextPlainText::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 sipwxRichTextPlainText::UsesParagraphAttributes() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
    {
        ::wxRichTextPlainText::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 sipwxRichTextPlainText::GetMinSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (!sipMeth)
    {
        ::wxRichTextPlainText::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 sipwxRichTextPlainText::GetAbsolutePosition() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

bool sipwxRichTextPlainText::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[52], &sipPySelf, SIP_NULLPTR, sipName_LayoutToBestSize);

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

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

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

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

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

    if (!sipMeth)
        return ::wxRichTextPlainText::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 sipwxRichTextPlainText::IsTopLevel() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

    {
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        const ::wxRichTextRange* range;
        int rangeState = 0;
        const ::wxRichTextSelection* selection;
        const ::wxRect* rect;
        int rectState = 0;
        int descent;
        int style;
        ::wxRichTextPlainText *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_wxRichTextPlainText, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, sipType_wxRichTextRange, &range, &rangeState, sipType_wxRichTextSelection, &selection, sipType_wxRect, &rect, &rectState, &descent, &style))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextPlainText::Draw(*dc, *context, *range, *selection, *rect, descent, style) : 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_RichTextPlainText, sipName_Draw, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextPlainText_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_wxRichTextPlainText_Layout(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextPlainText_Layout(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        const ::wxRect* rect;
        int rectState = 0;
        const ::wxRect* parentRect;
        int parentRectState = 0;
        int style;
        ::wxRichTextPlainText *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_wxRichTextPlainText, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, sipType_wxRect, &rect, &rectState, sipType_wxRect, &parentRect, &parentRectState, &style))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextPlainText::Layout(*dc, *context, *rect, *parentRect, style) : 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_RichTextPlainText, sipName_Layout, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextPlainText_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_wxRichTextPlainText_GetRangeSize(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextPlainText_GetRangeSize(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const ::wxRichTextRange* range;
        int rangeState = 0;
        ::wxSize* size;
        int sizeState = 0;
        int descent;
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        int flags;
        const ::wxPoint& positiondef = wxPoint(0, 0);
        const ::wxPoint* position = &positiondef;
        int positionState = 0;
        const ::wxSize& parentSizedef = wxDefaultSize;
        const ::wxSize* parentSize = &parentSizedef;
        int parentSizeState = 0;
        ::wxArrayInt* partialExtents = 0;
        int partialExtentsState = 0;
        const ::wxRichTextPlainText *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_wxRichTextPlainText, &sipCpp, sipType_wxRichTextRange, &range, &rangeState, sipType_wxSize, &size, &sizeState, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, &flags, sipType_wxPoint, &position, &positionState, sipType_wxSize, &parentSize, &parentSizeState, sipType_wxArrayInt, &partialExtents, &partialExtentsState))
        {
            bool sipRes;

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_GetRangeSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

            PyErr_Clear();

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextPlainText_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_wxRichTextPlainText_DoSplit(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextPlainText_DoSplit(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        long pos;
        ::wxRichTextPlainText *sipCpp;

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

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_DoSplit, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

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

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(end);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_CalculateRange, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

            PyErr_Clear();

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

    return SIP_NULLPTR;
}


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

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

    {
        const ::wxRichTextPlainText *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_IsEmpty, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_CanMerge, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_Merge, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextPlainText_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_wxRichTextPlainText_CanSplit(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextPlainText_CanSplit(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

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

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

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_CanSplit, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextPlainText_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_wxRichTextPlainText_Split(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextPlainText_Split(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        ::wxRichTextDrawingContext* context;
        ::wxRichTextPlainText *sipCpp;

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

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_Split, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextPlainText_GetFirstLineBreakPosition, "GetFirstLineBreakPosition(pos) -> int\n"
"\n"
"Get the first position from pos that has a line break character.");

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

    {
        long pos;
        ::wxRichTextPlainText *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxRichTextPlainText, &sipCpp, &pos))
        {
            long sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFirstLineBreakPosition(pos);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_GetFirstLineBreakPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextPlainText_UsesParagraphAttributes, "UsesParagraphAttributes() -> bool\n"
"\n"
"Does this object take note of paragraph attributes? Text and image\n"
"objects don't.");

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

    {
        const ::wxRichTextPlainText *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_UsesParagraphAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

extern "C" {static PyObject *meth_wxRichTextPlainText_ImportFromXML(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRichTextPlainText_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;
        ::wxRichTextPlainText *sipCpp;

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

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextPlainText::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_RichTextPlainText, sipName_ImportFromXML, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        const ::wxRichTextPlainText *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_GetXMLNodeName, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextPlainText_GetText, "GetText() -> str\n"
"\n"
"Returns the text.");

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

    {
        const ::wxRichTextPlainText *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_GetText, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextPlainText_SetText, "SetText(text) -> None\n"
"\n"
"Sets the text.");

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

    {
        const ::wxString* text;
        int textState = 0;
        ::wxRichTextPlainText *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRichTextPlainText, &sipCpp, sipType_wxString, &text, &textState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetText(*text);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(text), sipType_wxString, textState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_SetText, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        const ::wxRichTextPlainText* obj;
        ::wxRichTextPlainText *sipCpp;

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

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

    return SIP_NULLPTR;
}


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

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

    {
        const ::wxRichTextPlainText *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextPlainText, sipName_Clone, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_wxRichTextPlainText)
        return sipCppV;

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

    return SIP_NULLPTR;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxRichTextPlainText *>(sipCppV);
    else
        delete reinterpret_cast< ::wxRichTextPlainText *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void *array_wxRichTextPlainText(Py_ssize_t);}
static void *array_wxRichTextPlainText(Py_ssize_t sipNrElem)
{
    return new ::wxRichTextPlainText[sipNrElem];
}


extern "C" {static void array_delete_wxRichTextPlainText(void *);}
static void array_delete_wxRichTextPlainText(void *sipCpp)
{
    delete[] reinterpret_cast< ::wxRichTextPlainText *>(sipCpp);
}


extern "C" {static void assign_wxRichTextPlainText(void *, Py_ssize_t, void *);}
static void assign_wxRichTextPlainText(void *sipDst, Py_ssize_t sipDstIdx, void *sipSrc)
{
    reinterpret_cast< ::wxRichTextPlainText *>(sipDst)[sipDstIdx] = *reinterpret_cast< ::wxRichTextPlainText *>(sipSrc);
}


extern "C" {static void *copy_wxRichTextPlainText(const void *, Py_ssize_t);}
static void *copy_wxRichTextPlainText(const void *sipSrc, Py_ssize_t sipSrcIdx)
{
    return new ::wxRichTextPlainText(reinterpret_cast<const ::wxRichTextPlainText *>(sipSrc)[sipSrcIdx]);
}


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

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


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

    {
        const ::wxString& textdef = wxEmptyString;
        const ::wxString* text = &textdef;
        int textState = 0;
        ::wxRichTextObject* parent = 0;
        ::wxRichTextAttr* style = 0;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "|J1J8J8", sipType_wxString, &text, &textState, sipType_wxRichTextObject, &parent, sipType_wxRichTextAttr, &style))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRichTextPlainText(*text, parent, style);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(text), sipType_wxString, textState);

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const ::wxRichTextPlainText* obj;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "J9", sipType_wxRichTextPlainText, &obj))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRichTextPlainText(*obj);
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


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


static PyMethodDef methods_wxRichTextPlainText[] = {
    {sipName_CalculateRange, SIP_MLMETH_CAST(meth_wxRichTextPlainText_CalculateRange), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_CalculateRange},
    {sipName_CanMerge, SIP_MLMETH_CAST(meth_wxRichTextPlainText_CanMerge), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_CanMerge},
    {sipName_CanSplit, SIP_MLMETH_CAST(meth_wxRichTextPlainText_CanSplit), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_CanSplit},
    {sipName_Clone, meth_wxRichTextPlainText_Clone, METH_VARARGS, doc_wxRichTextPlainText_Clone},
    {sipName_Copy, SIP_MLMETH_CAST(meth_wxRichTextPlainText_Copy), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_Copy},
    {sipName_DeleteRange, SIP_MLMETH_CAST(meth_wxRichTextPlainText_DeleteRange), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_DeleteRange},
    {sipName_DoSplit, SIP_MLMETH_CAST(meth_wxRichTextPlainText_DoSplit), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_DoSplit},
    {sipName_Draw, SIP_MLMETH_CAST(meth_wxRichTextPlainText_Draw), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_Draw},
    {sipName_GetFirstLineBreakPosition, SIP_MLMETH_CAST(meth_wxRichTextPlainText_GetFirstLineBreakPosition), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_GetFirstLineBreakPosition},
    {sipName_GetRangeSize, SIP_MLMETH_CAST(meth_wxRichTextPlainText_GetRangeSize), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_GetRangeSize},
    {sipName_GetText, meth_wxRichTextPlainText_GetText, METH_VARARGS, doc_wxRichTextPlainText_GetText},
    {sipName_GetTextForRange, SIP_MLMETH_CAST(meth_wxRichTextPlainText_GetTextForRange), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_GetTextForRange},
    {sipName_GetXMLNodeName, meth_wxRichTextPlainText_GetXMLNodeName, METH_VARARGS, doc_wxRichTextPlainText_GetXMLNodeName},
    {sipName_ImportFromXML, SIP_MLMETH_CAST(meth_wxRichTextPlainText_ImportFromXML), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_ImportFromXML},
    {sipName_IsEmpty, meth_wxRichTextPlainText_IsEmpty, METH_VARARGS, doc_wxRichTextPlainText_IsEmpty},
    {sipName_Layout, SIP_MLMETH_CAST(meth_wxRichTextPlainText_Layout), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_Layout},
    {sipName_Merge, SIP_MLMETH_CAST(meth_wxRichTextPlainText_Merge), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_Merge},
    {sipName_SetText, SIP_MLMETH_CAST(meth_wxRichTextPlainText_SetText), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_SetText},
    {sipName_Split, SIP_MLMETH_CAST(meth_wxRichTextPlainText_Split), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextPlainText_Split},
    {sipName_UsesParagraphAttributes, meth_wxRichTextPlainText_UsesParagraphAttributes, METH_VARARGS, doc_wxRichTextPlainText_UsesParagraphAttributes}
};

sipVariableDef variables_wxRichTextPlainText[] = {
    {PropertyVariable, sipName_XMLNodeName, &methods_wxRichTextPlainText[12], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Text, &methods_wxRichTextPlainText[10], &methods_wxRichTextPlainText[17], SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxRichTextPlainText, "RichTextPlainText(text='', parent=None, style=None) -> None\n"
"RichTextPlainText(obj) -> None\n"
"\n"
"This object represents a single piece of text.");


sipClassTypeDef sipTypeDef__richtext_wxRichTextPlainText = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxRichTextPlainText,
        SIP_NULLPTR,
        SIP_NULLPTR,
    },
    {
        sipNameNr_RichTextPlainText,
        {0, 0, 1},
        20, methods_wxRichTextPlainText,
        0, SIP_NULLPTR,
        2, variables_wxRichTextPlainText,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxRichTextPlainText,
    -1,
    -1,
    supers_wxRichTextPlainText,
    SIP_NULLPTR,
    init_type_wxRichTextPlainText,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxRichTextPlainText,
    assign_wxRichTextPlainText,
    array_wxRichTextPlainText,
    copy_wxRichTextPlainText,
    release_wxRichTextPlainText,
    cast_wxRichTextPlainText,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    array_delete_wxRichTextPlainText,
    sizeof (::wxRichTextPlainText),
};
