From f82099143fd120f6484f12e0f99d8f6c399121f5 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Tue, 23 Sep 2014 12:17:52 +0200 Subject: [PATCH] CPTableView: -_reloadDataViewsImmediately -> -reloadData CPTableColumn: binder:-setValueFor: is a simple data reload. --- AppKit/CPOutlineView.j | 6 ------ AppKit/CPTableColumn.j | 3 ++- AppKit/CPTableView.j | 23 +++++------------------ 3 files changed, 7 insertions(+), 25 deletions(-) diff --git a/AppKit/CPOutlineView.j b/AppKit/CPOutlineView.j index c3d86abf6..6dc83fa0c 100644 --- a/AppKit/CPOutlineView.j +++ b/AppKit/CPOutlineView.j @@ -1321,12 +1321,6 @@ var CPOutlineViewCoalesceSelectionNotificationStateOff = 0, [self reloadData]; } -- (BOOL)_dataViewsNeedReloadAfterContentChange -{ - // Alternatively, check if the current tree of views mactches the current tree in the data source. - return YES; -} - /*! Reloads all the data of the outlineview. */ diff --git a/AppKit/CPTableColumn.j b/AppKit/CPTableColumn.j index 3098b65dc..3765fac89 100644 --- a/AppKit/CPTableColumn.j +++ b/AppKit/CPTableColumn.j @@ -564,7 +564,8 @@ CPTableColumnUserResizingMask = 1 << 1; rowIndexes = [CPIndexSet indexSetWithIndexesInRange:CPMakeRange(0, [tableView numberOfRows])], columnIndexes = [CPIndexSet indexSetWithIndex:column]; - [tableView reloadDataForRowIndexes:rowIndexes columnIndexes:columnIndexes]; + // Reloads objectValues only, not the views. + [tableView _reloadDataForRowIndexes:rowIndexes columnIndexes:columnIndexes]; } - (CPSortDescriptor)_defaultSortDescriptorPrototype diff --git a/AppKit/CPTableView.j b/AppKit/CPTableView.j index c187220ca..ee4fe4338 100644 --- a/AppKit/CPTableView.j +++ b/AppKit/CPTableView.j @@ -616,9 +616,8 @@ NOT YET IMPLEMENTED */ - (void)reloadData { - // Empty the data cache. - _objectValues = { }; - [self _reloadDataViewsImmediately]; + [self _reloadDataViews]; + [[CPRunLoop currentRunLoop] limitDateForMode:CPDefaultRunLoopMode]; } /*! @@ -641,11 +640,6 @@ NOT YET IMPLEMENTED }]; } -- (BOOL)_dataViewsNeedReloadAfterContentChange -{ - return (_numberOfRows !== [self _numberOfRows]); -} - // Reloads the views AND the data - (void)_reloadDataViews { @@ -668,13 +662,6 @@ NOT YET IMPLEMENTED [self setNeedsDisplay:YES]; } -// reload data views and process events to force a -load -- (void)_reloadDataViewsImmediately -{ - [self _reloadDataViews]; - [[CPRunLoop currentRunLoop] limitDateForMode:CPDefaultRunLoopMode]; -} - //Target-action Behavior /*! Sets the message sent to the target when the user double-clicks an @@ -1152,7 +1139,7 @@ NOT YET IMPLEMENTED else _dirtyTableColumnRangeIndex = MIN(index, _dirtyTableColumnRangeIndex); - [self _reloadDataViewsImmediately]; + [self reloadData]; } /*! @@ -3804,7 +3791,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad - (void)enumerateAvailableViewsUsingBlock:(Function/*CPView *dataView, CPInteger row, CPInteger column*, @ref stop*/)handler { - [self _reloadDataViewsImmediately]; + [self reloadData]; [self _enumerateViewsInRows:_exposedRows columns:_exposedColumns usingBlock:handler]; } @@ -5206,7 +5193,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad if (![self isRowSelected:rowIndex]) [[CPException exceptionWithName:@"Error" reason:@"Attempt to edit row " + rowIndex + " when not selected." userInfo:nil] raise]; - [self _reloadDataViewsImmediately]; + [self reloadData]; [self scrollRowToVisible:rowIndex]; [self scrollColumnToVisible:columnIndex];