From 18f8b38cc370f0385c38f4e3586e05d6e6b9314c Mon Sep 17 00:00:00 2001 From: Alexandre Gobbo Date: Thu, 6 Sep 2018 15:31:58 +0200 Subject: [PATCH] Possibility to add/remove devices to the pool without initializing/closing them. --- src/main/java/ch/psi/mxsc/Controller.java | 33 +++++++++++------------ src/main/java/ch/psi/mxsc/MainPanel.form | 22 +++++++-------- src/main/java/ch/psi/mxsc/MainPanel.java | 2 +- 3 files changed, 28 insertions(+), 29 deletions(-) diff --git a/src/main/java/ch/psi/mxsc/Controller.java b/src/main/java/ch/psi/mxsc/Controller.java index 331d6c3..5478153 100644 --- a/src/main/java/ch/psi/mxsc/Controller.java +++ b/src/main/java/ch/psi/mxsc/Controller.java @@ -97,7 +97,10 @@ public class Controller { instance = this; clearPuckStates(); - basePlate.addListener(new DeviceAdapter() { + basePlate.addListener(basePlateListener); + } + + final DeviceListener basePlateListener = new DeviceAdapter() { @Override public void onValueChanged(Device device, Object value, Object former) { if (value!=null){ @@ -109,8 +112,7 @@ public class Controller { Controller.this.mainFrame.onSelectionChanged(null,null,null); } } - }); - } + }; String getCurrentSelection(){ Object value = basePlate.take(); @@ -145,18 +147,8 @@ public class Controller { } void onInitialize(int runCount) { - //GenericDevice former = getDevice("BasePlate"); - //if (former != null) { - //getMainFrame().removeDevice(former); - // if (basePlate.getState() == State.Closing){ - // try { - // basePlate.initialize(); - // } catch (Exception ex) { - // Logger.getLogger(Controller.class.getName()).log(Level.SEVERE, null, ex); - // } - // } - //} getMainFrame().addDevice(basePlate); + basePlate.addListener(basePlateListener); System.out.println(basePlate.getState()); @@ -200,11 +192,18 @@ public class Controller { } + + public void onStateChange(State state, State former) { + if (state == State.Initializing){ + getMainFrame().removeDevice(basePlate); + } + } + void onTimer(){ try { - Controller.getInstance().setPuckLoading(Controller.getInstance().isPuckLoading()); + setPuckLoading(Controller.getInstance().isPuckLoading()); } catch (Exception ex) { - Controller.getInstance().setPuckLoading(false); + setPuckLoading(false); } } @@ -562,7 +561,7 @@ public class Controller { System.out.println("Setting to: " + puck.getName() + " datamatrix: " + datamatrix); puck.setId(datamatrix); - getMainFrame().refresh(); + getMainFrame().refresh(); } } diff --git a/src/main/java/ch/psi/mxsc/MainPanel.form b/src/main/java/ch/psi/mxsc/MainPanel.form index a5650fd..b58bb4c 100644 --- a/src/main/java/ch/psi/mxsc/MainPanel.form +++ b/src/main/java/ch/psi/mxsc/MainPanel.form @@ -31,7 +31,7 @@ - + @@ -334,21 +334,21 @@ - + - + - + - + @@ -384,12 +384,12 @@ - + - + @@ -882,7 +882,7 @@ - + @@ -990,9 +990,9 @@ - + - + @@ -1004,7 +1004,7 @@ - + diff --git a/src/main/java/ch/psi/mxsc/MainPanel.java b/src/main/java/ch/psi/mxsc/MainPanel.java index 0d99c97..232a695 100644 --- a/src/main/java/ch/psi/mxsc/MainPanel.java +++ b/src/main/java/ch/psi/mxsc/MainPanel.java @@ -168,7 +168,7 @@ public class MainPanel extends Panel { @Override public void onStateChange(State state, State former) { - + Controller.getInstance().onStateChange(state, former); }