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

通讯编程

开发平台:

Visual C++

  1. # This file is a Tcl script to test the procedures in the file
  2. # tkGeometry.c (generic support for geometry managers).  It is
  3. # organized in the standard fashion for Tcl tests.
  4. #
  5. # Copyright (c) 1994 The Regents of the University of California.
  6. # Copyright (c) 1994 Sun Microsystems, Inc.
  7. # Copyright (c) 1998-1999 by Scriptics Corporation.
  8. # All rights reserved.
  9. #
  10. # RCS: @(#) $Id: geometry.test,v 1.4 2002/07/13 21:52:34 dgp Exp $
  11. package require tcltest 2.1
  12. namespace import -force tcltest::configure
  13. namespace import -force tcltest::testsDirectory
  14. configure -testdir [file join [pwd] [file dirname [info script]]]
  15. configure -loadfile [file join [testsDirectory] constraints.tcl]
  16. tcltest::loadTestedCommands
  17. wm geometry . 300x300
  18. raise .
  19. update
  20. frame .f -bd 2 -relief raised
  21. frame .f.f -bd 2 -relief sunken
  22. frame .f.f.f -bd 2 -relief raised
  23. button .b1 -text .b1
  24. button .b2 -text .b2
  25. button .b3 -text .b3
  26. button .f.f.b4 -text .b4
  27. test geometry-1.1 {Tk_ManageGeometry procedure} {
  28.     place .b1 -x 120 -y 80
  29.     update
  30.     list [winfo x .b1] [winfo y .b1]
  31. } {120 80}
  32. test geometry-1.2 {Tk_ManageGeometry procedure} {
  33.     foreach w {.f .f.f .f.f.f .b1 .b2 .b3} {
  34. place forget $w
  35.     }
  36.     place .f -x 20 -y 30 -width 200 -height 200
  37.     place .b1 -in .f -x 40 -y 30
  38.     update
  39.     pack .b1 -side top -anchor w
  40.     place .f -x 30 -y 40
  41.     update
  42.     list [winfo x .b1] [winfo y .b1]
  43. } {0 0}
  44. test geometry-2.1 {Tk_GeometryRequest procedure} {
  45.     frame .f2
  46.     set result [list [winfo reqwidth .f2] [winfo reqheight .f2]]
  47.     .f2 configure -width 150 -height 300
  48.     update
  49.     lappend result [winfo reqwidth .f2] [winfo reqheight .f2] 
  50.     [winfo geom .f2]
  51.     place .f2 -x 10 -y 20
  52.     update
  53.     lappend result [winfo geom .f2]
  54.     .f2 configure -width 100 -height 80
  55.     update
  56.     lappend result [winfo geom .f2]
  57. } {1 1 150 300 1x1+0+0 150x300+10+20 100x80+10+20}
  58. catch {destroy .f2}
  59. test geometry-3.1 {Tk_SetInternalBorder procedure} {
  60.     foreach w {.f .f.f .f.f.f .b1 .b2 .b3} {
  61. place forget $w
  62.     }
  63.     place .f -x 20 -y 30 -width 200 -height 200
  64.     place .b1 -in .f -x 50 -y 5
  65.     update
  66.     set x [list [winfo x .b1] [winfo y .b1]]
  67.     .f configure -bd 5
  68.     update
  69.     lappend x [winfo x .b1] [winfo y .b1]
  70. } {72 37 75 40}
  71. .f configure -bd 2
  72. test geometry-4.1 {Tk_MaintainGeometry and Tk_UnmaintainGeometry} {
  73.     foreach w {.f .f.f .f.f.f .b1 .b2 .b3} {
  74. place forget $w
  75.     }
  76.     place .f -x 20 -y 30 -width 200 -height 200
  77.     place .f.f -x 15 -y 5 -width 150 -height 120
  78.     place .f.f.f -width 100 -height 80
  79.     place .b1 -in .f.f.f -x 50 -y 5
  80.     update
  81.     list [winfo x .b1] [winfo y .b1]
  82. } {91 46}
  83. test geometry-4.2 {Tk_MaintainGeometry and Tk_UnmaintainGeometry} {
  84.     foreach w {.f .f.f .f.f.f .b1 .b2 .b3} {
  85. place forget $w
  86.     }
  87.     place .f -x 20 -y 30 -width 200 -height 200
  88.     place .f.f -x 15 -y 5 -width 150 -height 120
  89.     place .f.f.f -width 100 -height 80
  90.     place .b1 -in .f.f.f -x 50 -y 5
  91.     place .b2 -in .f.f.f -x 10 -y 25
  92.     place .b3 -in .f.f.f -x 50 -y 25
  93.     update
  94.     place .f -x 30 -y 25
  95.     update
  96.     list [winfo x .b1] [winfo y .b1] [winfo x .b2] [winfo y .b2] 
  97.     [winfo x .b3] [winfo y .b3]
  98. } {101 41 61 61 101 61}
  99. test geometry-4.3 {Tk_MaintainGeometry and Tk_UnmaintainGeometry} {
  100.     foreach w {.f .f.f .f.f.f .b1 .b2 .b3} {
  101. place forget $w
  102.     }
  103.     place .f -x 20 -y 30 -width 200 -height 200
  104.     place .f.f -x 15 -y 5 -width 150 -height 120
  105.     place .f.f.f -width 100 -height 80
  106.     place .b1 -in .f.f.f -x 50 -y 5
  107.     place .b2 -in .f.f.f -x 10 -y 25
  108.     place .b3 -in .f.f.f -x 50 -y 25
  109.     update
  110.     destroy .b1
  111.     button .b1 -text .b1
  112.     place .f.f -x 10 -y 25
  113.     update
  114.     list [winfo x .b1] [winfo y .b1] [winfo x .b2] [winfo y .b2] 
  115.     [winfo x .b3] [winfo y .b3]
  116. } {0 0 46 86 86 86}
  117. test geometry-4.4 {Tk_MaintainGeometry and Tk_UnmaintainGeometry} {
  118.     foreach w {.f .f.f .f.f.f .b1 .b2 .b3} {
  119. place forget $w
  120.     }
  121.     place .f -x 20 -y 30 -width 200 -height 200
  122.     place .f.f -x 15 -y 5 -width 150 -height 120
  123.     place .f.f.f -width 100 -height 80
  124.     place .b1 -in .f.f.f -x 50 -y 5
  125.     place .b2 -in .f.f.f -x 10 -y 25
  126.     place .b3 -in .f.f.f -x 50 -y 25
  127.     update
  128.     destroy .b2
  129.     button .b2 -text .b2
  130.     place .f.f.f -x 2 -y 3
  131.     update
  132.     list [winfo x .b1] [winfo y .b1] [winfo x .b2] [winfo y .b2] 
  133.     [winfo x .b3] [winfo y .b3]
  134. } {93 49 0 0 93 69}
  135. test geometry-4.5 {Tk_MaintainGeometry and Tk_UnmaintainGeometry} {
  136.     foreach w {.f .f.f .f.f.f .b1 .b2 .b3} {
  137. place forget $w
  138.     }
  139.     place .f -x 20 -y 30 -width 200 -height 200
  140.     place .f.f -x 15 -y 5 -width 150 -height 120
  141.     place .f.f.f -width 100 -height 80
  142.     place .b1 -in .f.f.f -x 50 -y 5
  143.     place .b2 -in .f.f.f -x 10 -y 25
  144.     place .b3 -in .f.f.f -x 50 -y 25
  145.     update
  146.     destroy .b3
  147.     button .b3 -text .b3
  148.     place .f.f.f -x 2 -y 3
  149.     update
  150.     list [winfo x .b1] [winfo y .b1] [winfo x .b2] [winfo y .b2] 
  151.     [winfo x .b3] [winfo y .b3]
  152. } {93 49 53 69 0 0}
  153. test geometry-4.6 {Tk_MaintainGeometry and Tk_UnmaintainGeometry} {
  154.     foreach w {.f .f.f .f.f.f .b1 .b2 .b3 .f.f.b4} {
  155. place forget $w
  156.     }
  157.     place .f -x 20 -y 30 -width 200 -height 200
  158.     place .f.f -x 15 -y 5 -width 150 -height 120
  159.     place .f.f.f -width 100 -height 80
  160.     place .f.f.b4 -in .f.f.f -x 50 -y 5
  161.     place .b2 -in .f.f.f -x 10 -y 25
  162.     update
  163.     place .f -x 25 -y 35
  164.     update
  165.     list [winfo x .f.f.b4] [winfo y .f.f.b4] [winfo x .b2] [winfo y .b2]
  166. } {54 9 56 71}
  167. test geometry-4.7 {Tk_MaintainGeometry and Tk_UnmaintainGeometry} {
  168.     foreach w {.f .f.f .f.f.f .b1 .b2 .b3 .f.f.b4} {
  169. place forget $w
  170.     }
  171.     bind .b1 <Configure> {lappend x configure}
  172.     place .f -x 20 -y 30 -width 200 -height 200
  173.     place .f.f -x 15 -y 5 -width 150 -height 120
  174.     place .f.f.f -width 100 -height 80
  175.     place .f.f.b4 -in .f.f.f -x 50 -y 5
  176.     place .b1 -in .f.f.f -x 10 -y 25
  177.     update
  178.     set x init
  179.     place .f -x 25 -y 35
  180.     update
  181.     lappend x |
  182.     place .f -x 30 -y 40
  183.     place .f.f -x 10 -y 0
  184.     update
  185.     bind .b1 <Configure> {}
  186.     set x
  187. } {init configure |}
  188. test geometry-4.8 {Tk_MaintainGeometry and Tk_UnmaintainGeometry} {
  189.     foreach w {.f .f.f .f.f.f .b1 .b2 .b3} {
  190. place forget $w
  191.     }
  192.     place .f -x 20 -y 30 -width 200 -height 200
  193.     place .f.f -x 15 -y 5 -width 150 -height 120
  194.     place .f.f.f -width 100 -height 80
  195.     place .b1 -in .f.f.f -x 50 -y 5
  196.     place .b2 -in .f.f.f -x 10 -y 25
  197.     place .b3 -in .f.f.f -x 50 -y 25
  198.     update
  199.     destroy .f.f
  200.     frame .f.f -bd 2 -relief raised
  201.     frame .f.f.f -bd 2 -relief raised
  202.     place .f -x 30 -y 25
  203.     update
  204.     list [winfo x .b1] [winfo y .b1] [winfo ismapped .b1] 
  205.     [winfo x .b2] [winfo y .b2] [winfo ismapped .b2] 
  206.     [winfo x .b3] [winfo y .b3] [winfo ismapped .b3]
  207. } {91 46 0 51 66 0 91 66 0}
  208. test geometry-4.9 {Tk_MaintainGeometry and Tk_UnmaintainGeometry} {
  209.     foreach w {.f .f.f .f.f.f .b1 .b2 .b3} {
  210. place forget $w
  211.     }
  212.     place .f -x 20 -y 30 -width 200 -height 200
  213.     place .f.f -x 15 -y 5 -width 150 -height 120
  214.     place .f.f.f -width 100 -height 80
  215.     place .b1 -in .f.f.f -x 50 -y 5
  216.     update
  217.     set result [winfo ismapped .b1]
  218.     place forget .f.f
  219.     update
  220.     lappend result [winfo ismapped .b1]
  221.     place .f.f -x 15 -y 5 -width 150 -height 120
  222.     update
  223.     lappend result [winfo ismapped .b1]
  224. } {1 0 1}
  225. test geometry-4.10 {Tk_MaintainGeometry and Tk_UnmaintainGeometry} {
  226.     toplevel .t
  227.     wm geometry .t +0+0
  228.     tkwait visibility .t
  229.     update
  230.     frame .t.f 
  231.     pack .t.f
  232.     button .t.quit -text Quit -command exit
  233.     pack .t.quit -in .t.f
  234.     wm iconify .t
  235.     set x 0
  236.     after 500 {set x 1}
  237.     tkwait variable x
  238.     wm deiconify .t
  239.     update
  240.     winfo ismapped .t.quit
  241. } {1}
  242. catch {destroy .t}
  243. # cleanup
  244. ::tcltest::cleanupTests
  245. return