Closedown
This commit is contained in:
@@ -18,6 +18,7 @@ import ch.psi.pshell.swing.ValueSelection;
|
||||
import java.awt.Component;
|
||||
import java.io.File;
|
||||
import java.nio.file.Files;
|
||||
import java.time.LocalTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
@@ -82,6 +83,8 @@ public class XPSSpectrum extends Panel {
|
||||
scienta = (Scienta) getDevice("Scienta");
|
||||
scienta.getTotalChannels().addListener(progressListener);
|
||||
scienta.getCurrentChannel().addListener(progressListener);
|
||||
dvpAcqTime.setDevice(scienta.getAcquisitionTime());
|
||||
startTimer(500,100);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -90,7 +93,7 @@ public class XPSSpectrum extends Panel {
|
||||
if (!state.isProcessing()){
|
||||
buttonSkip.setVisible(false);
|
||||
if (running){
|
||||
stopTimer();
|
||||
//stopTimer();
|
||||
running = false;
|
||||
getView().getStatusBar().setProgress(-1);
|
||||
}
|
||||
@@ -168,33 +171,48 @@ public class XPSSpectrum extends Panel {
|
||||
@Override
|
||||
protected void onTimer() {
|
||||
try{
|
||||
Object index = XPSSpectrum.this.eval(CURRERNT_RANGE_VAR, true);
|
||||
if ((index!=null) && (index instanceof Integer) && ((Integer)index >= 0)){
|
||||
int scanIndex = (Integer)index;
|
||||
if (scanIndex!=currentScanIndex){
|
||||
buttonSkip.setEnabled(true);
|
||||
}
|
||||
currentScanIndex = scanIndex;
|
||||
if (running){
|
||||
Object index = XPSSpectrum.this.eval(CURRERNT_RANGE_VAR, true);
|
||||
if ((index!=null) && (index instanceof Integer) && ((Integer)index >= 0)){
|
||||
int scanIndex = (Integer)index;
|
||||
if (scanIndex!=currentScanIndex){
|
||||
buttonSkip.setEnabled(true);
|
||||
}
|
||||
currentScanIndex = scanIndex;
|
||||
|
||||
int current_iteration = (Integer) XPSSpectrum.this.eval(CURRERNT_ITERATION_VAR, true);
|
||||
int iterations = (Integer)scanRanges[currentScanIndex].getVars()[2];
|
||||
int current_iteration = (Integer) XPSSpectrum.this.eval(CURRERNT_ITERATION_VAR, true);
|
||||
int iterations = (Integer)scanRanges[currentScanIndex].getVars()[2];
|
||||
|
||||
buttonSkip.setVisible((iterations>1) && (current_iteration < (iterations-1)));
|
||||
buttonSkip.setVisible((iterations>1) && (current_iteration < (iterations-1)));
|
||||
|
||||
if (detailedScan){
|
||||
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))){
|
||||
rangeSelectionPanel.getTable().setRowSelectionInterval(row, row);
|
||||
break;
|
||||
}
|
||||
if (row == (rangeSelectionPanel.getTable().getRowCount()-1)){
|
||||
rangeSelectionPanel.getTable().clearSelection();
|
||||
}
|
||||
}
|
||||
if (detailedScan){
|
||||
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))){
|
||||
rangeSelectionPanel.getTable().setRowSelectionInterval(row, row);
|
||||
break;
|
||||
}
|
||||
if (row == (rangeSelectionPanel.getTable().getRowCount()-1)){
|
||||
rangeSelectionPanel.getTable().clearSelection();
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
rangeSelectionPanel.getTable().clearSelection();
|
||||
}
|
||||
} else {
|
||||
rangeSelectionPanel.getTable().clearSelection();
|
||||
int steps = 0;
|
||||
RangeSelection[] r = rangeSelectionPanel.getRanges();
|
||||
if ((buttonDetailedScan.isEnabled()) && (r.length>0)){
|
||||
for (int i=0;i<r.length;i++){
|
||||
int iterations = (Integer)scanRanges[i].getVars()[2];
|
||||
steps += iterations;
|
||||
}
|
||||
} else {
|
||||
steps = Math.max(1, (int)valueIterations.getValue());
|
||||
}
|
||||
int seconds = (int) (Double.valueOf(dvpAcqTime.getLabel().getText()) * steps);
|
||||
textTotalTime.setText(LocalTime.ofSecondOfDay(seconds).toString());
|
||||
}
|
||||
} catch (Exception ex){
|
||||
getLogger().log(Level.FINE, null, ex);
|
||||
@@ -209,7 +227,7 @@ public class XPSSpectrum extends Panel {
|
||||
args.put("ENDSCAN", checkEndScan.isSelected());
|
||||
currentScanIndex = -1;
|
||||
runAsync("XPSSpectrum", args);
|
||||
startTimer(500,10);
|
||||
//startTimer(500,10);
|
||||
running = true;
|
||||
}
|
||||
|
||||
@@ -234,6 +252,10 @@ public class XPSSpectrum extends Panel {
|
||||
buttonScientaSetup = new javax.swing.JButton();
|
||||
checkEndScan = new javax.swing.JCheckBox();
|
||||
checkSaveImage = new javax.swing.JCheckBox();
|
||||
textTotalTime = new javax.swing.JLabel();
|
||||
dvpAcqTime = new ch.psi.pshell.swing.DeviceValuePanel();
|
||||
labelAcqTime = new javax.swing.JLabel();
|
||||
labelTotalTime = new javax.swing.JLabel();
|
||||
jPanel2 = new javax.swing.JPanel();
|
||||
btLoad = new javax.swing.JButton();
|
||||
btSave = new javax.swing.JButton();
|
||||
@@ -316,6 +338,15 @@ public class XPSSpectrum extends Panel {
|
||||
|
||||
checkSaveImage.setText("Save Scienta image");
|
||||
|
||||
textTotalTime.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
textTotalTime.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
|
||||
|
||||
labelAcqTime.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
labelAcqTime.setText("Acquisition time(s):");
|
||||
|
||||
labelTotalTime.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
labelTotalTime.setText("Total time:");
|
||||
|
||||
javax.swing.GroupLayout panelArgumentsLayout = new javax.swing.GroupLayout(panelArguments);
|
||||
panelArguments.setLayout(panelArgumentsLayout);
|
||||
panelArgumentsLayout.setHorizontalGroup(
|
||||
@@ -349,7 +380,16 @@ public class XPSSpectrum extends Panel {
|
||||
.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)
|
||||
.addComponent(checkEndScan)
|
||||
.addComponent(checkSaveImage))
|
||||
.addComponent(checkSaveImage)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelArgumentsLayout.createSequentialGroup()
|
||||
.addGap(0, 0, Short.MAX_VALUE)
|
||||
.addGroup(panelArgumentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(labelAcqTime)
|
||||
.addComponent(labelTotalTime))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(panelArgumentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(textTotalTime, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(dvpAcqTime, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))))
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
@@ -357,6 +397,8 @@ public class XPSSpectrum extends Panel {
|
||||
|
||||
panelArgumentsLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel1, jLabel11, jLabel17, jLabel2, jLabel8, jLabel9});
|
||||
|
||||
panelArgumentsLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {dvpAcqTime, textTotalTime});
|
||||
|
||||
panelArgumentsLayout.setVerticalGroup(
|
||||
panelArgumentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(panelArgumentsLayout.createSequentialGroup()
|
||||
@@ -380,11 +422,19 @@ public class XPSSpectrum extends Panel {
|
||||
.addGroup(panelArgumentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLabel17)
|
||||
.addComponent(valueIterations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(18, 18, Short.MAX_VALUE)
|
||||
.addGap(18, 18, 18)
|
||||
.addGroup(panelArgumentsLayout.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))
|
||||
.addGap(18, 18, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 32, Short.MAX_VALUE)
|
||||
.addGroup(panelArgumentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||
.addComponent(labelAcqTime)
|
||||
.addComponent(dvpAcqTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(panelArgumentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||
.addComponent(textTotalTime)
|
||||
.addComponent(labelTotalTime))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 32, Short.MAX_VALUE)
|
||||
.addComponent(checkEndScan)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(checkSaveImage)
|
||||
@@ -393,6 +443,8 @@ public class XPSSpectrum extends Panel {
|
||||
.addGap(26, 26, 26))
|
||||
);
|
||||
|
||||
panelArgumentsLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {dvpAcqTime, textTotalTime});
|
||||
|
||||
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Scan Control"));
|
||||
|
||||
btLoad.setText("Load");
|
||||
@@ -456,7 +508,7 @@ public class XPSSpectrum extends Panel {
|
||||
.addComponent(buttonInitialScan)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(buttonDetailedScan, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 66, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 13, Short.MAX_VALUE)
|
||||
.addComponent(buttonSkip)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(buttonAbort))
|
||||
@@ -630,6 +682,7 @@ public class XPSSpectrum extends Panel {
|
||||
private javax.swing.JCheckBox checkEndScan;
|
||||
private javax.swing.JCheckBox checkSaveImage;
|
||||
private javax.swing.JComboBox comboPass;
|
||||
private ch.psi.pshell.swing.DeviceValuePanel dvpAcqTime;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel11;
|
||||
private javax.swing.JLabel jLabel17;
|
||||
@@ -637,8 +690,11 @@ public class XPSSpectrum extends Panel {
|
||||
private javax.swing.JLabel jLabel8;
|
||||
private javax.swing.JLabel jLabel9;
|
||||
private javax.swing.JPanel jPanel2;
|
||||
private javax.swing.JLabel labelAcqTime;
|
||||
private javax.swing.JLabel labelTotalTime;
|
||||
private javax.swing.JPanel panelArguments;
|
||||
private ch.psi.pshell.swing.RangeSelectionPanel rangeSelectionPanel;
|
||||
private javax.swing.JLabel textTotalTime;
|
||||
private ch.psi.pshell.swing.ValueSelection valueHigh;
|
||||
private ch.psi.pshell.swing.ValueSelection valueIterations;
|
||||
private ch.psi.pshell.swing.ValueSelection valueLow;
|
||||
|
||||
Reference in New Issue
Block a user