88 lines
3.4 KiB
Java
88 lines
3.4 KiB
Java
package _VisualDVM.Visual.Menus.MainMenuBar;
|
||
import Common.Passes.Pass;
|
||
import Common.Visual.Controls.MenuBarButton;
|
||
import Common.Visual.Menus.VisualiserMenuBar;
|
||
import Common.Visual.UI;
|
||
import _VisualDVM.Global;
|
||
import _VisualDVM.Passes.PassCode;
|
||
import _VisualDVM.Repository.Component.PerformanceAnalyzer.PerformanceAnalyzer;
|
||
import _VisualDVM.Visual.Menus.MainMenuBar.VisualiserSettingsMenu.VisualiserSettingsMenu;
|
||
|
||
import javax.swing.*;
|
||
import java.awt.*;
|
||
public class MainMenuBar extends VisualiserMenuBar {
|
||
JMenu analyses;
|
||
JMenu transformations;
|
||
MenuBarButton components;
|
||
public MainMenuBar() {
|
||
addMenus(new LastOpenedProjectsMenu());
|
||
addPasses(PassCode.OpenCurrentProject, PassCode.CreateEmptyProject);
|
||
addMenus(
|
||
analyses = new AnalysesMenu(),
|
||
transformations = new TransformationsMenu(),
|
||
new GlobalCleaningMenu(),
|
||
new VisualiserSettingsMenu()
|
||
);
|
||
add(components = new MenuBarButton() {
|
||
{
|
||
setToolTipText("Компоненты");
|
||
setIcon("/icons/ComponentsActual.png");
|
||
addActionListener(e -> {
|
||
if (PerformanceAnalyzer.isActive) {
|
||
UI.Info("Перед работой с компонентами закройте анализатор производительности!");
|
||
} else {
|
||
Global.mainModule.getPass(PassCode.GetComponentsActualVersions).Do();
|
||
Global.RefreshUpdatesStatus();
|
||
Global.mainModule.getUI().getComponentsWindow().ShowDialog("");
|
||
}
|
||
});
|
||
}
|
||
});
|
||
/*
|
||
add(new MenuBarButton() {
|
||
{
|
||
setIcon("/icons/Comparsion.png");
|
||
setToolTipText("Анализатор статистик");
|
||
addActionListener(e -> {
|
||
Global.performanceAnalyzer.Start();
|
||
});
|
||
}
|
||
});
|
||
*/
|
||
addPasses(PassCode.ShowInstruction);
|
||
//-
|
||
setPreferredSize(new Dimension(0, 30));
|
||
//---
|
||
add(new MenuBarButton() {
|
||
{
|
||
setIcon("/Common/icons/Apply.png");
|
||
setToolTipText("Test");
|
||
addActionListener(e -> {
|
||
Global.mainModule.getPass(PassCode.TestPass).Do();
|
||
});
|
||
}
|
||
});
|
||
ShowProject(false);
|
||
}
|
||
public void ShowUpdatesIcon() {
|
||
components.setIcon(
|
||
(Global.need_update > 0) || (Global.bad_state > 0)
|
||
? "/icons/ComponentsNeedUpdate.gif"
|
||
: (Global.need_publish > 0 ? "/icons/ComponentsNeedPublish_2023.gif" : "/icons/ComponentsActual.png"));
|
||
}
|
||
public void ShowProject(boolean flag) {
|
||
analyses.setEnabled(flag);
|
||
transformations.setEnabled(flag);
|
||
Pass[] cleaningPasses = new Pass[]{
|
||
Global.mainModule.getPass(PassCode.DropAnalyses),
|
||
Global.mainModule.getPass(PassCode.DropSavedArrays),
|
||
Global.mainModule.getPass(PassCode.CleanAnalyses),
|
||
Global.mainModule.getPass(PassCode.DeleteDebugResults),
|
||
Global.mainModule.getPass(PassCode.ResetCurrentProject)
|
||
};
|
||
for (Pass pass : cleaningPasses) {
|
||
pass.setControlsEnabled(flag);
|
||
}
|
||
}
|
||
}
|