diff options
author | lecoanet | 2007-01-23 16:08:27 +0000 |
---|---|---|
committer | lecoanet | 2007-01-23 16:08:27 +0000 |
commit | a34cb808fda14b436101d71da77cf3786ea294e6 (patch) | |
tree | 9424affce5370ccb158237db27d26378c06d2ef8 /generic | |
parent | 42f902be35e6349b7121542cd5133d24fa751078 (diff) | |
download | tkzinc-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.
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tkZinc.c | 19 |
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; } |