symbian-qemu-0.9.1-12/python-2.6.1/Demo/tkinter/matt/menu-simple.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 from Tkinter import *
       
     2 
       
     3 # some vocabulary to keep from getting confused. This terminology
       
     4 # is something I cooked up for this file, but follows the man pages
       
     5 # pretty closely
       
     6 #
       
     7 #
       
     8 #
       
     9 #       This is a MENUBUTTON
       
    10 #       V
       
    11 # +-------------+
       
    12 # |             |
       
    13 #
       
    14 # +------------++------------++------------+
       
    15 # |            ||            ||            |
       
    16 # |  File      ||  Edit      || Options    |   <-------- the MENUBAR
       
    17 # |            ||            ||            |
       
    18 # +------------++------------++------------+
       
    19 # | New...         |
       
    20 # | Open...        |
       
    21 # | Print          |
       
    22 # |                |  <------ This is a MENU. The lines of text in the menu are
       
    23 # |                |                          MENU ENTRIES
       
    24 # |                +---------------+
       
    25 # | Open Files >   | file1         |
       
    26 # |                | file2         |
       
    27 # |                | another file  | <------ this cascading part is also a MENU
       
    28 # +----------------|               |
       
    29 #                  |               |
       
    30 #                  |               |
       
    31 #                  |               |
       
    32 #                  +---------------+
       
    33 
       
    34 
       
    35 
       
    36 def new_file():
       
    37     print "opening new file"
       
    38 
       
    39 
       
    40 def open_file():
       
    41     print "opening OLD file"
       
    42 
       
    43 
       
    44 def makeFileMenu():
       
    45     # make menu button : "File"
       
    46     File_button = Menubutton(mBar, text='File', underline=0)
       
    47     File_button.pack(side=LEFT, padx="1m")
       
    48     File_button.menu = Menu(File_button)
       
    49 
       
    50     # add an item. The first param is a menu entry type,
       
    51     # must be one of: "cascade", "checkbutton", "command", "radiobutton", "seperator"
       
    52     # see menu-demo-2.py for examples of use
       
    53     File_button.menu.add_command(label='New...', underline=0,
       
    54                                  command=new_file)
       
    55 
       
    56 
       
    57     File_button.menu.add_command(label='Open...', underline=0,
       
    58                                  command=open_file)
       
    59 
       
    60     File_button.menu.add_command(label='Quit', underline=0,
       
    61                                  command='exit')
       
    62 
       
    63     # set up a pointer from the file menubutton back to the file menu
       
    64     File_button['menu'] = File_button.menu
       
    65 
       
    66     return File_button
       
    67 
       
    68 
       
    69 
       
    70 def makeEditMenu():
       
    71     Edit_button = Menubutton(mBar, text='Edit', underline=0)
       
    72     Edit_button.pack(side=LEFT, padx="1m")
       
    73     Edit_button.menu = Menu(Edit_button)
       
    74 
       
    75     # just to be cute, let's disable the undo option:
       
    76     Edit_button.menu.add('command', label="Undo")
       
    77     # Since the tear-off bar is the 0th entry,
       
    78     # undo is the 1st entry...
       
    79     Edit_button.menu.entryconfig(1, state=DISABLED)
       
    80 
       
    81     # and these are just for show. No "command" callbacks attached.
       
    82     Edit_button.menu.add_command(label="Cut")
       
    83     Edit_button.menu.add_command(label="Copy")
       
    84     Edit_button.menu.add_command(label="Paste")
       
    85 
       
    86     # set up a pointer from the file menubutton back to the file menu
       
    87     Edit_button['menu'] = Edit_button.menu
       
    88 
       
    89     return Edit_button
       
    90 
       
    91 
       
    92 #################################################
       
    93 
       
    94 #### Main starts here ...
       
    95 root = Tk()
       
    96 
       
    97 
       
    98 # make a menu bar
       
    99 mBar = Frame(root, relief=RAISED, borderwidth=2)
       
   100 mBar.pack(fill=X)
       
   101 
       
   102 File_button = makeFileMenu()
       
   103 Edit_button = makeEditMenu()
       
   104 
       
   105 # finally, install the buttons in the menu bar.
       
   106 # This allows for scanning from one menubutton to the next.
       
   107 mBar.tk_menuBar(File_button, Edit_button)
       
   108 
       
   109 root.title('menu demo')
       
   110 root.iconname('packer')
       
   111 
       
   112 root.mainloop()