Sun, 24 Aug 2025 10:15:41 +0200
improve table columnsize handling (Cocoa)
| make/xcode/toolkit/toolkit/main.m | file | annotate | diff | comparison | revisions | |
| ui/cocoa/list.m | file | annotate | diff | comparison | revisions |
--- a/make/xcode/toolkit/toolkit/main.m Sun Aug 24 09:31:09 2025 +0200 +++ b/make/xcode/toolkit/toolkit/main.m Sun Aug 24 10:15:41 2025 +0200 @@ -89,8 +89,8 @@ MyDocument *doc = create_doc(); ui_attach_document(obj->ctx, doc); - UiModel *model = ui_model(obj->ctx, UI_STRING, "Column 1", UI_STRING, "Column 2", UI_STRING, "Column 3", -1); - + UiModel *model = ui_model(obj->ctx, UI_STRING, "Column 0", UI_STRING, "Column 1", UI_STRING, "Column 2", -1); + model->columnsize[1] = -1; ui_grid(obj, .columnspacing = 10, .rowspacing = 10) { ui_table(obj, .fill = UI_ON, .varname = "list1", .model = model, .getvalue = table_getvalue, .onactivate = action_list_activate, .onselection = action_list_selection, .multiselection = TRUE); }
--- a/ui/cocoa/list.m Sun Aug 24 09:31:09 2025 +0200 +++ b/ui/cocoa/list.m Sun Aug 24 10:15:41 2025 +0200 @@ -119,6 +119,7 @@ NSTableView *tableview = [[NSTableView alloc] init]; tableview.autoresizingMask = NSViewWidthSizable; + tableview.columnAutoresizingStyle = NSTableViewSequentialColumnAutoresizingStyle; if(args->multiselection) { tableview.allowsMultipleSelection = YES; @@ -140,8 +141,11 @@ NSString *identifier = [[NSString alloc] initWithUTF8String:title]; NSTableColumn *column = [[NSTableColumn alloc] initWithIdentifier:identifier]; column.title = identifier; + column.resizingMask = NSTableColumnUserResizingMask; if(width > 0) { column.width = width; + } else if(width < 0) { + column.resizingMask = NSTableColumnAutoresizingMask | NSTableColumnUserResizingMask; } if(type >= UI_ICON) { // TODO