package _VisualDVM.Passes.All; import Common.Visual.UI; import _VisualDVM.Global; import _VisualDVM.Passes.PassCode; import _VisualDVM.Passes.Sapfor.SapforAnalysis; public class SPF_GetArrayDistribution extends SPF_GetArrayDistributionOnlyAnalysis { @Override protected void performDone() throws Exception { super.performDone(); SapforAnalysis code_analysis = (SapforAnalysis) Global.mainModule.getPass(PassCode.SPF_GetArrayDistributionOnlyAnalysis); if (!code_analysis.isDone()) { code_analysis.setDone(); code_analysis.MarkAsDone(); } } @Override protected void showDone() throws Exception { super.showDone(); Global.mainModule.getUI().getVersionsWindow().UnblockVariants(); Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowVariants(); } @Override protected void FocusResult() { super.FocusResult(); Global.mainModule.getUI().getMainWindow().getProjectWindow().FocusVersions(); Global.mainModule.getUI().getVersionsWindow().FocusDistribution(); } @Override protected boolean canStart(Object... args) throws Exception { if (Global.mainModule.getProject().sapforProperties.MPI_PROGRAM) { UI.Info("Включена настройка SAPFOR 'MPI программа'." + "\nПостроение распределения данных невозможно."); Global.mainModule.getPass(PassCode.SPF_SharedMemoryParallelization).Do(); return false; } return super.canStart(args); } @Override public String getDescription() { return Global.mainModule.getPassDescription(getName()); } }