Mercurial > dwindows
changeset 710:78460ff977c1
Finishing up tree event/signal handlers.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 12 Mar 2011 06:03:32 +0000 |
parents | 5a268d5f1cfa |
children | 82250177f814 |
files | mac/dw.m |
diffstat | 1 files changed, 20 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- 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; }