X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a31a5f85341a2ef131d86a1dee12f3d6c8156118..02ac8d7a5ddbd0694b46cc5133e82eb22d935829:/include/wx/mac/menu.h?ds=inline diff --git a/include/wx/mac/menu.h b/include/wx/mac/menu.h index ea1159e932..c401f7f140 100644 --- a/include/wx/mac/menu.h +++ b/include/wx/mac/menu.h @@ -6,7 +6,7 @@ // Created: 1998-01-01 // RCS-ID: $Id$ // Copyright: (c) Stefan Csomor -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_MENU_H_ @@ -46,20 +46,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 ) ; + 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 @@ -67,7 +65,7 @@ public: // get the menu handle WXHMENU GetHMenu() const { return m_hMenu; } - short MacGetMenuId() { return m_macMenuId ; } + short MacGetMenuId() { return m_macMenuId ; } private: // common part of all ctors @@ -88,9 +86,9 @@ private: // the menu handle of this menu WXHMENU m_hMenu; - short m_macMenuId; + short m_macMenuId; - static short s_macNextMenuId ; + static short s_macNextMenuId ; DECLARE_DYNAMIC_CLASS(wxMenu) }; @@ -146,11 +144,11 @@ public: // attach to a frame void Attach(wxFrame *frame); - // clear the invoking window for all menus and submenus - void UnsetInvokingWindow() ; + // clear the invoking window for all menus and submenus + void UnsetInvokingWindow() ; - // set the invoking window for all menus and submenus - void SetInvokingWindow( wxFrame* frame ) ; + // set the invoking window for all menus and submenus + void SetInvokingWindow( wxFrame* frame ) ; // if the menubar is modified, the display is not updated automatically, // call this function to update it (m_menuBarFrame should be !NULL) @@ -158,6 +156,8 @@ 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 @@ -171,7 +171,8 @@ protected: wxArrayString m_titles; private: - static wxMenuBar* s_macInstalledMenuBar ; + static wxMenuBar* s_macInstalledMenuBar ; + static wxMenuBar* s_macCommonMenuBar ; DECLARE_DYNAMIC_CLASS(wxMenuBar) };