X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9673f535acfc892b08ff07e87ae0003c4690fe7e..88594d02eb59a55ac85d3210a49d02918124617b:/src/mac/menu.cpp diff --git a/src/mac/menu.cpp b/src/mac/menu.cpp index 030c20efd0..df302f9e69 100644 --- a/src/mac/menu.cpp +++ b/src/mac/menu.cpp @@ -42,7 +42,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxMenuBar, wxEvtHandler) // the (popup) menu title has this special id static const int idMenuTitle = -2; -static int formerHelpMenuItems = 0 ; +static MenuItemIndex firstUserHelpMenuItem = 0 ; const short kwxMacMenuBarResource = 1 ; const short kwxMacAppleMenuId = 1 ; @@ -453,7 +453,7 @@ bool wxMenu::MacMenuSelect( wxEvtHandler* handler, long when , int macMenuId, in #ifndef __DARWIN__ else if ( macMenuId == kHMHelpMenuID ) { - int menuItem = formerHelpMenuItems ; + int menuItem = firstUserHelpMenuItem-1 ; for (pos = 0, node = GetMenuItems().First(); node; node = node->Next(), pos++) { wxMenuItem * pItem = (wxMenuItem *) node->Data() ; @@ -639,20 +639,13 @@ void wxMenuBar::MacInstallMenuBar() int pos ; wxMenu* menu = m_menus[i] , *subMenu = NULL ; -#if !TARGET_CARBON - /* the help menu does not exist in CARBON anymore */ if( m_titles[i] == "?" || m_titles[i] == "&?" || m_titles[i] == wxApp::s_macHelpMenuTitleName ) { MenuHandle mh = NULL ; - if ( HMGetHelpMenuHandle( &mh ) != noErr ) - { - continue ; - } - if ( formerHelpMenuItems == 0 ) - { - if( mh ) - formerHelpMenuItems = CountMenuItems( mh ) ; - } + if ( UMAGetHelpMenu( &mh , &firstUserHelpMenuItem) != noErr ) + { + continue ; + } for (pos = 0 , node = menu->GetMenuItems().First(); node; node = node->Next(), pos++) { @@ -667,7 +660,7 @@ void wxMenuBar::MacInstallMenuBar() if ( item->IsSeparator() ) { if ( mh ) - UMAAppendMenuItem(mh, "\p-" ); + MacAppendMenu(mh, "\p-" ); } else { @@ -695,55 +688,6 @@ void wxMenuBar::MacInstallMenuBar() } } } -#else - if( m_titles[i] == "?" || m_titles[i] == "&?" || m_titles[i] == wxApp::s_macHelpMenuTitleName ) - { - wxMenuItem::MacBuildMenuString( label, NULL , NULL , m_titles[i] , false ); - UMASetMenuTitle( menu->GetHMenu() , label ) ; - - wxArrayPtrVoid submenus ; - - for (pos = 0 , node = menu->GetMenuItems().First(); node; node = node->Next(), pos++) - { - item = (wxMenuItem *)node->Data(); - subMenu = item->GetSubMenu() ; - if (subMenu) - { - submenus.Add(subMenu) ; - } - else - { - if ( item->GetId() == wxApp::s_macAboutMenuItemId ) - { - Str255 label ; - UInt8 modifiers ; - SInt16 key ; - wxMenuItem::MacBuildMenuString( label, &key , &modifiers , item->GetText(), item->GetId() != wxApp::s_macAboutMenuItemId); // no shortcut in about menu - ::SetMenuItemText( GetMenuHandle( kwxMacAppleMenuId ) , 1 , label ); - UMAEnableMenuItem( GetMenuHandle( kwxMacAppleMenuId ) , 1 ); - } - } - } - ::InsertMenu(m_menus[i]->GetHMenu(), 0); - for ( int i = 0 ; i < submenus.GetCount() ; ++i ) - { - wxMenu* submenu = (wxMenu*) submenus[i] ; - wxNode *subnode; - wxMenuItem *subitem; - int subpos ; - for ( subpos = 0 , subnode = submenu->GetMenuItems().First(); subnode; subnode = subnode->Next(), subpos++) - { - subitem = (wxMenuItem *)subnode->Data(); - wxMenu* itsSubMenu = subitem->GetSubMenu() ; - if (itsSubMenu) - { - submenus.Add(itsSubMenu) ; - } - } - ::InsertMenu( submenu->GetHMenu() , -1 ) ; - } - } -#endif else { wxMenuItem::MacBuildMenuString( label, NULL , NULL , m_titles[i] , false );