]> 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 f9db9758b1c708d742407fe4b8ad4b52c54a9e57..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,14 +54,15 @@ 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,this):
-        self.this = this
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(windowsc.new_wxEvtHandler,_args,_kwargs)
+        self.thisown = 1
 
 
 
@@ -74,27 +73,20 @@ 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)
         return val
     def __repr__(self):
         return "<C wxValidator instance at %s>" % (self.this,)
-    
-    _prop_list_ = {
-        'window' : ('GetWindow', 'SetWindow'),
-    }
-    _prop_list_.update(wxEvtHandler._prop_list_)
-    
 class wxValidator(wxValidatorPtr):
     def __init__(self,*_args,**_kwargs):
         self.this = apply(windowsc.new_wxValidator,_args,_kwargs)
         self.thisown = 1
+        self._setOORInfo(self)
 
 
 
@@ -103,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,)
@@ -115,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)
 
 
 
@@ -124,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
@@ -139,6 +132,15 @@ class wxWindowPtr(wxEvtHandlerPtr):
     def CenterOnParent(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_CenterOnParent,(self,) + _args, _kwargs)
         return val
+    def CentreOnScreen(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_CentreOnScreen,(self,) + _args, _kwargs)
+        return val
+    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
@@ -155,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
@@ -163,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)
@@ -198,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)
@@ -210,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)
@@ -229,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)
@@ -327,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)
@@ -344,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
@@ -363,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
@@ -414,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
@@ -429,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
@@ -479,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)
@@ -514,6 +516,46 @@ 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 method
@@ -523,133 +565,60 @@ class wxWindowPtr(wxEvtHandlerPtr):
         if val: val = wxCaretPtr(val)
         return val
     
-    
-    _prop_list_ = {
-        'size'          : ('GetSize',                  'SetSize'),
-        'enabled'       : ('IsEnabled',                'Enable'),
-        'background'    : ('GetBackgroundColour',      'SetBackgroundColour'),
-        'foreground'    : ('GetForegroundColour',      'SetForegroundColour'),
-        'children'      : ('GetChildren',              None),
-        'charHeight'    : ('GetCharHeight',            None),
-        'charWidth'     : ('GetCharWidth',             None),
-        'clientSize'    : ('GetClientSize',            'SetClientSize'),
-        'font'          : ('GetFont',                  'SetFont'),
-        'grandParent'   : ('GetGrandParent',           None),
-        'handle'        : ('GetHandle',                None),
-        'label'         : ('GetLabel',                 'SetLabel'),
-        'name'          : ('GetName',                  'SetName'),
-        'parent'        : ('GetParent',                None),
-        'position'      : ('GetPosition',              'SetPosition'),
-        'title'         : ('GetTitle',                 'SetTitle'),
-        'style'         : ('GetWindowStyleFlag',       'SetWindowStyleFlag'),
-        'visible'       : ('IsShown',                  'Show'),
-        'toolTip'       : ('GetToolTip',               'SetToolTip'),
-        'sizer'         : ('GetSizer',                 'SetSizer'),
-        'validator'     : ('GetValidator',             'SetValidator'),
-        'dropTarget'    : ('GetDropTarget',            'SetDropTarget'),
-        'caret'         : ('GetCaret',                 'SetCaret'),
-        'autoLayout'    : ('GetAutoLayout',            'SetAutoLayout'),
-        'constraints'   : ('GetConstraints',           'SetConstraints'),
-
-    }
-    _prop_list_.update(wxEvtHandler._prop_list_)
-    
 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
@@ -661,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)
@@ -687,25 +655,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):
@@ -744,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)
@@ -778,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)
@@ -804,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)
@@ -824,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,)
@@ -832,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)
 
 
 
@@ -851,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)
@@ -870,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)
@@ -907,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)
@@ -951,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)
@@ -981,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):
@@ -995,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
@@ -1015,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 ------------------