X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e40298d54ecd5b109222a7c60aa2ef084a304d69..002ed9af8309d5baa1b2c32f1fd28160595e2fa7:/include/wx/mac/menu.h?ds=inline diff --git a/include/wx/mac/menu.h b/include/wx/mac/menu.h index ed73c5ed3e..854a70d107 100644 --- a/include/wx/mac/menu.h +++ b/include/wx/mac/menu.h @@ -12,12 +12,14 @@ #ifndef _WX_MENU_H_ #define _WX_MENU_H_ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "menu.h" #endif class WXDLLEXPORT wxFrame; +#include "wx/arrstr.h" + // ---------------------------------------------------------------------------- // Menu // ---------------------------------------------------------------------------- @@ -34,9 +36,9 @@ public: virtual ~wxMenu(); // implement base class virtuals - virtual bool DoAppend(wxMenuItem *item); - virtual bool DoInsert(size_t pos, wxMenuItem *item); - virtual wxMenuItem *DoRemove(wxMenuItem *item); + 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(); @@ -46,20 +48,18 @@ public: // MSW-specific bool ProcessCommand(wxCommandEvent& event); -#if WXWIN_COMPATIBILITY - wxMenu(const wxString& title, const wxFunction func) - : wxMenuBase(title) - { - Callback(func); - } -#endif // WXWIN_COMPATIBILITY - // implementation only from now on // ------------------------------- int MacGetIndexFromId( int id ) ; int MacGetIndexFromItem( wxMenuItem *pItem ) ; void MacEnableMenu( bool bDoEnable ) ; + // MacOS needs to know about submenus somewhere within this menu + // before it can be displayed , also hide special menu items like preferences + // that are handled by the OS + void MacBeforeDisplay( bool isSubMenu ) ; + // undo all changes from the MacBeforeDisplay call + void MacAfterDisplay( bool isSubMenu ) ; // semi-private accessors // get the window which contains this menu @@ -125,15 +125,6 @@ public: virtual void SetLabelTop( size_t pos, const wxString& label ); virtual wxString GetLabelTop( size_t pos ) const; - // compatibility: these functions are deprecated -#if WXWIN_COMPATIBILITY - void SetEventHandler(wxEvtHandler *handler) { m_eventHandler = handler; } - wxEvtHandler *GetEventHandler() { return m_eventHandler; } - - bool Enabled(int id) const { return IsEnabled(id); } - bool Checked(int id) const { return IsChecked(id); } -#endif // WXWIN_COMPATIBILITY - // implementation from now on WXHMENU Create(); int FindMenu(const wxString& title); @@ -158,20 +149,19 @@ public: void MacInstallMenuBar() ; static wxMenuBar* MacGetInstalledMenuBar() { return s_macInstalledMenuBar ; } + static void MacSetCommonMenuBar(wxMenuBar* menubar) { s_macCommonMenuBar=menubar; } + static wxMenuBar* MacGetCommonMenuBar() { return s_macCommonMenuBar; } protected: // common part of all ctors void Init(); wxWindow *m_invokingWindow; -#if WXWIN_COMPATIBILITY - wxEvtHandler *m_eventHandler; -#endif // WXWIN_COMPATIBILITY - wxArrayString m_titles; private: static wxMenuBar* s_macInstalledMenuBar ; + static wxMenuBar* s_macCommonMenuBar ; DECLARE_DYNAMIC_CLASS(wxMenuBar) };