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