예제 #1
0
        /// <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();
        }
예제 #2
0
        /// <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);
        }