ui/gtk/list.c

changeset 1027
9613f7726032
parent 1016
ccde46662db7
--- a/ui/gtk/list.c	Sat Dec 27 11:09:18 2025 +0100
+++ b/ui/gtk/list.c	Sat Dec 27 22:05:02 2025 +0100
@@ -1358,6 +1358,23 @@
     gtk_combo_box_set_active(GTK_COMBO_BOX(dropdown), index);
 }
 
+static void table_cell_toggled(
+        GtkCellRendererToggle *renderer,
+        gchar *path,
+        gpointer user_data)
+{
+    printf("cell toggled\n");
+}
+
+static void table_cell_edited(
+        GtkCellRendererText *renderer,
+        gchar *path,
+        gchar *new_text,
+        gpointer user_data)
+{
+    printf("cell edited\n");
+}
+
 UIWIDGET ui_table_create(UiObject *obj, UiListArgs *args) {
     // create treeview
     GtkWidget *view = gtk_tree_view_new();
@@ -1416,8 +1433,20 @@
                 "pixbuf",
                 i + addi,
                 NULL);
+        } else if (model->types[i] == UI_BOOL_EDITABLE) {
+            GtkCellRenderer *renderer = gtk_cell_renderer_toggle_new();
+            column = gtk_tree_view_column_new_with_attributes(
+                model->titles[i],
+                renderer,
+                "active",
+                i + addi,
+                NULL);
+            g_signal_connect(renderer, "toggled", G_CALLBACK(table_cell_toggled), NULL);
         } else {
             GtkCellRenderer *textrenderer = gtk_cell_renderer_text_new();
+            if(model->types[i] == UI_STRING_EDITABLE) {
+                g_object_set(textrenderer, "editable", TRUE, NULL);
+            }
             column = gtk_tree_view_column_new_with_attributes(
                 model->titles[i],
                 textrenderer,

mercurial