Implemented the first phase of OOR (Original Object Return). See the
text in the demo for more details of what this means, but in a nutshell methods such as wxWindow.GetParent or FindWindowById will now return a shadow object of the proper type if it can. By "proper type" I mean that if the wxWindow pointer returned from FindWindowById really points to a wxButton then the Python object constructed will be of a wxButtonPtr class instead of wxWindowPtr as before. This should reduce or eliminiate the need for wxPyTypeCast. (Woo Hoo!) The objects returned are still not the original Python object, but that is the next step. (Although it will probably only work on Python 2.1 and beyond because it will use weak references.) A few other minor tweaks and fixes and additions for things found while doing the OOR stuff. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1,5 +1,24 @@
|
||||
# This file was created automatically by SWIG.
|
||||
import miscc
|
||||
class wxObjectPtr :
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
def GetClassName(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxObject_GetClassName,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Destroy(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxObject_Destroy,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def __repr__(self):
|
||||
return "<C wxObject instance at %s>" % (self.this,)
|
||||
class wxObject(wxObjectPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
|
||||
|
||||
|
||||
|
||||
class wxSizePtr :
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
@@ -31,6 +50,9 @@ class wxSizePtr :
|
||||
def asTuple(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxSize_asTuple,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def __cmp__(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxSize___cmp__,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def __setattr__(self,name,value):
|
||||
if name == "x" :
|
||||
miscc.wxSize_x_set(self,value)
|
||||
@@ -353,7 +375,7 @@ class wxRect(wxRectPtr):
|
||||
|
||||
|
||||
|
||||
class wxIndividualLayoutConstraintPtr :
|
||||
class wxIndividualLayoutConstraintPtr(wxObjectPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
@@ -396,7 +418,7 @@ class wxIndividualLayoutConstraint(wxIndividualLayoutConstraintPtr):
|
||||
|
||||
|
||||
|
||||
class wxLayoutConstraintsPtr :
|
||||
class wxLayoutConstraintsPtr(wxObjectPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
@@ -454,129 +476,6 @@ class wxLayoutConstraints(wxLayoutConstraintsPtr):
|
||||
|
||||
|
||||
|
||||
class wxRegionPtr :
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
def __del__(self,miscc=miscc):
|
||||
if self.thisown == 1 :
|
||||
miscc.delete_wxRegion(self)
|
||||
def Clear(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_Clear,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Contains(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_Contains,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def ContainsPoint(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_ContainsPoint,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def ContainsRect(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_ContainsRect,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def ContainsRectDim(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_ContainsRectDim,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetBox(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_GetBox,(self,) + _args, _kwargs)
|
||||
if val: val = wxRectPtr(val) ; val.thisown = 1
|
||||
return val
|
||||
def Intersect(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_Intersect,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def IntersectRect(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_IntersectRect,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def IntersectRegion(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_IntersectRegion,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def IsEmpty(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_IsEmpty,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Union(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_Union,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def UnionRect(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_UnionRect,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def UnionRegion(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_UnionRegion,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Subtract(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_Subtract,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def SubtractRect(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_SubtractRect,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def SubtractRegion(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_SubtractRegion,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Xor(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_Xor,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def XorRect(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_XorRect,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def XorRegion(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegion_XorRegion,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def __repr__(self):
|
||||
return "<C wxRegion instance at %s>" % (self.this,)
|
||||
class wxRegion(wxRegionPtr):
|
||||
def __init__(self,*_args,**_kwargs):
|
||||
self.this = apply(miscc.new_wxRegion,_args,_kwargs)
|
||||
self.thisown = 1
|
||||
|
||||
|
||||
|
||||
|
||||
class wxRegionIteratorPtr :
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
def __del__(self,miscc=miscc):
|
||||
if self.thisown == 1 :
|
||||
miscc.delete_wxRegionIterator(self)
|
||||
def GetX(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegionIterator_GetX,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetY(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegionIterator_GetY,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetW(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegionIterator_GetW,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetWidth(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegionIterator_GetWidth,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetH(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegionIterator_GetH,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetHeight(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegionIterator_GetHeight,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetRect(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegionIterator_GetRect,(self,) + _args, _kwargs)
|
||||
if val: val = wxRectPtr(val) ; val.thisown = 1
|
||||
return val
|
||||
def HaveRects(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegionIterator_HaveRects,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Reset(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegionIterator_Reset,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Next(self, *_args, **_kwargs):
|
||||
val = apply(miscc.wxRegionIterator_Next,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def __repr__(self):
|
||||
return "<C wxRegionIterator instance at %s>" % (self.this,)
|
||||
class wxRegionIterator(wxRegionIteratorPtr):
|
||||
def __init__(self,*_args,**_kwargs):
|
||||
self.this = apply(miscc.new_wxRegionIterator,_args,_kwargs)
|
||||
self.thisown = 1
|
||||
|
||||
|
||||
|
||||
|
||||
class wxAcceleratorEntryPtr :
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
@@ -606,7 +505,7 @@ class wxAcceleratorEntry(wxAcceleratorEntryPtr):
|
||||
|
||||
|
||||
|
||||
class wxAcceleratorTablePtr :
|
||||
class wxAcceleratorTablePtr(wxObjectPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
@@ -623,7 +522,7 @@ class wxAcceleratorTable(wxAcceleratorTablePtr):
|
||||
|
||||
|
||||
|
||||
class wxBusyInfoPtr :
|
||||
class wxBusyInfoPtr(wxObjectPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
@@ -730,8 +629,5 @@ wxLeftOf = miscc.wxLeftOf
|
||||
wxRightOf = miscc.wxRightOf
|
||||
wxSameAs = miscc.wxSameAs
|
||||
wxAbsolute = miscc.wxAbsolute
|
||||
wxOutRegion = miscc.wxOutRegion
|
||||
wxPartRegion = miscc.wxPartRegion
|
||||
wxInRegion = miscc.wxInRegion
|
||||
cvar = miscc.cvar
|
||||
wxNullAcceleratorTable = wxAcceleratorTablePtr(miscc.cvar.wxNullAcceleratorTable)
|
||||
|
Reference in New Issue
Block a user