# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1299909812 0 # Node ID 78460ff977c13fdbbece4b5349b1734817acdb98 # Parent 5a268d5f1cfa03eed1c4aa8545e87191a00dd816 Finishing up tree event/signal handlers. diff -r 5a268d5f1cfa -r 78460ff977c1 mac/dw.m --- a/mac/dw.m Sat Mar 12 04:12:14 2011 +0000 +++ b/mac/dw.m Sat Mar 12 06:03:32 2011 +0000 @@ -248,7 +248,7 @@ void *user = NULL; id item = nil; - if([object isMemberOfClass:[NSOutlineView class]]) + if([object isKindOfClass:[NSOutlineView class]]) { item = (id)event; NSString *nstr = [item pointerAtIndex:1]; @@ -1001,11 +1001,11 @@ } -(NSMenu *)menuForEvent:(NSEvent *)event { - int row; - NSPoint where = [self convertPoint:[event locationInWindow] fromView:nil]; - row = (int)[self rowAtPoint:where]; - _event_handler(self, (NSEvent *)[self getRowTitle:row], 10); - return nil; + int row; + NSPoint where = [self convertPoint:[event locationInWindow] fromView:nil]; + row = (int)[self rowAtPoint:where]; + _event_handler(self, (NSEvent *)[self getRowTitle:row], 10); + return nil; } -(void)dealloc { UserData *root = userdata; _remove_userdata(&root, NULL, TRUE); [super dealloc]; } @end @@ -1058,6 +1058,7 @@ -(BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item; -(int)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item; -(id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item; +-(BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item; -(void)addTree:(NSPointerArray *)item and:(NSPointerArray *)parent; -(void *)userdata; -(void)setUserdata:(void *)input; @@ -1143,6 +1144,7 @@ } return @"List Root"; } +-(BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item { return NO; } -(void)addTree:(NSPointerArray *)item and:(NSPointerArray *)parent; { NSMutableArray *children = data; @@ -1168,10 +1170,20 @@ -(void)setUserdata:(void *)input { userdata = input; } -(void)treeSelectionChanged:(id)sender { - /* Handler for container class */ + /* Handler for tree class */ id item = [self itemAtRow:[self selectedRow]]; - _event_handler(self, (void *)item, 12); + _event_handler(self, (void *)item, 12); +} +-(NSMenu *)menuForEvent:(NSEvent *)event +{ + int row; + NSPoint where = [self convertPoint:[event locationInWindow] fromView:nil]; + row = (int)[self rowAtPoint:where]; + id item = [self itemAtRow:row]; + NSString *nstr = [item pointerAtIndex:1]; + _event_handler(self, (NSEvent *)[nstr UTF8String], 10); + return nil; } -(NSScrollView *)scrollview { return scrollview; } -(void)setScrollview:(NSScrollView *)input { scrollview = input; }