mirror of
https://github.com/python/cpython.git
synced 2025-11-03 03:22:27 +00:00
Moved toplevel widget to PyncheWidget.py
This commit is contained in:
parent
fefbf79ea4
commit
f7c1e5a6a3
1 changed files with 92 additions and 1 deletions
|
|
@ -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
|
power, that I finally buckled down and implemented it. I changed the name
|
||||||
because these days, too many other systems have the acronym `ICE'.
|
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:
|
Where:
|
||||||
--help
|
--help
|
||||||
|
|
@ -21,3 +25,90 @@ Where:
|
||||||
|
|
||||||
__version__ = '1.0'
|
__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()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue