Files
VisualSapfor/src/TestingSystem/Common/TestingBar.java

108 lines
4.2 KiB
Java
Raw Normal View History

package TestingSystem.Common;
2023-10-12 00:31:58 +03:00
import Common.Current;
import Common.Global;
2023-10-12 00:31:58 +03:00
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 Visual_DVM_2021.Passes.PassCode_2021;
2023-10-12 00:31:58 +03:00
import javax.swing.*;
import java.awt.*;
public class TestingBar extends VisualiserMenuBar {
public JLabel KernelsLabel;
public JButton autorefreshButton;
2023-10-12 00:31:58 +03:00
JSpinner sCheckTime;
2023-10-14 00:43:39 +03:00
JSpinner sKernels;
2023-10-12 00:31:58 +03:00
public TestingBar() {
//-
KernelsLabel = addLabel("", "/icons/Kernels.png");
KernelsLabel.setHorizontalTextPosition(JLabel.LEFT);
KernelsLabel.setToolTipText("количество ядер, задействованное при тестировании");
2023-10-14 00:43:39 +03:00
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);
2023-10-14 00:43:39 +03:00
UI.MakeSpinnerRapid(sKernels, e -> {
Global.properties.updateField("TestingKernels", sKernels.getValue());
2023-10-14 00:43:39 +03:00
});
addLabel(" ");
2023-10-14 00:43:39 +03:00
//--
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"));
}
});
//--
2023-10-12 00:31:58 +03:00
add(autorefreshButton = new MenuBarButton() {
{
setText("проверка раз в");
setToolTipText("автоматическое обновление состояния пакета задач");
Mark();
addActionListener(e -> {
Global.properties.switchAndUpdateFlag("AutoCheckTesting");
//-
if (Global.properties.AutoCheckTesting)
TestingServer.TimerOn();
else
TestingServer.TimerOff();
//-
2023-10-12 00:31:58 +03:00
Mark();
});
}
public void Mark() {
setIcon(Utils.getIcon(Global.properties.AutoCheckTesting ? "/icons/Pick.png" : "/icons/NotPick.png"));
2023-10-12 00:31:58 +03:00
}
});
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(Global.properties.CheckTestingIntervalSeconds, 10, 3600, 1));
sCheckTime.setValue(Global.properties.CheckTestingIntervalSeconds);
2023-10-12 00:31:58 +03:00
UI.MakeSpinnerRapid(sCheckTime, e -> {
Global.properties.updateField("CheckTestingIntervalSeconds", sCheckTime.getValue());
if (Global.properties.AutoCheckTesting) TestingServer.ResetTimer();
2023-10-12 00:31:58 +03:00
});
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));
}
});
addSeparator();
addLabel(" управление сервером ");
addPasses(PassCode_2021.ShutdownTestingServer);
2023-10-12 00:31:58 +03:00
}
public void ShowAutoCheckTesting() {
autorefreshButton.setIcon(Utils.getIcon(Global.properties.AutoCheckTesting ? "/icons/Pick.png" : "/icons/NotPick.png"));
2023-10-12 00:31:58 +03:00
}
/*
public void ShowMachine(){
MachineButton.setText(Current.getMachine().getURL());
}
public void ShowUser(){
UserButton.setText(Current.getUser().login);
}
public void ShowNoMachine(){
MachineButton.setText("?");
}
public void ShowNoUser(){
UserButton.setText("?");
}
*/
2023-10-12 00:31:58 +03:00
}