/////////////////////////////////////////////////////////////////////////////
// Name: menu.h
// Purpose: wxMenu, wxMenuBar classes
-// Author: AUTHOR
+// Author: Stefan Csomor
// Modified by:
-// Created: ??/??/98
+// Created: 1998-01-01
// RCS-ID: $Id$
-// Copyright: (c) AUTHOR
-// Licence: wxWindows licence
+// Copyright: (c) Stefan Csomor
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_MENU_H_
// 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
// 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
// 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)
};
// 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)
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
wxArrayString m_titles;
private:
- static wxMenuBar* s_macInstalledMenuBar ;
+ static wxMenuBar* s_macInstalledMenuBar ;
+ static wxMenuBar* s_macCommonMenuBar ;
DECLARE_DYNAMIC_CLASS(wxMenuBar)
};