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

#include "sipAPI_propgrid.h"
        #include <wx/propgrid/propgrid.h>
        #include <wx/propgrid/property.h>
        #include <wx/propgrid/propgridpagestate.h>
        #include <wx/propgrid/property.h>
        #include <wx/propgrid/propgrid.h>


class sipwxPropertyGridPopulator : public ::wxPropertyGridPopulator
{
public:
    sipwxPropertyGridPopulator();
    sipwxPropertyGridPopulator(const ::wxPropertyGridPopulator&);
    virtual ~sipwxPropertyGridPopulator();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void ProcessError(const ::wxString&) SIP_OVERRIDE;
    void DoScanForChildren() SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[2];
};

sipwxPropertyGridPopulator::sipwxPropertyGridPopulator(): ::wxPropertyGridPopulator(), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

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

void sipwxPropertyGridPopulator::ProcessError(const ::wxString& msg)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxPropertyGridPopulator::ProcessError(msg);
        return;
    }

    extern void sipVH__propgrid_67(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxString&);

    sipVH__propgrid_67(sipGILState, 0, sipPySelf, sipMeth, msg);
}

void sipwxPropertyGridPopulator::DoScanForChildren()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[1], &sipPySelf, sipName_PropertyGridPopulator, sipName_DoScanForChildren);

    if (!sipMeth)
        return;

    extern void sipVH__propgrid_3(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH__propgrid_3(sipGILState, 0, sipPySelf, sipMeth);
}


PyDoc_STRVAR(doc_wxPropertyGridPopulator_SetState, "SetState(state) -> None");

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

    {
        ::wxPropertyGridPageState* state;
        ::wxPropertyGridPopulator *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxPropertyGridPopulator, &sipCpp, sipType_wxPropertyGridPageState, &state))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetState(state);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_PropertyGridPopulator, sipName_SetState, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxPropertyGridPopulator_SetGrid, "SetGrid(pg) -> None");

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

    {
        ::wxPropertyGrid* pg;
        ::wxPropertyGridPopulator *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxPropertyGridPopulator, &sipCpp, sipType_wxPropertyGrid, &pg))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetGrid(pg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_PropertyGridPopulator, sipName_SetGrid, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxPropertyGridPopulator_Add, "Add(propClass, propLabel, propName, propValue, pChoices=None) -> PGProperty\n"
"\n"
"Appends a new property under bottommost parent.");

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

    {
        const ::wxString* propClass;
        int propClassState = 0;
        const ::wxString* propLabel;
        int propLabelState = 0;
        const ::wxString* propName;
        int propNameState = 0;
        const ::wxString* propValue;
        int propValueState = 0;
        ::wxPGChoices* pChoices = 0;
        ::wxPropertyGridPopulator *sipCpp;

        static const char *sipKwdList[] = {
            sipName_propClass,
            sipName_propLabel,
            sipName_propName,
            sipName_propValue,
            sipName_pChoices,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1J1J0|J8", &sipSelf, sipType_wxPropertyGridPopulator, &sipCpp, sipType_wxString, &propClass, &propClassState, sipType_wxString, &propLabel, &propLabelState, sipType_wxString, &propName, &propNameState, sipType_wxString, &propValue, &propValueState, sipType_wxPGChoices, &pChoices))
        {
            ::wxPGProperty*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Add(*propClass, *propLabel, *propName, propValue, pChoices);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(propClass), sipType_wxString, propClassState);
            sipReleaseType(const_cast< ::wxString *>(propLabel), sipType_wxString, propLabelState);
            sipReleaseType(const_cast< ::wxString *>(propName), sipType_wxString, propNameState);
            sipReleaseType(const_cast< ::wxString *>(propValue), sipType_wxString, propValueState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_PropertyGridPopulator, sipName_Add, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxPropertyGridPopulator_AddChildren, "AddChildren(property) -> None\n"
"\n"
"Pushes property to the back of parent array (ie it becomes bottommost\n"
"parent), and starts scanning/adding children for it.");

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

    {
        ::wxPGProperty* property;
        ::wxPropertyGridPopulator *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxPropertyGridPopulator, &sipCpp, sipType_wxPGProperty, &property))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AddChildren(property);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_PropertyGridPopulator, sipName_AddChildren, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxPropertyGridPopulator_AddAttribute, "AddAttribute(name, type, value) -> bool\n"
"\n"
"Adds attribute to the bottommost property.");

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

    {
        const ::wxString* name;
        int nameState = 0;
        const ::wxString* type;
        int typeState = 0;
        const ::wxString* value;
        int valueState = 0;
        ::wxPropertyGridPopulator *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1J1", &sipSelf, sipType_wxPropertyGridPopulator, &sipCpp, sipType_wxString, &name, &nameState, sipType_wxString, &type, &typeState, sipType_wxString, &value, &valueState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->AddAttribute(*name, *type, *value);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(name), sipType_wxString, nameState);
            sipReleaseType(const_cast< ::wxString *>(type), sipType_wxString, typeState);
            sipReleaseType(const_cast< ::wxString *>(value), sipType_wxString, valueState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_PropertyGridPopulator, sipName_AddAttribute, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxPropertyGridPopulator_DoScanForChildren, "DoScanForChildren() -> None\n"
"\n"
"Called once in AddChildren.");

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

    {
        ::wxPropertyGridPopulator *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxPropertyGridPopulator, &sipCpp))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_PropertyGridPopulator, sipName_DoScanForChildren);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DoScanForChildren();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_PropertyGridPopulator, sipName_DoScanForChildren, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxPropertyGridPopulator_GetCurParent, "GetCurParent() -> PGProperty\n"
"\n"
"Returns id of parent property for which children can currently be\n"
"added.");

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

    {
        const ::wxPropertyGridPopulator *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetCurParent();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_PropertyGridPopulator, sipName_GetCurParent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxPropertyGridPopulator_GetState, "GetState() -> PropertyGridPageState");

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

    {
        ::wxPropertyGridPopulator *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetState();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_PropertyGridPopulator, sipName_GetState, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxPropertyGridPopulator_ParseChoices, "ParseChoices(choicesString, idString) -> PGChoices\n"
"\n"
"Parses strings of format \"choice1\"[=value1] ...");

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

    {
        const ::wxString* choicesString;
        int choicesStringState = 0;
        const ::wxString* idString;
        int idStringState = 0;
        ::wxPropertyGridPopulator *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1", &sipSelf, sipType_wxPropertyGridPopulator, &sipCpp, sipType_wxString, &choicesString, &choicesStringState, sipType_wxString, &idString, &idStringState))
        {
            ::wxPGChoices*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPGChoices(sipCpp->ParseChoices(*choicesString, *idString));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(choicesString), sipType_wxString, choicesStringState);
            sipReleaseType(const_cast< ::wxString *>(idString), sipType_wxString, idStringState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_PropertyGridPopulator, sipName_ParseChoices, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxPropertyGridPopulator_ProcessError, "ProcessError(msg) -> None\n"
"\n"
"Implement in derived class to do custom process when an error occurs.");

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

    {
        const ::wxString* msg;
        int msgState = 0;
        ::wxPropertyGridPopulator *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxPropertyGridPopulator, &sipCpp, sipType_wxString, &msg, &msgState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxPropertyGridPopulator::ProcessError(*msg) : sipCpp->ProcessError(*msg));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(msg), sipType_wxString, msgState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_PropertyGridPopulator, sipName_ProcessError, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxPropertyGridPopulator_ToLongPCT, "ToLongPCT(s, pval, max) -> bool\n"
"\n"
"Like wxString::ToLong, except allows N% in addition of N.");

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

    {
        const ::wxString* s;
        int sState = 0;
        long pval;
        long max;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J1l", sipType_wxString, &s, &sState, &max))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = ::wxPropertyGridPopulator::ToLongPCT(*s, &pval, max);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(s), sipType_wxString, sState);

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(bl)", sipRes, pval);
        }
    }

    sipNoMethod(sipParseErr, sipName_PropertyGridPopulator, sipName_ToLongPCT, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxPropertyGridPopulator *>(sipCppV);
    else
        delete reinterpret_cast< ::wxPropertyGridPopulator *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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

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


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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxPropertyGridPopulator();
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const ::wxPropertyGridPopulator* a0;

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


static PyMethodDef methods_wxPropertyGridPopulator[] = {
    {sipName_Add, SIP_MLMETH_CAST(meth_wxPropertyGridPopulator_Add), METH_VARARGS|METH_KEYWORDS, doc_wxPropertyGridPopulator_Add},
    {sipName_AddAttribute, SIP_MLMETH_CAST(meth_wxPropertyGridPopulator_AddAttribute), METH_VARARGS|METH_KEYWORDS, doc_wxPropertyGridPopulator_AddAttribute},
    {sipName_AddChildren, SIP_MLMETH_CAST(meth_wxPropertyGridPopulator_AddChildren), METH_VARARGS|METH_KEYWORDS, doc_wxPropertyGridPopulator_AddChildren},
    {sipName_DoScanForChildren, meth_wxPropertyGridPopulator_DoScanForChildren, METH_VARARGS, doc_wxPropertyGridPopulator_DoScanForChildren},
    {sipName_GetCurParent, meth_wxPropertyGridPopulator_GetCurParent, METH_VARARGS, doc_wxPropertyGridPopulator_GetCurParent},
    {sipName_GetState, meth_wxPropertyGridPopulator_GetState, METH_VARARGS, doc_wxPropertyGridPopulator_GetState},
    {sipName_ParseChoices, SIP_MLMETH_CAST(meth_wxPropertyGridPopulator_ParseChoices), METH_VARARGS|METH_KEYWORDS, doc_wxPropertyGridPopulator_ParseChoices},
    {sipName_ProcessError, SIP_MLMETH_CAST(meth_wxPropertyGridPopulator_ProcessError), METH_VARARGS|METH_KEYWORDS, doc_wxPropertyGridPopulator_ProcessError},
    {sipName_SetGrid, SIP_MLMETH_CAST(meth_wxPropertyGridPopulator_SetGrid), METH_VARARGS|METH_KEYWORDS, doc_wxPropertyGridPopulator_SetGrid},
    {sipName_SetState, SIP_MLMETH_CAST(meth_wxPropertyGridPopulator_SetState), METH_VARARGS|METH_KEYWORDS, doc_wxPropertyGridPopulator_SetState},
    {sipName_ToLongPCT, SIP_MLMETH_CAST(meth_wxPropertyGridPopulator_ToLongPCT), METH_VARARGS|METH_KEYWORDS, doc_wxPropertyGridPopulator_ToLongPCT}
};

sipVariableDef variables_wxPropertyGridPopulator[] = {
    {PropertyVariable, sipName_State, &methods_wxPropertyGridPopulator[5], &methods_wxPropertyGridPopulator[9], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_CurParent, &methods_wxPropertyGridPopulator[4], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxPropertyGridPopulator, "PropertyGridPopulator() -> None\n"
"\n"
"Allows populating wxPropertyGrid from arbitrary text source.");


sipClassTypeDef sipTypeDef__propgrid_wxPropertyGridPopulator = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_ABSTRACT|SIP_TYPE_CLASS,
        sipNameNr_wxPropertyGridPopulator,
        SIP_NULLPTR,
        SIP_NULLPTR,
    },
    {
        sipNameNr_PropertyGridPopulator,
        {0, 0, 1},
        11, methods_wxPropertyGridPopulator,
        0, SIP_NULLPTR,
        2, variables_wxPropertyGridPopulator,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxPropertyGridPopulator,
    -1,
    -1,
    SIP_NULLPTR,
    SIP_NULLPTR,
    init_type_wxPropertyGridPopulator,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxPropertyGridPopulator,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_wxPropertyGridPopulator,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    sizeof (::wxPropertyGridPopulator),
};
