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;