package _VisualDVM.Passes.All; import Common.Passes.Pass; import _VisualDVM.Current; import _VisualDVM.Global; import _VisualDVM.Passes.PassCode; import _VisualDVM.ProjectData.Files.DBProjectFile; public class OpenCurrentFile extends Pass { @Override protected boolean canStart(Object... args) throws Exception { target = (args.length > 0) ? (DBProjectFile) args[0] : null; return (target != null) && (!Global.mainModule.HasFile() || (!Global.mainModule.getFile().file.equals(target.file))); } @Override protected void performPreparation() throws Exception { //закрыть старый текущий файл. Global.mainModule.getPass(PassCode.CloseCurrentFile).Do(); } @Override protected void body() throws Exception { } @Override protected void performDone() throws Exception { Global.mainModule.set(Current.File, target); } @Override protected void showDone() throws Exception { //отобразить новый текущий файл. Global.mainModule.getUI().getMainWindow().getProjectWindow().ShowFile(); } }