From 6ff5aa35b627c42d2d5ef0c45403b56a865f6c88 Mon Sep 17 00:00:00 2001 From: x07maop Date: Tue, 16 Jun 2015 11:53:18 +0200 Subject: [PATCH] Closedown --- plugins/EnergyScan.form | 17 +++++------ plugins/EnergyScan.java | 63 +++++++++++++++++++++++------------------ 2 files changed, 45 insertions(+), 35 deletions(-) diff --git a/plugins/EnergyScan.form b/plugins/EnergyScan.form index b29c8cd..a193c52 100644 --- a/plugins/EnergyScan.form +++ b/plugins/EnergyScan.form @@ -35,7 +35,7 @@ - + @@ -76,9 +76,10 @@ - + + - + @@ -92,7 +93,6 @@ - @@ -103,7 +103,7 @@ - + @@ -115,13 +115,14 @@ - + + @@ -150,7 +151,7 @@ - + @@ -242,7 +243,7 @@ - + diff --git a/plugins/EnergyScan.java b/plugins/EnergyScan.java index 015ed23..db68134 100644 --- a/plugins/EnergyScan.java +++ b/plugins/EnergyScan.java @@ -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);