From 227410da0440db974501e314329d874af6442df7 Mon Sep 17 00:00:00 2001 From: gac-S_Changer Date: Thu, 26 Mar 2026 09:48:50 +0100 Subject: [PATCH] Puck detection dialog is maximized --- src/main/java/ch/psi/mxsc/MainPanel.form | 36 ++++++------- src/main/java/ch/psi/mxsc/MainPanel.java | 2 +- .../java/ch/psi/mxsc/PuckLoadingDialog.java | 53 +++++++++++++------ 3 files changed, 56 insertions(+), 35 deletions(-) diff --git a/src/main/java/ch/psi/mxsc/MainPanel.form b/src/main/java/ch/psi/mxsc/MainPanel.form index 049f608..97ff37c 100644 --- a/src/main/java/ch/psi/mxsc/MainPanel.form +++ b/src/main/java/ch/psi/mxsc/MainPanel.form @@ -35,7 +35,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -116,7 +116,7 @@ - + @@ -283,7 +283,7 @@ - + @@ -331,7 +331,7 @@ - + @@ -340,15 +340,15 @@ - + - + - + @@ -404,12 +404,12 @@ - + - + @@ -500,7 +500,7 @@ - + @@ -949,7 +949,7 @@ - + @@ -1057,21 +1057,21 @@ - + - + - + - + @@ -1102,7 +1102,7 @@ - + @@ -1112,7 +1112,7 @@ - + diff --git a/src/main/java/ch/psi/mxsc/MainPanel.java b/src/main/java/ch/psi/mxsc/MainPanel.java index 9514557..35b5c39 100644 --- a/src/main/java/ch/psi/mxsc/MainPanel.java +++ b/src/main/java/ch/psi/mxsc/MainPanel.java @@ -490,7 +490,7 @@ public class MainPanel extends Panel { } try { - ledServiceMode.setColor(Controller.getInstance().isServiceMode() ? Color.YELLOW : Color.GREEN); + ledServiceMode.setColor(Controller.getInstance().isServiceMode() ? Color.RED : Color.GREEN); } catch (Exception ex) { ledServiceMode.setColor(Color.BLACK); } diff --git a/src/main/java/ch/psi/mxsc/PuckLoadingDialog.java b/src/main/java/ch/psi/mxsc/PuckLoadingDialog.java index 18960d7..02b5d67 100644 --- a/src/main/java/ch/psi/mxsc/PuckLoadingDialog.java +++ b/src/main/java/ch/psi/mxsc/PuckLoadingDialog.java @@ -6,6 +6,7 @@ import ch.psi.pshell.framework.Setup; import ch.psi.pshell.swing.SwingUtils; import java.awt.Dimension; import java.awt.Rectangle; +import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.nio.file.Path; import java.nio.file.Paths; @@ -27,6 +28,7 @@ public class PuckLoadingDialog extends JDialog { final boolean persist; final boolean showBasePlate; + final boolean SET_AUTO_ASSIGN = true; final int INDEX_USER = 0; final int INDEX_DEWAR = 1; @@ -140,11 +142,11 @@ public class PuckLoadingDialog extends JDialog { Controller.getInstance().setLaserPos(loadedPuck); } else { Puck puck = Controller.getInstance().getFreePuck(); - Controller.getInstance().setLaserPos(puck.getName()); + pointPuck(puck); } } else { setStatusLabel(null, -1); - Controller.getInstance().setLaserPos((Puck)null); + pointPuck(null); } setSugestionLabel(null, -1); buttonSet.setEnabled(false); @@ -153,9 +155,8 @@ public class PuckLoadingDialog extends JDialog { } Puck detectedPuck; - String detectedDatamatrix; void onPuckMounted(Puck puck, String datamatrix){ - Controller.getInstance().setLaserPos((Puck)null); + pointPuck(null); if ((datamatrix != null) && (!datamatrix.isEmpty())) { setStatusLabel("Mounted puck " + datamatrix + " at " + puck.getName(), 5000); setSugestionLabel(null, -1); @@ -163,17 +164,25 @@ public class PuckLoadingDialog extends JDialog { textDetectedPuck.setText(""); detectedPuck = null; } else { - setStatusLabel("Detected puck at " + puck.getName(), -1); - setSugestionLabel("Select the datamatrix and press 'Set'", -1); - detectedPuck = puck; + setStatusLabel("Detected puck at " + puck.getName(), -1); + detectedPuck = puck; textDetectedPuck.setText(puck.getName()); - buttonSet.setEnabled(true); + + int row = table.getSelectedRow(); + datamatrix = (row >= 0) ? String.valueOf(table.getValueAt(row, INDEX_DATAMATRIX)) : null; + String position = (row >= 0) ? String.valueOf(table.getValueAt(row, INDEX_POSITION)) : null; + + if (SET_AUTO_ASSIGN && (datamatrix != null) && (!datamatrix.isEmpty()) && (position!=null)&& (position.isEmpty())){ + onManualSetPuckLocation(datamatrix); + } else { + setSugestionLabel("Select the datamatrix and press 'Set'", -1); + buttonSet.setEnabled(true); + } table.clearSelection(); } update(); } - Timer timerClear; void onPuckUnmounted(Puck puck){ if (puck == detectedPuck){ @@ -182,8 +191,10 @@ public class PuckLoadingDialog extends JDialog { if (puck == detectedPuck){ buttonSet.setEnabled(false); detectedPuck = null; - } - makeVisible(puck); + } + makeVisible(puck); + table.clearSelection(); + pointPuck(null); update(); } @@ -496,7 +507,7 @@ public class PuckLoadingDialog extends JDialog { try { int row = table.getSelectedRow(); String datamatrix = (row >= 0) ? String.valueOf(table.getValueAt(row, INDEX_DATAMATRIX)) : null; - if (datamatrix != null) { + if ((datamatrix != null) && (!datamatrix.isEmpty())){ onManualSetPuckLocation(datamatrix); } } catch (Exception ex) { @@ -507,6 +518,8 @@ public class PuckLoadingDialog extends JDialog { private void buttonClearDatamatrixActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonClearDatamatrixActionPerformed try { Controller.getInstance().onPuckScanned(null); + table.clearSelection(); + pointPuck(null); } catch (Exception ex) { SwingUtils.showException(this, ex); } @@ -516,17 +529,25 @@ public class PuckLoadingDialog extends JDialog { try { int row = table.getSelectedRow(); String position = (row >= 0) ? String.valueOf(table.getValueAt(row, INDEX_POSITION)) : null; + Puck puck = null; if ((position!=null) && (!position.isBlank())){ - Puck puck = Controller.getInstance().getPuck(position); - pointPuck(puck); - } + puck = Controller.getInstance().getPuck(position); + } else { + puck = Controller.getInstance().getFreePuck(); + } + pointPuck(puck); } catch (Exception ex) { SwingUtils.showException(this, ex); } }//GEN-LAST:event_tableMouseReleased private void tableKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tableKeyReleased - tableMouseReleased(null); + if (evt.getKeyCode() == KeyEvent.VK_ESCAPE) { + table.clearSelection(); + pointPuck(null); + } else { + tableMouseReleased(null); + } }//GEN-LAST:event_tableKeyReleased /**