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