moved wxMenuBar::FindMenu(title) from MSW to common code

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2000-02-22 09:53:55 +00:00
parent 86ad564eb1
commit 52130557bf
4 changed files with 23 additions and 17 deletions

View File

@ -297,6 +297,9 @@ public:
// if menu is !NULL, it will be filled with wxMenu this item belongs to
virtual wxMenuItem* FindItem(int id, wxMenu **menu = NULL) const = 0;
// find menu by its caption, return wxNOT_FOUND on failure
int FindMenu(const wxString& title);
// item access
// -----------

View File

@ -153,7 +153,6 @@ public:
// implementation from now on
WXHMENU Create();
int FindMenu(const wxString& title);
void Detach();
// returns TRUE if we're attached to a frame

View File

@ -544,6 +544,26 @@ wxMenu *wxMenuBarBase::Remove(size_t pos)
return menu;
}
int wxMenuBarBase::FindMenu(const wxString& title)
{
wxString label = wxMenuItem::GetLabelFromText(title);
size_t count = GetMenuCount();
for ( size_t i = 0; i < count; i++ )
{
wxString title2 = GetLabelTop(i);
if ( (title2 == title) ||
(wxMenuItem::GetLabelFromText(title2) == label) )
{
// found
return (int)i;
}
}
return wxNOT_FOUND;
}
// ---------------------------------------------------------------------------
// wxMenuBar functions forwarded to wxMenuItem
// ---------------------------------------------------------------------------

View File

@ -632,22 +632,6 @@ wxString wxMenuBar::GetLabelTop(size_t pos) const
return m_titles[pos];
}
int wxMenuBar::FindMenu(const wxString& title)
{
wxString menuTitle = wxStripMenuCodes(title);
size_t count = GetMenuCount();
for ( size_t i = 0; i < count; i++ )
{
wxString title = wxStripMenuCodes(m_titles[i]);
if ( menuTitle == title )
return i;
}
return wxNOT_FOUND;
}
// ---------------------------------------------------------------------------
// wxMenuBar construction
// ---------------------------------------------------------------------------