Display of cover position cache

This commit is contained in:
gac-S_Changer
2024-11-28 09:48:07 +01:00
parent 91871fe741
commit a838cb3e74
3 changed files with 231 additions and 187 deletions

View File

@@ -4,6 +4,7 @@
package ch.psi.mxsc;
import ch.psi.mxsc.BasePlatePanel.SelectionMode;
import ch.psi.pshell.core.Context;
import ch.psi.pshell.core.Plugin;
import ch.psi.pshell.device.Device;
import ch.psi.pshell.device.DeviceAdapter;
@@ -39,11 +40,14 @@ import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.script.ScriptException;
import javax.swing.GroupLayout;
import javax.swing.ImageIcon;
import javax.swing.JComponent;
@@ -721,12 +725,13 @@ public class MainPanel extends Panel {
boolean current = buttonExpertCommands.isVisible();
buttonExpertCommands.setVisible(expert);
buttonRecovery.setVisible(expert);
buttonConfig.setVisible(expert);
buttonDetectionCalibrate.setVisible(expert);
buttonDetectionExposure.setVisible(expert);
checkService.setVisible(expert);
buttonCalibrateCover.setVisible(expert);
devicesPanel.setActive(expert);
//panelViewType.setVisible(expert);
panelDetection.setVisible(expert && !isRt());
buttonConfig.setVisible(expert);
Puck.setDisplayDetectionError(expert);
if (checkExpert.isSelected() != expert) {
@@ -983,7 +988,7 @@ public class MainPanel extends Panel {
}
}
DeviceListener cover_detection_listener = new DeviceAdapter() {
final DeviceListener cover_detection_listener = new DeviceAdapter() {
@Override
public void onCacheChanged(Device device, Object value, Object former, long timestamp, boolean valueChange) {
Point mm = null;
@@ -996,16 +1001,39 @@ public class MainPanel extends Panel {
Point fmm = mm;
Point fdet = det;
SwingUtilities.invokeLater(()->{
if ((value!=null) && (value instanceof String) && ((String)value).toLowerCase().startsWith("no cover")){
textCoverDet.setText("No Cover");
} else {
textCoverDet.setText((fmm==null) ? "" :fmm.x + ", " + fmm.y);
}
String text;
try {
List cache = (List)eval("get_cover_location_cache()", true);
text = cache.get(0) + ", " +cache.get(1);
text= "Robot";
} catch (Exception ex) {
text = "";
try{
Object use_target_cache = eval("use_target_cache", true);
if (Boolean.TRUE.equals(use_target_cache)){
text= "Target";
}
} catch (Exception e) {
}
}
textCoverCache.setText(text);
basePlatePanel.basePlateGraphics.setDetection(fdet);
});
}
};
void sampleTransfer(boolean load) throws Exception{
}
/**
* This method is called from within the constructor to initialize the form.
@@ -1031,13 +1059,13 @@ public class MainPanel extends Panel {
ledLidControlActive5 = new ch.psi.pshell.swing.Led();
jLabel23 = new javax.swing.JLabel();
panelDetection = new javax.swing.JPanel();
buttonDetectionExposure = new javax.swing.JButton();
buttonDetectionCalibrate = new javax.swing.JButton();
buttonSampleLoad = new javax.swing.JButton();
buttonSampleUnload = new javax.swing.JButton();
panelCover = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
textCoverDet = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
textCoverMove = new javax.swing.JTextField();
textCoverCache = new javax.swing.JTextField();
panelViewType = new javax.swing.JPanel();
buttonCamera = new javax.swing.JToggleButton();
buttonDrawing = new javax.swing.JToggleButton();
@@ -1088,10 +1116,11 @@ public class MainPanel extends Panel {
devicesPanel = new ch.psi.mxsc.DevicesPanel();
panelExpert = new javax.swing.JPanel();
checkExpert = new javax.swing.JCheckBox();
buttonCalibrateCover = new javax.swing.JButton();
buttonExpertCommands = new javax.swing.JButton();
buttonRecovery = new javax.swing.JButton();
buttonConfig = new javax.swing.JButton();
buttonDetectionCalibrate = new javax.swing.JButton();
buttonDetectionExposure = new javax.swing.JButton();
panelBottom = new javax.swing.JPanel();
panelSamples = new javax.swing.JPanel();
panelTableSamples = new javax.swing.JScrollPane();
@@ -1159,7 +1188,7 @@ public class MainPanel extends Panel {
.addComponent(ledLidControlActive5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel23)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(30, Short.MAX_VALUE))
);
panelLegendLayout.setVerticalGroup(
panelLegendLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -1186,19 +1215,19 @@ public class MainPanel extends Panel {
.addComponent(jLabel23)))
);
panelDetection.setBorder(javax.swing.BorderFactory.createTitledBorder("Detection"));
panelDetection.setBorder(javax.swing.BorderFactory.createTitledBorder("Sample Transfer"));
buttonDetectionExposure.setText("Detection");
buttonDetectionExposure.addActionListener(new java.awt.event.ActionListener() {
buttonSampleLoad.setText("Load");
buttonSampleLoad.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonDetectionExposureActionPerformed(evt);
buttonSampleLoadActionPerformed(evt);
}
});
buttonDetectionCalibrate.setText("Calibrate");
buttonDetectionCalibrate.addActionListener(new java.awt.event.ActionListener() {
buttonSampleUnload.setText("Unload");
buttonSampleUnload.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonDetectionCalibrateActionPerformed(evt);
buttonSampleUnloadActionPerformed(evt);
}
});
@@ -1207,30 +1236,27 @@ public class MainPanel extends Panel {
panelDetectionLayout.setHorizontalGroup(
panelDetectionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelDetectionLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(panelDetectionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(buttonDetectionCalibrate)
.addComponent(buttonDetectionExposure))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap()
.addGroup(panelDetectionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(buttonSampleLoad, javax.swing.GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE)
.addComponent(buttonSampleUnload, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
panelDetectionLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonDetectionCalibrate, buttonDetectionExposure});
panelDetectionLayout.setVerticalGroup(
panelDetectionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelDetectionLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonDetectionCalibrate)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(buttonDetectionExposure)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(panelDetectionLayout.createSequentialGroup()
.addContainerGap()
.addComponent(buttonSampleLoad)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonSampleUnload)
.addContainerGap())
);
panelCover.setBorder(javax.swing.BorderFactory.createTitledBorder("Cover"));
panelCover.setBorder(javax.swing.BorderFactory.createTitledBorder("Cover Detection"));
panelCover.setPreferredSize(new java.awt.Dimension(112, 153));
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Detection:");
jLabel1.setText("Image:");
textCoverDet.setEditable(false);
textCoverDet.setHorizontalAlignment(javax.swing.JTextField.CENTER);
@@ -1243,12 +1269,12 @@ public class MainPanel extends Panel {
});
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel2.setText("Last Move:");
jLabel2.setText("Cache");
textCoverMove.setEditable(false);
textCoverMove.setHorizontalAlignment(javax.swing.JTextField.CENTER);
textCoverMove.setDisabledTextColor(new java.awt.Color(0, 0, 0));
textCoverMove.setEnabled(false);
textCoverCache.setEditable(false);
textCoverCache.setHorizontalAlignment(javax.swing.JTextField.CENTER);
textCoverCache.setDisabledTextColor(new java.awt.Color(0, 0, 0));
textCoverCache.setEnabled(false);
javax.swing.GroupLayout panelCoverLayout = new javax.swing.GroupLayout(panelCover);
panelCover.setLayout(panelCoverLayout);
@@ -1260,7 +1286,7 @@ public class MainPanel extends Panel {
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(textCoverDet)
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(textCoverMove, javax.swing.GroupLayout.DEFAULT_SIZE, 80, Short.MAX_VALUE))
.addComponent(textCoverCache, javax.swing.GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE))
.addContainerGap())
);
panelCoverLayout.setVerticalGroup(
@@ -1269,7 +1295,7 @@ public class MainPanel extends Panel {
.addContainerGap(12, Short.MAX_VALUE)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(textCoverMove, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(textCoverCache, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, 18, Short.MAX_VALUE)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
@@ -1288,7 +1314,6 @@ public class MainPanel extends Panel {
});
buttonGroup1.add(buttonDrawing);
buttonDrawing.setSelected(true);
buttonDrawing.setText("Design");
buttonDrawing.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -1301,15 +1326,12 @@ public class MainPanel extends Panel {
panelViewTypeLayout.setHorizontalGroup(
panelViewTypeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelViewTypeLayout.createSequentialGroup()
.addContainerGap(18, Short.MAX_VALUE)
.addGroup(panelViewTypeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(buttonDrawing)
.addComponent(buttonCamera))
.addContainerGap(18, Short.MAX_VALUE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(panelViewTypeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(buttonCamera, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonDrawing, javax.swing.GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panelViewTypeLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonCamera, buttonDrawing});
panelViewTypeLayout.setVerticalGroup(
panelViewTypeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelViewTypeLayout.createSequentialGroup()
@@ -1329,12 +1351,15 @@ public class MainPanel extends Panel {
.addGroup(basePlatePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(panelLegend, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(panelDetection, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 251, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 242, Short.MAX_VALUE)
.addGroup(basePlatePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(panelCover, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(panelViewType, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
basePlatePanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {panelCover, panelDetection, panelLegend, panelViewType});
basePlatePanelLayout.setVerticalGroup(
basePlatePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, basePlatePanelLayout.createSequentialGroup()
@@ -1421,7 +1446,7 @@ public class MainPanel extends Panel {
panelBeamlineStatusLayout.setVerticalGroup(
panelBeamlineStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelBeamlineStatusLayout.createSequentialGroup()
.addGap(0, 1, Short.MAX_VALUE)
.addGap(0, 0, Short.MAX_VALUE)
.addGroup(panelBeamlineStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(led5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8))
@@ -1429,7 +1454,7 @@ public class MainPanel extends Panel {
.addGroup(panelBeamlineStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(led6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9))
.addContainerGap(7, Short.MAX_VALUE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panelSystemStatus.setBorder(javax.swing.BorderFactory.createTitledBorder("System Status"));
@@ -1490,18 +1515,17 @@ public class MainPanel extends Panel {
.addComponent(jLabel29)
.addGap(18, 18, Short.MAX_VALUE)
.addComponent(panelHeaterTemp, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(panelSystemStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel24)
.addComponent(jLabel25)
.addComponent(jLabel26)
.addComponent(jLabell21)
.addComponent(labelRoomTemperature)
.addComponent(labelManualMode)
.addComponent(jLabel27)
.addGroup(panelSystemStatusLayout.createSequentialGroup()
.addComponent(labelManualMode1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(checkService))))
.addComponent(jLabel24)
.addComponent(jLabel25)
.addComponent(jLabel26)
.addComponent(jLabell21)
.addComponent(labelRoomTemperature)
.addComponent(labelManualMode)
.addComponent(jLabel27)
.addGroup(panelSystemStatusLayout.createSequentialGroup()
.addComponent(labelManualMode1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(checkService)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(panelSystemStatusLayout.createSequentialGroup()
.addComponent(filler1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
@@ -1512,7 +1536,7 @@ public class MainPanel extends Panel {
panelSystemStatusLayout.setVerticalGroup(
panelSystemStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelSystemStatusLayout.createSequentialGroup()
.addGap(0, 6, Short.MAX_VALUE)
.addGap(0, 0, Short.MAX_VALUE)
.addGroup(panelSystemStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(ledManualMode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(labelManualMode))
@@ -1553,12 +1577,12 @@ public class MainPanel extends Panel {
.addGroup(panelSystemStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(ledPsysSafety, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabell21))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 12, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(panelSystemStatusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelSystemStatusLayout.createSequentialGroup()
.addComponent(buttonRelease)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(filler1, javax.swing.GroupLayout.DEFAULT_SIZE, 36, Short.MAX_VALUE))
.addComponent(filler1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(4, 4, 4))
);
@@ -1601,7 +1625,7 @@ public class MainPanel extends Panel {
panelDatamatrixLayout.setVerticalGroup(
panelDatamatrixLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelDatamatrixLayout.createSequentialGroup()
.addGap(0, 2, Short.MAX_VALUE)
.addGap(0, 0, Short.MAX_VALUE)
.addGroup(panelDatamatrixLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel11)
.addComponent(textPuckDatamatrix, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
@@ -1609,7 +1633,7 @@ public class MainPanel extends Panel {
.addGroup(panelDatamatrixLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel13)
.addComponent(textSampleDatamatrix, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 2, Short.MAX_VALUE))
.addGap(0, 0, Short.MAX_VALUE))
);
javax.swing.GroupLayout panelStatusLayout = new javax.swing.GroupLayout(panelStatus);
@@ -1699,13 +1723,6 @@ public class MainPanel extends Panel {
}
});
buttonCalibrateCover.setText("Exposure");
buttonCalibrateCover.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonCalibrateCoverActionPerformed(evt);
}
});
buttonExpertCommands.setText("Commands");
buttonExpertCommands.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -1727,37 +1744,50 @@ public class MainPanel extends Panel {
}
});
buttonDetectionCalibrate.setText("Calibrate");
buttonDetectionCalibrate.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonDetectionCalibrateActionPerformed(evt);
}
});
buttonDetectionExposure.setText("Detection");
buttonDetectionExposure.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonDetectionExposureActionPerformed(evt);
}
});
javax.swing.GroupLayout panelExpertLayout = new javax.swing.GroupLayout(panelExpert);
panelExpert.setLayout(panelExpertLayout);
panelExpertLayout.setHorizontalGroup(
panelExpertLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelExpertLayout.createSequentialGroup()
.addComponent(checkExpert, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addGroup(panelExpertLayout.createSequentialGroup()
.addGroup(panelExpertLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(buttonExpertCommands, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonRecovery, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonCalibrateCover, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonConfig, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(checkExpert, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(buttonExpertCommands, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(panelExpertLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(buttonRecovery, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonConfig, javax.swing.GroupLayout.DEFAULT_SIZE, 85, Short.MAX_VALUE)
.addComponent(buttonDetectionCalibrate, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonDetectionExposure, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE))
);
panelExpertLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonCalibrateCover, buttonConfig, buttonExpertCommands, buttonRecovery});
panelExpertLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonConfig, buttonExpertCommands, buttonRecovery});
panelExpertLayout.setVerticalGroup(
panelExpertLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelExpertLayout.createSequentialGroup()
.addGap(0, 0, 0)
.addComponent(checkExpert)
.addGap(18, 18, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonExpertCommands)
.addGap(18, 18, 18)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(buttonRecovery)
.addGap(18, 18, 18)
.addComponent(buttonCalibrateCover)
.addGap(18, 18, 18)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(buttonConfig)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(buttonDetectionCalibrate)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(buttonDetectionExposure)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
@@ -1768,17 +1798,17 @@ public class MainPanel extends Panel {
.addGroup(panelDevicesLayout.createSequentialGroup()
.addGap(0, 0, 0)
.addComponent(devicesPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 25, Short.MAX_VALUE)
.addComponent(panelExpert, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)
.addComponent(panelExpert, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(26, Short.MAX_VALUE))
);
panelDevicesLayout.setVerticalGroup(
panelDevicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelDevicesLayout.createSequentialGroup()
.addContainerGap(8, Short.MAX_VALUE)
.addContainerGap(10, Short.MAX_VALUE)
.addGroup(panelDevicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(panelExpert, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(devicesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 240, Short.MAX_VALUE))
.addComponent(devicesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 238, Short.MAX_VALUE))
.addContainerGap(9, Short.MAX_VALUE))
);
@@ -2050,11 +2080,6 @@ public class MainPanel extends Panel {
}
}//GEN-LAST:event_buttonRecoveryActionPerformed
private void buttonCalibrateCoverActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonCalibrateCoverActionPerformed
onExpertCommand(null);
execute("setup/CoverDetectionExposureScan.py", null, false, true);
}//GEN-LAST:event_buttonCalibrateCoverActionPerformed
private void buttonConfigActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonConfigActionPerformed
onExpertCommand(null);
@@ -2100,12 +2125,27 @@ public class MainPanel extends Panel {
}
}//GEN-LAST:event_checkServiceActionPerformed
private void buttonSampleUnloadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSampleUnloadActionPerformed
try {
sampleTransfer(true);
} catch (Exception ex) {
showException(ex);
}
}//GEN-LAST:event_buttonSampleUnloadActionPerformed
private void buttonSampleLoadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSampleLoadActionPerformed
try {
sampleTransfer(false);
} catch (Exception ex) {
showException(ex);
}
}//GEN-LAST:event_buttonSampleLoadActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
ch.psi.mxsc.BasePlatePanel basePlatePanel;
private javax.swing.JToggleButton btViewDewar;
private javax.swing.JToggleButton btViewRT;
private javax.swing.JButton buttonCalibrateCover;
private javax.swing.JToggleButton buttonCamera;
private javax.swing.JButton buttonConfig;
private javax.swing.JButton buttonDetectionCalibrate;
@@ -2115,6 +2155,8 @@ public class MainPanel extends Panel {
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton buttonRecovery;
private javax.swing.JButton buttonRelease;
private javax.swing.JButton buttonSampleLoad;
private javax.swing.JButton buttonSampleUnload;
private javax.swing.JCheckBox checkExpert;
private javax.swing.JCheckBox checkService;
private ch.psi.mxsc.DevicesPanel devicesPanel;
@@ -2181,8 +2223,8 @@ public class MainPanel extends Panel {
private javax.swing.JProgressBar progressLN2;
private javax.swing.JTable tablePucks;
private javax.swing.JTable tableSamples;
private javax.swing.JTextField textCoverCache;
private javax.swing.JTextField textCoverDet;
private javax.swing.JTextField textCoverMove;
private javax.swing.JTextField textPuckDatamatrix;
private javax.swing.JTextField textSampleDatamatrix;
// End of variables declaration//GEN-END:variables