From a34cb808fda14b436101d71da77cf3786ea294e6 Mon Sep 17 00:00:00 2001 From: lecoanet Date: Tue, 23 Jan 2007 16:08:27 +0000 Subject: tset has been changed to allow setting all items related to a given tag. --- generic/tkZinc.c | 19 +++++++++++-------- 1 file 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; } -- cgit v1.1