Files
VisualSapfor/src/_VisualDVM/Visual/Menus/ProjectMenuBar/ProjectSettingsMenu.java

74 lines
2.9 KiB
Java

package _VisualDVM.Visual.Menus.ProjectMenuBar;
import Common.Visual.Menus.VisualiserMenu;
import _VisualDVM.Global;
import _VisualDVM.ProjectData.Files.LanguageStyle;
import _VisualDVM.ProjectData.LanguageName;
import _VisualDVM.Visual.Menus.LanguagesSubmenu;
import _VisualDVM.Visual.Menus.PropertiesSubmenu;
import _VisualDVM.Visual.Menus.StylesSubmenu;
import javax.swing.*;
public class ProjectSettingsMenu extends VisualiserMenu {
JMenu mLanguage;
JMenu mStyle;
public ProjectSettingsMenu() {
super("Настройки проекта", "/Common/icons/Settings.png");
add(mLanguage = new LanguagesSubmenu() {
@Override
public void action(LanguageName languageName) {
if (Global.mainModule.getProject().UpdateLanguage(languageName)) {
Global.mainModule.getSapfor().ResetAllAnalyses();
ShowLanguage();
}
}
});
ShowLanguage();
//--
add(mStyle = new StylesSubmenu() {
@Override
public void action(LanguageStyle languageStyle) {
if (Global.mainModule.getProject().UpdateStyle(languageStyle))
ShowStyle();
}
});
ShowStyle();
addSeparator();
add(new PropertiesSubmenu("Анализ", null,
Global.mainModule.getProject().sapforProperties,
"Precompilation",
"STATIC_SHADOW_ANALYSIS",
"KEEP_DVM_DIRECTIVES",
"IGNORE_IO_SAPFOR",
"MPI_PROGRAM",
"ANALYSIS_OPTIONS"
));
addSeparator();
add(new PropertiesSubmenu("Построение системы интервалов", null,
Global.mainModule.getProject().sapforProperties,
"KEEP_LOOPS_CLOSE_NESTING",
"KEEP_GCOV"
));
addSeparator();
add(new PropertiesSubmenu("Построение версий", null,
Global.mainModule.getProject().sapforProperties,
"FREE_FORM",
"KEEP_SPF_DIRECTIVES",
"KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS",
"OUTPUT_UPPER",
"MAX_SHADOW_WIDTH",
"DVMConvertationOptions",
"SaveModifications"
));
addSeparator();
add( Global.mainModule.getProject().sapforProperties.getMenuItem("TRANSLATE_MESSAGES"));
add( Global.mainModule.getProject().sapforProperties.getMenuItem("DEBUG_PRINT_ON"));
add( Global.mainModule.getProject().sapforProperties.getMenuItem("GCOVLimit"));
}
public void ShowLanguage() {
mLanguage.setText("Язык: " + Global.mainModule.getProject().languageName.getDescription());
}
public void ShowStyle() {
mStyle.setText("Стиль: " + Global.mainModule.getProject().style.getDescription());
}
}