add ui_splitview_window_set_visible (GTK)

Sun, 19 Oct 2025 21:17:21 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sun, 19 Oct 2025 21:17:21 +0200
changeset 866
4bed9458d355
parent 865
9cf0c29dde27
child 867
83bb0dd7123f

add ui_splitview_window_set_visible (GTK)

ui/gtk/window.c file | annotate | diff | comparison | revisions
ui/ui/window.h file | annotate | diff | comparison | revisions
--- a/ui/gtk/window.c	Sun Oct 19 21:04:49 2025 +0200
+++ b/ui/gtk/window.c	Sun Oct 19 21:17:21 2025 +0200
@@ -435,6 +435,23 @@
     splitview_window_use_prop = enable;
 }
 
+UIEXPORT void ui_splitview_window_set_visible(UiObject *obj, int pane, UiBool visible) {
+    GtkWidget *splitview = g_object_get_data(G_OBJECT(obj->widget), "ui_window_splitview");
+    GtkWidget *panel = NULL;
+    if(pane == 0) {
+        panel = g_object_get_data(G_OBJECT(obj->widget), "ui_left_panel");
+    } else if(pane == 1) {
+        panel = g_object_get_data(G_OBJECT(obj->widget), "ui_right_panel");
+    }
+    
+    if(panel == NULL) {
+        fprintf(stderr, "Error: obj is not a splitview window or invalid pane %d specified\n", pane);
+        return;
+    }
+    
+    gtk_widget_set_visible(panel, visible);
+}
+
 #ifdef UI_LIBADWAITA
 
 static void dialog_response(AdwAlertDialog *self, gchar *response, UiEventData *data) {
--- a/ui/ui/window.h	Sun Oct 19 21:04:49 2025 +0200
+++ b/ui/ui/window.h	Sun Oct 19 21:17:21 2025 +0200
@@ -88,6 +88,7 @@
 UIEXPORT int ui_splitview_window_get_pos(UiObject *obj);
 UIEXPORT void ui_splitview_window_set_default_pos(int pos);
 UIEXPORT void ui_splitview_window_use_property(UiBool enable);
+UIEXPORT void ui_splitview_window_set_visible(UiObject *obj, int pane, UiBool visible);
 
 #define ui_dialog(parent, ...) ui_dialog_create(parent, &(UiDialogArgs){ __VA_ARGS__ } )
 

mercurial