]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/lib/anchors.py
SetSizeHints fix
[wxWidgets.git] / wxPython / wx / lib / anchors.py
index c2e52c433df5daac1d354300873c6a112f919061..88909ba7412732123b7c07e21e80a560963b7256 100644 (file)
 # 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.
-        When neither side is selected, the control keeps the same
-        relative position to both sides.
+    Anchored sides maintain the distance from the edge of the control
+    to the same edge of the parent.  When neither side is selected,
+    the control keeps the same relative position to both sides.
 
-        The current position and size of the control and it's parent
-        is used when setting up the constraints. To change the size or
-        position of an already anchored control, set the constraints to
-        None, reposition or resize and reapply the anchors.
+    The current position and size of the control and it's parent is
+    used when setting up the constraints. To change the size or
+    position of an already anchored control, set the constraints to
+    None, reposition or resize and reapply the anchors.
 
-        Examples:
+    Examples::
 
         Let's anchor the right and bottom edge of a control and
         resize it's parent.
@@ -55,24 +59,25 @@ 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 +85,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))
+