Пример #1
0
        void LoadProjectStructure()
        {
            Assembly asm = Assembly.GetExecutingAssembly();

            Stream s = asm.GetManifestResourceStream("ControlExplorer.SourceCode.zip");

            C1ZipFile z = new C1ZipFile();

            z.Open(s);

            C1TreeNodeCollection targetNodeCollection = null;
            int previousLevel = -1;

            for (int i = 0; i < z.Entries.Count; i++)
            {
                string[] partsOfPath = z.Entries[i].FileName.Split('/');

                int level      = partsOfPath.Length - 2;
                int imageIndex = 0;

                if (!string.IsNullOrEmpty(partsOfPath[partsOfPath.Length - 1]))
                {
                    level      = partsOfPath.Length - 1;
                    imageIndex = 2;
                }

                string nodeName = partsOfPath[level];

                if (targetNodeCollection == null)
                {
                    targetNodeCollection = c1TreeView1.Nodes;
                }
                else
                {
                    if (previousLevel > level)
                    {
                        targetNodeCollection = targetNodeCollection.Parent.ParentCollection;
                    }
                    else if (previousLevel < level)
                    {
                        targetNodeCollection = targetNodeCollection.Last().Nodes;
                    }
                }

                C1TreeNode node = targetNodeCollection.Add(nodeName);
                node.Images.Add(imageIndex);
                previousLevel = level;
            }

            z.Close();
        }
Пример #2
0
 private void DfsSearch(C1TreeNodeCollection nodes, string value, int columnIndex)
 {
     foreach (var node in nodes)
     {
         if (_goal != null)
         {
             return;
         }
         if (IsEquals(node.GetValue(columnIndex).ToString(), value))
         {
             _goal = node;
             return;
         }
         DfsSearch(node.Nodes, value, columnIndex);
     }
 }
Пример #3
0
        private void BfsSearch(C1TreeNodeCollection nodes, string value, int columnIndex)
        {
            var queue = new Queue <C1TreeNode>(nodes);

            while (queue.Count > 0)
            {
                var node = queue.Dequeue();
                if (IsEquals(node.GetValue(columnIndex).ToString(), value))
                {
                    _goal = node;
                    return;
                }
                foreach (var child in node.Nodes)
                {
                    queue.Enqueue(child);
                }
            }
        }
        private C1TreeNode AddItem(FeatureInfo feature, C1TreeNodeCollection nodes)
        {
            var node = nodes.Add(feature);

            return(node);
        }
Пример #5
0
 private void AddItem(FeatureInfo feature, C1TreeNodeCollection nodes)
 {
     var node = nodes.Add(feature);
 }