# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1299163770 0 # Node ID 5dde8d34bc6918a7108c366acb05adcd43ab60a4 # Parent 218d676baf7f32ebf7b03be9f53ff5434e3d1fa6 Implemented dw_listbox_insert for containers. diff -r 218d676baf7f -r 5dde8d34bc69 mac/dw.m --- a/mac/dw.m Thu Mar 03 14:23:00 2011 +0000 +++ b/mac/dw.m Thu Mar 03 14:49:30 2011 +0000 @@ -686,6 +686,23 @@ -(void)setScrollview:(NSScrollView *)input { scrollview = input; } -(void)addColumn:(NSTableColumn *)input andType:(int)type { if(tvcols) { [tvcols addObject:input]; [types addObject:[NSNumber numberWithInt:type]]; } } -(NSTableColumn *)getColumn:(int)col { if(tvcols) { return [tvcols objectAtIndex:col]; } return nil; } +-(int)insertRow:(NSArray *)input at:(int)index +{ + if(data) + { + unsigned long start = [tvcols count] * index; + NSIndexSet *set = [[NSIndexSet alloc] initWithIndexesInRange:NSMakeRange(start, start + [tvcols count])]; + if(index < lastAddPoint) + { + lastAddPoint++; + } + [data insertObjects:input atIndexes:set]; + [titles insertPointer:NULL atIndex:index]; + [set release]; + return (int)[titles count]; + } + return 0; +} -(int)addRow:(NSArray *)input { if(data) { lastAddPoint = (int)[titles count]; [data addObjectsFromArray:input]; [titles addPointer:NULL]; return (int)[titles count]; } return 0; } -(int)addRows:(int)number { @@ -2605,7 +2622,14 @@ } else if([object isMemberOfClass:[DWContainer class]]) { - NSLog(@"dw_listbox_insert() unimplemented\n"); + DWContainer *cont = handle; + NSString *nstr = [ NSString stringWithUTF8String:text ]; + NSArray *newrow = [NSArray arrayWithObject:nstr]; + + [cont insertRow:newrow at:pos]; + [cont reloadData]; + + [newrow release]; } }