home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pyth_os2.zip / python-1.0.2 / Lib / stdwin / BoxParent.py < prev    next >
Text File  |  1993-01-04  |  1KB  |  41 lines

  1. from TransParent import TransParent
  2.  
  3. class BoxParent(TransParent):
  4.     #
  5.     def create(self, parent, (dh, dv)):
  6.         self = TransParent.create(self, parent)
  7.         self.dh = dh
  8.         self.dv = dv
  9.         return self
  10.     #
  11.     def getminsize(self, m, (width, height)):
  12.         width = max(0, width - 2*self.dh)
  13.         height = max(0, height - 2*self.dv)
  14.         width, height = self.child.getminsize(m, (width, height))
  15.         return width + 2*self.dh, height + 2*self.dv
  16.     #
  17.     def setbounds(self, bounds):
  18.         (left, top), (right, bottom) = bounds
  19.         self.bounds = bounds
  20.         left = min(right, left + self.dh)
  21.         top = min(bottom, top + self.dv)
  22.         right = max(left, right - self.dh)
  23.         bottom = max(top, bottom - self.dv)
  24.         self.innerbounds = (left, top), (right, bottom)
  25.         self.child.setbounds(self.innerbounds)
  26.     #
  27.     def getbounds(self):
  28.         return self.bounds
  29.     #
  30.     def draw(self, d, area):
  31.         (left, top), (right, bottom) = self.bounds
  32.         left = left + 1
  33.         top = top + 1
  34.         right = right - 1
  35.         bottom = bottom - 1
  36.         d.box((left, top), (right, bottom))
  37.         TransParent.draw(self, d, area) # XXX clip to innerbounds?
  38.     #
  39.     # XXX should scroll clip to innerbounds???
  40.     # XXX currently the only user restricts itself to child's bounds
  41.