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

  1. # CVS $Id: form.tcl,v 1.3 1995/02/03 16:54:44 zibi Exp $
  2. #
  3. # This is a test for the options to a form dialog
  4. # @(#) form.tcl 11.12 95/01/31 
  5.  
  6. source tools.tcl
  7.  
  8. global count
  9. set count 0
  10.  
  11. proc doQuitCB {cbs} {
  12.      VtClose
  13.      exit 0
  14. }
  15.  
  16. proc closeCB {parent cbs} {
  17.  
  18.      VtHide $parent
  19. }
  20.  
  21. proc makeTransCB {cbs} {
  22.      global ap
  23.  
  24.      set parent [lindex $cbs 0]
  25.  
  26.      set $ap $parent
  27. }
  28.  
  29. proc doModalCB {modeless cbs} {
  30.      global ap
  31.      global lastModal
  32.  
  33.      set parent [lindex $cbs 0]
  34.      echo $parent
  35.      if {$modeless} {
  36.           set fn [VtFormDialog $parent.fn -title "Modeless Dialog" -modeless ]
  37. #      VtSetValues $fn -transientFor $lastModal
  38.       VtSetValues $fn -windowGroup ""
  39.       VtSetValues $fn -modeless
  40.       } else {
  41.           set fn [VtFormDialog $parent.fn -title "Modal Dialog" ]
  42. #      VtSetValues $fn -transientFor $ap
  43.       set lastModal $fn
  44.      }
  45.  
  46.  #    VtSetValues $fn -windowGroup $ap
  47.   
  48.  
  49.      set rc [VtRowColumn $fn.rc]
  50.      VtPushButton $rc.modal -label "Modal"  -callback "doModalCB 0"
  51.      VtPushButton $rc.modeless -label "Modeless"  -callback "doModalCB 1"
  52.      VtPushButton $rc.close -callback "closeCB $fn"
  53.      VtPushButton $rc.trans -callback makeTransCB
  54.      VtShow $fn
  55. }
  56.  
  57. proc doShowOnCB { cbs} {
  58.      set parent [lindex $cbs 0]
  59.  
  60.      set fn [VtFormDialog $parent.fn -title "Show on" -hidden false ]
  61.      
  62.  
  63.      set lab [VtLabel $fn.lab -label "You should see me growing"]
  64.      set rc [VtRowColumn $fn.rc -below $lab]
  65.      VtPushButton $rc.modal -label "Modal"  -callback "doModalCB 0"
  66.      VtPushButton $rc.modeless -label "Modeless"  -callback "doModalCB 1"
  67.      VtPushButton $rc.close -callback "closeCB $fn "
  68.      VtShow $fn
  69. }
  70.  
  71. proc doResizeCB {cbs} {
  72.      set parent [lindex $cbs 0]
  73.  
  74.      set fn [VtFormDialog $parent.fn -title "Resizable" \
  75.               -okCallback CloseDialogCB \
  76.               ]
  77.      
  78.  
  79.      VtToggleButton $fn.tog -label Resizable -value 1 \
  80.              -callback "toggleCB $fn"
  81.      VtPushButton $fn.addbutton -callback "addButton $fn" -label "Add Label"
  82.      VtPushButton $fn.delbutton -callback "delButton $fn" -label "Delete Label"
  83.  
  84.      VtShowDialog $fn
  85.  
  86. }
  87.  
  88. proc toggleCB {fn cbs} {
  89.  
  90.      set toggled [keylget cbs set]
  91.  
  92.      if { $toggled } {
  93.     VtSetValues $fn -resizable true
  94.      } else {
  95.     VtSetValues $fn -resizable false
  96.      }
  97.  
  98. }
  99.  
  100. proc delButton {fn cbs} {
  101.  
  102.      global count
  103.  
  104.      if { $count } {
  105.      VtDestroy $fn.lab$count
  106.      set count [expr $count - 1]
  107.      }
  108. }
  109.  
  110. proc addButton {fn cbs} {
  111.  
  112.      global count
  113.  
  114.      set count [expr $count  + 1]
  115.  
  116.      VtLabel $fn.lab$count -label "New Label"
  117. }
  118.  
  119. proc doButtonsCB {cbs} {
  120.      set parent [lindex $cbs 0]
  121.  
  122.      set fn [VtFormDialog $parent.fn -title "Buttons" \
  123.               -okCallback CloseDialogCB \
  124.               -apply \
  125.               -cancel \
  126.               -reset \
  127.               -help \
  128.               ]
  129.      
  130.  
  131.      set lab [VtLabel $fn.lab -label "You should see a button below"]
  132.  
  133.      VtShowDialog $fn
  134. }
  135.  
  136. proc mkDecorDlogCB {cbs} {
  137.      set dlog [keylget cbs dialog]
  138.      set list [GetDialogKey $dlog list]
  139.  
  140.      set decor [VtListGetSelectedItem $list -byItemList]
  141.  
  142.      VtMessageDialog $dlog.me -message "Check out my decorations"\
  143.           -wmDecoration $decor -hidden 0
  144.  
  145.      set fd [VtFormDialog $dlog.form -okCallback CloseDialogCB \
  146.           -wmDecoration $decor ]
  147.         
  148.      VtLabel $fd.lab -label "Check out the FormDialog's decors"  
  149.      VtShow $fd
  150. }
  151.  
  152. proc doDecorationCB {cbs} {
  153.      set target [keylget cbs widget]
  154.  
  155.      set dlog [VtFormDialog $target.form \
  156.            -okLabel "Make Dialog" -okCallback mkDecorDlogCB \
  157.            -cancelCallback CloseDialogCB \
  158.            -wmDecoration {TITLE BORDER}]
  159.  
  160.      set decor {ALL RESIZE TITLE BORDER MENU}
  161.  
  162.      set lst [VtList $dlog.lst -itemList $decor \
  163.              -rightSide FORM -bottomSide FORM -rows 5 \
  164.              -selection MULTIPLE ]
  165.              
  166.  
  167.      SetDialogKey $dlog list $lst
  168.  
  169.      VtShow $dlog
  170. }
  171.  
  172. proc doHorizontalOffsetCB { cbs} {
  173.  
  174. }
  175.  
  176. global ap
  177.  
  178. set ap [VtOpen ClassName]
  179.  
  180. set fn [VtFormDialog $ap.test -wmDecoration {TITLE BORDER MINIMIZE} ]
  181.  
  182. set rc [VtRowColumn $fn.rc \
  183.             -numColumns 2 \
  184.             -xmArgs "XmNbackground pink" ]
  185.  
  186. set actions { { "Modal Dialog"        "doModalCB 0"        }
  187.               { "Modeless Dialog"   "doModalCB 1"        }
  188.               { "Totally Modeless Dialog"   "doModalCB 2"        }
  189.           { "Decorations Dialog" doDecorationCB        }
  190.           { "horizontalOffset"  doHorizontalOffsetCB    }
  191.           { "showOnCB"        doShowOnCB    }
  192.           { "Buttons"        doButtonsCB    }
  193.           { "Resizable"        doResizeCB    }
  194.           { "Quit"            doQuitCB            }
  195.         }
  196.  
  197. foreach i $actions {
  198.     set label [lindex $i 0]
  199.     set cb [lindex $i 1]
  200.     VtPushButton $rc.$label -callback $cb
  201. }
  202.  
  203. VtShow $fn
  204.  
  205. VtMainLoop
  206.