Mercurial > dwindows
comparison ios/dw.m @ 2766:9b9bc2c2bbad
iOS: Skip displaying the root node, it just represents the tree itself.
Also correctly add nodes to the root node.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Fri, 08 Apr 2022 16:33:38 +0000 |
parents | f734185664cc |
children | de144e0fbdf1 |
comparison
equal
deleted
inserted
replaced
2765:f734185664cc | 2766:9b9bc2c2bbad |
---|---|
2707 return nil; | 2707 return nil; |
2708 } | 2708 } |
2709 -(NSArray<DWTreeItem *> *)visibleNodes | 2709 -(NSArray<DWTreeItem *> *)visibleNodes |
2710 { | 2710 { |
2711 NSMutableArray *allElements = [[NSMutableArray alloc] init]; | 2711 NSMutableArray *allElements = [[NSMutableArray alloc] init]; |
2712 [allElements addObject:self]; | 2712 if(![self isRoot]) |
2713 [allElements addObject:self]; | |
2713 if(_expanded) | 2714 if(_expanded) |
2714 { | 2715 { |
2715 for (DWTreeItem *child in _children) | 2716 for (DWTreeItem *child in _children) |
2716 [allElements addObjectsFromArray:[child visibleNodes]]; | 2717 [allElements addObjectsFromArray:[child visibleNodes]]; |
2717 } | 2718 } |
2931 // Finally put it on the root level | 2932 // Finally put it on the root level |
2932 if(targetNode == nil) | 2933 if(targetNode == nil) |
2933 targetNode = _rootNode; | 2934 targetNode = _rootNode; |
2934 // If target is still nil something went horrible wrong | 2935 // If target is still nil something went horrible wrong |
2935 NSAssert(targetNode, @"targetNode == nil, something went wrong!"); | 2936 NSAssert(targetNode, @"targetNode == nil, something went wrong!"); |
2936 [targetNode insertChildAfter:treeItem]; | 2937 if(targetNode.isRoot) |
2938 [targetNode appendChild:treeItem]; | |
2939 else | |
2940 [targetNode insertChildAfter:treeItem]; | |
2937 | 2941 |
2938 if([_treeViewDelegate respondsToSelector:@selector(treeView:addTreeItem:)]) | 2942 if([_treeViewDelegate respondsToSelector:@selector(treeView:addTreeItem:)]) |
2939 [_treeViewDelegate treeView:self addTreeItem:treeItem]; | 2943 [_treeViewDelegate treeView:self addTreeItem:treeItem]; |
2940 | 2944 |
2941 [self reloadData]; | 2945 [self reloadData]; |