# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1300057569 0 # Node ID 5a8d5161651db1e1fb0c718264063617095e3f9c # Parent 56053f1af9eef07f3932a7d6fdb70cb4a135a5d5 Implemented tree expand event. diff -r 56053f1af9ee -r 5a8d5161651d mac/dw.m --- a/mac/dw.m Sun Mar 13 16:50:40 2011 +0000 +++ b/mac/dw.m Sun Mar 13 23:06:09 2011 +0000 @@ -293,6 +293,12 @@ return switchpagefunc(handler->window, pageid, handler->data); } + case 16: + { + int (* API treeexpandfunc)(HWND, HTREEITEM, void *) = (int (* API)(HWND, HTREEITEM, void *))handler->signalfunction; + + return treeexpandfunc(handler->window, (HTREEITEM)event, handler->data); + } } } return -1; @@ -1095,6 +1101,7 @@ -(void *)userdata; -(void)setUserdata:(void *)input; -(void)treeSelectionChanged:(id)sender; +-(void)treeItemExpanded:(NSNotification *)notification; -(NSScrollView *)scrollview; -(void)setScrollview:(NSScrollView *)input; -(void)deleteNode:(NSPointerArray *)item; @@ -1118,6 +1125,7 @@ [self addTableColumn:textcol]; [self setOutlineTableColumn:textcol]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(treeSelectionChanged:) name:NSOutlineViewSelectionDidChangeNotification object:[self window]]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(treeItemExpanded:) name:NSOutlineViewItemDidExpandNotification object:[self window]]; } return self; } @@ -1210,6 +1218,15 @@ _event_handler(self, (void *)item, 12); } } +-(void)treeItemExpanded:(NSNotification *)notification +{ + id item = [[notification userInfo ] objectForKey: @"NSObject"]; + + if(item) + { + _event_handler(self, (void *)item, 16); + } +} -(NSMenu *)menuForEvent:(NSEvent *)event { int row;