# HG changeset patch # User Olaf Wintermann # Date 1749277500 -7200 # Node ID 1dbfc944a773d74387af2e8a88f7f07b151d1f4d # Parent 046c7c4cb4113bd1f96939e5bc76a8b9ebf78d47 add wrapper functions for menuitem args diff -r 046c7c4cb411 -r 1dbfc944a773 ui/common/args.c --- a/ui/common/args.c Fri Jun 06 12:32:40 2025 +0200 +++ b/ui/common/args.c Sat Jun 07 08:25:00 2025 +0200 @@ -33,6 +33,41 @@ #include "../ui/container.h" +/* ---------------------------- UiMenuItemArgs ---------------------------- */ + +UiMenuItemArgs* ui_menuitem_args_new(void) { + UiMenuItemArgs *args = malloc(sizeof(UiMenuItemArgs)); + memset(args, 0, sizeof(UiMenuItemArgs)); + return args; +} + +void ui_menuitem_args_set_label(UiMenuItemArgs *args, const char *label) { + args->label = strdup(label); +} + +void ui_menuitem_args_set_stockid(UiMenuItemArgs *args, const char *stockid) { + args->stockid = strdup(stockid); +} + +void ui_menuitem_args_set_icon(UiMenuItemArgs *args, const char *icon) { + args->icon = strdup(icon); +} + +void ui_menuitem_args_set_onclick(UiMenuItemArgs *args, ui_callback callback) { + args->onclick = callback; +} + +void ui_menuitem_args_set_onclickdata(UiMenuItemArgs *args, void *onclickdata) { + args->onclickdata = onclickdata; +} + +void ui_menuitem_args_free(UiMenuItemArgs *args) { + free((void*)args->label); + free((void*)args->stockid); + free((void*)args->icon); + free(args); +} + /* ---------------------------- UiContainerArgs ---------------------------- */ UiContainerArgs* ui_container_args_new(void) { diff -r 046c7c4cb411 -r 1dbfc944a773 ui/common/args.h --- a/ui/common/args.h Fri Jun 06 12:32:40 2025 +0200 +++ b/ui/common/args.h Sat Jun 07 08:25:00 2025 +0200 @@ -31,12 +31,21 @@ #include "../ui/container.h" #include "../ui/button.h" +#include "../ui/menu.h" #ifdef __cplusplus extern "C" { #endif +UIEXPORT UiMenuItemArgs* ui_menuitem_args_new(void); +UIEXPORT void ui_menuitem_args_set_label(UiMenuItemArgs *args, const char *label); +UIEXPORT void ui_menuitem_args_set_stockid(UiMenuItemArgs *args, const char *stockid); +UIEXPORT void ui_menuitem_args_set_icon(UiMenuItemArgs *args, const char *icon); +UIEXPORT void ui_menuitem_args_set_onclick(UiMenuItemArgs *args, ui_callback callback); +UIEXPORT void ui_menuitem_args_set_onclickdata(UiMenuItemArgs *args, void *onclickdata); +UIEXPORT void ui_menuitem_args_free(UiMenuItemArgs *args); + UIEXPORT UiContainerArgs* ui_container_args_new(void); UIEXPORT void ui_container_args_set_fill(UiContainerArgs *args, UiBool fill); UIEXPORT void ui_container_args_set_hexpand(UiContainerArgs *args, UiBool value);