Files
VisualSapfor/src/_VisualDVM/Visual/Menus/MainMenuBar/MainMenuBar.java

91 lines
3.3 KiB
Java
Raw Normal View History

2024-10-09 22:01:19 +03:00
package _VisualDVM.Visual.Menus.MainMenuBar;
2024-10-08 22:33:49 +03:00
import Common.Visual.CommonUI;
import _VisualDVM.Global;
2024-10-09 22:01:19 +03:00
import Common.Visual.Controls.MenuBarButton;
import _VisualDVM.Visual.Menus.VisualiserMenuBar;
import _VisualDVM.Visual.Menus.MainMenuBar.VisualiserSettingsMenu.VisualiserSettingsMenu;
import _VisualDVM.Visual.UI;
2024-10-09 22:21:57 +03:00
import _VisualDVM.Repository.Component.PerformanceAnalyzer.PerformanceAnalyzer;
2024-10-09 23:37:58 +03:00
import Visual_DVM_2021.Passes.PassCode;
2024-10-10 23:57:36 +03:00
import Common.Passes.Pass;
2023-09-17 22:13:42 +03:00
import javax.swing.*;
import java.awt.*;
public class MainMenuBar extends VisualiserMenuBar {
JMenu analyses;
JMenu transformations;
MenuBarButton components;
public MainMenuBar() {
addMenus(new LastOpenedProjectsMenu());
2024-10-09 23:37:58 +03:00
addPasses(PassCode.OpenCurrentProject, PassCode.CreateEmptyProject);
2023-09-17 22:13:42 +03:00
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) {
2024-10-08 22:33:49 +03:00
CommonUI.Info("Перед работой с компонентами закройте анализатор производительности!");
2023-09-17 22:13:42 +03:00
} else {
2024-10-09 23:37:58 +03:00
Pass.passes.get(PassCode.GetComponentsActualVersions).Do();
2023-09-17 22:13:42 +03:00
Global.RefreshUpdatesStatus();
UI.ShowComponentsWindow();
}
});
}
});
/*
2023-09-17 22:13:42 +03:00
add(new MenuBarButton() {
{
setIcon("/icons/Comparsion.png");
setToolTipText("Анализатор статистик");
addActionListener(e -> {
Global.performanceAnalyzer.Start();
});
}
});
*/
2024-10-09 23:37:58 +03:00
addPasses(PassCode.ShowInstruction);
2023-09-17 22:13:42 +03:00
//-
setPreferredSize(new Dimension(0, 30));
//---
2024-09-22 23:10:27 +03:00
2023-09-17 22:13:42 +03:00
add(new MenuBarButton() {
{
setIcon("/icons/Apply.png");
setToolTipText("Test");
addActionListener(e -> {
2024-10-09 23:37:58 +03:00
Pass.passes.get(PassCode.TestPass).Do();
2023-09-17 22:13:42 +03:00
});
}
});
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);
2024-10-09 23:37:58 +03:00
Pass[] cleaningPasses = new Pass[]{
Pass.passes.get(PassCode.DropAnalyses),
Pass.passes.get(PassCode.DropSavedArrays),
Pass.passes.get(PassCode.CleanAnalyses),
Pass.passes.get(PassCode.DeleteDebugResults),
Pass.passes.get(PassCode.ResetCurrentProject)
2023-09-17 22:13:42 +03:00
};
2024-10-09 23:37:58 +03:00
for (Pass pass : cleaningPasses) {
2023-09-17 22:13:42 +03:00
pass.setControlsEnabled(flag);
}
}
}