summaryrefslogtreecommitdiffstats
path: root/generic/tkTreeCtrl.c
diff options
context:
space:
mode:
authortreectrl <treectrl>2006-09-22 23:26:13 (GMT)
committertreectrl <treectrl>2006-09-22 23:26:13 (GMT)
commit3ae581d1d15385c58159944f220106ecce9559ea (patch)
tree5e69b7f5c03bc41a199f91c6448331c2ea5c5c29 /generic/tkTreeCtrl.c
parentecf002382d4b4eefc337852f9874541c4e240083 (diff)
downloadtktreectrl-3ae581d1d15385c58159944f220106ecce9559ea.zip
tktreectrl-3ae581d1d15385c58159944f220106ecce9559ea.tar.gz
tktreectrl-3ae581d1d15385c58159944f220106ecce9559ea.tar.bz2
Added Tree_StateFromListObj.
Diffstat (limited to 'generic/tkTreeCtrl.c')
-rw-r--r--generic/tkTreeCtrl.c42
1 files changed, 41 insertions, 1 deletions
diff --git a/generic/tkTreeCtrl.c b/generic/tkTreeCtrl.c
index 72582c6..d34f8d9 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.63 2006/09/21 05:54:28 treectrl Exp $
+ * RCS: @(#) $Id: tkTreeCtrl.c,v 1.64 2006/09/22 23:26:30 treectrl Exp $
*/
#include "tkTreeCtrl.h"
@@ -2064,6 +2064,46 @@ unknown:
}
/*
+ *----------------------------------------------------------------------
+ *
+ * Tree_StateFromListObj --
+ *
+ * Call Tree_StateFromObj for a Tcl_Obj list object.
+ *
+ * Results:
+ * A standard Tcl result.
+ *
+ * Side effects:
+ * None.
+ *
+ *----------------------------------------------------------------------
+ */
+
+int
+Tree_StateFromListObj(
+ TreeCtrl *tree, /* Widget info. */
+ Tcl_Obj *obj, /* List of states. */
+ int states[3], /* Uninitialized state flags, indexed by the
+ * STATE_OP_xxx contants. A single flag
+ * may be turned on or off in each value. */
+ int flags /* SFO_xxx flags. */
+ )
+{
+ Tcl_Interp *interp = tree->interp;
+ int i, listObjc;
+ Tcl_Obj **listObjv;
+
+ states[0] = states[1] = states[2] = 0;
+ if (Tcl_ListObjGetElements(interp, obj, &listObjc, &listObjv) != TCL_OK)
+ return TCL_ERROR;
+ for (i = 0; i < listObjc; i++) {
+ if (Tree_StateFromObj(tree, listObjv[i], states, NULL, flags) != TCL_OK)
+ return TCL_ERROR;
+ }
+ return TCL_OK;
+}
+
+/*
*--------------------------------------------------------------
*
* TreeStateCmd --