/*
 * Interface wrapper code.
 *
 * Generated by SIP 4.19.16
 *
 *     Copyright: (c) 2018 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_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxAccSelectionFlags);

    return sipVH__core_44(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_43(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxNavDir,int,int*, ::wxAccessible**);

    return sipVH__core_43(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_42(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::wxPoint&,int*, ::wxAccessible**);

    return sipVH__core_42(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_35(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_35(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_41(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,long*);

    return sipVH__core_41(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_40(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxVariant*);

    return sipVH__core_40(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_39(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxAccRole*);

    return sipVH__core_39(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_38(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxAccessible**);

    return sipVH__core_38(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_35(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_35(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_37(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxRect&,int);

    return sipVH__core_37(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_35(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_35(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_35(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_35(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_36(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int*, ::wxAccessible**);

    return sipVH__core_36(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_35(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_35(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_35(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxString*);

    return sipVH__core_35(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_34(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int*);

    return sipVH__core_34(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_33(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::wxAccessible**);

    return sipVH__core_33(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_32(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int);

    return sipVH__core_32(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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    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_wxObject)
        return static_cast< ::wxObject *>(sipCpp);

    return sipCppV;
}


/* 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 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[] = {{358, 255, 1}};


static PyMethodDef methods_wxAccessible[] = {
    {SIP_MLNAME_CAST(sipName_DoDefaultAction), SIP_MLMETH_CAST(meth_wxAccessible_DoDefaultAction), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_DoDefaultAction)},
    {SIP_MLNAME_CAST(sipName_GetChild), SIP_MLMETH_CAST(meth_wxAccessible_GetChild), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetChild)},
    {SIP_MLNAME_CAST(sipName_GetChildCount), SIP_MLMETH_CAST(meth_wxAccessible_GetChildCount), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetChildCount)},
    {SIP_MLNAME_CAST(sipName_GetDefaultAction), SIP_MLMETH_CAST(meth_wxAccessible_GetDefaultAction), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetDefaultAction)},
    {SIP_MLNAME_CAST(sipName_GetDescription), SIP_MLMETH_CAST(meth_wxAccessible_GetDescription), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetDescription)},
    {SIP_MLNAME_CAST(sipName_GetFocus), SIP_MLMETH_CAST(meth_wxAccessible_GetFocus), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetFocus)},
    {SIP_MLNAME_CAST(sipName_GetHelpText), SIP_MLMETH_CAST(meth_wxAccessible_GetHelpText), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetHelpText)},
    {SIP_MLNAME_CAST(sipName_GetKeyboardShortcut), SIP_MLMETH_CAST(meth_wxAccessible_GetKeyboardShortcut), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetKeyboardShortcut)},
    {SIP_MLNAME_CAST(sipName_GetLocation), SIP_MLMETH_CAST(meth_wxAccessible_GetLocation), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetLocation)},
    {SIP_MLNAME_CAST(sipName_GetName), SIP_MLMETH_CAST(meth_wxAccessible_GetName), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetName)},
    {SIP_MLNAME_CAST(sipName_GetParent), SIP_MLMETH_CAST(meth_wxAccessible_GetParent), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetParent)},
    {SIP_MLNAME_CAST(sipName_GetRole), SIP_MLMETH_CAST(meth_wxAccessible_GetRole), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetRole)},
    {SIP_MLNAME_CAST(sipName_GetSelections), SIP_MLMETH_CAST(meth_wxAccessible_GetSelections), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetSelections)},
    {SIP_MLNAME_CAST(sipName_GetState), SIP_MLMETH_CAST(meth_wxAccessible_GetState), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetState)},
    {SIP_MLNAME_CAST(sipName_GetValue), SIP_MLMETH_CAST(meth_wxAccessible_GetValue), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_GetValue)},
    {SIP_MLNAME_CAST(sipName_GetWindow), meth_wxAccessible_GetWindow, METH_VARARGS, SIP_MLDOC_CAST(doc_wxAccessible_GetWindow)},
    {SIP_MLNAME_CAST(sipName_HitTest), SIP_MLMETH_CAST(meth_wxAccessible_HitTest), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_HitTest)},
    {SIP_MLNAME_CAST(sipName_Navigate), SIP_MLMETH_CAST(meth_wxAccessible_Navigate), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_Navigate)},
    {SIP_MLNAME_CAST(sipName_NotifyEvent), SIP_MLMETH_CAST(meth_wxAccessible_NotifyEvent), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_NotifyEvent)},
    {SIP_MLNAME_CAST(sipName_Select), SIP_MLMETH_CAST(meth_wxAccessible_Select), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxAccessible_Select)},
    {SIP_MLNAME_CAST(sipName_SetWindow), SIP_MLMETH_CAST(meth_wxAccessible_SetWindow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(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,
#if PY_MAJOR_VERSION >= 3
    SIP_NULLPTR,
    SIP_NULLPTR,
#else
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
#endif
    dealloc_wxAccessible,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_wxAccessible,
    cast_wxAccessible,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR
};
