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

#include "sipAPI_core.h"
        #include <wx/menu.h>
        #include <wx/menuitem.h>
        #include <wx/frame.h>
        #include <wx/menu.h>
        #include <wx/gdicmn.h>
        #include <wx/event.h>
        #include <wx/gdicmn.h>
        #include <wx/window.h>
        #include <wx/gdicmn.h>
        #include <wx/window.h>
        #include <wx/event.h>
    #include <wx/setup.h>
    #include <wxPython/wxpy_api.h>
        #include <wx/event.h>
        #include <wx/cursor.h>
        #include <wx/caret.h>
        #include <wx/layout.h>
        #include <wx/sizer.h>
        #include <wx/dnd.h>
        #include <wx/access.h>
        #include <wx/accel.h>
        #include <wx/validate.h>
        #include <wx/tooltip.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/palette.h>
        #include <wx/colour.h>
        #include <wx/font.h>
        #include <wx/region.h>
        #include <wx/eventfilter.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>
    wxMenu * _wxMenuBar_OSXGetAppleMenu(const wxMenuBar* self)
    {
        #ifdef __WXMAC__
            return self->OSXGetAppleMenu();
        #else
            return NULL;
        #endif
    }
    void _wxMenuBar_MacSetCommonMenuBar(wxMenuBar *menubar)
    {
        #ifdef __WXMAC__
            wxMenuBar::MacSetCommonMenuBar(menubar);
        #endif
    }
    wxMenuBar * _wxMenuBar_MacGetCommonMenuBar()
    {
        #ifdef __WXMAC__
            return wxMenuBar::MacGetCommonMenuBar();
        #else
            return NULL;
        #endif
    }
    wxMenuItem* _wxMenuBar_FindItemById(const wxMenuBar* self, int id)
    {
        return self->FindItem(id);
    }


class sipwxMenuBar : public  ::wxMenuBar
{
public:
    sipwxMenuBar(long);
    virtual ~sipwxMenuBar();

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
    void sipProtectVirt_DoEnable(bool,bool);
    void sipProtectVirt_DoGetPosition(bool,int*,int*) const;
    void sipProtectVirt_DoGetSize(bool,int*,int*) const;
    void sipProtectVirt_DoGetClientSize(bool,int*,int*) const;
    void sipProtectVirt_DoSetSize(bool,int,int,int,int,int);
    void sipProtectVirt_DoSetClientSize(bool,int,int);
    void sipProtectVirt_DoSetSizeHints(bool,int,int,int,int,int,int);
    void sipProtectVirt_DoMoveWindow(bool,int,int,int,int);
    void sipProtectVirt_DoSetWindowVariant(bool, ::wxWindowVariant);
     ::wxBorder sipProtectVirt_GetDefaultBorder(bool) const;
     ::wxBorder sipProtectVirt_GetDefaultBorderForControl(bool) const;
    void sipProtectVirt_DoFreeze(bool);
    void sipProtectVirt_DoThaw(bool);
    bool sipProtectVirt_TryBefore(bool, ::wxEvent&);
    bool sipProtectVirt_TryAfter(bool, ::wxEvent&);
     ::wxSize sipProtectVirt_DoGetBestSize(bool) const;
     ::wxSize sipProtectVirt_DoGetBestClientSize(bool) const;
    void sipProtect_SendDestroyEvent();
    bool sipProtectVirt_ProcessEvent(bool, ::wxEvent&);

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void RemoveChild( ::wxWindowBase*) SIP_OVERRIDE;
    void AddChild( ::wxWindowBase*) SIP_OVERRIDE;
    bool ProcessEvent( ::wxEvent&) SIP_OVERRIDE;
    bool TryBefore( ::wxEvent&) SIP_OVERRIDE;
    bool TryAfter( ::wxEvent&) SIP_OVERRIDE;
    bool AcceptsFocus() const SIP_OVERRIDE;
    bool AcceptsFocusFromKeyboard() const SIP_OVERRIDE;
    bool AcceptsFocusRecursively() const SIP_OVERRIDE;
    void SetCanFocus(bool) SIP_OVERRIDE;
    void EnableVisibleFocus(bool) SIP_OVERRIDE;
    bool InformFirstDirection(int,int,int) SIP_OVERRIDE;
     ::wxPoint GetClientAreaOrigin() const SIP_OVERRIDE;
    bool HasTransparentBackground() SIP_OVERRIDE;
    bool ShouldInheritColours() const SIP_OVERRIDE;
     ::wxValidator* GetValidator() SIP_OVERRIDE;
    void SetValidator(const  ::wxValidator&) SIP_OVERRIDE;
    bool TransferDataFromWindow() SIP_OVERRIDE;
    bool TransferDataToWindow() SIP_OVERRIDE;
    bool Validate() SIP_OVERRIDE;
    bool Destroy() SIP_OVERRIDE;
    void InheritAttributes() SIP_OVERRIDE;
    void InitDialog() SIP_OVERRIDE;
    void OnInternalIdle() SIP_OVERRIDE;
     ::wxWindow* GetMainWindowOfCompositeControl() SIP_OVERRIDE;
    void DoEnable(bool) SIP_OVERRIDE;
    void DoGetPosition(int*,int*) const SIP_OVERRIDE;
    void DoGetSize(int*,int*) const SIP_OVERRIDE;
    void DoGetClientSize(int*,int*) const SIP_OVERRIDE;
    void DoSetSize(int,int,int,int,int) SIP_OVERRIDE;
    void DoSetClientSize(int,int) SIP_OVERRIDE;
    void DoSetSizeHints(int,int,int,int,int,int) SIP_OVERRIDE;
    void DoMoveWindow(int,int,int,int) SIP_OVERRIDE;
    void DoSetWindowVariant( ::wxWindowVariant) SIP_OVERRIDE;
     ::wxBorder GetDefaultBorder() const SIP_OVERRIDE;
     ::wxBorder GetDefaultBorderForControl() const SIP_OVERRIDE;
    void DoFreeze() SIP_OVERRIDE;
    void DoThaw() SIP_OVERRIDE;
     ::wxSize DoGetBestSize() const SIP_OVERRIDE;
     ::wxSize DoGetBestClientSize() const SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[39];
};

sipwxMenuBar::sipwxMenuBar(long style):  ::wxMenuBar(style), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

void sipwxMenuBar::RemoveChild( ::wxWindowBase*child)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::RemoveChild(child);
        return;
    }

    extern void sipVH__core_124(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindowBase*);

    sipVH__core_124(sipGILState, 0, sipPySelf, sipMeth, child);
}

void sipwxMenuBar::AddChild( ::wxWindowBase*child)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::AddChild(child);
        return;
    }

    extern void sipVH__core_124(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindowBase*);

    sipVH__core_124(sipGILState, 0, sipPySelf, sipMeth, child);
}

bool sipwxMenuBar::ProcessEvent( ::wxEvent& event)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::ProcessEvent(event);

    extern bool sipVH__core_102(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxEvent&);

    return sipVH__core_102(sipGILState, 0, sipPySelf, sipMeth, event);
}

bool sipwxMenuBar::TryBefore( ::wxEvent& event)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::TryBefore(event);

    extern bool sipVH__core_102(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxEvent&);

    return sipVH__core_102(sipGILState, 0, sipPySelf, sipMeth, event);
}

bool sipwxMenuBar::TryAfter( ::wxEvent& event)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::TryAfter(event);

    extern bool sipVH__core_102(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxEvent&);

    return sipVH__core_102(sipGILState, 0, sipPySelf, sipMeth, event);
}

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

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

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

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

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

bool sipwxMenuBar::AcceptsFocusFromKeyboard() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::AcceptsFocusFromKeyboard();

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

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

bool sipwxMenuBar::AcceptsFocusRecursively() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::AcceptsFocusRecursively();

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

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

void sipwxMenuBar::SetCanFocus(bool canFocus)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::SetCanFocus(canFocus);
        return;
    }

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

    sipVH__core_96(sipGILState, 0, sipPySelf, sipMeth, canFocus);
}

void sipwxMenuBar::EnableVisibleFocus(bool enable)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::EnableVisibleFocus(enable);
        return;
    }

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

    sipVH__core_96(sipGILState, 0, sipPySelf, sipMeth, enable);
}

bool sipwxMenuBar::InformFirstDirection(int direction,int size,int availableOtherDir)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::InformFirstDirection(direction,size,availableOtherDir);

    extern bool sipVH__core_125(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int,int);

    return sipVH__core_125(sipGILState, 0, sipPySelf, sipMeth, direction, size, availableOtherDir);
}

 ::wxPoint sipwxMenuBar::GetClientAreaOrigin() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::GetClientAreaOrigin();

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

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

bool sipwxMenuBar::HasTransparentBackground()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::HasTransparentBackground();

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

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

bool sipwxMenuBar::ShouldInheritColours() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::ShouldInheritColours();

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

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

 ::wxValidator* sipwxMenuBar::GetValidator()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::GetValidator();

    extern  ::wxValidator* sipVH__core_127(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxMenuBar::SetValidator(const  ::wxValidator& validator)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::SetValidator(validator);
        return;
    }

    extern void sipVH__core_128(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::wxValidator&);

    sipVH__core_128(sipGILState, 0, sipPySelf, sipMeth, validator);
}

bool sipwxMenuBar::TransferDataFromWindow()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::TransferDataFromWindow();

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

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

bool sipwxMenuBar::TransferDataToWindow()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::TransferDataToWindow();

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

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

bool sipwxMenuBar::Validate()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[18], &sipPySelf, SIP_NULLPTR, sipName_Validate);

    if (!sipMeth)
        return  ::wxMenuBar::Validate();

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

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

bool sipwxMenuBar::Destroy()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::Destroy();

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

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

void sipwxMenuBar::InheritAttributes()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[20], &sipPySelf, SIP_NULLPTR, sipName_InheritAttributes);

    if (!sipMeth)
    {
         ::wxMenuBar::InheritAttributes();
        return;
    }

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

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

void sipwxMenuBar::InitDialog()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[21], &sipPySelf, SIP_NULLPTR, sipName_InitDialog);

    if (!sipMeth)
    {
         ::wxMenuBar::InitDialog();
        return;
    }

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

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

void sipwxMenuBar::OnInternalIdle()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::OnInternalIdle();
        return;
    }

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

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

 ::wxWindow* sipwxMenuBar::GetMainWindowOfCompositeControl()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[23], &sipPySelf, SIP_NULLPTR, sipName_GetMainWindowOfCompositeControl);

    if (!sipMeth)
        return  ::wxMenuBar::GetMainWindowOfCompositeControl();

    extern  ::wxWindow* sipVH__core_129(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxMenuBar::DoEnable(bool enable)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[24], &sipPySelf, SIP_NULLPTR, sipName_DoEnable);

    if (!sipMeth)
    {
         ::wxMenuBar::DoEnable(enable);
        return;
    }

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

    sipVH__core_96(sipGILState, 0, sipPySelf, sipMeth, enable);
}

void sipwxMenuBar::DoGetPosition(int*x,int*y) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::DoGetPosition(x,y);
        return;
    }

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

    sipVH__core_130(sipGILState, 0, sipPySelf, sipMeth, x, y);
}

void sipwxMenuBar::DoGetSize(int*width,int*height) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::DoGetSize(width,height);
        return;
    }

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

    sipVH__core_130(sipGILState, 0, sipPySelf, sipMeth, width, height);
}

void sipwxMenuBar::DoGetClientSize(int*width,int*height) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::DoGetClientSize(width,height);
        return;
    }

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

    sipVH__core_130(sipGILState, 0, sipPySelf, sipMeth, width, height);
}

void sipwxMenuBar::DoSetSize(int x,int y,int width,int height,int sizeFlags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[28], &sipPySelf, SIP_NULLPTR, sipName_DoSetSize);

    if (!sipMeth)
    {
         ::wxMenuBar::DoSetSize(x,y,width,height,sizeFlags);
        return;
    }

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

    sipVH__core_131(sipGILState, 0, sipPySelf, sipMeth, x, y, width, height, sizeFlags);
}

void sipwxMenuBar::DoSetClientSize(int width,int height)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::DoSetClientSize(width,height);
        return;
    }

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

    sipVH__core_132(sipGILState, 0, sipPySelf, sipMeth, width, height);
}

void sipwxMenuBar::DoSetSizeHints(int minW,int minH,int maxW,int maxH,int incW,int incH)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[30], &sipPySelf, SIP_NULLPTR, sipName_DoSetSizeHints);

    if (!sipMeth)
    {
         ::wxMenuBar::DoSetSizeHints(minW,minH,maxW,maxH,incW,incH);
        return;
    }

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

    sipVH__core_133(sipGILState, 0, sipPySelf, sipMeth, minW, minH, maxW, maxH, incW, incH);
}

void sipwxMenuBar::DoMoveWindow(int x,int y,int width,int height)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::DoMoveWindow(x,y,width,height);
        return;
    }

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

    sipVH__core_134(sipGILState, 0, sipPySelf, sipMeth, x, y, width, height);
}

void sipwxMenuBar::DoSetWindowVariant( ::wxWindowVariant variant)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[32], &sipPySelf, SIP_NULLPTR, sipName_DoSetWindowVariant);

    if (!sipMeth)
    {
         ::wxMenuBar::DoSetWindowVariant(variant);
        return;
    }

    extern void sipVH__core_135(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindowVariant);

    sipVH__core_135(sipGILState, 0, sipPySelf, sipMeth, variant);
}

 ::wxBorder sipwxMenuBar::GetDefaultBorder() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::GetDefaultBorder();

    extern  ::wxBorder sipVH__core_136(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

 ::wxBorder sipwxMenuBar::GetDefaultBorderForControl() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::GetDefaultBorderForControl();

    extern  ::wxBorder sipVH__core_136(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxMenuBar::DoFreeze()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[35], &sipPySelf, SIP_NULLPTR, sipName_DoFreeze);

    if (!sipMeth)
    {
         ::wxMenuBar::DoFreeze();
        return;
    }

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

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

void sipwxMenuBar::DoThaw()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxMenuBar::DoThaw();
        return;
    }

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

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

 ::wxSize sipwxMenuBar::DoGetBestSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::DoGetBestSize();

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

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

 ::wxSize sipwxMenuBar::DoGetBestClientSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxMenuBar::DoGetBestClientSize();

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

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

void sipwxMenuBar::sipProtectVirt_DoEnable(bool sipSelfWasArg,bool enable)
{
    (sipSelfWasArg ?  ::wxWindow::DoEnable(enable) : DoEnable(enable));
}

void sipwxMenuBar::sipProtectVirt_DoGetPosition(bool sipSelfWasArg,int*x,int*y) const
{
    (sipSelfWasArg ?  ::wxWindow::DoGetPosition(x,y) : DoGetPosition(x,y));
}

void sipwxMenuBar::sipProtectVirt_DoGetSize(bool sipSelfWasArg,int*width,int*height) const
{
    (sipSelfWasArg ?  ::wxWindow::DoGetSize(width,height) : DoGetSize(width,height));
}

void sipwxMenuBar::sipProtectVirt_DoGetClientSize(bool sipSelfWasArg,int*width,int*height) const
{
    (sipSelfWasArg ?  ::wxWindow::DoGetClientSize(width,height) : DoGetClientSize(width,height));
}

void sipwxMenuBar::sipProtectVirt_DoSetSize(bool sipSelfWasArg,int x,int y,int width,int height,int sizeFlags)
{
    (sipSelfWasArg ?  ::wxWindow::DoSetSize(x,y,width,height,sizeFlags) : DoSetSize(x,y,width,height,sizeFlags));
}

void sipwxMenuBar::sipProtectVirt_DoSetClientSize(bool sipSelfWasArg,int width,int height)
{
    (sipSelfWasArg ?  ::wxWindow::DoSetClientSize(width,height) : DoSetClientSize(width,height));
}

void sipwxMenuBar::sipProtectVirt_DoSetSizeHints(bool sipSelfWasArg,int minW,int minH,int maxW,int maxH,int incW,int incH)
{
    (sipSelfWasArg ?  ::wxWindow::DoSetSizeHints(minW,minH,maxW,maxH,incW,incH) : DoSetSizeHints(minW,minH,maxW,maxH,incW,incH));
}

void sipwxMenuBar::sipProtectVirt_DoMoveWindow(bool sipSelfWasArg,int x,int y,int width,int height)
{
    (sipSelfWasArg ?  ::wxWindow::DoMoveWindow(x,y,width,height) : DoMoveWindow(x,y,width,height));
}

void sipwxMenuBar::sipProtectVirt_DoSetWindowVariant(bool sipSelfWasArg, ::wxWindowVariant variant)
{
    (sipSelfWasArg ?  ::wxWindow::DoSetWindowVariant(variant) : DoSetWindowVariant(variant));
}

 ::wxBorder sipwxMenuBar::sipProtectVirt_GetDefaultBorder(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxWindow::GetDefaultBorder() : GetDefaultBorder());
}

 ::wxBorder sipwxMenuBar::sipProtectVirt_GetDefaultBorderForControl(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxWindow::GetDefaultBorderForControl() : GetDefaultBorderForControl());
}

void sipwxMenuBar::sipProtectVirt_DoFreeze(bool sipSelfWasArg)
{
    (sipSelfWasArg ?  ::wxWindow::DoFreeze() : DoFreeze());
}

void sipwxMenuBar::sipProtectVirt_DoThaw(bool sipSelfWasArg)
{
    (sipSelfWasArg ?  ::wxWindow::DoThaw() : DoThaw());
}

bool sipwxMenuBar::sipProtectVirt_TryBefore(bool sipSelfWasArg, ::wxEvent& event)
{
    return (sipSelfWasArg ?  ::wxWindow::TryBefore(event) : TryBefore(event));
}

bool sipwxMenuBar::sipProtectVirt_TryAfter(bool sipSelfWasArg, ::wxEvent& event)
{
    return (sipSelfWasArg ?  ::wxWindow::TryAfter(event) : TryAfter(event));
}

 ::wxSize sipwxMenuBar::sipProtectVirt_DoGetBestSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxWindow::DoGetBestSize() : DoGetBestSize());
}

 ::wxSize sipwxMenuBar::sipProtectVirt_DoGetBestClientSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ?  ::wxWindow::DoGetBestClientSize() : DoGetBestClientSize());
}

void sipwxMenuBar::sipProtect_SendDestroyEvent()
{
     ::wxWindow::SendDestroyEvent();
}

bool sipwxMenuBar::sipProtectVirt_ProcessEvent(bool sipSelfWasArg, ::wxEvent& event)
{
    return (sipSelfWasArg ?  ::wxWindow::ProcessEvent(event) : ProcessEvent(event));
}


PyDoc_STRVAR(doc_wxMenuBar_DoEnable, "DoEnable(self, enable: bool)");

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

    {
        bool enable;
        sipwxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxMenuBar, &sipCpp, &enable))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoEnable(sipSelfWasArg,enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoEnable, doc_wxMenuBar_DoEnable);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoGetPosition, "DoGetPosition(self) -> Tuple[int, int]");

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

    {
        int x;
        int y;
        const sipwxMenuBar *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxMenuBar, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetPosition(sipSelfWasArg,&x,&y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",x,y);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoGetPosition, doc_wxMenuBar_DoGetPosition);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoGetSize, "DoGetSize(self) -> Tuple[int, int]");

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

    {
        int width;
        int height;
        const sipwxMenuBar *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxMenuBar, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetSize(sipSelfWasArg,&width,&height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",width,height);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoGetSize, doc_wxMenuBar_DoGetSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoGetClientSize, "DoGetClientSize(self) -> Tuple[int, int]");

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

    {
        int width;
        int height;
        const sipwxMenuBar *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxMenuBar, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetClientSize(sipSelfWasArg,&width,&height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(ii)",width,height);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoGetClientSize, doc_wxMenuBar_DoGetClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoSetSize, "DoSetSize(self, x: int, y: int, width: int, height: int, sizeFlags: int)");

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

    {
        int x;
        int y;
        int width;
        int height;
        int sizeFlags;
        sipwxMenuBar *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
            sipName_width,
            sipName_height,
            sipName_sizeFlags,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiiii", &sipSelf, sipType_wxMenuBar, &sipCpp, &x, &y, &width, &height, &sizeFlags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetSize(sipSelfWasArg,x,y,width,height,sizeFlags);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoSetSize, doc_wxMenuBar_DoSetSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoSetClientSize, "DoSetClientSize(self, width: int, height: int)");

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

    {
        int width;
        int height;
        sipwxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxMenuBar, &sipCpp, &width, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetClientSize(sipSelfWasArg,width,height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoSetClientSize, doc_wxMenuBar_DoSetClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoSetSizeHints, "DoSetSizeHints(self, minW: int, minH: int, maxW: int, maxH: int, incW: int, incH: int)");

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

    {
        int minW;
        int minH;
        int maxW;
        int maxH;
        int incW;
        int incH;
        sipwxMenuBar *sipCpp;

        static const char *sipKwdList[] = {
            sipName_minW,
            sipName_minH,
            sipName_maxW,
            sipName_maxH,
            sipName_incW,
            sipName_incH,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiiiii", &sipSelf, sipType_wxMenuBar, &sipCpp, &minW, &minH, &maxW, &maxH, &incW, &incH))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetSizeHints(sipSelfWasArg,minW,minH,maxW,maxH,incW,incH);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoSetSizeHints, doc_wxMenuBar_DoSetSizeHints);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoMoveWindow, "DoMoveWindow(self, x: int, y: int, width: int, height: int)");

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

    {
        int x;
        int y;
        int width;
        int height;
        sipwxMenuBar *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
            sipName_width,
            sipName_height,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiii", &sipSelf, sipType_wxMenuBar, &sipCpp, &x, &y, &width, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoMoveWindow(sipSelfWasArg,x,y,width,height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoMoveWindow, doc_wxMenuBar_DoMoveWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoSetWindowVariant, "DoSetWindowVariant(self, variant: WindowVariant)");

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

    {
         ::wxWindowVariant variant;
        sipwxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE", &sipSelf, sipType_wxMenuBar, &sipCpp, sipType_wxWindowVariant, &variant))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetWindowVariant(sipSelfWasArg,variant);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoSetWindowVariant, doc_wxMenuBar_DoSetWindowVariant);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_GetDefaultBorder, "GetDefaultBorder(self) -> Border");

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

    {
        const sipwxMenuBar *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxMenuBar, &sipCpp))
        {
             ::wxBorder sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_GetDefaultBorder(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_GetDefaultBorder, doc_wxMenuBar_GetDefaultBorder);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_GetDefaultBorderForControl, "GetDefaultBorderForControl(self) -> Border");

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

    {
        const sipwxMenuBar *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxMenuBar, &sipCpp))
        {
             ::wxBorder sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_GetDefaultBorderForControl(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_GetDefaultBorderForControl, doc_wxMenuBar_GetDefaultBorderForControl);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoFreeze, "DoFreeze(self)");

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

    {
        sipwxMenuBar *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxMenuBar, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoFreeze(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoFreeze, doc_wxMenuBar_DoFreeze);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoThaw, "DoThaw(self)");

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

    {
        sipwxMenuBar *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxMenuBar, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoThaw(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoThaw, doc_wxMenuBar_DoThaw);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_TryBefore, "TryBefore(self, event: Event) -> bool");

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

    {
         ::wxEvent* event;
        sipwxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxMenuBar, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_TryBefore(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_TryBefore, doc_wxMenuBar_TryBefore);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_TryAfter, "TryAfter(self, event: Event) -> bool");

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

    {
         ::wxEvent* event;
        sipwxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxMenuBar, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_TryAfter(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_TryAfter, doc_wxMenuBar_TryAfter);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoGetBestSize, "DoGetBestSize() -> Size\n"
"\n"
"Implementation of GetBestSize() that can be overridden.");

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

    {
        const sipwxMenuBar *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(sipCpp->sipProtectVirt_DoGetBestSize(sipSelfWasArg));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoGetBestSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_DoGetBestClientSize, "DoGetBestClientSize() -> Size\n"
"\n"
"Override this method to return the best size for a custom control.");

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

    {
        const sipwxMenuBar *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(sipCpp->sipProtectVirt_DoGetBestClientSize(sipSelfWasArg));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_DoGetBestClientSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_SendDestroyEvent, "SendDestroyEvent()\n"
"\n"
"Generate wxWindowDestroyEvent for this window.");

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

    {
        sipwxMenuBar *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxMenuBar, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtect_SendDestroyEvent();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_SendDestroyEvent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_ProcessEvent, "ProcessEvent(event) -> bool\n"
"\n"
"This function is public in wxEvtHandler but protected in wxWindow\n"
"because for wxWindows you should always call ProcessEvent() on the\n"
"pointer returned by GetEventHandler() and not on the wxWindow object\n"
"itself.");

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

    {
         ::wxEvent* event;
        sipwxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxMenuBar, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_ProcessEvent(sipSelfWasArg,*event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_ProcessEvent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_Append, "Append(menu, title) -> bool\n"
"\n"
"Adds the item to the end of the menu bar.");

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

    {
         ::wxMenu* menu;
        const  ::wxString* title;
        int titleState = 0;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ:J1", &sipSelf, sipType_wxMenuBar, &sipCpp, sipType_wxMenu, &menu, sipType_wxString, &title, &titleState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Append(menu,*title);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(title), sipType_wxString, titleState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_Append, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_Check, "Check(id, check)\n"
"\n"
"Checks or unchecks a menu item.");

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

    {
        int id;
        bool check;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bib", &sipSelf, sipType_wxMenuBar, &sipCpp, &id, &check))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Check(id,check);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_Check, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_Enable, "Enable(id, enable)\n"
"\n"
"Enables or disables (greys out) a menu item.");

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

    {
        int id;
        bool enable;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bib", &sipSelf, sipType_wxMenuBar, &sipCpp, &id, &enable))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Enable(id,enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_Enable, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_IsEnabledTop, "IsEnabledTop(pos) -> bool\n"
"\n"
"Returns true if the menu with the given index is enabled.");

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

    {
        size_t pos;
        const  ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B=", &sipSelf, sipType_wxMenuBar, &sipCpp, &pos))
        {
            bool sipRes;

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_IsEnabledTop, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_EnableTop, "EnableTop(pos, enable)\n"
"\n"
"Enables or disables a whole menu.");

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

    {
        size_t pos;
        bool enable;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B=b", &sipSelf, sipType_wxMenuBar, &sipCpp, &pos, &enable))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->EnableTop(pos,enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_EnableTop, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_FindItem, "FindItem(id) -> (MenuItem, menu)\n"
"\n"
"Finds the menu item object associated with the given menu item\n"
"identifier.");

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

    {
        int id;
         ::wxMenu* menu;
        const  ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxMenuBar, &sipCpp, &id))
        {
             ::wxMenuItem*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->FindItem(id,&menu);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            PyObject *sipResObj = sipConvertFromType(sipRes,sipType_wxMenuItem,SIP_NULLPTR);
            return sipBuildResult(0,"(RD)",sipResObj,menu,sipType_wxMenu,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_FindItem, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_FindMenu, "FindMenu(title) -> int\n"
"\n"
"Returns the index of the menu with the given title or wxNOT_FOUND if\n"
"no such menu exists in this menubar.");

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

    {
        const  ::wxString* title;
        int titleState = 0;
        const  ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxMenuBar, &sipCpp, sipType_wxString, &title, &titleState))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->FindMenu(*title);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(title), sipType_wxString, titleState);

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_FindMenu, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_FindMenuItem, "FindMenuItem(menuString, itemString) -> int\n"
"\n"
"Finds the menu item id for a menu name/menu item string pair.");

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

    {
        const  ::wxString* menuString;
        int menuStringState = 0;
        const  ::wxString* itemString;
        int itemStringState = 0;
        const  ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1", &sipSelf, sipType_wxMenuBar, &sipCpp, sipType_wxString, &menuString, &menuStringState, sipType_wxString, &itemString, &itemStringState))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->FindMenuItem(*menuString,*itemString);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(menuString), sipType_wxString, menuStringState);
            sipReleaseType(const_cast< ::wxString *>(itemString), sipType_wxString, itemStringState);

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_FindMenuItem, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_GetHelpString, "GetHelpString(id) -> String\n"
"\n"
"Gets the help string associated with the menu item identifier.");

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

    {
        int id;
        const  ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxMenuBar, &sipCpp, &id))
        {
             ::wxString*sipRes;

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_GetHelpString, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_GetLabel, "GetLabel(id) -> String\n"
"\n"
"Gets the label associated with a menu item.");

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

    {
        int id;
        const  ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxMenuBar, &sipCpp, &id))
        {
             ::wxString*sipRes;

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_GetLabel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_GetMenu, "GetMenu(menuIndex) -> Menu\n"
"\n"
"Returns the menu at menuIndex (zero-based).");

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

    {
        size_t menuIndex;
        const  ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B=", &sipSelf, sipType_wxMenuBar, &sipCpp, &menuIndex))
        {
             ::wxMenu*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetMenu(menuIndex);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_GetMenu, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_GetMenuCount, "GetMenuCount() -> size_t\n"
"\n"
"Returns the number of menus in this menubar.");

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

    {
        const  ::wxMenuBar *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxMenuBar, &sipCpp))
        {
            size_t sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetMenuCount();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromUnsignedLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_GetMenuCount, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_GetMenuLabel, "GetMenuLabel(pos) -> String\n"
"\n"
"Returns the label of a top-level menu.");

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

    {
        size_t pos;
        const  ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B=", &sipSelf, sipType_wxMenuBar, &sipCpp, &pos))
        {
             ::wxString*sipRes;

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_GetMenuLabel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_GetMenuLabelText, "GetMenuLabelText(pos) -> String\n"
"\n"
"Returns the label of a top-level menu.");

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

    {
        size_t pos;
        const  ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B=", &sipSelf, sipType_wxMenuBar, &sipCpp, &pos))
        {
             ::wxString*sipRes;

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_GetMenuLabelText, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_Insert, "Insert(pos, menu, title) -> bool\n"
"\n"
"Inserts the menu at the given position into the menu bar.");

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

    {
        size_t pos;
         ::wxMenu* menu;
        const  ::wxString* title;
        int titleState = 0;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B=J:J1", &sipSelf, sipType_wxMenuBar, &sipCpp, &pos, sipType_wxMenu, &menu, sipType_wxString, &title, &titleState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Insert(pos,menu,*title);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(title), sipType_wxString, titleState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_Insert, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_IsChecked, "IsChecked(id) -> bool\n"
"\n"
"Determines whether an item is checked.");

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

    {
        int id;
        const  ::wxMenuBar *sipCpp;

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

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsChecked(id);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_IsChecked, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_IsEnabled, "IsEnabled(id) -> bool\n"
"\n"
"Determines whether an item is enabled.");

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

    {
        int id;
        const  ::wxMenuBar *sipCpp;

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

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsEnabled(id);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_IsEnabled, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_Refresh, "Refresh(eraseBackground=True, rect=None)\n"
"\n"
"Redraw the menu bar.");

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

    {
        bool eraseBackground = 1;
        const  ::wxRect* rect = 0;
        int rectState = 0;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|bJ0", &sipSelf, sipType_wxMenuBar, &sipCpp, &eraseBackground, sipType_wxRect, &rect, &rectState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Refresh(eraseBackground,rect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect), sipType_wxRect, rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_Refresh, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_Remove, "Remove(pos) -> Menu\n"
"\n"
"Removes the menu from the menu bar and returns the menu object - the\n"
"caller is responsible for deleting it.");

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

    {
        size_t pos;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B=", &sipSelf, sipType_wxMenuBar, &sipCpp, &pos))
        {
             ::wxMenu*sipRes;

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxMenu,Py_None);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_Remove, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_Replace, "Replace(pos, menu, title) -> Menu\n"
"\n"
"Replaces the menu at the given position with another one.");

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

    {
        size_t pos;
         ::wxMenu* menu;
        const  ::wxString* title;
        int titleState = 0;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B=J:J1", &sipSelf, sipType_wxMenuBar, &sipCpp, &pos, sipType_wxMenu, &menu, sipType_wxString, &title, &titleState))
        {
             ::wxMenu*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Replace(pos,menu,*title);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(title), sipType_wxString, titleState);

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromType(sipRes,sipType_wxMenu,Py_None);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_Replace, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_SetHelpString, "SetHelpString(id, helpString)\n"
"\n"
"Sets the help string associated with a menu item.");

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

    {
        int id;
        const  ::wxString* helpString;
        int helpStringState = 0;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ1", &sipSelf, sipType_wxMenuBar, &sipCpp, &id, sipType_wxString, &helpString, &helpStringState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetHelpString(id,*helpString);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(helpString), sipType_wxString, helpStringState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_SetHelpString, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_SetLabel, "SetLabel(id, label)\n"
"\n"
"Sets the label of a menu item.");

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

    {
        int id;
        const  ::wxString* label;
        int labelState = 0;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ1", &sipSelf, sipType_wxMenuBar, &sipCpp, &id, sipType_wxString, &label, &labelState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetLabel(id,*label);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(label), sipType_wxString, labelState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_SetLabel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_SetMenuLabel, "SetMenuLabel(pos, label)\n"
"\n"
"Sets the label of a top-level menu.");

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

    {
        size_t pos;
        const  ::wxString* label;
        int labelState = 0;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B=J1", &sipSelf, sipType_wxMenuBar, &sipCpp, &pos, sipType_wxString, &label, &labelState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetMenuLabel(pos,*label);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(label), sipType_wxString, labelState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_SetMenuLabel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_OSXGetAppleMenu, "OSXGetAppleMenu() -> Menu\n"
"\n"
"Returns the Apple menu.");

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

    {
        const  ::wxMenuBar *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxMenuBar, &sipCpp))
        {
             ::wxMenu*sipRes = 0;
            int sipIsErr = 0;
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxMenuBar_OSXGetAppleMenu(sipCpp);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;

            if (sipIsErr)
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_OSXGetAppleMenu, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_GetFrame, "GetFrame() -> Frame");

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

    {
        const  ::wxMenuBar *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFrame();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_GetFrame, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_IsAttached, "IsAttached() -> bool");

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

    {
        const  ::wxMenuBar *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsAttached();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_IsAttached, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_Attach, "Attach(frame)");

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

    {
         ::wxFrame* frame;
         ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxMenuBar, &sipCpp, sipType_wxFrame, &frame))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Attach(frame);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_Attach, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_Detach, "Detach()");

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

    {
         ::wxMenuBar *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxMenuBar, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Detach();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_Detach, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_MacSetCommonMenuBar, "MacSetCommonMenuBar(menubar)\n"
"\n"
"Enables you to set the global menubar on Mac, that is, the menubar\n"
"displayed when the app is running without any frames open.");

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

    {
         ::wxMenuBar* menubar;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J8", sipType_wxMenuBar, &menubar))
        {
            int sipIsErr = 0;
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        _wxMenuBar_MacSetCommonMenuBar(menubar);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_MacSetCommonMenuBar, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_MacGetCommonMenuBar, "MacGetCommonMenuBar() -> MenuBar\n"
"\n"
"Enables you to get the global menubar on Mac, that is, the menubar\n"
"displayed when the app is running without any frames open.");

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

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
             ::wxMenuBar*sipRes = 0;
            int sipIsErr = 0;
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxMenuBar_MacGetCommonMenuBar();
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;

            if (sipIsErr)
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_MacGetCommonMenuBar, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxMenuBar_FindItemById, "FindItemById(id) -> MenuItem\n"
"\n"
"FindItemById(id) -> MenuItem\n"
"\n"
"Finds the menu item object associated with the given menu item\n"
"identifier.");

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

    {
        int id;
        const  ::wxMenuBar *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxMenuBar, &sipCpp, &id))
        {
             ::wxMenuItem*sipRes = 0;
            int sipIsErr = 0;
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxMenuBar_FindItemById(sipCpp, id);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;

            if (sipIsErr)
                return 0;

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

    sipNoMethod(sipParseErr, sipName_MenuBar, sipName_FindItemById, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_wxMenuBar)
        return sipCppV;

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

    return SIP_NULLPTR;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxMenuBar *>(sipCppV);
    else
        delete reinterpret_cast< ::wxMenuBar *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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


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

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


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

    {
        long style = 0;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "|l", &style))
        {
        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxMenuBar(style);
            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_wxMenuBar[] = {{631, 255, 1}};


static PyMethodDef methods_wxMenuBar[] = {
    {sipName_Append, SIP_MLMETH_CAST(meth_wxMenuBar_Append), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_Append},
    {sipName_Attach, SIP_MLMETH_CAST(meth_wxMenuBar_Attach), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_Attach},
    {sipName_Check, SIP_MLMETH_CAST(meth_wxMenuBar_Check), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_Check},
    {sipName_Detach, meth_wxMenuBar_Detach, METH_VARARGS, doc_wxMenuBar_Detach},
    {sipName_DoEnable, SIP_MLMETH_CAST(meth_wxMenuBar_DoEnable), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_DoFreeze, meth_wxMenuBar_DoFreeze, METH_VARARGS, SIP_NULLPTR},
    {sipName_DoGetBestClientSize, meth_wxMenuBar_DoGetBestClientSize, METH_VARARGS, SIP_NULLPTR},
    {sipName_DoGetBestSize, meth_wxMenuBar_DoGetBestSize, METH_VARARGS, SIP_NULLPTR},
    {sipName_DoGetClientSize, SIP_MLMETH_CAST(meth_wxMenuBar_DoGetClientSize), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_DoGetPosition, SIP_MLMETH_CAST(meth_wxMenuBar_DoGetPosition), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_DoGetSize, SIP_MLMETH_CAST(meth_wxMenuBar_DoGetSize), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_DoMoveWindow, SIP_MLMETH_CAST(meth_wxMenuBar_DoMoveWindow), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_DoSetClientSize, SIP_MLMETH_CAST(meth_wxMenuBar_DoSetClientSize), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_DoSetSize, SIP_MLMETH_CAST(meth_wxMenuBar_DoSetSize), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_DoSetSizeHints, SIP_MLMETH_CAST(meth_wxMenuBar_DoSetSizeHints), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_DoSetWindowVariant, SIP_MLMETH_CAST(meth_wxMenuBar_DoSetWindowVariant), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_DoThaw, meth_wxMenuBar_DoThaw, METH_VARARGS, SIP_NULLPTR},
    {sipName_Enable, SIP_MLMETH_CAST(meth_wxMenuBar_Enable), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_Enable},
    {sipName_EnableTop, SIP_MLMETH_CAST(meth_wxMenuBar_EnableTop), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_EnableTop},
    {sipName_FindItem, SIP_MLMETH_CAST(meth_wxMenuBar_FindItem), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_FindItem},
    {sipName_FindItemById, SIP_MLMETH_CAST(meth_wxMenuBar_FindItemById), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_FindItemById},
    {sipName_FindMenu, SIP_MLMETH_CAST(meth_wxMenuBar_FindMenu), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_FindMenu},
    {sipName_FindMenuItem, SIP_MLMETH_CAST(meth_wxMenuBar_FindMenuItem), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_FindMenuItem},
    {sipName_GetDefaultBorder, meth_wxMenuBar_GetDefaultBorder, METH_VARARGS, SIP_NULLPTR},
    {sipName_GetDefaultBorderForControl, meth_wxMenuBar_GetDefaultBorderForControl, METH_VARARGS, SIP_NULLPTR},
    {sipName_GetFrame, meth_wxMenuBar_GetFrame, METH_VARARGS, doc_wxMenuBar_GetFrame},
    {sipName_GetHelpString, SIP_MLMETH_CAST(meth_wxMenuBar_GetHelpString), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_GetHelpString},
    {sipName_GetLabel, SIP_MLMETH_CAST(meth_wxMenuBar_GetLabel), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_GetLabel},
    {sipName_GetMenu, SIP_MLMETH_CAST(meth_wxMenuBar_GetMenu), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_GetMenu},
    {sipName_GetMenuCount, meth_wxMenuBar_GetMenuCount, METH_VARARGS, doc_wxMenuBar_GetMenuCount},
    {sipName_GetMenuLabel, SIP_MLMETH_CAST(meth_wxMenuBar_GetMenuLabel), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_GetMenuLabel},
    {sipName_GetMenuLabelText, SIP_MLMETH_CAST(meth_wxMenuBar_GetMenuLabelText), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_GetMenuLabelText},
    {sipName_Insert, SIP_MLMETH_CAST(meth_wxMenuBar_Insert), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_Insert},
    {sipName_IsAttached, meth_wxMenuBar_IsAttached, METH_VARARGS, doc_wxMenuBar_IsAttached},
    {sipName_IsChecked, SIP_MLMETH_CAST(meth_wxMenuBar_IsChecked), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_IsChecked},
    {sipName_IsEnabled, SIP_MLMETH_CAST(meth_wxMenuBar_IsEnabled), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_IsEnabled},
    {sipName_IsEnabledTop, SIP_MLMETH_CAST(meth_wxMenuBar_IsEnabledTop), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_IsEnabledTop},
    {sipName_MacGetCommonMenuBar, meth_wxMenuBar_MacGetCommonMenuBar, METH_VARARGS, doc_wxMenuBar_MacGetCommonMenuBar},
    {sipName_MacSetCommonMenuBar, SIP_MLMETH_CAST(meth_wxMenuBar_MacSetCommonMenuBar), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_MacSetCommonMenuBar},
    {sipName_OSXGetAppleMenu, meth_wxMenuBar_OSXGetAppleMenu, METH_VARARGS, doc_wxMenuBar_OSXGetAppleMenu},
    {sipName_ProcessEvent, SIP_MLMETH_CAST(meth_wxMenuBar_ProcessEvent), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_Refresh, SIP_MLMETH_CAST(meth_wxMenuBar_Refresh), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_Refresh},
    {sipName_Remove, SIP_MLMETH_CAST(meth_wxMenuBar_Remove), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_Remove},
    {sipName_Replace, SIP_MLMETH_CAST(meth_wxMenuBar_Replace), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_Replace},
    {sipName_SendDestroyEvent, meth_wxMenuBar_SendDestroyEvent, METH_VARARGS, SIP_NULLPTR},
    {sipName_SetHelpString, SIP_MLMETH_CAST(meth_wxMenuBar_SetHelpString), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_SetHelpString},
    {sipName_SetLabel, SIP_MLMETH_CAST(meth_wxMenuBar_SetLabel), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_SetLabel},
    {sipName_SetMenuLabel, SIP_MLMETH_CAST(meth_wxMenuBar_SetMenuLabel), METH_VARARGS|METH_KEYWORDS, doc_wxMenuBar_SetMenuLabel},
    {sipName_TryAfter, SIP_MLMETH_CAST(meth_wxMenuBar_TryAfter), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR},
    {sipName_TryBefore, SIP_MLMETH_CAST(meth_wxMenuBar_TryBefore), METH_VARARGS|METH_KEYWORDS, SIP_NULLPTR}
};

PyDoc_STRVAR(doc_wxMenuBar, "MenuBar(style=0)\n"
"\n"
"A menu bar is a series of menus accessible from the top of a frame.");


sipClassTypeDef sipTypeDef__core_wxMenuBar = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxMenuBar,
        SIP_NULLPTR,
        SIP_NULLPTR
    },
    {
        sipNameNr_MenuBar,
        {0, 0, 1},
        50, methods_wxMenuBar,
        0, SIP_NULLPTR,
        0, SIP_NULLPTR,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxMenuBar,
    -1,
    -1,
    supers_wxMenuBar,
    SIP_NULLPTR,
    init_type_wxMenuBar,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxMenuBar,
    SIP_NULLPTR,
    array_wxMenuBar,
    SIP_NULLPTR,
    release_wxMenuBar,
    cast_wxMenuBar,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
};
