add visibility_states arg to labels, buttons, text widgets (Motif)

Thu, 29 Jan 2026 19:01:52 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Thu, 29 Jan 2026 19:01:52 +0100
changeset 1064
f415387fff6f
parent 1063
e0251f6e15f7
child 1065
cb3c1fcecaa0

add visibility_states arg to labels, buttons, text widgets (Motif)

ui/motif/button.c file | annotate | diff | comparison | revisions
ui/motif/container.c file | annotate | diff | comparison | revisions
ui/motif/label.c file | annotate | diff | comparison | revisions
ui/motif/text.c file | annotate | diff | comparison | revisions
--- a/ui/motif/button.c	Thu Jan 29 18:56:36 2026 +0100
+++ b/ui/motif/button.c	Thu Jan 29 19:01:52 2026 +0100
@@ -60,6 +60,7 @@
     Widget button = XmCreatePushButton(parent, name, xargs, n);
     XtManageChild(button);
     ui_container_add(ctn, button);
+    uic_widget_set_visibility_states(obj->ctx, button, args->visibility_states);
     
     ui_set_widget_groups(obj->ctx, button, args->states);
     
@@ -117,6 +118,7 @@
     Widget button = XmCreateToggleButton(parent, name, xargs, n);
     XtManageChild(button);
     ui_container_add(ctn, button);
+    uic_widget_set_visibility_states(obj->ctx, button, args->visibility_states);
     
     ui_set_widget_groups(obj->ctx, button, args->states);
     
@@ -145,6 +147,7 @@
     Widget button = XmCreateToggleButton(parent, name, xargs, n);
     XtManageChild(button);
     ui_container_add(ctn, button);
+    uic_widget_set_visibility_states(obj->ctx, button, args->visibility_states);
     
     ui_set_widget_groups(obj->ctx, button, args->states);
     
@@ -364,6 +367,7 @@
     Widget button = XmCreateToggleButton(parent, name, xargs, n);
     XtManageChild(button);
     ui_container_add(ctn, button);
+    uic_widget_set_visibility_states(obj->ctx, button, args->visibility_states);
     
     ui_set_widget_groups(obj->ctx, button, args->states);
     
--- a/ui/motif/container.c	Thu Jan 29 18:56:36 2026 +0100
+++ b/ui/motif/container.c	Thu Jan 29 19:01:52 2026 +0100
@@ -90,10 +90,7 @@
     UiContainerX *container = ui_box_container(obj, grid, orientation);
     uic_object_push_container(obj, container);
     
-    if(args->visibility_states) {
-        size_t nstates = uic_state_array_size(args->visibility_states);
-        ui_widget_set_visibility_states(obj->ctx, grid, args->visibility_states, (int)nstates);
-    }
+    uic_widget_set_visibility_states(obj->ctx, grid, args->visibility_states);
     
     return grid;
 }
@@ -176,10 +173,7 @@
     UiContainerX *container = ui_grid_container(obj, grid, args->def_hexpand, args->def_vexpand, args->def_hfill, args->def_vfill);
     uic_object_push_container(obj, container);
     
-    if(args->visibility_states) {
-        size_t nstates = uic_state_array_size(args->visibility_states);
-        ui_widget_set_visibility_states(obj->ctx, grid, args->visibility_states, (int)nstates);
-    }
+    uic_widget_set_visibility_states(obj->ctx, grid, args->visibility_states);
     
     return grid;
 }
@@ -309,10 +303,7 @@
         }
     }
     
-    if(args->visibility_states) {
-        size_t nstates = uic_state_array_size(args->visibility_states);
-        ui_widget_set_visibility_states(obj->ctx, frame, args->visibility_states, (int)nstates);
-    }
+    uic_widget_set_visibility_states(obj->ctx, frame, args->visibility_states);
     
     return frame;
 }
@@ -483,10 +474,7 @@
     
     uic_object_push_container(obj, (UiContainerX*)ct);
     
-    if(args->visibility_states) {
-        size_t nstates = uic_state_array_size(args->visibility_states);
-        ui_widget_set_visibility_states(obj->ctx, form, args->visibility_states, (int)nstates);
-    }
+    uic_widget_set_visibility_states(obj->ctx, form, args->visibility_states);
     
     return form;
 }
--- a/ui/motif/label.c	Thu Jan 29 18:56:36 2026 +0100
+++ b/ui/motif/label.c	Thu Jan 29 19:01:52 2026 +0100
@@ -65,6 +65,7 @@
     Widget w = XmCreateLabel(parent, name, xargs, n);
     XtManageChild(w);
     ui_container_add(ctn, w);
+    uic_widget_set_visibility_states(obj->ctx, w, args->visibility_states);
       
     XmStringFree(label);
     
@@ -162,6 +163,7 @@
     char *name = args->name ? (char*)args->name : "progressbar";
     Widget frame = XmCreateFrame(parent, name, xargs, n);
     ui_container_add(ctn, frame);
+    uic_widget_set_visibility_states(obj->ctx, frame, args->visibility_states);
     
     // create a button and get some informations about the height, shadow, highlight, ....
     // we want the frame to have the same dimensions as a normal button
@@ -252,6 +254,7 @@
     Widget w = XmCreateLabel(parent, name, xargs, n);
     XtManageChild(w);
     ui_container_add(ctn, w);
+    uic_widget_set_visibility_states(obj->ctx, w, args->visibility_states);
     
     UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_INTEGER);
     if(var) {
--- a/ui/motif/text.c	Thu Jan 29 18:56:36 2026 +0100
+++ b/ui/motif/text.c	Thu Jan 29 19:01:52 2026 +0100
@@ -56,6 +56,7 @@
     Widget widget = XmCreateScrolledText(parent, name, xargs, n);
     XtManageChild(widget);
     ui_container_add(ctn, widget);
+    uic_widget_set_visibility_states(obj->ctx, widget, args->visibility_states);
     
     UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_TEXT);
     
@@ -408,6 +409,7 @@
     XtManageChild(textfield);
     ui_container_add(ctn, textfield);
     
+    uic_widget_set_visibility_states(obj->ctx, textfield, args->visibility_states);
     ui_set_widget_groups(obj->ctx, textfield, args->states);
     
     UiEventDataExt *eventdata = malloc(sizeof(UiEventDataExt));
@@ -587,6 +589,7 @@
     
     XtManageChild(pathbar->widget);
     ui_container_add(ctn, pathbar->widget);
+    uic_widget_set_visibility_states(obj->ctx, pathbar->widget, args->visibility_states);
     
     UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_STRING);
     if (var) {

mercurial