From df5c976aa88acc56a303411ae481f9c1c89f4f69 Mon Sep 17 00:00:00 2001 From: treectrl Date: Mon, 21 Jul 2008 18:36:41 +0000 Subject: The and arrow keys expand/collapse the current item if -orient=vertical and -wrap={}. --- library/treectrl.tcl | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/library/treectrl.tcl b/library/treectrl.tcl index e2e2dee..c63dd6a 100644 --- a/library/treectrl.tcl +++ b/library/treectrl.tcl @@ -1,4 +1,4 @@ -# RCS: @(#) $Id: treectrl.tcl,v 1.39 2006/12/07 03:47:01 treectrl Exp $ +# RCS: @(#) $Id: treectrl.tcl,v 1.40 2008/07/21 18:36:41 treectrl Exp $ bind TreeCtrl { TreeCtrl::CursorCheck %W %x %y @@ -53,7 +53,11 @@ bind TreeCtrl { TreeCtrl::Extend %W below } bind TreeCtrl { - TreeCtrl::SetActiveItem %W [TreeCtrl::LeftRight %W active -1] + if {[%W cget -orient] eq "vertical" && [%W cget -wrap] eq ""} { + %W item collapse [%W item id active] + } else { + TreeCtrl::SetActiveItem %W [TreeCtrl::LeftRight %W active -1] + } } bind TreeCtrl { TreeCtrl::Extend %W left @@ -62,7 +66,11 @@ bind TreeCtrl { %W xview scroll -1 pages } bind TreeCtrl { - TreeCtrl::SetActiveItem %W [TreeCtrl::LeftRight %W active 1] + if {[%W cget -orient] eq "vertical" && [%W cget -wrap] eq ""} { + %W item expand [%W item id active] + } else { + TreeCtrl::SetActiveItem %W [TreeCtrl::LeftRight %W active 1] + } } bind TreeCtrl { TreeCtrl::Extend %W right -- cgit v0.12