GitUI.FormBrowse.FillFileTree C# (CSharp) Метод

FillFileTree() приватный Метод

private FillFileTree ( ) : void
Результат void
        private void FillFileTree()
        {
            if (tabControl1.SelectedTab != Tree)
                return;

            try
            {
                GitTree.SuspendLayout();

                // Save state
                var lastSelectedNodes = new Stack<TreeNode>();
                lastSelectedNodes.Push(GitTree.SelectedNode);
                while (lastSelectedNodes.Peek() != null && lastSelectedNodes.Peek().Parent != null)
                    lastSelectedNodes.Push((lastSelectedNodes.Peek()).Parent);

                FileText.SaveCurrentScrollPos();

                // Refresh tree
                GitTree.Nodes.Clear();
                if (RevisionGrid.GetRevisions().Count > 0)
                    LoadInTree(RevisionGrid.GetRevisions()[0].SubItems, GitTree.Nodes);
                GitTree.Sort();

                // Load state
                var currenNodes = GitTree.Nodes;
                while (lastSelectedNodes.Count > 0 && lastSelectedNodes.Peek() != null)
                {
                    var next = (lastSelectedNodes.Pop()).Text;
                    foreach (TreeNode node in currenNodes)
                    {
                        if (node.Text != next && next.Length != 40)
                            continue;

                        node.Expand();
                        GitTree.SelectedNode = node;
                        currenNodes = node.Nodes;
                    }
                }
            }
            finally
            {
                GitTree.ResumeLayout();
            }
        }
FormBrowse