home *** CD-ROM | disk | FTP | other *** search
- # CVS $Id: sens8.tcl,v 1.1 1995/02/03 17:15:53 zibi Exp $
- #
- # a minimal test of the menubar and pulldown widgets
- #
- # use the object option allowDuplicateName to make separator with
- # identical names.
- #
-
- proc quitCB {cbs} {
- VtClose
- }
-
- set menuList1 {
- {pd File F}
- {bt "New..." N "Ctrl<Key>N" "Ctrl+N" }
- {bt Exit E "" "" quitCB}
- {pd Edit E}
- {bt Cut C "Ctrl<Key>X" "Ctrl+X" }
- {bt Copy o "Ctrl<Key>C" "Ctrl+C" }
- {bt Paste P "<Key>F4" "F4" }
- {sp}
- {bt Delete D "<Key>Delete" Delete }
- {pd View V}
- {bt Some S "Alt<Key>S" "Alt+S" }
- {bt Parts P "<Key>Prior" "Page Up"}
- {pd Printer P}
- {bt "New Printer" N "<Key>Next" "Page Down"}
- {sp}
- {tb "Good Printer" "" "" "" toggleChangedCB 0}
- {tb "Bad Printer" "" "" "" toggleChangedCB 1}
- {tb "Ugly Printer" "" "" "" toggleChangedCB 0}
- {pd Test T}
- {tb "Sensitive Toggle" "" "" "" toggleChangedCB 0}
- {sp}
- {bt "Sensitive Target..." }
- {cs "Sensitive Cascade" C}
- {bt Chicken C}
- {bt Duck D}
- {sc}
- {bt "Sensitive Accel" A "Alt<Key>L" "Alt+L" }
- {bt "Make UnSensitive" "" "" "" "setSenCB 0" }
- {bt "Make Sensitive" "" "" "" "setSenCB 1" }
- }
-
-
- #------------------------------------------------------------
-
- proc setSenCB {state cbs} {
- global senslabell senslabelc senslabelr senspushb senstoggleb
- global sensoptionm senslist
-
- set dlog [keylget cbs dialog]
-
- set button [VxMenuGetButton $dlog "Sensitive Target..."]
- VtSetSensitive $button $state
-
- set button [VxMenuGetButton $dlog "Sensitive Toggle"]
- VtSetSensitive $button $state
-
- set button [VxMenuGetButton $dlog "Sensitive Cascade"]
- VtSetSensitive $button $state
-
- set button [VxMenuGetButton $dlog "Sensitive Accel"]
- VtSetSensitive $button $state
-
- set button [VxMenuGetButton $dlog "Some"]
- VtSetSensitive $button $state
-
- set button [VxMenuGetButton $dlog "Parts"]
- VtSetSensitive $button $state
-
- VtSetSensitive senslabell $state
- VtSetSensitive senslabelc $state
- VtSetSensitive senslabelr $state
- VtSetSensitive senspushb $state
- VtSetSensitive senstoggleb $state
- VtSetSensitive sensoptionm $state
- VtSetSensitive senslist $state
- }
-
- proc toggleChangedCB {cbs} {
- set target [keylget cbs widget]
- set dlog [keylget cbs dialog]
-
- set name [VtGetValues $target -label]
- set tstate [VtGetValues $target -set]
-
- set label [VxGetVar $dlog label]
-
- VtSetValues $label -label "You toggled $name, it's set to <$tstate>"
- }
-
- #
- # Set the label to the name of the menu item that
- # got activated
- #
- proc genericCB {cbs} {
- set target [keylget cbs widget]
- set dlog [keylget cbs dialog]
- set label [VxGetVar $dlog label]
-
- set name [VtGetValues $target -label]
-
- VtSetValues $label -label "Menu Item Selected is : $name"
- }
-
-
- proc listSingleCB {cbs} {
- set target [keylget cbs widget]
- set dlog [keylget cbs dialog]
- set label [VxGetVar $dlog label]
-
- set name [keylget cbs selectedItemList]
-
- VtSetValues $label -label "List Selected : $name"
- }
-
-
- proc listDoubleCB {cbs} {
- set target [keylget cbs widget]
- set dlog [keylget cbs dialog]
- set label [VxGetVar $dlog label]
-
- set name [keylget cbs selectedItemList]
-
- VtSetValues $label -label "List Double Clicked : $name"
- }
-
-
- proc CloseSecondaryCB {cbs} {
- VtDestroyDialog [keylget cbs dialog]
- }
-
-
- proc SecondaryFormCB {cbs} {
- global dlog
- set dlog2 [VtFormDialog $dlog.dlog2 \
- -cancel \
- -defaultButton OK \
- -ok -okCallback CloseSecondaryCB]
- set text2 [VtText $dlog2.text2]
- VtShow $dlog2
- }
-
-
- set fn [VtOpen testmenu]
- set dlog [VtFormDialog $fn.form -title "Starbug" -wmShadowThickness 0]
-
- # Create the menu bar
- set menubar [VtMenuBar $dlog.mb -helpMenuItemList {ON_VERSION INDEX TUTORIAL} ]
- VxMenu $dlog $menubar $menuList1 "genericCB"
-
- set form [VtForm $dlog.form -leftSide FORM -below $menubar]
-
- set topLabel [VtLabel $form.topLabel \
- -label "This top menu is an example of using the default help" \
- -font medPlainFont]
-
- set label [VtLabel $form.label -label "No Callback Yet" \
- -MOTIF_topOffset 10 \
- -labelLeft \
- -font largeBoldFont]
-
-
- VxSetVar $dlog label $label
-
- set bottomLabel [VtLabel $form.bottomLabel \
- -label "This doesn't do anything, test accelerators from here." \
- -MOTIF_topOffset 30 \
- -font medPlainFont]
-
- set text [VtText $dlog.text]
-
- set form2 [VtForm $dlog.form2 -leftSide FORM -below $text]
-
- set rc [VtRowColumn $form2.rc -borderWidth 1]
- set senslabell [VtLabel $rc.senslabell -label "Left" -labelLeft]
- set senslabelc [VtLabel $rc.senslabelc -label "Center" -labelCenter]
- set senslabelr [VtLabel $rc.senslabelr -label "Right" -labelRight]
- set blahlabel [VtLabel $rc.blahlabel -label "Blah Label"]
-
- set senspushb [VtPushButton $form2.senspushb \
- -below $rc \
- -mnemonic P \
- -callback SecondaryFormCB \
- -label "Secondary Dialog..."]
- set senstoggleb [VtToggleButton $form2.senstoggleb \
- -mnemonic T \
- -label "Toggle Button"]
- VtAddTabGroup $senstoggleb
-
- set sensoptionm [VtOptionMenu $form2.sensoptionm \
- -mnemonic O \
- -label "Option Menu:"]
- set but1 [VtPushButton $sensoptionm.but1 \
- -mnemonic O \
- -label Saab]
- set but2 [VtPushButton $sensoptionm.but2 \
- -mnemonic A \
- -label Acura]
- set but3 [VtPushButton $sensoptionm.but3 \
- -mnemonic L \
- -label Lexus]
- VtSetValues $sensoptionm -selectedWidget $but2
-
- set listitems {ALL RESIZE TITLE BORDER MENU RIMMER LISTER CAT KRYTEN}
-
- set senslist [VtList $dlog.senslist -itemList $listitems \
- -rightSide FORM -leftSide $form2 -rows 5 \
- -topSide $text \
- -callback listSingleCB \
- -defaultCallback listDoubleCB \
- -selection MULTIPLE ]
-
- set mltext [VtText $dlog.mltext \
- -rows 4 \
- -columns 10 \
- -borderWidth 0 \
- -topSide $senslist \
- -alignLeft $senslist \
- -bottomSide FORM \
- -value "Line one\nLine two\nLine3 is a really long line that won't fit\nLine four\nand a fifth line"]
-
- VtShow $dlog
- VtMainLoop
-
-