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

#include "sipAPI_richtext.h"

        #include <wx/richtext/richtextformatdlg.h>

        #include <wx/richtext/richtextformatdlg.h>
        #include <wx/panel.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>


class sipwxRichTextFormattingDialogFactory : public  ::wxRichTextFormattingDialogFactory
{
public:
    sipwxRichTextFormattingDialogFactory();
    sipwxRichTextFormattingDialogFactory(const  ::wxRichTextFormattingDialogFactory&);
    virtual ~sipwxRichTextFormattingDialogFactory();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    bool ShowHelp(int, ::wxRichTextFormattingDialog*) SIP_OVERRIDE;
    bool SetSheetStyle( ::wxRichTextFormattingDialog*) SIP_OVERRIDE;
    int GetPageImage(int) const SIP_OVERRIDE;
    int GetPageIdCount() const SIP_OVERRIDE;
    int GetPageId(int) const SIP_OVERRIDE;
    bool CreatePages(long, ::wxRichTextFormattingDialog*) SIP_OVERRIDE;
     ::wxPanel* CreatePage(int, ::wxString&, ::wxRichTextFormattingDialog*) SIP_OVERRIDE;
    bool CreateButtons( ::wxRichTextFormattingDialog*) SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[8];
};

sipwxRichTextFormattingDialogFactory::sipwxRichTextFormattingDialogFactory():  ::wxRichTextFormattingDialogFactory(), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

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

bool sipwxRichTextFormattingDialogFactory::ShowHelp(int page, ::wxRichTextFormattingDialog*dialog)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRichTextFormattingDialogFactory::ShowHelp(page,dialog);

    extern bool sipVH__richtext_161(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxRichTextFormattingDialog*);

    return sipVH__richtext_161(sipGILState, 0, sipPySelf, sipMeth, page, dialog);
}

bool sipwxRichTextFormattingDialogFactory::SetSheetStyle( ::wxRichTextFormattingDialog*dialog)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRichTextFormattingDialogFactory::SetSheetStyle(dialog);

    extern bool sipVH__richtext_157(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxRichTextFormattingDialog*);

    return sipVH__richtext_157(sipGILState, 0, sipPySelf, sipMeth, dialog);
}

int sipwxRichTextFormattingDialogFactory::GetPageImage(int id) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[2]),sipPySelf,SIP_NULLPTR,sipName_GetPageImage);

    if (!sipMeth)
        return  ::wxRichTextFormattingDialogFactory::GetPageImage(id);

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

    return sipVH__richtext_160(sipGILState, 0, sipPySelf, sipMeth, id);
}

int sipwxRichTextFormattingDialogFactory::GetPageIdCount() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRichTextFormattingDialogFactory::GetPageIdCount();

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

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

int sipwxRichTextFormattingDialogFactory::GetPageId(int i) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRichTextFormattingDialogFactory::GetPageId(i);

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

    return sipVH__richtext_160(sipGILState, 0, sipPySelf, sipMeth, i);
}

bool sipwxRichTextFormattingDialogFactory::CreatePages(long pages, ::wxRichTextFormattingDialog*dialog)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[5],sipPySelf,SIP_NULLPTR,sipName_CreatePages);

    if (!sipMeth)
        return  ::wxRichTextFormattingDialogFactory::CreatePages(pages,dialog);

    extern bool sipVH__richtext_159(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long, ::wxRichTextFormattingDialog*);

    return sipVH__richtext_159(sipGILState, 0, sipPySelf, sipMeth, pages, dialog);
}

 ::wxPanel* sipwxRichTextFormattingDialogFactory::CreatePage(int page, ::wxString& title, ::wxRichTextFormattingDialog*dialog)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRichTextFormattingDialogFactory::CreatePage(page,title,dialog);

    extern  ::wxPanel* sipVH__richtext_158(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString&, ::wxRichTextFormattingDialog*);

    return sipVH__richtext_158(sipGILState, 0, sipPySelf, sipMeth, page, title, dialog);
}

bool sipwxRichTextFormattingDialogFactory::CreateButtons( ::wxRichTextFormattingDialog*dialog)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRichTextFormattingDialogFactory::CreateButtons(dialog);

    extern bool sipVH__richtext_157(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxRichTextFormattingDialog*);

    return sipVH__richtext_157(sipGILState, 0, sipPySelf, sipMeth, dialog);
}


PyDoc_STRVAR(doc_wxRichTextFormattingDialogFactory_CreateButtons, "CreateButtons(dialog) -> bool\n"
"\n"
"Creates the main dialog buttons.");

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

    {
         ::wxRichTextFormattingDialog* dialog;
         ::wxRichTextFormattingDialogFactory *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxRichTextFormattingDialogFactory, &sipCpp, sipType_wxRichTextFormattingDialog, &dialog))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxRichTextFormattingDialogFactory::CreateButtons(dialog) : sipCpp->CreateButtons(dialog));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_RichTextFormattingDialogFactory, sipName_CreateButtons, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextFormattingDialogFactory_CreatePage, "CreatePage(page, title, dialog) -> wx.Panel\n"
"\n"
"Creates a page, given a page identifier.");

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

    {
        int page;
         ::wxString* title;
        int titleState = 0;
         ::wxRichTextFormattingDialog* dialog;
         ::wxRichTextFormattingDialogFactory *sipCpp;

        static const char *sipKwdList[] = {
            sipName_page,
            sipName_title,
            sipName_dialog,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ1J8", &sipSelf, sipType_wxRichTextFormattingDialogFactory, &sipCpp, &page, sipType_wxString,&title, &titleState, sipType_wxRichTextFormattingDialog, &dialog))
        {
             ::wxPanel*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxRichTextFormattingDialogFactory::CreatePage(page,*title,dialog) : sipCpp->CreatePage(page,*title,dialog));
            Py_END_ALLOW_THREADS
            sipReleaseType(title,sipType_wxString,titleState);

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_RichTextFormattingDialogFactory, sipName_CreatePage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextFormattingDialogFactory_CreatePages, "CreatePages(pages, dialog) -> bool\n"
"\n"
"Creates all pages under the dialog's book control, also calling\n"
"AddPage().");

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

    {
        long pages;
         ::wxRichTextFormattingDialog* dialog;
         ::wxRichTextFormattingDialogFactory *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BlJ8", &sipSelf, sipType_wxRichTextFormattingDialogFactory, &sipCpp, &pages, sipType_wxRichTextFormattingDialog, &dialog))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxRichTextFormattingDialogFactory::CreatePages(pages,dialog) : sipCpp->CreatePages(pages,dialog));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_RichTextFormattingDialogFactory, sipName_CreatePages, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextFormattingDialogFactory_GetPageId, "GetPageId(i) -> int\n"
"\n"
"Enumerate all available page identifiers.");

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

    {
        int i;
        const  ::wxRichTextFormattingDialogFactory *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRichTextFormattingDialogFactory, &sipCpp, &i))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxRichTextFormattingDialogFactory::GetPageId(i) : sipCpp->GetPageId(i));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_RichTextFormattingDialogFactory, sipName_GetPageId, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextFormattingDialogFactory_GetPageIdCount, "GetPageIdCount() -> int\n"
"\n"
"Gets the number of available page identifiers.");

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

    {
        const  ::wxRichTextFormattingDialogFactory *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxRichTextFormattingDialogFactory::GetPageIdCount() : sipCpp->GetPageIdCount());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_RichTextFormattingDialogFactory, sipName_GetPageIdCount, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextFormattingDialogFactory_GetPageImage, "GetPageImage(id) -> int\n"
"\n"
"Gets the image index for the given page identifier.");

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

    {
        int id;
        const  ::wxRichTextFormattingDialogFactory *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRichTextFormattingDialogFactory, &sipCpp, &id))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxRichTextFormattingDialogFactory::GetPageImage(id) : sipCpp->GetPageImage(id));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_RichTextFormattingDialogFactory, sipName_GetPageImage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextFormattingDialogFactory_SetSheetStyle, "SetSheetStyle(dialog) -> bool\n"
"\n"
"Set the property sheet style, called at the start of\n"
"wxRichTextFormattingDialog::Create.");

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

    {
         ::wxRichTextFormattingDialog* dialog;
         ::wxRichTextFormattingDialogFactory *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxRichTextFormattingDialogFactory, &sipCpp, sipType_wxRichTextFormattingDialog, &dialog))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxRichTextFormattingDialogFactory::SetSheetStyle(dialog) : sipCpp->SetSheetStyle(dialog));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_RichTextFormattingDialogFactory, sipName_SetSheetStyle, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextFormattingDialogFactory_ShowHelp, "ShowHelp(page, dialog) -> bool\n"
"\n"
"Invokes help for the dialog.");

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

    {
        int page;
         ::wxRichTextFormattingDialog* dialog;
         ::wxRichTextFormattingDialogFactory *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ8", &sipSelf, sipType_wxRichTextFormattingDialogFactory, &sipCpp, &page, sipType_wxRichTextFormattingDialog, &dialog))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxRichTextFormattingDialogFactory::ShowHelp(page,dialog) : sipCpp->ShowHelp(page,dialog));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_RichTextFormattingDialogFactory, sipName_ShowHelp, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    return sipCppV;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxRichTextFormattingDialogFactory *>(sipCppV);
    else
        delete reinterpret_cast< ::wxRichTextFormattingDialogFactory *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void assign_wxRichTextFormattingDialogFactory(void *, SIP_SSIZE_T, void *);}
static void assign_wxRichTextFormattingDialogFactory(void *sipDst, SIP_SSIZE_T sipDstIdx, void *sipSrc)
{
    reinterpret_cast< ::wxRichTextFormattingDialogFactory *>(sipDst)[sipDstIdx] = *reinterpret_cast< ::wxRichTextFormattingDialogFactory *>(sipSrc);
}


extern "C" {static void *array_wxRichTextFormattingDialogFactory(SIP_SSIZE_T);}
static void *array_wxRichTextFormattingDialogFactory(SIP_SSIZE_T sipNrElem)
{
    return new  ::wxRichTextFormattingDialogFactory[sipNrElem];
}


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


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

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


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

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, ""))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRichTextFormattingDialogFactory();
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const  ::wxRichTextFormattingDialogFactory* a0;

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


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


static PyMethodDef methods_wxRichTextFormattingDialogFactory[] = {
    {SIP_MLNAME_CAST(sipName_CreateButtons), SIP_MLMETH_CAST(meth_wxRichTextFormattingDialogFactory_CreateButtons), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRichTextFormattingDialogFactory_CreateButtons)},
    {SIP_MLNAME_CAST(sipName_CreatePage), SIP_MLMETH_CAST(meth_wxRichTextFormattingDialogFactory_CreatePage), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRichTextFormattingDialogFactory_CreatePage)},
    {SIP_MLNAME_CAST(sipName_CreatePages), SIP_MLMETH_CAST(meth_wxRichTextFormattingDialogFactory_CreatePages), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRichTextFormattingDialogFactory_CreatePages)},
    {SIP_MLNAME_CAST(sipName_GetPageId), SIP_MLMETH_CAST(meth_wxRichTextFormattingDialogFactory_GetPageId), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRichTextFormattingDialogFactory_GetPageId)},
    {SIP_MLNAME_CAST(sipName_GetPageIdCount), meth_wxRichTextFormattingDialogFactory_GetPageIdCount, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRichTextFormattingDialogFactory_GetPageIdCount)},
    {SIP_MLNAME_CAST(sipName_GetPageImage), SIP_MLMETH_CAST(meth_wxRichTextFormattingDialogFactory_GetPageImage), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRichTextFormattingDialogFactory_GetPageImage)},
    {SIP_MLNAME_CAST(sipName_SetSheetStyle), SIP_MLMETH_CAST(meth_wxRichTextFormattingDialogFactory_SetSheetStyle), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRichTextFormattingDialogFactory_SetSheetStyle)},
    {SIP_MLNAME_CAST(sipName_ShowHelp), SIP_MLMETH_CAST(meth_wxRichTextFormattingDialogFactory_ShowHelp), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRichTextFormattingDialogFactory_ShowHelp)}
};

sipVariableDef variables_wxRichTextFormattingDialogFactory[] = {
    {PropertyVariable, sipName_PageIdCount, &methods_wxRichTextFormattingDialogFactory[4], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxRichTextFormattingDialogFactory, "RichTextFormattingDialogFactory()\n"
"\n"
"This class provides pages for wxRichTextFormattingDialog, and allows\n"
"other customization of the dialog.");


sipClassTypeDef sipTypeDef__richtext_wxRichTextFormattingDialogFactory = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxRichTextFormattingDialogFactory,
        {SIP_NULLPTR},
        SIP_NULLPTR
    },
    {
        sipNameNr_RichTextFormattingDialogFactory,
        {0, 0, 1},
        8, methods_wxRichTextFormattingDialogFactory,
        0, SIP_NULLPTR,
        1, variables_wxRichTextFormattingDialogFactory,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxRichTextFormattingDialogFactory,
    -1,
    -1,
    supers_wxRichTextFormattingDialogFactory,
    SIP_NULLPTR,
    init_type_wxRichTextFormattingDialogFactory,
    SIP_NULLPTR,
    SIP_NULLPTR,
#if PY_MAJOR_VERSION >= 3
    SIP_NULLPTR,
    SIP_NULLPTR,
#else
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
#endif
    dealloc_wxRichTextFormattingDialogFactory,
    assign_wxRichTextFormattingDialogFactory,
    array_wxRichTextFormattingDialogFactory,
    copy_wxRichTextFormattingDialogFactory,
    release_wxRichTextFormattingDialogFactory,
    cast_wxRichTextFormattingDialogFactory,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR
};
