2023-09-17 22:13:42 +03:00
|
|
|
|
package Common.UI.Menus_2023.MainMenuBar;
|
2024-03-17 01:55:10 +03:00
|
|
|
|
import Common.Current;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
import Common.Global;
|
|
|
|
|
|
import Common.UI.Menus_2023.MenuBarButton;
|
|
|
|
|
|
import Common.UI.Menus_2023.VisualiserMenuBar;
|
|
|
|
|
|
import Common.UI.UI;
|
2023-11-19 02:12:44 +03:00
|
|
|
|
import Repository.Component.PerformanceAnalyzer.PerformanceAnalyzer;
|
|
|
|
|
|
import Visual_DVM_2021.Passes.PassCode_2021;
|
|
|
|
|
|
import Visual_DVM_2021.Passes.Pass_2021;
|
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());
|
|
|
|
|
|
addPasses(PassCode_2021.OpenCurrentProject, PassCode_2021.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 {
|
|
|
|
|
|
Pass_2021.passes.get(PassCode_2021.GetComponentsActualVersions).Do();
|
|
|
|
|
|
Global.RefreshUpdatesStatus();
|
|
|
|
|
|
UI.ShowComponentsWindow();
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
2023-09-29 22:17:44 +03:00
|
|
|
|
/*
|
2023-09-17 22:13:42 +03:00
|
|
|
|
add(new MenuBarButton() {
|
|
|
|
|
|
{
|
|
|
|
|
|
setIcon("/icons/Comparsion.png");
|
|
|
|
|
|
setToolTipText("Анализатор статистик");
|
|
|
|
|
|
addActionListener(e -> {
|
|
|
|
|
|
Global.performanceAnalyzer.Start();
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
2023-09-29 22:17:44 +03:00
|
|
|
|
*/
|
2023-09-17 22:13:42 +03:00
|
|
|
|
addPasses(PassCode_2021.ShowInstruction);
|
|
|
|
|
|
//-
|
|
|
|
|
|
setPreferredSize(new Dimension(0, 30));
|
|
|
|
|
|
//---
|
2024-03-17 01:55:10 +03:00
|
|
|
|
/*
|
2023-09-17 22:13:42 +03:00
|
|
|
|
add(new MenuBarButton() {
|
|
|
|
|
|
{
|
|
|
|
|
|
setIcon("/icons/Apply.png");
|
|
|
|
|
|
setToolTipText("Test");
|
|
|
|
|
|
addActionListener(e -> {
|
2024-03-15 12:32:49 +03:00
|
|
|
|
// Pass_2021.passes.get(PassCode_2021.TestPass).Do();
|
2024-03-17 01:55:10 +03:00
|
|
|
|
Current.getFile().form.SwitchGraphs(false);
|
2023-09-17 22:13:42 +03:00
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
2024-03-17 01:55:10 +03:00
|
|
|
|
*/
|
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);
|
|
|
|
|
|
Pass_2021[] cleaningPasses = new Pass_2021[]{
|
|
|
|
|
|
Pass_2021.passes.get(PassCode_2021.DropAnalyses),
|
|
|
|
|
|
Pass_2021.passes.get(PassCode_2021.DropSavedArrays),
|
|
|
|
|
|
Pass_2021.passes.get(PassCode_2021.CleanAnalyses),
|
|
|
|
|
|
Pass_2021.passes.get(PassCode_2021.DeleteDebugResults),
|
|
|
|
|
|
Pass_2021.passes.get(PassCode_2021.ResetCurrentProject)
|
|
|
|
|
|
};
|
2023-09-30 00:18:44 +03:00
|
|
|
|
for (Pass_2021 pass : cleaningPasses) {
|
2023-09-17 22:13:42 +03:00
|
|
|
|
pass.setControlsEnabled(flag);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|