diff options
author | treectrl <treectrl> | 2006-09-22 23:26:13 (GMT) |
---|---|---|
committer | treectrl <treectrl> | 2006-09-22 23:26:13 (GMT) |
commit | 3ae581d1d15385c58159944f220106ecce9559ea (patch) | |
tree | 5e69b7f5c03bc41a199f91c6448331c2ea5c5c29 /generic/tkTreeCtrl.c | |
parent | ecf002382d4b4eefc337852f9874541c4e240083 (diff) | |
download | tktreectrl-3ae581d1d15385c58159944f220106ecce9559ea.zip tktreectrl-3ae581d1d15385c58159944f220106ecce9559ea.tar.gz tktreectrl-3ae581d1d15385c58159944f220106ecce9559ea.tar.bz2 |
Added Tree_StateFromListObj.
Diffstat (limited to 'generic/tkTreeCtrl.c')
-rw-r--r-- | generic/tkTreeCtrl.c | 42 |
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 -- |