home *** CD-ROM | disk | FTP | other *** search
/ Practical Programming in Tcl & Tk (4th Edition) / TCLBOOK4.BIN / mac / exsource.old / 28_9.tcl < prev    next >
Text File  |  2003-04-15  |  601b  |  30 lines

  1. #
  2. # Example 28-9
  3. # A simple menu by name package.
  4. #
  5.  
  6. proc Menu_Setup { menubar } {
  7.     global menu
  8.     frame $menubar
  9.     pack $menubar -side top -fill x
  10.     set menu(menubar) $menubar
  11.     set menu(uid) 0
  12. }
  13. proc Menu { label } {
  14.     global menu
  15.     if [info exists menu(menu,$label)] {
  16.         error "Menu $label already defined"
  17.     }
  18.     # Create the menubutton and its menu
  19.     set name $menu(menubar).mb$menu(uid)
  20.     set menuName $name.menu
  21.     incr menu(uid)
  22.     set mb [menubutton $name -text $label -menu $menuName]
  23.     pack $mb -side left
  24.     menu $menuName -tearoff 1
  25.     # Remember the name to menu mapping
  26.     set menu(menu,$label) $menuName
  27. }
  28.  
  29.  
  30.