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