From 7c721b9ff653fcfb40e57d6c782ed1fc87c2b5ad Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Thu, 25 Sep 2025 23:26:57 +0200 Subject: [PATCH] added some functions. --- src/lib/aqdiagram/draw/w_drawable.c | 43 +++++++++++++++++++++++++++++ src/lib/aqdiagram/draw/w_drawable.h | 3 ++ 2 files changed, 46 insertions(+) diff --git a/src/lib/aqdiagram/draw/w_drawable.c b/src/lib/aqdiagram/draw/w_drawable.c index 86ac2fa..e3eef45 100644 --- a/src/lib/aqdiagram/draw/w_drawable.c +++ b/src/lib/aqdiagram/draw/w_drawable.c @@ -455,6 +455,49 @@ int AQDG_DrawableWidget_GetTextHeight(AQDG_OBJECT *object) +AQDG_OBJECT *AQDG_DrawableWidget_GetFirstVisibleChild(const AQDG_OBJECT *o) +{ + if (o) { + AQDG_OBJECT *child; + + child=AQDG_Object_Tree2_GetFirstChild(o); + while(child) { + if (child && !(AQDG_Object_GetFlags(child) & AQDG_OBJECT_FLAGS_HIDDEN)) + return child; + child=AQDG_Object_Tree2_GetNext(child); + } + } + return NULL; +} + + + +AQDG_OBJECT *AQDG_DrawableWidget_GetNextVisibleWidget(AQDG_OBJECT *o) +{ + while(o) { + o=AQDG_Object_Tree2_GetNext(o); + if (o && !(AQDG_Object_GetFlags(o) & AQDG_OBJECT_FLAGS_HIDDEN)) + return o; + } + return NULL; +} + + + +void AQDG_DrawableWidget_UnhideAllChildren(AQDG_OBJECT *o) +{ + AQDG_OBJECT *child; + + child=AQDG_Object_Tree2_GetFirstChild(o); + while(child) { + AQDG_Object_SubFlags(child, AQDG_OBJECT_FLAGS_HIDDEN); + child=AQDG_Object_Tree2_GetNext(child); + } +} + + + + diff --git a/src/lib/aqdiagram/draw/w_drawable.h b/src/lib/aqdiagram/draw/w_drawable.h index 1ec3d4e..36967c2 100644 --- a/src/lib/aqdiagram/draw/w_drawable.h +++ b/src/lib/aqdiagram/draw/w_drawable.h @@ -77,6 +77,9 @@ AQDG_API void AQDG_DrawableWidget_UpdateTextContentDims(AQDG_OBJECT *object); AQDG_API int AQDG_DrawableWidget_GetTextWidth(AQDG_OBJECT *object); AQDG_API int AQDG_DrawableWidget_GetTextHeight(AQDG_OBJECT *object); +AQDG_API AQDG_OBJECT *AQDG_DrawableWidget_GetFirstVisibleChild(const AQDG_OBJECT *o); +AQDG_API AQDG_OBJECT *AQDG_DrawableWidget_GetNextVisibleWidget(AQDG_OBJECT *o); +AQDG_API void AQDG_DrawableWidget_UnhideAllChildren(AQDG_OBJECT *o); #endif