From cdcbc4c8ecf459b0a8f67fe0d016ee440cfee4d9 Mon Sep 17 00:00:00 2001 From: hobbs2 Date: Fri, 4 Aug 2006 22:49:37 +0000 Subject: * generic/tkTreeCtrl.c (TreeWidgetCmd): set the tk caret when the active item changes. --- ChangeLog | 5 +++++ generic/tkTreeCtrl.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 62b77bf..6dcb54a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-08-04 Jeff Hobbs + + * generic/tkTreeCtrl.c (TreeWidgetCmd): set the tk caret when the + active item changes. + 2006-04-05 Jeff Hobbs * 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; } -- cgit v0.12