mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
Added about dialog
This commit is contained in:
parent
e2f194b57d
commit
552ac1795a
1 changed files with 60 additions and 4 deletions
|
@ -8,6 +8,15 @@ from ChipWidget import ChipWidget
|
|||
from TypeinWidget import TypeinWidget
|
||||
from StripWidget import StripWidget
|
||||
|
||||
|
||||
|
||||
ABOUTTEXT = '''Pynche 1.0 -- The Pythonically Natural Color and Hue Editor
|
||||
Copyright (C) 1998 Barry A. Warsaw
|
||||
|
||||
Pynche is based on ICE 1.2 (Interactive Color Editor), written by
|
||||
Barry A. Warsaw for the SunView window system in 1987.'''
|
||||
|
||||
|
||||
|
||||
def constant(numchips):
|
||||
step = 255.0 / (numchips - 1)
|
||||
|
@ -42,6 +51,8 @@ def constant_yellow_generator(numchips, rgbtuple):
|
|||
class PyncheWidget(Pmw.MegaWidget):
|
||||
def __init__(self, colordb, parent=None, **kw):
|
||||
self.__colordb = colordb
|
||||
self.__parent = parent
|
||||
self.__about = None
|
||||
|
||||
options = (('color', (128, 128, 128), self.__set_color),
|
||||
('delegate', None, None),
|
||||
|
@ -50,7 +61,28 @@ class PyncheWidget(Pmw.MegaWidget):
|
|||
|
||||
# initialize base class -- after defining options
|
||||
Pmw.MegaWidget.__init__(self, parent)
|
||||
interiorarg = (self.interior(),)
|
||||
|
||||
# create menubar
|
||||
self.__menubar = Pmw.MenuBar(parent,
|
||||
hull_relief=RAISED,
|
||||
hull_borderwidth=1)
|
||||
self.__menubar.pack(side=TOP, expand=YES, fill=BOTH)
|
||||
self.__menubar.addmenu('File', None)
|
||||
self.__menubar.addmenuitem('File',
|
||||
type=COMMAND,
|
||||
label='Quit',
|
||||
command=self.__quit,
|
||||
accelerator='Alt-Q')
|
||||
self.__menubar.addmenu('Help', None, side=RIGHT)
|
||||
self.__menubar.addmenuitem('Help',
|
||||
type=COMMAND,
|
||||
label='About...',
|
||||
command=self.__popup_about,
|
||||
accelerator='Alt-A')
|
||||
parent.bind('<Alt-q>', self.__quit)
|
||||
parent.bind('<Alt-Q>', self.__quit)
|
||||
parent.bind('<Alt-a>', self.__popup_about)
|
||||
parent.bind('<Alt-A>', self.__popup_about)
|
||||
|
||||
# create color selectors
|
||||
group = Pmw.Group(parent, tag_text='Variations')
|
||||
|
@ -77,8 +109,12 @@ class PyncheWidget(Pmw.MegaWidget):
|
|||
self.__nearest = ChipWidget(group.interior(),
|
||||
label_text='Nearest')
|
||||
self.__nearest.grid(row=0, column=1)
|
||||
chip = self.__nearest.component('chip')
|
||||
chip.bind('<ButtonRelease-1>', self.__set_color_to_chip)
|
||||
|
||||
# TBD: this is somewhat bogus, as the code should be in a derived
|
||||
# class of ChipWidget.
|
||||
self.__chip = self.__nearest.component('chip')
|
||||
self.__chip.bind('<ButtonPress-1>', self.__buttonpress)
|
||||
self.__chip.bind('<ButtonRelease-1>', self.__buttonrelease)
|
||||
|
||||
# create the options window
|
||||
self.__typein = TypeinWidget(group.interior())
|
||||
|
@ -125,7 +161,27 @@ class PyncheWidget(Pmw.MegaWidget):
|
|||
def __set_color(self):
|
||||
self.set_color(self, self['color'])
|
||||
|
||||
def __set_color_to_chip(self, event=None):
|
||||
def __buttonpress(self, event=None):
|
||||
self.__chip.configure(relief=SUNKEN)
|
||||
|
||||
def __buttonrelease(self, event=None):
|
||||
self.__chip.configure(relief=RAISED)
|
||||
color = self.__nearest['color']
|
||||
rgbtuple = self.__colordb.find_byname(color)
|
||||
self.set_color(self, rgbtuple)
|
||||
|
||||
def __quit(self, event=None):
|
||||
self.__parent.quit()
|
||||
|
||||
def __popup_about(self, event=None):
|
||||
if not self.__about:
|
||||
Pmw.aboutversion('1.0')
|
||||
Pmw.aboutcopyright('Copyright (C) 1998 Barry A. Warsaw\n'
|
||||
'All rights reserved')
|
||||
Pmw.aboutcontact('For information about Pynche contact:\n'
|
||||
'Barry A. Warsaw\n'
|
||||
'email: bwarsaw@python.org')
|
||||
self.__about = Pmw.AboutDialog(
|
||||
applicationname='Pynche -- the PYthonically Natural\n'
|
||||
'Color and Hue Editor')
|
||||
self.__about.show()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue