add wrapper functions for toolbar args

Sun, 06 Jul 2025 17:18:01 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sun, 06 Jul 2025 17:18:01 +0200
changeset 645
7c8f1ff71e0e
parent 644
8f735b12d5dc
child 646
c9538297b89a

add wrapper functions for toolbar args

ui/common/args.c file | annotate | diff | comparison | revisions
ui/common/args.h file | annotate | diff | comparison | revisions
--- a/ui/common/args.c	Sat Jun 28 23:40:03 2025 +0200
+++ b/ui/common/args.c	Sun Jul 06 17:18:01 2025 +0200
@@ -142,6 +142,128 @@
     free(args);
 }
 
+/* --------------------------- UiToolbarItemArgs --------------------------- */
+
+UiToolbarItemArgs* ui_toolbar_item_args_new(void) {
+    UiToolbarItemArgs *args = malloc(sizeof(UiToolbarItemArgs));
+    memset(args, 0, sizeof(UiToolbarItemArgs));
+    return args;
+}
+
+void ui_toolbar_item_args_set_label(UiToolbarItemArgs *args, const char *label) {
+    args->label = strdup(label);
+}
+
+void ui_toolbar_item_args_set_stockid(UiToolbarItemArgs *args, const char *stockid) {
+    args->stockid = strdup(stockid);
+}
+
+void ui_toolbar_item_args_set_icon(UiToolbarItemArgs *args, const char *icon) {
+    args->icon = strdup(icon);
+}
+
+void ui_toolbar_item_args_set_onclick(UiToolbarItemArgs *args, ui_callback callback) {
+    args->onclick = callback;
+}
+
+void ui_toolbar_item_args_set_onclickdata(UiToolbarItemArgs *args, void *onclickdata) {
+    args->onclickdata = onclickdata;
+}
+
+void ui_toolbar_item_args_set_groups(UiToolbarItemArgs *args, int *groups) {
+    // TODO
+}
+void ui_toolbar_item_args_free(UiToolbarItemArgs *args) {
+    free((void*)args->label);
+    free((void*)args->stockid);
+    free((void*)args->icon);
+    free(args);
+}
+
+/* ---------------------------- UiToolbarToggleItemArgs ---------------------------- */
+
+UiToolbarToggleItemArgs* ui_toolbar_toggleitem_args_new(void) {
+    UiToolbarToggleItemArgs *args = malloc(sizeof(UiToolbarToggleItemArgs));
+    memset(args, 0, sizeof(UiToolbarToggleItemArgs));
+    return args;
+}
+
+
+void ui_toolbar_toggleitem_args_set_label(UiToolbarToggleItemArgs *args, const char *label) {
+    args->label = strdup(label);
+}
+
+
+void ui_toolbar_toggleitem_args_set_stockid(UiToolbarToggleItemArgs *args, const char *stockid) {
+    args->stockid = strdup(stockid);
+}
+
+
+void ui_toolbar_toggleitem_args_set_icon(UiToolbarToggleItemArgs *args, const char *icon) {
+    args->icon = strdup(icon);
+}
+
+
+void ui_toolbar_toggleitem_args_set_varname(UiToolbarToggleItemArgs *args, const char *varname) {
+    args->varname = strdup(varname);
+}
+
+
+void ui_toolbar_toggleitem_args_set_onchange(UiToolbarToggleItemArgs *args, ui_callback callback) {
+    args->onchange = callback;
+}
+
+
+void ui_toolbar_toggleitem_args_set_onchangedata(UiToolbarToggleItemArgs *args, void *onchangedata) {
+    args->onchangedata = onchangedata;
+}
+
+
+void ui_toolbar_toggleitem_args_set_groups(UiToolbarToggleItemArgs *args, int *groups) {
+    // TODO
+}
+
+
+void ui_toolbar_toggleitem_args_free(UiToolbarToggleItemArgs *args) {
+    free((void*)args->label);
+    free((void*)args->stockid);
+    free((void*)args->icon);
+    free((void*)args->varname);
+    free(args);
+}
+
+/* ---------------------------- UiToolbarMenuArgs ---------------------------- */
+
+
+UiToolbarMenuArgs* ui_toolbar_menu_args_new(void) {
+    UiToolbarMenuArgs *args = malloc(sizeof(UiToolbarMenuArgs));
+    memset(args, 0, sizeof(UiToolbarMenuArgs));
+    return args;
+}
+
+
+void ui_toolbar_menu_args_set_label(UiToolbarMenuArgs *args, const char *label) {
+    args->label = strdup(label);
+}
+
+
+void ui_toolbar_menu_args_set_stockid(UiToolbarMenuArgs *args, const char *stockid) {
+    args->stockid = strdup(stockid);
+}
+
+
+void ui_toolbar_menu_args_set_icon(UiToolbarMenuArgs *args, const char *icon) {
+    args->icon = strdup(icon);
+}
+
+
+void ui_toolbar_menu_args_free(UiToolbarMenuArgs *args) {
+    free((void*)args->label);
+    free((void*)args->stockid);
+    free((void*)args->icon);
+    free(args);
+}
+
 
 /* ---------------------------- UiContainerArgs ---------------------------- */
 
--- a/ui/common/args.h	Sat Jun 28 23:40:03 2025 +0200
+++ b/ui/common/args.h	Sun Jul 06 17:18:01 2025 +0200
@@ -32,6 +32,7 @@
 #include "../ui/container.h"
 #include "../ui/button.h"
 #include "../ui/menu.h"
+#include "../ui/toolbar.h"
 #include "../ui/tree.h"
 
 #ifdef __cplusplus
@@ -53,7 +54,7 @@
 UIEXPORT void ui_menutoggleitem_args_set_icon(UiMenuToggleItemArgs *args, const char *icon);
 UIEXPORT void ui_menutoggleitem_args_set_varname(UiMenuToggleItemArgs *args, const char *varname);
 UIEXPORT void ui_menutoggleitem_args_set_onchange(UiMenuToggleItemArgs *args, ui_callback callback);
-UIEXPORT void ui_menutoggleitem_args_set_onchangedata(UiMenuToggleItemArgs *args, void *onclickdata);
+UIEXPORT void ui_menutoggleitem_args_set_onchangedata(UiMenuToggleItemArgs *args, void *onchangedata);
 UIEXPORT void ui_menutoggleitem_args_free(UiMenuToggleItemArgs *args);
 
 UIEXPORT UiMenuItemListArgs* ui_menuitemlist_args_new(void);
@@ -63,6 +64,31 @@
 UIEXPORT void ui_menuitemlist_args_set_onselectdata(UiMenuItemListArgs *args, void *data);
 UIEXPORT void ui_menuitemlist_args_set_addseparator(UiMenuItemListArgs *args, UiBool value);
 UIEXPORT void ui_menuitemlist_args_free(UiMenuItemListArgs *args);
+
+UIEXPORT UiToolbarItemArgs* ui_toolbar_item_args_new(void);
+UIEXPORT void ui_toolbar_item_args_set_label(UiToolbarItemArgs *args, const char *label);
+UIEXPORT void ui_toolbar_item_args_set_stockid(UiToolbarItemArgs *args, const char *stockid);
+UIEXPORT void ui_toolbar_item_args_set_icon(UiToolbarItemArgs *args, const char *icon);
+UIEXPORT void ui_toolbar_item_args_set_onclick(UiToolbarItemArgs *args, ui_callback callback);
+UIEXPORT void ui_toolbar_item_args_set_onclickdata(UiToolbarItemArgs *args, void *onclickdata);
+UIEXPORT void ui_toolbar_item_args_set_groups(UiToolbarItemArgs *args, int *groups);
+UIEXPORT void ui_toolbar_item_args_free(UiToolbarItemArgs *args);
+
+UIEXPORT UiToolbarToggleItemArgs* ui_toolbar_toggleitem_args_new(void);
+UIEXPORT void ui_toolbar_toggleitem_args_set_label(UiToolbarToggleItemArgs *args, const char *label);
+UIEXPORT void ui_toolbar_toggleitem_args_set_stockid(UiToolbarToggleItemArgs *args, const char *stockid);
+UIEXPORT void ui_toolbar_toggleitem_args_set_icon(UiToolbarToggleItemArgs *args, const char *icon);
+UIEXPORT void ui_toolbar_toggleitem_args_set_varname(UiToolbarToggleItemArgs *args, const char *varname);
+UIEXPORT void ui_toolbar_toggleitem_args_set_onchange(UiToolbarToggleItemArgs *args, ui_callback callback);
+UIEXPORT void ui_toolbar_toggleitem_args_set_onchangedata(UiToolbarToggleItemArgs *args, void *onchangedata);
+UIEXPORT void ui_toolbar_toggleitem_args_set_groups(UiToolbarToggleItemArgs *args, int *groups);
+UIEXPORT void ui_toolbar_toggleitem_args_free(UiToolbarToggleItemArgs *args);
+
+UIEXPORT UiToolbarMenuArgs* ui_toolbar_menu_args_new(void);
+UIEXPORT void ui_toolbar_menu_args_set_label(UiToolbarMenuArgs *args, const char *label);
+UIEXPORT void ui_toolbar_menu_args_set_stockid(UiToolbarMenuArgs *args, const char *stockid);
+UIEXPORT void ui_toolbar_menu_args_set_icon(UiToolbarMenuArgs *args, const char *icon);
+UIEXPORT void ui_toolbar_menu_args_free(UiToolbarMenuArgs *args);
     
 UIEXPORT UiContainerArgs* ui_container_args_new(void);
 UIEXPORT void ui_container_args_set_fill(UiContainerArgs *args, UiBool fill);
@@ -151,7 +177,7 @@
 UIEXPORT void ui_button_args_set_onclick(UiButtonArgs *args, ui_callback callback);
 UIEXPORT void ui_button_args_set_onclickdata(UiButtonArgs *args, void *onclickdata);
 UIEXPORT void ui_button_args_set_groups(UiButtonArgs *args, int *groups);
-
+UIEXPORT void ui_button_args_free(UiButtonArgs *args);
 
 UIEXPORT UiToggleArgs* ui_toggle_args_new(void);
 UIEXPORT void ui_toggle_args_set_fill(UiToggleArgs *args, UiBool fill);

mercurial