diff --git a/config/variables.properties b/config/variables.properties
index fd93627..cefcfef 100644
--- a/config/variables.properties
+++ b/config/variables.properties
@@ -1,2 +1,2 @@
-#Wed Aug 04 10:23:44 CEST 2021
-FileSequentialNumber=30
+#Thu Aug 05 09:42:04 CEST 2021
+FileSequentialNumber=39
diff --git a/plugins/TimeResolved.form b/plugins/TimeResolved.form
index f55ca79..a6f19ad 100644
--- a/plugins/TimeResolved.form
+++ b/plugins/TimeResolved.form
@@ -41,18 +41,22 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
@@ -64,14 +68,18 @@
-
+
-
+
+
-
+
+
+
+
@@ -156,7 +164,7 @@
-
+
@@ -218,5 +226,16 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/TimeResolved.java b/plugins/TimeResolved.java
index 45124ee..afcec4f 100644
--- a/plugins/TimeResolved.java
+++ b/plugins/TimeResolved.java
@@ -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