Files
VisualSapfor/src/_VisualDVM/Visual/Menus/MainMenuBar/MainMenuBar.java
02090095 b37e20e4a4 ++
решение проблемы совместимости с java 1.8._4xx
2025-04-21 15:27:20 +03:00

150 lines
5.4 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package _VisualDVM.Visual.Menus.MainMenuBar;
import Common.Passes.Pass;
import Common.Visual.Controls.MenuBarButton;
import Common.Visual.Fonts.VisualiserFonts;
import Common.Visual.Menus.VisualiserMenuBar;
import Common.Visual.UI;
import _VisualDVM.ComponentsServer.Component.PerformanceAnalyzer.PerformanceAnalyzer;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Compiler.Compiler;
import _VisualDVM.GlobalData.Machine.Machine;
import _VisualDVM.GlobalData.User.User;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Visual.Menus.MainMenuBar.VisualiserSettingsMenu.VisualiserSettingsMenu;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.LinkedHashMap;
public class MainMenuBar extends VisualiserMenuBar {
public MenuBarButton MachineButton;
public MenuBarButton UserButton;
public MenuBarButton CompilerButton;
JMenu analyses;
JMenu transformations;
MenuBarButton componentsButton;
ActionListener credentialsListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Global.mainModule.getUI().getMainWindow().FocusCredentials();
}
};
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);
//- javafx
LinkedHashMap<Integer, Integer> test = new LinkedHashMap<>();
setPreferredSize(new Dimension(0, 30));
//--
/*
add(new MenuBarButton() {
{
setIcon("/Common/icons/Apply.png");
setToolTipText("Test");
addActionListener(e -> {
Global.mainModule.getPass(PassCode.TestPass).Do();
});
}
});
*/
//--
add(new JSeparator());
add(MachineButton = new MenuBarButton() {
{
setIcon("/icons/Machine.png");
setFont(VisualiserFonts.TreeBold);
setToolTipText("Текущая машина");
}
});
//--
add(UserButton = new MenuBarButton() {
{
setIcon("/icons/User.png");
setFont(VisualiserFonts.TreeBold);
setToolTipText("Текущий пользователь");
}
});
add(CompilerButton = new MenuBarButton() {
{
setIcon("/icons/type.png");
setFont(VisualiserFonts.TreeBold);
setToolTipText("Текущий компилятор");
}
});
MachineButton.addActionListener(credentialsListener);
UserButton.addActionListener(credentialsListener);
CompilerButton.addActionListener(credentialsListener);
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);
}
}
public void ShowMachine(Machine machine) {
MachineButton.setText(machine.getURL());
}
public void ShowUser(User user) {
UserButton.setText(user.login);
}
public void ShowCompiler(Compiler compiler) {
CompilerButton.setText(compiler.description);
}
public void ShowNoMachine() {
MachineButton.setText("?");
}
public void ShowNoUser() {
UserButton.setText("?");
}
public void ShowNoCompiler() {
CompilerButton.setText("?");
}
}