X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2e297951cd2eca56fac39fc21d7ebecc4cb51e52..6c2cd2a2116c5eff1646e0acb7cad2c887300300:/src/msw/menu.cpp diff --git a/src/msw/menu.cpp b/src/msw/menu.cpp index f883a23128..8ebd4952da 100644 --- a/src/msw/menu.cpp +++ b/src/msw/menu.cpp @@ -97,7 +97,7 @@ typedef struct tagMENUINFO // ---------------------------------------------------------------------------- // the (popup) menu title has this special id -static const int idMenuTitle = -3; +static const UINT idMenuTitle = (UINT)-3; // ---------------------------------------------------------------------------- // private functions @@ -227,7 +227,7 @@ const wxMenuInfoList& wxMenuBar::GetMenuInfos() const for( size_t i = 0 ; i < GetMenuCount() ; ++i ) { wxMenuInfo* info = new wxMenuInfo() ; - info->Create( const_cast(this)->GetMenu(i) , GetLabelTop(i) ) ; + info->Create( const_cast(this)->GetMenu(i) , GetMenuLabel(i) ) ; list->Append( info ) ; } return m_menuInfos ; @@ -331,7 +331,7 @@ void wxMenu::UpdateAccel(wxMenuItem *item) } // find the (new) accel for this item - wxAcceleratorEntry *accel = wxAcceleratorEntry::Create(item->GetText()); + wxAcceleratorEntry *accel = wxAcceleratorEntry::Create(item->GetItemLabel()); if ( accel ) accel->m_command = item->GetId(); @@ -387,24 +387,24 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos) // id is the numeric id for normal menu items and HMENU for submenus as // required by ::AppendMenu() API - UINT id; + UINT_PTR id; wxMenu *submenu = pItem->GetSubMenu(); if ( submenu != NULL ) { wxASSERT_MSG( submenu->GetHMenu(), wxT("invalid submenu") ); submenu->SetParent(this); - id = (UINT)submenu->GetHMenu(); + id = (UINT_PTR)submenu->GetHMenu(); flags |= MF_POPUP; } else { - id = pItem->GetId(); + id = pItem->GetMSWId(); } // prepare to insert the item in the menu - wxString itemText = pItem->GetText(); + wxString itemText = pItem->GetItemLabel(); LPCTSTR pData = NULL; if ( pos == (size_t)-1 ) { @@ -545,7 +545,7 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos) flags |= MF_STRING; #ifdef __WXWINCE__ - itemText = wxMenuItem::GetLabelFromText(itemText); + itemText = wxMenuItem::GetLabelText(itemText); #endif pData = (wxChar*)itemText.wx_str(); @@ -564,7 +564,7 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos) // if we just appended the title, highlight it - if ( (int)id == idMenuTitle ) + if ( id == idMenuTitle ) { // visually select the menu title SetDefaultMenuItem(GetHmenu(), id); @@ -731,7 +731,7 @@ void wxMenu::SetTitle(const wxString& label) if ( !label.empty() ) { if ( !::InsertMenu(hMenu, 0u, MF_BYPOSITION | MF_STRING, - (unsigned)idMenuTitle, m_title.wx_str()) || + idMenuTitle, m_title.wx_str()) || !::InsertMenu(hMenu, 1u, MF_BYPOSITION, (unsigned)-1, NULL) ) { wxLogLastError(wxT("InsertMenu")); @@ -767,7 +767,7 @@ void wxMenu::SetTitle(const wxString& label) #else if ( !ModifyMenu(hMenu, 0u, MF_BYPOSITION | MF_STRING, - (unsigned)idMenuTitle, m_title.wx_str()) ) + idMenuTitle, m_title.wx_str()) ) { wxLogLastError(wxT("ModifyMenu")); } @@ -779,7 +779,7 @@ void wxMenu::SetTitle(const wxString& label) // put the title string in bold face if ( !m_title.empty() ) { - SetDefaultMenuItem(GetHmenu(), (UINT)idMenuTitle); + SetDefaultMenuItem(GetHmenu(), idMenuTitle); } #endif // Win32 } @@ -788,10 +788,12 @@ void wxMenu::SetTitle(const wxString& label) // event processing // --------------------------------------------------------------------------- -bool wxMenu::MSWCommand(WXUINT WXUNUSED(param), WXWORD id) +bool wxMenu::MSWCommand(WXUINT WXUNUSED(param), WXWORD id_) { + const int id = (signed short)id_; + // ignore commands from the menu title - if ( id != (WXWORD)idMenuTitle ) + if ( id != (int)idMenuTitle ) { // update the check item when it's clicked wxMenuItem * const item = FindItem(id); @@ -949,7 +951,7 @@ WXHMENU wxMenuBar::Create() { HMENU hPopupMenu = (HMENU) GetMenu(i)->GetHMenu(); tbButton.dwData = (DWORD)hPopupMenu; - wxString label = wxStripMenuCodes(GetLabelTop(i)); + wxString label = wxStripMenuCodes(GetMenuLabel(i)); tbButton.iString = (int) label.wx_str(); tbButton.idCommand = NewControlId(); @@ -978,7 +980,7 @@ WXHMENU wxMenuBar::Create() for ( i = 0, it = m_menus.begin(); i < count; i++, it++ ) { if ( !::AppendMenu((HMENU)m_hMenu, MF_POPUP | MF_STRING, - (UINT)(*it)->GetHMenu(), + (UINT_PTR)(*it)->GetHMenu(), m_titles[i].wx_str()) ) { wxLogLastError(wxT("AppendMenu")); @@ -1036,7 +1038,7 @@ void wxMenuBar::EnableTop(size_t pos, bool enable) Refresh(); } -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") ); @@ -1050,7 +1052,7 @@ void wxMenuBar::SetLabelTop(size_t pos, const wxString& label) int mswpos = MSWPositionForWxMenu(GetMenu(pos),pos); - UINT id; + UINT_PTR id; UINT flagsOld = ::GetMenuState((HMENU)m_hMenu, mswpos, MF_BYPOSITION); if ( flagsOld == 0xFFFFFFFF ) { @@ -1063,7 +1065,7 @@ void wxMenuBar::SetLabelTop(size_t pos, const wxString& label) { // HIBYTE contains the number of items in the submenu in this case flagsOld &= 0xff; - id = (UINT)::GetSubMenu((HMENU)m_hMenu, mswpos); + id = (UINT_PTR)::GetSubMenu((HMENU)m_hMenu, mswpos); } else { @@ -1078,7 +1080,7 @@ void wxMenuBar::SetLabelTop(size_t pos, const wxString& label) info.fType = MFT_STRING; info.cch = label.length(); info.dwTypeData = wx_const_cast(wxChar *, label.wx_str()); - if ( !SetMenuItemInfo(GetHmenu(), id, TRUE, & info) ) + if ( !SetMenuItemInfo(GetHmenu(), id, TRUE, &info) ) { wxLogLastError(wxT("SetMenuItemInfo")); } @@ -1094,12 +1096,12 @@ void wxMenuBar::SetLabelTop(size_t pos, const wxString& label) Refresh(); } -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 wxMenuItem::GetLabelFromText(m_titles[pos]); + return m_titles[pos]; } // --------------------------------------------------------------------------- @@ -1130,7 +1132,7 @@ wxMenu *wxMenuBar::Replace(size_t pos, wxMenu *menu, const wxString& title) if ( !::InsertMenu(GetHmenu(), (UINT)mswpos, MF_BYPOSITION | MF_POPUP | MF_STRING, - (UINT)GetHmenuOf(menu), title.wx_str()) ) + (UINT_PTR)GetHmenuOf(menu), title.wx_str()) ) { wxLogLastError(wxT("InsertMenu")); } @@ -1197,7 +1199,7 @@ bool wxMenuBar::Insert(size_t pos, wxMenu *menu, const wxString& title) #else if ( !::InsertMenu(GetHmenu(), mswpos, MF_BYPOSITION | MF_POPUP | MF_STRING, - (UINT)GetHmenuOf(menu), title.wx_str()) ) + (UINT_PTR)GetHmenuOf(menu), title.wx_str()) ) { wxLogLastError(wxT("InsertMenu")); } @@ -1256,7 +1258,7 @@ bool wxMenuBar::Append(wxMenu *menu, const wxString& title) } #else if ( !::AppendMenu(GetHmenu(), MF_POPUP | MF_STRING, - (UINT)submenu, title.wx_str()) ) + (UINT_PTR)submenu, title.wx_str()) ) { wxLogLastError(wxT("AppendMenu")); }