Sat, 07 Jun 2025 08:25:00 +0200
add wrapper functions for menuitem args
| ui/common/args.c | file | annotate | diff | comparison | revisions | |
| ui/common/args.h | file | annotate | diff | comparison | revisions |
--- 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) {
--- 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);