diff options
author | Guido van Rossum <guido@python.org> | 1990-11-05 19:44:36 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1990-11-05 19:44:36 (GMT) |
commit | 2e4496710494391b12a8553f652494c035bae340 (patch) | |
tree | 45d17cfebddc961fb1316c7a4514d10e62e05e1d /Lib/lib-stdwin/Abstract.py | |
parent | 0c89ec778d684a13a656b6b3462ae7dfd2837148 (diff) | |
download | cpython-2e4496710494391b12a8553f652494c035bae340.zip cpython-2e4496710494391b12a8553f652494c035bae340.tar.gz cpython-2e4496710494391b12a8553f652494c035bae340.tar.bz2 |
Initial revision
Diffstat (limited to 'Lib/lib-stdwin/Abstract.py')
-rw-r--r-- | Lib/lib-stdwin/Abstract.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/Lib/lib-stdwin/Abstract.py b/Lib/lib-stdwin/Abstract.py new file mode 100644 index 0000000..d601527 --- /dev/null +++ b/Lib/lib-stdwin/Abstract.py @@ -0,0 +1,53 @@ +# Abstract classes for parents and children. +# Do not use as base class -- this is for documentation only. +# Note that the tree must be built top down. + +class AbstractParent(): + # + # Upcalls from child to parent + # + def addchild(self, child): unimpl() + def delchild(self, child): unimpl() + # + def need_mouse(self, child): unimpl() + def no_mouse(self, child): unimpl() + # + def need_timer(self, child): unimpl() + def no_timer(self, child): unimpl() + # + # XXX need_kbd, no_kbd; focus??? + # + def begindrawing(self): return unimpl() + def beginmeasuring(self): return unimpl() + # + def change(self, area): unimpl() + def scroll(self, (area, (dh, dv))): unimpl() + def settimer(self, itimer): unimpl() + +class AbstractChild(): + # + # Downcalls from parent to child + # + def destroy(self): unimpl() + # + def minsize(self, m): return unimpl() + def getbounds(self): return unimpl() + def setbounds(self, bounds): unimpl() + def draw(self, (d, area)): unimpl() + # + # Downcalls only made after certain upcalls + # + def mouse_down(self, detail): unimpl() + def mouse_move(self, detail): unimpl() + def mouse_up(self, detail): unimpl() + # + def timer(self): unimpl() + +# A "Split" is a child that manages one or more children. +# (This terminology is due to DEC SRC, except for CSplits.) +# A child of a split may be another split, a button, a slider, etc. +# Certain upcalls and downcalls can be handled transparently, but +# for others (e.g., all geometry related calls) this is not possible. + +class AbstractSplit() = AbstractChild(), AbstractParent(): + pass |