X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f31297359f62fa8671413c75c769ee952af8901..f11af0933155f94c7de5934738b0407c89e16e3f:/wxPython/wx/lib/ogl/_basic.py diff --git a/wxPython/wx/lib/ogl/_basic.py b/wxPython/wx/lib/ogl/_basic.py index 441862b7d0..5d5f461fce 100644 --- a/wxPython/wx/lib/ogl/_basic.py +++ b/wxPython/wx/lib/ogl/_basic.py @@ -67,9 +67,6 @@ class ShapeEvtHandler(object): self._previousHandler = prev self._handlerShape = shape - def __del__(self): - pass - def SetShape(self, sh): self._handlerShape = sh @@ -232,9 +229,9 @@ class Shape(ShapeEvtHandler): self._canvas = canvas self._xpos = 0.0 self._ypos = 0.0 - self._pen = wx.Pen(wx.BLACK, 1, wx.SOLID) + self._pen = BlackForegroundPen self._brush = wx.WHITE_BRUSH - self._font = wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL) + self._font = NormalFont self._textColour = wx.BLACK self._textColourName = wx.BLACK self._visible = False @@ -276,7 +273,7 @@ class Shape(ShapeEvtHandler): # the region eventually (the duplication is for compatibility) region = ShapeRegion() region.SetName("0") - region.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL)) + region.SetFont(NormalFont) region.SetFormatMode(FORMAT_CENTRE_HORIZ | FORMAT_CENTRE_VERT) region.SetColour("BLACK") self._regions.append(region) @@ -288,9 +285,16 @@ class Shape(ShapeEvtHandler): return str(self.__class__).split(".")[-1][:-2] def Delete(self): + """ + Fully disconnect this shape from parents, children, the + canvas, etc. + """ if self._parent: self._parent.GetChildren().remove(self) + for child in self.GetChildren(): + child.Delete() + self.ClearText() self.ClearRegions() self.ClearAttachments() @@ -304,9 +308,6 @@ class Shape(ShapeEvtHandler): self.GetEventHandler().OnDelete() self._eventHandler = None - def __del__(self): - ShapeEvtHandler.__del__(self) - def Draggable(self): """TRUE if the shape may be dragged by the user.""" return True @@ -1159,7 +1160,7 @@ class Shape(ShapeEvtHandler): """Flash the shape.""" if self.GetCanvas(): dc = wx.ClientDC(self.GetCanvas()) - self.GetCanvas.PrepareDC(dc) + self.GetCanvas().PrepareDC(dc) dc.SetLogicalFunction(OGLRBLF) self.Draw(dc) @@ -2171,7 +2172,7 @@ class Shape(ShapeEvtHandler): dc.SetLogicalFunction(OGLRBLF) bound_x, bound_y = self.GetBoundingBoxMin() - self.GetEventHandler().OnEndSize(bound_x, bound_y) + self.GetEventHandler().OnBeginSize(bound_x, bound_y) # Choose the 'opposite corner' of the object as the stationary # point in case this is non-centring resizing. @@ -3040,7 +3041,7 @@ class ShapeRegion(object): return None if self._penColour=="Invisible": return None - self._actualPenObject = wx.ThePenList.FindOrCreatePen(self._penColour, 1, self._penStyle) + self._actualPenObject = wx.Pen(self._penColour, 1, self._penStyle) return self._actualPenObject def SetText(self, s):