/// <summary> /// Displays result view control /// </summary> /// <param name="parentNode"></param> private void PopulateResultView(ScopeNode parentNode) { this.SuspendLayout(); pnlResultView.Controls.Clear(); if (parentNode.LargeIcon != null) { pictureBox.Image = parentNode.LargeIcon.ToBitmap(); } else { pictureBox.Image = Properties.Resources.Folder32.ToBitmap(); } lblResultViewTitle.Text = parentNode.Text; lblResultViewPath.Text = parentNode.FullPath; ResultViewControl control = parentNode.ResultView; if (control != null) { pnlResultView.Controls.Add(control); control.Dock = DockStyle.Fill; try { AppContext context = new AppContext(); context.AppForm = this; context.ScopeNode = parentNode; control.ShowControl(context); } catch (Exception ex) { Log.WriteError("Console error", ex); ShowError(ex); } } this.ResumeLayout(false); this.PerformLayout(); }
/// <summary> /// Adds scope node to the scope tree /// </summary> internal ScopeNode AddScopeNode(ScopeNode parent, string text, Icon largeIcon, Icon smallIcon, ResultViewControl resultView, NodeType nodeType, object tag) { string smallIconName = smallIcon.GetHashCode().ToString(); if (!this.smallImages.Images.ContainsKey(smallIconName)) { this.smallImages.Images.Add(smallIconName, smallIcon); } ScopeNode node = new ScopeNode(); node.Text = text; node.ResultView = resultView; node.SmallIcon = smallIcon; node.LargeIcon = largeIcon; node.ImageKey = smallIconName; node.SelectedImageKey = smallIconName; node.NodeType = nodeType; node.Populated = false; node.Tag = tag; if (parent == null) { scopeTree.Nodes.Add(node); } else { parent.Nodes.Add(node); } //add fake node to show + node.Nodes.Add(" "); return(node); }