package Common.UI.Menus_2023.TestingBar; import Common.Current; import Common.Global; import Common.UI.Menus_2023.MenuBarButton; import Common.UI.Menus_2023.VisualiserMenuBar; import Common.UI.Themes.VisualiserFonts; import Common.UI.UI; import Common.Utils.Utils; import TestingSystem.Common.TestingServer; import Visual_DVM_2021.Passes.PassCode_2021; import javax.swing.*; import java.awt.*; public class TestingBar extends VisualiserMenuBar { JButton autorefreshButton; JSpinner sCheckTime; JSpinner sKernels; public TestingBar() { addPasses(PassCode_2021.SynchronizeTestsTasks); //-- add(new JLabel(" ядер ") { { setFont(Current.getTheme().Fonts.get(VisualiserFonts.TreeItalic)); } }); add(sKernels = new JSpinner()); sKernels.setPreferredSize(new Dimension(60, 26)); sKernels.setMaximumSize(new Dimension(60, 26)); sKernels.setModel(new SpinnerNumberModel(Global.properties.TestingKernels, 1, Utils.getTestingMaxKernels(), 1)); sKernels.setValue(Global.properties.TestingKernels); UI.MakeSpinnerRapid(sKernels, e -> { Global.properties.updateField("TestingKernels", sKernels.getValue()); }); //-- add(new MenuBarButton() { { setText("оповещение по email"); setToolTipText("Оповещение о прогрессе выполнения пакета тестов"); Mark(); addActionListener(e -> { Global.properties.switchAndUpdateFlag("EmailOnTestingProgress"); Mark(); }); } public void Mark() { setIcon(Utils.getIcon(Global.properties.EmailOnTestingProgress ? "/icons/Pick.png" : "/icons/NotPick.png")); } }); //-- add(autorefreshButton = new MenuBarButton() { { setText("проверка раз в"); setToolTipText("автоматическое обновление состояния пакета задач"); Mark(); addActionListener(e -> { Global.properties.switchAndUpdateFlag("AutoCheckTesting"); //- if (Global.properties.AutoCheckTesting) TestingServer.TimerOn(); else TestingServer.TimerOff(); //- Mark(); }); } public void Mark() { setIcon(Utils.getIcon(Global.properties.AutoCheckTesting ? "/icons/Pick.png" : "/icons/NotPick.png")); } }); //-- add(sCheckTime = new JSpinner()); sCheckTime.setPreferredSize(new Dimension(60, 26)); sCheckTime.setMaximumSize(new Dimension(60, 26)); sCheckTime.setModel(new SpinnerNumberModel(Global.properties.CheckTestingIntervalSeconds, 10, 3600, 1)); sCheckTime.setValue(Global.properties.CheckTestingIntervalSeconds); UI.MakeSpinnerRapid(sCheckTime, e -> { Global.properties.updateField("CheckTestingIntervalSeconds", sCheckTime.getValue()); if (Global.properties.AutoCheckTesting) TestingServer.ResetTimer(); }); add(new JLabel(" сек ") { { setFont(Current.getTheme().Fonts.get(VisualiserFonts.TreeItalic)); } }); } public void ShowAutoCheckTesting() { autorefreshButton.setIcon(Utils.getIcon(Global.properties.AutoCheckTesting ? "/icons/Pick.png" : "/icons/NotPick.png")); } }