X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/294ea16de3359844cb884baad219b40ea04fac48..32aa5bda92dcd39e954275d10558761cbf01fbaa:/include/wx/mac/carbon/menu.h diff --git a/include/wx/mac/carbon/menu.h b/include/wx/mac/carbon/menu.h index 112c6c19e1..1b78b37649 100644 --- a/include/wx/mac/carbon/menu.h +++ b/include/wx/mac/carbon/menu.h @@ -12,11 +12,7 @@ #ifndef _WX_MENU_H_ #define _WX_MENU_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "menu.h" -#endif - -class WXDLLEXPORT wxFrame; +class WXDLLIMPEXP_FWD_CORE 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(); @@ -51,7 +43,7 @@ public: // implementation only from now on // ------------------------------- - int MacGetIndexFromId( int id ) ; + int MacGetIndexFromId( int id ) ; int MacGetIndexFromItem( wxMenuItem *pItem ) ; void MacEnableMenu( bool bDoEnable ) ; // MacOS needs to know about submenus somewhere within this menu @@ -69,6 +61,14 @@ public: short MacGetMenuId() { return m_macMenuId ; } + wxInt32 MacHandleCommandProcess( wxMenuItem* item, int id, wxWindow* targetWindow = NULL ); + wxInt32 MacHandleCommandUpdateStatus( wxMenuItem* item, int id, wxWindow* targetWindow = NULL); + +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(); @@ -122,8 +122,8 @@ public: virtual wxMenuItem* FindItem( int id, wxMenu **menu = NULL ) const; virtual void EnableTop( size_t pos, bool flag ); - virtual void SetLabelTop( size_t pos, const wxString& label ); - virtual wxString GetLabelTop( size_t pos ) const; + virtual void SetMenuLabel( size_t pos, const wxString& label ); + virtual wxString GetMenuLabel( size_t pos ) const; virtual bool Enable( bool enable = TRUE ); // for virtual function hiding virtual void Enable( int itemid, bool enable ) @@ -153,17 +153,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 ;