diff --git a/Headers/gnustep/gui/NSTableView.h b/Headers/gnustep/gui/NSTableView.h index 9f57582e6..b38f1eb0b 100644 --- a/Headers/gnustep/gui/NSTableView.h +++ b/Headers/gnustep/gui/NSTableView.h @@ -30,10 +30,18 @@ #define _GNUstep_H_NSTableView #include +#include +@class NSArray; @class NSTableColumn; @class NSTableHeaderView; @class NSText; +@class NSImage; + +typedef enum _NSTableViewDropOperation { + NSTableViewDropOn, + NSTableViewDropAbove +} NSTableViewDropOperation; @interface NSTableView : NSControl { @@ -150,7 +158,6 @@ - (NSColor *) backgroundColor; /* Selecting Columns and Rows */ -/* NB: ALL TODOS */ - (void) selectColumn: (int) columnIndex byExtendingSelection: (BOOL)flag; - (void) selectRow: (int) rowIndex byExtendingSelection: (BOOL)flag; - (void) deselectColumn: (int)columnIndex; @@ -221,7 +228,6 @@ - (void) textDidEndEditing: (NSNotification *)aNotification; /* Persistence */ -/* ALL TODOS */ - (NSString *) autosaveName; - (BOOL) autosaveTableColumns; - (void) setAutosaveName: (NSString *)name; @@ -231,6 +237,27 @@ - (void) setDelegate: (id)anObject; - (id) delegate; +/* indicator image */ +/* NB: ALL TODOS */ +- (NSImage *) indicatorImageInTableColumn: (NSTableColumn *)aTableColumn; +- (void) setIndicatorImage: (NSImage *)anImage + inTableColumn: (NSTableColumn *)aTableColumn; + +/* highlighting columns */ +/* NB: ALL TODOS */ +- (NSTableColumn *) highlightedTableColumn; +- (void) setHighlightedTableColumn: (NSTableColumn *)aTableColumn; + +/* dragging rows */ +/* NB: ALL TODOS */ +- (NSImage*) dragImageForRows: (NSArray*)dragRows + event: (NSEvent*)dragEvent + dragImageOffset: (NSPoint*)dragImageOffset; +- (void) setDropRow: (int)row + dropOperation: (NSTableViewDropOperation)operation; +- (void) setVerticalMotionCanBeginDrag: (BOOL)flag; +- (BOOL) verticalMotionCanBeginDrag; + @end /* interface of NSTableView */ @interface NSTableView (GNUPrivate) @@ -254,6 +281,18 @@ objectValueForTableColumn: (NSTableColumn *)aTableColumn forTableColumn: (NSTableColumn *)aTableColumn row: (int)rowIndex; +/* Dragging */ +- (BOOL) tableView: (NSTableView*)tableView + acceptDrop: (id )info + row: (int)row + dropOperation: (NSTableViewDropOperation)operation; +- (NSDragOperation) tableView: (NSTableView*)tableView + validateDrop: (id )info + proposedRow: (int)row + proposedDropOperation: (NSTableViewDropOperation)operation; +- (BOOL) tableView: (NSTableView *)tableView + writeRows: (NSArray*)rows + toPasteboard: (NSPasteboard*)pboard; @end APPKIT_EXPORT NSString *NSTableViewColumnDidMoveNotification; @@ -268,6 +307,12 @@ APPKIT_EXPORT NSString *NSTableViewSelectionIsChangingNotification; @interface NSObject (NSTableViewDelegate) - (BOOL) selectionShouldChangeInTableView: (NSTableView *)aTableView; +- (void) tableView: (NSTableView*)tableView +didClickTableColumn: (NSTableColumn *)tableColumn; +- (void) tableView: (NSTableView*)tableView +didDragTableColumn: (NSTableColumn *)tableColumn; +- (void) tableView: (NSTableView*)tableView +mouseDownInHeaderOfTableColumn: (NSTableColumn *)tableColumn; - (BOOL)tableView: (NSTableView *)aTableView shouldEditTableColumn: (NSTableColumn *)aTableColumn row: (int)rowIndex; diff --git a/Source/NSTableView.m b/Source/NSTableView.m index 2e7ad8608..8d04ea5f1 100644 --- a/Source/NSTableView.m +++ b/Source/NSTableView.m @@ -3133,6 +3133,74 @@ byExtendingSelection: (BOOL)flag return _delegate; } + +/* indicator image */ +- (NSImage *) indicatorImageInTableColumn: (NSTableColumn *)aTableColumn +{ + // TODO + NSLog(@"Method %s is not implemented for class %s", + "indicatorImageInTableColumn:", "NSTableView"); + return nil; +} + +- (void) setIndicatorImage: (NSImage *)anImage + inTableColumn: (NSTableColumn *)aTableColumn +{ + // TODO + NSLog(@"Method %s is not implemented for class %s", + "setIndicatorImage:inTableColumn:", "NSTableView"); +} + +/* highlighting columns */ +- (NSTableColumn *) highlightedTableColumn +{ + // TODO + NSLog(@"Method %s is not implemented for class %s", + "highlightedTableColumn", "NSTableView"); + return nil; +} + +- (void) setHighlightedTableColumn: (NSTableColumn *)aTableColumn +{ + // TODO + NSLog(@"Method %s is not implemented for class %s", + "setHighlightedTableColumn:", "NSTableView"); +} + +/* dragging rows */ +- (NSImage*) dragImageForRows: (NSArray*)dragRows + event: (NSEvent*)dragEvent + dragImageOffset: (NSPoint*)dragImageOffset +{ + // TODO + NSLog(@"Method %s is not implemented for class %s", + "dragImageForRows:event:dragImageOffset:", "NSTableView"); + return nil; +} + +- (void) setDropRow: (int)row + dropOperation: (NSTableViewDropOperation)operation +{ + // TODO + NSLog(@"Method %s is not implemented for class %s", + "setDropRow:dropOperation:", "NSTableView"); +} + +- (void) setVerticalMotionCanBeginDrag: (BOOL)flag +{ + // TODO + NSLog(@"Method %s is not implemented for class %s", + "setVerticalMotionCanBeginDrag:", "NSTableView"); +} + +- (BOOL) verticalMotionCanBeginDrag +{ + // TODO + NSLog(@"Method %s is not implemented for class %s", + "verticalMotionCanBeginDrag", "NSTableView"); + return NO; +} + /* * Encoding/Decoding */