コード例 #1
0
        /// <summary>
        /// Switch between Assembly/Class View
        /// </summary>
        private void ShowAssemblyTreeView()
        {
            try
            {
                //Check if Assembly button is selected
                if (toolStripButtonAssemblyView.Checked)
                {
                    //Get list of class grouped by assemblies
                    if (dbAssemblyTreeView.Nodes.Count < 1)
                    {
                        storedAssemblies = AssemblyInspectorObject.Connection.FetchAllStoredClassesForAssembly();
                    }

                    if (!string.IsNullOrEmpty(filterString) && filterString == toolStripComboBoxFilter.Text.Trim().ToLower())
                    {
                        //Get the filtered node for given filter value
                        dbAssemblyTreeView.FindTreeNodesAssemblyView(storedAssemblies, toolStripComboBoxFilter.Text.Trim().ToLower());
                        toolStripButtonFilter.Checked = true;
                        toolStripButtonClear.Checked  = false;
                    }
                    else
                    {
                        dbAssemblyTreeView.PopulateAssemblyTreeView(storedAssemblies);
                    }

                    dbAssemblyTreeView.Visible = true;
                    dbtreeviewObject.Visible   = false;
                    dbAssemblyTreeView.UpdateTreeNodeSelection(dbtreeviewObject.SelectedNode, toolStripButtonAssemblyView.Checked);
                    dbAssemblyTreeView.Focus();
                }
                else
                {
                    dbAssemblyTreeView.Visible = false;
                    dbtreeviewObject.Visible   = true;

                    //if user switched to the class view and filter values is specified in filter text box.
                    //Get the filtered node and populate the class treeview
                    if (!string.IsNullOrEmpty(filterString) && filterString == toolStripComboBoxFilter.Text.Trim().ToLower())
                    {
                        dbtreeviewObject.FindTreeNodesClasses(storedclasses, null, toolStripComboBoxFilter.Text.Trim().ToLower());
                        toolStripButtonFilter.Checked = true;
                        toolStripButtonClear.Checked  = false;
                    }
                    else
                    {
                        //If user clears the filter value and switched to class view
                        dbtreeviewObject.AddTreeNode(storedclasses, null);
                    }

                    TreeNode selectedTreeNode;
                    if (dbAssemblyTreeView.SelectedNode != null && dbAssemblyTreeView.SelectedNode.Tag == null)
                    {
                        if (dbtreeviewObject.Nodes.Count > 0)
                        {
                            selectedTreeNode = dbtreeviewObject.SelectedNode = dbtreeviewObject.Nodes[0];
                        }
                        else
                        {
                            selectedTreeNode = dbAssemblyTreeView.SelectedNode;
                        }
                    }
                    else
                    {
                        selectedTreeNode = dbAssemblyTreeView.SelectedNode;
                    }

                    dbtreeviewObject.UpdateTreeNodeSelection(selectedTreeNode, toolStripButtonAssemblyView.Checked);
                    dbtreeviewObject.Focus();
                }
            }
            catch (Exception oEx)
            {
                LoggingHelper.ShowMessage(oEx);
            }
        }