application/main.c

changeset 701
6fdec085c385
parent 673
90a32d739b8e
child 704
6105e9d9b7e1
--- a/application/main.c	Wed Aug 20 16:59:53 2025 +0200
+++ b/application/main.c	Fri Aug 22 10:10:22 2025 +0200
@@ -198,6 +198,7 @@
     UiList *items;
     UiGeneric *web;
     UiString *list_input;
+    UiList *list11;
 } MyDocument;
 
 MyDocument *doc1;
@@ -336,6 +337,11 @@
     
     doc->list_input = ui_string_new(docctx, "list_input");
     
+    doc->list11 = ui_list_new(docctx, "list11");
+    ui_list_append(doc->list11, "Item 1");
+    ui_list_append(doc->list11, "Item 2");
+    ui_list_append(doc->list11, "Item 3");
+    
     //doc->text = ui_text_new(docctx, "text");
     return doc;
 }
@@ -505,6 +511,20 @@
     doc->list2->update(doc->list2, 1);
 }
 
+static void action_list_selection(UiEvent *event, void *userdata) {
+    UiListSelection *sel = event->eventdata;
+    printf("list selection[%d]\n", sel->count);
+    for(int i=0;i<sel->count;i++) {
+        printf("[%d]: %d\n", i, sel->rows[i]);
+    }
+    printf("\n");
+}
+
+static void action_list_activate(UiEvent *event, void *userdata) {
+    printf("activate\n");
+    action_list_selection(event, userdata);
+}
+
 void application_startup(UiEvent *event, void *data) {
     // global list
     UiContext *global = ui_global_context();
@@ -681,6 +701,11 @@
                 ui_newline(obj);
             }
         }
+        ui_tab(obj, "Tab 11") {
+            ui_grid(obj, .margin = 10, .rowspacing = 10, .columnspacing = 10, .fill = TRUE) {
+                ui_listview(obj, .varname = "list11", .multiselection = FALSE,  .onselection = action_list_selection, .onactivate = action_list_activate, .hexpand = TRUE, .hfill = TRUE, .vexpand = TRUE, .vfill = TRUE);
+            }
+        }
     }
     
     /*

mercurial