symbian-qemu-0.9.1-12/python-2.6.1/Demo/tix/samples/OptMenu.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 # -*-mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
       
     2 #
       
     3 # $Id: OptMenu.py 36560 2004-07-18 06:16:08Z tim_one $
       
     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()