X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d14a1e28567de23c586bc80017073d0c39f8d18f..19a4dcb8cf5f232533404ffb25f3cc33d82c3521:/wxPython/wx/lib/anchors.py diff --git a/wxPython/wx/lib/anchors.py b/wxPython/wx/lib/anchors.py index c2e52c433d..af7cd8abfe 100644 --- a/wxPython/wx/lib/anchors.py +++ b/wxPython/wx/lib/anchors.py @@ -10,12 +10,16 @@ # Copyright: (c) 2000 by Total Control Software # Licence: wxWindows license #---------------------------------------------------------------------- +# 11/30/2003 - Jeff Grimmett (grimmtooth@softhome.net) +# +# o Updated for wx namespace +# o Tested with updated demo +# -from wxPython.wx import wxLayoutConstraints, wxTop, wxLeft, wxBottom, wxRight, \ - wxHeight, wxWidth +import wx -class LayoutAnchors(wxLayoutConstraints): - """ A class that implements Delphi's Anchors with wxLayoutConstraints. +class LayoutAnchors(wx.LayoutConstraints): + """ A class that implements Delphi's Anchors with wx.LayoutConstraints. Anchored sides maintain the distance from the edge of the control to the same edge of the parent. @@ -56,23 +60,23 @@ class LayoutAnchors(wxLayoutConstraints): +-------------------+ * = anchored edge """ - def __init__(self, control, left = 1, top = 1, right = 0, bottom = 0): - wxLayoutConstraints.__init__(self) + def __init__(self, control, left=1, top=1, right=0, bottom=0): + wx.LayoutConstraints.__init__(self) parent = control.GetParent() if not parent: return pPos, pSize = parent.GetPosition(), parent.GetClientSize() cPos, cSize = control.GetPosition(), control.GetSize() - self.setConstraintSides(self.left, wxLeft, left, - self.right, wxRight, right, - self.width, wxWidth, self.centreX, - cPos.x, cSize.x, pSize.x, parent) + self.setConstraintSides(self.left, wx.Left, left, + self.right, wx.Right, right, + self.width, wx.Width, self.centreX, + cPos.x, cSize.width, pSize.width, parent) - self.setConstraintSides(self.top, wxTop, top, - self.bottom, wxBottom, bottom, - self.height, wxHeight, self.centreY, - cPos.y, cSize.y, pSize.y, parent) + self.setConstraintSides(self.top, wx.Top, top, + self.bottom, wx.Bottom, bottom, + self.height, wx.Height, self.centreY, + cPos.y, cSize.height, pSize.height, parent) def setConstraintSides(self, side1, side1Edge, side1Anchor, side2, side2Edge, side2Anchor, @@ -80,12 +84,16 @@ class LayoutAnchors(wxLayoutConstraints): cPos, cSize, pSize, parent): if side2Anchor: side2.SameAs(parent, side2Edge, pSize - (cPos + cSize)) + if side1Anchor: side1.SameAs(parent, side1Edge, cPos) + if not side2Anchor: size.AsIs() else: size.AsIs() + if not side2Anchor: centre.PercentOf(parent, sizeEdge, int(((cPos + cSize / 2.0) / pSize)*100)) +