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 componentsButton; public MainMenuBar() { addMenus(new LastOpenedProjectsMenu()); addPasses(PassCode.OpenCurrentProject, PassCode.CreateEmptyProject); addMenus( analyses = new AnalysesMenu(), transformations = new TransformationsMenu(), new GlobalCleaningMenu(), new VisualiserSettingsMenu() ); add(componentsButton = new MenuBarButton() { { setToolTipText("Компоненты"); setIcon("/icons/ComponentsActual.png"); addActionListener(e -> { if (PerformanceAnalyzer.isActive) { UI.Info("Перед работой с компонентами закройте анализатор производительности!"); } else { Global.mainModule.getPass(PassCode.GetComponentsActualVersions).Do(); Global.components.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() { componentsButton.setIcon(Global.components.getButtonIconPath()); } 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); } } }