]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/menu_osx.cpp
committing current iphone state
[wxWidgets.git] / src / osx / menu_osx.cpp
index c2ac17c2e9f5d4475d7fc0220e53903c00e7d486..91f2de1798452bf76c9e84fe83d39aecd1536a54 100644 (file)
@@ -501,20 +501,19 @@ void wxMenuBar::Init()
 {
     m_eventHandler = this;
     m_menuBarFrame = NULL;
-    m_invokingWindow = (wxWindow*) NULL;
+    m_invokingWindow = NULL;
     m_rootMenu = new wxMenu();
-    wxMenu* applemenu = new wxMenu();
-    applemenu->SetAllowRearrange(false);
-    applemenu->Append( wxApp::s_macAboutMenuItemId, "About..." );
-    applemenu->AppendSeparator();
-    applemenu->Append( wxApp::s_macPreferencesMenuItemId, "Preferences..." );
-    applemenu->AppendSeparator();
-    
-#if ! wxOSX_USE_CARBON
-    applemenu->Append( wxApp::s_macExitMenuItemId, "Quit\tCtrl+Q" );
+    m_appleMenu = new wxMenu();
+    m_appleMenu->SetAllowRearrange(false);
+    m_appleMenu->Append( wxApp::s_macAboutMenuItemId, "About..." );
+    m_appleMenu->AppendSeparator();
+#if !wxOSX_USE_CARBON
+    m_appleMenu->Append( wxApp::s_macPreferencesMenuItemId, "Preferences..." );
+    m_appleMenu->AppendSeparator();
+    m_appleMenu->Append( wxApp::s_macExitMenuItemId, "Quit\tCtrl+Q" );
 #endif
 
-    m_rootMenu->AppendSubMenu(applemenu, "\x14") ;
+    m_rootMenu->AppendSubMenu(m_appleMenu, "\x14") ;
 }
 
 wxMenuBar::wxMenuBar()
@@ -565,6 +564,7 @@ void wxMenuBar::MacInstallMenuBar()
         return ;
         
     m_rootMenu->GetPeer()->MakeRoot();
+    // DisableMenuCommand( NULL , kHICommandPreferences ) ;
 #if 0
 
     MenuBarHandle menubar = NULL ;
@@ -890,7 +890,7 @@ bool wxMenuBar::Append(wxMenu *menu, const wxString& title)
 
 static void wxMenubarUnsetInvokingWindow( wxMenu *menu )
 {
-    menu->SetInvokingWindow( (wxWindow*) NULL );
+    menu->SetInvokingWindow( NULL );
     wxMenuItemList::compatibility_iterator node = menu->GetMenuItems().GetFirst();
 
     while (node)
@@ -921,7 +921,9 @@ static void wxMenubarSetInvokingWindow( wxMenu *menu, wxWindow *win )
 
 void wxMenuBar::UnsetInvokingWindow()
 {
-    m_invokingWindow = (wxWindow*) NULL;
+    m_invokingWindow = NULL;
+    wxMenubarUnsetInvokingWindow(m_appleMenu);
+
     wxMenu *menu;
     wxMenuList::compatibility_iterator node = m_menus.GetFirst();
 
@@ -937,6 +939,8 @@ void wxMenuBar::UnsetInvokingWindow()
 void wxMenuBar::SetInvokingWindow(wxFrame *frame)
 {
     m_invokingWindow = frame;
+    wxMenubarSetInvokingWindow(m_appleMenu, frame);
+    
     wxMenu *menu;
     wxMenuList::compatibility_iterator node = m_menus.GetFirst();