]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/windows.py
no real changes
[wxWidgets.git] / wxPython / src / msw / windows.py
index 5ec801920fd64feab61a419f576d4b7554c8b621..1f950d9e82c48604d2ddd046fb55df8c01047083 100644 (file)
@@ -20,7 +20,7 @@ def wxDLG_SZE(win, size_width, height=None):
     else:
         return win.ConvertDialogSizeToPixels(wxSize(size_width, height))
 
-class wxEvtHandlerPtr :
+class wxEvtHandlerPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
@@ -38,11 +38,9 @@ class wxEvtHandlerPtr :
         return val
     def GetNextHandler(self, *_args, **_kwargs):
         val = apply(windowsc.wxEvtHandler_GetNextHandler,(self,) + _args, _kwargs)
-        if val: val = wxEvtHandlerPtr(val) 
         return val
     def GetPreviousHandler(self, *_args, **_kwargs):
         val = apply(windowsc.wxEvtHandler_GetPreviousHandler,(self,) + _args, _kwargs)
-        if val: val = wxEvtHandlerPtr(val) 
         return val
     def SetNextHandler(self, *_args, **_kwargs):
         val = apply(windowsc.wxEvtHandler_SetNextHandler,(self,) + _args, _kwargs)
@@ -56,11 +54,11 @@ class wxEvtHandlerPtr :
     def Disconnect(self, *_args, **_kwargs):
         val = apply(windowsc.wxEvtHandler_Disconnect,(self,) + _args, _kwargs)
         return val
+    def _setOORInfo(self, *_args, **_kwargs):
+        val = apply(windowsc.wxEvtHandler__setOORInfo,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxEvtHandler instance at %s>" % (self.this,)
-    
-    _prop_list_ = {}
-    
 class wxEvtHandler(wxEvtHandlerPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(windowsc.new_wxEvtHandler,_args,_kwargs)
@@ -75,11 +73,9 @@ class wxValidatorPtr(wxEvtHandlerPtr):
         self.thisown = 0
     def Clone(self, *_args, **_kwargs):
         val = apply(windowsc.wxValidator_Clone,(self,) + _args, _kwargs)
-        if val: val = wxValidatorPtr(val) 
         return val
     def GetWindow(self, *_args, **_kwargs):
         val = apply(windowsc.wxValidator_GetWindow,(self,) + _args, _kwargs)
-        if val: val = wxWindowPtr(val) 
         return val
     def SetWindow(self, *_args, **_kwargs):
         val = apply(windowsc.wxValidator_SetWindow,(self,) + _args, _kwargs)
@@ -90,6 +86,7 @@ class wxValidator(wxValidatorPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(windowsc.new_wxValidator,_args,_kwargs)
         self.thisown = 1
+        self._setOORInfo(self)
 
 
 
@@ -98,11 +95,8 @@ class wxPyValidatorPtr(wxValidatorPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def Destroy(self, *_args, **_kwargs):
-        val = apply(windowsc.wxPyValidator_Destroy,(self,) + _args, _kwargs)
-        return val
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(windowsc.wxPyValidator__setSelf,(self,) + _args, _kwargs)
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = apply(windowsc.wxPyValidator__setCallbackInfo,(self,) + _args, _kwargs)
         return val
     def __repr__(self):
         return "<C wxPyValidator instance at %s>" % (self.this,)
@@ -110,7 +104,8 @@ class wxPyValidator(wxPyValidatorPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(windowsc.new_wxPyValidator,_args,_kwargs)
         self.thisown = 1
-        self._setSelf(self, wxPyValidator, 0)
+        self._setCallbackInfo(self, wxPyValidator, 1)
+        self._setOORInfo(self)
 
 
 
@@ -119,6 +114,9 @@ class wxWindowPtr(wxEvtHandlerPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
+    def Create(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_Create,(self,) + _args, _kwargs)
+        return val
     def CaptureMouse(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_CaptureMouse,(self,) + _args, _kwargs)
         return val
@@ -140,6 +138,9 @@ class wxWindowPtr(wxEvtHandlerPtr):
     def CenterOnScreen(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_CenterOnScreen,(self,) + _args, _kwargs)
         return val
+    def Clear(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_Clear,(self,) + _args, _kwargs)
+        return val
     def ClientToScreenXY(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_ClientToScreenXY,(self,) + _args, _kwargs)
         return val
@@ -156,6 +157,9 @@ class wxWindowPtr(wxEvtHandlerPtr):
     def DestroyChildren(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_DestroyChildren,(self,) + _args, _kwargs)
         return val
+    def IsBeingDeleted(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_IsBeingDeleted,(self,) + _args, _kwargs)
+        return val
     def DragAcceptFiles(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_DragAcceptFiles,(self,) + _args, _kwargs)
         return val
@@ -164,11 +168,9 @@ class wxWindowPtr(wxEvtHandlerPtr):
         return val
     def FindWindowById(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_FindWindowById,(self,) + _args, _kwargs)
-        if val: val = wxWindowPtr(val) 
         return val
     def FindWindowByName(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_FindWindowByName,(self,) + _args, _kwargs)
-        if val: val = wxWindowPtr(val) 
         return val
     def Fit(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_Fit,(self,) + _args, _kwargs)
@@ -199,11 +201,10 @@ class wxWindowPtr(wxEvtHandlerPtr):
         return val
     def GetEventHandler(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_GetEventHandler,(self,) + _args, _kwargs)
-        if val: val = wxEvtHandlerPtr(val) 
         return val
     def GetFont(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_GetFont,(self,) + _args, _kwargs)
-        if val: val = wxFontPtr(val) 
+        if val: val = wxFontPtr(val) ; val.thisown = 1
         return val
     def GetForegroundColour(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_GetForegroundColour,(self,) + _args, _kwargs)
@@ -211,7 +212,6 @@ class wxWindowPtr(wxEvtHandlerPtr):
         return val
     def GetGrandParent(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_GetGrandParent,(self,) + _args, _kwargs)
-        if val: val = wxWindowPtr(val) 
         return val
     def GetHandle(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_GetHandle,(self,) + _args, _kwargs)
@@ -230,7 +230,6 @@ class wxWindowPtr(wxEvtHandlerPtr):
         return val
     def GetParent(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_GetParent,(self,) + _args, _kwargs)
-        if val: val = wxWindowPtr(val) 
         return val
     def GetPositionTuple(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_GetPositionTuple,(self,) + _args, _kwargs)
@@ -328,7 +327,6 @@ class wxWindowPtr(wxEvtHandlerPtr):
         return val
     def PopEventHandler(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_PopEventHandler,(self,) + _args, _kwargs)
-        if val: val = wxEvtHandlerPtr(val) 
         return val
     def PushEventHandler(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_PushEventHandler,(self,) + _args, _kwargs)
@@ -345,6 +343,9 @@ class wxWindowPtr(wxEvtHandlerPtr):
     def Refresh(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_Refresh,(self,) + _args, _kwargs)
         return val
+    def RefreshRect(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_RefreshRect,(self,) + _args, _kwargs)
+        return val
     def ReleaseMouse(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_ReleaseMouse,(self,) + _args, _kwargs)
         return val
@@ -364,9 +365,6 @@ class wxWindowPtr(wxEvtHandlerPtr):
     def ScrollWindow(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_ScrollWindow,(self,) + _args, _kwargs)
         return val
-    def SetAcceleratorTable(self, *_args, **_kwargs):
-        val = apply(windowsc.wxWindow_SetAcceleratorTable,(self,) + _args, _kwargs)
-        return val
     def SetAutoLayout(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_SetAutoLayout,(self,) + _args, _kwargs)
         return val
@@ -486,18 +484,15 @@ class wxWindowPtr(wxEvtHandlerPtr):
         return val
     def GetToolTip(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_GetToolTip,(self,) + _args, _kwargs)
-        if val: val = wxToolTipPtr(val) 
         return val
     def SetSizer(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_SetSizer,(self,) + _args, _kwargs)
         return val
     def GetSizer(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_GetSizer,(self,) + _args, _kwargs)
-        if val: val = wxSizerPtr(val) 
         return val
     def GetValidator(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_GetValidator,(self,) + _args, _kwargs)
-        if val: val = wxValidatorPtr(val) 
         return val
     def SetValidator(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_SetValidator,(self,) + _args, _kwargs)
@@ -521,144 +516,113 @@ class wxWindowPtr(wxEvtHandlerPtr):
         val = apply(windowsc.wxWindow_GetCaret,(self,) + _args, _kwargs)
         if val: val = wxCaretPtr(val) 
         return val
+    def Freeze(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_Freeze,(self,) + _args, _kwargs)
+        return val
+    def Thaw(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_Thaw,(self,) + _args, _kwargs)
+        return val
+    def Update(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_Update,(self,) + _args, _kwargs)
+        return val
+    def GetHelpText(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_GetHelpText,(self,) + _args, _kwargs)
+        return val
+    def SetHelpText(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_SetHelpText,(self,) + _args, _kwargs)
+        return val
+    def ScrollLines(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_ScrollLines,(self,) + _args, _kwargs)
+        return val
+    def ScrollPages(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_ScrollPages,(self,) + _args, _kwargs)
+        return val
+    def LineUp(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_LineUp,(self,) + _args, _kwargs)
+        return val
+    def LineDown(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_LineDown,(self,) + _args, _kwargs)
+        return val
+    def PageUp(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_PageUp,(self,) + _args, _kwargs)
+        return val
+    def PageDown(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_PageDown,(self,) + _args, _kwargs)
+        return val
+    def SetAcceleratorTable(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_SetAcceleratorTable,(self,) + _args, _kwargs)
+        return val
+    def GetAcceleratorTable(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_GetAcceleratorTable,(self,) + _args, _kwargs)
+        if val: val = wxAcceleratorTablePtr(val) 
+        return val
+    def OnPaint(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_OnPaint,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxWindow instance at %s>" % (self.this,)
-    # replaces broken shadow methods
+    # replaces broken shadow method
     def GetCaret(self, *_args, **_kwargs):
         from misc2 import wxCaretPtr
         val = apply(windowsc.wxWindow_GetCaret,(self,) + _args, _kwargs)
         if val: val = wxCaretPtr(val)
         return val
-
-    def GetSizer(self, *_args, **_kwargs):
-        from sizers import wxSizerPtr
-        val = apply(windowsc.wxWindow_GetSizer,(self,) + _args, _kwargs)
-        if val: val = wxSizerPtr(val)
-        return val
-
-    def GetToolTip(self, *_args, **_kwargs):
-        from misc2 import wxToolTipPtr
-        val = apply(windowsc.wxWindow_GetToolTip,(self,) + _args, _kwargs)
-        if val: val = wxToolTipPtr(val)
-        return val
     
 class wxWindow(wxWindowPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(windowsc.new_wxWindow,_args,_kwargs)
         self.thisown = 1
-        #wx._StdWindowCallbacks(self)
+        self._setOORInfo(self)
 
 
 
+def wxPreWindow(*_args,**_kwargs):
+    val = wxWindowPtr(apply(windowsc.new_wxPreWindow,_args,_kwargs))
+    val.thisown = 1
+    val._setOORInfo(val)
+    return val
+
 
 class wxPanelPtr(wxWindowPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
+    def Create(self, *_args, **_kwargs):
+        val = apply(windowsc.wxPanel_Create,(self,) + _args, _kwargs)
+        return val
     def InitDialog(self, *_args, **_kwargs):
         val = apply(windowsc.wxPanel_InitDialog,(self,) + _args, _kwargs)
         return val
     def GetDefaultItem(self, *_args, **_kwargs):
         val = apply(windowsc.wxPanel_GetDefaultItem,(self,) + _args, _kwargs)
-        if val: val = wxButtonPtr(val) 
         return val
     def SetDefaultItem(self, *_args, **_kwargs):
         val = apply(windowsc.wxPanel_SetDefaultItem,(self,) + _args, _kwargs)
         return val
     def __repr__(self):
         return "<C wxPanel instance at %s>" % (self.this,)
-    
-    def GetDefaultItem(self):
-        import controls
-        val = windowsc.wxPanel_GetDefaultItem(self.this)
-        val = controls.wxButtonPtr(val)
-        return val
-
 class wxPanel(wxPanelPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(windowsc.new_wxPanel,_args,_kwargs)
         self.thisown = 1
-        #wx._StdWindowCallbacks(self)
+        self._setOORInfo(self)
 
 
 
-
-class wxDialogPtr(wxPanelPtr):
-    def __init__(self,this):
-        self.this = this
-        self.thisown = 0
-    def Centre(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_Centre,(self,) + _args, _kwargs)
-        return val
-    def EndModal(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_EndModal,(self,) + _args, _kwargs)
-        return val
-    def GetTitle(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_GetTitle,(self,) + _args, _kwargs)
-        return val
-    def Iconize(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_Iconize,(self,) + _args, _kwargs)
-        return val
-    def IsIconized(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_IsIconized,(self,) + _args, _kwargs)
-        return val
-    def SetModal(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_SetModal,(self,) + _args, _kwargs)
-        return val
-    def IsModal(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_IsModal,(self,) + _args, _kwargs)
-        return val
-    def SetTitle(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_SetTitle,(self,) + _args, _kwargs)
-        return val
-    def Show(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_Show,(self,) + _args, _kwargs)
-        return val
-    def ShowModal(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_ShowModal,(self,) + _args, _kwargs)
-        return val
-    def GetReturnCode(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_GetReturnCode,(self,) + _args, _kwargs)
-        return val
-    def SetReturnCode(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_SetReturnCode,(self,) + _args, _kwargs)
-        return val
-    def CreateTextSizer(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_CreateTextSizer,(self,) + _args, _kwargs)
-        if val: val = wxSizerPtr(val) 
-        return val
-    def CreateButtonSizer(self, *_args, **_kwargs):
-        val = apply(windowsc.wxDialog_CreateButtonSizer,(self,) + _args, _kwargs)
-        if val: val = wxSizerPtr(val) 
-        return val
-    def __repr__(self):
-        return "<C wxDialog instance at %s>" % (self.this,)
-    
-    # replace swig generated shadow methods to resolve import issues
-    def CreateTextSizer(self, *_args, **_kwargs):
-        import sizers
-        val = apply(windowsc.wxDialog_CreateTextSizer,(self,) + _args, _kwargs)
-        if val: val = sizers.wxSizerPtr(val)
-        return val
-    def CreateButtonSizer(self, *_args, **_kwargs):
-        import sizers
-        val = apply(windowsc.wxDialog_CreateButtonSizer,(self,) + _args, _kwargs)
-        if val: val = sizers.wxSizerPtr(val)
-        return val
-
-class wxDialog(wxDialogPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(windowsc.new_wxDialog,_args,_kwargs)
-        self.thisown = 1
-        #wx._StdDialogCallbacks(self)
-
-
+def wxPrePanel(*_args,**_kwargs):
+    val = wxPanelPtr(apply(windowsc.new_wxPrePanel,_args,_kwargs))
+    val.thisown = 1
+    val._setOORInfo(val)
+    return val
 
 
 class wxScrolledWindowPtr(wxPanelPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
+    def Create(self, *_args, **_kwargs):
+        val = apply(windowsc.wxScrolledWindow_Create,(self,) + _args, _kwargs)
+        return val
     def EnableScrolling(self, *_args, **_kwargs):
         val = apply(windowsc.wxScrolledWindow_EnableScrolling,(self,) + _args, _kwargs)
         return val
@@ -670,7 +634,6 @@ class wxScrolledWindowPtr(wxPanelPtr):
         return val
     def GetTargetWindow(self, *_args, **_kwargs):
         val = apply(windowsc.wxScrolledWindow_GetTargetWindow,(self,) + _args, _kwargs)
-        if val: val = wxWindowPtr(val) 
         return val
     def GetVirtualSize(self, *_args, **_kwargs):
         val = apply(windowsc.wxScrolledWindow_GetVirtualSize,(self,) + _args, _kwargs)
@@ -696,25 +659,40 @@ class wxScrolledWindowPtr(wxPanelPtr):
     def GetViewStart(self, *_args, **_kwargs):
         val = apply(windowsc.wxScrolledWindow_GetViewStart,(self,) + _args, _kwargs)
         return val
-    def ViewStart(self, *_args, **_kwargs):
-        val = apply(windowsc.wxScrolledWindow_ViewStart,(self,) + _args, _kwargs)
-        return val
     def CalcScrolledPosition(self, *_args, **_kwargs):
         val = apply(windowsc.wxScrolledWindow_CalcScrolledPosition,(self,) + _args, _kwargs)
         return val
     def CalcUnscrolledPosition(self, *_args, **_kwargs):
         val = apply(windowsc.wxScrolledWindow_CalcUnscrolledPosition,(self,) + _args, _kwargs)
         return val
+    def SetScale(self, *_args, **_kwargs):
+        val = apply(windowsc.wxScrolledWindow_SetScale,(self,) + _args, _kwargs)
+        return val
+    def GetScaleX(self, *_args, **_kwargs):
+        val = apply(windowsc.wxScrolledWindow_GetScaleX,(self,) + _args, _kwargs)
+        return val
+    def GetScaleY(self, *_args, **_kwargs):
+        val = apply(windowsc.wxScrolledWindow_GetScaleY,(self,) + _args, _kwargs)
+        return val
+    def AdjustScrollbars(self, *_args, **_kwargs):
+        val = apply(windowsc.wxScrolledWindow_AdjustScrollbars,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxScrolledWindow instance at %s>" % (self.this,)
+    ViewStart = GetViewStart
 class wxScrolledWindow(wxScrolledWindowPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(windowsc.new_wxScrolledWindow,_args,_kwargs)
         self.thisown = 1
-        #wx._StdWindowCallbacks(self)
-        #wx._StdOnScrollCallbacks(self)
+        self._setOORInfo(self)
+
 
 
+def wxPreScrolledWindow(*_args,**_kwargs):
+    val = wxScrolledWindowPtr(apply(windowsc.new_wxPreScrolledWindow,_args,_kwargs))
+    val.thisown = 1
+    val._setOORInfo(val)
+    return val
 
 
 class wxMenuPtr(wxEvtHandlerPtr):
@@ -753,7 +731,6 @@ class wxMenuPtr(wxEvtHandlerPtr):
         return val
     def FindItemById(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenu_FindItemById,(self,) + _args, _kwargs)
-        if val: val = wxMenuItemPtr(val) 
         return val
     def GetTitle(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenu_GetTitle,(self,) + _args, _kwargs)
@@ -787,11 +764,9 @@ class wxMenuPtr(wxEvtHandlerPtr):
         return val
     def Remove(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenu_Remove,(self,) + _args, _kwargs)
-        if val: val = wxMenuItemPtr(val) 
         return val
     def RemoveItem(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenu_RemoveItem,(self,) + _args, _kwargs)
-        if val: val = wxMenuItemPtr(val) 
         return val
     def Destroy(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenu_Destroy,(self,) + _args, _kwargs)
@@ -813,14 +788,12 @@ class wxMenuPtr(wxEvtHandlerPtr):
         return val
     def GetEventHandler(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenu_GetEventHandler,(self,) + _args, _kwargs)
-        if val: val = wxEvtHandlerPtr(val) 
         return val
     def SetInvokingWindow(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenu_SetInvokingWindow,(self,) + _args, _kwargs)
         return val
     def GetInvokingWindow(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenu_GetInvokingWindow,(self,) + _args, _kwargs)
-        if val: val = wxWindowPtr(val) 
         return val
     def GetStyle(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenu_GetStyle,(self,) + _args, _kwargs)
@@ -833,7 +806,6 @@ class wxMenuPtr(wxEvtHandlerPtr):
         return val
     def GetParent(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenu_GetParent,(self,) + _args, _kwargs)
-        if val: val = wxMenuPtr(val) 
         return val
     def __repr__(self):
         return "<C wxMenu instance at %s>" % (self.this,)
@@ -841,6 +813,7 @@ class wxMenu(wxMenuPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(windowsc.new_wxMenu,_args,_kwargs)
         self.thisown = 1
+        self._setOORInfo(self)
 
 
 
@@ -860,15 +833,12 @@ class wxMenuBarPtr(wxWindowPtr):
         return val
     def GetMenu(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuBar_GetMenu,(self,) + _args, _kwargs)
-        if val: val = wxMenuPtr(val) 
         return val
     def Replace(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuBar_Replace,(self,) + _args, _kwargs)
-        if val: val = wxMenuPtr(val) 
         return val
     def Remove(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuBar_Remove,(self,) + _args, _kwargs)
-        if val: val = wxMenuPtr(val) 
         return val
     def EnableTop(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuBar_EnableTop,(self,) + _args, _kwargs)
@@ -879,12 +849,14 @@ class wxMenuBarPtr(wxWindowPtr):
     def GetLabelTop(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuBar_GetLabelTop,(self,) + _args, _kwargs)
         return val
+    def FindMenu(self, *_args, **_kwargs):
+        val = apply(windowsc.wxMenuBar_FindMenu,(self,) + _args, _kwargs)
+        return val
     def FindMenuItem(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuBar_FindMenuItem,(self,) + _args, _kwargs)
         return val
     def FindItemById(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuBar_FindItemById,(self,) + _args, _kwargs)
-        if val: val = wxMenuItemPtr(val) 
         return val
     def Enable(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuBar_Enable,(self,) + _args, _kwargs)
@@ -916,17 +888,17 @@ class wxMenuBar(wxMenuBarPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(windowsc.new_wxMenuBar,_args,_kwargs)
         self.thisown = 1
+        self._setOORInfo(self)
 
 
 
 
-class wxMenuItemPtr :
+class wxMenuItemPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
     def GetMenu(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_GetMenu,(self,) + _args, _kwargs)
-        if val: val = wxMenuPtr(val) 
         return val
     def SetId(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_SetId,(self,) + _args, _kwargs)
@@ -960,7 +932,6 @@ class wxMenuItemPtr :
         return val
     def GetSubMenu(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_GetSubMenu,(self,) + _args, _kwargs)
-        if val: val = wxMenuPtr(val) 
         return val
     def Enable(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_Enable,(self,) + _args, _kwargs)
@@ -995,21 +966,21 @@ class wxMenuItemPtr :
         return val
     def GetFont(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_GetFont,(self,) + _args, _kwargs)
-        if val: val = wxFontPtr(val) 
+        if val: val = wxFontPtr(val) ; val.thisown = 1
         return val
     def SetTextColour(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_SetTextColour,(self,) + _args, _kwargs)
         return val
     def GetTextColour(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_GetTextColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
+        if val: val = wxColourPtr(val) ; val.thisown = 1
         return val
     def SetBackgroundColour(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_SetBackgroundColour,(self,) + _args, _kwargs)
         return val
     def GetBackgroundColour(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_GetBackgroundColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
+        if val: val = wxColourPtr(val) ; val.thisown = 1
         return val
     def SetBitmaps(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_SetBitmaps,(self,) + _args, _kwargs)
@@ -1019,7 +990,7 @@ class wxMenuItemPtr :
         return val
     def GetBitmap(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_GetBitmap,(self,) + _args, _kwargs)
-        if val: val = wxBitmapPtr(val) 
+        if val: val = wxBitmapPtr(val) ; val.thisown = 1
         return val
     def SetMarginWidth(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_SetMarginWidth,(self,) + _args, _kwargs)
@@ -1047,18 +1018,16 @@ class wxMenuItem(wxMenuItemPtr):
 
 #-------------- FUNCTION WRAPPERS ------------------
 
+def wxWindow_FromHWND(*_args, **_kwargs):
+    val = apply(windowsc.wxWindow_FromHWND,_args,_kwargs)
+    return val
+
 wxValidator_IsSilent = windowsc.wxValidator_IsSilent
 
 wxValidator_SetBellOnError = windowsc.wxValidator_SetBellOnError
 
 def wxWindow_FindFocus(*_args, **_kwargs):
     val = apply(windowsc.wxWindow_FindFocus,_args,_kwargs)
-    if val: val = wxWindowPtr(val)
-    return val
-
-def wxWindow_FromHWND(*_args, **_kwargs):
-    val = apply(windowsc.wxWindow_FromHWND,_args,_kwargs)
-    if val: val = wxWindowPtr(val)
     return val
 
 wxWindow_NewControlId = windowsc.wxWindow_NewControlId