1 | # -*-mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
|
---|
2 | #
|
---|
3 | # $Id$
|
---|
4 | #
|
---|
5 | # Tix Demostration Program
|
---|
6 | #
|
---|
7 | # This sample program is structured in such a way so that it can be
|
---|
8 | # executed from the Tix demo program "tixwidgets.py": it must have a
|
---|
9 | # procedure called "RunSample". It should also have the "if" statment
|
---|
10 | # at the end of this file so that it can be run as a standalone
|
---|
11 | # program.
|
---|
12 |
|
---|
13 | # This file demonstrates the use of the tixOptionMenu widget -- you can
|
---|
14 | # use it for the user to choose from a fixed set of options
|
---|
15 | #
|
---|
16 | import Tix
|
---|
17 |
|
---|
18 | options = {'text':'Plain Text', 'post':'PostScript', 'html':'HTML',
|
---|
19 | 'tex':'LaTeX', 'rtf':'Rich Text Format'}
|
---|
20 |
|
---|
21 | def RunSample(w):
|
---|
22 | global demo_opt_from, demo_opt_to
|
---|
23 |
|
---|
24 | demo_opt_from = Tix.StringVar()
|
---|
25 | demo_opt_to = Tix.StringVar()
|
---|
26 |
|
---|
27 | top = Tix.Frame(w, bd=1, relief=Tix.RAISED)
|
---|
28 |
|
---|
29 | from_file = Tix.OptionMenu(top, label="From File Format : ",
|
---|
30 | variable=demo_opt_from,
|
---|
31 | options = 'label.width 19 label.anchor e menubutton.width 15')
|
---|
32 |
|
---|
33 | to_file = Tix.OptionMenu(top, label="To File Format : ",
|
---|
34 | variable=demo_opt_to,
|
---|
35 | options='label.width 19 label.anchor e menubutton.width 15')
|
---|
36 |
|
---|
37 | # Add the available options to the two OptionMenu widgets
|
---|
38 | #
|
---|
39 | # [Hint] You have to add the options first before you set the
|
---|
40 | # global variables "demo_opt_from" and "demo_opt_to". Otherwise
|
---|
41 | # the OptionMenu widget will complain about "unknown options"!
|
---|
42 | #
|
---|
43 | for opt in options.keys():
|
---|
44 | from_file.add_command(opt, label=options[opt])
|
---|
45 | to_file.add_command(opt, label=options[opt])
|
---|
46 |
|
---|
47 | demo_opt_from.set('html')
|
---|
48 | demo_opt_to.set('post')
|
---|
49 |
|
---|
50 | from_file.pack(side=Tix.TOP, anchor=Tix.W, pady=3, padx=6)
|
---|
51 | to_file.pack(side=Tix.TOP, anchor=Tix.W, pady=3, padx=6)
|
---|
52 |
|
---|
53 | box = Tix.ButtonBox(w, orientation=Tix.HORIZONTAL)
|
---|
54 | box.add('ok', text='Ok', underline=0, width=6,
|
---|
55 | command=lambda w=w: ok_command(w))
|
---|
56 | box.add('cancel', text='Cancel', underline=0, width=6,
|
---|
57 | command=lambda w=w: w.destroy())
|
---|
58 | box.pack(side=Tix.BOTTOM, fill=Tix.X)
|
---|
59 | top.pack(side=Tix.TOP, fill=Tix.BOTH, expand=1)
|
---|
60 |
|
---|
61 | def ok_command(w):
|
---|
62 | # tixDemo:Status "Convert file from %s to %s" % ( demo_opt_from.get(), demo_opt_to.get())
|
---|
63 | w.destroy()
|
---|
64 |
|
---|
65 | if __name__ == '__main__':
|
---|
66 | root = Tix.Tk()
|
---|
67 | RunSample(root)
|
---|
68 | root.mainloop()
|
---|