ui/cocoa/list.m

changeset 1003
b58ad5b65c1b
parent 969
7385c26d998d
equal deleted inserted replaced
1002:2cfd243dc8b0 1003:b58ad5b65c1b
85 UiLayout layout = UI_INIT_LAYOUT(args); 85 UiLayout layout = UI_INIT_LAYOUT(args);
86 ui_container_add(obj, scrollview, &layout); 86 ui_container_add(obj, scrollview, &layout);
87 87
88 add_listdelegate(obj, tableview, args); 88 add_listdelegate(obj, tableview, args);
89 89
90 char **static_elements = args->static_elements;
91 size_t static_nelm = args->static_nelm;
90 UiVar *var = uic_widget_var(obj->ctx, obj->ctx, args->list, args->varname, UI_VAR_LIST); 92 UiVar *var = uic_widget_var(obj->ctx, obj->ctx, args->list, args->varname, UI_VAR_LIST);
91 if(var) { 93 if(var) {
92 UiList *list = var->value; 94 UiList *list = var->value;
93 bind_list_to_tableview(list, tableview); 95 bind_list_to_tableview(list, tableview);
94 96
106 NSTableColumn *column = [[NSTableColumn alloc] initWithIdentifier:@"column"]; 108 NSTableColumn *column = [[NSTableColumn alloc] initWithIdentifier:@"column"];
107 [tableview addTableColumn:column]; 109 [tableview addTableColumn:column];
108 110
109 ListDataSource *dataSource = [[ListDataSource alloc] init:tableview.tableColumns var:var getvalue:getvalue getvaluedata:getvaluedata]; 111 ListDataSource *dataSource = [[ListDataSource alloc] init:tableview.tableColumns var:var getvalue:getvalue getvaluedata:getvaluedata];
110 112
113 tableview.dataSource = dataSource;
114 [tableview reloadData];
115
116 objc_setAssociatedObject(tableview, "ui_datasource", dataSource, OBJC_ASSOCIATION_RETAIN);
117 } else if(static_elements && static_nelm) {
118 NSTableColumn *column = [[NSTableColumn alloc] initWithIdentifier:@"column"];
119 [tableview addTableColumn:column];
120
121 ArrayDataSource *dataSource = [[ArrayDataSource alloc]init:static_elements size:static_nelm];
111 tableview.dataSource = dataSource; 122 tableview.dataSource = dataSource;
112 [tableview reloadData]; 123 [tableview reloadData];
113 124
114 objc_setAssociatedObject(tableview, "ui_datasource", dataSource, OBJC_ASSOCIATION_RETAIN); 125 objc_setAssociatedObject(tableview, "ui_datasource", dataSource, OBJC_ASSOCIATION_RETAIN);
115 } 126 }

mercurial