36 lines
1.3 KiB
Objective-C
36 lines
1.3 KiB
Objective-C
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
extern NSString *CogDNDIndexType;
|
|
extern NSString *CogUrlsPboardType;
|
|
extern NSString *iTunesDropType;
|
|
|
|
@interface DNDArrayController : NSArrayController <NSTableViewDataSource>
|
|
|
|
@property IBOutlet NSTableView *tableView;
|
|
|
|
// table view drag and drop support
|
|
- (id<NSPasteboardWriting>)tableView:(NSTableView *)tableView
|
|
pasteboardWriterForRow:(NSInteger)row;
|
|
- (void)tableView:(NSTableView *)tableView
|
|
draggingSession:(NSDraggingSession *)session
|
|
willBeginAtPoint:(NSPoint)screenPoint
|
|
forRowIndexes:(NSIndexSet *)rowIndexes;
|
|
- (NSDragOperation)tableView:(NSTableView *)tableView
|
|
validateDrop:(id<NSDraggingInfo>)info
|
|
proposedRow:(NSInteger)row
|
|
proposedDropOperation:(NSTableViewDropOperation)dropOperation;
|
|
- (BOOL)tableView:(NSTableView *)tableView
|
|
acceptDrop:(id<NSDraggingInfo>)info
|
|
row:(NSInteger)row
|
|
dropOperation:(NSTableViewDropOperation)dropOperation;
|
|
|
|
// utility methods
|
|
- (void)moveObjectsInArrangedObjectsFromIndexes:(NSIndexSet *)indexSet
|
|
toIndex:(NSUInteger)insertIndex;
|
|
// This is needed to undo the above
|
|
- (void)moveObjectsFromIndex:(NSUInteger)fromIndex
|
|
toArrangedObjectIndexes:(NSIndexSet *)indexSet;
|
|
|
|
@end
|