diff --git a/src/main/java/ch/psi/mxsc/Controller.java b/src/main/java/ch/psi/mxsc/Controller.java
index 1fa43ed..96004cb 100644
--- a/src/main/java/ch/psi/mxsc/Controller.java
+++ b/src/main/java/ch/psi/mxsc/Controller.java
@@ -8,7 +8,7 @@ import ch.psi.pshell.core.Context;
import ch.psi.pshell.core.DevicePool;
import ch.psi.pshell.core.DevicePoolListener;
import ch.psi.pshell.core.JsonSerializer;
-import ch.psi.pshell.device.Device;
+import ch.psi.pshell.device.Device;
import ch.psi.pshell.device.DeviceAdapter;
import ch.psi.pshell.device.DeviceListener;
import ch.psi.pshell.device.GenericDevice;
@@ -64,14 +64,14 @@ public class Controller {
static void createInstance(Panel mainFrame) {
instance = new Controller(mainFrame);
}
-
- enum PuckMountMode{
+
+ enum PuckMountMode {
Direct,
Dialog
}
final PuckMountMode puckMountMode = App.hasArgument("direct") ? PuckMountMode.Direct : PuckMountMode.Dialog;
-
+
enum PuckSensorAccess {
RaspberryPi,
Esera;
@@ -127,7 +127,7 @@ public class Controller {
basePlate.addListener(basePlateListener);
roomTemperatureBasePlate = new RoomTemperatureBasePlate();
-
+
}
final DeviceListener basePlateListener = new DeviceAdapter() {
@@ -226,6 +226,17 @@ public class Controller {
refreshSamplesTable();
}
+
+ public Sample getMountedSample() throws Exception{
+ currentMountedSample = (String) Context.getInstance().evalLineBackground("get_setting('mounted_sample_position')");
+ Sample sample = basePlate.getSampleByName(currentMountedSample);
+ return sample;
+ }
+
+ public void resetMountedSample() throws Exception{
+ Context.getInstance().evalLineBackground("set_setting('mounted_sample_position', None)");
+ }
+
public void onStateChange(State state, State former) {
if (state == State.Initializing) {
@@ -233,9 +244,8 @@ public class Controller {
} else if (state == State.Ready) {
refreshSamplesTable();
try {
- currentMountedSample = (String) Context.getInstance().evalLineBackground("get_setting('mounted_sample_position')");
- Sample sample = basePlate.getSampleByName(currentMountedSample);
- if ((sample == null) && (roomTemperatureBasePlate!=null)){
+ Sample sample = getMountedSample();
+ if ((sample == null) && (roomTemperatureBasePlate != null)) {
sample = roomTemperatureBasePlate.getSampleByName(currentMountedSample);
roomTemperatureBasePlate.resetLoadedSample();
}
@@ -263,7 +273,7 @@ public class Controller {
refreshSamplesTable();
} catch (Exception ex) {
Logger.getLogger(Controller.class.getName()).log(Level.WARNING, null, ex);
- }
+ }
}
final DeviceListener hexiposiListener = new DeviceAdapter() {
@@ -397,7 +407,7 @@ public class Controller {
return null;
}
}
-
+
public boolean isSelectedPuck(Puck puck) {
return ("" + puck.getSegment()).equalsIgnoreCase(getHexiposiPosition());
}
@@ -419,7 +429,7 @@ public class Controller {
return null;
}
}
-
+
public Boolean isRoomTemp() {
try {
return getMainFrame().eval("is_room_temp()", true).equals(true);
@@ -474,25 +484,24 @@ public class Controller {
} catch (Exception ex) {
return null;
}
- }
-
+ }
+
public Boolean isBeamlineStatusEnabled() {
try {
return getMainFrame().eval("is_beamline_status_enabled()", true).equals(true);
} catch (Exception ex) {
return null;
}
- }
-
+ }
+
public Boolean isImagingEnabled() {
try {
return getMainFrame().eval("is_imaging_enabled()", true).equals(true);
} catch (Exception ex) {
return null;
}
- }
+ }
-
public void imageDetectPucks() throws Context.ContextStateException {
imageDetectPucks(null, null, null);
}
@@ -670,24 +679,24 @@ public class Controller {
Device reader = getPuckBarcodeReader();
if (reader != null) {
final String name = reader.getName();
- BiFunction errorHandler =(BiFunction) (ret, ex) -> {
+ BiFunction errorHandler = (BiFunction) (ret, ex) -> {
if (ex != null) {
- if (puckReaderOk){
- Logger.getLogger(Controller.class.getName()).warning("Communication failure: " + name);
+ if (puckReaderOk) {
+ Logger.getLogger(Controller.class.getName()).warning("Communication failure: " + name);
}
- puckLoading = null;
+ puckLoading = null;
puckReaderOk = false;
} else {
- if (!puckReaderOk){
- Logger.getLogger(Controller.class.getName()).warning("Communication resumed: " + name);
+ if (!puckReaderOk) {
+ Logger.getLogger(Controller.class.getName()).warning("Communication resumed: " + name);
}
puckReaderOk = true;
}
return ret;
- };
+ };
try {
if (puckLoading) {
- getMainFrame().evalAsync(name + ".enable(); " + name + ".polling = 100" , true).handle(errorHandler);
+ getMainFrame().evalAsync(name + ".enable(); " + name + ".polling = 100", true).handle(errorHandler);
currentDetection = basePlate.getDetection();
} else if (getState().isInitialized()) {
getMainFrame().evalAsync(name + ".polling = 0; " + name + ".disable()", true).handle(errorHandler);
@@ -708,14 +717,14 @@ public class Controller {
return puckLoading;
}
- void playSound(String name){
- try{
+ void playSound(String name) {
+ try {
Audio.playFile(new File(Context.getInstance().getSetup().expandPath("{home}/sounds/" + name + ".wav")), false);
- } catch (Exception ex){
+ } catch (Exception ex) {
Logger.getLogger(Controller.class.getName()).log(Level.FINE, null, ex);
}
}
-
+
public void onPuckBarcode(String datamatrix) {
if (isPuckLoading()) {
playSound("scanned");
@@ -738,7 +747,7 @@ public class Controller {
if (isSelectedPuck(puck)) {
boolean detectedPuckInserted = (currentDetection[i] != Puck.Detection.Present) && (detection[i] == Puck.Detection.Present);
boolean detectedPuckRemoved = (currentDetection[i] != Puck.Detection.Empty) && (detection[i] == Puck.Detection.Empty);
- if (detectedPuckInserted) {
+ if (detectedPuckInserted) {
onPuckInserted(puck);
} else if (detectedPuckRemoved) {
@@ -751,18 +760,18 @@ public class Controller {
currentDetection = detection;
}
}
-
- public void onPuckInserted(Puck puck){
+
+ public void onPuckInserted(Puck puck) {
playSound("mounted");
String datamatrix = getMainFrame().getPuckDatamatrix();
onPuckScanned(null);
- onPuckMounted(puck, datamatrix);
+ onPuckMounted(puck, datamatrix);
}
-
- public void onPuckRemoved(Puck puck){
+
+ public void onPuckRemoved(Puck puck) {
playSound("unmounted");
- onPuckUnmounted(puck);
- }
+ onPuckUnmounted(puck);
+ }
void linkPuckDatamatrix(Puck puck, String datamatrix, boolean showMessage) {
// if ( ((puck.getId()==null) && (datamatrix!=null)) ||
@@ -866,70 +875,81 @@ public class Controller {
}
}
-
-
- void showDialogPuckLoading (){
- if ((dialogPuckLoading!=null) && (dialogPuckLoading.isVisible())){
+
+ void showDialogPuckLoading() {
+ if ((dialogPuckLoading != null) && (dialogPuckLoading.isVisible())) {
return;
}
dialogPuckLoading = new PuckLoadingDialog(mainFrame.getTopLevel(), false);
- dialogPuckLoading.setLocationRelativeTo(mainFrame);
+ dialogPuckLoading.setLocationRelativeTo(mainFrame);
dialogPuckLoading.setVisible(true);
}
-
- void hideDialogPuckLoading (){
- if (dialogPuckLoading!=null){
+
+ void hideDialogPuckLoading() {
+ if (dialogPuckLoading != null) {
dialogPuckLoading.setVisible(false);
dialogPuckLoading.dispose();
dialogPuckLoading = null;
}
}
-
+
void onPuckLoadingModeChange(boolean puckLoadMode) {
- if (puckMountMode == PuckMountMode.Dialog){
- if (puckLoadMode){
+ if (puckMountMode == PuckMountMode.Dialog) {
+ if (puckLoadMode) {
showDialogPuckLoading();
} else {
- hideDialogPuckLoading ();
+ hideDialogPuckLoading();
}
}
}
-
- void onPuckScanned(String datamatrix){
+
+ void onPuckScanned(String datamatrix) {
if (isPuckLoading()) {
getMainFrame().setPuckDatamatrix(datamatrix);
- if (puckMountMode == PuckMountMode.Dialog){
+ if (puckMountMode == PuckMountMode.Dialog) {
showDialogPuckLoading();
dialogPuckLoading.onPuckScanned(datamatrix);
}
- } else{
+ } else {
getMainFrame().setPuckDatamatrix(null);
}
}
-
- void onPuckMounted(Puck puck, String datamatrix){
+
+ void onPuckMounted(Puck puck, String datamatrix) {
if (isPuckLoading()) {
- if (puckMountMode == PuckMountMode.Dialog){
+ if (puckMountMode == PuckMountMode.Dialog) {
showDialogPuckLoading();
dialogPuckLoading.onPuckMounted(puck, datamatrix);
- } else {
+ } else {
if (!datamatrix.isEmpty()) {
linkPuckDatamatrix(puck, datamatrix, true);
} else {
askPuckDatamatrix(puck);
- }
+ }
}
}
}
-
- void onPuckUnmounted(Puck puck){
+
+ void onPuckUnmounted(Puck puck) {
if (isPuckLoading()) {
- if (puckMountMode == PuckMountMode.Dialog){
+ try{
+ Sample sample = getMountedSample();
+ if ((sample!=null) && (sample.getPuck() == puck)){
+ resetMountedSample();
+ sample.setLoaded(false);
+ SwingUtilities.invokeLater(()->{;
+ getMainFrame().refresh();
+ });
+ }
+ } catch (Exception ex) {
+ Logger.getLogger(Controller.class.getName()).log(Level.WARNING, null, ex);
+ }
+ if (puckMountMode == PuckMountMode.Dialog) {
showDialogPuckLoading();
dialogPuckLoading.onPuckUnmounted(puck);
} else {
- linkPuckDatamatrix(puck, null, true);
+ linkPuckDatamatrix(puck, null, true);
}
}
- }
+ }
}
diff --git a/src/main/java/ch/psi/mxsc/MainPanel.form b/src/main/java/ch/psi/mxsc/MainPanel.form
index 9f0ec75..f6841ce 100644
--- a/src/main/java/ch/psi/mxsc/MainPanel.form
+++ b/src/main/java/ch/psi/mxsc/MainPanel.form
@@ -31,7 +31,7 @@
-
+
@@ -896,7 +896,7 @@
-
+
@@ -1170,7 +1170,7 @@
-
+
@@ -1179,14 +1179,14 @@
-
+
-
+
@@ -1221,7 +1221,7 @@
-
+
@@ -1230,14 +1230,14 @@
-
+
-
+
diff --git a/src/main/java/ch/psi/mxsc/MainPanel.java b/src/main/java/ch/psi/mxsc/MainPanel.java
index 7878aa3..2365344 100644
--- a/src/main/java/ch/psi/mxsc/MainPanel.java
+++ b/src/main/java/ch/psi/mxsc/MainPanel.java
@@ -65,6 +65,8 @@ public class MainPanel extends Panel {
basePlatePanel.setMode(BasePlatePanel.Mode.single);
setExpertMode(false);
setDefaultDetail();
+ panelTablePucks.getVerticalScrollBar().setPreferredSize(new Dimension(20, 0));
+ panelTableSamples.getVerticalScrollBar().setPreferredSize(new Dimension(20, 0));
int row = 0;
for (String segment : new String[]{"A", "B", "C", "D", "E", "F"}) {
@@ -728,10 +730,10 @@ public class MainPanel extends Panel {
buttonConfig = new javax.swing.JButton();
panelBottom = new javax.swing.JPanel();
jPanel1 = new javax.swing.JPanel();
- jScrollPane1 = new javax.swing.JScrollPane();
+ panelTableSamples = new javax.swing.JScrollPane();
tableSamples = new javax.swing.JTable();
jPanel4 = new javax.swing.JPanel();
- jScrollPane3 = new javax.swing.JScrollPane();
+ panelTablePucks = new javax.swing.JScrollPane();
tablePucks = new javax.swing.JTable();
setPreferredSize(new java.awt.Dimension(1030, 530));
@@ -1449,7 +1451,7 @@ public class MainPanel extends Panel {
}
));
tableSamples.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- jScrollPane1.setViewportView(tableSamples);
+ panelTableSamples.setViewportView(tableSamples);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
@@ -1457,14 +1459,14 @@ public class MainPanel extends Panel {
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(0, 0, 0)
- .addComponent(jScrollPane1)
+ .addComponent(panelTableSamples)
.addGap(0, 0, 0))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(0, 0, 0)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE)
+ .addComponent(panelTableSamples, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE)
.addGap(0, 0, 0))
);
@@ -1523,7 +1525,7 @@ public class MainPanel extends Panel {
}
});
tablePucks.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- jScrollPane3.setViewportView(tablePucks);
+ panelTablePucks.setViewportView(tablePucks);
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
@@ -1531,14 +1533,14 @@ public class MainPanel extends Panel {
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGap(0, 0, 0)
- .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE)
+ .addComponent(panelTablePucks, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE)
.addGap(0, 0, 0))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGap(0, 0, 0)
- .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
+ .addComponent(panelTablePucks, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addGap(0, 0, 0))
);
@@ -1775,8 +1777,6 @@ public class MainPanel extends Panel {
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JLabel labelManualMode;
private javax.swing.JLabel labelRoomTemperature;
private ch.psi.pshell.swing.Led led5;
@@ -1809,6 +1809,8 @@ public class MainPanel extends Panel {
private javax.swing.JPanel panelRight;
private javax.swing.JPanel panelStatus;
private javax.swing.JPanel panelSystemStatus;
+ private javax.swing.JScrollPane panelTablePucks;
+ private javax.swing.JScrollPane panelTableSamples;
private javax.swing.JPanel panelTop;
private javax.swing.JPanel panelViewType;
private javax.swing.JProgressBar progressLN2;
diff --git a/src/main/java/ch/psi/mxsc/PuckLoadingDialog.form b/src/main/java/ch/psi/mxsc/PuckLoadingDialog.form
index 72e8df7..ab4ac00 100644
--- a/src/main/java/ch/psi/mxsc/PuckLoadingDialog.form
+++ b/src/main/java/ch/psi/mxsc/PuckLoadingDialog.form
@@ -32,11 +32,13 @@
-
+
+
+
@@ -55,9 +57,12 @@
-
-
-
+
+
+
+
+
+
@@ -65,7 +70,7 @@
-
+
@@ -81,14 +86,14 @@
-
+
-
+
@@ -96,7 +101,7 @@
-
+
@@ -106,11 +111,11 @@
-
+
@@ -179,7 +184,7 @@
-
+
@@ -187,5 +192,16 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/ch/psi/mxsc/PuckLoadingDialog.java b/src/main/java/ch/psi/mxsc/PuckLoadingDialog.java
index 98e626f..61b18cd 100644
--- a/src/main/java/ch/psi/mxsc/PuckLoadingDialog.java
+++ b/src/main/java/ch/psi/mxsc/PuckLoadingDialog.java
@@ -4,6 +4,7 @@ import ch.psi.pshell.core.Context;
import ch.psi.pshell.swing.DataPanel;
import ch.psi.utils.swing.MainFrame;
import ch.psi.utils.swing.SwingUtils;
+import java.awt.Dimension;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
@@ -26,7 +27,7 @@ public class PuckLoadingDialog extends JDialog {
* Creates new form PuckLoadingDialog
*/
public PuckLoadingDialog(java.awt.Frame parent, boolean modal) {
- super(parent, "Puck Loading", modal);
+ super(parent, "Puck Loading", modal);
initComponents();
this.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
this.setName("PuckLoadingDialog");
@@ -34,7 +35,8 @@ public class PuckLoadingDialog extends JDialog {
setStatusLabel(null,-1);
setSugestionLabel(null,-1);
model = (DefaultTableModel) table.getModel();
- table.getTableHeader().setFont(table.getTableHeader().getFont().deriveFont(20.0f));
+ table.getTableHeader().setFont(table.getTableHeader().getFont().deriveFont(22.0f));
+ panelTable.getVerticalScrollBar().setPreferredSize(new Dimension(30, 0));
}
@Override
@@ -214,31 +216,32 @@ public class PuckLoadingDialog extends JDialog {
jLabel1 = new javax.swing.JLabel();
textScannedDatamatrix = new javax.swing.JTextField();
- jScrollPane1 = new javax.swing.JScrollPane();
+ panelTable = new javax.swing.JScrollPane();
table = new javax.swing.JTable();
buttonSet = new javax.swing.JButton();
labelSuggestion = new javax.swing.JLabel();
labelStatus = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
textDetectedPuck = new javax.swing.JTextField();
+ buttonClearDatamatrix = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jLabel1.setFont(new java.awt.Font("Lucida Grande", 0, 18)); // NOI18N
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel1.setText("Scanned Dartamatrix:");
+ jLabel1.setText("Scanned Datamatrix:");
textScannedDatamatrix.setEditable(false);
- textScannedDatamatrix.setFont(new java.awt.Font("Lucida Grande", 0, 24)); // NOI18N
+ textScannedDatamatrix.setFont(new java.awt.Font("Lucida Grande", 0, 30)); // NOI18N
textScannedDatamatrix.setHorizontalAlignment(javax.swing.JTextField.CENTER);
- table.setFont(new java.awt.Font("Lucida Grande", 0, 28)); // NOI18N
+ table.setFont(new java.awt.Font("Lucida Grande", 0, 30)); // NOI18N
table.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
- "Datamatrix", "Puck Position"
+ "Datamatrix / Puck Id", "Puck Position"
}
) {
Class[] types = new Class [] {
@@ -260,7 +263,7 @@ public class PuckLoadingDialog extends JDialog {
table.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
table.getTableHeader().setResizingAllowed(false);
table.getTableHeader().setReorderingAllowed(false);
- jScrollPane1.setViewportView(table);
+ panelTable.setViewportView(table);
buttonSet.setFont(new java.awt.Font("Lucida Grande", 0, 24)); // NOI18N
buttonSet.setText("Set");
@@ -285,9 +288,17 @@ public class PuckLoadingDialog extends JDialog {
jLabel2.setText("Detected Puck:");
textDetectedPuck.setEditable(false);
- textDetectedPuck.setFont(new java.awt.Font("Lucida Grande", 0, 24)); // NOI18N
+ textDetectedPuck.setFont(new java.awt.Font("Lucida Grande", 0, 30)); // NOI18N
textDetectedPuck.setHorizontalAlignment(javax.swing.JTextField.CENTER);
+ buttonClearDatamatrix.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
+ buttonClearDatamatrix.setText("Clear");
+ buttonClearDatamatrix.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ buttonClearDatamatrixActionPerformed(evt);
+ }
+ });
+
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
@@ -300,11 +311,13 @@ public class PuckLoadingDialog extends JDialog {
.addComponent(buttonSet, javax.swing.GroupLayout.PREFERRED_SIZE, 201, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(labelSuggestion, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 484, Short.MAX_VALUE)
+ .addComponent(panelTable, javax.swing.GroupLayout.DEFAULT_SIZE, 484, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(textScannedDatamatrix))
+ .addComponent(textScannedDatamatrix)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(buttonClearDatamatrix))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
@@ -321,21 +334,25 @@ public class PuckLoadingDialog extends JDialog {
.addContainerGap()
.addComponent(labelSuggestion)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel1)
- .addComponent(textScannedDatamatrix, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabel1)
+ .addComponent(textScannedDatamatrix, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addComponent(buttonClearDatamatrix))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(textDetectedPuck, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 249, Short.MAX_VALUE)
+ .addComponent(panelTable, javax.swing.GroupLayout.DEFAULT_SIZE, 235, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(buttonSet)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(labelStatus))
);
+ layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {buttonClearDatamatrix, textScannedDatamatrix});
+
pack();
}// //GEN-END:initComponents
@@ -351,6 +368,14 @@ public class PuckLoadingDialog extends JDialog {
}
}//GEN-LAST:event_buttonSetActionPerformed
+ private void buttonClearDatamatrixActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonClearDatamatrixActionPerformed
+ try {
+ Controller.getInstance().onPuckScanned(null);
+ } catch (Exception ex) {
+ SwingUtils.showException(this, ex);
+ }
+ }//GEN-LAST:event_buttonClearDatamatrixActionPerformed
+
/**
* @param args the command line arguments
*/
@@ -394,12 +419,13 @@ public class PuckLoadingDialog extends JDialog {
}
// Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JButton buttonClearDatamatrix;
javax.swing.JButton buttonSet;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
- private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel labelStatus;
private javax.swing.JLabel labelSuggestion;
+ private javax.swing.JScrollPane panelTable;
javax.swing.JTable table;
javax.swing.JTextField textDetectedPuck;
javax.swing.JTextField textScannedDatamatrix;