private void OnGUI() { InitializeFieldsIfNecessary(); EditorGUILayout.BeginHorizontal(); _selectedTab = GUILayout.SelectionGrid(_selectedTab, new[] { "Install & Uninstall", "Scan & Report", "Manage Custom Rules" }, 1, _navigationButtonStyle); CqaLine.DrawNavigationLine(position.height); EditorGUILayout.BeginVertical(); switch (_selectedTab) { case 0: _installTab.Show(); break; case 1: _scanAndReportTab.Show(); break; case 2: _manageCustomRulesTab.Show(); break; } EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); }
public void Show() { CqaLabel.Heading1("Scan"); if (!JqaManager.CheckIfJqaIsInstalled()) { CqaLabel.Error("CQA is currently not installed."); return; } CqaLabel.Normal("CQA scans all scripts inside your Assets folder."); History.History history = _historyManager.LoadHistory(); if (history != null) { CqaLabel.Normal("The last scan was at " + history.GetLastScan() + "."); } EditorGUI.BeginDisabledGroup(_jqaExecutor.IsAnyProcessRunning()); if (CqaButton.NormalButton("Scan Assets")) { _jqaExecutor.ScanAssets(); } if (Directory.Exists(JqaPaths.Instance.BuildJqaStorePath()) && CqaButton.NormalButton("Start Server")) { _jqaExecutor.StartServer(); } EditorGUI.EndDisabledGroup(); if (_jqaExecutor.IsScanProcessRunning()) { CqaLabel.Bold("Status: Running ..."); // FIXME: Stopping the process does currently not work. // // if (CqaButton.NormalButton("Stop Process")) // { // _jqaExecutor.StopProcess(); // } } GUILayout.Space(30); CqaLine.DrawHorizontalLine(); CqaLabel.Heading1("Report"); if (!JqaExecutor.DidFinishSuccessfullyOnce()) { CqaLabel.Error("You must scan your project before you can create a report."); return; } CqaLabel.Normal("Select rules that you want to be checked in the report."); if (_jqaExecutor.IsReportProcessRunning()) { CqaLabel.Bold("Status: Running ..."); // FIXME: Stopping the process does currently not work. // // if (CqaButton.NormalButton("Stop Process")) // { // _jqaExecutor.StopProcess(); // } } _ruleSelector.OnGUI(); ShowReportButtons(); }