2024-10-07 00:58:29 +03:00
|
|
|
package Common_old.UI.Menus_2023.ProjectMenuBar;
|
|
|
|
|
import Common_old.Current;
|
|
|
|
|
import _VisualDVM.Global;
|
|
|
|
|
import Common_old.UI.Menus_2023.LanguagesSubmenu;
|
|
|
|
|
import Common_old.UI.Menus_2023.SettingsSubmenu;
|
|
|
|
|
import Common_old.UI.Menus_2023.StylesSubmenu;
|
|
|
|
|
import Common_old.UI.Menus_2023.VisualiserMenu;
|
2023-09-17 22:13:42 +03:00
|
|
|
import GlobalData.Settings.SettingName;
|
|
|
|
|
import ProjectData.Files.LanguageStyle;
|
|
|
|
|
import ProjectData.LanguageName;
|
|
|
|
|
|
|
|
|
|
import javax.swing.*;
|
|
|
|
|
public class ProjectSettingsMenu extends VisualiserMenu {
|
|
|
|
|
JMenu mLanguage;
|
|
|
|
|
JMenu mStyle;
|
|
|
|
|
public ProjectSettingsMenu() {
|
|
|
|
|
super("Настройки проекта", "/icons/Settings.png");
|
|
|
|
|
add(mLanguage = new LanguagesSubmenu() {
|
|
|
|
|
@Override
|
|
|
|
|
public void action(LanguageName languageName) {
|
|
|
|
|
if (Current.getProject().UpdateLanguage(languageName)) {
|
|
|
|
|
Current.getSapfor().ResetAllAnalyses();
|
|
|
|
|
ShowLanguage();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
ShowLanguage();
|
|
|
|
|
//--
|
|
|
|
|
add(mStyle = new StylesSubmenu() {
|
|
|
|
|
@Override
|
|
|
|
|
public void action(LanguageStyle languageStyle) {
|
|
|
|
|
if (Current.getProject().UpdateStyle(languageStyle))
|
|
|
|
|
ShowStyle();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
ShowStyle();
|
|
|
|
|
addSeparator();
|
|
|
|
|
add(new SettingsSubmenu("Анализ", null,
|
|
|
|
|
SettingName.Precompilation,
|
|
|
|
|
SettingName.STATIC_SHADOW_ANALYSIS,
|
|
|
|
|
SettingName.KEEP_DVM_DIRECTIVES,
|
|
|
|
|
SettingName.IGNORE_IO_SAPFOR,
|
|
|
|
|
SettingName.MPI_PROGRAM,
|
2023-10-07 17:55:31 +03:00
|
|
|
SettingName.ANALYSIS_OPTIONS
|
2023-09-17 22:13:42 +03:00
|
|
|
));
|
|
|
|
|
addSeparator();
|
|
|
|
|
add(new SettingsSubmenu("Построение системы интервалов", null,
|
|
|
|
|
SettingName.KEEP_LOOPS_CLOSE_NESTING,
|
|
|
|
|
SettingName.KEEP_GCOV
|
|
|
|
|
));
|
|
|
|
|
addSeparator();
|
|
|
|
|
add(new SettingsSubmenu("Построение версий", null,
|
|
|
|
|
SettingName.FREE_FORM,
|
|
|
|
|
SettingName.KEEP_SPF_DIRECTIVES,
|
|
|
|
|
SettingName.KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS,
|
|
|
|
|
SettingName.OUTPUT_UPPER,
|
|
|
|
|
SettingName.MAX_SHADOW_WIDTH,
|
|
|
|
|
SettingName.DVMConvertationOptions,
|
|
|
|
|
SettingName.SaveModifications
|
|
|
|
|
));
|
|
|
|
|
addSeparator();
|
|
|
|
|
add(Global.db.settings.get(SettingName.TRANSLATE_MESSAGES).getMenuItem());
|
|
|
|
|
add(Global.db.settings.get(SettingName.DEBUG_PRINT_ON).getMenuItem());
|
|
|
|
|
add(Global.db.settings.get(SettingName.GCOVLimit).getMenuItem());
|
|
|
|
|
}
|
|
|
|
|
public void ShowLanguage() {
|
|
|
|
|
mLanguage.setText("Язык: " + Current.getProject().languageName.getDescription());
|
|
|
|
|
}
|
|
|
|
|
public void ShowStyle() {
|
|
|
|
|
mStyle.setText("Стиль: " + Current.getProject().style.getDescription());
|
|
|
|
|
}
|
|
|
|
|
}
|