diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | generic/tkTreeCtrl.c | 8 |
2 files changed, 12 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2006-08-04 Jeff Hobbs <jeffh@ActiveState.com> + + * generic/tkTreeCtrl.c (TreeWidgetCmd): set the tk caret when the + active item changes. + 2006-04-05 Jeff Hobbs <jeffh@ActiveState.com> * generic/tkTreeCtrl.c (LoupeCmd): correct loupe on OS X x86. diff --git a/generic/tkTreeCtrl.c b/generic/tkTreeCtrl.c index c3aba10..0cc5c31 100644 --- a/generic/tkTreeCtrl.c +++ b/generic/tkTreeCtrl.c @@ -7,7 +7,7 @@ * Copyright (c) 2002-2003 Christian Krone * Copyright (c) 2003-2005 ActiveState, a division of Sophos * - * RCS: @(#) $Id: tkTreeCtrl.c,v 1.59 2006/04/06 00:30:55 hobbs2 Exp $ + * RCS: @(#) $Id: tkTreeCtrl.c,v 1.60 2006/08/04 22:49:37 hobbs2 Exp $ */ #include "tkTreeCtrl.h" @@ -487,10 +487,16 @@ static int TreeWidgetCmd( goto error; } if (item != tree->activeItem) { + int x, y, w, h; + TreeNotify_ActiveItem(tree, tree->activeItem, item); TreeItem_ChangeState(tree, tree->activeItem, STATE_ACTIVE, 0); tree->activeItem = item; TreeItem_ChangeState(tree, tree->activeItem, 0, STATE_ACTIVE); + if (Tree_ItemBbox(tree, item, &x, &y, &w, &h) >= 0) { + Tk_SetCaretPos(tree->tkwin, x - tree->xOrigin, + y - tree->yOrigin, h); + } } break; } |