package Visual_DVM_2021.Passes.All; import Common.Current_; import Common.Utils.CommonUtils; import Common.Visual.CommonUI; import _VisualDVM.Current; import _VisualDVM.Visual.UI; import _VisualDVM.Utils; import _VisualDVM.ProjectData.Files.DBProjectFile; import Visual_DVM_2021.Passes.ChangeFilePass; import Visual_DVM_2021.Passes.PassCode; public class DeleteFile extends ChangeFilePass { @Override public String getIconPath() { return "/icons/Delete.png"; } @Override protected boolean canStart(Object... args) { resetArgs(); return (Current_.Check(Log, Current.SelectedFile)) && CommonUI.Warning("Удалить файл " + CommonUtils.Brackets((target = Current.getSelectedFile()).name)); } @Override protected void performPreparation() throws Exception { if (Current.HasFile() && (Current.getFile().file.equals(target.file))) passes.get(PassCode.CloseCurrentFile).Do(); } @Override protected void body() throws Exception { UI.getMainWindow().getProjectWindow().getFilesTreeForm().getTree().RemoveNode(target.node); project.db.Delete(target); Utils.forceDeleteWithCheck(target.file); } @Override protected void performDone() throws Exception { Current_.set(Current.SelectedFile, null); Current_.set(Current.ProjectNode, null); } }