# HG changeset patch # User Olaf Wintermann # Date 1756023341 -7200 # Node ID 99386f34efc9bea966a8ad14e18475b140a69344 # Parent 2082c80fb010c191650b959b547124df9127bf85 improve table columnsize handling (Cocoa) diff -r 2082c80fb010 -r 99386f34efc9 make/xcode/toolkit/toolkit/main.m --- 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); } diff -r 2082c80fb010 -r 99386f34efc9 ui/cocoa/list.m --- 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