Files
VisualSapfor/src/_VisualDVM/Passes/Sapfor/Transformation.java

64 lines
2.3 KiB
Java
Raw Normal View History

2024-10-14 12:14:01 +03:00
package _VisualDVM.Passes.Sapfor;
2024-10-14 15:19:13 +03:00
import Common.Visual.Controls.PassMenuItem;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Current;
import _VisualDVM.Global;
2024-10-14 15:19:13 +03:00
import _VisualDVM.Passes.Project.CurrentProjectPass;
2024-10-09 22:21:57 +03:00
import _VisualDVM.ProjectData.Project.db_project_info;
import _VisualDVM.ProjectData.ProjectView;
import _VisualDVM.Repository.Component.Sapfor.TransformationPermission;
2024-10-14 15:19:13 +03:00
import _VisualDVM.Visual.UI;
2023-09-17 22:13:42 +03:00
import javax.swing.*;
public class Transformation extends CurrentProjectPass {
protected TransformationPermission getPermission() {
return TransformationPermission.All;
}
//todo - возможно сделать все же интерфейс для преобразований. чтобы наконец обобщить сапфоровские и несапфоровские? хз
@Override
protected void performPreparation() throws Exception {
db_project_info.ResetNewVersions();
target.createEmptyVersion(getVersionLetter(), getVersionDescription());
}
protected String getVersionDescription() {
return getDescription();
}
@Override
public String getIconPath() {
2024-10-14 01:50:33 +03:00
return "/icons/Transformations/" + getName() + ".png";
2023-09-17 22:13:42 +03:00
}
protected String getVersionLetter() {
return "v";
}
@Override
public boolean hasStats() {
2023-09-17 22:13:42 +03:00
return true;
}
@Override
protected void FocusResult() {
Global.mainModule.getUI().getMainWindow().getProjectWindow().FocusVersions();
2023-09-17 22:13:42 +03:00
}
@Override
2023-11-26 17:13:53 +03:00
protected void showFinish() throws Exception {
super.showFinish();
Global.mainModule.set(Current.ProjectView, ProjectView.Files);
Global.mainModule.getUI().getMainWindow().getProjectWindow().ShowProjectView();
2023-11-26 17:13:53 +03:00
}
@Override
2023-09-17 22:13:42 +03:00
protected void performDone() throws Exception {
//миграция типов файлов.
//это несапфоровские дела.тут копируем хедеры сами.
2024-10-14 15:19:13 +03:00
target.migrateFilesSettings(target.last_version, true, false);
2023-09-17 22:13:42 +03:00
}
@Override
protected void performFail() throws Exception {
super.performFail();
target.undoLastTransformation();
}
@Override
public JMenuItem createMenuItem() {
if (menuItem == null)
menuItem = new PassMenuItem(this);
return menuItem;
}
}