X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6670f56440ae9209b3e2e51e06acf3bc5aaf1905..404b319a85dadd7decf7a5a5331020520031a41c:/src/os2/menu.cpp diff --git a/src/os2/menu.cpp b/src/os2/menu.cpp index 0d64df1bfd..73b5a56cfa 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" @@ -58,9 +55,6 @@ USHORT wxMenu::m_nextMenuId = 0; // macros // ---------------------------------------------------------------------------- - IMPLEMENT_DYNAMIC_CLASS(wxMenu, wxEvtHandler) - IMPLEMENT_DYNAMIC_CLASS(wxMenuBar, wxEvtHandler) - // ============================================================================ // implementation // ============================================================================ @@ -74,7 +68,7 @@ USHORT wxMenu::m_nextMenuId = 0; // void wxMenu::Init() { - m_bDoBreak = FALSE; + m_bDoBreak = false; m_nStartRadioGroup = -1; // @@ -204,7 +198,7 @@ void wxMenu::UpdateAccel( // // Find the (new) accel for this item // - wxAcceleratorEntry* pAccel = wxGetAccelFromString(pItem->GetText()); + wxAcceleratorEntry* pAccel = wxAcceleratorEntry::Create(pItem->GetItemLabel()); if (pAccel) pAccel->m_command = pItem->GetId(); @@ -269,7 +263,7 @@ bool wxMenu::DoInsertOrAppend( wxMenuItem* pItem, if (m_bDoBreak) { rItem.afStyle |= MIS_BREAK; - m_bDoBreak = FALSE; + m_bDoBreak = false; } // @@ -290,7 +284,7 @@ bool wxMenu::DoInsertOrAppend( wxMenuItem* pItem, rItem.id = (USHORT)pItem->GetId(); } - BYTE* pData=NULL; + char *pData = NULL; #if wxUSE_OWNER_DRAWN if (pItem->IsOwnerDrawn()) @@ -301,7 +295,7 @@ bool wxMenu::DoInsertOrAppend( wxMenuItem* pItem, // Will eventually need to set the image handle somewhere into vItem.hItem // rItem.afStyle |= MIS_OWNERDRAW; - pData = (BYTE*)NULL; + pData = NULL; rItem.hItem = (HBITMAP)pItem->GetBitmap().GetHBITMAP(); pItem->m_vMenuData.afStyle = rItem.afStyle; pItem->m_vMenuData.hItem = rItem.hItem; @@ -326,7 +320,7 @@ bool wxMenu::DoInsertOrAppend( wxMenuItem* pItem, // rItem.afStyle |= MIS_TEXT; } - pData = (char*)pItem->GetText().c_str(); + pData = (char*) pItem->GetItemLabel().wx_str(); } if (nPos == (size_t)-1) @@ -390,7 +384,7 @@ void wxMenu::EndRadioGroup() wxMenuItem* wxMenu::DoAppend( wxMenuItem* pItem ) { - wxCHECK_MSG( pItem, NULL, _T("NULL item in wxMenu::DoAppend") ); + wxCHECK_MSG( pItem, NULL, wxT("NULL item in wxMenu::DoAppend") ); bool bCheck = false; @@ -431,7 +425,7 @@ wxMenuItem* wxMenu::DoAppend( wxMenuItem* pItem ) } else { - wxFAIL_MSG( _T("where is the radio group start item?") ); + wxFAIL_MSG( wxT("where is the radio group start item?") ); } } } @@ -565,7 +559,7 @@ void wxMenu::SetTitle( const wxString& rLabel ) { if (!rLabel.empty()) { - if (!::WinSetWindowText(hMenu, (PSZ)rLabel.c_str())) + if (!::WinSetWindowText(hMenu, rLabel.c_str())) { wxLogLastError(wxT("SetMenuTitle")); } @@ -586,7 +580,7 @@ void wxMenu::SetTitle( const wxString& rLabel ) // // Modify the title // - if (!::WinSetWindowText(hMenu, (PSZ)rLabel.c_str())) + if (!::WinSetWindowText(hMenu, rLabel.c_str())) { wxLogLastError(wxT("SetMenuTitle")); } @@ -598,10 +592,8 @@ void wxMenu::SetTitle( const wxString& rLabel ) // event processing // --------------------------------------------------------------------------- -bool wxMenu::OS2Command( - WXUINT WXUNUSED(uParam) -, WXWORD vId -) +bool wxMenu::OS2Command( WXUINT WXUNUSED(uParam), + WXWORD vId ) { // // Ignore commands from the menu title @@ -617,7 +609,7 @@ bool wxMenu::OS2Command( ) ); } - return TRUE; + return true; } // end of wxMenu::OS2Command // --------------------------------------------------------------------------- @@ -742,7 +734,7 @@ void wxMenuBar::Refresh() WXHMENU wxMenuBar::Create() { - HWND hFrame; + HWND hFrame; if (m_hMenu != 0 ) return m_hMenu; @@ -761,7 +753,7 @@ WXHMENU wxMenuBar::Create() // if ((m_hMenu = ::WinCreateWindow( hFrame ,WC_MENU - ,(PSZ)NULL + ,NULL ,MS_ACTIONBAR | WS_SYNCPAINT | WS_VISIBLE ,0L ,0L @@ -809,7 +801,7 @@ WXHMENU wxMenuBar::Create() (*it)->m_vMenuData.iPosition = (SHORT)i; - rc = (APIRET)::WinSendMsg(m_hMenu, MM_INSERTITEM, (MPARAM)&(*it)->m_vMenuData, (MPARAM)m_titles[i].c_str()); + rc = (APIRET)::WinSendMsg(m_hMenu, MM_INSERTITEM, (MPARAM)&(*it)->m_vMenuData, (MPARAM)m_titles[i].wx_str()); if (rc == (APIRET)MIT_MEMERROR || rc == (APIRET)MIT_ERROR) { vError = ::WinGetLastError(vHabmain); @@ -852,7 +844,7 @@ void wxMenuBar::EnableTop( Refresh(); } // end of wxMenuBar::EnableTop -void wxMenuBar::SetLabelTop( +void wxMenuBar::SetMenuLabel( size_t nPos , const wxString& rLabel ) @@ -884,21 +876,21 @@ void wxMenuBar::SetLabelTop( } nId = vItem.id; - if (::WinSendMsg(GetHmenu(), MM_SETITEMTEXT, MPFROMSHORT(nId), (MPARAM)rLabel.c_str())); + if (::WinSendMsg(GetHmenu(), MM_SETITEMTEXT, MPFROMSHORT(nId), (MPARAM)rLabel.wx_str())); { wxLogLastError(wxT("ModifyMenu")); } Refresh(); -} // end of wxMenuBar::SetLabelTop +} // end of wxMenuBar::SetMenuLabel -wxString wxMenuBar::GetLabelTop( +wxString wxMenuBar::GetMenuLabel( size_t nPos ) const { wxCHECK_MSG( nPos < GetMenuCount(), wxEmptyString, - wxT("invalid menu index in wxMenuBar::GetLabelTop") ); + wxT("invalid menu index in wxMenuBar::GetMenuLabel") ); return m_titles[nPos]; -} // end of wxMenuBar::GetLabelTop +} // end of wxMenuBar::GetMenuLabel // --------------------------------------------------------------------------- // wxMenuBar construction @@ -930,7 +922,7 @@ wxMenu* wxMenuBar::Replace( if (IsAttached()) { ::WinSendMsg((HWND)m_hMenu, MM_REMOVEITEM, MPFROM2SHORT(nId, TRUE), (MPARAM)0); - ::WinSendMsg((HWND)m_hMenu, MM_INSERTITEM, (MPARAM)&pMenu->m_vMenuData, (MPARAM)sTitle.c_str()); + ::WinSendMsg((HWND)m_hMenu, MM_INSERTITEM, (MPARAM)&pMenu->m_vMenuData, (MPARAM)sTitle.wx_str()); #if wxUSE_ACCEL if (pMenuOld->HasAccels() || pMenu->HasAccels()) @@ -963,7 +955,7 @@ bool wxMenuBar::Insert( size_t nPos, ::WinSendMsg( (HWND)m_hMenu ,MM_INSERTITEM ,(MPARAM)&pMenu->m_vMenuData - ,(MPARAM)sTitle.c_str() + ,(MPARAM)sTitle.wx_str() ); #if wxUSE_ACCEL if (pMenu->HasAccels()) @@ -978,26 +970,24 @@ bool wxMenuBar::Insert( size_t nPos, 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); if ( IsAttached() ) { pMenu->m_vMenuData.iPosition = MIT_END; - ::WinSendMsg((HWND)m_hMenu, MM_INSERTITEM, (MPARAM)&pMenu->m_vMenuData, (MPARAM)sTitle.c_str()); + ::WinSendMsg((HWND)m_hMenu, MM_INSERTITEM, (MPARAM)&pMenu->m_vMenuData, (MPARAM)sTitle.wx_str()); #if wxUSE_ACCEL if (pMenu->HasAccels()) { @@ -1009,7 +999,7 @@ bool wxMenuBar::Append( #endif // wxUSE_ACCEL Refresh(); } - return TRUE; + return true; } // end of wxMenuBar::Append wxMenu* wxMenuBar::Remove( @@ -1104,7 +1094,9 @@ void wxMenuBar::Attach( ,m_vAccelTable.GetHACCEL() ,(HWND)pFrame->GetFrame() )) + { wxLogLastError(wxT("WinSetAccelTable")); + } #endif // wxUSE_ACCEL } // end of wxMenuBar::Attach