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;
|
2024-10-13 22:08:13 +03:00
|
|
|
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
|
2024-10-13 23:55:03 +03:00
|
|
|
public boolean hasStats() {
|
2023-09-17 22:13:42 +03:00
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected void FocusResult() {
|
2024-10-15 02:32:52 +03:00
|
|
|
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();
|
2024-10-13 22:08:13 +03:00
|
|
|
Global.mainModule.set(Current.ProjectView, ProjectView.Files);
|
2024-10-15 02:32:52 +03:00
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
}
|