Closedown

This commit is contained in:
x07maop
2015-06-16 11:53:18 +02:00
parent e09e05ccea
commit 6ff5aa35b6
2 changed files with 45 additions and 35 deletions

View File

@@ -11,6 +11,7 @@ import ch.psi.pshell.plot.LinePlotJFree;
import ch.psi.pshell.plot.LinePlotSeries;
import ch.psi.utils.swing.MonitoredPanel;
import ch.psi.pshell.ui.Panel;
import ch.psi.utils.Chrono;
import ch.psi.utils.State;
import ch.psi.utils.swing.SwingUtils;
import java.awt.Component;
@@ -27,6 +28,7 @@ public class EnergyScan extends Panel {
ChannelDoubleArray data;
ChannelDoubleArray edata;
ChannelInteger count;
@Override
protected JPanel create() {
panel = new PluginPanel();
@@ -36,7 +38,7 @@ public class EnergyScan extends Panel {
@Override
protected void onInitialize(int runCount) {
super.onInitialize(runCount);
count = (ChannelInteger) getController().getDevicePool().getByName("count");
data = (ChannelDoubleArray) getController().getDevicePool().getByName("data");
edata = (ChannelDoubleArray) getController().getDevicePool().getByName("edata");
@@ -48,23 +50,22 @@ public class EnergyScan extends Panel {
@Override
public void onValueChanged(Device device, Object value, Object former) {
update();
update();
}
});
update();
}
@Override
protected void onApplicationStateChange(State state, State former) {
getComponent().setEnabled(state == State.Ready);
}
}
@Override
protected void doUpdate() {
panel.plot();
}
public class PluginPanel extends MonitoredPanel {
final LinePlotBase plot;
@@ -78,29 +79,29 @@ public class EnergyScan extends Panel {
plot.addSeries(series);
panelPlot.add(plot);
}
@Override
public void setEnabled(boolean value){
public void setEnabled(boolean value) {
super.setEnabled(value);
buttonExecute.setEnabled(value);
for (Component c: panelParameters.getComponents()){
if (! (c instanceof JLabel)){
for (Component c : panelParameters.getComponents()) {
if (!(c instanceof JLabel)) {
c.setEnabled(value);
}
}
}
}
void plot(){
try{
void plot() {
try {
Integer c = count.take();
if (c == null){
if (c == null) {
series.clear();
} else {
data.setSize(c);
edata.setSize(c);
series.setData(edata.read(), data.read());
}
} catch (Exception ex){
} catch (Exception ex) {
SwingUtils.showException(this, ex);
}
}
@@ -177,13 +178,14 @@ public class EnergyScan extends Panel {
jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel7.setText("Folder:");
textFolder.setText("2015_04/20150417");
textFolder.setText("{year}_{month}/{date}");
javax.swing.GroupLayout panelParametersLayout = new javax.swing.GroupLayout(panelParameters);
panelParameters.setLayout(panelParametersLayout);
panelParametersLayout.setHorizontalGroup(
panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelParametersLayout.createSequentialGroup()
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelParametersLayout.createSequentialGroup()
.addContainerGap()
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelParametersLayout.createSequentialGroup()
.addComponent(jLabel1)
@@ -196,8 +198,7 @@ public class EnergyScan extends Panel {
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spinnerE2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerDelay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(spinnerDelay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelParametersLayout.createSequentialGroup()
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel5)
@@ -213,7 +214,7 @@ public class EnergyScan extends Panel {
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(textFile)
.addComponent(textFolder))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
panelParametersLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboMode, spinnerE1, spinnerTime});
@@ -227,6 +228,7 @@ public class EnergyScan extends Panel {
panelParametersLayout.setVerticalGroup(
panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelParametersLayout.createSequentialGroup()
.addGap(0, 0, 0)
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(spinnerE1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
@@ -250,7 +252,7 @@ public class EnergyScan extends Panel {
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(textFolder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 25, Short.MAX_VALUE))
.addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
@@ -272,7 +274,7 @@ public class EnergyScan extends Panel {
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGap(16, 16, 16)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(buttonAbort)
@@ -286,15 +288,22 @@ public class EnergyScan extends Panel {
private void buttonExecuteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonExecuteActionPerformed
try {
HashMap args = new HashMap();
args.put("E1", (Integer) spinnerE2.getValue());
args.put("E2",(Integer) spinnerE2.getValue());
args.put("TIME",(Integer) spinnerTime.getValue());
args.put("E1", (Integer) spinnerE1.getValue());
args.put("E2", (Integer) spinnerE2.getValue());
args.put("TIME", (Integer) spinnerTime.getValue());
args.put("DELAY", (Double) spinnerDelay.getValue());
args.put("MODE", comboMode.getSelectedItem().toString());
args.put("FOLDER", textFolder.getText());
args.put("FILE", textFolder.getText());
args.put("FILE", textFile.getText());
String folder = textFolder.getText();
long time = System.currentTimeMillis();
folder = folder.replaceAll("\\{date\\}", Chrono.getTimeStr(time, "YYYYMMdd"));
folder = folder.replaceAll("\\{time\\}", Chrono.getTimeStr(time, "HHmmss"));
folder = folder.replaceAll("\\{year\\}", Chrono.getTimeStr(time, "YYYY"));
folder = folder.replaceAll("\\{month\\}", Chrono.getTimeStr(time, "MM"));
folder = folder.replaceAll("\\{day\\}", Chrono.getTimeStr(time, "dd"));
args.put("FOLDER", folder);
runAsync("EnergyScan", args);
} catch (Exception ex) {
SwingUtils.showException(this, ex);