summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authortreectrl <treectrl>2005-03-29 21:01:30 (GMT)
committertreectrl <treectrl>2005-03-29 21:01:30 (GMT)
commit435b61277d662a0420b51336a64303e0bdbb77a1 (patch)
treeaab3fd34c76b79baba1e8ee0f34fc257b41735d3 /generic
parent7a0d95ea506798e0118b90445ce55b3c36459eb7 (diff)
downloadtktreectrl-435b61277d662a0420b51336a64303e0bdbb77a1.zip
tktreectrl-435b61277d662a0420b51336a64303e0bdbb77a1.tar.gz
tktreectrl-435b61277d662a0420b51336a64303e0bdbb77a1.tar.bz2
New -showrootlines config option.
Check for visible next sibling before reporting "line" in "identify" command.
Diffstat (limited to 'generic')
-rw-r--r--generic/tkTreeCtrl.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/generic/tkTreeCtrl.c b/generic/tkTreeCtrl.c
index 9033209..ce7605b 100644
--- a/generic/tkTreeCtrl.c
+++ b/generic/tkTreeCtrl.c
@@ -7,7 +7,7 @@
* Copyright (c) 2002-2003 Christian Krone
* Copyright (c) 2003-2004 ActiveState, a division of Sophos
*
- * RCS: @(#) $Id: tkTreeCtrl.c,v 1.29 2005/01/03 21:46:06 treectrl Exp $
+ * RCS: @(#) $Id: tkTreeCtrl.c,v 1.30 2005/03/29 21:01:30 treectrl Exp $
*/
#include "tkTreeCtrl.h"
@@ -184,6 +184,9 @@ static Tk_OptionSpec optionSpecs[] = {
{TK_OPTION_BOOLEAN, "-showlines", "showLines",
"ShowLines", "1", -1, Tk_Offset(TreeCtrl, showLines),
0, (ClientData) NULL, TREE_CONF_REDISPLAY},
+ {TK_OPTION_BOOLEAN, "-showrootlines", "showRootLines",
+ "ShowRootLines", "1", -1, Tk_Offset(TreeCtrl, showRootLines),
+ 0, (ClientData) NULL, TREE_CONF_REDISPLAY},
{TK_OPTION_BOOLEAN, "-showroot", "showRoot",
"ShowRoot", "1", -1, Tk_Offset(TreeCtrl, showRoot),
0, (ClientData) NULL, TREE_CONF_RELAYOUT},
@@ -702,10 +705,14 @@ static int TreeWidgetCmd(ClientData clientData, Tcl_Interp *interp, int objc,
sprintf(buf + strlen(buf), " button");
}
else if (tree->showLines) {
+ TreeItem sibling;
do {
item = TreeItem_GetParent(tree, item);
} while (++column < depth);
- if (TreeItem_GetNextSibling(tree, item) != NULL)
+ sibling = TreeItem_NextSiblingVisible(tree, item);
+ if ((sibling != NULL) &&
+ ((TreeItem_GetParent(tree, sibling) != tree->root) ||
+ tree->showRootLines))
sprintf(buf + strlen(buf), " line %s%d", itemPrefix,
TreeItem_GetID(tree, item)); /* TreeItem_ToObj() */
}