Closedown
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user