add UiListArgs hide_header (GTK)

Thu, 22 Jan 2026 23:18:00 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Thu, 22 Jan 2026 23:18:00 +0100
changeset 1052
bc56cc4dd809
parent 1051
0db713dc8590
child 1053
f9976b83795c

add UiListArgs hide_header (GTK)

ui/gtk/list.c file | annotate | diff | comparison | revisions
ui/gtk/toolkit.c file | annotate | diff | comparison | revisions
ui/ui/list.h file | annotate | diff | comparison | revisions
--- a/ui/gtk/list.c	Wed Jan 21 20:12:59 2026 +0100
+++ b/ui/gtk/list.c	Thu Jan 22 23:18:00 2026 +0100
@@ -661,6 +661,9 @@
     
     GtkSelectionModel *selection_model = create_selection_model(tableview, ls, args->multiselection);
     GtkWidget *view = gtk_column_view_new(GTK_SELECTION_MODEL(selection_model));
+    if(args->hide_header) {
+        gtk_widget_set_visible(gtk_widget_get_first_child(view), FALSE);
+    }
     
     UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->list, args->varname, UI_VAR_LIST);
     
@@ -1385,6 +1388,9 @@
 UIWIDGET ui_table_create(UiObject *obj, UiListArgs *args) {
     // create treeview
     GtkWidget *view = gtk_tree_view_new();
+    if(args->hide_header) {
+        gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE);
+    }
     
     UiModel *model = args->model;
     int columns = model ? model->columns : 0;
--- a/ui/gtk/toolkit.c	Wed Jan 21 20:12:59 2026 +0100
+++ b/ui/gtk/toolkit.c	Thu Jan 22 23:18:00 2026 +0100
@@ -403,6 +403,11 @@
 "  box-shadow: none;"
 "  background: transparent;"
 "}\n"
+".ui-table-no-header > header {"
+"  padding: 0;"
+"  border: 0;"
+"  background: none;"
+"}"
 ;
 
 #elif GTK_MAJOR_VERSION == 3
--- a/ui/ui/list.h	Wed Jan 21 20:12:59 2026 +0100
+++ b/ui/ui/list.h	Thu Jan 22 23:18:00 2026 +0100
@@ -175,6 +175,7 @@
     ui_callback ondrop;
     void *ondropdata;
     UiBool multiselection;
+    UiBool hide_header;
     UiMenuBuilder *contextmenu;
     ui_list_savefunc onsave;
     void *onsavedata;

mercurial