Startup
This commit is contained in:
@@ -8,6 +8,7 @@ import ch.psi.pshell.ui.Panel;
|
||||
import ch.psi.utils.State;
|
||||
import ch.psi.utils.swing.SwingUtils;
|
||||
import java.awt.Component;
|
||||
import java.time.LocalTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
@@ -31,14 +32,29 @@ public class ManipulatorScan extends Panel {
|
||||
persistedComponents.addAll(Arrays.asList(SwingUtils.getComponentsByType(this, JSpinner.class)));
|
||||
persistedComponents.addAll(Arrays.asList(SwingUtils.getComponentsByType(this, JComboBox.class)));
|
||||
setPersistedComponents(persistedComponents.toArray(new Component[0]));
|
||||
|
||||
startTimer(1000);
|
||||
}
|
||||
|
||||
//Overridable callbacks
|
||||
@Override
|
||||
public void onInitialize(int runCount) {
|
||||
comboMotorActionPerformed(null);
|
||||
Scienta scienta = (Scienta) getDevice("Scienta");
|
||||
dvpAcqTime.setDevice(scienta.getAcquisitionTime());
|
||||
}
|
||||
|
||||
protected void onTimer(){
|
||||
try{
|
||||
int steps = radioSteps.isSelected() ?
|
||||
(Integer)spinnerSteps.getValue():
|
||||
(int)(Math.abs((Double)spinnerTo.getValue() - (Double)spinnerFrom.getValue()) / (Double)spinnerStepSize.getValue() + 1);
|
||||
int seconds = (int) (Double.valueOf(dvpAcqTime.getLabel().getText()) * steps);
|
||||
textTotalTime.setText(LocalTime.ofSecondOfDay(seconds).toString());
|
||||
} catch (Exception ex){
|
||||
textTotalTime.setText("");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onStateChange(State state, State former) {
|
||||
@@ -183,6 +199,12 @@ public class ManipulatorScan extends Panel {
|
||||
buttonStart = new javax.swing.JButton();
|
||||
buttonAbort = new javax.swing.JButton();
|
||||
checkEndScan = new javax.swing.JCheckBox();
|
||||
textTotalTime = new javax.swing.JLabel();
|
||||
labelTotalTime = new javax.swing.JLabel();
|
||||
labelAcqTime = new javax.swing.JLabel();
|
||||
dvpAcqTime = new ch.psi.pshell.swing.DeviceValuePanel();
|
||||
|
||||
setPreferredSize(new java.awt.Dimension(792, 567));
|
||||
|
||||
panelPositioner.setBorder(javax.swing.BorderFactory.createTitledBorder("Positioner"));
|
||||
|
||||
@@ -352,7 +374,7 @@ public class ManipulatorScan extends Panel {
|
||||
.addGroup(panelPositionerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel3)
|
||||
.addComponent(spinnerLatency, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addContainerGap(55, Short.MAX_VALUE))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
panelSensors.setBorder(javax.swing.BorderFactory.createTitledBorder("Sensors"));
|
||||
@@ -419,7 +441,7 @@ public class ManipulatorScan extends Panel {
|
||||
.addGroup(panelSensorsLayout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(panelSensorsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(buttonScientaSetup, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(buttonScientaSetup, javax.swing.GroupLayout.DEFAULT_SIZE, 212, Short.MAX_VALUE)
|
||||
.addComponent(checkImage)
|
||||
.addComponent(checkImageIntegration)
|
||||
.addComponent(checkSpectrum)
|
||||
@@ -464,7 +486,7 @@ public class ManipulatorScan extends Panel {
|
||||
.addComponent(checkCur2)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(checkCur3)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 97, Short.MAX_VALUE)
|
||||
.addComponent(buttonScientaSetup)
|
||||
.addGap(26, 26, 26))
|
||||
);
|
||||
@@ -487,6 +509,15 @@ public class ManipulatorScan extends Panel {
|
||||
|
||||
checkEndScan.setText("Turn off beam at end");
|
||||
|
||||
textTotalTime.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
textTotalTime.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
|
||||
|
||||
labelTotalTime.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
labelTotalTime.setText("Total time:");
|
||||
|
||||
labelAcqTime.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
labelAcqTime.setText("Acquisition time(s):");
|
||||
|
||||
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
|
||||
jPanel3.setLayout(jPanel3Layout);
|
||||
jPanel3Layout.setHorizontalGroup(
|
||||
@@ -494,13 +525,29 @@ public class ManipulatorScan extends Panel {
|
||||
.addGroup(jPanel3Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel3Layout.createSequentialGroup()
|
||||
.addComponent(checkEndScan)
|
||||
.addGap(0, 0, Short.MAX_VALUE))
|
||||
.addComponent(buttonStart, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(buttonAbort, javax.swing.GroupLayout.DEFAULT_SIZE, 212, Short.MAX_VALUE))
|
||||
.addComponent(buttonAbort, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
|
||||
.addGap(0, 0, Short.MAX_VALUE)
|
||||
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(labelAcqTime)
|
||||
.addComponent(labelTotalTime))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel3Layout.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))
|
||||
.addGap(1, 1, 1)))
|
||||
.addContainerGap())
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(checkEndScan)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
jPanel3Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {dvpAcqTime, textTotalTime});
|
||||
|
||||
jPanel3Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {labelAcqTime, labelTotalTime});
|
||||
|
||||
jPanel3Layout.setVerticalGroup(
|
||||
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
|
||||
@@ -509,25 +556,35 @@ public class ManipulatorScan extends Panel {
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(buttonAbort)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(jPanel3Layout.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.UNRELATED)
|
||||
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||
.addComponent(labelTotalTime)
|
||||
.addComponent(textTotalTime))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(checkEndScan)
|
||||
.addGap(26, 26, 26))
|
||||
);
|
||||
|
||||
jPanel3Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {dvpAcqTime, textTotalTime});
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||
this.setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(panelSensors, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(panelPositioner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jPanel3, panelPositioner});
|
||||
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jPanel3, panelPositioner, panelSensors});
|
||||
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
@@ -616,6 +673,7 @@ public class ManipulatorScan extends Panel {
|
||||
private javax.swing.JCheckBox checkSpectrum;
|
||||
private javax.swing.JCheckBox checkTotalCount;
|
||||
private javax.swing.JComboBox comboMotor;
|
||||
private ch.psi.pshell.swing.DeviceValuePanel dvpAcqTime;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel3;
|
||||
private javax.swing.JLabel jLabel4;
|
||||
@@ -624,6 +682,8 @@ public class ManipulatorScan extends Panel {
|
||||
private javax.swing.JLabel jLabel7;
|
||||
private javax.swing.JLabel jLabel8;
|
||||
private javax.swing.JPanel jPanel3;
|
||||
private javax.swing.JLabel labelAcqTime;
|
||||
private javax.swing.JLabel labelTotalTime;
|
||||
private ch.psi.pshell.swing.MotorReadoutPanel motorPanel;
|
||||
private javax.swing.JPanel panelPositioner;
|
||||
private javax.swing.JPanel panelSensors;
|
||||
@@ -637,6 +697,7 @@ public class ManipulatorScan extends Panel {
|
||||
private javax.swing.JSpinner spinnerStepSize;
|
||||
private javax.swing.JSpinner spinnerSteps;
|
||||
private javax.swing.JSpinner spinnerTo;
|
||||
private javax.swing.JLabel textTotalTime;
|
||||
private javax.swing.JLabel txtSize;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user