diff options
author | Guido van Rossum <guido@python.org> | 1999-04-22 22:28:42 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1999-04-22 22:28:42 (GMT) |
commit | 70f6d99753f7dc8e70e9b500e0a6e321626814d5 (patch) | |
tree | 976cbfc46877beb452c0641dcddcdfa6b768e875 /Tools/idle | |
parent | 1f3de5d7b99190d3dda48349fa163e65e19153dc (diff) | |
download | cpython-70f6d99753f7dc8e70e9b500e0a6e321626814d5.zip cpython-70f6d99753f7dc8e70e9b500e0a6e321626814d5.tar.gz cpython-70f6d99753f7dc8e70e9b500e0a6e321626814d5.tar.bz2 |
Moved classes OnDemandOutputWindow and PseudoFile here,
from ScriptBinding.py where they are no longer needed.
Diffstat (limited to 'Tools/idle')
-rw-r--r-- | Tools/idle/OutputWindow.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Tools/idle/OutputWindow.py b/Tools/idle/OutputWindow.py index 456c45b..f03aaee 100644 --- a/Tools/idle/OutputWindow.py +++ b/Tools/idle/OutputWindow.py @@ -91,3 +91,47 @@ class OutputWindow(EditorWindow): self.text.bell() return edit.gotoline(lineno) + +# These classes are currently not used but might come in handy + +class OnDemandOutputWindow: + + tagdefs = { + # XXX Should use IdlePrefs.ColorPrefs + "stdout": {"foreground": "blue"}, + "stderr": {"foreground": "#007700"}, + } + + def __init__(self, flist): + self.flist = flist + self.owin = None + + def write(self, s, tags, mark): + if not self.owin: + self.setup() + self.owin.write(s, tags, mark) + + def setup(self): + self.owin = owin = OutputWindow(self.flist) + text = owin.text + for tag, cnf in self.tagdefs.items(): + if cnf: + apply(text.tag_configure, (tag,), cnf) + text.tag_raise('sel') + self.write = self.owin.write + +class PseudoFile: + + def __init__(self, owin, tags, mark="end"): + self.owin = owin + self.tags = tags + self.mark = mark + + def write(self, s): + self.owin.write(s, self.tags, self.mark) + + def writelines(self, l): + map(self.write, l) + + def flush(self): + pass |