]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/windows.py
Replaced CopyObject with Clone for wxPython-specific event classes.
[wxWidgets.git] / wxPython / src / msw / windows.py
index 18e98d808411eb8148d4c8248988aa891c9afb75..0a66bdd9aac2448a7d472178483bb295ac94f65e 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,7 +201,6 @@ 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)
@@ -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
@@ -415,6 +413,9 @@ class wxWindowPtr(wxEvtHandlerPtr):
     def SetPosition(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_SetPosition,(self,) + _args, _kwargs)
         return val
+    def SetRect(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_SetRect,(self,) + _args, _kwargs)
+        return val
     def SetSizeHints(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_SetSizeHints,(self,) + _args, _kwargs)
         return val
@@ -430,6 +431,9 @@ class wxWindowPtr(wxEvtHandlerPtr):
     def SetEventHandler(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_SetEventHandler,(self,) + _args, _kwargs)
         return val
+    def SetExtraStyle(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_SetExtraStyle,(self,) + _args, _kwargs)
+        return val
     def SetTitle(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_SetTitle,(self,) + _args, _kwargs)
         return val
@@ -480,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)
@@ -515,123 +516,109 @@ 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 __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 __repr__(self):
-        return "<C wxDialog instance at %s>" % (self.this,)
-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
+    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
@@ -643,7 +630,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)
@@ -669,26 +655,41 @@ 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):
     def __init__(self,this):
@@ -726,7 +727,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)
@@ -760,11 +760,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)
@@ -786,14 +784,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)
@@ -806,7 +802,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,)
@@ -814,6 +809,7 @@ class wxMenu(wxMenuPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(windowsc.new_wxMenu,_args,_kwargs)
         self.thisown = 1
+        self._setOORInfo(self)
 
 
 
@@ -833,15 +829,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)
@@ -852,12 +845,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)
@@ -889,17 +884,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)
@@ -933,7 +928,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)
@@ -963,6 +957,49 @@ class wxMenuItemPtr :
     def SetAccel(self, *_args, **_kwargs):
         val = apply(windowsc.wxMenuItem_SetAccel,(self,) + _args, _kwargs)
         return val
+    def SetFont(self, *_args, **_kwargs):
+        val = apply(windowsc.wxMenuItem_SetFont,(self,) + _args, _kwargs)
+        return val
+    def GetFont(self, *_args, **_kwargs):
+        val = apply(windowsc.wxMenuItem_GetFont,(self,) + _args, _kwargs)
+        if val: val = wxFontPtr(val) 
+        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) ; 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) ; val.thisown = 1
+        return val
+    def SetBitmaps(self, *_args, **_kwargs):
+        val = apply(windowsc.wxMenuItem_SetBitmaps,(self,) + _args, _kwargs)
+        return val
+    def SetBitmap(self, *_args, **_kwargs):
+        val = apply(windowsc.wxMenuItem_SetBitmap,(self,) + _args, _kwargs)
+        return val
+    def GetBitmap(self, *_args, **_kwargs):
+        val = apply(windowsc.wxMenuItem_GetBitmap,(self,) + _args, _kwargs)
+        if val: val = wxBitmapPtr(val) 
+        return val
+    def SetMarginWidth(self, *_args, **_kwargs):
+        val = apply(windowsc.wxMenuItem_SetMarginWidth,(self,) + _args, _kwargs)
+        return val
+    def GetMarginWidth(self, *_args, **_kwargs):
+        val = apply(windowsc.wxMenuItem_GetMarginWidth,(self,) + _args, _kwargs)
+        return val
+    def IsOwnerDrawn(self, *_args, **_kwargs):
+        val = apply(windowsc.wxMenuItem_IsOwnerDrawn,(self,) + _args, _kwargs)
+        return val
+    def ResetOwnerDrawn(self, *_args, **_kwargs):
+        val = apply(windowsc.wxMenuItem_ResetOwnerDrawn,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxMenuItem instance at %s>" % (self.this,)
 class wxMenuItem(wxMenuItemPtr):
@@ -977,18 +1014,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
@@ -997,6 +1032,10 @@ wxWindow_NextControlId = windowsc.wxWindow_NextControlId
 
 wxWindow_PrevControlId = windowsc.wxWindow_PrevControlId
 
+wxMenuItem_GetLabelFromText = windowsc.wxMenuItem_GetLabelFromText
+
+wxMenuItem_GetDefaultMarginWidth = windowsc.wxMenuItem_GetDefaultMarginWidth
+
 
 
 #-------------- VARIABLE WRAPPERS ------------------