package Visual_DVM_2021.Passes.All; import Common.Current_; import Common.Utils.Utils_; import _VisualDVM.Current; import Common.Visual.Windows.Dialog.Text.ReadOnlyMultilineTextForm; import _VisualDVM.Global; import _VisualDVM.GlobalData.Compiler.Compiler; import _VisualDVM.GlobalData.GlobalDatabase; import _VisualDVM.GlobalData.Machine.MachineType; import Visual_DVM_2021.Passes.PassCode; import Common.Passes.Pass; public class ShowCompilerVersion extends Pass { Pass subpass; boolean needsShow = true; Compiler compiler; //- @Override public String getIconPath() { return "/icons/versions/Version.png"; } @Override public String getButtonText() { return ""; } @Override protected boolean canStart(Object... args) throws Exception { target = null; if (args.length == 0) { if (Current_.Check(Log, Current.Compiler)) { compiler = Current.getCompiler(); needsShow = true; return true; } } else if (args.length == 2) { compiler = (Compiler) args[0]; needsShow = (boolean) args[1]; return true; } return false; } @Override protected void body() throws Exception { subpass = null; compiler.ResetVersion(); if (Current.getMachine().type.equals(MachineType.Local)) { subpass = passes.get(PassCode.LocalSingleCommand); } else { subpass = passes.get(PassCode.RemoteSingleCommand); } if (subpass != null) { if (compiler.versionLoaded = subpass.Do(compiler.getVersionCommand())) { target = subpass.target; compiler.versionText = target; compiler.ParseVersion(); } } } @Override protected boolean validate() { return (subpass != null) && (target != null); } @Override protected void showDone() throws Exception { if (needsShow) { (Global.mainModule.getDb()).compilers.RefreshUI(); ReadOnlyMultilineTextForm ff = new ReadOnlyMultilineTextForm(); ff.ShowDialog("Версия", target); } } }