]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/menu.h
fixed bug with wxcolourDatabase::FindColour(); added (and documented) new Find()...
[wxWidgets.git] / include / wx / mac / menu.h
index ea1159e932c12a30214ccb5d1e1f1dd4b8a479fb..9c71c05727a4e5f4cc7c8ba63b2375feacbc3cc1 100644 (file)
@@ -6,13 +6,13 @@
 // Created:     1998-01-01
 // RCS-ID:      $Id$
 // Copyright:   (c) Stefan Csomor
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #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
 
@@ -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)
 };
@@ -125,15 +123,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);
@@ -146,11 +135,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,20 +147,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_macInstalledMenuBar ;
+  static wxMenuBar*            s_macCommonMenuBar ;
 
     DECLARE_DYNAMIC_CLASS(wxMenuBar)
 };