diff --git a/plugins/EnergyScan.form b/plugins/EnergyScan.form
index d096be2..c7407d3 100644
--- a/plugins/EnergyScan.form
+++ b/plugins/EnergyScan.form
@@ -55,7 +55,7 @@
-
+
@@ -97,7 +97,7 @@
-
+
@@ -111,7 +111,7 @@
-
+
@@ -370,7 +370,7 @@
-
+
@@ -424,7 +424,7 @@
-
+
@@ -435,7 +435,7 @@
-
+
@@ -466,53 +466,54 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -520,14 +521,6 @@
-
-
-
-
-
-
-
-
@@ -535,6 +528,8 @@
+
+
diff --git a/plugins/EnergyScan.java b/plugins/EnergyScan.java
index 288ef7f..067ddac 100644
--- a/plugins/EnergyScan.java
+++ b/plugins/EnergyScan.java
@@ -94,12 +94,15 @@ public class EnergyScan extends Panel {
}
enum Mode {
-
plus,
minus,
lh,
lv
}
+
+ Mode[] batch;
+ int batchIndex;
+
public class PluginPanel extends MonitoredPanel {
@@ -108,11 +111,12 @@ public class EnergyScan extends Panel {
public PluginPanel() {
initComponents();
+ buttonDefaultsActionPerformed(null);
plot = new LinePlotJFree();
plot.setTitle("");
series = new LinePlotSeries("data");
plot.addSeries(series);
- panelPlot.add(plot);
+ panelPlot.add(plot);
}
@Override
@@ -124,6 +128,7 @@ public class EnergyScan extends Panel {
buttonConfigure.setEnabled(value);
textFile.setEnabled(value);
textFolder.setEnabled(value);
+ buttonDefaults.setEnabled(value);
checkParameterControls();
}
@@ -322,8 +327,32 @@ public class EnergyScan extends Panel {
plot.getAxis(Plot.AxisId.X).setRange(Math.min(e1, e2), Math.max(e1, e2));
}
-
- @SuppressWarnings("unchecked")
+
+ protected void onExecutedFile(String fileName){
+ try {
+ switch (fileName){
+ case "EnergyScan":
+ //TODO: Check if exception has happenned before continuing
+ if (batch!=null){
+ batchIndex++;
+ if (batchIndex>=batch.length){
+ batchIndex=0;
+ batch=null;
+ } else {
+ setMode(batch[batchIndex]);
+ run();
+ }
+ }
+ break;
+ }
+ } catch (Exception ex) {
+ SwingUtils.showException(this, ex);
+ }
+ }
+
+
+
+ @SuppressWarnings("unchecked")
// //GEN-BEGIN:initComponents
private void initComponents() {
@@ -357,10 +386,11 @@ public class EnergyScan extends Panel {
radioF = new javax.swing.JRadioButton();
radioI0 = new javax.swing.JRadioButton();
panelData = new javax.swing.JPanel();
+ buttonDefaults = new javax.swing.JButton();
jLabel6 = new javax.swing.JLabel();
textFile = new javax.swing.JTextField();
- textFolder = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
+ textFolder = new javax.swing.JTextField();
jPanel3 = new javax.swing.JPanel();
buttonExecute = new javax.swing.JButton();
buttonAbort = new javax.swing.JButton();
@@ -424,7 +454,7 @@ public class EnergyScan extends Panel {
.addComponent(spinnerE1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerTime, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(comboMode, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(18, 24, Short.MAX_VALUE)
+ .addGap(18, 29, Short.MAX_VALUE)
.addGroup(panelParametersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel9, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel8, javax.swing.GroupLayout.Alignment.TRAILING)
@@ -436,7 +466,7 @@ public class EnergyScan extends Panel {
.addComponent(spinnerDelay, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerOffset, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerAlpha, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(18, Short.MAX_VALUE))
+ .addContainerGap(23, Short.MAX_VALUE))
);
panelParametersLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboMode, spinnerE1, spinnerTime});
@@ -555,7 +585,7 @@ public class EnergyScan extends Panel {
});
buttonGroupPlot.add(radioE);
- radioE.setText("E");
+ radioE.setText("TEY raw");
radioE.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
radioPlotActionPerformed(evt);
@@ -563,7 +593,7 @@ public class EnergyScan extends Panel {
});
buttonGroupPlot.add(radioF);
- radioF.setText("F");
+ radioF.setText("TFY raw");
radioF.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
radioPlotActionPerformed(evt);
@@ -590,7 +620,7 @@ public class EnergyScan extends Panel {
.addComponent(radioE)
.addComponent(radioF)
.addComponent(radioI0))
- .addContainerGap(30, Short.MAX_VALUE))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {radioE, radioF, radioI0, radioTEY, radioTFY});
@@ -613,13 +643,16 @@ public class EnergyScan extends Panel {
panelData.setBorder(javax.swing.BorderFactory.createTitledBorder("Data"));
+ buttonDefaults.setText("Defaults");
+ buttonDefaults.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ buttonDefaultsActionPerformed(evt);
+ }
+ });
+
jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel6.setText("File:");
- textFile.setText("{el}_{mode}");
-
- textFolder.setText("{year}_{month}/{date}");
-
jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel7.setText("Folder:");
@@ -627,40 +660,36 @@ public class EnergyScan extends Panel {
panelData.setLayout(panelDataLayout);
panelDataLayout.setHorizontalGroup(
panelDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 0, Short.MAX_VALUE)
- .addGroup(panelDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelDataLayout.createSequentialGroup()
- .addGap(31, 31, 31)
+ .addGroup(panelDataLayout.createSequentialGroup()
+ .addContainerGap()
+ .addGroup(panelDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelDataLayout.createSequentialGroup()
- .addGroup(panelDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel7, javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING))
- .addGap(281, 281, 281))
- .addGroup(panelDataLayout.createSequentialGroup()
- .addGap(55, 55, 55)
- .addGroup(panelDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(textFile, javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(textFolder, javax.swing.GroupLayout.Alignment.TRAILING))))
- .addGap(31, 31, 31)))
+ .addComponent(jLabel7, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING))
+ .addGroup(panelDataLayout.createSequentialGroup()
+ .addGap(55, 55, 55)
+ .addGroup(panelDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(textFolder)
+ .addComponent(textFile))))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(buttonDefaults)
+ .addContainerGap())
);
panelDataLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel6, jLabel7});
panelDataLayout.setVerticalGroup(
panelDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 0, Short.MAX_VALUE)
- .addGroup(panelDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelDataLayout.createSequentialGroup()
- .addGap(4, 4, 4)
- .addGroup(panelDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel6)
- .addComponent(textFile, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelDataLayout.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))
- .addContainerGap(8, Short.MAX_VALUE)))
+ .addGroup(panelDataLayout.createSequentialGroup()
+ .addGroup(panelDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabel6)
+ .addComponent(textFile, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(panelDataLayout.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)
+ .addComponent(buttonDefaults, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(4, 4, 4))
);
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Scan Control"));
@@ -732,7 +761,7 @@ public class EnergyScan extends Panel {
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(panelData, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)))
+ .addComponent(panelData, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(panelPlot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
@@ -742,6 +771,23 @@ public class EnergyScan extends Panel {
private void buttonExecuteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonExecuteActionPerformed
try {
+ batchIndex = 0;
+ switch(comboRunType.getSelectedIndex()){
+ case 5:
+ batch = new Mode[]{Mode.plus, Mode.minus};
+ break;
+ case 6:
+ batch = new Mode[]{Mode.plus, Mode.minus, Mode.minus, Mode.plus};
+ break;
+ case 7:
+ batch = new Mode[]{Mode.lh, Mode.lv};
+ break;
+ case 8:
+ batch = new Mode[]{Mode.lh, Mode.lv, Mode.lv, Mode.lh};
+ break;
+ default:
+ batch = null;
+ }
run();
} catch (Exception ex) {
SwingUtils.showException(this, ex);
@@ -790,9 +836,15 @@ public class EnergyScan extends Panel {
}
}//GEN-LAST:event_comboRunTypeActionPerformed
+ private void buttonDefaultsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonDefaultsActionPerformed
+ textFile.setText("{el}_{mode}");
+ textFolder.setText("{year}_{month}/{date}");
+ }//GEN-LAST:event_buttonDefaultsActionPerformed
+
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton buttonAbort;
private javax.swing.JButton buttonConfigure;
+ private javax.swing.JButton buttonDefaults;
private javax.swing.JButton buttonExecute;
private javax.swing.ButtonGroup buttonGroupPlot;
private javax.swing.JComboBox comboMode;