From 56544212b1a40004d2e5822a6c3fbdbd2195c1bf Mon Sep 17 00:00:00 2001 From: Nishi Date: Tue, 12 May 2026 09:49:06 +0900 Subject: [PATCH] add MwTreeViewGetOpened --- include/Mw/Widget/TreeView.h | 13 +++++++++++++ src/widget/tab.c | 2 +- src/widget/treeview.c | 10 ++++++++++ tools/icon-converter.c | 16 ++++++++-------- 4 files changed, 32 insertions(+), 9 deletions(-) diff --git a/include/Mw/Widget/TreeView.h b/include/Mw/Widget/TreeView.h index b722e14..f76f6af 100644 --- a/include/Mw/Widget/TreeView.h +++ b/include/Mw/Widget/TreeView.h @@ -90,6 +90,19 @@ MwInline void MwTreeViewSetOpened(MwWidget handle, void* item, int opened) { MwVaWidgetExecute(handle, "mwTreeViewSetOpened", NULL, item, opened); } +/*! + * @brief Gets the opened state of ithe item + * @param handle Widget + * @param item Item + * @return Opened or not + */ +MwInline int MwTreeViewGetOpened(MwWidget handle, void* item) { + int out; + MwVaWidgetExecute(handle, "mwTreeViewGetOpened", (void*)&out, item); + + return out; +} + #ifdef __cplusplus } #endif diff --git a/src/widget/tab.c b/src/widget/tab.c index ec98971..11d5861 100644 --- a/src/widget/tab.c +++ b/src/widget/tab.c @@ -96,7 +96,7 @@ static void draw(MwWidget handle) { MwDrawFrame(handle, &r3, c, 1); MwLLClip(handle->lowlevel, NULL); - }else if(n == 1 && i == 0){ + } else if(n == 1 && i == 0) { MwRect r3 = r2; r3.y = tab_height(handle); diff --git a/src/widget/treeview.c b/src/widget/treeview.c index 9979f9c..3486b14 100644 --- a/src/widget/treeview.c +++ b/src/widget/treeview.c @@ -435,6 +435,12 @@ static void mwTreeViewSetOpenedImpl(MwWidget handle, void* item, int opened) { } } +static int mwTreeViewGetOpenedImpl(MwWidget handle, void* item) { + MwTreeViewEntry* e = item; + + return e->opened; +} + static void func_handler(MwWidget handle, const char* name, void* out, va_list va) { if(strcmp(name, "mwTreeViewAdd") == 0) { void* parent = va_arg(va, void*); @@ -468,6 +474,10 @@ static void func_handler(MwWidget handle, const char* name, void* out, va_list v int opened = va_arg(va, int); mwTreeViewSetOpenedImpl(handle, item, opened); } + if(strcmp(name, "mwTreeViewGetOpened") == 0) { + void* item = va_arg(va, void*); + *(int*)out = mwTreeViewGetOpenedImpl(handle, item); + } } static void tick(MwWidget handle) { diff --git a/tools/icon-converter.c b/tools/icon-converter.c index 0a3ece8..11dc451 100644 --- a/tools/icon-converter.c +++ b/tools/icon-converter.c @@ -3,12 +3,12 @@ #include -int main(int argc, char** argv){ +int main(int argc, char** argv) { unsigned char* rgba; - int width, height, bpp; - int i; + int width, height, bpp; + int i; - if(argc != 3){ + if(argc != 3) { printf("Usage: %s input name\n", argv[0]); return 1; } @@ -17,12 +17,12 @@ int main(int argc, char** argv){ printf("MwU32 %s[] = {\n", argv[2]); printf(" (%d << 16) | %d,\n", width, height); - for(i = 0; i < width * height; i++){ + for(i = 0; i < width * height; i++) { unsigned char* px = &rgba[i * 4]; - unsigned int p = 0; - int j; + unsigned int p = 0; + int j; - for(j = 0; j < 4; j++){ + for(j = 0; j < 4; j++) { p = p << 8; p = p | px[j]; }