From: <mm...@us...> - 2003-03-21 08:37:39
|
Update of /cvsroot/bibdesk/bibdesk In directory sc8-pr-cvs1:/tmp/cvs-serv8301 Modified Files: BibDocument_DataSource.m Log Message: - Now Allows bidirectional sorting - Now uses an nsimagecell for the local-url tablecolumn - added initial support for sorting by more than just author in outlineview. Index: BibDocument_DataSource.m =================================================================== RCS file: /cvsroot/bibdesk/bibdesk/BibDocument_DataSource.m,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** BibDocument_DataSource.m 10 Mar 2003 22:33:16 -0000 1.5 --- BibDocument_DataSource.m 21 Mar 2003 08:37:35 -0000 1.6 *************** *** 43,47 **** - (int)outlineView:(NSOutlineView *)oView numberOfChildrenOfItem:(id)item { if(item == nil){ ! return [allAuthors count]; }else{ return [item numberOfChildren]; --- 43,47 ---- - (int)outlineView:(NSOutlineView *)oView numberOfChildrenOfItem:(id)item { if(item == nil){ ! return [[self currentSortFieldArray] count]; }else{ return [item numberOfChildren]; *************** *** 59,64 **** BibAuthor *auth = (BibAuthor *)item; if(item == nil){ ! // //NSLog(@"trying to give it %@", [allAuthors objectAtIndex:index]); ! return [allAuthors objectAtIndex:index]; } else{ --- 59,63 ---- BibAuthor *auth = (BibAuthor *)item; if(item == nil){ ! return [[self currentSortFieldArray] objectAtIndex:index]; } else{ *************** *** 176,182 **** - (void)tableView: (NSTableView *)aTableView willDisplayCell: (id)aCell ! forTableColumn: (NSTableColumn *)aTableColumn row: (int)aRowIndex { ! [aCell setDrawsBackground: ((aRowIndex % 2) == 0)]; } --- 175,185 ---- - (void)tableView: (NSTableView *)aTableView willDisplayCell: (id)aCell ! forTableColumn: (NSTableColumn *)aTableColumn ! row:(int)row { ! if([aCell class] != [NSImageCell class]){ ! ! [aCell setDrawsBackground: ((row % 2) == 0)]; ! } } *************** *** 195,201 **** BibItem* pub = nil; NSArray *auths = nil; ! if(tView == tableView){ ! pub = [shownPublications objectAtIndex:row]; auths = [pub pubAuthors]; --- 198,206 ---- BibItem* pub = nil; NSArray *auths = nil; ! int sortedRow = (sortDescending ? [shownPublications count] - 1 - row : row); ! NSString *path = nil; ! if(tView == tableView){ ! pub = [shownPublications objectAtIndex:sortedRow]; auths = [pub pubAuthors]; *************** *** 232,248 **** return @"-"; ! }else if ([[tableColumn identifier] isEqualToString:@"Local-URL"]){ ! NSLog(@"local-url tablecolumn shown"); ! // @@refactor - this stuff should be in a single method in BibItem, not here and in BibEditor. Ouch. ! //return [pub valueOfField:[tableColumn identifier]]; ! return [[NSWorkspace sharedWorkspace] iconForFile: ! [pub valueOfField:[tableColumn identifier]]]; ! // return @"placeholder"; ! /* icon = [[NSWorkspace sharedWorkspace] iconForFile: ! [local path]]; ! [viewLocalButton setImage:icon]; ! [viewLocalButton setEnabled:YES]; ! [viewLocalButton setToolTip:@"View File"]; ! [viewLocalButton setTitle:@""];*/ }else{ // the tableColumn isn't something we handle in a custom way. --- 237,248 ---- return @"-"; ! }else if ([[tableColumn identifier] isEqualToString:@"Local-Url"]){ ! path = [pub localURLPath]; ! if(path && [[NSFileManager defaultManager] fileExistsAtPath:path]){ ! return [[NSWorkspace sharedWorkspace] iconForFile:path]; ! }else{ ! return nil; ! } ! }else{ // the tableColumn isn't something we handle in a custom way. |