title
= 'Pmw LogicalFont demonstration'
# Import Pmw from this directory tree.
sys
.path
[:0] = ['../../..']
# The fonts to demonstrate.
(('Helvetica', 2), {'slant' : 'italic'}),
(('Helvetica', 0), {'size' : 18}),
(('Helvetica', 0), {'weight' : 'bold'}),
(('Helvetica', 12), {'weight' : 'bold', 'slant' : 'italic'}),
(('Typewriter', 0), {'size' : 8, 'weight' : 'bold'}),
(('Fixed', 0), {'size' : 8, 'weight' : 'bold'}),
(('Times', 0), {'size' : 24, 'weight' : 'bold', 'slant' : 'italic'}),
(('Typewriter', 0), {'width' : 'condensed'}),
(('Typewriter', -1), {'width' : 'condensed'}),
(('Fixed', 0), {'width' : 'condensed'}),
(('Fixed', -1), {'width' : 'condensed'}),
(('Helvetica', 0), {'weight' : 'bogus'}),
def __init__(self
, parent
):
# Create the text to display to the user to represent each font.
for args
, dict in Demo
.fontList
:
text
= text
+ ' ' + str(args
[1])
for name
, value
in dict.items():
text
= text
+ ' ' + name
+ ': ' + str(value
)
Demo
.fontText
.append(text
)
# Create a listbox to contain the font selections.
self
.box
= Pmw
.ScrolledListBox(parent
, listbox_selectmode
='single',
label_text
='Font', labelpos
='nw',
selectioncommand
=self
.selectionCommand
)
self
.box
.pack(fill
= 'both', expand
= 1, padx
= 10, pady
= 10)
# Create a label to display the selected font.
self
.target
= Tkinter
.Label(parent
,
text
= 'The quick brown fox jumps\nover the lazy dog',
relief
= 'sunken', padx
= 10, pady
= 10)
self
.target
.pack(fill
= 'both', expand
= 1, padx
= 10, pady
= 10)
def selectionCommand(self
):
sel
= self
.box
.curselection()
args
, dict = Demo
.fontList
[string
.atoi(sel
[0])]
font
= apply(Pmw
.logicalfont
, args
, dict)
self
.target
.configure(font
= font
)
######################################################################
# Create demo in root window for testing.
if __name__
== '__main__':
exitButton
= Tkinter
.Button(root
, text
= 'Exit', command
= root
.destroy
)
exitButton
.pack(side
= 'bottom')