X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/13aca5dd5df57d1793b080a9cfbe56ad65e5cc73..1cd9779fce63b081d875de7a901c8eb6120d0b8a:/src/os2/menu.cpp diff --git a/src/os2/menu.cpp b/src/os2/menu.cpp index 3e25f5f0d2..ae8c5db5fc 100644 --- a/src/os2/menu.cpp +++ b/src/os2/menu.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: menu.cpp +// Name: src/os2/menu.cpp // Purpose: wxMenu, wxMenuBar, wxMenuItem // Author: David Webster // Modified by: @@ -9,17 +9,14 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ - #pragma implementation "menu.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" +#include "wx/menu.h" + #ifndef WX_PRECOMP #include "wx/app.h" #include "wx/frame.h" - #include "wx/menu.h" #include "wx/utils.h" #include "wx/intl.h" #include "wx/log.h" @@ -74,7 +71,7 @@ USHORT wxMenu::m_nextMenuId = 0; // void wxMenu::Init() { - m_bDoBreak = FALSE; + m_bDoBreak = false; m_nStartRadioGroup = -1; // @@ -107,7 +104,7 @@ void wxMenu::Init() // // If we have a title, insert it in the beginning of the menu // - if (!m_title.IsEmpty()) + if (!m_title.empty()) { Append( idMenuTitle ,m_title @@ -146,7 +143,7 @@ wxMenu::~wxMenu() void wxMenu::Break() { // this will take effect during the next call to Append() - m_bDoBreak = TRUE; + m_bDoBreak = true; } // end of wxMenu::Break void wxMenu::Attach( @@ -189,7 +186,7 @@ void wxMenu::UpdateAccel( } else if (!pItem->IsSeparator()) { - // + // // Recurse upwards: we should only modify m_accels of the top level // menus, not of the submenus as wxMenuBar doesn't look at them // (alternative and arguable cleaner solution would be to recurse @@ -204,7 +201,7 @@ void wxMenu::UpdateAccel( // // Find the (new) accel for this item // - wxAcceleratorEntry* pAccel = wxGetAccelFromString(pItem->GetText()); + wxAcceleratorEntry* pAccel = wxAcceleratorEntry::Create(pItem->GetText()); if (pAccel) pAccel->m_command = pItem->GetId(); @@ -248,17 +245,15 @@ void wxMenu::UpdateAccel( // // Append a new item or submenu to the menu // -bool wxMenu::DoInsertOrAppend( - wxMenuItem* pItem -, size_t nPos -) +bool wxMenu::DoInsertOrAppend( wxMenuItem* pItem, + size_t nPos ) { - wxMenu* pSubmenu = pItem->GetSubMenu(); - MENUITEM& rItem = (pSubmenu != NULL)?pSubmenu->m_vMenuData: - pItem->m_vMenuData; + wxMenu* pSubmenu = pItem->GetSubMenu(); + MENUITEM& rItem = (pSubmenu != NULL)?pSubmenu->m_vMenuData: + pItem->m_vMenuData; - ERRORID vError; - wxString sError; + ERRORID vError; + wxString sError; #if wxUSE_ACCEL UpdateAccel(pItem); @@ -271,7 +266,7 @@ bool wxMenu::DoInsertOrAppend( if (m_bDoBreak) { rItem.afStyle |= MIS_BREAK; - m_bDoBreak = FALSE; + m_bDoBreak = false; } // @@ -289,7 +284,7 @@ bool wxMenu::DoInsertOrAppend( } else { - rItem.id = pItem->GetId(); + rItem.id = (USHORT)pItem->GetId(); } BYTE* pData=NULL; @@ -337,7 +332,7 @@ bool wxMenu::DoInsertOrAppend( } else { - rItem.iPosition = nPos; + rItem.iPosition = (SHORT)nPos; } APIRET rc; @@ -361,26 +356,25 @@ bool wxMenu::DoInsertOrAppend( ); } #endif + if (rc == (APIRET)MIT_MEMERROR || rc == (APIRET)MIT_ERROR) { vError = ::WinGetLastError(vHabmain); sError = wxPMErrorToStr(vError); wxLogError(wxT("Error inserting or appending a menuitem. Error: %s\n"), sError.c_str()); wxLogLastError(wxT("Insert or AppendMenu")); - return FALSE; + return false; } - else + + // + // If we're already attached to the menubar, we must update it + // + if (IsAttached() && GetMenuBar()->IsAttached()) { - // - // If we're already attached to the menubar, we must update it - // - if (IsAttached() && GetMenuBar()->IsAttached()) - { - GetMenuBar()->Refresh(); - } - return TRUE; + GetMenuBar()->Refresh(); } - return FALSE; + + return true; } // end of wxMenu::DoInsertOrAppend void wxMenu::EndRadioGroup() @@ -391,13 +385,11 @@ void wxMenu::EndRadioGroup() m_nStartRadioGroup = -1; } // end of wxMenu::EndRadioGroup -wxMenuItem* wxMenu::DoAppend( - wxMenuItem* pItem -) +wxMenuItem* wxMenu::DoAppend( wxMenuItem* pItem ) { wxCHECK_MSG( pItem, NULL, _T("NULL item in wxMenu::DoAppend") ); - bool bCheck = FALSE; + bool bCheck = false; if (pItem->GetKind() == wxITEM_RADIO) { @@ -419,7 +411,7 @@ wxMenuItem* wxMenu::DoAppend( // // Ensure that we have a checked item in the radio group // - bCheck = TRUE; + bCheck = true; } else // extend the current radio group { @@ -454,7 +446,7 @@ wxMenuItem* wxMenu::DoAppend( // // Check the item initially // - pItem->Check(TRUE); + pItem->Check(true); } return pItem; } // end of wxMenu::DoAppend @@ -560,17 +552,15 @@ size_t wxMenu::CopyAccels( // set wxMenu title // --------------------------------------------------------------------------- -void wxMenu::SetTitle( - const wxString& rLabel -) +void wxMenu::SetTitle( const wxString& rLabel ) { - bool bHasNoTitle = m_title.IsEmpty(); - HWND hMenu = GetHmenu(); + bool bHasNoTitle = m_title.empty(); + HWND hMenu = GetHmenu(); m_title = rLabel; if (bHasNoTitle) { - if (!rLabel.IsEmpty()) + if (!rLabel.empty()) { if (!::WinSetWindowText(hMenu, (PSZ)rLabel.c_str())) { @@ -580,7 +570,7 @@ void wxMenu::SetTitle( } else { - if (rLabel.IsEmpty() ) + if (rLabel.empty() ) { ::WinSendMsg( GetHmenu() ,MM_REMOVEITEM @@ -605,10 +595,8 @@ void wxMenu::SetTitle( // event processing // --------------------------------------------------------------------------- -bool wxMenu::OS2Command( - WXUINT WXUNUSED(uParam) -, WXWORD vId -) +bool wxMenu::OS2Command( WXUINT WXUNUSED(uParam), + WXWORD vId ) { // // Ignore commands from the menu title @@ -624,7 +612,7 @@ bool wxMenu::OS2Command( ) ); } - return TRUE; + return true; } // end of wxMenu::OS2Command // --------------------------------------------------------------------------- @@ -749,7 +737,7 @@ void wxMenuBar::Refresh() WXHMENU wxMenuBar::Create() { - HWND hFrame; + HWND hFrame; if (m_hMenu != 0 ) return m_hMenu; @@ -785,14 +773,14 @@ WXHMENU wxMenuBar::Create() } else { - size_t nCount = GetMenuCount(), i; - wxMenuList::iterator it; + size_t nCount = GetMenuCount(), i; + wxMenuList::iterator it; for (i = 0, it = m_menus.begin(); i < nCount; i++, it++) { - APIRET rc; - ERRORID vError; - wxString sError; - HWND hSubMenu; + APIRET rc; + ERRORID vError; + wxString sError; + HWND hSubMenu; // // Set the parent and owner of the submenues to be the menubar, not the desktop @@ -814,7 +802,7 @@ WXHMENU wxMenuBar::Create() return NULLHANDLE; } - (*it)->m_vMenuData.iPosition = i; + (*it)->m_vMenuData.iPosition = (SHORT)i; rc = (APIRET)::WinSendMsg(m_hMenu, MM_INSERTITEM, (MPARAM)&(*it)->m_vMenuData, (MPARAM)m_titles[i].c_str()); if (rc == (APIRET)MIT_MEMERROR || rc == (APIRET)MIT_ERROR) @@ -953,27 +941,20 @@ wxMenu* wxMenuBar::Replace( return pMenuOld; } // end of wxMenuBar::Replace -bool wxMenuBar::Insert( - size_t nPos -, wxMenu* pMenu -, const wxString& rTitle -) +bool wxMenuBar::Insert( size_t nPos, + wxMenu* pMenu, + const wxString& rTitle ) { - wxString sTitle = wxPMTextToLabel(rTitle); + wxString sTitle = wxPMTextToLabel(rTitle); - if (!wxMenuBarBase::Insert( nPos - ,pMenu - ,sTitle - )) - return FALSE; + if (!wxMenuBarBase::Insert( nPos, pMenu, sTitle )) + return false; - m_titles.Insert( sTitle - ,nPos - ); + m_titles.Insert( sTitle, nPos ); if (IsAttached()) { - pMenu->m_vMenuData.iPosition = nPos; + pMenu->m_vMenuData.iPosition = (SHORT)nPos; ::WinSendMsg( (HWND)m_hMenu ,MM_INSERTITEM ,(MPARAM)&pMenu->m_vMenuData @@ -988,22 +969,21 @@ bool wxMenuBar::Insert( #endif // wxUSE_ACCEL Refresh(); } - return TRUE; + + return true; } // end of wxMenuBar::Insert -bool wxMenuBar::Append( - wxMenu* pMenu -, const wxString& rsTitle -) +bool wxMenuBar::Append( wxMenu* pMenu, + const wxString& rsTitle ) { - WXHMENU hSubmenu = pMenu ? pMenu->GetHMenu() : 0; + WXHMENU hSubmenu = pMenu ? pMenu->GetHMenu() : 0; - wxCHECK_MSG(hSubmenu, FALSE, wxT("can't append invalid menu to menubar")); + wxCHECK_MSG(hSubmenu, false, wxT("can't append invalid menu to menubar")); - wxString sTitle = wxPMTextToLabel(rsTitle); + wxString sTitle = wxPMTextToLabel(rsTitle); if (!wxMenuBarBase::Append(pMenu, sTitle)) - return FALSE; + return false; m_titles.Add(sTitle); @@ -1022,7 +1002,7 @@ bool wxMenuBar::Append( #endif // wxUSE_ACCEL Refresh(); } - return TRUE; + return true; } // end of wxMenuBar::Append wxMenu* wxMenuBar::Remove( @@ -1194,4 +1174,3 @@ wxMenuItem* wxMenuBar::FindItem( } return pItem; } // end of wxMenuBar::FindItem -