diff options
author | pspjuth <peter.spjuth@gmail.com> | 2019-09-26 21:28:01 (GMT) |
---|---|---|
committer | pspjuth <peter.spjuth@gmail.com> | 2019-09-26 21:28:01 (GMT) |
commit | 1034267ff97e1ff0f7eb090089af612306dd71b6 (patch) | |
tree | e1e6d78ddce5f7cd5741393ac8cfbb663ef39b33 /library | |
parent | b1d79b915cb64b3acfa639e5ba157fbb69902d5b (diff) | |
download | tk-1034267ff97e1ff0f7eb090089af612306dd71b6.zip tk-1034267ff97e1ff0f7eb090089af612306dd71b6.tar.gz tk-1034267ff97e1ff0f7eb090089af612306dd71b6.tar.bz2 |
Better cellselection bindings
Diffstat (limited to 'library')
-rw-r--r-- | library/ttk/treeview.tcl | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/library/ttk/treeview.tcl b/library/ttk/treeview.tcl index b2ef7ad..1cfb4fe 100644 --- a/library/ttk/treeview.tcl +++ b/library/ttk/treeview.tcl @@ -22,6 +22,7 @@ namespace eval ttk::treeview { set State(heading) {} set State(cellAnchor) {} + set State(cellAnchorOp) "set" } ### Widget bindings. @@ -320,8 +321,11 @@ proc ttk::treeview::select.choose.extended {w item cell} { BrowseTo $w $item $cell } proc ttk::treeview::select.toggle.extended {w item cell} { + variable State if {$cell ne ""} { $w cellselection toggle [list $cell] + set State(cellAnchor) $cell + set State(cellAnchorOp) add } else { $w selection toggle [list $item] } @@ -330,7 +334,7 @@ proc ttk::treeview::select.extend.extended {w item cell} { variable State if {$cell ne ""} { if {$State(cellAnchor) ne ""} { - $w cellselection set $State(cellAnchor) $cell + $w cellselection $State(cellAnchorOp) $State(cellAnchor) $cell } else { BrowseTo $w $item $cell } @@ -432,6 +436,7 @@ proc ttk::treeview::BrowseTo {w item cell} { $w see $item $w focus $item set State(cellAnchor) $cell + set State(cellAnchorOp) set if {$cell ne ""} { $w cellselection set [list $cell] } else { |