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

64 lines
2.3 KiB
Java

package _VisualDVM.Passes.Sapfor;
import Common.Visual.Controls.PassMenuItem;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.Passes.Project.CurrentProjectPass;
import _VisualDVM.ProjectData.Project.db_project_info;
import _VisualDVM.ProjectData.ProjectView;
import _VisualDVM.Repository.Component.Sapfor.TransformationPermission;
import _VisualDVM.Visual.UI;
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() {
return "/icons/Transformations/" + getName() + ".png";
}
protected String getVersionLetter() {
return "v";
}
@Override
public boolean hasStats() {
return true;
}
@Override
protected void FocusResult() {
Global.mainModule.getUI().getMainWindow().getProjectWindow().FocusVersions();
}
@Override
protected void showFinish() throws Exception {
super.showFinish();
Global.mainModule.set(Current.ProjectView, ProjectView.Files);
Global.mainModule.getUI().getMainWindow().getProjectWindow().ShowProjectView();
}
@Override
protected void performDone() throws Exception {
//миграция типов файлов.
//это несапфоровские дела.тут копируем хедеры сами.
target.migrateFilesSettings(target.last_version, true, false);
}
@Override
protected void performFail() throws Exception {
super.performFail();
target.undoLastTransformation();
}
@Override
public JMenuItem createMenuItem() {
if (menuItem == null)
menuItem = new PassMenuItem(this);
return menuItem;
}
}