예제 #1
0
        private void OnEnable()
        {
            m_ProjectAuditor = new ProjectAuditor();

            var categoryNames = new List <string>();

            for (IssueCategory i = 0; i < IssueCategory.NumCategories; ++i)
            {
                categoryNames.Add(i.ToString());
            }
            m_CategoryNames = categoryNames.ToArray();

            var assemblyNames = m_ProjectAuditor.GetAuditor <ScriptAuditor>().GetAssemblyNames().ToList();

            assemblyNames.Sort();
            m_AssemblyNames = assemblyNames.ToArray();

            if (m_AssemblySelection == null)
            {
                m_AssemblySelection = new TreeViewSelection();

                if (!string.IsNullOrEmpty(m_AssemblySelectionSummary))
                {
                    if (m_AssemblySelectionSummary == "All")
                    {
                        m_AssemblySelection.SetAll(m_AssemblyNames);
                    }
                    else if (m_AssemblySelectionSummary != "None")
                    {
                        var assemblies = m_AssemblySelectionSummary.Split(new string[] { ", " }, StringSplitOptions.None);
                        foreach (string assembly in assemblies)
                        {
                            m_AssemblySelection.selection.Add(assembly);
                        }
                    }
                }
                else if (m_AssemblyNames.Contains(m_DefaultAssemblyName))
                {
                    m_AssemblySelection.Set(m_DefaultAssemblyName);
                }
                else
                {
                    m_AssemblySelection.SetAll(m_AssemblyNames);
                }
            }

            if (m_AreaSelection == null)
            {
                m_AreaSelection = new TreeViewSelection();
                if (!string.IsNullOrEmpty(m_AreaSelectionSummary))
                {
                    if (m_AreaSelectionSummary == "All")
                    {
                        m_AreaSelection.SetAll(m_AreaNames);
                    }
                    else if (m_AreaSelectionSummary != "None")
                    {
                        string[] areas = m_AreaSelectionSummary.Split(new string[] { ", " }, StringSplitOptions.None);
                        foreach (string area in areas)
                        {
                            m_AreaSelection.selection.Add(area);
                        }
                    }
                }
                else
                {
                    m_AreaSelection.SetAll(m_AreaNames);
                }
            }

            m_CallHierarchyView = new CallHierarchyView(new TreeViewState());

            RefreshDisplay();
        }