]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/menu.cpp
wxWindow::Freeze()/Thaw() can now be nested
[wxWidgets.git] / src / msw / menu.cpp
index 478048e7037bf5a9339b53e49b93bdeb2782ceb9..25ea2adc19173472c8f2543ccc05b423000df512 100644 (file)
@@ -73,7 +73,7 @@ extern wxMenu *wxCurrentPopupMenu;
 // ----------------------------------------------------------------------------
 
 // the (popup) menu title has this special id
-static const int idMenuTitle = -2;
+static const int idMenuTitle = -3;
 
 // ----------------------------------------------------------------------------
 // private functions
@@ -433,9 +433,9 @@ void wxMenu::EndRadioGroup()
     m_startRadioGroup = -1;
 }
 
-bool wxMenu::DoAppend(wxMenuItem *item)
+wxMenuItem* wxMenu::DoAppend(wxMenuItem *item)
 {
-    wxCHECK_MSG( item, FALSE, _T("NULL item in wxMenu::DoAppend") );
+    wxCHECK_MSG( item, NULL, _T("NULL item in wxMenu::DoAppend") );
 
     bool check = FALSE;
 
@@ -478,7 +478,7 @@ bool wxMenu::DoAppend(wxMenuItem *item)
 
     if ( !wxMenuBase::DoAppend(item) || !DoInsertOrAppend(item) )
     {
-        return FALSE;
+        return NULL;
     }
 
     if ( check )
@@ -487,12 +487,15 @@ bool wxMenu::DoAppend(wxMenuItem *item)
         item->Check(TRUE);
     }
 
-    return TRUE;
+    return item;
 }
 
-bool wxMenu::DoInsert(size_t pos, wxMenuItem *item)
+wxMenuItem* wxMenu::DoInsert(size_t pos, wxMenuItem *item)
 {
-    return wxMenuBase::DoInsert(pos, item) && DoInsertOrAppend(item, pos);
+    if (wxMenuBase::DoInsert(pos, item) && DoInsertOrAppend(item, pos))
+        return item;
+    else
+        return NULL;
 }
 
 wxMenuItem *wxMenu::DoRemove(wxMenuItem *item)
@@ -829,7 +832,13 @@ int wxMenuBar::MSWPositionForWxMenu(wxMenu *menu, int wxpos)
     wxASSERT(menu);
     wxASSERT(menu->GetHMenu());
     wxASSERT(m_hMenu);
+
+#if defined(__WXWINCE__)
+    int totalMSWItems = GetMenuCount();
+#else
     int totalMSWItems = GetMenuItemCount((HMENU)m_hMenu);
+#endif
+
     int i; // For old C++ compatibility
     for(i=wxpos; i<totalMSWItems; i++)
     {