changeset 687:5dde8d34bc69

Implemented dw_listbox_insert for containers.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 03 Mar 2011 14:49:30 +0000
parents 218d676baf7f
children b52f1d4a60dd
files mac/dw.m
diffstat 1 files changed, 25 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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];
     }
 }