2023-10-12 00:31:58 +03:00
|
|
|
|
package Common.UI.Menus_2023.TestingBar;
|
|
|
|
|
|
import Common.Current;
|
|
|
|
|
|
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.TestingServer;
|
|
|
|
|
|
import Visual_DVM_2021.Passes.PassCode_2021;
|
|
|
|
|
|
|
|
|
|
|
|
import javax.swing.*;
|
|
|
|
|
|
import java.awt.*;
|
|
|
|
|
|
public class TestingBar extends VisualiserMenuBar {
|
|
|
|
|
|
JButton autorefreshButton;
|
|
|
|
|
|
JSpinner sCheckTime;
|
2023-10-14 00:43:39 +03:00
|
|
|
|
JSpinner sKernels;
|
2023-10-12 00:31:58 +03:00
|
|
|
|
public TestingBar() {
|
|
|
|
|
|
addPasses(PassCode_2021.SynchronizeTestsTasks);
|
2023-10-14 00:43:39 +03:00
|
|
|
|
//--
|
|
|
|
|
|
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));
|
2023-10-17 00:22:06 +03:00
|
|
|
|
sKernels.setModel(new SpinnerNumberModel(TestingServer.kernels, 1, 64, 1));
|
2023-10-14 00:43:39 +03:00
|
|
|
|
UI.MakeSpinnerRapid(sKernels, e -> {
|
|
|
|
|
|
TestingServer.kernels = (int) sKernels.getValue();
|
|
|
|
|
|
});
|
|
|
|
|
|
//--
|
2023-10-17 22:25:10 +03:00
|
|
|
|
add(new MenuBarButton() {
|
|
|
|
|
|
{
|
2023-10-18 14:05:51 +03:00
|
|
|
|
setText("оповещение по email");
|
2023-10-17 22:25:10 +03:00
|
|
|
|
setToolTipText("Оповещение о прогрессе выполнения пакета тестов");
|
|
|
|
|
|
Mark();
|
|
|
|
|
|
addActionListener(e -> {
|
|
|
|
|
|
TestingServer.email = !TestingServer.email;
|
|
|
|
|
|
Mark();
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
public void Mark() {
|
|
|
|
|
|
setIcon(Utils.getIcon(TestingServer.email ? "/icons/Pick.png" : "/icons/NotPick.png"));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
//--
|
2023-10-12 00:31:58 +03:00
|
|
|
|
add(autorefreshButton = new MenuBarButton() {
|
|
|
|
|
|
{
|
|
|
|
|
|
setText("проверка раз в");
|
|
|
|
|
|
setToolTipText("автоматическое обновление состояния пакета задач");
|
|
|
|
|
|
Mark();
|
|
|
|
|
|
addActionListener(e -> {
|
|
|
|
|
|
TestingServer.checkTasks = !TestingServer.checkTasks;
|
|
|
|
|
|
TestingServer.switchTimer(TestingServer.checkTasks);
|
|
|
|
|
|
Mark();
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
public void Mark() {
|
|
|
|
|
|
setIcon(Utils.getIcon(TestingServer.checkTasks ? "/icons/Pick.png" : "/icons/NotPick.png"));
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
2023-10-14 00:43:39 +03:00
|
|
|
|
//--
|
2023-10-12 00:31:58 +03:00
|
|
|
|
add(sCheckTime = new JSpinner());
|
|
|
|
|
|
sCheckTime.setPreferredSize(new Dimension(60, 26));
|
|
|
|
|
|
sCheckTime.setMaximumSize(new Dimension(60, 26));
|
|
|
|
|
|
sCheckTime.setModel(new SpinnerNumberModel(TestingServer.checkIntervalSecond, 10, 3600, 1));
|
|
|
|
|
|
UI.MakeSpinnerRapid(sCheckTime, e -> {
|
|
|
|
|
|
TestingServer.checkIntervalSecond = (int) sCheckTime.getValue();
|
|
|
|
|
|
if (TestingServer.checkTasks) TestingServer.ResetTimer();
|
|
|
|
|
|
});
|
2023-10-14 00:43:39 +03:00
|
|
|
|
add(new JLabel(" сек ") {
|
2023-10-12 00:31:58 +03:00
|
|
|
|
{
|
|
|
|
|
|
setFont(Current.getTheme().Fonts.get(VisualiserFonts.TreeItalic));
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
public void ShowAutorefresh() {
|
|
|
|
|
|
autorefreshButton.setIcon(Utils.getIcon(TestingServer.checkTasks ? "/icons/Pick.png" : "/icons/NotPick.png"));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|