From: SourceForge.net <no...@so...> - 2012-04-18 14:38:41
|
Bugs item #3519160, was opened at 2012-04-18 07:36 Message generated for change (Settings changed) made by stefanlei You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=3519160&group_id=12997 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Deleted Resolution: None Priority: 5 Private: Yes Submitted By: stefanl (stefanlei) Assigned to: Nobody/Anonymous (nobody) Summary: Problem with horizontal scroll of treeview Initial Comment: The horizontal scrollbar for a ttk::treeview does not work as expected (and as it does for a text widget). While initially the scrollbar appears fine and a corresponding fraction of the tree is displayed, this changes after the tree has been displayed once in its full width. Afterwards the scrollbar is and remains forever at 100%, no matter how small a tree width is chosen. The scroll command specified with the –xscrollcommand option is then always called with additional arguments 0.0 and 1.0. Problem occurs with Tcl/Tk 8.5.11 on Windows 7 and SuSE Linux. The following piece of code demonstrates the problem (If you replace ttk::treeview by text everything looks great): # purpose: test horizontal treeview scrolling wm withdraw . toplevel .ft -takefocus 0 wm geometry .ft =80x300+80+80 ttk::frame .ft.lf pack .ft.lf -expand yes -fill both ttk::scrollbar .ft.lf.hs -orient horiz -command ".ft.tf xview" ttk::scrollbar .ft.lf.vs -command ".ft.tf yview" ttk::treeview .ft.lf.tf -show tree -xscrollcommand "hscrollf .ft.lf" -yscrollcommand "vscrollf .ft.lf" grid .ft.lf.tf -row 0 -column 0 -sticky nsew grid .ft.lf.vs -row 0 -column 1 -sticky ns grid .ft.lf.hs -row 1 -column 0 -sticky we grid rowconfig .ft.lf 0 -weight 1 grid columnconfig .ft.lf 0 -weight 1 # populate tree foreach node [list " Entry0 " " Entry111111111111 " " Entry22222222222222222222 " " Entry3333333333333333333333333 "] { .ft.lf.tf insert {} end -text $node } # Vertical scrolling proc vscrollf {mw first last} { if {[expr {$first > 0.0}] || [expr {$last < 1.0}]} { grid $mw.vs -row 0 -column 1 -sticky ns $mw.vs set $first $last } else {catch {after idle grid remove $mw.vs}} } # Horizontal scrolling proc hscrollf {mw first last} { puts "f=$first, l=$last" if {[expr {$first > 0.0}] || [expr {$last < 1.0}]} { grid $mw.hs -row 1 -column 0 -sticky we $mw.hs set $first $last } else {catch {after idle grid remove $mw.hs}} } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=3519160&group_id=12997 |