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; }