This commit is contained in:
gac-ISS
2021-08-05 09:43:04 +02:00
parent 424071d9ff
commit 8ecc28a80c
3 changed files with 83 additions and 25 deletions

View File

@@ -1,5 +1,6 @@
import ch.psi.pshell.core.JsonSerializer;
import ch.psi.pshell.scan.Scan;
import ch.psi.pshell.ui.PanelProcessor;
import ch.psi.utils.IO;
import ch.psi.utils.State;
@@ -10,6 +11,8 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.concurrent.CompletableFuture;
import java.util.logging.Level;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
/**
@@ -19,6 +22,7 @@ public class TimeResolved extends PanelProcessor {
File currentFile;
public static final String FILE_EXTENSION = "tmr";
CompletableFuture taskFuture;
public TimeResolved() {
initComponents();
@@ -57,6 +61,7 @@ public class TimeResolved extends PanelProcessor {
//Overridable callbacks
@Override
public void onInitialize(int runCount) {
this.startTimer(1000);
}
@Override
@@ -66,6 +71,23 @@ public class TimeResolved extends PanelProcessor {
buttonScienta.setEnabled(state.isInitialized());
updateSeq();
}
@Override
public void onTimer() {
try{
if (taskFuture!=null){
Scan scan = getContext().getExecutionPars().getCurrentScan();
if (scan!=null){
int index = scan.getRecordIndex();
textCurScan.setText(String.valueOf(index));
return;
}
}
} catch(Exception ex){
getLogger().log(Level.WARNING, null, ex);
}
textCurScan.setText("");
}
void updateSeq() {
try {
@@ -97,9 +119,11 @@ public class TimeResolved extends PanelProcessor {
args.put("FILE", null);
args.put("NAME", getScanName());
args.put("SCANS", spinnerScans.getValue());
this.runAsync("templates/TimeResolved", args).handle((ret, ex) -> {
taskFuture = runAsync("templates/TimeResolved", args);
taskFuture.handle((ret, ex) -> {
if (ex != null) {
}
taskFuture = null;
return ret;
});
}
@@ -149,6 +173,8 @@ public class TimeResolved extends PanelProcessor {
jLabel2 = new javax.swing.JLabel();
textFileId = new javax.swing.JTextField();
buttonResetId = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
textCurScan = new javax.swing.JTextField();
jScrollPane2.setViewportView(jEditorPane1);
@@ -232,7 +258,7 @@ public class TimeResolved extends PanelProcessor {
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(spinnerScans, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(166, Short.MAX_VALUE))
.addContainerGap(100, Short.MAX_VALUE))
);
jLabel2.setText("File ID:");
@@ -247,6 +273,11 @@ public class TimeResolved extends PanelProcessor {
}
});
jLabel4.setText("Current Scan:");
textCurScan.setEditable(false);
textCurScan.setHorizontalAlignment(javax.swing.JTextField.CENTER);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
@@ -262,34 +293,40 @@ public class TimeResolved extends PanelProcessor {
.addComponent(buttonAbort)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(buttonResetId))
.addGroup(layout.createSequentialGroup()
.addComponent(buttonScienta)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(textCurScan, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(buttonScienta, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(textFileId, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(textFileId, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(buttonResetId, javax.swing.GroupLayout.Alignment.TRAILING))
.addContainerGap())))
);
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonAbort, buttonStart});
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonResetId, textFileId});
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonResetId, textCurScan, textFileId});
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(7, 7, 7)
.addGap(8, 8, 8)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(textFileId, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(buttonScienta))
.addComponent(jLabel4)
.addComponent(textCurScan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(buttonResetId)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(buttonResetId)
.addComponent(buttonScienta))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(buttonStart)
@@ -378,9 +415,11 @@ public class TimeResolved extends PanelProcessor {
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JSpinner spinnerScans;
private javax.swing.JTextField textCurScan;
private javax.swing.JTextField textFileId;
private javax.swing.JTextField textName;
// End of variables declaration//GEN-END:variables