From 5b518797d7679d33bbf04bb3dc56e774d9128261 Mon Sep 17 00:00:00 2001 From: Randall Luecke Date: Tue, 11 May 2010 00:18:05 -0500 Subject: [PATCH] fixed CPTableView moveColumn: Conflicts: AppKit/CPTableView.j --- AppKit/CPTableView.j | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index 130d50b28..b3c6add2a 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -691,15 +691,38 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5; else _dirtyTableColumnRangeIndex = MIN(fromIndex, toIndex, _dirtyTableColumnRangeIndex); - if (toIndex > fromIndex) - --toIndex; - var tableColumn = _tableColumns[fromIndex]; [_tableColumns removeObjectAtIndex:fromIndex]; [_tableColumns insertObject:tableColumn atIndex:toIndex]; + + [[self headerView] setNeedsLayout]; + [[self headerView] setNeedsDisplay:YES]; - [self setNeedsLayout]; + var rowIndexes = [CPIndexSet indexSetWithIndexesInRange:CPMakeRange(0, [self numberOfRows])], + columnIndexes = [CPIndexSet indexSetWithIndexesInRange:CPMakeRange(fromIndex, toIndex)]; + + [self reloadDataForRowIndexes:rowIndexes columnIndexes:columnIndexes]; + // [self setNeedsLayout]; +} + +/*! + @ignore +*/ +- (void)_tableColumnVisibilityDidChange:(CPTableColumn)aColumn +{ + var columnIndex = [[self tableColumns] indexOfObjectIdenticalTo:aColumn]; + + if (_dirtyTableColumnRangeIndex < 0) + _dirtyTableColumnRangeIndex = columnIndex; + else + _dirtyTableColumnRangeIndex = MIN(columnIndex, _dirtyTableColumnRangeIndex); + + [[self headerView] setNeedsLayout]; + [[self headerView] setNeedsDisplay:YES]; + + var rowIndexes = [CPIndexSet indexSetWithIndexesInRange:CPMakeRange(0, [self numberOfRows])]; + [self reloadDataForRowIndexes:rowIndexes columnIndexes:[CPIndexSet indexSetWithIndex:columnIndex]]; } - (CPArray)tableColumns