X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c36d477458df6ffe02aef30fc31efb1ae2522a49..84e455807ee62925c98e18d2848954125b128018:/src/common/menucmn.cpp diff --git a/src/common/menucmn.cpp b/src/common/menucmn.cpp index 2b65f80845..49f2b2d20f 100644 --- a/src/common/menucmn.cpp +++ b/src/common/menucmn.cpp @@ -67,11 +67,11 @@ wxMenuItemBase::wxMenuItemBase(wxMenu *parentMenu, m_id = id; m_kind = kind; if (m_id == wxID_ANY) - m_id = wxNewId(); + m_id = wxWindow::NewControlId(); if (m_id == wxID_SEPARATOR) m_kind = wxITEM_SEPARATOR; - SetText(text); + SetItemLabel(text); SetHelp(help); } @@ -84,7 +84,7 @@ wxMenuItemBase::~wxMenuItemBase() wxAcceleratorEntry *wxMenuItemBase::GetAccel() const { - return wxAcceleratorEntry::Create(GetText()); + return wxAcceleratorEntry::Create(GetItemLabel()); } void wxMenuItemBase::SetAccel(wxAcceleratorEntry *accel) @@ -96,12 +96,12 @@ void wxMenuItemBase::SetAccel(wxAcceleratorEntry *accel) text += accel->ToString(); } - SetText(text); + SetItemLabel(text); } #endif // wxUSE_ACCEL -void wxMenuItemBase::SetText(const wxString& str) +void wxMenuItemBase::SetItemLabel(const wxString& str) { m_text = str; @@ -125,6 +125,13 @@ void wxMenuItemBase::SetHelp(const wxString& str) } } +#if WXWIN_COMPATIBILITY_2_8 +wxString wxMenuItemBase::GetLabelFromText(const wxString& text) +{ + return GetLabelText(text); +} +#endif + bool wxMenuBase::ms_locked = true; // ---------------------------------------------------------------------------- @@ -145,8 +152,6 @@ void wxMenuBase::Init(long style) wxMenuBase::~wxMenuBase() { WX_CLEAR_LIST(wxMenuItemList, m_items); - - // Actually, in GTK, the submenus have to get deleted first. } // ---------------------------------------------------------------------------- @@ -283,7 +288,7 @@ bool wxMenuBase::DoDestroy(wxMenuItem *item) // Finds the item id matching the given string, wxNOT_FOUND if not found. int wxMenuBase::FindItem(const wxString& text) const { - wxString label = wxMenuItem::GetLabelFromText(text); + wxString label = wxMenuItem::GetLabelText(text); for ( wxMenuItemList::compatibility_iterator node = m_items.GetFirst(); node; node = node->GetNext() ) @@ -300,7 +305,7 @@ int wxMenuBase::FindItem(const wxString& text) const // name just like the ordinary items if ( !item->IsSeparator() ) { - if ( item->GetLabel() == label ) + if ( item->GetItemLabelText() == label ) return item->GetId(); } } @@ -445,7 +450,7 @@ bool wxMenuBase::SendEvent(int id, int checked) { wxEvtHandler *handler = GetEventHandler(); if ( handler ) - processed = handler->ProcessEvent(event); + processed = handler->SafelyProcessEvent(event); } // Try the window the menu was popped up from (and up through the @@ -458,7 +463,7 @@ bool wxMenuBase::SendEvent(int id, int checked) wxWindow *win = menu->GetInvokingWindow(); if ( win ) { - processed = win->GetEventHandler()->ProcessEvent(event); + processed = win->HandleWindowEvent(event); break; } @@ -545,7 +550,7 @@ void wxMenuBase::SetLabel( int id, const wxString &label ) wxCHECK_RET( item, wxT("wxMenu::SetLabel: no such item") ); - item->SetText(label); + item->SetItemLabel(label); } wxString wxMenuBase::GetLabel( int id ) const @@ -554,7 +559,7 @@ wxString wxMenuBase::GetLabel( int id ) const wxCHECK_MSG( item, wxEmptyString, wxT("wxMenu::GetLabel: no such item") ); - return item->GetText(); + return item->GetItemLabel(); } void wxMenuBase::SetHelpString( int id, const wxString& helpString ) @@ -665,14 +670,14 @@ wxMenu *wxMenuBarBase::Remove(size_t pos) int wxMenuBarBase::FindMenu(const wxString& title) const { - wxString label = wxMenuItem::GetLabelFromText(title); + wxString label = wxMenuItem::GetLabelText(title); size_t count = GetMenuCount(); for ( size_t i = 0; i < count; i++ ) { - wxString title2 = GetLabelTop(i); + wxString title2 = GetMenuLabel(i); if ( (title2 == title) || - (wxMenuItem::GetLabelFromText(title2) == label) ) + (wxMenuItem::GetLabelText(title2) == label) ) { // found return (int)i; @@ -723,13 +728,13 @@ wxMenuItem *wxMenuBarBase::FindItem(int id, wxMenu **menu) const int wxMenuBarBase::FindMenuItem(const wxString& menu, const wxString& item) const { - wxString label = wxMenuItem::GetLabelFromText(menu); + wxString label = wxMenuItem::GetLabelText(menu); int i = 0; wxMenuList::compatibility_iterator node; for ( node = m_menus.GetFirst(); node; node = node->GetNext(), i++ ) { - if ( label == wxMenuItem::GetLabelFromText(GetLabelTop(i)) ) + if ( label == wxMenuItem::GetLabelText(GetMenuLabel(i)) ) return node->GetData()->FindItem(item); } @@ -783,7 +788,7 @@ void wxMenuBarBase::SetLabel(int id, const wxString& label) wxCHECK_RET( item, wxT("wxMenuBar::SetLabel(): no such item") ); - item->SetText(label); + item->SetItemLabel(label); } wxString wxMenuBarBase::GetLabel(int id) const @@ -793,7 +798,7 @@ wxString wxMenuBarBase::GetLabel(int id) const wxCHECK_MSG( item, wxEmptyString, wxT("wxMenuBar::GetLabel(): no such item") ); - return item->GetText(); + return item->GetItemLabel(); } void wxMenuBarBase::SetHelpString(int id, const wxString& helpString) @@ -832,4 +837,17 @@ void wxMenuBarBase::UpdateMenus( void ) } } +#if WXWIN_COMPATIBILITY_2_8 +// get or change the label of the menu at given position +void wxMenuBarBase::SetLabelTop(size_t pos, const wxString& label) +{ + SetMenuLabel(pos, label); +} + +wxString wxMenuBarBase::GetLabelTop(size_t pos) const +{ + return GetMenuLabelText(pos); +} +#endif + #endif // wxUSE_MENUS