From: Guido van Rossum Date: Thu, 22 Apr 1999 22:28:42 +0000 (+0000) Subject: Moved classes OnDemandOutputWindow and PseudoFile here, X-Git-Tag: v1.6a1~1499 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=70f6d99753f7dc8e70e9b500e0a6e321626814d5;p=thirdparty%2FPython%2Fcpython.git Moved classes OnDemandOutputWindow and PseudoFile here, from ScriptBinding.py where they are no longer needed. --- diff --git a/Tools/idle/OutputWindow.py b/Tools/idle/OutputWindow.py index 456c45bd9365..f03aaee15ff5 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