diff options
Diffstat (limited to 'lib/HVSplit.py')
| -rw-r--r-- | lib/HVSplit.py | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/lib/HVSplit.py b/lib/HVSplit.py index d52af8e..36192a7 100644 --- a/lib/HVSplit.py +++ b/lib/HVSplit.py @@ -8,49 +8,49 @@ from Split import Split class HVSplit() = Split(): - # - def create(self, (parent, hv)): - # hv is 0 or 1 for HSplit or VSplit - self = Split.create(self, parent) - self.hv = hv - return self - # - def minsize(self, m): - hv, vh = self.hv, 1 - self.hv - size = [0, 0] - for c in self.children: - csize = c.minsize(m) - if csize[vh] > size[vh]: size[vh] = csize[vh] - size[hv] = size[hv] + csize[hv] - return size[0], size[1] - # - def getbounds(self): - return self.bounds - # - def setbounds(self, bounds): - self.bounds = bounds - hv, vh = self.hv, 1 - self.hv - mf = self.parent.beginmeasuring - size = self.minsize(mf()) - # XXX not yet used! Later for stretching - maxsize_hv = bounds[1][hv] - bounds[0][hv] - origin = [self.bounds[0][0], self.bounds[0][1]] - for c in self.children: - size = c.minsize(mf()) - corner = [0, 0] - corner[vh] = bounds[1][vh] - corner[hv] = origin[hv] + size[hv] - c.setbounds((origin[0], origin[1]), \ - (corner[0], corner[1])) - origin[hv] = corner[hv] - # XXX stretch - # XXX too-small - # + # + def create(self, (parent, hv)): + # hv is 0 or 1 for HSplit or VSplit + self = Split.create(self, parent) + self.hv = hv + return self + # + def minsize(self, m): + hv, vh = self.hv, 1 - self.hv + size = [0, 0] + for c in self.children: + csize = c.minsize(m) + if csize[vh] > size[vh]: size[vh] = csize[vh] + size[hv] = size[hv] + csize[hv] + return size[0], size[1] + # + def getbounds(self): + return self.bounds + # + def setbounds(self, bounds): + self.bounds = bounds + hv, vh = self.hv, 1 - self.hv + mf = self.parent.beginmeasuring + size = self.minsize(mf()) + # XXX not yet used! Later for stretching + maxsize_hv = bounds[1][hv] - bounds[0][hv] + origin = [self.bounds[0][0], self.bounds[0][1]] + for c in self.children: + size = c.minsize(mf()) + corner = [0, 0] + corner[vh] = bounds[1][vh] + corner[hv] = origin[hv] + size[hv] + c.setbounds((origin[0], origin[1]), \ + (corner[0], corner[1])) + origin[hv] = corner[hv] + # XXX stretch + # XXX too-small + # class HSplit() = HVSplit(): - def create(self, parent): - return HVSplit.create(self, (parent, 0)) + def create(self, parent): + return HVSplit.create(self, (parent, 0)) class VSplit() = HVSplit(): - def create(self, parent): - return HVSplit.create(self, (parent, 1)) + def create(self, parent): + return HVSplit.create(self, (parent, 1)) |
