ui/cocoa/list.m

changeset 117
b174e721663e
parent 115
e57ca2747782
--- a/ui/cocoa/list.m	Wed Dec 17 22:36:41 2025 +0100
+++ b/ui/cocoa/list.m	Sat Dec 27 22:47:56 2025 +0100
@@ -87,6 +87,8 @@
     
     add_listdelegate(obj, tableview, args);
     
+    char **static_elements = args->static_elements;
+    size_t static_nelm = args->static_nelm;
     UiVar *var = uic_widget_var(obj->ctx, obj->ctx, args->list, args->varname, UI_VAR_LIST);
     if(var) {
         UiList *list = var->value;
@@ -112,6 +114,15 @@
         [tableview reloadData];
         
         objc_setAssociatedObject(tableview, "ui_datasource", dataSource, OBJC_ASSOCIATION_RETAIN);
+    } else if(static_elements && static_nelm) {
+        NSTableColumn *column = [[NSTableColumn alloc] initWithIdentifier:@"column"];
+        [tableview addTableColumn:column];
+        
+        ArrayDataSource *dataSource = [[ArrayDataSource alloc]init:static_elements size:static_nelm];
+        tableview.dataSource = dataSource;
+        [tableview reloadData];
+        
+        objc_setAssociatedObject(tableview, "ui_datasource", dataSource, OBJC_ASSOCIATION_RETAIN);
     }
 
     return (__bridge void*)scrollview;
@@ -397,7 +408,7 @@
             max = INT_MAX;
         }
         
-        CxList *sublists = cxArrayListCreate(a, NULL, sizeof(UiSubList), args->numsublists);
+        CxList *sublists = cxArrayListCreate(a, sizeof(UiSubList), args->numsublists);
         sublists->collection.advanced_destructor = (cx_destructor_func2)sublist_free;
         
         for(int i=0;i<max;i++) {

mercurial