X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4b5a79cf542413329210bda962798a269c2091dd..d576c660f7b6679d74ffef8a6f3d46b901bd37ee:/wxPython/src/_menu.i diff --git a/wxPython/src/_menu.i b/wxPython/src/_menu.i index 070d88a407..c19a304862 100644 --- a/wxPython/src/_menu.i +++ b/wxPython/src/_menu.i @@ -133,8 +133,19 @@ public: // deleting it!) %newobject Remove; wxMenuItem *Remove(int id); - %Rename(RemoveItem, wxMenuItem*, Remove(wxMenuItem *item)); + %feature("shadow") Remove(wxMenuItem *item) %{ + def RemoveItem(self, item): + """RemoveItem(self, MenuItem item) -> MenuItem""" + #// The return object is always the parameter, so return that + #// proxy instead of the new one + val = _core_.Menu_RemoveItem(self, item) + item.this.own(val.this.own()) + val.this.disown() + return item + %} + %Rename(RemoveItem, wxMenuItem*, Remove(wxMenuItem *item)); + // delete an item from the menu (submenus are not destroyed by this // function, see Destroy) bool Delete(int id); @@ -366,13 +377,23 @@ public: class wxMenuItem : public wxObject { public: - wxMenuItem(wxMenu* parentMenu=NULL, int id=wxID_ANY, + // turn off this typemap + %typemap(out) wxMenuItem*; + + wxMenuItem(wxMenu* parentMenu=NULL, int id=wxID_SEPARATOR, const wxString& text = wxPyEmptyString, const wxString& help = wxPyEmptyString, wxItemKind kind = wxITEM_NORMAL, wxMenu* subMenu = NULL); ~wxMenuItem(); + // Turn it back on again + %typemap(out) wxMenuItem* { $result = wxPyMake_wxObject($1, $owner); } + + // Make Destroy a NOP. The destruction will be handled by SWIG. + %pythoncode { def Destroy(self): pass } + + // the menu we're in wxMenu *GetMenu() const; void SetMenu(wxMenu* menu);