home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / tls / tls088.hpux.Z / tls088.hpux / lib / vtcl / tests / menu.tcl < prev    next >
Encoding:
Text File  |  1995-07-20  |  3.6 KB  |  134 lines

  1. # CVS $Id: menu.tcl,v 1.3 1995/02/03 16:55:01 zibi Exp $
  2. #
  3. # a minimal test of the menubar and pulldown widgets
  4. #
  5. # use the object option allowDuplicateName to make separator with
  6. # identical names.
  7. #
  8. source "tools.tcl"
  9.  
  10. set menuList1 {
  11.     {pd File F}
  12.         {bt "New..." N "Ctrl<Key>N" "Ctrl+N" }
  13.         {bt  Exit    E "Ctrl<Key>E" "Ctrl+E" QuitCB}
  14.     {pd Edit E}
  15.         {bt Cut   C "Ctrl<Key>X" "Ctrl+X" }
  16.         {bt Copy  o "Ctrl<Key>C" "Ctrl+C" }
  17.         {bt Paste P "Ctrl<key>V" "Ctrl+V" }
  18.     {sp}
  19.     {bt Delete D "<key>Delete" Delete }
  20.     {pd View  V}
  21.         {bt Some  S "Ctrl<Key>S" "Ctrl+S" }
  22.         {bt Parts P ""       }
  23.     {pd Printer  P}
  24.         {bt "New Printer"  N  }
  25.         {sp}
  26.         {tb "Good Printer" "" "" "" toggleChangedCB  0}
  27.         {tb "Bad Printer"  "" "" "" toggleChangedCB  1}
  28.         {tb "Ugly Printer" "" "" "" toggleChangedCB  0}
  29.     {pd Test  T}
  30.         {bt "Sensitive Target..." }
  31.         {bt "Make UnSensitive" "" "" "" "setSenCB 0" }
  32.         {bt "Make Sensitive"   "" "" "" "setSenCB 1" }
  33. }
  34.  
  35. set menuList2 {
  36.     {pd File    F}
  37.         {bt Exit    E "Ctrl<Key>E" "Ctrl+E" QuitCB}
  38.     {pd Edit    E}
  39.         {bt Cut     C "Ctrl<Key>X" "Ctrl+X" }
  40.         {bt Copy    o "Ctrl<Key>C" "Ctrl+C" }
  41.         {bt Paste   P "Ctrl<Key>V" "Ctrl+V"}
  42.         {sp}
  43.         {bt Delete  D "<Key>Delete"      Delete  }
  44.         {pd View    V}
  45.         {bt Some    S "Ctrl<Key>S" "Ctrl+S" }
  46.         {cs Parts   P}
  47.             {bt Chicken C}
  48.             {bt Duck    D}
  49.             {cs Moose   M}
  50.                 {bt Ear  E}
  51.                 {bt Nose N}
  52.             {sc}
  53.         {sc}
  54.         {bt Any     A "Ctrl<Key>A" "Ctrl+A" }
  55.     {hp Custom  C ""                    }
  56.         {bt Help1                       }
  57.         {bt Help2                        }
  58.         {bt Help3                        }
  59. }
  60.  
  61.  
  62. #------------------------------------------------------------
  63.  
  64. proc setSenCB {state cbs} {
  65.     set dlog [keylget cbs dialog]
  66.  
  67.     set button [VxMenuGetButton $dlog "Sensitive Target..."]
  68.     VtSetSensitive $button $state
  69. }
  70.  
  71. proc toggleChangedCB {cbs} {
  72.     set target [keylget cbs widget]
  73.     set dlog [keylget cbs dialog]
  74.  
  75.     set name [VtGetValues $target -label]
  76.     set tstate [VtGetValues $target -set]
  77.  
  78.     set label [VxGetVar $dlog label]
  79.  
  80.     VtSetValues $label -label "You toggled $name, it's set to <$tstate>"
  81. }
  82.  
  83. #
  84. # Set the label to the name of the menu item that 
  85. # got activated
  86. #
  87. proc genericCB {cbs} {
  88.     set target [keylget cbs widget]
  89.     set dlog   [keylget cbs dialog]
  90.     set label [VxGetVar $dlog label]
  91.  
  92.     set name [VtGetValues $target -label]
  93.  
  94.     VtSetValues $label -label "Menu Item Selected is : $name"
  95. }
  96. set fn [VtOpen testmenu]
  97. set dlog [VtFormDialog $fn.form -title "Menu Test"]
  98.  
  99. # Create the menu bar
  100. set menubar [VtMenuBar $dlog.mb -helpMenuItemList {ON_VERSION INDEX TUTORIAL} ]
  101. VxMenu $dlog $menubar $menuList1 "genericCB"
  102.  
  103. set form [VtForm $dlog.form -leftSide FORM -below $menubar]
  104.  
  105. set topLabel [VtLabel $form.topLabel \
  106.           -label "This top menu is an example of using the default help" \
  107.           -font medPlainFont]
  108.  
  109. set label  [VtLabel $form.label -label "No Callback Yet" \
  110.         -MOTIF_topOffset 10 \
  111.         -labelLeft \
  112.         -font largeBoldFont]
  113.  
  114.  
  115. VxSetVar $dlog label $label
  116.  
  117. set bottomLabel [VtLabel $form.bottomLabel \
  118.          -label "This bottom menu is an example of a custom help" \
  119.          -MOTIF_topOffset 30 \
  120.          -font medPlainFont]
  121.  
  122. # Create the second  menu bar this one has a custom help menu
  123. set menubar2 [VtMenuBar $dlog.mb2]
  124. VxMenu $dlog $menubar2 $menuList2 "genericCB"
  125.  
  126. VtSetValues $form -bottomSide $menubar2
  127. VtSetValues $menubar2 \
  128.     -leftSide FORM -topSide NONE -bottomSide FORM -rightSide FORM
  129.  
  130. VtShow $dlog
  131. VtMainLoop
  132.  
  133.  
  134.