Closedown

This commit is contained in:
gac-x12sa
2023-01-05 12:16:04 +01:00
parent da21349113
commit 6ebac2b39a
3 changed files with 28 additions and 13 deletions

View File

@@ -1,5 +1,7 @@
import ch.psi.pshell.device.Device;
import ch.psi.pshell.device.DeviceAdapter;
import ch.psi.pshell.device.DeviceListener;
import ch.psi.pshell.ui.Panel;
import ch.psi.utils.EncoderJson;
import ch.psi.utils.State;
@@ -20,24 +22,37 @@ public class Eiger extends Panel {
renderer.setPersistenceFile(Paths.get(getContext().getSetup().expandPath(RENDERER_PERSIST_FILE)));
}
final DeviceListener deviceListener = new DeviceAdapter() {
@Override
public void onStateChanged(Device device, State state, State former) {
updateControls();
}
};
//Overridable callbacks
@Override
public void onInitialize(int runCount) {
detector = (Device) getDevice("detector");
stddaq = (Device) getDevice("std_daq");
if (detector!=null){
detector.addListener(deviceListener);
}
if (stddaq!=null){
stddaq.addListener(deviceListener);
}
}
void updateControls(){
boolean enabled = getState().isReady();
buttonStart.setEnabled(enabled && ((stddaq!=null) || (stddaq.getState().isReady())));
buttonStop.setEnabled(enabled && ((stddaq!=null) || (stddaq.getState()==State.Busy)));
buttonConfig.setEnabled(enabled && ((stddaq!=null) || (stddaq.getState().isInitialized())));
buttonStart.setEnabled(enabled && ((stddaq!=null) && (stddaq.getState().isReady())));
buttonStop.setEnabled(enabled && ((stddaq!=null) && (stddaq.getState()==State.Busy)));
buttonConfig.setEnabled(enabled && ((stddaq!=null) && (stddaq.getState().isInitialized())));
buttonStartDet.setEnabled(enabled && ((detector!=null) || (detector.getState().isReady())));
buttonStopDet.setEnabled(enabled && ((detector!=null) || (detector.getState()==State.Busy)));
buttonConfigDet.setEnabled(enabled && ((detector!=null) || (detector.getState().isInitialized())));
buttonParsDet.setEnabled(enabled && ((detector!=null) || (detector.getState().isInitialized())));
buttonStartDet.setEnabled(enabled && ((detector!=null) && (detector.getState().isReady())));
buttonStopDet.setEnabled(enabled && ((detector!=null) && (detector.getState()==State.Busy)));
buttonConfigDet.setEnabled(enabled && ((detector!=null) && (detector.getState().isInitialized())));
buttonParsDet.setEnabled(enabled && ((detector!=null) && (detector.getState().isInitialized())));
}
@@ -306,7 +321,7 @@ public class Eiger extends Panel {
private void buttonStartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonStartActionPerformed
try{
if (stddaq!=null){
evalAsync("stddaq.start()");
evalAsync("std_daq.start()");
}
} catch (Exception ex){
showException(ex);
@@ -316,7 +331,7 @@ public class Eiger extends Panel {
private void buttonStopActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonStopActionPerformed
try{
if (stddaq!=null){
evalAsync("stddaq.stop()");
evalAsync("std_daq.stop()");
}
} catch (Exception ex){
showException(ex);