mirror of https://github.com/rusefi/rusefi-1.git
refactoring: better dependency control
This commit is contained in:
parent
9c3ea2f17b
commit
ac051fb916
|
@ -87,7 +87,7 @@ public class SensorSnifferPane {
|
||||||
upperPanel.add(pauseButton);
|
upperPanel.add(pauseButton);
|
||||||
upperPanel.add(new RpmLabel(uiContext,2).getContent());
|
upperPanel.add(new RpmLabel(uiContext,2).getContent());
|
||||||
|
|
||||||
command = AnyCommand.createField(config, true, false);
|
command = AnyCommand.createField(uiContext, config, true, false);
|
||||||
upperPanel.add(command.getContent());
|
upperPanel.add(command.getContent());
|
||||||
|
|
||||||
upperPanel.add(new URLLabel(EngineSnifferPanel.HELP_TEXT, HELP_URL));
|
upperPanel.add(new URLLabel(EngineSnifferPanel.HELP_TEXT, HELP_URL));
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.rusefi.etb;
|
||||||
|
|
||||||
import com.rusefi.core.Sensor;
|
import com.rusefi.core.Sensor;
|
||||||
import com.rusefi.core.SensorCentral;
|
import com.rusefi.core.SensorCentral;
|
||||||
|
import com.rusefi.ui.UIContext;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import static com.rusefi.Timeouts.SECOND;
|
import static com.rusefi.Timeouts.SECOND;
|
||||||
|
@ -20,7 +21,7 @@ public class StandardTestSequence {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TestSequenceStep addSequence(TestSequenceStep first_step, Runnable onEachStep, TestSequenceStep.Condition condition) {
|
public static TestSequenceStep addSequence(UIContext uiContext, TestSequenceStep first_step, Runnable onEachStep, TestSequenceStep.Condition condition) {
|
||||||
TestSequenceStep secondStep = new TestSequenceStep(SECOND, EtbTarget.Condition.YES) {
|
TestSequenceStep secondStep = new TestSequenceStep(SECOND, EtbTarget.Condition.YES) {
|
||||||
@Override
|
@Override
|
||||||
protected void doJob() {
|
protected void doJob() {
|
||||||
|
@ -28,39 +29,39 @@ public class StandardTestSequence {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
TestSequenceStep result = first_step.addNext(secondStep)
|
TestSequenceStep result = first_step.addNext(secondStep)
|
||||||
.addNext(10 * SECOND, 4 /*position*/, onEachStep, condition)
|
.addNext(uiContext, 10 * SECOND, 4 /*position*/, onEachStep, condition)
|
||||||
.addNext(5 * SECOND, 6, /*position*/onEachStep, condition)
|
.addNext(uiContext, 5 * SECOND, 6, /*position*/onEachStep, condition)
|
||||||
.addNext(5 * SECOND, 8, /*position*/onEachStep, condition)
|
.addNext(uiContext, 5 * SECOND, 8, /*position*/onEachStep, condition)
|
||||||
.addNext(5 * SECOND, 6, /*position*/onEachStep, condition)
|
.addNext(uiContext, 5 * SECOND, 6, /*position*/onEachStep, condition)
|
||||||
.addNext(5 * SECOND, 4, /*position*/onEachStep, condition)
|
.addNext(uiContext, 5 * SECOND, 4, /*position*/onEachStep, condition)
|
||||||
.addNext(5 * SECOND, 2, /*position*/onEachStep, condition)
|
.addNext(uiContext, 5 * SECOND, 2, /*position*/onEachStep, condition)
|
||||||
.addNext(5 * SECOND, 0, /*position*/onEachStep, condition)
|
.addNext(uiContext, 5 * SECOND, 0, /*position*/onEachStep, condition)
|
||||||
.addNext(5 * SECOND, 10, /*position*/onEachStep, condition)
|
.addNext(uiContext, 5 * SECOND, 10, /*position*/onEachStep, condition)
|
||||||
.addNext(3 * SECOND, 0, /*position*/onEachStep, condition)
|
.addNext(uiContext, 3 * SECOND, 0, /*position*/onEachStep, condition)
|
||||||
.addNext(1 * SECOND, 6, /*position*/onEachStep, condition)
|
.addNext(uiContext, 1 * SECOND, 6, /*position*/onEachStep, condition)
|
||||||
.addNext(1 * SECOND, 8, /*position*/onEachStep, condition)
|
.addNext(uiContext, 1 * SECOND, 8, /*position*/onEachStep, condition)
|
||||||
.addNext(1 * SECOND, 6, /*position*/onEachStep, condition)
|
.addNext(uiContext, 1 * SECOND, 6, /*position*/onEachStep, condition)
|
||||||
.addNext(1 * SECOND, 4, /*position*/onEachStep, condition)
|
.addNext(uiContext, 1 * SECOND, 4, /*position*/onEachStep, condition)
|
||||||
.addNext(1 * SECOND, 2, /*position*/onEachStep, condition)
|
.addNext(uiContext, 1 * SECOND, 2, /*position*/onEachStep, condition)
|
||||||
.addNext(1 * SECOND, 0, /*position*/onEachStep, condition)
|
.addNext(uiContext, 1 * SECOND, 0, /*position*/onEachStep, condition)
|
||||||
.addNext(1 * SECOND, 10, /*position*/onEachStep, condition)
|
.addNext(uiContext, 1 * SECOND, 10, /*position*/onEachStep, condition)
|
||||||
.addNext(3 * SECOND, 7, /*position*/onEachStep, condition)
|
.addNext(uiContext, 3 * SECOND, 7, /*position*/onEachStep, condition)
|
||||||
.addNext(3 * SECOND, 6, /*position*/onEachStep, condition)
|
.addNext(uiContext, 3 * SECOND, 6, /*position*/onEachStep, condition)
|
||||||
.addNext(3 * SECOND, 5, /*position*/onEachStep, condition)
|
.addNext(uiContext, 3 * SECOND, 5, /*position*/onEachStep, condition)
|
||||||
.addNext(3 * SECOND, 4, /*position*/onEachStep, condition)
|
.addNext(uiContext, 3 * SECOND, 4, /*position*/onEachStep, condition)
|
||||||
.addNext(3 * SECOND, 3, /*position*/onEachStep, condition)
|
.addNext(uiContext, 3 * SECOND, 3, /*position*/onEachStep, condition)
|
||||||
.addNext(3 * SECOND, 2, /*position*/onEachStep, condition)
|
.addNext(uiContext, 3 * SECOND, 2, /*position*/onEachStep, condition)
|
||||||
.addNext(3 * SECOND, 1, /*position*/onEachStep, condition)
|
.addNext(uiContext, 3 * SECOND, 1, /*position*/onEachStep, condition)
|
||||||
.addNext(3 * SECOND, 0, /*position*/onEachStep, condition)
|
.addNext(uiContext, 3 * SECOND, 0, /*position*/onEachStep, condition)
|
||||||
.addNext(10 * SECOND, 6, /*position*/onEachStep, condition)
|
.addNext(uiContext, 10 * SECOND, 6, /*position*/onEachStep, condition)
|
||||||
.addNext(10 * SECOND, 30, /*position*/onEachStep, condition)
|
.addNext(uiContext, 10 * SECOND, 30, /*position*/onEachStep, condition)
|
||||||
.addNext(10 * SECOND, 50, /*position*/onEachStep, condition)
|
.addNext(uiContext, 10 * SECOND, 50, /*position*/onEachStep, condition)
|
||||||
.addNext(10 * SECOND, 70, /*position*/onEachStep, condition)
|
.addNext(uiContext, 10 * SECOND, 70, /*position*/onEachStep, condition)
|
||||||
.addNext(10 * SECOND, 95, /*position*/onEachStep, condition)
|
.addNext(uiContext, 10 * SECOND, 95, /*position*/onEachStep, condition)
|
||||||
.addNext(10 * SECOND, 50, /*position*/onEachStep, condition)
|
.addNext(uiContext, 10 * SECOND, 50, /*position*/onEachStep, condition)
|
||||||
.addNext(10 * SECOND, 70, /*position*/onEachStep, condition)
|
.addNext(uiContext, 10 * SECOND, 70, /*position*/onEachStep, condition)
|
||||||
.addNext(10 * SECOND, 4, /*position*/onEachStep, condition)
|
.addNext(uiContext, 10 * SECOND, 4, /*position*/onEachStep, condition)
|
||||||
.addNext(10 * SECOND, 0, /*position*/onEachStep, condition)
|
.addNext(uiContext, 10 * SECOND, 0, /*position*/onEachStep, condition)
|
||||||
;
|
;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.rusefi.etb;
|
||||||
|
|
||||||
import com.rusefi.FileLog;
|
import com.rusefi.FileLog;
|
||||||
import com.rusefi.core.MessagesCentral;
|
import com.rusefi.core.MessagesCentral;
|
||||||
|
import com.rusefi.ui.UIContext;
|
||||||
|
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
@ -45,7 +46,7 @@ public abstract class TestSequenceStep {
|
||||||
|
|
||||||
protected abstract void doJob();
|
protected abstract void doJob();
|
||||||
|
|
||||||
public TestSequenceStep addNext(long duration, double position, Runnable onEachStep, Condition condition) {
|
public TestSequenceStep addNext(UIContext uiContext, long duration, double position, Runnable onEachStep, Condition condition) {
|
||||||
return addNext(new EtbTarget(duration, position, onEachStep, condition));
|
return addNext(new EtbTarget(duration, position, onEachStep, condition));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -213,7 +213,7 @@ public class GaugesPanel {
|
||||||
leftUpperPanel.add(createPauseButton());
|
leftUpperPanel.add(createPauseButton());
|
||||||
leftUpperPanel.add(createSaveImageButton());
|
leftUpperPanel.add(createSaveImageButton());
|
||||||
leftUpperPanel.add(new RpmLabel(uiContext, 2).getContent());
|
leftUpperPanel.add(new RpmLabel(uiContext, 2).getContent());
|
||||||
AnyCommand command = AnyCommand.createField(config, false, false);
|
AnyCommand command = AnyCommand.createField(uiContext, config, false, false);
|
||||||
leftUpperPanel.add(command.getContent());
|
leftUpperPanel.add(command.getContent());
|
||||||
return leftUpperPanel;
|
return leftUpperPanel;
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@ public class MainFrame {
|
||||||
if (ConnectionStatusLogic.INSTANCE.getValue() == ConnectionStatusValue.CONNECTED) {
|
if (ConnectionStatusLogic.INSTANCE.getValue() == ConnectionStatusValue.CONNECTED) {
|
||||||
long unixGmtTime = System.currentTimeMillis() / 1000L;
|
long unixGmtTime = System.currentTimeMillis() / 1000L;
|
||||||
long withOffset = unixGmtTime + TimeZone.getDefault().getOffset(System.currentTimeMillis()) / 1000;
|
long withOffset = unixGmtTime + TimeZone.getDefault().getOffset(System.currentTimeMillis()) / 1000;
|
||||||
CommandQueue.getInstance().write("set " +
|
consoleUI.uiContext.getCommandQueue().write("set " +
|
||||||
Fields.CMD_DATE +
|
Fields.CMD_DATE +
|
||||||
" " + withOffset, CommandQueue.DEFAULT_TIMEOUT,
|
" " + withOffset, CommandQueue.DEFAULT_TIMEOUT,
|
||||||
InvocationConfirmationListener.VOID, false);
|
InvocationConfirmationListener.VOID, false);
|
||||||
|
|
|
@ -110,7 +110,7 @@ public class EngineSnifferPanel {
|
||||||
upperPanel.add(new RpmLabel(uiContext,2).getContent());
|
upperPanel.add(new RpmLabel(uiContext,2).getContent());
|
||||||
|
|
||||||
if (!uiContext.getLinkManager().isLogViewer()) {
|
if (!uiContext.getLinkManager().isLogViewer()) {
|
||||||
command = AnyCommand.createField(config, "chartsize " + EFI_DEFAULT_CHART_SIZE, true, true);
|
command = AnyCommand.createField(uiContext, config, "chartsize " + EFI_DEFAULT_CHART_SIZE, true, true);
|
||||||
upperPanel.add(command.getContent());
|
upperPanel.add(command.getContent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,10 @@ import java.awt.event.ActionEvent;
|
||||||
*/
|
*/
|
||||||
public class CalibrationPanel {
|
public class CalibrationPanel {
|
||||||
private final JPanel content = new JPanel(new VerticalFlowLayout());
|
private final JPanel content = new JPanel(new VerticalFlowLayout());
|
||||||
|
private final UIContext uiContext;
|
||||||
|
|
||||||
public CalibrationPanel(UIContext uiContext) {
|
public CalibrationPanel(UIContext uiContext) {
|
||||||
|
this.uiContext = uiContext;
|
||||||
content.setBorder(BorderFactory.createTitledBorder("Calibration"));
|
content.setBorder(BorderFactory.createTitledBorder("Calibration"));
|
||||||
content.add(createCommandButton("Grab TPS#1 fully closed", "calibrate_tps_1_closed"));
|
content.add(createCommandButton("Grab TPS#1 fully closed", "calibrate_tps_1_closed"));
|
||||||
content.add(createCommandButton("Grab TPS#1 Wide Open", "calibrate_tps_1_wot"));
|
content.add(createCommandButton("Grab TPS#1 Wide Open", "calibrate_tps_1_wot"));
|
||||||
|
@ -30,7 +32,7 @@ public class CalibrationPanel {
|
||||||
button.addActionListener(new AbstractAction() {
|
button.addActionListener(new AbstractAction() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
CommandQueue.getInstance().write(command);
|
uiContext.getCommandQueue().write(command);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return button;
|
return button;
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.rusefi.ui.etb;
|
||||||
|
|
||||||
import com.rusefi.config.generated.Fields;
|
import com.rusefi.config.generated.Fields;
|
||||||
import com.rusefi.io.CommandQueue;
|
import com.rusefi.io.CommandQueue;
|
||||||
|
import com.rusefi.ui.UIContext;
|
||||||
import org.putgemin.VerticalFlowLayout;
|
import org.putgemin.VerticalFlowLayout;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
@ -24,10 +25,10 @@ public class DirectDrivePanel {
|
||||||
private final JButton reset = new JButton("Cancel Direct Drive");
|
private final JButton reset = new JButton("Cancel Direct Drive");
|
||||||
private double directDriverValue;
|
private double directDriverValue;
|
||||||
|
|
||||||
public DirectDrivePanel() {
|
public DirectDrivePanel(UIContext uiContext) {
|
||||||
content.setBorder(BorderFactory.createTitledBorder("Direct Drive"));
|
content.setBorder(BorderFactory.createTitledBorder("Direct Drive"));
|
||||||
|
|
||||||
CommandQueue.getInstance().addListener(command -> {
|
uiContext.getCommandQueue().addListener(command -> {
|
||||||
if (command.startsWith(CMD_ETB_DUTY + " ")) {
|
if (command.startsWith(CMD_ETB_DUTY + " ")) {
|
||||||
command = command.substring((CMD_ETB_DUTY + " ").length());
|
command = command.substring((CMD_ETB_DUTY + " ").length());
|
||||||
directDriverValue = parseDouble(command, Double.NaN);
|
directDriverValue = parseDouble(command, Double.NaN);
|
||||||
|
@ -43,7 +44,7 @@ public class DirectDrivePanel {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
double newValue = getCurrent() + getIncrement();
|
double newValue = getCurrent() + getIncrement();
|
||||||
CommandQueue.getInstance().write(CMD_ETB_DUTY + " " + newValue);
|
uiContext.getCommandQueue().write(CMD_ETB_DUTY + " " + newValue);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
upDownPanel.add(more);
|
upDownPanel.add(more);
|
||||||
|
@ -53,7 +54,7 @@ public class DirectDrivePanel {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
double newValue = getCurrent() - getIncrement();
|
double newValue = getCurrent() - getIncrement();
|
||||||
CommandQueue.getInstance().write(CMD_ETB_DUTY + " " + newValue);
|
uiContext.getCommandQueue().write(CMD_ETB_DUTY + " " + newValue);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -61,7 +62,7 @@ public class DirectDrivePanel {
|
||||||
reset.addActionListener(new AbstractAction() {
|
reset.addActionListener(new AbstractAction() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
CommandQueue.getInstance().write(CANCEL_DIRECT_DRIVE_COMMAND);
|
uiContext.getCommandQueue().write(CANCEL_DIRECT_DRIVE_COMMAND);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -24,11 +24,11 @@ public class EtbCommandsPanel {
|
||||||
private final JPanel content = new JPanel(new VerticalFlowLayout());
|
private final JPanel content = new JPanel(new VerticalFlowLayout());
|
||||||
|
|
||||||
public EtbCommandsPanel(UIContext uiContext) {
|
public EtbCommandsPanel(UIContext uiContext) {
|
||||||
content.add(new DirectDrivePanel().getContent());
|
content.add(new DirectDrivePanel(uiContext).getContent());
|
||||||
|
|
||||||
JPanel testParameters = new JPanel(new VerticalFlowLayout());
|
JPanel testParameters = new JPanel(new VerticalFlowLayout());
|
||||||
testParameters.setBorder(BorderFactory.createTitledBorder("Try PID settings"));
|
testParameters.setBorder(BorderFactory.createTitledBorder("Try PID settings"));
|
||||||
EtbTestSequence etbTestSequence = new EtbTestSequence();
|
EtbTestSequence etbTestSequence = new EtbTestSequence(uiContext);
|
||||||
testParameters.add(etbTestSequence.getButton());
|
testParameters.add(etbTestSequence.getButton());
|
||||||
testParameters.add(UiUtils.wrap(etbTestSequence.getCancelButton()));
|
testParameters.add(UiUtils.wrap(etbTestSequence.getCancelButton()));
|
||||||
testParameters.add(etbTestSequence.getResult());
|
testParameters.add(etbTestSequence.getResult());
|
||||||
|
|
|
@ -41,7 +41,7 @@ public class EtbMonteCarloSequence {
|
||||||
executor.execute(new Runnable() {
|
executor.execute(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
CommandQueue.getInstance().write(CANCEL_DIRECT_DRIVE_COMMAND);
|
uiContext.getCommandQueue().write(CANCEL_DIRECT_DRIVE_COMMAND);
|
||||||
sleep(3 * SECOND);
|
sleep(3 * SECOND);
|
||||||
// 30000 data points at 100Hz should be 300 seconds worth of data
|
// 30000 data points at 100Hz should be 300 seconds worth of data
|
||||||
StandardTestSequence.metric.start(/* buffer size: */durationSeconds * frequencyHz, /*period, ms: */ 1000 / frequencyHz);
|
StandardTestSequence.metric.start(/* buffer size: */durationSeconds * frequencyHz, /*period, ms: */ 1000 / frequencyHz);
|
||||||
|
@ -63,11 +63,11 @@ public class EtbMonteCarloSequence {
|
||||||
":iFactor:" + iFactor +
|
":iFactor:" + iFactor +
|
||||||
":dFactor:" + dFactor;
|
":dFactor:" + dFactor;
|
||||||
MessagesCentral.getInstance().postMessage(EtbMonteCarloSequence.class, stats);
|
MessagesCentral.getInstance().postMessage(EtbMonteCarloSequence.class, stats);
|
||||||
CommandQueue.getInstance().write("etbreset");
|
uiContext.getCommandQueue().write("etbreset");
|
||||||
CommandQueue.getInstance().write("set etb_o " + offset);
|
uiContext.getCommandQueue().write("set etb_o " + offset);
|
||||||
CommandQueue.getInstance().write("set etb_p " + pFactor);
|
uiContext.getCommandQueue().write("set etb_p " + pFactor);
|
||||||
CommandQueue.getInstance().write("set etb_i " + iFactor);
|
uiContext.getCommandQueue().write("set etb_i " + iFactor);
|
||||||
CommandQueue.getInstance().write("set etb_d " + dFactor);
|
uiContext.getCommandQueue().write("set etb_d " + dFactor);
|
||||||
|
|
||||||
MessagesCentral.getInstance().postMessage(EtbMonteCarloSequence.class,
|
MessagesCentral.getInstance().postMessage(EtbMonteCarloSequence.class,
|
||||||
uiContext.sensorLogger.getSecondsSinceFileStart() + " running " + stats);
|
uiContext.sensorLogger.getSecondsSinceFileStart() + " running " + stats);
|
||||||
|
@ -96,7 +96,7 @@ public class EtbMonteCarloSequence {
|
||||||
MessagesCentral.getInstance().postMessage(EtbMonteCarloSequence.class,"Running " + state + ", current=" + value);
|
MessagesCentral.getInstance().postMessage(EtbMonteCarloSequence.class,"Running " + state + ", current=" + value);
|
||||||
});
|
});
|
||||||
|
|
||||||
TestSequenceStep last = StandardTestSequence.addSequence(firstStep, onEachStep, condition);
|
TestSequenceStep last = StandardTestSequence.addSequence(uiContext, firstStep, onEachStep, condition);
|
||||||
last.addNext(new TestSequenceStep(5 * SECOND, EtbTarget.Condition.YES) {
|
last.addNext(new TestSequenceStep(5 * SECOND, EtbTarget.Condition.YES) {
|
||||||
@Override
|
@Override
|
||||||
protected void doJob() {
|
protected void doJob() {
|
||||||
|
@ -134,6 +134,6 @@ public class EtbMonteCarloSequence {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void stopETB() {
|
private void stopETB() {
|
||||||
CommandQueue.getInstance().write(CMD_ETB_DUTY + " " + 0);
|
uiContext.getCommandQueue().write(CMD_ETB_DUTY + " " + 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.rusefi.core.Sensor;
|
||||||
import com.rusefi.etb.EtbTarget;
|
import com.rusefi.etb.EtbTarget;
|
||||||
import com.rusefi.etb.StandardTestSequence;
|
import com.rusefi.etb.StandardTestSequence;
|
||||||
import com.rusefi.etb.TestSequenceStep;
|
import com.rusefi.etb.TestSequenceStep;
|
||||||
|
import com.rusefi.ui.UIContext;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
@ -41,7 +42,7 @@ public class EtbTestSequence {
|
||||||
private final JButton cancelButton = new JButton("Cancel");
|
private final JButton cancelButton = new JButton("Cancel");
|
||||||
private boolean isCancelled;
|
private boolean isCancelled;
|
||||||
|
|
||||||
public EtbTestSequence() {
|
public EtbTestSequence(UIContext uiContext) {
|
||||||
cancelButton.setEnabled(false);
|
cancelButton.setEnabled(false);
|
||||||
|
|
||||||
button.addActionListener(e -> {
|
button.addActionListener(e -> {
|
||||||
|
@ -70,7 +71,7 @@ public class EtbTestSequence {
|
||||||
});
|
});
|
||||||
|
|
||||||
TestSequenceStep firstStep = new EtbTarget(10 * SECOND, 4, /*position*/onEachStep, TestSequenceStep.Condition.YES);
|
TestSequenceStep firstStep = new EtbTarget(10 * SECOND, 4, /*position*/onEachStep, TestSequenceStep.Condition.YES);
|
||||||
TestSequenceStep result = StandardTestSequence.addSequence(firstStep, onEachStep, new TestSequenceStep.Condition() {
|
TestSequenceStep result = StandardTestSequence.addSequence(uiContext, firstStep, onEachStep, new TestSequenceStep.Condition() {
|
||||||
@Override
|
@Override
|
||||||
public boolean shouldRunTask() {
|
public boolean shouldRunTask() {
|
||||||
if (isCancelled)
|
if (isCancelled)
|
||||||
|
|
|
@ -7,6 +7,7 @@ import com.rusefi.InfixConverter;
|
||||||
import com.rusefi.core.MessagesCentral;
|
import com.rusefi.core.MessagesCentral;
|
||||||
import com.rusefi.io.CommandQueue;
|
import com.rusefi.io.CommandQueue;
|
||||||
import com.rusefi.ui.RecentCommands;
|
import com.rusefi.ui.RecentCommands;
|
||||||
|
import com.rusefi.ui.UIContext;
|
||||||
import com.rusefi.ui.storage.Node;
|
import com.rusefi.ui.storage.Node;
|
||||||
import com.rusefi.ui.util.JTextFieldWithWidth;
|
import com.rusefi.ui.util.JTextFieldWithWidth;
|
||||||
|
|
||||||
|
@ -252,11 +253,11 @@ public class AnyCommand {
|
||||||
void onSend();
|
void onSend();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AnyCommand createField(Node config, boolean listenToCommands, boolean withCommandCaption) {
|
public static AnyCommand createField(UIContext uiContext, Node config, boolean listenToCommands, boolean withCommandCaption) {
|
||||||
return createField(config, config.getProperty(KEY), listenToCommands, withCommandCaption);
|
return createField(uiContext, config, config.getProperty(KEY), listenToCommands, withCommandCaption);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AnyCommand createField(Node config, String defaultCommand, boolean listenToCommands, boolean withCommandCaption) {
|
public static AnyCommand createField(UIContext uiContext, Node config, String defaultCommand, boolean listenToCommands, boolean withCommandCaption) {
|
||||||
final JTextField text = new JTextFieldWithWidth(200);
|
final JTextField text = new JTextFieldWithWidth(200);
|
||||||
|
|
||||||
final AnyCommand command = new AnyCommand(text, config, defaultCommand, listenToCommands, withCommandCaption);
|
final AnyCommand command = new AnyCommand(text, config, defaultCommand, listenToCommands, withCommandCaption);
|
||||||
|
|
Loading…
Reference in New Issue