diff --git a/Headers/AppKit/NSTableView.h b/Headers/AppKit/NSTableView.h index 8b0005648..3605d2f4a 100644 --- a/Headers/AppKit/NSTableView.h +++ b/Headers/AppKit/NSTableView.h @@ -68,6 +68,18 @@ typedef enum _NSTableViewColumnAutoresizingStyle } NSTableViewColumnAutoresizingStyle; #endif +#if OS_API_VERSION(MAC_OS_X_VERSION_10_7, GS_API_LATEST) +typedef enum _NSTableViewAnimationOptions +{ + NSTableViewAnimationEffectNone = 0x0, + NSTableViewAnimationEffectFade = 0x1, + NSTableViewAnimationEffectGap = 0x2, + NSTableViewAnimationSlideUp = 0x10, + NSTableViewAnimationSlideDown = 0x20, + NSTableViewAnimationSlideLeft = 0x30, + NSTableViewAnimationSlideRight = 0x40, +} NSTableViewAnimationOptions; +#endif @interface NSTableView : NSControl { @@ -114,7 +126,8 @@ typedef enum _NSTableViewColumnAutoresizingStyle /* * Ivars Acting as Control... */ - BOOL _isValidating; + BOOL _isValidating; + NSInteger _beginEndUpdates; /* * Ivars Acting as Cache @@ -341,6 +354,19 @@ typedef enum _NSTableViewColumnAutoresizingStyle - (NSArray *) sortDescriptors; #endif +#if OS_API_VERSION(MAC_OS_X_VERSION_10_6, GS_API_LATEST) +- (void)reloadDataForRowIndexes:(NSIndexSet *)rowIndexes columnIndexes:(NSIndexSet *)columnIndexes; +#endif + +#if OS_API_VERSION(MAC_OS_X_VERSION_10_7, GS_API_LATEST) +- (void)beginUpdates; +- (void)endUpdates; +- (NSInteger)columnForView:(NSView *)view; +- (void)insertRowsAtIndexes:(NSIndexSet *)indexes withAnimation:(NSTableViewAnimationOptions)animationOptions; +- (void)removeRowsAtIndexes:(NSIndexSet *)indexes withAnimation:(NSTableViewAnimationOptions)animationOptions; +- (NSInteger)rowForView:(NSView *)view; +#endif + @end /* interface of NSTableView */ @interface NSTableView (GNUPrivate) @@ -459,6 +485,7 @@ dataCellForTableColumn: (NSTableColumn *)aTableColumn - (NSCell *)tableView:(NSTableView*)tableView dataCellForTableColumn:(NSTableColumn*)tableColumn row:(NSInteger)row; - (NSIndexSet *)tableView:(NSTableView*)tableView selectionIndexesForProposedSelection:(NSIndexSet*)proposedSelectionIndexes; #endif + @end #endif /* _GNUstep_H_NSTableView */ diff --git a/Source/NSTableView.m b/Source/NSTableView.m index f8b416f9c..55647e62d 100644 --- a/Source/NSTableView.m +++ b/Source/NSTableView.m @@ -6998,6 +6998,47 @@ For a more detailed explanation, -setSortDescriptors:. */ return NO; } +- (void)reloadDataForRowIndexes:(NSIndexSet *)rowIndexes columnIndexes:(NSIndexSet *)columnIndexes +{ + [self reloadData]; +} + +- (void)beginUpdates +{ + _beginEndUpdates++; +} + +- (void)endUpdates +{ + if (_beginEndUpdates > 0) + { + if (--_beginEndUpdates == 0) + { + // Process batched inserts/removes.... + // Just reload table for now until we get inserts/removes working... + [self reloadData]; + } + } +} + +- (NSInteger)columnForView:(NSView *)view +{ + return(NSNotFound); +} + +- (void)insertRowsAtIndexes:(NSIndexSet *)indexes withAnimation:(NSTableViewAnimationOptions)animationOptions +{ +} + +- (void)removeRowsAtIndexes:(NSIndexSet *)indexes withAnimation:(NSTableViewAnimationOptions)animationOptions +{ +} + +- (NSInteger)rowForView:(NSView *)view +{ + return(NSNotFound); +} + @end /* implementation of NSTableView */ @implementation NSTableView (SelectionHelper)