From cf87f3a2f26c1524e45df40f9df717c5dd4d7fff Mon Sep 17 00:00:00 2001 From: lecoanet Date: Tue, 29 Aug 2006 08:55:49 +0000 Subject: Added a -catchevent attribute that specifies whether an item should handle events or act as a decorating object. Groups can be controlled too, there catching state propagates to their children. --- generic/Icon.c | 4 ++++ generic/Map.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/generic/Icon.c b/generic/Icon.c index 5b9eae8..ab99429 100644 --- a/generic/Icon.c +++ b/generic/Icon.c @@ -53,6 +53,9 @@ typedef struct _IconItemStruct { static ZnAttrConfig icon_attrs[] = { { ZN_CONFIG_ANCHOR, "-anchor", NULL, Tk_Offset(IconItemStruct, anchor), 0, ZN_COORDS_FLAG, False }, + { ZN_CONFIG_BOOL, "-catchevent", NULL, + Tk_Offset(IconItemStruct, header.flags), ZN_CATCH_EVENT_BIT, + ZN_REPICK_FLAG, False }, { ZN_CONFIG_GRADIENT, "-color", NULL, Tk_Offset(IconItemStruct, color), 0, ZN_DRAW_FLAG, False }, { ZN_CONFIG_BOOL, "-composealpha", NULL, @@ -113,6 +116,7 @@ Init(ZnItem item, /* Init attributes */ SET(item->flags, ZN_VISIBLE_BIT); SET(item->flags, ZN_SENSITIVE_BIT); + SET(item->flags, ZN_CATCH_EVENT_BIT); SET(item->flags, ZN_COMPOSE_ALPHA_BIT); SET(item->flags, ZN_COMPOSE_ROTATION_BIT); SET(item->flags, ZN_COMPOSE_SCALE_BIT); diff --git a/generic/Map.c b/generic/Map.c index cba3d14..37b1549 100644 --- a/generic/Map.c +++ b/generic/Map.c @@ -72,6 +72,8 @@ typedef struct _MapItemStruct { static ZnAttrConfig map_attrs[] = { + { ZN_CONFIG_BOOL, "-catchevent", NULL, + Tk_Offset(MapItemStruct, header.flags), ZN_CATCH_EVENT_BIT, ZN_REPICK_FLAG, False }, { ZN_CONFIG_GRADIENT, "-color", NULL, Tk_Offset(MapItemStruct, color), 0, ZN_DRAW_FLAG, False }, { ZN_CONFIG_BOOL, "-composealpha", NULL, @@ -192,6 +194,7 @@ Init(ZnItem item, SET(item->flags, ZN_VISIBLE_BIT); CLEAR(item->flags, ZN_SENSITIVE_BIT); + CLEAR(item->flags, ZN_CATCH_EVENT_BIT); SET(item->flags, ZN_COMPOSE_ALPHA_BIT); SET(item->flags, ZN_COMPOSE_ROTATION_BIT); SET(item->flags, ZN_COMPOSE_SCALE_BIT); -- cgit v1.1