]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/menu.h
A couple of fixes for wxChm
[wxWidgets.git] / interface / wx / menu.h
index ad1044dc674d70f31719e466f1b0e4d18b978945..e918e500ba97f7b7f2bc11b669277e57932f4f85 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxMenuBar
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -73,7 +73,7 @@ public:
         @param menu
             The menu to add. Do not deallocate this menu after calling Append().
         @param title
-            The title of the menu.
+            The title of the menu, must be non-empty.
 
         @return @true on success, @false if an error occurred.
 
@@ -416,9 +416,13 @@ public:
 
     @section menu_allocation Allocation strategy
 
-    All menus except the popup ones must be created on the @b heap.
-    All menus attached to a menubar or to another menu will be deleted by their
-    parent when it is deleted.
+    All menus must be created on the @b heap because all menus attached to a
+    menubar or to another menu will be deleted by their parent when it is
+    deleted. The only exception to this rule are the popup menus (i.e. menus
+    used with wxWindow::PopupMenu()) as wxWidgets does not destroy them to
+    allow reusing the same menu more than once. But the exception applies only
+    to the menus themselves and not to any submenus of popup menus which are
+    still destroyed by wxWidgets as usual and so must be heap-allocated.
 
     As the frame menubar is deleted by the frame itself, it means that normally
     all menus used are deleted automatically.
@@ -493,7 +497,7 @@ public:
             this string in the status line.
         @param kind
             May be @c wxITEM_SEPARATOR, @c wxITEM_NORMAL, @c wxITEM_CHECK or @c wxITEM_RADIO.
-        
+
         Example:
         @code
         m_pFileMenu->Append(ID_NEW_FILE, "&New file\tCTRL+N", "Creates a new XYZ document");