void DrawActions() { if (!activeView.desc.showActions) { return; } var table = activeView.table; EditorGUILayout.BeginVertical(GUI.skin.box, GUILayout.ExpandWidth(true)); m_Preferences.actions = Utility.BoldFoldout(m_Preferences.actions, Contents.ActionsFoldout); if (m_Preferences.actions) { EditorGUI.indentLevel++; EditorGUILayout.BeginHorizontal(); GUI.enabled = activeView.desc.showMuteOptions; EditorGUILayout.LabelField("Selected :", GUILayout.ExpandWidth(true), GUILayout.Width(80)); if (GUILayout.Button(Contents.MuteButton, GUILayout.ExpandWidth(true), GUILayout.Width(100))) { var analytic = ProjectAuditorAnalytics.BeginAnalytic(); var selectedItems = table.GetSelectedItems(); foreach (var item in selectedItems) { SetRuleForItem(item, Rule.Severity.None); } if (!m_Preferences.mutedIssues) { table.SetSelection(new List <int>()); } ProjectAuditorAnalytics.SendUIButtonEventWithSelectionSummary(ProjectAuditorAnalytics.UIButton.Mute, analytic, table.GetSelectedItems()); } if (GUILayout.Button(Contents.UnmuteButton, GUILayout.ExpandWidth(true), GUILayout.Width(100))) { var analytic = ProjectAuditorAnalytics.BeginAnalytic(); var selectedItems = table.GetSelectedItems(); foreach (var item in selectedItems) { ClearRulesForItem(item); } ProjectAuditorAnalytics.SendUIButtonEventWithSelectionSummary( ProjectAuditorAnalytics.UIButton.Unmute, analytic, table.GetSelectedItems()); } GUI.enabled = true; EditorGUILayout.EndHorizontal(); EditorGUI.indentLevel--; } EditorGUILayout.EndVertical(); }
private void DrawFilters() { if (!IsAnalysisValid()) { return; } EditorGUILayout.BeginVertical( GUI.skin.box /*, GUILayout.Width(LayoutSize.ToolbarWidth), GUILayout.ExpandWidth(true)*/); { EditorGUILayout.BeginHorizontal(); var activeModeIndex = GUILayout.Toolbar(m_ActiveModeIndex, m_ModeNames, GUILayout.MaxWidth(LayoutSize.ModeTabWidth) /*, GUILayout.ExpandWidth(true)*/); EditorGUILayout.EndHorizontal(); DrawAssemblyFilter(); DrawAreaFilter(); EditorGUI.BeginChangeCheck(); var searchRect = GUILayoutUtility.GetRect(1, 1, 18, 18, GUILayout.ExpandWidth(true), GUILayout.Width(200)); EditorGUILayout.BeginHorizontal(); if (m_SearchField == null) { m_SearchField = new SearchField(); } m_SearchText = m_SearchField.OnGUI(searchRect, m_SearchText); m_ActiveIssueTable.searchString = m_SearchText; EditorGUILayout.EndHorizontal(); var shouldRefresh = false; EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Selected :", GUILayout.ExpandWidth(true), GUILayout.Width(80)); if (GUILayout.Button(Styles.MuteButton, GUILayout.ExpandWidth(true), GUILayout.Width(100))) { var analytic = ProjectAuditorAnalytics.BeginAnalytic(); var selectedItems = m_ActiveIssueTable.GetSelectedItems(); foreach (var item in selectedItems) { SetRuleForItem(item, Rule.Action.None); } if (!m_ProjectAuditor.config.DisplayMutedIssues) { m_ActiveIssueTable.SetSelection(new List <int>()); } ProjectAuditorAnalytics.SendUIButtonEventWithSelectionSummary(ProjectAuditorAnalytics.UIButton.Mute, analytic, m_ActiveIssueTable.GetSelectedItems()); } if (GUILayout.Button(Styles.UnmuteButton, GUILayout.ExpandWidth(true), GUILayout.Width(100))) { var analytic = ProjectAuditorAnalytics.BeginAnalytic(); var selectedItems = m_ActiveIssueTable.GetSelectedItems(); foreach (var item in selectedItems) { ClearRulesForItem(item); } ProjectAuditorAnalytics.SendUIButtonEventWithSelectionSummary(ProjectAuditorAnalytics.UIButton.Unmute, analytic, m_ActiveIssueTable.GetSelectedItems()); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Show :", GUILayout.ExpandWidth(true), GUILayout.Width(80)); GUI.enabled = m_ActiveAnalysisView.desc.showCritical; bool wasShowingCritical = m_ProjectAuditor.config.DisplayOnlyCriticalIssues; m_ProjectAuditor.config.DisplayOnlyCriticalIssues = EditorGUILayout.ToggleLeft("Only Critical Issues", m_ProjectAuditor.config.DisplayOnlyCriticalIssues, GUILayout.Width(160)); GUI.enabled = true; if (wasShowingCritical != m_ProjectAuditor.config.DisplayOnlyCriticalIssues) { var analytic = ProjectAuditorAnalytics.BeginAnalytic(); var payload = new Dictionary <string, string>(); payload["selected"] = m_ActiveAnalysisView.desc.showCritical ? "true" : "false"; ProjectAuditorAnalytics.SendUIButtonEvent(ProjectAuditorAnalytics.UIButton.OnlyCriticalIssues, analytic); } bool wasDisplayingMuted = m_ProjectAuditor.config.DisplayMutedIssues; m_ProjectAuditor.config.DisplayMutedIssues = EditorGUILayout.ToggleLeft("Muted Issues", m_ProjectAuditor.config.DisplayMutedIssues, GUILayout.Width(127)); if (wasDisplayingMuted != m_ProjectAuditor.config.DisplayMutedIssues) { var analytic = ProjectAuditorAnalytics.BeginAnalytic(); var payload = new Dictionary <string, string>(); payload["selected"] = m_ProjectAuditor.config.DisplayMutedIssues ? "true" : "false"; ProjectAuditorAnalytics.SendUIButtonEventWithKeyValues(ProjectAuditorAnalytics.UIButton.ShowMuted, analytic, payload); } EditorGUILayout.EndHorizontal(); if (EditorGUI.EndChangeCheck()) { shouldRefresh = true; } bool activeModeChanged = (m_ActiveModeIndex != activeModeIndex); if (activeModeChanged) { var analytic = ProjectAuditorAnalytics.BeginAnalytic(); m_ActiveModeIndex = activeModeIndex; RefreshDisplay(); if (m_ActiveModeIndex == (int)IssueCategory.ApiCalls) { ProjectAuditorAnalytics.SendUIButtonEvent(ProjectAuditorAnalytics.UIButton.ApiCalls, analytic); } else if (m_ActiveModeIndex == (int)IssueCategory.ProjectSettings) { ProjectAuditorAnalytics.SendUIButtonEvent(ProjectAuditorAnalytics.UIButton.ProjectSettings, analytic); } else { Debug.LogWarning("Unrecognised active mode: couldn't sent analytics event"); } } else if (shouldRefresh || m_ShouldRefresh || m_AnalysisState == AnalysisState.Completed) { RefreshDisplay(); m_ShouldRefresh = false; } } EditorGUILayout.EndVertical(); }