diff --git a/plugins/XPSSpectrum.form b/plugins/XPSSpectrum.form
index 160327fd..4c94b1be 100644
--- a/plugins/XPSSpectrum.form
+++ b/plugins/XPSSpectrum.form
@@ -84,6 +84,7 @@
+
@@ -122,6 +123,8 @@
+
+
@@ -225,6 +228,14 @@
+
+
+
+
+
+
+
+
@@ -275,7 +286,7 @@
-
+
diff --git a/plugins/XPSSpectrum.java b/plugins/XPSSpectrum.java
index e5b5ebd1..d18e565b 100644
--- a/plugins/XPSSpectrum.java
+++ b/plugins/XPSSpectrum.java
@@ -162,6 +162,8 @@ public class XPSSpectrum extends Panel {
};
public final String STEP_VAR = "xps_spectrum_step";
int currentScanIndex ;
+ RangeSelection[] scanRanges;
+
Task monitoringTask = new Task() {
@Override
protected Object execute() throws Exception {
@@ -172,6 +174,9 @@ public class XPSSpectrum extends Panel {
buttonSkip.setEnabled(true);
}
currentScanIndex = scanIndex;
+
+ buttonSkip.setVisible((scanRanges.length>1) && (currentScanIndex < (scanRanges.length-1)));
+
RangeSelection range = rangeSelectionPanel.getRangesOrdered()[scanIndex];
for (int row = 0; row< rangeSelectionPanel.getTable().getRowCount(); row++){
if (range.equals((Double)rangeSelectionPanel.getTable().getValueAt(row, 0), (Double)rangeSelectionPanel.getTable().getValueAt(row, 2))){
@@ -208,6 +213,7 @@ public class XPSSpectrum extends Panel {
valueHigh = new ch.psi.pshell.swing.ValueSelection();
jLabel8 = new javax.swing.JLabel();
jLabel17 = new javax.swing.JLabel();
+ buttonScientaSetup = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
btLoad = new javax.swing.JButton();
btSave = new javax.swing.JButton();
@@ -278,6 +284,13 @@ public class XPSSpectrum extends Panel {
jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel17.setText("Iter:");
+ buttonScientaSetup.setText("Scienta Setup");
+ buttonScientaSetup.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ buttonScientaSetupActionPerformed(evt);
+ }
+ });
+
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
@@ -308,7 +321,8 @@ public class XPSSpectrum extends Panel {
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel17)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(valueIterations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addComponent(valueIterations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addComponent(buttonScientaSetup, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
@@ -343,6 +357,8 @@ public class XPSSpectrum extends Panel {
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(jLabel11)
.addComponent(comboPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(buttonScientaSetup)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
@@ -427,7 +443,7 @@ public class XPSSpectrum extends Panel {
.addComponent(buttonAbort)
.addComponent(buttonSkip))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(rangeSelectionPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 165, Short.MAX_VALUE)
+ .addComponent(rangeSelectionPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 168, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(btLoad, javax.swing.GroupLayout.Alignment.TRAILING)
@@ -471,15 +487,16 @@ public class XPSSpectrum extends Panel {
//getApp().startTask(task);
HashMap args = new HashMap<>();
RangeSelection initialRange = new RangeSelection(valueLow.getValue(),valueHigh.getValue());
- initialRange.setVars(new Object[]{valueSize.getValue(),valueTime.getValue(),(int)valueIterations.getValue()});
- args.put("ranges", new RangeSelection[]{initialRange});
+ int iterations = (int)valueIterations.getValue();
+ initialRange.setVars(new Object[]{valueSize.getValue(),valueTime.getValue(),iterations});
+ scanRanges = new RangeSelection[]{initialRange};
+ args.put("ranges", scanRanges);
args.put("pass_energy", Integer.valueOf(comboPass.getSelectedItem().toString()));
rangeSelectionPanel.clear();
detailedScan = false;
+ currentScanIndex = -1;
runAsync("XPSSpectrum", args);
- buttonSkip.setVisible(true);
- buttonSkip.setEnabled(true);
running = true;
} catch (Exception ex) {
showException(ex);
@@ -489,15 +506,14 @@ public class XPSSpectrum extends Panel {
private void buttonDetailedScanActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonDetailedScanActionPerformed
try {
- RangeSelection[] ranges = rangeSelectionPanel.getRangesOrdered();
+ scanRanges = rangeSelectionPanel.getRangesOrdered();
HashMap args = new HashMap<>();
- args.put("ranges", ranges);
+ args.put("ranges", scanRanges);
args.put("pass_energy", Integer.valueOf(comboPass.getSelectedItem().toString()));
- detailedScan = true;
+ detailedScan = true;
+ currentScanIndex = -1;
runAsync("XPSSpectrum", args);
monitoringTask.schedule(100, 500);
- buttonSkip.setVisible(true);
- buttonSkip.setEnabled(true);
running = true;
} catch (Exception ex) {
showException(ex);
@@ -572,12 +588,21 @@ public class XPSSpectrum extends Panel {
}
}//GEN-LAST:event_buttonSkipActionPerformed
+ private void buttonScientaSetupActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonScientaSetupActionPerformed
+ try{
+ showDevicePanel("scienta");
+ } catch (Exception ex){
+ SwingUtils.showException(this, ex);
+ }
+ }//GEN-LAST:event_buttonScientaSetupActionPerformed
+
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btLoad;
private javax.swing.JButton btSave;
private javax.swing.JButton buttonAbort;
private javax.swing.JButton buttonDetailedScan;
private javax.swing.JButton buttonInitialScan;
+ private javax.swing.JButton buttonScientaSetup;
private javax.swing.JButton buttonSkip;
private javax.swing.JComboBox comboPass;
private javax.swing.JLabel jLabel1;