visual_bb.test
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #!/usr/local/bin/wish -f
  2. #
  3. # This script displays provides visual tests for many of Tk's features.
  4. # Each test displays a window with various information in it, along
  5. # with instructions about how the window should appear.  You can look
  6. # at the window to make sure it appears as expected.  Individual tests
  7. # are kept in separate ".tcl" files in this directory.
  8. #
  9. # RCS: @(#) $Id: visual_bb.test,v 1.7 2002/07/14 18:31:48 dgp Exp $
  10. package require tcltest 2.1
  11. namespace import -force tcltest::configure
  12. namespace import -force tcltest::testsDirectory
  13. configure -testdir [file join [pwd] [file dirname [info script]]]
  14. configure -loadfile [file join [testsDirectory] constraints.tcl]
  15. tcltest::loadTestedCommands
  16. namespace import -force tcltest::cleanupTests
  17. set auto_path ". $auto_path"
  18. wm title . "Visual Tests for Tk"
  19. set testNum 1
  20. # Each menu entry invokes a visual test file
  21. proc runTest {file} {
  22.     global testNum
  23.     test "2.$testNum" "testing $file" {userInteraction} {
  24. uplevel #0 source [file join [testsDirectory] $file]
  25. concat ""
  26.     } {}
  27.     incr testNum
  28. }
  29. # The following procedure is invoked to print the contents of a canvas:
  30. proc lpr {c args} {
  31.     exec lpr <<[eval [list $c postscript] $args]
  32. }
  33. proc end {} {
  34.     cleanupTests
  35.     set ::EndOfVisualTests 1
  36. }
  37. test 1.1 "running visual tests" {userInteraction} {
  38.     #-------------------------------------------------------
  39.     # The code below create the main window, consisting of a
  40.     # menu bar and a message explaining the basic operation
  41.     # of the program.
  42.     #-------------------------------------------------------
  43.     frame .menu -relief raised -borderwidth 1
  44.     message .msg -font {Times 18} -relief raised -width 4i 
  45.     -borderwidth 1 -text "This application provides a collection of visual tests for the Tk toolkit.  Each menu entry invokes a test, which displays information on the screen.  You can then verify visually that the information is being displayed in the correct way.  The tests under the "Postscript" menu exercise the Postscript-generation capabilities of canvas widgets."
  46.     
  47.     pack .menu -side top -fill x
  48.     pack .msg -side bottom -expand yes -fill both
  49.     #-------------------------------------------------------
  50.     # The code below creates all the menus, which invoke procedures
  51.     # to create particular demonstrations of various widgets.
  52.     #-------------------------------------------------------
  53.     menubutton .menu.file -text "File" -menu .menu.file.m
  54.     menu .menu.file.m
  55.     .menu.file.m add command -label "Quit" -command end
  56.     
  57.     menubutton .menu.group1 -text "Group 1" -menu .menu.group1.m
  58.     menu .menu.group1.m
  59.     .menu.group1.m add command -label "Canvas arcs" -command {runTest arc.tcl}
  60.     .menu.group1.m add command -label "Beveled borders in text widgets" 
  61.     -command {runTest bevel.tcl}
  62.     .menu.group1.m add command -label "Colormap management" 
  63.     -command {runTest cmap.tcl}
  64.     .menu.group1.m add command -label "Label/button geometry" 
  65.     -command {runTest butGeom.tcl}
  66.     .menu.group1.m add command -label "Label/button colors" 
  67.     -command {runTest butGeom2.tcl}
  68.     
  69.     menubutton .menu.ps -text "Canvas Postscript" -menu .menu.ps.m
  70.     menu .menu.ps.m
  71.     .menu.ps.m add command -label "Rectangles and other graphics" 
  72.     -command {runTest canvPsGrph.tcl}
  73.     .menu.ps.m add command -label "Text" 
  74.     -command {runTest canvPsText.tcl}
  75.     .menu.ps.m add command -label "Bitmaps" 
  76.     -command {runTest canvPsBmap.tcl}
  77.     .menu.ps.m add command -label "Images" 
  78.     -command {runTest canvPsImg.tcl}
  79.     .menu.ps.m add command -label "Arcs" 
  80.     -command {runTest canvPsArc.tcl}
  81.     
  82.     pack .menu.file .menu.group1 .menu.ps -side left -padx 1m
  83.     
  84.     # Set up for keyboard-based menu traversal
  85.     
  86.     bind . <Any-FocusIn> {
  87. if {("%d" == "NotifyVirtual") && ("%m" == "NotifyNormal")} {
  88.     focus .menu
  89. }
  90.     }
  91.     tk_menuBar .menu .menu.file .menu.group1 .menu.ps
  92.     # Set up a class binding to allow objects to be deleted from a canvas
  93.     # by clicking with mouse button 1:
  94.     bind Canvas <1> {%W delete [%W find closest %x %y]}
  95.     concat ""
  96. } {}
  97. if {![testConstraint userInteraction]} {
  98.     cleanupTests
  99. } else {
  100.     vwait EndOfVisualTests
  101. }