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@10197 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -43,7 +43,7 @@ from utils import *
|
||||
|
||||
from oglbasic import *
|
||||
import wx
|
||||
class wxPseudoMetaFilePtr :
|
||||
class wxPseudoMetaFilePtr(wxObjectPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
@@ -570,7 +570,6 @@ class wxPyDrawnShapePtr(wxPyRectangleShapePtr):
|
||||
return val
|
||||
def GetMetaFile(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyDrawnShape_GetMetaFile,(self,) + _args, _kwargs)
|
||||
if val: val = wxPseudoMetaFilePtr(val)
|
||||
return val
|
||||
def GetRotation(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyDrawnShape_GetRotation,(self,) + _args, _kwargs)
|
||||
@@ -709,7 +708,7 @@ class wxPyDrawnShape(wxPyDrawnShapePtr):
|
||||
|
||||
|
||||
|
||||
class wxOGLConstraintPtr :
|
||||
class wxOGLConstraintPtr(wxObjectPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
@@ -744,15 +743,12 @@ class wxPyCompositeShapePtr(wxPyRectangleShapePtr):
|
||||
return val
|
||||
def AddConstraint(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyCompositeShape_AddConstraint,(self,) + _args, _kwargs)
|
||||
if val: val = wxOGLConstraintPtr(val)
|
||||
return val
|
||||
def AddConstrainedShapes(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyCompositeShape_AddConstrainedShapes,(self,) + _args, _kwargs)
|
||||
if val: val = wxOGLConstraintPtr(val)
|
||||
return val
|
||||
def AddSimpleConstraint(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyCompositeShape_AddSimpleConstraint,(self,) + _args, _kwargs)
|
||||
if val: val = wxOGLConstraintPtr(val)
|
||||
return val
|
||||
def CalculateSize(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyCompositeShape_CalculateSize,(self,) + _args, _kwargs)
|
||||
@@ -768,7 +764,6 @@ class wxPyCompositeShapePtr(wxPyRectangleShapePtr):
|
||||
return val
|
||||
def FindContainerImage(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyCompositeShape_FindContainerImage,(self,) + _args, _kwargs)
|
||||
if val: val = wxPyShapePtr(val)
|
||||
return val
|
||||
def GetConstraints(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyCompositeShape_GetConstraints,(self,) + _args, _kwargs)
|
||||
@@ -1021,14 +1016,12 @@ class wxPyDivisionShapePtr(wxPyCompositeShapePtr):
|
||||
return val
|
||||
def GetBottomSide(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyDivisionShape_GetBottomSide,(self,) + _args, _kwargs)
|
||||
if val: val = wxPyDivisionShapePtr(val)
|
||||
return val
|
||||
def GetHandleSide(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyDivisionShape_GetHandleSide,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetLeftSide(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyDivisionShape_GetLeftSide,(self,) + _args, _kwargs)
|
||||
if val: val = wxPyDivisionShapePtr(val)
|
||||
return val
|
||||
def GetLeftSideColour(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyDivisionShape_GetLeftSideColour,(self,) + _args, _kwargs)
|
||||
@@ -1039,11 +1032,9 @@ class wxPyDivisionShapePtr(wxPyCompositeShapePtr):
|
||||
return val
|
||||
def GetRightSide(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyDivisionShape_GetRightSide,(self,) + _args, _kwargs)
|
||||
if val: val = wxPyDivisionShapePtr(val)
|
||||
return val
|
||||
def GetTopSide(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyDivisionShape_GetTopSide,(self,) + _args, _kwargs)
|
||||
if val: val = wxPyDivisionShapePtr(val)
|
||||
return val
|
||||
def GetTopSidePen(self, *_args, **_kwargs):
|
||||
val = apply(oglshapesc.wxPyDivisionShape_GetTopSidePen,(self,) + _args, _kwargs)
|
||||
|
Reference in New Issue
Block a user