Create working stubs for table view batch insertions/removals of rows

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/branches/gnustep_testplant_branch@38234 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Marcian Lytwyn 2014-12-04 21:55:21 +00:00
parent 290e5b3c34
commit 13202adda5
2 changed files with 69 additions and 1 deletions

View file

@ -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 <NSUserInterfaceValidations>
{
@ -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 */

View file

@ -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)