]> git.saurik.com Git - wxWidgets.git/commitdiff
wxMenu::Append (and similar) now return a pointer to the wxMenuItem
authorRobin Dunn <robin@alldunn.com>
Fri, 23 Jan 2004 18:46:05 +0000 (18:46 +0000)
committerRobin Dunn <robin@alldunn.com>
Fri, 23 Jan 2004 18:46:05 +0000 (18:46 +0000)
that was added.  Checked on MSW, GTK, and Mac, other port authors
please double check changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

19 files changed:
docs/changes.txt
docs/latex/wx/menu.tex
include/wx/gtk/menu.h
include/wx/gtk1/menu.h
include/wx/mac/menu.h
include/wx/menu.h
include/wx/motif/menu.h
include/wx/msw/menu.h
include/wx/os2/menu.h
include/wx/univ/menu.h
src/common/menucmn.cpp
src/gtk/menu.cpp
src/gtk1/menu.cpp
src/mac/carbon/menu.cpp
src/mac/menu.cpp
src/motif/menu.cpp
src/msw/menu.cpp
src/os2/menu.cpp
src/univ/menu.cpp

index 7b0182d2c7051d1f511af33a3b08edefb690a495..99e306db43559410a9e0e90eaf73c742e723ca61 100644 (file)
@@ -114,6 +114,8 @@ All (GUI):
   when sizing smaller) (Shane Harper)
 - dbbrowse demo fixed for Unicode (Wlodzimierz Skiba)
 - added wxStatusBar support to XRC (Brian Ravnsgaard Riis)
+- wxMenu::Append and etc. return a pointer to the wxMenuItem that was
+  added or inserted, or NULL on failure.
 
 wxMSW:
 
index 1e602717a890b151d1a0be80e4fc7c656cb2c964..763028545f53b511b741f85ce670dce2979529d6 100644 (file)
@@ -103,19 +103,19 @@ and recreation of internal data structures.
 
 \membersection{wxMenu::Append}\label{wxmenuappend}
 
-\func{void}{Append}{\param{int}{ id}, \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""},\rtfsp
+\func{wxMenuItem*}{Append}{\param{int}{ id}, \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""},\rtfsp
 \param{wxItemKind}{ kind = wxITEM\_NORMAL}}
 
 Adds a string item to the end of the menu.
 
-\func{void}{Append}{\param{int}{ id}, \param{const wxString\& }{ item}, \param{wxMenu *}{subMenu},\rtfsp
+\func{wxMenuItem*}{Append}{\param{int}{ id}, \param{const wxString\& }{ item}, \param{wxMenu *}{subMenu},\rtfsp
 \param{const wxString\& }{helpString = ""}}
 
 Adds a pull-right submenu to the end of the menu. Append the submenu to the parent
 menu {\it after} you have added your menu items, or accelerators may not be
 registered properly.
 
-\func{void}{Append}{\param{wxMenuItem*}{ menuItem}}
+\func{wxMenuItem*}{Append}{\param{wxMenuItem*}{ menuItem}}
 
 Adds a menu item object. This is the most generic variant of Append() method
 because it may be used for both items (including separators) and submenus and
@@ -191,7 +191,7 @@ implements the following methods:\par
 
 \membersection{wxMenu::AppendCheckItem}\label{wxmenuappendcheckitem}
 
-\func{void}{AppendCheckItem}{\param{int}{ id},\rtfsp
+\func{wxMenuItem*}{AppendCheckItem}{\param{int}{ id},\rtfsp
 \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}}
 
 Adds a checkable item to the end of the menu.
@@ -203,7 +203,7 @@ Adds a checkable item to the end of the menu.
 
 \membersection{wxMenu::AppendRadioItem}\label{wxmenuappendradioitem}
 
-\func{void}{AppendRadioItem}{\param{int}{ id},\rtfsp
+\func{wxMenuItem*}{AppendRadioItem}{\param{int}{ id},\rtfsp
 \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}}
 
 Adds a radio item to the end of the menu. All consequent radio items form a
@@ -220,7 +220,7 @@ automatically unchecked.
 
 \membersection{wxMenu::AppendSeparator}\label{wxmenuappendseparator}
 
-\func{void}{AppendSeparator}{\void}
+\func{wxMenuItem*}{AppendSeparator}{\void}
 
 Adds a separator to the end of the menu.
 
@@ -423,9 +423,9 @@ menubar.
 
 \membersection{wxMenu::Insert}\label{wxmenuinsert}
 
-\func{bool}{Insert}{\param{size\_t }{pos}, \param{wxMenuItem *}{item}}
+\func{wxMenuItem*}{Insert}{\param{size\_t }{pos}, \param{wxMenuItem *}{item}}
 
-\func{void}{Insert}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp
+\func{wxMenuItem*}{Insert}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp
 \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""},\rtfsp
 \param{wxItemKind}{ kind = wxITEM\_NORMAL}}
 
@@ -440,7 +440,7 @@ as appending it.
 
 \membersection{wxMenu::InsertCheckItem}\label{wxmenuinsertcheckitem}
 
-\func{void}{InsertCheckItem}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp
+\func{wxMenuItem*}{InsertCheckItem}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp
 \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}}
 
 Inserts a checkable item at the given position.
@@ -452,7 +452,7 @@ Inserts a checkable item at the given position.
 
 \membersection{wxMenu::InsertRadioItem}\label{wxmenuinsertradioitem}
 
-\func{void}{InsertRadioItem}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp
+\func{wxMenuItem*}{InsertRadioItem}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp
 \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}}
 
 Inserts a radio item at the given position.
@@ -464,7 +464,7 @@ Inserts a radio item at the given position.
 
 \membersection{wxMenu::InsertSeparator}\label{wxmenuinsertseparator}
 
-\func{void}{InsertSeparator}{\param{size\_t }{pos}}
+\func{wxMenuItem*}{InsertSeparator}{\param{size\_t }{pos}}
 
 Inserts a separator at the given position.
 
@@ -511,9 +511,9 @@ true if the menu item is enabled, false otherwise.
 
 \membersection{wxMenu::Prepend}\label{wxmenuprepend}
 
-\func{bool}{Prepend}{\param{wxMenuItem *}{item}}
+\func{wxMenuItem*}{Prepend}{\param{wxMenuItem *}{item}}
 
-\func{void}{Prepend}{\param{int}{ id},\rtfsp
+\func{wxMenuItem*}{Prepend}{\param{int}{ id},\rtfsp
 \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""},\rtfsp
 \param{wxItemKind}{ kind = wxITEM\_NORMAL}}
 
@@ -527,7 +527,7 @@ existing items.
 
 \membersection{wxMenu::PrependCheckItem}\label{wxmenuprependcheckitem}
 
-\func{void}{PrependCheckItem}{\param{int}{ id},\rtfsp
+\func{wxMenuItem*}{PrependCheckItem}{\param{int}{ id},\rtfsp
 \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}}
 
 Inserts a checkable item at the position $0$.
@@ -539,7 +539,7 @@ Inserts a checkable item at the position $0$.
 
 \membersection{wxMenu::PrependRadioItem}\label{wxmenuprependradioitem}
 
-\func{void}{PrependRadioItem}{\param{int}{ id},\rtfsp
+\func{wxMenuItem*}{PrependRadioItem}{\param{int}{ id},\rtfsp
 \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}}
 
 Inserts a radio item at the position $0$.
@@ -551,7 +551,7 @@ Inserts a radio item at the position $0$.
 
 \membersection{wxMenu::PrependSeparator}\label{wxmenuprependseparator}
 
-\func{void}{PrependSeparator}{\param{size\_t }{pos}}
+\func{wxMenuItem*}{PrependSeparator}{\param{size\_t }{pos}}
 
 Inserts a separator at the position $0$.
 
index f482d01644315675b1a52fb72dff2663b909765e..9af8379c5a0f1eeb74ffccc31582c6a5da1e52d5 100644 (file)
@@ -74,9 +74,9 @@ public:
     virtual ~wxMenu();
 
     // implement base class virtuals
-    virtual bool DoAppend(wxMenuItem *item);
-    virtual bool DoInsert(size_t pos, wxMenuItem *item);
-    virtual wxMenuItem *DoRemove(wxMenuItem *item);
+    virtual wxMenuItem* DoAppend(wxMenuItem *item);
+    virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
+    virtual wxMenuItemDoRemove(wxMenuItem *item);
 
     // TODO: virtual void SetTitle(const wxString& title);
 
index f482d01644315675b1a52fb72dff2663b909765e..9af8379c5a0f1eeb74ffccc31582c6a5da1e52d5 100644 (file)
@@ -74,9 +74,9 @@ public:
     virtual ~wxMenu();
 
     // implement base class virtuals
-    virtual bool DoAppend(wxMenuItem *item);
-    virtual bool DoInsert(size_t pos, wxMenuItem *item);
-    virtual wxMenuItem *DoRemove(wxMenuItem *item);
+    virtual wxMenuItem* DoAppend(wxMenuItem *item);
+    virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
+    virtual wxMenuItemDoRemove(wxMenuItem *item);
 
     // TODO: virtual void SetTitle(const wxString& title);
 
index 9c71c05727a4e5f4cc7c8ba63b2375feacbc3cc1..5f2cd2344c6036a89f927f743b60b3ebdd7f48e9 100644 (file)
@@ -34,9 +34,9 @@ public:
     virtual ~wxMenu();
 
     // implement base class virtuals
-    virtual bool DoAppend(wxMenuItem *item);
-    virtual bool DoInsert(size_t pos, wxMenuItem *item);
-    virtual wxMenuItem *DoRemove(wxMenuItem *item);
+    virtual wxMenuItem* DoAppend(wxMenuItem *item);
+    virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
+    virtual wxMenuItemDoRemove(wxMenuItem *item);
     virtual void Attach(wxMenuBarBase *menubar) ;
 
     virtual void Break();
index f3e34bd3f88b0a5fe1d1c6a77dd53de5c6916cd5..05cfe3948da9046a4ab688976899814cf0ccbcd1 100644 (file)
@@ -63,142 +63,142 @@ public:
     // -----------------
 
     // append any kind of item (normal/check/radio/separator)
-    void Append(int itemid,
-                const wxString& text,
-                const wxString& help = wxEmptyString,
-                wxItemKind kind = wxITEM_NORMAL)
+    wxMenuItem* Append(int itemid,
+                       const wxString& text,
+                       const wxString& help = wxEmptyString,
+                       wxItemKind kind = wxITEM_NORMAL)
     {
-        DoAppend(wxMenuItem::New((wxMenu *)this, itemid, text, help, kind));
+        return DoAppend(wxMenuItem::New((wxMenu *)this, itemid, text, help, kind));
     }
 
     // append a separator to the menu
-    void AppendSeparator() { Append(wxID_SEPARATOR, wxEmptyString); }
+    wxMenuItem* AppendSeparator() { return Append(wxID_SEPARATOR, wxEmptyString); }
 
     // append a check item
-    void AppendCheckItem(int itemid,
-                         const wxString& text,
-                         const wxString& help = wxEmptyString)
+    wxMenuItem* AppendCheckItem(int itemid,
+                                const wxString& text,
+                                const wxString& help = wxEmptyString)
     {
-        Append(itemid, text, help, wxITEM_CHECK);
+        return Append(itemid, text, help, wxITEM_CHECK);
     }
 
     // append a radio item
-    void AppendRadioItem(int itemid,
-                         const wxString& text,
-                         const wxString& help = wxEmptyString)
+    wxMenuItem* AppendRadioItem(int itemid,
+                                const wxString& text,
+                                const wxString& help = wxEmptyString)
     {
-        Append(itemid, text, help, wxITEM_RADIO);
+        return Append(itemid, text, help, wxITEM_RADIO);
     }
 
     // append a submenu
-    void Append(int itemid,
-                const wxString& text,
-                wxMenu *submenu,
-                const wxString& help = wxEmptyString)
+    wxMenuItem* Append(int itemid,
+                       const wxString& text,
+                       wxMenu *submenu,
+                       const wxString& help = wxEmptyString)
     {
-        DoAppend(wxMenuItem::New((wxMenu *)this, itemid, text, help,
-                                 wxITEM_NORMAL, submenu));
+        return DoAppend(wxMenuItem::New((wxMenu *)this, itemid, text, help,
+                                        wxITEM_NORMAL, submenu));
     }
 
     // the most generic form of Append() - append anything
-    void Append(wxMenuItem *item) { DoAppend(item); }
+    wxMenuItem* Append(wxMenuItem *item) { return DoAppend(item); }
 
     // insert a break in the menu (only works when appending the items, not
     // inserting them)
     virtual void Break() { }
 
     // insert an item before given position
-    bool Insert(size_t pos, wxMenuItem *item);
+    wxMenuItem* Insert(size_t pos, wxMenuItem *item);
 
     // insert an item before given position
-    void Insert(size_t pos,
-                int itemid,
-                const wxString& text,
-                const wxString& help = wxEmptyString,
-                wxItemKind kind = wxITEM_NORMAL)
+    wxMenuItem* Insert(size_t pos,
+                       int itemid,
+                       const wxString& text,
+                       const wxString& help = wxEmptyString,
+                       wxItemKind kind = wxITEM_NORMAL)
     {
-        Insert(pos, wxMenuItem::New((wxMenu *)this, itemid, text, help, kind));
+        return Insert(pos, wxMenuItem::New((wxMenu *)this, itemid, text, help, kind));
     }
 
     // insert a separator
-    void InsertSeparator(size_t pos)
+    wxMenuItem* InsertSeparator(size_t pos)
     {
-        Insert(pos, wxMenuItem::New((wxMenu *)this));
+        return Insert(pos, wxMenuItem::New((wxMenu *)this, wxID_SEPARATOR));
     }
 
     // insert a check item
-    void InsertCheckItem(size_t pos,
-                         int itemid,
-                         const wxString& text,
-                         const wxString& help = wxEmptyString)
+    wxMenuItem* InsertCheckItem(size_t pos,
+                                int itemid,
+                                const wxString& text,
+                                const wxString& help = wxEmptyString)
     {
-        Insert(pos, itemid, text, help, wxITEM_CHECK);
+        return Insert(pos, itemid, text, help, wxITEM_CHECK);
     }
 
     // insert a radio item
-    void InsertRadioItem(size_t pos,
-                         int itemid,
-                         const wxString& text,
-                         const wxString& help = wxEmptyString)
+     wxMenuItem* InsertRadioItem(size_t pos,
+                                 int itemid,
+                                 const wxString& text,
+                                 const wxString& help = wxEmptyString)
     {
-        Insert(pos, itemid, text, help, wxITEM_RADIO);
+        return Insert(pos, itemid, text, help, wxITEM_RADIO);
     }
 
     // insert a submenu
-    void Insert(size_t pos,
-                int itemid,
-                const wxString& text,
-                wxMenu *submenu,
-                const wxString& help = wxEmptyString)
+    wxMenuItem* Insert(size_t pos,
+                       int itemid,
+                       const wxString& text,
+                       wxMenu *submenu,
+                       const wxString& help = wxEmptyString)
     {
-        Insert(pos, wxMenuItem::New((wxMenu *)this, itemid, text, help,
-                                    wxITEM_NORMAL, submenu));
+        return Insert(pos, wxMenuItem::New((wxMenu *)this, itemid, text, help,
+                                           wxITEM_NORMAL, submenu));
     }
 
     // prepend an item to the menu
-    void Prepend(wxMenuItem *item)
+    wxMenuItem* Prepend(wxMenuItem *item)
     {
-        Insert(0u, item);
+        return Insert(0u, item);
     }
 
     // prepend any item to the menu
-    void Prepend(int itemid,
-                 const wxString& text,
-                 const wxString& help = wxEmptyString,
-                 wxItemKind kind = wxITEM_NORMAL)
+    wxMenuItem* Prepend(int itemid,
+                        const wxString& text,
+                        const wxString& help = wxEmptyString,
+                        wxItemKind kind = wxITEM_NORMAL)
     {
-        Insert(0u, itemid, text, help, kind);
+        return Insert(0u, itemid, text, help, kind);
     }
 
     // prepend a separator
-    void PrependSeparator()
+    wxMenuItem* PrependSeparator()
     {
-        InsertSeparator(0u);
+        return InsertSeparator(0u);
     }
 
     // prepend a check item
-    void PrependCheckItem(int itemid,
-                          const wxString& text,
-                          const wxString& help = wxEmptyString)
+    wxMenuItem* PrependCheckItem(int itemid,
+                                 const wxString& text,
+                                 const wxString& help = wxEmptyString)
     {
-        InsertCheckItem(0u, itemid, text, help);
+        return InsertCheckItem(0u, itemid, text, help);
     }
 
     // prepend a radio item
-    void PrependRadioItem(int itemid,
-                          const wxString& text,
-                          const wxString& help = wxEmptyString)
+    wxMenuItem* PrependRadioItem(int itemid,
+                                 const wxString& text,
+                                 const wxString& help = wxEmptyString)
     {
-        InsertRadioItem(0u, itemid, text, help);
+        return InsertRadioItem(0u, itemid, text, help);
     }
 
     // prepend a submenu
-    void Prepend(int itemid,
-                 const wxString& text,
-                 wxMenu *submenu,
-                 const wxString& help = wxEmptyString)
+    wxMenuItem* Prepend(int itemid,
+                        const wxString& text,
+                        wxMenu *submenu,
+                        const wxString& help = wxEmptyString)
     {
-        Insert(0u, itemid, text, submenu, help);
+        return Insert(0u, itemid, text, submenu, help);
     }
 
     // detach an item from the menu, but don't delete it so that it can be
@@ -334,8 +334,8 @@ protected:
     // virtuals to override in derived classes
     // ---------------------------------------
 
-    virtual bool DoAppend(wxMenuItem *item);
-    virtual bool DoInsert(size_t pos, wxMenuItem *item);
+    virtual wxMenuItem* DoAppend(wxMenuItem *item);
+    virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
 
     virtual wxMenuItem *DoRemove(wxMenuItem *item);
     virtual bool DoDelete(wxMenuItem *item);
index 5bc831d69f979aa6cc29c3523d8a8182b18c4a87..64ad89e2d06d04a0bc8e3271b0dd6d3bccad9c7c 100644 (file)
@@ -38,9 +38,9 @@ public:
     virtual ~wxMenu();
     
     // implement base class virtuals
-    virtual bool DoAppend(wxMenuItem *item);
-    virtual bool DoInsert(size_t pos, wxMenuItem *item);
-    virtual wxMenuItem *DoRemove(wxMenuItem *item);
+    virtual wxMenuItem* DoAppend(wxMenuItem *item);
+    virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
+    virtual wxMenuItemDoRemove(wxMenuItem *item);
     
     virtual void Break();
     
index bc86e25417e54f6ee88bfec5a391e90cc1739910..15232791d04a62ec7dff97c7f6acdde05f83ef9f 100644 (file)
@@ -47,9 +47,9 @@ public:
     virtual ~wxMenu();
 
     // implement base class virtuals
-    virtual bool DoAppend(wxMenuItem *item);
-    virtual bool DoInsert(size_t pos, wxMenuItem *item);
-    virtual wxMenuItem *DoRemove(wxMenuItem *item);
+    virtual wxMenuItem* DoAppend(wxMenuItem *item);
+    virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
+    virtual wxMenuItemDoRemove(wxMenuItem *item);
 
     virtual void Break();
 
index 3f00df484420f53dc11e81463b80d503870d814b..b088026c217d61bd3bcfbb1e0e3250747bd3ef12 100644 (file)
@@ -55,8 +55,8 @@ public:
     //
     // Implement base class virtuals
     //
-    virtual bool        DoAppend(wxMenuItem* pItem);
-    virtual bool        DoInsert( size_t      nPos
+    virtual wxMenuItem* DoAppend(wxMenuItem* pItem);
+    virtual wxMenuItem* DoInsert( size_t      nPos
                                  ,wxMenuItem* pItem
                                 );
     virtual wxMenuItem* DoRemove(wxMenuItem* pItem);
index 774ef724bd963e6baf08aca4a171f872de414341..874f5bd8967a0d927bd4c133d66625f7a512ed7b 100644 (file)
@@ -79,9 +79,9 @@ public:
 
 protected:
     // implement base class virtuals
-    virtual bool DoAppend(wxMenuItem *item);
-    virtual bool DoInsert(size_t pos, wxMenuItem *item);
-    virtual wxMenuItem *DoRemove(wxMenuItem *item);
+    virtual wxMenuItem* DoAppend(wxMenuItem *item);
+    virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
+    virtual wxMenuItemDoRemove(wxMenuItem *item);
 
     // common part of DoAppend and DoInsert
     void OnItemAdded(wxMenuItem *item);
index 094271d0f71e44e892fb0531e2fa9d58086fcda0..4cca372c6207905350c3b3b5b30b97ed899f66a4 100644 (file)
@@ -310,9 +310,9 @@ void wxMenuBase::AddSubMenu(wxMenu *submenu)
     submenu->SetParent((wxMenu *)this);
 }
 
-bool wxMenuBase::DoAppend(wxMenuItem *item)
+wxMenuItem* wxMenuBase::DoAppend(wxMenuItem *item)
 {
-    wxCHECK_MSG( item, FALSE, wxT("invalid item in wxMenu::Append()") );
+    wxCHECK_MSG( item, NULL, wxT("invalid item in wxMenu::Append()") );
 
     m_items.Append(item);
     item->SetMenu((wxMenu*)this);
@@ -321,12 +321,12 @@ bool wxMenuBase::DoAppend(wxMenuItem *item)
         AddSubMenu(item->GetSubMenu());
     }
 
-    return TRUE;
+    return item;
 }
 
-bool wxMenuBase::Insert(size_t pos, wxMenuItem *item)
+wxMenuItem* wxMenuBase::Insert(size_t pos, wxMenuItem *item)
 {
-    wxCHECK_MSG( item, FALSE, wxT("invalid item in wxMenu::Insert") );
+    wxCHECK_MSG( item, NULL, wxT("invalid item in wxMenu::Insert") );
 
     if ( pos == GetMenuItemCount() )
     {
@@ -341,9 +341,9 @@ bool wxMenuBase::Insert(size_t pos, wxMenuItem *item)
     }
 }
 
-bool wxMenuBase::DoInsert(size_t pos, wxMenuItem *item)
+wxMenuItem* wxMenuBase::DoInsert(size_t pos, wxMenuItem *item)
 {
-    wxCHECK_MSG( item, FALSE, wxT("invalid item in wxMenu::Insert()") );
+    wxCHECK_MSG( item, NULL, wxT("invalid item in wxMenu::Insert()") );
 
     wxMenuItemList::compatibility_iterator node = m_items.Item(pos);
     wxCHECK_MSG( node, FALSE, wxT("invalid index in wxMenu::Insert()") );
@@ -355,7 +355,7 @@ bool wxMenuBase::DoInsert(size_t pos, wxMenuItem *item)
         AddSubMenu(item->GetSubMenu());
     }
 
-    return TRUE;
+    return item;
 }
 
 wxMenuItem *wxMenuBase::Remove(wxMenuItem *item)
index edcbeb0d65c3506f8e685724cd62ab29c9d1d354..2c148ae7b8ccbd8b58a9538eb8f8f90ceab48e6c 100644 (file)
@@ -1358,21 +1358,23 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem)
     return TRUE;
 }
 
-bool wxMenu::DoAppend(wxMenuItem *mitem)
+wxMenuItem* wxMenu::DoAppend(wxMenuItem *mitem)
 {
-    return GtkAppend(mitem) && wxMenuBase::DoAppend(mitem);
+    if (!GtkAppend(mitem))
+        return NULL;
+    return wxMenuBase::DoAppend(mitem);
 }
 
-bool wxMenu::DoInsert(size_t pos, wxMenuItem *item)
+wxMenuItem* wxMenu::DoInsert(size_t pos, wxMenuItem *item)
 {
     if ( !wxMenuBase::DoInsert(pos, item) )
-        return FALSE;
+        return NULL;
 
     // GTK+ doesn't have a function to insert a menu using GtkItemFactory (as
     // of version 1.2.6), so we first append the item and then change its
     // index
     if ( !GtkAppend(item) )
-        return FALSE;
+        return NULL;
 
     if ( m_style & wxMENU_TEAROFF )
     {
@@ -1385,7 +1387,7 @@ bool wxMenu::DoInsert(size_t pos, wxMenuItem *item)
     menu_shell->children = g_list_remove(menu_shell->children, data);
     menu_shell->children = g_list_insert(menu_shell->children, data, pos);
 
-    return TRUE;
+    return item;
 }
 
 wxMenuItem *wxMenu::DoRemove(wxMenuItem *item)
index edcbeb0d65c3506f8e685724cd62ab29c9d1d354..2c148ae7b8ccbd8b58a9538eb8f8f90ceab48e6c 100644 (file)
@@ -1358,21 +1358,23 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem)
     return TRUE;
 }
 
-bool wxMenu::DoAppend(wxMenuItem *mitem)
+wxMenuItem* wxMenu::DoAppend(wxMenuItem *mitem)
 {
-    return GtkAppend(mitem) && wxMenuBase::DoAppend(mitem);
+    if (!GtkAppend(mitem))
+        return NULL;
+    return wxMenuBase::DoAppend(mitem);
 }
 
-bool wxMenu::DoInsert(size_t pos, wxMenuItem *item)
+wxMenuItem* wxMenu::DoInsert(size_t pos, wxMenuItem *item)
 {
     if ( !wxMenuBase::DoInsert(pos, item) )
-        return FALSE;
+        return NULL;
 
     // GTK+ doesn't have a function to insert a menu using GtkItemFactory (as
     // of version 1.2.6), so we first append the item and then change its
     // index
     if ( !GtkAppend(item) )
-        return FALSE;
+        return NULL;
 
     if ( m_style & wxMENU_TEAROFF )
     {
@@ -1385,7 +1387,7 @@ bool wxMenu::DoInsert(size_t pos, wxMenuItem *item)
     menu_shell->children = g_list_remove(menu_shell->children, data);
     menu_shell->children = g_list_insert(menu_shell->children, data, pos);
 
-    return TRUE;
+    return item;
 }
 
 wxMenuItem *wxMenu::DoRemove(wxMenuItem *item)
index 046f7e0166fbb7097e0611b2f72ff99a260d74dd..e4e0879b0250d3ad4ec1ebdc6bad99d86f646a28 100644 (file)
@@ -177,9 +177,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;
 
@@ -222,7 +222,7 @@ bool wxMenu::DoAppend(wxMenuItem *item)
 
     if ( !wxMenuBase::DoAppend(item) || !DoInsertOrAppend(item) )
     {
-        return FALSE;
+        return NULL;
     }
 
     if ( check )
@@ -231,12 +231,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)
index 046f7e0166fbb7097e0611b2f72ff99a260d74dd..e4e0879b0250d3ad4ec1ebdc6bad99d86f646a28 100644 (file)
@@ -177,9 +177,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;
 
@@ -222,7 +222,7 @@ bool wxMenu::DoAppend(wxMenuItem *item)
 
     if ( !wxMenuBase::DoAppend(item) || !DoInsertOrAppend(item) )
     {
-        return FALSE;
+        return NULL;
     }
 
     if ( check )
@@ -231,12 +231,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)
index 79c8ab506113204c86f229b66c66f9598a72c07a..c85dea8e7412056b1b22ef7eab62b63645816a6c 100644 (file)
@@ -114,7 +114,7 @@ void wxMenu::Break()
 }
 
 // function appends a new item or submenu to the menu
-bool wxMenu::DoAppend(wxMenuItem *pItem)
+wxMenuItem* wxMenu::DoAppend(wxMenuItem *pItem)
 {
     if (m_menuWidget)
     {
@@ -137,14 +137,14 @@ wxMenuItem *wxMenu::DoRemove(wxMenuItem *item)
     return wxMenuBase::DoRemove(item);
 }
 
-bool wxMenu::DoInsert(size_t pos, wxMenuItem *item)
+wxMenuItem* wxMenu::DoInsert(size_t pos, wxMenuItem *item)
 {
     if ( wxMenuBase::DoInsert(pos, item) )
-        return TRUE;
+        return item;
 
     wxFAIL_MSG(wxT("DoInsert not implemented; or error in wxMenuBase::DoInsert"));
 
-    return FALSE;
+    return NULL;
 }
 
 void wxMenu::SetTitle(const wxString& label)
index 478048e7037bf5a9339b53e49b93bdeb2782ceb9..750b6d64f15095567ead93b1a1f7c9a97de749f9 100644 (file)
@@ -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)
index 3dbbbb16ecd06cdf86728689c07ef690fe187252..1174131571564b40c882062f22902e65960f4f4f 100644 (file)
@@ -415,11 +415,11 @@ void wxMenu::EndRadioGroup()
     m_nStartRadioGroup = -1;
 } // end of wxMenu::EndRadioGroup
 
-bool wxMenu::DoAppend(
+wxMenuItem* wxMenu::DoAppend(
   wxMenuItem*                       pItem
 )
 {
-    wxCHECK_MSG( pItem, FALSE, _T("NULL item in wxMenu::DoAppend") );
+    wxCHECK_MSG( pItem, NULL, _T("NULL item in wxMenu::DoAppend") );
 
     bool                            bCheck = FALSE;
 
@@ -471,7 +471,7 @@ bool wxMenu::DoAppend(
 
     if (!wxMenuBase::DoAppend(pItem) || !DoInsertOrAppend(pItem))
     {
-        return FALSE;
+        return NULL;
     }
     if (bCheck)
     {
@@ -480,20 +480,22 @@ bool wxMenu::DoAppend(
         //
         pItem->Check(TRUE);
     }
-    return TRUE;
+    return pItem;
 } // end of wxMenu::DoAppend
 
-bool wxMenu::DoInsert(
+wxMenuItem* wxMenu::DoInsert(
   size_t                            nPos
 , wxMenuItem*                       pItem
 )
 {
-    return ( wxMenuBase::DoInsert( nPos
-                                  ,pItem) &&
+    if ( wxMenuBase::DoInsert( nPos
+                               ,pItem) &&
              DoInsertOrAppend( pItem
                               ,nPos
-                             )
-           );
+                 ))
+         return pItem;
+    else
+        return NULL;
 } // end of wxMenu::DoInsert
 
 wxMenuItem* wxMenu::DoRemove(
index f760357497313239f475111f694b8c6ffba458dc..bce164c6444c02cc3ac38088b4822da5a1ccf823 100644 (file)
@@ -1110,7 +1110,7 @@ void wxMenu::EndRadioGroup()
     m_startRadioGroup = -1;
 }
 
-bool wxMenu::DoAppend(wxMenuItem *item)
+wxMenuItem* wxMenu::DoAppend(wxMenuItem *item)
 {
     #if 0
     // not used at all
@@ -1158,21 +1158,21 @@ bool wxMenu::DoAppend(wxMenuItem *item)
     }
 
     if ( !wxMenuBase::DoAppend(item) )
-        return FALSE;
+        return NULL;
 
     OnItemAdded(item);
 
-    return TRUE;
+    return item;
 }
 
-bool wxMenu::DoInsert(size_t pos, wxMenuItem *item)
+wxMenuItem* wxMenu::DoInsert(size_t pos, wxMenuItem *item)
 {
     if ( !wxMenuBase::DoInsert(pos, item) )
-        return FALSE;
+        return NULL;
 
     OnItemAdded(item);
 
-    return TRUE;
+    return item;
 }
 
 wxMenuItem *wxMenu::DoRemove(wxMenuItem *item)