add wrapper for button/toggle args

Thu, 29 May 2025 14:55:32 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Thu, 29 May 2025 14:55:32 +0200
changeset 601
9f67b662f694
parent 600
1c30b69b341e
child 602
9f3ff50da302

add wrapper for button/toggle args

ui/common/args.c file | annotate | diff | comparison | revisions
ui/common/args.h file | annotate | diff | comparison | revisions
--- a/ui/common/args.c	Thu May 29 14:41:02 2025 +0200
+++ b/ui/common/args.c	Thu May 29 14:55:32 2025 +0200
@@ -35,7 +35,7 @@
 
 /* ---------------------------- UiContainerArgs ---------------------------- */
 
-UIEXPORT UiContainerArgs* ui_container_args_new(void) {
+UiContainerArgs* ui_container_args_new(void) {
     UiContainerArgs *args = malloc(sizeof(UiContainerArgs));
     memset(args, 0, sizeof(UiContainerArgs));
     return args;
@@ -139,7 +139,7 @@
 
 /* ------------------------------- UiFrameArgs ------------------------------*/
 
-UIEXPORT UiFrameArgs* ui_frame_args_new(void) {
+UiFrameArgs* ui_frame_args_new(void) {
     UiFrameArgs *args = malloc(sizeof(UiFrameArgs));
     memset(args, 0, sizeof(UiContainerArgs));
     return args;
@@ -233,3 +233,219 @@
     free(args);
 }
 
+
+/* ---------------------------- UiButtonArgs -------------------------------*/
+
+UiButtonArgs* ui_button_args_new(void) {
+    UiButtonArgs *args = malloc(sizeof(UiButtonArgs));
+    memset(args, 0, sizeof(UiContainerArgs));
+    return args;
+}
+
+
+void ui_button_args_set_fill(UiButtonArgs *args, UiBool fill) {
+    args->fill = fill ? UI_ON : UI_OFF;
+}
+
+
+void ui_button_args_set_hexpand(UiButtonArgs *args, UiBool value) {
+    args->hexpand = value;
+}
+
+
+void ui_button_args_set_vexpand(UiButtonArgs *args, UiBool value) {
+    args->vexpand = value;
+}
+
+
+void ui_button_args_set_hfill(UiButtonArgs *args, UiBool value) {
+    args->hfill = value;
+}
+
+
+void ui_button_args_set_vfill(UiButtonArgs *args, UiBool value) {
+    args->vfill = value;
+}
+
+
+void ui_button_args_set_override_defaults(UiButtonArgs *args, UiBool value) {
+    args->override_defaults = value;
+}
+
+
+void ui_button_args_set_colspan(UiButtonArgs *args, int colspan) {
+    args->colspan = colspan;
+}
+
+
+void ui_button_args_set_rolspan(UiButtonArgs *args, int rowspan) {
+    args->rowspan = rowspan;
+}
+
+
+void ui_button_args_set_name(UiButtonArgs *args, const char *name) {
+    args->name = strdup(name);
+}
+
+
+void ui_button_args_set_style_class(UiButtonArgs *args, const char *classname) {
+    args->style_class = strdup(classname);
+}
+
+void ui_button_args_set_label(UiButtonArgs *args, const char *label){
+    args->label = strdup(label);
+}
+
+
+void ui_button_args_set_stockid(UiButtonArgs *args, const char *stockid){
+    args->stockid = strdup(stockid);
+}
+
+
+void ui_button_args_set_icon(UiButtonArgs *args, const char *icon){
+    args->icon = strdup(icon);
+}
+
+
+void ui_button_args_set_labeltype(UiButtonArgs *args, int labeltype){
+    args->labeltype = labeltype;
+}
+
+void ui_button_args_set_onclick(UiButtonArgs *args, ui_callback callback){
+    args->onclick = callback;
+}
+
+
+void ui_button_args_set_onclickdata(UiButtonArgs *args, void *onclickdata){
+    args->onclickdata = onclickdata;
+}
+
+void ui_button_args_set_groups(UiButtonArgs *args, int *groups){
+    // TODO
+}
+
+void ui_button_args_free(UiButtonArgs *args) {
+    free((void*)args->name);
+    free((void*)args->style_class);
+    free((void*)args->label);
+    free((void*)args->stockid);
+    free((void*)args->icon);
+    free((void*)args->groups);
+    free(args);
+}
+
+
+/* ------------------------- UiToggleArgs ----------------------------*/
+
+
+UiToggleArgs* ui_toggle_args_new(void) {
+    UiToggleArgs *args = malloc(sizeof(UiToggleArgs));
+    memset(args, 0, sizeof(UiContainerArgs));
+    return args;
+}
+
+
+void ui_toggle_args_set_fill(UiToggleArgs *args, UiBool fill) {
+    args->fill = fill ? UI_ON : UI_OFF;
+}
+
+
+void ui_toggle_args_set_hexpand(UiToggleArgs *args, UiBool value) {
+    args->hexpand = value;
+}
+
+
+void ui_toggle_args_set_vexpand(UiToggleArgs *args, UiBool value) {
+    args->vexpand = value;
+}
+
+
+void ui_toggle_args_set_hfill(UiToggleArgs *args, UiBool value) {
+    args->hfill = value;
+}
+
+
+void ui_toggle_args_set_vfill(UiToggleArgs *args, UiBool value) {
+    args->vfill = value;
+}
+
+
+void ui_toggle_args_set_override_defaults(UiToggleArgs *args, UiBool value) {
+    args->override_defaults = value;
+}
+
+
+void ui_toggle_args_set_colspan(UiToggleArgs *args, int colspan) {
+    args->colspan = colspan;
+}
+
+
+void ui_toggle_args_set_rolspan(UiToggleArgs *args, int rowspan) {
+    args->rowspan = rowspan;
+}
+
+
+void ui_toggle_args_set_name(UiToggleArgs *args, const char *name) {
+    args->name = strdup(name);
+}
+
+
+void ui_toggle_args_set_style_class(UiToggleArgs *args, const char *classname) {
+    args->style_class = strdup(classname);
+}
+
+void ui_toggle_args_set_label(UiToggleArgs *args, const char *label){
+    args->label = strdup(label);
+}
+
+
+void ui_toggle_args_set_stockid(UiToggleArgs *args, const char *stockid){
+    args->stockid = strdup(stockid);
+}
+
+
+void ui_toggle_args_set_icon(UiToggleArgs *args, const char *icon){
+    args->icon = strdup(icon);
+}
+
+
+void ui_toggle_args_set_labeltype(UiToggleArgs *args, int labeltype){
+    args->labeltype = labeltype;
+}
+
+void ui_toggle_args_set_onchange(UiToggleArgs *args, ui_callback callback){
+    args->onchange = callback;
+}
+
+
+void ui_toggle_args_set_onchangedata(UiToggleArgs *args, void *onchangedata){
+    args->onchangedata = onchangedata;
+}
+
+void ui_toggle_args_set_varname(UiToggleArgs *args, const char *varname) {
+    args->varname = strdup(varname);
+}
+
+void ui_toggle_args_set_value(UiToggleArgs *args, UiInteger *value) {
+    args->value = value;
+}
+
+void ui_toggle_args_set_enablegroup(UiToggleArgs *args, int group) {
+    args->enable_group = group;
+}
+
+void ui_toggle_args_set_groups(UiToggleArgs *args, int *groups){
+    // TODO
+}
+
+void ui_toggle_args_free(UiToggleArgs *args) {
+    free((void*)args->name);
+    free((void*)args->style_class);
+    free((void*)args->label);
+    free((void*)args->stockid);
+    free((void*)args->icon);
+    free((void*)args->varname);
+    free((void*)args->groups);
+    free(args);
+}
+
--- a/ui/common/args.h	Thu May 29 14:41:02 2025 +0200
+++ b/ui/common/args.h	Thu May 29 14:55:32 2025 +0200
@@ -30,6 +30,7 @@
 #define UIC_ARGS_H
 
 #include "../ui/container.h"
+#include "../ui/button.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -78,6 +79,47 @@
 UIEXPORT void ui_frame_args_free(UiFrameArgs *args);
 
 
+UIEXPORT UiButtonArgs* ui_button_args_new(void);
+UIEXPORT void ui_button_args_set_fill(UiButtonArgs *args, UiBool fill);
+UIEXPORT void ui_button_args_set_hexpand(UiButtonArgs *args, UiBool value);
+UIEXPORT void ui_button_args_set_vexpand(UiButtonArgs *args, UiBool value);
+UIEXPORT void ui_button_args_set_hfill(UiButtonArgs *args, UiBool value);
+UIEXPORT void ui_button_args_set_vfill(UiButtonArgs *args, UiBool value);
+UIEXPORT void ui_button_args_set_override_defaults(UiButtonArgs *args, UiBool value);
+UIEXPORT void ui_button_args_set_colspan(UiButtonArgs *args, int colspan);
+UIEXPORT void ui_button_args_set_rolspan(UiButtonArgs *args, int rowspan);
+UIEXPORT void ui_button_args_set_name(UiButtonArgs *args, const char *name);
+UIEXPORT void ui_button_args_set_style_class(UiButtonArgs *args, const char *classname);
+UIEXPORT void ui_button_args_set_label(UiButtonArgs *args, const char *label);
+UIEXPORT void ui_button_args_set_stockid(UiButtonArgs *args, const char *stockid);
+UIEXPORT void ui_button_args_set_icon(UiButtonArgs *args, const char *icon);
+UIEXPORT void ui_button_args_set_labeltype(UiButtonArgs *args, int labeltype);
+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 UiToggleArgs* ui_toggle_args_new(void);
+UIEXPORT void ui_toggle_args_set_fill(UiToggleArgs *args, UiBool fill);
+UIEXPORT void ui_toggle_args_set_hexpand(UiToggleArgs *args, UiBool value);
+UIEXPORT void ui_toggle_args_set_vexpand(UiToggleArgs *args, UiBool value);
+UIEXPORT void ui_toggle_args_set_hfill(UiToggleArgs *args, UiBool value);
+UIEXPORT void ui_toggle_args_set_vfill(UiToggleArgs *args, UiBool value);
+UIEXPORT void ui_toggle_args_set_override_defaults(UiToggleArgs *args, UiBool value);
+UIEXPORT void ui_toggle_args_set_colspan(UiToggleArgs *args, int colspan);
+UIEXPORT void ui_toggle_args_set_rolspan(UiToggleArgs *args, int rowspan);
+UIEXPORT void ui_toggle_args_set_name(UiToggleArgs *args, const char *name);
+UIEXPORT void ui_toggle_args_set_style_class(UiToggleArgs *args, const char *classname);
+UIEXPORT void ui_toggle_args_set_label(UiToggleArgs *args, const char *label);
+UIEXPORT void ui_toggle_args_set_stockid(UiToggleArgs *args, const char *stockid);
+UIEXPORT void ui_toggle_args_set_icon(UiToggleArgs *args, const char *icon);
+UIEXPORT void ui_toggle_args_set_labeltype(UiToggleArgs *args, int labeltype);
+UIEXPORT void ui_toggle_args_set_onchange(UiToggleArgs *args, ui_callback callback);
+UIEXPORT void ui_toggle_args_set_onchangedata(UiToggleArgs *args, void *onchangedata);
+UIEXPORT void ui_toggle_args_set_varname(UiToggleArgs *args, const char *varname);
+UIEXPORT void ui_toggle_args_set_value(UiToggleArgs *args, UiInteger *value);
+UIEXPORT void ui_toggle_args_set_enablegroup(UiToggleArgs *args, int group);
+UIEXPORT void ui_toggle_args_set_groups(UiToggleArgs *args, int *groups);
 
 
 #ifdef __cplusplus

mercurial