From f92154d570a77f79d2ab1570879799f41062bd35 Mon Sep 17 00:00:00 2001 From: treectrl Date: Fri, 27 Oct 2006 22:52:30 +0000 Subject: Tweaked column drag-and-drop behaviour: when the pointer is over a column adjacent to the dragged column a drop is indicated without having to move the cursor to the left or right half of the adjacent column. --- library/treectrl.tcl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/library/treectrl.tcl b/library/treectrl.tcl index 2cf21ff..dd731dc 100644 --- a/library/treectrl.tcl +++ b/library/treectrl.tcl @@ -1,4 +1,4 @@ -# RCS: @(#) $Id: treectrl.tcl,v 1.29 2006/10/26 03:04:16 treectrl Exp $ +# RCS: @(#) $Id: treectrl.tcl,v 1.30 2006/10/27 22:52:30 treectrl Exp $ bind TreeCtrl { TreeCtrl::CursorCheck %W %x %y @@ -228,6 +228,7 @@ proc ::TreeCtrl::ColumnCanResizeLeft {w column} { # Arguments: # w The treectrl widget. # column The column. +# before The column to place 'column' before. proc ::TreeCtrl::ColumnCanMoveHere {w column before} { if {[$w column compare $column == $before] || @@ -606,8 +607,15 @@ proc ::TreeCtrl::Motion1 {w x y} { if {[lindex $id 0] eq "header"} { set column [lindex $id 1] set before $column + set prev [$w column id "$Priv(column) prev visible"] + set next [$w column id "$Priv(column) next visible"] if {[$w column compare $column == "tail"]} { set side left + } elseif {$prev ne "" && [$w column compare $prev == $column]} { + set side left + } elseif {$next ne "" && [$w column compare $next == $column]} { + set before [$w column id "$column next visible"] + set side right } else { scan [$w column bbox $column] "%d %d %d %d" x1 y1 x2 y2 if {$x < $x1 + ($x2 - $x1) / 2} { -- cgit v0.12