ui/common/args.c

changeset 609
1dbfc944a773
parent 601
9f67b662f694
child 610
7255f59f339a
--- 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) {

mercurial