summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authortreectrl <treectrl>2005-05-13 20:04:25 (GMT)
committertreectrl <treectrl>2005-05-13 20:04:25 (GMT)
commit9fa1a3325acfc3f6dd33fa8b549402088db8bc94 (patch)
tree3c3b7e682f6aba6ee9e8fdfc864f4a8deaa28596 /generic
parentfe01599852de9825b9f9aca8d50fce4c998cd689 (diff)
downloadtktreectrl-9fa1a3325acfc3f6dd33fa8b549402088db8bc94.zip
tktreectrl-9fa1a3325acfc3f6dd33fa8b549402088db8bc94.tar.gz
tktreectrl-9fa1a3325acfc3f6dd33fa8b549402088db8bc94.tar.bz2
Return a better error when attempting to retrieve configuration info for an element that has never been configured for an item.
Diffstat (limited to 'generic')
-rw-r--r--generic/tkTreeStyle.c27
1 files changed, 23 insertions, 4 deletions
diff --git a/generic/tkTreeStyle.c b/generic/tkTreeStyle.c
index ce351f9..1fe3dd7 100644
--- a/generic/tkTreeStyle.c
+++ b/generic/tkTreeStyle.c
@@ -5,7 +5,7 @@
*
* Copyright (c) 2002-2005 Tim Baker
*
- * RCS: @(#) $Id: tkTreeStyle.c,v 1.21 2005/05/11 03:24:48 treectrl Exp $
+ * RCS: @(#) $Id: tkTreeStyle.c,v 1.22 2005/05/13 20:04:25 treectrl Exp $
*/
#include "tkTreeCtrl.h"
@@ -2671,7 +2671,8 @@ void TreeStyle_TreeChanged(TreeCtrl *tree, int flagT)
}
}
-int TreeStyle_ElementCget(TreeCtrl *tree, TreeStyle style_, Tcl_Obj *elemObj, Tcl_Obj *obj)
+int TreeStyle_ElementCget(TreeCtrl *tree, TreeItem item,
+ TreeItemColumn column, TreeStyle style_, Tcl_Obj *elemObj, Tcl_Obj *obj)
{
Style *style = (Style *) style_;
Tcl_Obj *resultObjPtr = NULL;
@@ -2683,7 +2684,16 @@ int TreeStyle_ElementCget(TreeCtrl *tree, TreeStyle style_, Tcl_Obj *elemObj, Tc
eLink = Style_FindElem(tree, style, elem, NULL);
if ((eLink != NULL) && (eLink->elem == elem) && (style->master != NULL))
- eLink = NULL;
+ {
+ int index = TreeItemColumn_Index(tree, item, column);
+ TreeColumn treeColumn = Tree_FindColumn(tree, index);
+
+ FormatResult(tree->interp,
+ "element %s is not configured in item %s%d column %s%d",
+ elem->name, tree->itemPrefix, TreeItem_GetID(tree, item),
+ tree->columnPrefix, TreeColumn_GetID(treeColumn));
+ return TCL_ERROR;
+ }
if (eLink == NULL)
{
FormatResult(tree->interp, "style %s does not use element %s",
@@ -2719,7 +2729,16 @@ int TreeStyle_ElementConfigure(TreeCtrl *tree, TreeItem item,
eLink = Style_FindElem(tree, style, elem, NULL);
if ((eLink != NULL) && (eLink->elem == elem) && (style->master != NULL))
- eLink = NULL;
+ {
+ int index = TreeItemColumn_Index(tree, item, column);
+ TreeColumn treeColumn = Tree_FindColumn(tree, index);
+
+ FormatResult(tree->interp,
+ "element %s is not configured in item %s%d column %s%d",
+ elem->name, tree->itemPrefix, TreeItem_GetID(tree, item),
+ tree->columnPrefix, TreeColumn_GetID(treeColumn));
+ return TCL_ERROR;
+ }
if (eLink == NULL)
{
FormatResult(tree->interp, "style %s does not use element %s",