Mercurial > dwindows
comparison mac/dw.m @ 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 |
comparison
equal
deleted
inserted
replaced
709:5a268d5f1cfa | 710:78460ff977c1 |
---|---|
246 int (* API treeselectfunc)(HWND, HTREEITEM, char *, void *, void *) = (int (* API)(HWND, HTREEITEM, char *, void *, void *))handler->signalfunction; | 246 int (* API treeselectfunc)(HWND, HTREEITEM, char *, void *, void *) = (int (* API)(HWND, HTREEITEM, char *, void *, void *))handler->signalfunction; |
247 char *text = (char *)event; | 247 char *text = (char *)event; |
248 void *user = NULL; | 248 void *user = NULL; |
249 id item = nil; | 249 id item = nil; |
250 | 250 |
251 if([object isMemberOfClass:[NSOutlineView class]]) | 251 if([object isKindOfClass:[NSOutlineView class]]) |
252 { | 252 { |
253 item = (id)event; | 253 item = (id)event; |
254 NSString *nstr = [item pointerAtIndex:1]; | 254 NSString *nstr = [item pointerAtIndex:1]; |
255 | 255 |
256 user = [item pointerAtIndex:3]; | 256 user = [item pointerAtIndex:3]; |
999 /* Handler for listbox class */ | 999 /* Handler for listbox class */ |
1000 _event_handler(self, (NSEvent *)(int)[self selectedRow], 11); | 1000 _event_handler(self, (NSEvent *)(int)[self selectedRow], 11); |
1001 } | 1001 } |
1002 -(NSMenu *)menuForEvent:(NSEvent *)event | 1002 -(NSMenu *)menuForEvent:(NSEvent *)event |
1003 { | 1003 { |
1004 int row; | 1004 int row; |
1005 NSPoint where = [self convertPoint:[event locationInWindow] fromView:nil]; | 1005 NSPoint where = [self convertPoint:[event locationInWindow] fromView:nil]; |
1006 row = (int)[self rowAtPoint:where]; | 1006 row = (int)[self rowAtPoint:where]; |
1007 _event_handler(self, (NSEvent *)[self getRowTitle:row], 10); | 1007 _event_handler(self, (NSEvent *)[self getRowTitle:row], 10); |
1008 return nil; | 1008 return nil; |
1009 } | 1009 } |
1010 -(void)dealloc { UserData *root = userdata; _remove_userdata(&root, NULL, TRUE); [super dealloc]; } | 1010 -(void)dealloc { UserData *root = userdata; _remove_userdata(&root, NULL, TRUE); [super dealloc]; } |
1011 @end | 1011 @end |
1012 | 1012 |
1013 /* Dive into the tree showing all nodes */ | 1013 /* Dive into the tree showing all nodes */ |
1056 } | 1056 } |
1057 -(id)outlineView:(NSOutlineView *)outlineView child:(int)index ofItem:(id)item; | 1057 -(id)outlineView:(NSOutlineView *)outlineView child:(int)index ofItem:(id)item; |
1058 -(BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item; | 1058 -(BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item; |
1059 -(int)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item; | 1059 -(int)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item; |
1060 -(id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item; | 1060 -(id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item; |
1061 -(BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item; | |
1061 -(void)addTree:(NSPointerArray *)item and:(NSPointerArray *)parent; | 1062 -(void)addTree:(NSPointerArray *)item and:(NSPointerArray *)parent; |
1062 -(void *)userdata; | 1063 -(void *)userdata; |
1063 -(void)setUserdata:(void *)input; | 1064 -(void)setUserdata:(void *)input; |
1064 -(void)treeSelectionChanged:(id)sender; | 1065 -(void)treeSelectionChanged:(id)sender; |
1065 -(NSScrollView *)scrollview; | 1066 -(NSScrollView *)scrollview; |
1141 return nil; | 1142 return nil; |
1142 } | 1143 } |
1143 } | 1144 } |
1144 return @"List Root"; | 1145 return @"List Root"; |
1145 } | 1146 } |
1147 -(BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item { return NO; } | |
1146 -(void)addTree:(NSPointerArray *)item and:(NSPointerArray *)parent; | 1148 -(void)addTree:(NSPointerArray *)item and:(NSPointerArray *)parent; |
1147 { | 1149 { |
1148 NSMutableArray *children = data; | 1150 NSMutableArray *children = data; |
1149 if(parent) | 1151 if(parent) |
1150 { | 1152 { |
1166 } | 1168 } |
1167 -(void *)userdata { return userdata; } | 1169 -(void *)userdata { return userdata; } |
1168 -(void)setUserdata:(void *)input { userdata = input; } | 1170 -(void)setUserdata:(void *)input { userdata = input; } |
1169 -(void)treeSelectionChanged:(id)sender | 1171 -(void)treeSelectionChanged:(id)sender |
1170 { | 1172 { |
1171 /* Handler for container class */ | 1173 /* Handler for tree class */ |
1172 id item = [self itemAtRow:[self selectedRow]]; | 1174 id item = [self itemAtRow:[self selectedRow]]; |
1173 | 1175 |
1174 _event_handler(self, (void *)item, 12); | 1176 _event_handler(self, (void *)item, 12); |
1177 } | |
1178 -(NSMenu *)menuForEvent:(NSEvent *)event | |
1179 { | |
1180 int row; | |
1181 NSPoint where = [self convertPoint:[event locationInWindow] fromView:nil]; | |
1182 row = (int)[self rowAtPoint:where]; | |
1183 id item = [self itemAtRow:row]; | |
1184 NSString *nstr = [item pointerAtIndex:1]; | |
1185 _event_handler(self, (NSEvent *)[nstr UTF8String], 10); | |
1186 return nil; | |
1175 } | 1187 } |
1176 -(NSScrollView *)scrollview { return scrollview; } | 1188 -(NSScrollView *)scrollview { return scrollview; } |
1177 -(void)setScrollview:(NSScrollView *)input { scrollview = input; } | 1189 -(void)setScrollview:(NSScrollView *)input { scrollview = input; } |
1178 -(void)deleteNode:(NSPointerArray *)item { _free_tree_recurse(data, item); } | 1190 -(void)deleteNode:(NSPointerArray *)item { _free_tree_recurse(data, item); } |
1179 -(void)clear { NSMutableArray *toclear = data; data = nil; _free_tree_recurse(toclear, NULL); [self reloadData]; } | 1191 -(void)clear { NSMutableArray *toclear = data; data = nil; _free_tree_recurse(toclear, NULL); [self reloadData]; } |