X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c393c7402138d8d146f58932e3bcce169fc4fd0d..345319d60c69cac3f5e9e74ee570d20370fc532f:/include/wx/mac/carbon/menu.h diff --git a/include/wx/mac/carbon/menu.h b/include/wx/mac/carbon/menu.h index db83838a94..4430389dec 100644 --- a/include/wx/mac/carbon/menu.h +++ b/include/wx/mac/carbon/menu.h @@ -12,10 +12,6 @@ #ifndef _WX_MENU_H_ #define _WX_MENU_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "menu.h" -#endif - class WXDLLEXPORT wxFrame; #include "wx/arrstr.h" @@ -35,10 +31,6 @@ public: virtual ~wxMenu(); - // implement base class virtuals - virtual wxMenuItem* DoAppend(wxMenuItem *item); - virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item); - virtual wxMenuItem* DoRemove(wxMenuItem *item); virtual void Attach(wxMenuBarBase *menubar) ; virtual void Break(); @@ -69,6 +61,11 @@ public: short MacGetMenuId() { return m_macMenuId ; } +protected: + virtual wxMenuItem* DoAppend(wxMenuItem *item); + virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item); + virtual wxMenuItem* DoRemove(wxMenuItem *item); + private: // common part of all ctors void Init(); @@ -108,7 +105,7 @@ public: // unused under MSW wxMenuBar(long style); // menubar takes ownership of the menus arrays but copies the titles - wxMenuBar(int n, wxMenu *menus[], const wxString titles[]); + wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0); virtual ~wxMenuBar(); // menubar construction @@ -125,6 +122,11 @@ public: virtual void SetLabelTop( size_t pos, const wxString& label ); virtual wxString GetLabelTop( size_t pos ) const; virtual bool Enable( bool enable = TRUE ); + // for virtual function hiding + virtual void Enable( int itemid, bool enable ) + { + wxMenuBarBase::Enable( itemid, enable ); + } // implementation from now on WXHMENU Create(); @@ -148,17 +150,24 @@ public: // call this function to update it (m_menuBarFrame should be !NULL) void Refresh(bool eraseBackground = TRUE, const wxRect *rect = (const wxRect *) NULL); - void MacInstallMenuBar() ; - static wxMenuBar* MacGetInstalledMenuBar() { return s_macInstalledMenuBar ; } - static void MacSetCommonMenuBar(wxMenuBar* menubar) { s_macCommonMenuBar=menubar; } - static wxMenuBar* MacGetCommonMenuBar() { return s_macCommonMenuBar; } + static void SetAutoWindowMenu( bool enable ) { s_macAutoWindowMenu = enable ; } + static bool GetAutoWindowMenu() { return s_macAutoWindowMenu ; } + + void MacInstallMenuBar() ; + static wxMenuBar* MacGetInstalledMenuBar() { return s_macInstalledMenuBar ; } + static void MacSetCommonMenuBar(wxMenuBar* menubar) { s_macCommonMenuBar=menubar; } + static wxMenuBar* MacGetCommonMenuBar() { return s_macCommonMenuBar; } + + static WXHMENU MacGetWindowMenuHMenu() { return s_macWindowMenuHandle ; } protected: // common part of all ctors void Init(); wxWindow *m_invokingWindow; - wxArrayString m_titles; + wxArrayString m_titles; + static bool s_macAutoWindowMenu ; + static WXHMENU s_macWindowMenuHandle ; private: static wxMenuBar* s_macInstalledMenuBar ;