Laser indicating loaded pucks

This commit is contained in:
gac-S_Changer
2024-12-05 15:20:03 +01:00
parent 2062b4ba1d
commit 31d3ceee2b
4 changed files with 28 additions and 9 deletions

View File

@@ -834,7 +834,7 @@ public class Controller {
playSound("unmounted");
logPuckDetectionChange(puck, false);
onPuckUnmounted(puck);
}
}
void linkPuckDatamatrix(Puck puck, String datamatrix, boolean showMessage) {
// if ( ((puck.getId()==null) && (datamatrix!=null)) ||
@@ -884,6 +884,15 @@ public class Controller {
return null;
}
}
String getPuckFromDatamatrix(String dm){
try {
return (String) Context.getInstance().evalLineBackground("get_puck_from_datamatrix('" + dm + "')");
} catch (Exception ex) {
return null;
}
}
void askPuckDatamatrix(Puck puck) {
if ((dialogAskPuckDatamatrix != null) && (dialogAskPuckDatamatrix.isShowing())) {

View File

@@ -302,6 +302,7 @@
<Component class="javax.swing.JButton" name="buttonSampleLoad">
<Properties>
<Property name="text" type="java.lang.String" value="Load"/>
<Property name="enabled" type="boolean" value="false"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="buttonSampleLoadActionPerformed"/>

View File

@@ -277,7 +277,7 @@ public class MainPanel extends Panel {
}
});
samplePopupMenu.add(menuMountSample);
samplePopupMenu.add(menuUnmoountSample);
samplePopupMenu.add(menuUnmoountSample);
}
JMenuItem menuEditSamples;
@@ -454,6 +454,7 @@ public class MainPanel extends Panel {
@Override
public void onStateChange(State state, State former) {
Controller.getInstance().onStateChange(state, former);
updateButtonState();
}
public void setViewCamera(){
@@ -602,10 +603,12 @@ public class MainPanel extends Panel {
}
}
void updateButtonSampleLoadState(){
void updateButtonState(){
boolean doors_open = !Controller.getInstance().isDoorClosed();
boolean cover_pos_detected = isCoverPosDetected();
buttonSampleLoad.setEnabled(doors_open && !cover_pos_detected);
buttonSampleLoad.setEnabled(doors_open && !cover_pos_detected && getState().isInitialized());
buttonCamera.setEnabled(getState().isInitialized());
buttonDrawing.setEnabled(getState().isInitialized());
}
void updatePsysSafety(Object value) {
if ((value == null) || !(value instanceof Boolean)) {
@@ -624,7 +627,7 @@ public class MainPanel extends Panel {
getLogger().log(Level.WARNING, null, ex);
}
}
updateButtonSampleLoadState();
updateButtonState();
}
void updateMode(Object value) {
@@ -1057,7 +1060,7 @@ public class MainPanel extends Panel {
}
}
}
updateButtonSampleLoadState();
updateButtonState();
String text;
try {
List cache = (List)eval("get_cover_location_cache()", true);
@@ -1263,6 +1266,7 @@ public class MainPanel extends Panel {
panelDetection.setBorder(javax.swing.BorderFactory.createTitledBorder("Sample Transfer"));
buttonSampleLoad.setText("Load");
buttonSampleLoad.setEnabled(false);
buttonSampleLoad.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonSampleLoadActionPerformed(evt);

View File

@@ -92,9 +92,14 @@ public class PuckLoadingDialog extends JDialog {
textScannedDatamatrix.setText((datamatrix == null) ? "" : datamatrix.trim());
if ((datamatrix != null) && (!datamatrix.isEmpty())){
setStatusLabel("Scanned puck " + datamatrix, 5000);
makeVisible(datamatrix);
Puck puck = Controller.getInstance().getFreePuck();
Controller.getInstance().setLaserPos(puck.getName());
makeVisible(datamatrix);
String loadedPuck = Controller.getInstance().getPuckFromDatamatrix(datamatrix);
if ((loadedPuck!=null) && !loadedPuck.isBlank()){
Controller.getInstance().setLaserPos(loadedPuck);
} else {
Puck puck = Controller.getInstance().getFreePuck();
Controller.getInstance().setLaserPos(puck.getName());
}
} else {
setStatusLabel(null, -1);
Controller.getInstance().setLaserPos((Puck)null);