diff options
author | fvogel <fvogelnew1@free.fr> | 2020-04-25 09:51:05 (GMT) |
---|---|---|
committer | fvogel <fvogelnew1@free.fr> | 2020-04-25 09:51:05 (GMT) |
commit | 6519b36fb401f59774724712a21612a5ee425c8b (patch) | |
tree | b72c6b15c310458b2f130de6f1d0c6ed96d9f48a /tests | |
parent | 1afc315dca16fd15e78f5114bc1a8a17e48737e6 (diff) | |
parent | e16a5dd892d5464644a6cd65b9a0eba7b5752a6a (diff) | |
download | tk-6519b36fb401f59774724712a21612a5ee425c8b.zip tk-6519b36fb401f59774724712a21612a5ee425c8b.tar.gz tk-6519b36fb401f59774724712a21612a5ee425c8b.tar.bz2 |
Fix [14188104c3]: ttk::treeview scrollbar not updating. Thanks to cjmcdonald for the report. The actually applied patch turned out to be different from the proposal since it could be demonstrated that the new testcases pass without the wrong line in TreeviewSeeCommand (and for understandable reasons).
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ttk/treeview.test | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/ttk/treeview.test b/tests/ttk/treeview.test index 270ddf0..43dd249 100644 --- a/tests/ttk/treeview.test +++ b/tests/ttk/treeview.test @@ -508,6 +508,60 @@ test treeview-9.1 "scrolling" -setup { destroy .tree } -result {I006} +test treeview-9.2 {scrolling on see command - bug [14188104c3]} -setup { + toplevel .top + ttk::treeview .top.tree -show {} -height 10 -columns {label} \ + -yscrollcommand [list .top.vs set] + ttk::scrollbar .top.vs -command {.top.tree yview} + grid .top.tree -row 0 -column 0 -sticky ns + grid .top.vs -row 0 -column 1 -sticky ns + update + proc setrows {n} { + .top.tree delete [.top.tree children {}] + for {set i 1} {$i <= $n} {incr i} { + .top.tree insert {} end -id row$i \ + -values [list [format "Row %2.2d" $i]] + } + .top.tree see row1 + update idletasks + } +} -body { + setrows 10 + set res [.top.vs get] + setrows 20 + lappend res [expr [lindex [.top.vs get] 1] < 1] +} -cleanup { + destroy .top +} -result {0.0 1.0 1} + +test treeview-9.3 {scrolling on see command, requested item is closed} -setup { + toplevel .top + ttk::treeview .top.tree -show tree -height 10 -columns {label} \ + -yscrollcommand [list .top.vs set] + ttk::scrollbar .top.vs -command {.top.tree yview} + grid .top.tree -row 0 -column 0 -sticky ns + grid .top.vs -row 0 -column 1 -sticky ns + + .top.tree insert {} end -id a -text a + .top.tree insert a end -id b -text b + .top.tree insert b end -id c -text c + .top.tree insert c end -id d -text d + .top.tree insert d end -id e -text e + for {set i 6} {$i <= 15} {incr i} { + .top.tree insert {} end -id row$i \ + -values [list [format "Row %2.2d" $i]] + } + update +} -body { + set before [lindex [.top.vs get] 1] + .top.tree see e + update idletasks + set after [lindex [.top.vs get] 1] + expr $after < $before +} -cleanup { + destroy .top +} -result {1} + ### identify tests: # proc identify* {tv comps args} { |