From f7c1e5a6a316699ca387663e743022df88c435b2 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Sat, 31 Jan 1998 23:39:28 +0000 Subject: Moved toplevel widget to PyncheWidget.py --- Tools/pynche/Main.py | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 1 deletion(-) diff --git a/Tools/pynche/Main.py b/Tools/pynche/Main.py index 25b9aef..3eeccbf 100644 --- a/Tools/pynche/Main.py +++ b/Tools/pynche/Main.py @@ -10,7 +10,11 @@ Tkinter + Pmw provides such a nice programming environment, with enough power, that I finally buckled down and implemented it. I changed the name because these days, too many other systems have the acronym `ICE'. -Usage: %(PROGRAM) [-h] +This program currently requires Python 1.5 with Tkinter. It also requires at +least Pmw 0.6.1. It has only been tested on Solaris 2.6. Feedback is greatly +appreciated. Send email to bwarsaw@python.org + +Usage: %(PROGRAM)s [-h] Where: --help @@ -21,3 +25,90 @@ Where: __version__ = '1.0' +import sys +import getopt +import Pmw +import ColorDB +from Tkinter import * +from PyncheWidget import PyncheWidget + + + +PROGRAM = sys.argv[0] + +# Milliseconds between interrupt checks +KEEPALIVE_TIMER = 500 + +RGBCOLOR = 1 +HSICOLOR = 2 +NAMEDCOLOR = 3 + +# Default locations of rgb.txt or other textual color database +RGB_TXT = [ + # Solaris OpenWindows + '/usr/openwin/lib/rgb.txt', + # add more here + ] + + + +def usage(status, msg=''): + if msg: + print msg + print __doc__ % globals() + sys.exit(status) + + + +app = None + +def keepalive(): + # Exercise the Python interpreter regularly so keybard interrupts get + # through. + app.tk.createtimerhandler(KEEPALIVE_TIMER, keepalive) + + +def main(): + global app + + initialcolor = 'grey50' + try: + opts, args = getopt.getopt(sys.argv[1:], + 'hc:', + ['color=', 'help']) + except getopt.error, msg: + usage(1, msg) + + if args: + usage(1) + + for opt, arg in opts: + if opt in ('-h', '--help'): + usage(0) + elif opt in ('-c', '--color'): + initialcolor = arg + + # create the windows and go + for f in RGB_TXT: + try: + colordb = ColorDB.get_colordb(f) + break + except IOError: + pass + else: + raise IOError('No color database file found') + + app = Pmw.initialise(fontScheme='pmw1') + app.title('Pynche %s' % __version__) + app.tk.createtimerhandler(KEEPALIVE_TIMER, keepalive) + p = PyncheWidget(colordb, app, color=initialcolor) + try: + keepalive() + app.mainloop() + except KeyboardInterrupt: + pass + + + +if __name__ == '__main__': + main() -- cgit v0.12