diff options
author | treectrl <treectrl> | 2005-03-29 21:01:30 (GMT) |
---|---|---|
committer | treectrl <treectrl> | 2005-03-29 21:01:30 (GMT) |
commit | 435b61277d662a0420b51336a64303e0bdbb77a1 (patch) | |
tree | aab3fd34c76b79baba1e8ee0f34fc257b41735d3 /generic | |
parent | 7a0d95ea506798e0118b90445ce55b3c36459eb7 (diff) | |
download | tktreectrl-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.c | 11 |
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() */ } |