home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / tls / tls085.solintel.Z / tls085.solintel / lib / vtcl / tests / sens8.tcl < prev    next >
Encoding:
Text File  |  1995-07-20  |  5.9 KB  |  227 lines

  1. # CVS $Id: sens8.tcl,v 1.1 1995/02/03 17:15:53 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.  
  9. proc quitCB {cbs} {
  10.     VtClose
  11. }
  12.  
  13. set menuList1 {
  14.     {pd File F}
  15.         {bt "New..." N "Ctrl<Key>N" "Ctrl+N" }
  16.         {bt  Exit    E "" "" quitCB}
  17.     {pd Edit E}
  18.         {bt Cut   C "Ctrl<Key>X" "Ctrl+X" }
  19.         {bt Copy  o "Ctrl<Key>C" "Ctrl+C" }
  20.         {bt Paste P "<Key>F4" "F4" }
  21.     {sp}
  22.     {bt Delete D "<Key>Delete" Delete }
  23.     {pd View  V}
  24.         {bt Some  S "Alt<Key>S" "Alt+S" }
  25.         {bt Parts P "<Key>Prior" "Page Up"}
  26.     {pd Printer  P}
  27.         {bt "New Printer"  N "<Key>Next" "Page Down"}
  28.         {sp}
  29.         {tb "Good Printer" "" "" "" toggleChangedCB  0}
  30.         {tb "Bad Printer"  "" "" "" toggleChangedCB  1}
  31.         {tb "Ugly Printer" "" "" "" toggleChangedCB  0}
  32.     {pd Test  T}
  33.         {tb "Sensitive Toggle" "" "" "" toggleChangedCB  0}
  34.         {sp}
  35.         {bt "Sensitive Target..." }
  36.         {cs "Sensitive Cascade"  C}
  37.             {bt Chicken C}
  38.             {bt Duck    D}
  39.         {sc}
  40.         {bt "Sensitive Accel"  A "Alt<Key>L" "Alt+L" }
  41.         {bt "Make UnSensitive" "" "" "" "setSenCB 0" }
  42.         {bt "Make Sensitive"   "" "" "" "setSenCB 1" }
  43. }
  44.  
  45.  
  46. #------------------------------------------------------------
  47.  
  48. proc setSenCB {state cbs} {
  49.     global senslabell senslabelc senslabelr senspushb senstoggleb
  50.     global sensoptionm senslist
  51.  
  52.     set dlog [keylget cbs dialog]
  53.  
  54.     set button [VxMenuGetButton $dlog "Sensitive Target..."]
  55.     VtSetSensitive $button $state
  56.  
  57.     set button [VxMenuGetButton $dlog "Sensitive Toggle"]
  58.     VtSetSensitive $button $state
  59.  
  60.     set button [VxMenuGetButton $dlog "Sensitive Cascade"]
  61.     VtSetSensitive $button $state
  62.  
  63.     set button [VxMenuGetButton $dlog "Sensitive Accel"]
  64.     VtSetSensitive $button $state
  65.  
  66.     set button [VxMenuGetButton $dlog "Some"]
  67.     VtSetSensitive $button $state
  68.  
  69.     set button [VxMenuGetButton $dlog "Parts"]
  70.     VtSetSensitive $button $state
  71.  
  72.     VtSetSensitive senslabell $state
  73.     VtSetSensitive senslabelc $state
  74.     VtSetSensitive senslabelr $state
  75.     VtSetSensitive senspushb $state
  76.     VtSetSensitive senstoggleb $state
  77.     VtSetSensitive sensoptionm $state
  78.     VtSetSensitive senslist $state
  79. }
  80.  
  81. proc toggleChangedCB {cbs} {
  82.     set target [keylget cbs widget]
  83.     set dlog [keylget cbs dialog]
  84.  
  85.     set name [VtGetValues $target -label]
  86.     set tstate [VtGetValues $target -set]
  87.  
  88.     set label [VxGetVar $dlog label]
  89.  
  90.     VtSetValues $label -label "You toggled $name, it's set to <$tstate>"
  91. }
  92.  
  93. #
  94. # Set the label to the name of the menu item that 
  95. # got activated
  96. #
  97. proc genericCB {cbs} {
  98.     set target [keylget cbs widget]
  99.     set dlog   [keylget cbs dialog]
  100.     set label [VxGetVar $dlog label]
  101.  
  102.     set name [VtGetValues $target -label]
  103.  
  104.     VtSetValues $label -label "Menu Item Selected is : $name"
  105. }
  106.  
  107.  
  108. proc listSingleCB {cbs} {
  109.     set target [keylget cbs widget]
  110.     set dlog   [keylget cbs dialog]
  111.     set label [VxGetVar $dlog label]
  112.  
  113.     set name [keylget cbs selectedItemList]
  114.  
  115.     VtSetValues $label -label "List Selected : $name"
  116. }
  117.  
  118.  
  119. proc listDoubleCB {cbs} {
  120.     set target [keylget cbs widget]
  121.     set dlog   [keylget cbs dialog]
  122.     set label [VxGetVar $dlog label]
  123.  
  124.     set name [keylget cbs selectedItemList]
  125.  
  126.     VtSetValues $label -label "List Double Clicked : $name"
  127. }
  128.  
  129.  
  130. proc CloseSecondaryCB {cbs} {
  131.     VtDestroyDialog [keylget cbs dialog]
  132. }
  133.  
  134.  
  135. proc SecondaryFormCB {cbs} {
  136.     global dlog
  137.     set dlog2 [VtFormDialog $dlog.dlog2 \
  138.         -cancel \
  139.         -defaultButton OK \
  140.         -ok -okCallback CloseSecondaryCB]
  141.     set text2 [VtText $dlog2.text2]
  142.     VtShow $dlog2
  143. }
  144.  
  145.  
  146. set fn [VtOpen testmenu]
  147. set dlog [VtFormDialog $fn.form -title "Starbug" -wmShadowThickness 0]
  148.  
  149. # Create the menu bar
  150. set menubar [VtMenuBar $dlog.mb -helpMenuItemList {ON_VERSION INDEX TUTORIAL} ]
  151. VxMenu $dlog $menubar $menuList1 "genericCB"
  152.  
  153. set form [VtForm $dlog.form -leftSide FORM -below $menubar]
  154.  
  155. set topLabel [VtLabel $form.topLabel \
  156.           -label "This top menu is an example of using the default help" \
  157.           -font medPlainFont]
  158.  
  159. set label  [VtLabel $form.label -label "No Callback Yet" \
  160.         -MOTIF_topOffset 10 \
  161.         -labelLeft \
  162.         -font largeBoldFont]
  163.  
  164.  
  165. VxSetVar $dlog label $label
  166.  
  167. set bottomLabel [VtLabel $form.bottomLabel \
  168.          -label "This doesn't do anything, test accelerators from here." \
  169.          -MOTIF_topOffset 30 \
  170.          -font medPlainFont]
  171.  
  172. set text [VtText $dlog.text]
  173.  
  174. set form2 [VtForm $dlog.form2 -leftSide FORM -below $text]
  175.  
  176. set rc [VtRowColumn $form2.rc -borderWidth 1]
  177. set senslabell [VtLabel $rc.senslabell -label "Left" -labelLeft]
  178. set senslabelc [VtLabel $rc.senslabelc -label "Center" -labelCenter]
  179. set senslabelr [VtLabel $rc.senslabelr -label "Right" -labelRight]
  180. set blahlabel [VtLabel $rc.blahlabel -label "Blah Label"]
  181.  
  182. set senspushb [VtPushButton $form2.senspushb \
  183.     -below $rc \
  184.     -mnemonic P \
  185.     -callback SecondaryFormCB \
  186.     -label "Secondary Dialog..."]
  187. set senstoggleb [VtToggleButton $form2.senstoggleb \
  188.     -mnemonic T \
  189.     -label "Toggle Button"]
  190. VtAddTabGroup $senstoggleb
  191.  
  192. set sensoptionm [VtOptionMenu $form2.sensoptionm \
  193.     -mnemonic O \
  194.     -label "Option Menu:"]
  195. set but1 [VtPushButton $sensoptionm.but1 \
  196.     -mnemonic O \
  197.     -label Saab]
  198. set but2 [VtPushButton $sensoptionm.but2 \
  199.     -mnemonic A \
  200.     -label Acura]
  201. set but3 [VtPushButton $sensoptionm.but3 \
  202.     -mnemonic L \
  203.     -label Lexus]
  204. VtSetValues $sensoptionm -selectedWidget $but2
  205.  
  206. set listitems {ALL RESIZE TITLE BORDER MENU RIMMER LISTER CAT KRYTEN}
  207.  
  208. set senslist [VtList $dlog.senslist -itemList $listitems \
  209.         -rightSide FORM -leftSide $form2 -rows 5 \
  210.         -topSide $text \
  211.         -callback listSingleCB \
  212.         -defaultCallback listDoubleCB \
  213.         -selection MULTIPLE ]
  214.  
  215. set mltext [VtText $dlog.mltext \
  216.     -rows 4 \
  217.     -columns 10 \
  218.     -borderWidth 0 \
  219.     -topSide $senslist \
  220.     -alignLeft $senslist \
  221.     -bottomSide FORM \
  222.     -value "Line one\nLine two\nLine3 is a really long line that won't fit\nLine four\nand a fifth line"]
  223.  
  224. VtShow $dlog
  225. VtMainLoop
  226.  
  227.