public override NSObject GetChild(NSOutlineView outlineView, int childIndex, NSObject ofItem) { Dictionary <int, EtoTreeItem> items; var myitem = ofItem as EtoTreeItem; if (ofItem == null) { items = Handler.topitems; } else { items = myitem.Items; } EtoTreeItem item; if (!items.TryGetValue(childIndex, out item)) { var parentItem = myitem != null ? (ITreeGridStore <ITreeGridItem>)myitem.Item : Handler.store; item = new EtoTreeItem { Item = parentItem [childIndex] }; Handler.cachedItems.Add(item.Item, item); items.Add(childIndex, item); } return(item); }
public override NSObject GetChild(NSOutlineView outlineView, nint childIndex, NSObject item) { Dictionary <int, EtoTreeItem> items; var myitem = item as EtoTreeItem; items = myitem == null ? Handler.topitems : myitem.Items; EtoTreeItem etoItem; if (!items.TryGetValue((int)childIndex, out etoItem)) { var parentItem = myitem != null ? myitem.Item : Handler.top; etoItem = new EtoTreeItem { Item = parentItem [(int)childIndex] }; Handler.cachedItems[etoItem.Item] = etoItem; items[(int)childIndex] = etoItem; } return(etoItem); }
public EtoTreeItem(EtoTreeItem value) { this.Item = value.Item; this.items = value.items; }