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

#include "sipAPI_core.h"
        #include <wx/access.h>
        #include <wx/window.h>
        #include <wx/gdicmn.h>
        #include <wx/gdicmn.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>


class sipwxAccessible : public ::wxAccessible
{
public:
    sipwxAccessible(::wxWindow*);
    virtual ~sipwxAccessible();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    ::wxAccStatus Select(int, ::wxAccSelectionFlags) SIP_OVERRIDE;
    ::wxAccStatus Navigate(::wxNavDir, int, int*, ::wxAccessible**) SIP_OVERRIDE;
    ::wxAccStatus HitTest(const ::wxPoint&, int*, ::wxAccessible**) SIP_OVERRIDE;
    ::wxAccStatus GetValue(int, ::wxString*) SIP_OVERRIDE;
    ::wxAccStatus GetState(int, long*) SIP_OVERRIDE;
    ::wxAccStatus GetSelections(::wxVariant*) SIP_OVERRIDE;
    ::wxAccStatus GetRole(int, ::wxAccRole*) SIP_OVERRIDE;
    ::wxAccStatus GetParent(::wxAccessible**) SIP_OVERRIDE;
    ::wxAccStatus GetName(int, ::wxString*) SIP_OVERRIDE;
    ::wxAccStatus GetLocation(::wxRect&, int) SIP_OVERRIDE;
    ::wxAccStatus GetKeyboardShortcut(int, ::wxString*) SIP_OVERRIDE;
    ::wxAccStatus GetHelpText(int, ::wxString*) SIP_OVERRIDE;
    ::wxAccStatus GetFocus(int*, ::wxAccessible**) SIP_OVERRIDE;
    ::wxAccStatus GetDescription(int, ::wxString*) SIP_OVERRIDE;
    ::wxAccStatus GetDefaultAction(int, ::wxString*) SIP_OVERRIDE;
    ::wxAccStatus GetChildCount(int*) SIP_OVERRIDE;
    ::wxAccStatus GetChild(int, ::wxAccessible**) SIP_OVERRIDE;
    ::wxAccStatus DoDefaultAction(int) SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[18];
};

sipwxAccessible::sipwxAccessible(::wxWindow*win): ::wxAccessible(win), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

::wxAccStatus sipwxAccessible::Select(int childId, ::wxAccSelectionFlags selectFlags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::Select(childId, selectFlags);

    extern ::wxAccStatus sipVH__core_56(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxAccSelectionFlags);

    return sipVH__core_56(sipGILState, 0, sipPySelf, sipMeth, childId, selectFlags);
}

::wxAccStatus sipwxAccessible::Navigate(::wxNavDir navDir, int fromId, int*toId, ::wxAccessible**toObject)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::Navigate(navDir, fromId, toId, toObject);

    extern ::wxAccStatus sipVH__core_55(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxNavDir, int, int*, ::wxAccessible**);

    return sipVH__core_55(sipGILState, 0, sipPySelf, sipMeth, navDir, fromId, toId, toObject);
}

::wxAccStatus sipwxAccessible::HitTest(const ::wxPoint& pt, int*childId, ::wxAccessible**childObject)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::HitTest(pt, childId, childObject);

    extern ::wxAccStatus sipVH__core_54(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxPoint&, int*, ::wxAccessible**);

    return sipVH__core_54(sipGILState, 0, sipPySelf, sipMeth, pt, childId, childObject);
}

::wxAccStatus sipwxAccessible::GetValue(int childId, ::wxString*strValue)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::GetValue(childId, strValue);

    extern ::wxAccStatus sipVH__core_47(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_47(sipGILState, 0, sipPySelf, sipMeth, childId, strValue);
}

::wxAccStatus sipwxAccessible::GetState(int childId, long*state)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::GetState(childId, state);

    extern ::wxAccStatus sipVH__core_53(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, long*);

    return sipVH__core_53(sipGILState, 0, sipPySelf, sipMeth, childId, state);
}

::wxAccStatus sipwxAccessible::GetSelections(::wxVariant*selections)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::GetSelections(selections);

    extern ::wxAccStatus sipVH__core_52(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxVariant*);

    return sipVH__core_52(sipGILState, 0, sipPySelf, sipMeth, selections);
}

::wxAccStatus sipwxAccessible::GetRole(int childId, ::wxAccRole*role)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::GetRole(childId, role);

    extern ::wxAccStatus sipVH__core_51(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxAccRole*);

    return sipVH__core_51(sipGILState, 0, sipPySelf, sipMeth, childId, role);
}

::wxAccStatus sipwxAccessible::GetParent(::wxAccessible**parent)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::GetParent(parent);

    extern ::wxAccStatus sipVH__core_50(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxAccessible**);

    return sipVH__core_50(sipGILState, 0, sipPySelf, sipMeth, parent);
}

::wxAccStatus sipwxAccessible::GetName(int childId, ::wxString*name)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::GetName(childId, name);

    extern ::wxAccStatus sipVH__core_47(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_47(sipGILState, 0, sipPySelf, sipMeth, childId, name);
}

::wxAccStatus sipwxAccessible::GetLocation(::wxRect& rect, int elementId)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::GetLocation(rect, elementId);

    extern ::wxAccStatus sipVH__core_49(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRect&, int);

    return sipVH__core_49(sipGILState, 0, sipPySelf, sipMeth, rect, elementId);
}

::wxAccStatus sipwxAccessible::GetKeyboardShortcut(int childId, ::wxString*shortcut)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[10], &sipPySelf, SIP_NULLPTR, sipName_GetKeyboardShortcut);

    if (!sipMeth)
        return ::wxAccessible::GetKeyboardShortcut(childId, shortcut);

    extern ::wxAccStatus sipVH__core_47(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_47(sipGILState, 0, sipPySelf, sipMeth, childId, shortcut);
}

::wxAccStatus sipwxAccessible::GetHelpText(int childId, ::wxString*helpText)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::GetHelpText(childId, helpText);

    extern ::wxAccStatus sipVH__core_47(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_47(sipGILState, 0, sipPySelf, sipMeth, childId, helpText);
}

::wxAccStatus sipwxAccessible::GetFocus(int*childId, ::wxAccessible**child)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::GetFocus(childId, child);

    extern ::wxAccStatus sipVH__core_48(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int*, ::wxAccessible**);

    return sipVH__core_48(sipGILState, 0, sipPySelf, sipMeth, childId, child);
}

::wxAccStatus sipwxAccessible::GetDescription(int childId, ::wxString*description)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[13], &sipPySelf, SIP_NULLPTR, sipName_GetDescription);

    if (!sipMeth)
        return ::wxAccessible::GetDescription(childId, description);

    extern ::wxAccStatus sipVH__core_47(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_47(sipGILState, 0, sipPySelf, sipMeth, childId, description);
}

::wxAccStatus sipwxAccessible::GetDefaultAction(int childId, ::wxString*actionName)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[14], &sipPySelf, SIP_NULLPTR, sipName_GetDefaultAction);

    if (!sipMeth)
        return ::wxAccessible::GetDefaultAction(childId, actionName);

    extern ::wxAccStatus sipVH__core_47(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_47(sipGILState, 0, sipPySelf, sipMeth, childId, actionName);
}

::wxAccStatus sipwxAccessible::GetChildCount(int*childCount)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::GetChildCount(childCount);

    extern ::wxAccStatus sipVH__core_46(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int*);

    return sipVH__core_46(sipGILState, 0, sipPySelf, sipMeth, childCount);
}

::wxAccStatus sipwxAccessible::GetChild(int childId, ::wxAccessible**child)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::GetChild(childId, child);

    extern ::wxAccStatus sipVH__core_45(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxAccessible**);

    return sipVH__core_45(sipGILState, 0, sipPySelf, sipMeth, childId, child);
}

::wxAccStatus sipwxAccessible::DoDefaultAction(int childId)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxAccessible::DoDefaultAction(childId);

    extern ::wxAccStatus sipVH__core_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int);

    return sipVH__core_44(sipGILState, 0, sipPySelf, sipMeth, childId);
}


PyDoc_STRVAR(doc_wxAccessible_DoDefaultAction, "DoDefaultAction(childId) -> AccStatus\n"
"\n"
"Performs the default action for the object.");

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

    {
        int childId;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxAccessible, &sipCpp, &childId))
        {
            ::wxAccStatus sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::DoDefaultAction(childId) : sipCpp->DoDefaultAction(childId));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxAccStatus);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_DoDefaultAction, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetChild, "GetChild(childId) -> (AccStatus, child)\n"
"\n"
"Gets the specified child (starting from 1).");

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

    {
        int childId;
        ::wxAccessible* child;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxAccessible, &sipCpp, &childId))
        {
            ::wxAccStatus sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetChild(childId, &child) : sipCpp->GetChild(childId, &child));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FD)", sipRes, sipType_wxAccStatus, child, sipType_wxAccessible, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetChild, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetChildCount, "GetChildCount() -> (AccStatus, childCount)\n"
"\n"
"Returns the number of children in childCount.");

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

    {
        int childCount;
        ::wxAccessible *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxAccessible, &sipCpp))
        {
            ::wxAccStatus sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetChildCount(&childCount) : sipCpp->GetChildCount(&childCount));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(Fi)", sipRes, sipType_wxAccStatus, childCount);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetChildCount, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetDefaultAction, "GetDefaultAction(childId) -> (AccStatus, actionName)\n"
"\n"
"Gets the default action for this object (0) or a child (greater than\n"
"0).");

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

    {
        int childId;
        ::wxString* actionName;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxAccessible, &sipCpp, &childId))
        {
            ::wxAccStatus sipRes;
            actionName = new ::wxString();

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetDefaultAction(childId, actionName) : sipCpp->GetDefaultAction(childId, actionName));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FN)", sipRes, sipType_wxAccStatus, actionName, sipType_wxString, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetDefaultAction, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetDescription, "GetDescription(childId) -> (AccStatus, description)\n"
"\n"
"Returns the description for this object or a child.");

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

    {
        int childId;
        ::wxString* description;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxAccessible, &sipCpp, &childId))
        {
            ::wxAccStatus sipRes;
            description = new ::wxString();

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetDescription(childId, description) : sipCpp->GetDescription(childId, description));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FN)", sipRes, sipType_wxAccStatus, description, sipType_wxString, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetDescription, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetFocus, "GetFocus(childId) -> (AccStatus, child)\n"
"\n"
"Gets the window with the keyboard focus.");

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

    {
        int childId;
        ::wxAccessible* child;
        ::wxAccessible *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxAccessible, &sipCpp))
        {
            ::wxAccStatus sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetFocus(&childId, &child) : sipCpp->GetFocus(&childId, &child));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FiD)", sipRes, sipType_wxAccStatus, childId, child, sipType_wxAccessible, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetFocus, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetHelpText, "GetHelpText(childId) -> (AccStatus, helpText)\n"
"\n"
"Returns help text for this object or a child, similar to tooltip text.");

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

    {
        int childId;
        ::wxString* helpText;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxAccessible, &sipCpp, &childId))
        {
            ::wxAccStatus sipRes;
            helpText = new ::wxString();

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetHelpText(childId, helpText) : sipCpp->GetHelpText(childId, helpText));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FN)", sipRes, sipType_wxAccStatus, helpText, sipType_wxString, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetHelpText, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetKeyboardShortcut, "GetKeyboardShortcut(childId) -> (AccStatus, shortcut)\n"
"\n"
"Returns the keyboard shortcut for this object or child.");

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

    {
        int childId;
        ::wxString* shortcut;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxAccessible, &sipCpp, &childId))
        {
            ::wxAccStatus sipRes;
            shortcut = new ::wxString();

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetKeyboardShortcut(childId, shortcut) : sipCpp->GetKeyboardShortcut(childId, shortcut));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FN)", sipRes, sipType_wxAccStatus, shortcut, sipType_wxString, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetKeyboardShortcut, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetLocation, "GetLocation(elementId) -> (AccStatus, rect)\n"
"\n"
"Returns the rectangle for this object (id is 0) or a child element (id\n"
"is greater than 0).");

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

    {
        ::wxRect* rect;
        int elementId;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxAccessible, &sipCpp, &elementId))
        {
            ::wxAccStatus sipRes;
            rect = new ::wxRect();

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetLocation(*rect, elementId) : sipCpp->GetLocation(*rect, elementId));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FN)", sipRes, sipType_wxAccStatus, rect, sipType_wxRect, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetLocation, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetName, "GetName(childId) -> (AccStatus, name)\n"
"\n"
"Gets the name of the specified object.");

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

    {
        int childId;
        ::wxString* name;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxAccessible, &sipCpp, &childId))
        {
            ::wxAccStatus sipRes;
            name = new ::wxString();

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetName(childId, name) : sipCpp->GetName(childId, name));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FN)", sipRes, sipType_wxAccStatus, name, sipType_wxString, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetName, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetParent, "GetParent() -> (AccStatus, parent)\n"
"\n"
"Returns the parent of this object, or NULL.");

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

    {
        ::wxAccessible* parent;
        ::wxAccessible *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxAccessible, &sipCpp))
        {
            ::wxAccStatus sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetParent(&parent) : sipCpp->GetParent(&parent));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FD)", sipRes, sipType_wxAccStatus, parent, sipType_wxAccessible, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetParent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetRole, "GetRole(childId) -> (AccStatus, role)\n"
"\n"
"Returns a role constant describing this object.");

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

    {
        int childId;
        ::wxAccRole role;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxAccessible, &sipCpp, &childId))
        {
            ::wxAccStatus sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetRole(childId, &role) : sipCpp->GetRole(childId, &role));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FF)", sipRes, sipType_wxAccStatus, role, sipType_wxAccRole);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetRole, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetSelections, "GetSelections() -> (AccStatus, selections)\n"
"\n"
"Gets a variant representing the selected children of this object.");

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

    {
        ::wxVariant* selections;
        ::wxAccessible *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxAccessible, &sipCpp))
        {
            ::wxAccStatus sipRes;
            selections = new ::wxVariant();

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetSelections(selections) : sipCpp->GetSelections(selections));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FN)", sipRes, sipType_wxAccStatus, selections, sipType_wxVariant, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetSelections, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetState, "GetState(childId) -> (AccStatus, state)\n"
"\n"
"Returns a state constant.");

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

    {
        int childId;
        long state;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxAccessible, &sipCpp, &childId))
        {
            ::wxAccStatus sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetState(childId, &state) : sipCpp->GetState(childId, &state));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(Fl)", sipRes, sipType_wxAccStatus, state);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetState, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetValue, "GetValue(childId) -> (AccStatus, strValue)\n"
"\n"
"Returns a localized string representing the value for the object or\n"
"child.");

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

    {
        int childId;
        ::wxString* strValue;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxAccessible, &sipCpp, &childId))
        {
            ::wxAccStatus sipRes;
            strValue = new ::wxString();

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::GetValue(childId, strValue) : sipCpp->GetValue(childId, strValue));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FN)", sipRes, sipType_wxAccStatus, strValue, sipType_wxString, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetValue, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_GetWindow, "GetWindow() -> Window\n"
"\n"
"Returns the window associated with this object.");

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

    {
        ::wxAccessible *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetWindow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_GetWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_HitTest, "HitTest(pt, childId, childObject) -> AccStatus\n"
"\n"
"Returns a status value and object id to indicate whether the given\n"
"point was on this or a child object.");

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

    {
        const ::wxPoint* pt;
        int ptState = 0;
        int childId;
        ::wxAccessible* childObject;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxAccessible, &sipCpp, sipType_wxPoint, &pt, &ptState))
        {
            ::wxAccStatus sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::HitTest(*pt, &childId, &childObject) : sipCpp->HitTest(*pt, &childId, &childObject));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(pt), sipType_wxPoint, ptState);

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FiD)", sipRes, sipType_wxAccStatus, childId, childObject, sipType_wxAccessible, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_HitTest, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_Navigate, "Navigate(navDir, fromId, toId, toObject) -> AccStatus\n"
"\n"
"Navigates from fromId to toId or to toObject.");

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

    {
        ::wxNavDir navDir;
        int fromId;
        int toId;
        ::wxAccessible* toObject;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BEi", &sipSelf, sipType_wxAccessible, &sipCpp, sipType_wxNavDir, &navDir, &fromId))
        {
            ::wxAccStatus sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::Navigate(navDir, fromId, &toId, &toObject) : sipCpp->Navigate(navDir, fromId, &toId, &toObject));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(FiD)", sipRes, sipType_wxAccStatus, toId, toObject, sipType_wxAccessible, SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_Navigate, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_Select, "Select(childId, selectFlags) -> AccStatus\n"
"\n"
"Selects the object or child.");

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

    {
        int childId;
        ::wxAccSelectionFlags selectFlags;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiE", &sipSelf, sipType_wxAccessible, &sipCpp, &childId, sipType_wxAccSelectionFlags, &selectFlags))
        {
            ::wxAccStatus sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxAccessible::Select(childId, selectFlags) : sipCpp->Select(childId, selectFlags));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxAccStatus);
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_Select, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_SetWindow, "SetWindow(window)\n"
"\n"
"Sets the window associated with this object.");

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

    {
        ::wxWindow* window;
        ::wxAccessible *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxAccessible, &sipCpp, sipType_wxWindow, &window))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetWindow(window);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_SetWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxAccessible_NotifyEvent, "NotifyEvent(eventType, window, objectType, objectId)\n"
"\n"
"Allows the application to send an event when something changes in an\n"
"accessible object.");

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

    {
        int eventType;
        ::wxWindow* window;
        ::wxAccObject objectType;
        int objectId;

        static const char *sipKwdList[] = {
            sipName_eventType,
            sipName_window,
            sipName_objectType,
            sipName_objectId,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "iJ8Ei", &eventType, sipType_wxWindow, &window, sipType_wxAccObject, &objectType, &objectId))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            ::wxAccessible::NotifyEvent(eventType, window, objectType, objectId);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Accessible, sipName_NotifyEvent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_wxAccessible)
        return sipCppV;

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

    return SIP_NULLPTR;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxAccessible *>(sipCppV);
    else
        delete reinterpret_cast<::wxAccessible *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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


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

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


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

    {
        ::wxWindow* win = 0;

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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxAccessible(win);
            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_wxAccessible[] = {{392, 255, 1}};


static PyMethodDef methods_wxAccessible[] = {
    {sipName_DoDefaultAction, SIP_MLMETH_CAST(meth_wxAccessible_DoDefaultAction), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_DoDefaultAction},
    {sipName_GetChild, SIP_MLMETH_CAST(meth_wxAccessible_GetChild), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetChild},
    {sipName_GetChildCount, SIP_MLMETH_CAST(meth_wxAccessible_GetChildCount), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetChildCount},
    {sipName_GetDefaultAction, SIP_MLMETH_CAST(meth_wxAccessible_GetDefaultAction), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetDefaultAction},
    {sipName_GetDescription, SIP_MLMETH_CAST(meth_wxAccessible_GetDescription), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetDescription},
    {sipName_GetFocus, SIP_MLMETH_CAST(meth_wxAccessible_GetFocus), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetFocus},
    {sipName_GetHelpText, SIP_MLMETH_CAST(meth_wxAccessible_GetHelpText), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetHelpText},
    {sipName_GetKeyboardShortcut, SIP_MLMETH_CAST(meth_wxAccessible_GetKeyboardShortcut), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetKeyboardShortcut},
    {sipName_GetLocation, SIP_MLMETH_CAST(meth_wxAccessible_GetLocation), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetLocation},
    {sipName_GetName, SIP_MLMETH_CAST(meth_wxAccessible_GetName), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetName},
    {sipName_GetParent, SIP_MLMETH_CAST(meth_wxAccessible_GetParent), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetParent},
    {sipName_GetRole, SIP_MLMETH_CAST(meth_wxAccessible_GetRole), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetRole},
    {sipName_GetSelections, SIP_MLMETH_CAST(meth_wxAccessible_GetSelections), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetSelections},
    {sipName_GetState, SIP_MLMETH_CAST(meth_wxAccessible_GetState), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetState},
    {sipName_GetValue, SIP_MLMETH_CAST(meth_wxAccessible_GetValue), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_GetValue},
    {sipName_GetWindow, meth_wxAccessible_GetWindow, METH_VARARGS, doc_wxAccessible_GetWindow},
    {sipName_HitTest, SIP_MLMETH_CAST(meth_wxAccessible_HitTest), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_HitTest},
    {sipName_Navigate, SIP_MLMETH_CAST(meth_wxAccessible_Navigate), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_Navigate},
    {sipName_NotifyEvent, SIP_MLMETH_CAST(meth_wxAccessible_NotifyEvent), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_NotifyEvent},
    {sipName_Select, SIP_MLMETH_CAST(meth_wxAccessible_Select), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_Select},
    {sipName_SetWindow, SIP_MLMETH_CAST(meth_wxAccessible_SetWindow), METH_VARARGS|METH_KEYWORDS, doc_wxAccessible_SetWindow}
};

sipVariableDef variables_wxAccessible[] = {
    {PropertyVariable, sipName_Window, &methods_wxAccessible[15], &methods_wxAccessible[20], SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxAccessible, "Accessible(win=None)\n"
"\n"
"The wxAccessible class allows wxWidgets applications, and wxWidgets\n"
"itself, to return extended information about user interface elements\n"
"to client applications such as screen readers.");


sipClassTypeDef sipTypeDef__core_wxAccessible = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxAccessible,
        SIP_NULLPTR,
        SIP_NULLPTR,
    },
    {
        sipNameNr_Accessible,
        {0, 0, 1},
        21, methods_wxAccessible,
        0, SIP_NULLPTR,
        1, variables_wxAccessible,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxAccessible,
    -1,
    -1,
    supers_wxAccessible,
    SIP_NULLPTR,
    init_type_wxAccessible,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxAccessible,
    SIP_NULLPTR,
    array_wxAccessible,
    SIP_NULLPTR,
    release_wxAccessible,
    cast_wxAccessible,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
};
