private void PopulatePreviousSelections()
        {
            gridPrevSelections.Rows.Clear();
            gridPrevSelections.Rows.Add("  -- empty --");
            List <object> addedObjects = new List <object>();

            foreach (var funcParams in FunctionRunner.CachedParameters.Values)
            {
                foreach (object param in funcParams)
                {
                    if (TypeOfObject.IsInstanceOfType(param))
                    {
                        bool found = false;

                        foreach (object alreadyAddedObj in addedObjects)
                        {
                            if (alreadyAddedObj == param)
                            {
                                found = true;
                                break;
                            }
                        }
                        if (!found)
                        {
                            string name  = string.Format("{0} [{1}]", ProviderInfo.GetDisplayName(param), param.GetType().Name);
                            int    index = gridPrevSelections.Rows.Add(name);
                            gridPrevSelections.Rows[index].Tag = param;
                            addedObjects.Add(param);
                        }
                    }
                }
            }
            gridPrevSelections.Sort(gridPrevSelections.Columns[0], ListSortDirection.Ascending);
        }
        private void treeList1_NodeClick(object sender, DevComponents.AdvTree.TreeNodeMouseEventArgs e)
        {
            DevComponents.AdvTree.Node node = e.Node;

            if (node.Tag != null && TypeOfObject.IsInstanceOfType(node.Tag))
            {
                CurrentSelectedNode = node;
            }
        }
        private void AddObjectToTreeview(object obj, DevComponents.AdvTree.Node parentNode)
        {
            if (InvokeRequired)
            {
                MethodInvoker mi = delegate { AddObjectToTreeview(obj, parentNode); };
                Controller.SafeInvoke(this, mi);
                return;
            }

            string displayName = ProviderInfo.GetDisplayName(obj);

            DevComponents.AdvTree.Node node = new DevComponents.AdvTree.Node();
            node.Text = displayName;
            node.Tag  = obj;

            if (parentNode != null)
            {
                parentNode.Nodes.Add(node);
            }
            else
            {
                treeList1.Nodes.Add(node);
            }
            PropertyInfo[] properties = obj.GetType().GetProperties();

            if (properties.Length > 0)
            {
                DevComponents.AdvTree.Node tempNode = new DevComponents.AdvTree.Node();
                node.Nodes.Add(tempNode);
            }
            if (obj != null && TypeOfObject.IsInstanceOfType(obj))
            {
                node.Style = treeList1.Styles["elementStyleHighlighted"];
            }
            else
            {
                node.Style = treeList1.Styles["elementStyle1"];
            }
        }