X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e608ff58dec0abd1d0dcc17a4abcf15d5187a1e5..5bcdf503fa91515103271d457c34e75391227373:/src/mac/carbon/menu.cpp diff --git a/src/mac/carbon/menu.cpp b/src/mac/carbon/menu.cpp index 7ca203f5e1..860ec771f7 100644 --- a/src/mac/carbon/menu.cpp +++ b/src/mac/carbon/menu.cpp @@ -94,39 +94,39 @@ void wxInsertMenuItemsInMenu(wxMenu* menu, MenuRef wm, MenuItemIndex insertAfter subMenu = item->GetSubMenu() ; if (subMenu) { - wxInsertMenuItemsInMenu(subMenu, (MenuRef)subMenu->GetHMenu(), 0); + wxInsertMenuItemsInMenu(subMenu, (MenuRef)subMenu->GetHMenu(), 0); } if ( item->IsSeparator() ) { if ( wm && newItems) InsertMenuItemTextWithCFString( wm, - CFSTR(""), insertAfter, kMenuItemAttrSeparator, 0); - + CFSTR(""), insertAfter, kMenuItemAttrSeparator, 0); + newItems = false; } else { wxAcceleratorEntry* - entry = wxAcceleratorEntry::Create( item->GetText() ) ; + entry = wxAcceleratorEntry::Create( item->GetItemLabel() ) ; - MenuItemIndex winListPos = -1; - OSStatus err = GetIndMenuItemWithCommandID(wm, + MenuItemIndex winListPos = (MenuItemIndex)-1; + OSStatus err = GetIndMenuItemWithCommandID(wm, wxIdToMacCommand ( item->GetId() ), 1, NULL, &winListPos); - + if ( wm && err == menuItemNotFoundErr ) { // NB: the only way to determine whether or not we should add // a separator is to know if we've added menu items to the menu // before the separator. newItems = true; - UMAInsertMenuItem(wm, wxStripMenuCodes(item->GetText()) , wxFont::GetDefaultEncoding(), insertAfter, entry); + UMAInsertMenuItem(wm, wxStripMenuCodes(item->GetItemLabel()) , wxFont::GetDefaultEncoding(), insertAfter, entry); SetMenuItemCommandID( wm , insertAfter+1 , wxIdToMacCommand ( item->GetId() ) ) ; SetMenuItemRefCon( wm , insertAfter+1 , (URefCon) item ) ; } delete entry ; } - } + } } // ============================================================================ @@ -210,10 +210,10 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos) { if ( pos == (size_t)-1 ) AppendMenuItemTextWithCFString( MAC_WXHMENU(m_hMenu), - CFSTR(""), kMenuItemAttrSeparator, 0,NULL); + CFSTR(""), kMenuItemAttrSeparator, 0,NULL); else InsertMenuItemTextWithCFString( MAC_WXHMENU(m_hMenu), - CFSTR(""), pos, kMenuItemAttrSeparator, 0); + CFSTR(""), pos, kMenuItemAttrSeparator, 0); } else { @@ -227,9 +227,9 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos) pSubMenu->MacBeforeDisplay( true ) ; if ( pos == (size_t)-1 ) - UMAAppendSubMenuItem(MAC_WXHMENU(m_hMenu), wxStripMenuCodes(pItem->GetText()), wxFont::GetDefaultEncoding(), pSubMenu->m_macMenuId); + UMAAppendSubMenuItem(MAC_WXHMENU(m_hMenu), wxStripMenuCodes(pItem->GetItemLabel()), wxFont::GetDefaultEncoding(), pSubMenu->m_macMenuId); else - UMAInsertSubMenuItem(MAC_WXHMENU(m_hMenu), wxStripMenuCodes(pItem->GetText()), wxFont::GetDefaultEncoding(), pos, pSubMenu->m_macMenuId); + UMAInsertSubMenuItem(MAC_WXHMENU(m_hMenu), wxStripMenuCodes(pItem->GetItemLabel()), wxFont::GetDefaultEncoding(), pos, pSubMenu->m_macMenuId); pItem->UpdateItemBitmap() ; pItem->UpdateItemStatus() ; @@ -655,10 +655,10 @@ void wxMenuBar::MacInstallMenuBar() // However, the change from 10.2 to 10.3 suggests it is preferred #if TARGET_API_MAC_OSX InsertMenuItemTextWithCFString( appleMenu, - CFSTR(""), 0, kMenuItemAttrSeparator, 0); + CFSTR(""), 0, kMenuItemAttrSeparator, 0); #endif InsertMenuItemTextWithCFString( appleMenu, - CFSTR("About..."), 0, 0, 0); + CFSTR("About..."), 0, 0, 0); MacInsertMenu( appleMenu , 0 ) ; // if we have a mac help menu, clean it up before adding new items @@ -739,12 +739,12 @@ void wxMenuBar::MacInstallMenuBar() { if ( helpMenuHandle ) AppendMenuItemTextWithCFString( helpMenuHandle, - CFSTR(""), kMenuItemAttrSeparator, 0,NULL); + CFSTR(""), kMenuItemAttrSeparator, 0,NULL); } else { wxAcceleratorEntry* - entry = wxAcceleratorEntry::Create( item->GetText() ) ; + entry = wxAcceleratorEntry::Create( item->GetItemLabel() ) ; if ( item->GetId() == wxApp::s_macAboutMenuItemId ) { @@ -754,7 +754,7 @@ void wxMenuBar::MacInstallMenuBar() { if ( helpMenuHandle ) { - UMAAppendMenuItem(helpMenuHandle, wxStripMenuCodes(item->GetText()) , wxFont::GetDefaultEncoding(), entry); + UMAAppendMenuItem(helpMenuHandle, wxStripMenuCodes(item->GetItemLabel()) , wxFont::GetDefaultEncoding(), entry); SetMenuItemCommandID( helpMenuHandle , CountMenuItems(helpMenuHandle) , wxIdToMacCommand ( item->GetId() ) ) ; SetMenuItemRefCon( helpMenuHandle , CountMenuItems(helpMenuHandle) , (URefCon) item ) ; } @@ -765,42 +765,42 @@ void wxMenuBar::MacInstallMenuBar() } } } - - else if ( ( m_titles[i] == wxT("Window") || m_titles[i] == wxT("&Window") ) + + else if ( ( m_titles[i] == wxT("Window") || m_titles[i] == wxT("&Window") ) && GetAutoWindowMenu() ) - { + { if ( MacGetWindowMenuHMenu() == NULL ) { CreateStandardWindowMenu( 0 , (MenuHandle*) &s_macWindowMenuHandle ) ; } - + MenuRef wm = (MenuRef)MacGetWindowMenuHMenu(); if ( wm == NULL ) break; - + // get the insertion point in the standard menu MenuItemIndex winListStart; - GetIndMenuItemWithCommandID(wm, + GetIndMenuItemWithCommandID(wm, kHICommandWindowListSeparator, 1, NULL, &winListStart); - + // add a separator so that the standard items and the custom items // aren't mixed together, but only if this is the first run - OSStatus err = GetIndMenuItemWithCommandID(wm, + OSStatus err = GetIndMenuItemWithCommandID(wm, 'WXWM', 1, NULL, NULL); - + if ( err == menuItemNotFoundErr ) { InsertMenuItemTextWithCFString( wm, CFSTR(""), winListStart-1, kMenuItemAttrSeparator, 'WXWM'); } - - wxInsertMenuItemsInMenu(menu, wm, winListStart); + + wxInsertMenuItemsInMenu(menu, wm, winListStart); } else { UMASetMenuTitle( MAC_WXHMENU(menu->GetHMenu()) , m_titles[i], m_font.GetEncoding() ) ; menu->MacBeforeDisplay(false) ; - + ::InsertMenu(MAC_WXHMENU(_wxMenuAt(m_menus, i)->GetHMenu()), 0); } } @@ -812,8 +812,8 @@ void wxMenuBar::MacInstallMenuBar() if ( aboutMenuItem ) { wxAcceleratorEntry* - entry = wxAcceleratorEntry::Create( aboutMenuItem->GetText() ) ; - UMASetMenuItemText( GetMenuHandle( kwxMacAppleMenuId ) , 1 , wxStripMenuCodes ( aboutMenuItem->GetText() ) , wxFont::GetDefaultEncoding() ); + entry = wxAcceleratorEntry::Create( aboutMenuItem->GetItemLabel() ) ; + UMASetMenuItemText( GetMenuHandle( kwxMacAppleMenuId ) , 1 , wxStripMenuCodes ( aboutMenuItem->GetItemLabel() ) , wxFont::GetDefaultEncoding() ); UMAEnableMenuItem( GetMenuHandle( kwxMacAppleMenuId ) , 1 , true ); SetMenuItemCommandID( GetMenuHandle( kwxMacAppleMenuId ) , 1 , kHICommandAbout ) ; SetMenuItemRefCon(GetMenuHandle( kwxMacAppleMenuId ) , 1 , (URefCon)aboutMenuItem ) ; @@ -852,7 +852,7 @@ bool wxMenuBar::Enable(bool enable) return true; } -void wxMenuBar::SetLabelTop(size_t pos, const wxString& label) +void wxMenuBar::SetMenuLabel(size_t pos, const wxString& label) { wxCHECK_RET( pos < GetMenuCount(), wxT("invalid menu index") ); @@ -870,10 +870,10 @@ void wxMenuBar::SetLabelTop(size_t pos, const wxString& label) } } -wxString wxMenuBar::GetLabelTop(size_t pos) const +wxString wxMenuBar::GetMenuLabel(size_t pos) const { wxCHECK_MSG( pos < GetMenuCount(), wxEmptyString, - wxT("invalid menu index in wxMenuBar::GetLabelTop") ); + wxT("invalid menu index in wxMenuBar::GetMenuLabel") ); return m_titles[pos]; }