Mercurial > cpython-lru_cache-weakref
diff Lib/stdwin/Split.py @ 190:b50fa6d58786 legacy-trunk
Added keyboard, alternate drawing, realize and getwindow interfaces.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Sun, 07 Apr 1991 13:33:39 +0000 |
| parents | 455d65a11b13 |
| children | 91a2f4745852 |
line wrap: on
line diff
--- a/Lib/stdwin/Split.py Sun Apr 07 13:33:03 1991 +0000 +++ b/Lib/stdwin/Split.py Sun Apr 07 13:33:39 1991 +0000 @@ -18,7 +18,9 @@ self.parent = parent self.children = [] self.mouse_interest = [] + self.keybd_interest = [] self.timer_interest = [] + self.altdraw_interest = [] self.mouse_focus = 0 return self # @@ -30,18 +32,28 @@ child.destroy() del self.children[:] del self.mouse_interest[:] + del self.keybd_interest[:] del self.timer_interest[:] + del self.altdraw_interest[:] self.mouse_focus = None # - def minsize(self, m): return unimpl() + def minsize(self, m): return unimpl() # Should ask children def getbounds(self): return unimpl() - def setbounds(self, bounds): unimpl() + def setbounds(self, bounds): unimpl() # Should tell children + # + def realize(self): + for child in self.children: + child.realize() # def draw(self, d_detail): # (Could avoid calls to children outside the area) for child in self.children: child.draw(d_detail) # + def altdraw(self, detail): + for child in self.altdraw_interest: + child.altdraw(detail) + # # Downcalls only made after certain upcalls # def mouse_down(self, detail): @@ -60,6 +72,10 @@ self.mouse_focus.mouse_up(detail) self.mouse_focus = 0 # + def keybd(self, type_detail): + for child in self.keybd_interest: + child.keybd(type_detail) + # def timer(self): for child in self.timer_interest: child.timer() @@ -76,8 +92,12 @@ remove(child, self.children) if child in self.mouse_interest: remove(child, self.mouse_interest) + if child in self.keybd_interest: + remove(child, self.keybd_interest) if child in self.timer_interest: remove(child, self.timer_interest) + if child in self.altdraw_interest: + remove(child, self.altdraw_interest) if child = self.mouse_focus: self.mouse_focus = 0 # @@ -91,6 +111,16 @@ if not self.mouse_interest: self.parent.no_mouse(self) # + def need_keybd(self, child): + if child not in self.keybd_interest: + self.keybd_interest.append(child) + self.parent.need_keybd(self) + def no_keybd(self, child): + if child in self.keybd_interest: + remove(child, self.keybd_interest) + if not self.keybd_interest: + self.parent.no_keybd(self) + # def need_timer(self, child): if child not in self.timer_interest: self.timer_interest.append(child) @@ -101,12 +131,24 @@ if not self.timer_interest: self.parent.no_timer(self) # + def need_altdraw(self, child): + if child not in self.altdraw_interest: + self.altdraw_interest.append(child) + self.parent.need_altdraw(self) + def no_altdraw(self, child): + if child in self.altdraw_interest: + remove(child, self.altdraw_interest) + if not self.altdraw_interest: + self.parent.no_altdraw(self) + # # The rest are transparent: # def begindrawing(self): return self.parent.begindrawing() def beginmeasuring(self): return self.parent.beginmeasuring() + def getwindow(self): + return self.parent.getwindow() # def change(self, area): self.parent.change(area)
