package _VisualDVM.Passes.All; import Common.MainModule_; import Common.Passes.Pass; import Common.Visual.Windows.ReadOnlyMultilineTextForm; import _VisualDVM.Global; import _VisualDVM.GlobalData.Compiler.Compiler; import _VisualDVM.GlobalData.Machine.Machine; import _VisualDVM.GlobalData.Machine.MachineType; import _VisualDVM.Passes.PassCode; public class ShowCompilerHelp extends Pass { Pass subpass; Compiler compiler; boolean needsShow = true; //- @Override public String getIconPath() { return "/icons/Help.png"; } @Override public String getButtonText() { return ""; } @Override protected boolean canStart(Object... args) throws Exception { target = null; if (args.length == 0) { if (MainModule_.instance.getDb().getTable(Compiler.class).getUI().CheckCurrent(Log)) { compiler = MainModule_.instance.getDb().getTable(Compiler.class).getUI().getCurrent(); needsShow = true; return true; } } else { compiler = (Compiler) args[0]; needsShow = (boolean) args[1]; return true; } return false; } @Override protected void body() throws Exception { subpass = null; compiler.ResetHelp(); if (MainModule_.instance.getDb().getTable(Machine.class).getUI().getCurrent().type.equals(MachineType.Local)) { subpass = Global.mainModule.getPass(PassCode.LocalSingleCommand); } else { subpass = Global.mainModule.getPass(PassCode.RemoteSingleCommand); } if (subpass != null) { if (compiler.helpLoaded = subpass.Do(compiler.getHelpCommand())) { target = subpass.target; compiler.helpText = target; compiler.ParseHelp(); } } } @Override protected boolean validate() { return (subpass != null) && (target != null); } @Override protected void showDone() throws Exception { if (needsShow) { ReadOnlyMultilineTextForm ff = new ReadOnlyMultilineTextForm(); ff.ShowDialog("Справка", target); } } }