|
From: Geisschaes <gei...@us...> - 2005-09-14 18:05:39
|
Update of /cvsroot/macattrick/macattrick In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22404 Modified Files: PositionsController.m Log Message: drag and drop works in positions view. but not yet delete key Index: PositionsController.m =================================================================== RCS file: /cvsroot/macattrick/macattrick/PositionsController.m,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** PositionsController.m 7 Feb 2005 21:15:40 -0000 1.8 --- PositionsController.m 14 Sep 2005 18:05:31 -0000 1.9 *************** *** 41,51 **** --- 41,60 ---- [positionsTable setTarget:self]; [positionsTable setDoubleAction:@selector(doubleClicked)]; + [[Team currentTeam] addObserver: self forKeyPath: @"playerList" options: NSKeyValueObservingOptionNew context:nil]; return self; } + - (NSView*) positionsTableView { return positionsTableView; } + // observing + - (void) observeValueForKeyPath: (NSString*) keyPath ofObject: (id) object change: (NSDictionary*) change context: (void *) context { + if([keyPath isEqualToString: @"playerList"] && positionsTable) { + [positionsTable reloadData]; + } + } + // NSTableDataSource - (int)numberOfRowsInTableView:(NSTableView *)aTableView { *************** *** 139,141 **** --- 148,165 ---- } + // drag and drop + - (BOOL)tableView:(NSTableView *)tv writeRows:(NSArray*)row toPasteboard:(NSPasteboard*)pboard { + [pboard declareTypes:[NSArray arrayWithObject:NSDragPboard] owner:self]; + NSIndexSet *sel = [positionsTable selectedRowIndexes]; + NSMutableArray *playerIDs = [NSMutableArray array]; + NSMutableArray *players = [NSMutableArray array]; + int i; + for(i=0; i<[[[Team currentTeam] playerList] numberOfPlayers]; i++) { + if([sel containsIndex:i]) { + [playerIDs addObject: [NSNumber numberWithInt:[[[team playerList] playerAtIndex:i] playerID]]]; + } + } + [pboard setPropertyList:playerIDs forType:NSDragPboard]; + return YES; + } @end |