]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/menu.h
added wxVListBox::OnDrawBackground(); fixed warnings
[wxWidgets.git] / include / wx / mac / menu.h
index a8e62e4967805660466d2a2df801d83b040f75bf..c401f7f140850e7e0cf7e671b43a406fa8ad9cef 100644 (file)
@@ -1,12 +1,12 @@
 /////////////////////////////////////////////////////////////////////////////
 // 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_
@@ -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)
 };