X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec873c943d71f0d5f13e3398557071448cda6c23..a4027e74873007e3430af3bd77019bcab76f6c04:/wxPython/wx/lib/anchors.py diff --git a/wxPython/wx/lib/anchors.py b/wxPython/wx/lib/anchors.py deleted file mode 100644 index d90eebf67e..0000000000 --- a/wxPython/wx/lib/anchors.py +++ /dev/null @@ -1,104 +0,0 @@ -#---------------------------------------------------------------------- -# Name: wxPython.lib.anchors -# Purpose: A class that provides an easy to use interface over layout -# constraints for anchored layout. -# -# Author: Riaan Booysen -# -# Created: 15-Dec-2000 -# RCS-ID: $Id$ -# 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 -# -""" -`LayoutAnchors` is a class that implements Delphi's Anchors using -`wx.LayoutConstraints`. -""" - -import wx - -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. - - 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:: - - Let's anchor the right and bottom edge of a control and - resize it's parent. - - ctrl.SetConstraints(LayoutAnchors(ctrl, left=0, top=0, right=1, bottom=1)) - - +=========+ +===================+ - | +-----+ | | | - | | * | -> | | - | +--*--+ | | +-----+ | - +---------+ | | * | - | +--*--+ | - +-------------------+ - * = anchored edge - - When anchored on both sides the control will stretch horizontally. - - ctrl.SetConstraints(LayoutAnchors(ctrl, 1, 0, 1, 1)) - - +=========+ +===================+ - | +-----+ | | | - | * * | -> | | - | +--*--+ | | +---------------+ | - +---------+ | * ctrl * | - | +-------*-------+ | - +-------------------+ - * = anchored edge - - """ - 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, 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, 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, - size, sizeEdge, centre, - 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)) -