diff options
author | lecoanet | 2002-07-05 14:32:10 +0000 |
---|---|---|
committer | lecoanet | 2002-07-05 14:32:10 +0000 |
commit | 8b96bb04a6351fcce81cdbf17d88ba0db343bd25 (patch) | |
tree | 5a07208755e45cbd508fdd04fec3354c2e9cf021 | |
parent | 1197f6f5c3740c9d60a1a8bdb54b13eb77789fbe (diff) | |
download | tkzinc-8b96bb04a6351fcce81cdbf17d88ba0db343bd25.zip tkzinc-8b96bb04a6351fcce81cdbf17d88ba0db343bd25.tar.gz tkzinc-8b96bb04a6351fcce81cdbf17d88ba0db343bd25.tar.bz2 tkzinc-8b96bb04a6351fcce81cdbf17d88ba0db343bd25.tar.xz |
* (HasTag): Ajout de la m�thode HasTag.
-rw-r--r-- | generic/Item.c | 31 | ||||
-rw-r--r-- | generic/Item.h | 1 |
2 files changed, 32 insertions, 0 deletions
diff --git a/generic/Item.c b/generic/Item.c index 43121eb..2668f1a 100644 --- a/generic/Item.c +++ b/generic/Item.c @@ -1759,6 +1759,36 @@ FreeTags(Item item) /* ********************************************************************************** * + * HasTag -- Method + * + ********************************************************************************** + */ +static ZnBool +HasTag(Item item, + Tk_Uid tag) +{ + int num; + Tk_Uid *tags; + + if (!item->tags || !ZnListSize(item->tags)) { + return False; + } + else { + num = ZnListSize(item->tags); + tags = ZnListArray(item->tags); + for (tags = ZnListArray(item->tags); num > 0; tags++, num--) { + if (*tags == tag) { + return True; + } + } + } + return False; +} + + +/* + ********************************************************************************** + * * ZnCreateItem -- * * InsertItem and ConfigureItem must be called after CreateItem @@ -2685,6 +2715,7 @@ struct _ITEM ITEM = { AddTag, RemoveTag, FreeTags, + HasTag, ResetTransfo, SetTransfo, TranslateItem, diff --git a/generic/Item.h b/generic/Item.h index 21dc2c2..8fb19e7 100644 --- a/generic/Item.h +++ b/generic/Item.h @@ -223,6 +223,7 @@ extern struct _ITEM { void (*AddTag)(Item item, Tk_Uid tag); void (*RemoveTag)(Item item, Tk_Uid tag); void (*FreeTags)(Item item); + ZnBool (*HasTag)(Item item, Tk_Uid tag); void (*ResetTransfo)(Item item); void (*SetTransfo)(Item item, struct _ZnTransfo *t); void (*TranslateItem)(Item item, ZnReal tx, ZnReal ty); |