aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlecoanet2007-01-23 16:08:27 +0000
committerlecoanet2007-01-23 16:08:27 +0000
commita34cb808fda14b436101d71da77cf3786ea294e6 (patch)
tree9424affce5370ccb158237db27d26378c06d2ef8
parent42f902be35e6349b7121542cd5133d24fa751078 (diff)
downloadtkzinc-a34cb808fda14b436101d71da77cf3786ea294e6.zip
tkzinc-a34cb808fda14b436101d71da77cf3786ea294e6.tar.gz
tkzinc-a34cb808fda14b436101d71da77cf3786ea294e6.tar.bz2
tkzinc-a34cb808fda14b436101d71da77cf3786ea294e6.tar.xz
tset has been changed to allow setting all items related to a given tag.
-rw-r--r--generic/tkZinc.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/generic/tkZinc.c b/generic/tkZinc.c
index d737cfb..c2e481d 100644
--- a/generic/tkZinc.c
+++ b/generic/tkZinc.c
@@ -6525,18 +6525,21 @@ WidgetObjCmd(ClientData client_data, /* Information about the widget.
entry = Tcl_FindHashEntry(wi->t_table, str);
if (entry != NULL) {
t = (ZnTransfo *) Tcl_GetHashValue(entry);
- *t = new;
}
else {
- result = ZnItemWithTagOrId(wi, args[2], &item, &search_var);
- if ((result == TCL_ERROR) || (item == ZN_NO_ITEM)) {
- Tcl_ResetResult(interp);
- Tcl_AppendResult(interp, "\"", Tcl_GetString(args[2]),
- "\" must be either a tag, ",
- "an id or a transform name", (char *) NULL);
+ if (ZnTagSearchScan(wi, args[2], &search_var) == TCL_ERROR) {
goto error;
}
- ZnITEM.SetTransfo(item, &new);
+
+ if (t) {
+ *t = new;
+ }
+ else {
+ for (item = ZnTagSearchFirst(search_var);
+ item != ZN_NO_ITEM; item = ZnTagSearchNext(search_var)) {
+ ZnITEM.SetTransfo(item, &new);
+ }
+ }
}
break;
}