mirror of https://github.com/rusefi/RomRaider.git
Refactor DS2 Reset Panel and add reset checkbox descriptions
This commit is contained in:
parent
88c543fe6c
commit
34f1c33c38
|
@ -20,7 +20,7 @@
|
||||||
package com.romraider.logger.ecu.ui.swing.menubar.action;
|
package com.romraider.logger.ecu.ui.swing.menubar.action;
|
||||||
|
|
||||||
import com.romraider.logger.ecu.EcuLogger;
|
import com.romraider.logger.ecu.EcuLogger;
|
||||||
import com.romraider.logger.ecu.ui.swing.tools.DS2ResetItemsPanel;
|
import com.romraider.logger.ecu.ui.swing.tools.DS2ResetPanel;
|
||||||
import com.romraider.swing.menubar.action.AbstractAction;
|
import com.romraider.swing.menubar.action.AbstractAction;
|
||||||
import static javax.swing.JOptionPane.ERROR_MESSAGE;
|
import static javax.swing.JOptionPane.ERROR_MESSAGE;
|
||||||
import static javax.swing.JOptionPane.INFORMATION_MESSAGE;
|
import static javax.swing.JOptionPane.INFORMATION_MESSAGE;
|
||||||
|
@ -74,8 +74,8 @@ public final class ResetEcuAction extends AbstractAction {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void selectResetItems() {
|
private void selectResetItems() {
|
||||||
final DS2ResetItemsPanel resetPanel = new DS2ResetItemsPanel(logger);
|
final DS2ResetPanel resetPanel = new DS2ResetPanel(logger);
|
||||||
resetPanel.showResetItemsPanel();
|
resetPanel.showResetPanel();
|
||||||
final int result = resetPanel.getResults();
|
final int result = resetPanel.getResults();
|
||||||
if (result > 0) {
|
if (result > 0) {
|
||||||
resetEcu(result);
|
resetEcu(result);
|
||||||
|
|
|
@ -34,38 +34,42 @@ import javax.swing.JSeparator;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import com.romraider.logger.ecu.EcuLogger;
|
import com.romraider.logger.ecu.EcuLogger;
|
||||||
|
|
||||||
public final class DS2ResetItemsPanel extends JDialog {
|
public final class DS2ResetPanel extends JDialog {
|
||||||
private static final long serialVersionUID = 2406346286060014312L;
|
private static final long serialVersionUID = 2406346286060014312L;
|
||||||
private static final String DIALOG_TITLE = "Reset DS2 Adaption Selection";
|
private static final String DIALOG_TITLE = "Reset DS2 Adaptation Selection";
|
||||||
private static final String OK_BUTTON_TEXT = "OK";
|
private static final String OK_BUTTON_TEXT = "OK";
|
||||||
private static final String CANCEL_BUTTON_TEXT = "Cancel";
|
private static final String CANCEL_BUTTON_TEXT = "Cancel";
|
||||||
|
private static final String PANEL_TT = "Unsupported items are ignored by the ECU if selected.";
|
||||||
private static int results;
|
private static int results;
|
||||||
private final JCheckBox selectAll = new JCheckBox("Select All");
|
private final JCheckBox selectAll = new JCheckBox("Select All");
|
||||||
private final ResetItem[] resetItems = {
|
private final ResetCheckBox[] resetItems = {
|
||||||
new ResetItem("Byte 1 bit 0", 0x0100),
|
new ResetCheckBox("Knock Adaptations", 0x0100),
|
||||||
new ResetItem("Byte 1 bit 1", 0x0200),
|
new ResetCheckBox("Idle Speed Adaptations", 0x0200),
|
||||||
new ResetItem("Byte 1 bit 2", 0x0400),
|
new ResetCheckBox("Lambda Adaptations", 0x0400),
|
||||||
new ResetItem("Byte 1 bit 3", 0x0800),
|
new ResetCheckBox("Throttle Adaptations", 0x0800),
|
||||||
new ResetItem("Byte 1 bit 4", 0x1000),
|
new ResetCheckBox("Altitude Correction", 0x1000),
|
||||||
new ResetItem("Byte 1 bit 5", 0x2000),
|
new ResetCheckBox("Undefined Adaptation", 0x2000),
|
||||||
new ResetItem("Byte 1 bit 6", 0x4000),
|
new ResetCheckBox("Undefined Adaptation", 0x4000),
|
||||||
new ResetItem("Byte 1 bit 7", 0x8000),
|
new ResetCheckBox("Undefined Adaptation", 0x8000),
|
||||||
new ResetItem("Byte 0 bit 0", 0x0001),
|
new ResetCheckBox("Undefined Adaptation", 0x0001),
|
||||||
new ResetItem("Byte 0 bit 1", 0x0002)
|
new ResetCheckBox("External Load History (M3 only)", 0x0002),
|
||||||
|
new ResetCheckBox("Undefined Adaptation (MS43 only)", 0x0004),
|
||||||
|
new ResetCheckBox("Undefined Adaptation (MS43 only)", 0x0008)
|
||||||
};
|
};
|
||||||
|
|
||||||
public DS2ResetItemsPanel(EcuLogger logger) {
|
public DS2ResetPanel(EcuLogger logger) {
|
||||||
|
|
||||||
super(logger, true);
|
super(logger, true);
|
||||||
setIconImage(logger.getIconImage());
|
setIconImage(logger.getIconImage());
|
||||||
setTitle(DIALOG_TITLE);
|
setTitle(DIALOG_TITLE);
|
||||||
setBounds(
|
setBounds(
|
||||||
logger.getX() + (logger.getWidth() / 2) - 166,
|
logger.getX() + (logger.getWidth() / 2) - 180,
|
||||||
logger.getY() + 90,
|
logger.getY() + 90,
|
||||||
332,
|
240,
|
||||||
332);
|
375);
|
||||||
|
|
||||||
final JPanel contentPanel = new JPanel();
|
final JPanel contentPanel = new JPanel();
|
||||||
|
contentPanel.setToolTipText(PANEL_TT);
|
||||||
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS));
|
contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS));
|
||||||
getContentPane().setLayout(new BorderLayout());
|
getContentPane().setLayout(new BorderLayout());
|
||||||
|
@ -74,18 +78,17 @@ public final class DS2ResetItemsPanel extends JDialog {
|
||||||
selectAll.addActionListener(new ActionListener() {
|
selectAll.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent actionEvent) {
|
public void actionPerformed(ActionEvent actionEvent) {
|
||||||
for (ResetItem item : resetItems) {
|
for (ResetCheckBox item : resetItems) {
|
||||||
item.checkBox.setSelected(selectAll.isSelected());
|
item.setSelected(selectAll.isSelected());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
contentPanel.add(selectAll);
|
|
||||||
|
|
||||||
contentPanel.add(new JSeparator());
|
for (ResetCheckBox checkBox : resetItems) {
|
||||||
|
contentPanel.add(checkBox);
|
||||||
for (ResetItem item : resetItems) {
|
|
||||||
contentPanel.add(item.checkBox);
|
|
||||||
}
|
}
|
||||||
|
contentPanel.add(new JSeparator());
|
||||||
|
contentPanel.add(selectAll);
|
||||||
|
|
||||||
final JPanel buttonPanel = new JPanel();
|
final JPanel buttonPanel = new JPanel();
|
||||||
buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
||||||
|
@ -95,9 +98,9 @@ public final class DS2ResetItemsPanel extends JDialog {
|
||||||
okButton.setActionCommand(OK_BUTTON_TEXT);
|
okButton.setActionCommand(OK_BUTTON_TEXT);
|
||||||
okButton.addActionListener(new ActionListener() {
|
okButton.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
for (ResetItem item : resetItems) {
|
for (ResetCheckBox checkBox : resetItems) {
|
||||||
if(item.checkBox.isSelected()) {
|
if(checkBox.isSelected()) {
|
||||||
results |= item.mask;
|
results |= checkBox.mask;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
closeDialog();
|
closeDialog();
|
||||||
|
@ -117,7 +120,7 @@ public final class DS2ResetItemsPanel extends JDialog {
|
||||||
getRootPane().setDefaultButton(cancelButton);
|
getRootPane().setDefaultButton(cancelButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void showResetItemsPanel() {
|
public final void showResetPanel() {
|
||||||
setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
|
setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
|
||||||
addWindowListener(new WindowAdapter() {
|
addWindowListener(new WindowAdapter() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -139,16 +142,14 @@ public final class DS2ResetItemsPanel extends JDialog {
|
||||||
dispose();
|
dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
class ResetItem {
|
class ResetCheckBox extends JCheckBox {
|
||||||
public String name;
|
private static final long serialVersionUID = 6324945868965147832L;
|
||||||
public int mask;
|
public int mask;
|
||||||
public JCheckBox checkBox;
|
|
||||||
|
|
||||||
public ResetItem(String name, int mask) {
|
public ResetCheckBox(String name, int mask) {
|
||||||
this.name = name;
|
|
||||||
this.mask = mask;
|
this.mask = mask;
|
||||||
checkBox = new JCheckBox(name);
|
this.setText(name);
|
||||||
checkBox.addActionListener(new ActionListener() {
|
this.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent actionEvent) {
|
public void actionPerformed(ActionEvent actionEvent) {
|
||||||
final JCheckBox source = (JCheckBox) actionEvent.getSource();
|
final JCheckBox source = (JCheckBox) actionEvent.getSource();
|
||||||
|
@ -158,10 +159,5 @@ public final class DS2ResetItemsPanel extends JDialog {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue