mirror of https://github.com/rusefi/RomRaider.git
Add Phidget InterfaceKit user defined convertor dialog.
This commit is contained in:
parent
517c908574
commit
f5c5d4c9f2
155
src/main/java/com/romraider/logger/external/phidget/interfacekit/plugin/IntfKitConvertorPanel.java
vendored
Normal file
155
src/main/java/com/romraider/logger/external/phidget/interfacekit/plugin/IntfKitConvertorPanel.java
vendored
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
package com.romraider.logger.external.phidget.interfacekit.plugin;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.FlowLayout;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.awt.event.WindowAdapter;
|
||||||
|
import java.awt.event.WindowEvent;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JDialog;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.table.JTableHeader;
|
||||||
|
import javax.swing.table.TableColumn;
|
||||||
|
|
||||||
|
import com.romraider.logger.ecu.EcuLogger;
|
||||||
|
import com.romraider.logger.ecu.ui.swing.tools.tablemodels.renderers.CentreRenderer;
|
||||||
|
|
||||||
|
public class IntfKitConvertorPanel extends JDialog {
|
||||||
|
private static final long serialVersionUID = -4785866140260703021L;
|
||||||
|
private final int IK_WIDTH = 600;
|
||||||
|
private final int IK_HEIGHT = 300;
|
||||||
|
private JTable table;
|
||||||
|
|
||||||
|
public IntfKitConvertorPanel(
|
||||||
|
EcuLogger logger, List<List<String>> ikData) {
|
||||||
|
|
||||||
|
super(logger, true);
|
||||||
|
setTitle("Phidget InterfaceKit User Defined Convertors");
|
||||||
|
setBounds(
|
||||||
|
(logger.getWidth() > IK_WIDTH) ?
|
||||||
|
logger.getX() + (logger.getWidth() - IK_WIDTH) / 2 : 0,
|
||||||
|
(logger.getHeight() > IK_HEIGHT) ?
|
||||||
|
logger.getY() + ((logger.getHeight() - IK_HEIGHT) / 2) : 0,
|
||||||
|
IK_WIDTH,
|
||||||
|
IK_HEIGHT);
|
||||||
|
getContentPane().setLayout(new BorderLayout());
|
||||||
|
final JScrollPane scrollPane = new JScrollPane();
|
||||||
|
getContentPane().add(scrollPane, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
final IntfKitTableModel model = new IntfKitTableModel();
|
||||||
|
model.setIkRowData(ikData);
|
||||||
|
table = new JTable(model) {
|
||||||
|
private static final long serialVersionUID = -6967080466164619695L;
|
||||||
|
public final String getToolTipText(MouseEvent e) {
|
||||||
|
String tip = null;
|
||||||
|
final int colIndex = columnAtPoint(e.getPoint());
|
||||||
|
final int column = convertColumnIndexToModel(colIndex);
|
||||||
|
switch (column) {
|
||||||
|
case 0:
|
||||||
|
tip = "Sensor module serial number and input number";
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
tip = "Equation used to convert raw data to real value";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
tip = "Format of real value for display and logging";
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
tip = "Units of measure of the real value";
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
tip = "Minimum real value expected";
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
tip = "Maximum real value expected";
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
tip = "Tick mark step for Gauge Tab display, " +
|
||||||
|
"typically (max-min)/10";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
tip = super.getToolTipText(e);
|
||||||
|
}
|
||||||
|
return tip;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
setTableBehaviour(table);
|
||||||
|
scrollPane.setViewportView(table);
|
||||||
|
|
||||||
|
final JPanel buttonPane = new JPanel();
|
||||||
|
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
||||||
|
getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
||||||
|
|
||||||
|
final JButton applyButton = new JButton("Apply");
|
||||||
|
applyButton.setToolTipText("Apply current convertor settings then exit");
|
||||||
|
applyButton.setMnemonic(KeyEvent.VK_A);
|
||||||
|
applyButton.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public final void actionPerformed(ActionEvent actionEvent) {
|
||||||
|
closeDialog();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
buttonPane.add(applyButton);
|
||||||
|
getRootPane().setDefaultButton(applyButton);
|
||||||
|
|
||||||
|
final JButton cancelButton = new JButton("Cancel");
|
||||||
|
cancelButton.setToolTipText("Cancel/exit without applying changes");
|
||||||
|
cancelButton.addActionListener(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
table = null;
|
||||||
|
closeDialog();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
buttonPane.add(cancelButton);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void displayPanel() {
|
||||||
|
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
|
||||||
|
addWindowListener(new WindowAdapter() {
|
||||||
|
public void windowClosing(WindowEvent we) {
|
||||||
|
table = null;
|
||||||
|
closeDialog();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final JTable getTable() {
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
|
||||||
|
private final void setTableBehaviour(JTable table) {
|
||||||
|
table.setBorder(null);
|
||||||
|
table.setFillsViewportHeight(false);
|
||||||
|
table.setColumnSelectionAllowed(false);
|
||||||
|
table.setRowSelectionAllowed(false);
|
||||||
|
|
||||||
|
final JTableHeader th = table.getTableHeader();
|
||||||
|
th.setReorderingAllowed(false);
|
||||||
|
th.setDefaultRenderer(new CentreRenderer(table));
|
||||||
|
|
||||||
|
TableColumn column = null;
|
||||||
|
for (int i = 0; i < table.getColumnCount(); i++) {
|
||||||
|
column = table.getColumnModel().getColumn(i);
|
||||||
|
if (i == 0) {
|
||||||
|
column.setPreferredWidth(220);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
column.setPreferredWidth(100);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private final void closeDialog() {
|
||||||
|
setVisible(false);
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue