diff options
author | Guido van Rossum <guido@python.org> | 1991-08-16 13:02:04 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1991-08-16 13:02:04 (GMT) |
commit | e6afe6a46840dde13b1f9d7847a289fd18be723a (patch) | |
tree | 74cdb0df3f0e018b9ab2752b3609e19c22a5ff4c /Lib/lib-stdwin/BoxParent.py | |
parent | 8cf301e757a75d30b9e9fdde0452c66f4d0cb6db (diff) | |
download | cpython-e6afe6a46840dde13b1f9d7847a289fd18be723a.zip cpython-e6afe6a46840dde13b1f9d7847a289fd18be723a.tar.gz cpython-e6afe6a46840dde13b1f9d7847a289fd18be723a.tar.bz2 |
Initial revision
Diffstat (limited to 'Lib/lib-stdwin/BoxParent.py')
-rw-r--r-- | Lib/lib-stdwin/BoxParent.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Lib/lib-stdwin/BoxParent.py b/Lib/lib-stdwin/BoxParent.py new file mode 100644 index 0000000..7a0723a --- /dev/null +++ b/Lib/lib-stdwin/BoxParent.py @@ -0,0 +1,41 @@ +from TransParent import TransParent + +class BoxParent() = TransParent(): + # + def create(self, (parent, (dh, dv))): + self = TransParent.create(self, parent) + self.dh = dh + self.dv = dv + return self + # + def getminsize(self, (m, (width, height))): + width = max(0, width - 2*self.dh) + height = max(0, height - 2*self.dv) + width, height = self.child.getminsize(m, (width, height)) + return width + 2*self.dh, height + 2*self.dv + # + def setbounds(self, bounds): + (left, top), (right, bottom) = bounds + self.bounds = bounds + left = min(right, left + self.dh) + top = min(bottom, top + self.dv) + right = max(left, right - self.dh) + bottom = max(top, bottom - self.dv) + self.innerbounds = (left, top), (right, bottom) + self.child.setbounds(self.innerbounds) + # + def getbounds(self): + return self.bounds + # + def draw(self, args): + d, area = args + (left, top), (right, bottom) = self.bounds + left = left + 1 + top = top + 1 + right = right - 1 + bottom = bottom - 1 + d.box((left, top), (right, bottom)) + TransParent.draw(self, args) # XXX clip to innerbounds? + # + # XXX should scroll clip to innerbounds??? + # XXX currently the only user restricts itself to child's bounds |