]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/menu.cpp
use the same #if wxUSE_XXX checks in platform-specific files as around wxTextEntryBas...
[wxWidgets.git] / src / msw / menu.cpp
index f883a23128e251a1baa73add1f2561a34bd23595..27ccbc0fb8d453cb0ee84a7f0f0e66a954908b47 100644 (file)
@@ -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<wxMenuBar*>(this)->GetMenu(i) , GetLabelTop(i) ) ;
+        info->Create( const_cast<wxMenuBar*>(this)->GetMenu(i) , GetMenuLabel(i) ) ;
         list->Append( info ) ;
     }
     return m_menuInfos ;
@@ -261,15 +261,9 @@ void wxMenu::Init()
 // The wxWindow destructor will take care of deleting the submenus.
 wxMenu::~wxMenu()
 {
-    // we should free Windows resources only if Windows doesn't do it for us
-    // which happens if we're attached to a menubar or a submenu of another
-    // menu
-    if ( !IsAttached() && !GetParent() )
+    if ( !::DestroyMenu(GetHmenu()) )
     {
-        if ( !::DestroyMenu(GetHmenu()) )
-        {
-            wxLogLastError(wxT("DestroyMenu"));
-        }
+        wxLogLastError(wxT("DestroyMenu"));
     }
 
 #if wxUSE_ACCEL
@@ -331,7 +325,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();
 
@@ -404,7 +398,7 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos)
 
 
     // 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 +539,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();
@@ -788,10 +782,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 != idMenuTitle )
     {
         // update the check item when it's clicked
         wxMenuItem * const item = FindItem(id);
@@ -878,9 +874,8 @@ wxMenuBar::~wxMenuBar()
             toolMenuBar->SetMenuBar(NULL);
     }
 #else
-    // we should free Windows resources only if Windows doesn't do it for us
-    // which happens if we're attached to a frame
-    if (m_hMenu && !IsAttached())
+
+    if ( m_hMenu )
     {
 #if defined(WINCE_WITH_COMMANDBAR)
         ::DestroyWindow((HWND) m_commandBar);
@@ -949,7 +944,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();
@@ -1036,7 +1031,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") );
 
@@ -1094,12 +1089,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];
 }
 
 // ---------------------------------------------------------------------------