コード例 #1
0
            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);
            }
コード例 #2
0
            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);
            }
コード例 #3
0
 public EtoTreeItem(EtoTreeItem value)
 {
     this.Item  = value.Item;
     this.items = value.items;
 }