// ... private void ExpandNode(TreeDataNode node) { if (node == null || node.IsExpanded) { return; } Console.WriteLine("Expand Node: " + node.Data.NodeDisplay); node.IsExpanded = true; node.Nodes.Clear(); DataNode backNode = node.Data; if (!backNode.IsExpanded) { backNode.Expand(); } foreach (DataNode child in backNode.Nodes) { if (child != null) { node.Nodes.Add(new TreeDataNode(child)); } } }
public override void ItemDidExpand(NSNotification notification) { TreeDataNode node = notification.UserInfo ["NSObject"] as TreeDataNode; if (node != null) { Console.WriteLine("Finished Expanding: " + node.Data.NodeDisplay); } }
public override void ItemWillExpand(NSNotification notification) { TreeDataNode node = notification.UserInfo ["NSObject"] as TreeDataNode; if (node != null) { Console.WriteLine("Preparing to expand: " + node.Data.NodeDisplay); _main.ExpandNode(node); } }
public override int GetChildrenCount(NSOutlineView outlineView, NSObject item) { if (item is TreeDataNode) { TreeDataNode nodeItem = item as TreeDataNode; return(nodeItem.Nodes.Count); } return(_nodes.Count); }
public override bool ItemExpandable(NSOutlineView outlineView, NSObject item) { TreeDataNode nodeItem = item as TreeDataNode; if (nodeItem != null) { return(nodeItem.HasChildren); } return(false); }
public override NSObject GetChild(NSOutlineView outlineView, int childIndex, NSObject ofItem) { TreeDataNode nodeItem = ofItem as TreeDataNode; if (nodeItem != null) { return(nodeItem.Nodes [childIndex]); } return(Nodes[childIndex]); }
public override NSObject GetObjectValue(NSOutlineView outlineView, NSTableColumn forTableColumn, NSObject byItem) { TreeDataNode nodeItem = byItem as TreeDataNode; if (nodeItem == null) { return(null); } return((NSString)nodeItem.CombinedName); }
public override void ItemWillCollapse(NSNotification notification) { TreeDataNode node = notification.UserInfo ["NSObject"] as TreeDataNode; if (node != null) { if (node.Data.NodeDisplay == "saves") // The root node { Console.WriteLine("Uh-oh..."); } Console.WriteLine("Preparing to collapse: " + node.Data.NodeDisplay); } }
// ... private void ExpandNode (TreeDataNode node) { if (node == null || node.IsExpanded) return; Console.WriteLine ("Expand Node: " + node.Data.NodeDisplay); node.IsExpanded = true; node.Nodes.Clear (); DataNode backNode = node.Data; if (!backNode.IsExpanded) { backNode.Expand (); } foreach (DataNode child in backNode.Nodes) { if (child != null) { node.Nodes.Add (new TreeDataNode (child)); } } }