Exemplo n.º 1
0
 protected TreeViewNodeModelBase(IHaveChildren <TNodeModel> parent = null)
 {
     Parent = parent;
 }
 public FilesTreeViewNodeModel(IHaveChildren <FilesTreeViewNodeModel> parent = null) : base(parent)
 {
 }
Exemplo n.º 3
0
        public static IEnumerable <IHaveChildren <T> > PathToFirstLeafBreathFirst <T>(this IHaveChildren <T> node)
        {
            if (node == null)
            {
                throw new Exception("Node is null");
            }
            if (node.Children == null)
            {
                throw new Exception("node.Children is null");
            }
            if (!node.Children.Any())
            {
                yield return(node);
            }
            IList <IHaveChildren <T> > nodes = new List <IHaveChildren <T> >();

            nodes.Add(node);
            while (nodes.Count > 0)
            {
                var current = nodes.ElementAt(nodes.Count - 1);
                nodes.RemoveAt(nodes.Count - 1);
                if (current != null)
                {
                    yield return(current);

                    foreach (var child in current.Children)
                    {
                        nodes.Add(child);
                    }
                }
            }
        }