This commit is contained in:
sfop
2017-05-01 10:50:49 +02:00
parent 92a4d630e6
commit 6128571145
8 changed files with 295 additions and 47 deletions

View File

@@ -37,6 +37,7 @@ import javax.swing.JTextField;
public class WireScan extends Panel {
final String[] seriesNames = new String[]{"bpm1_x", "bpm1_y", "bpm1_q", "bpm2_x", "bpm2_y", "bpm2_q"};
final JComboBox[] bpmCombos;
final JComboBox[] blmCombos;
final int[] seriesYAxis = new int[]{1, 1, 2, 1, 1, 2};
LinePlotSeries[] series = new LinePlotSeries[seriesNames.length];
boolean homed;
@@ -54,6 +55,7 @@ public class WireScan extends Panel {
plot.getAxis(Plot.AxisId.Y2).setLabel("pc");
plot.setLegendVisible(true);
bpmCombos = new JComboBox[]{comboBpm1, comboBpm2, comboBpm3};
blmCombos = new JComboBox[]{comboBlm1, comboBlm2, comboBlm3};
}
//Overridable callbacks
@@ -89,6 +91,17 @@ public class WireScan extends Panel {
}
cb.setModel(model);
}
ret = (List<String>) ((Plugin)this).eval("get_blms()", true);
for (JComboBox cb : blmCombos){
model = new DefaultComboBoxModel();
model.addElement("");
for (String scan: ret){
model.addElement(scan);
}
cb.setModel(model);
}
if (App.hasArgument("ws")){
comboWireScanner.setSelectedItem(App.getArgumentValue("ws"));
}
@@ -150,9 +163,12 @@ public class WireScan extends Panel {
buttonScan.setEnabled((state==State.Ready) && validWireScan && homed);
buttonAbort.setEnabled(state==State.Busy);
comboScanType.setEnabled(validWireScan);
comboBpm1.setEnabled(validWireScan);
comboBpm2.setEnabled(validWireScan);
comboBpm3.setEnabled(validWireScan);
for (JComboBox cb : bpmCombos){
cb.setEnabled(validWireScan);
}
for (JComboBox cb : blmCombos){
cb.setEnabled(validWireScan);
}
buttonMotorPanel.setEnabled(validWireScan);
buttonScannerPanel.setEnabled(validWireScan);
buttonHoming.setEnabled(validWireScan);
@@ -317,6 +333,12 @@ public class WireScan extends Panel {
spinnerEndY = new javax.swing.JSpinner();
jLabel15 = new javax.swing.JLabel();
panelPosition1 = new ch.psi.pshell.swing.DeviceValuePanel();
jLabel16 = new javax.swing.JLabel();
comboBlm3 = new javax.swing.JComboBox();
jLabel17 = new javax.swing.JLabel();
comboBlm2 = new javax.swing.JComboBox();
comboBlm1 = new javax.swing.JComboBox();
jLabel18 = new javax.swing.JLabel();
comboWireScanner.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -452,6 +474,15 @@ public class WireScan extends Panel {
jLabel15.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel15.setText("Trigger(Hz):");
jLabel16.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel16.setText("BLM 3:");
jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel17.setText("BLM 2:");
jLabel18.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel18.setText("BLM 1:");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
@@ -479,9 +510,12 @@ public class WireScan extends Panel {
.addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel10, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(labelStartY, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(labelStartY, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel18, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel16, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel17, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(comboScanType, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
@@ -511,7 +545,10 @@ public class WireScan extends Panel {
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spinnerStartY)
.addComponent(panelStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 324, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 0, Short.MAX_VALUE))))
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(comboBlm3, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(comboBlm2, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(comboBlm1, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel15)
@@ -598,7 +635,19 @@ public class WireScan extends Panel {
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(comboBpm3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5))
.addGap(18, 24, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel18)
.addComponent(comboBlm1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(comboBlm2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel17))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(comboBlm3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel16))
.addGap(18, 18, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(jLabel11)
.addComponent(panelPosition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
@@ -623,7 +672,7 @@ public class WireScan extends Panel {
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(jLabel10)
.addComponent(panelStatus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 24, Short.MAX_VALUE)
.addGap(18, 18, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(buttonAbort)
.addComponent(buttonScan)
@@ -655,10 +704,16 @@ public class WireScan extends Panel {
for (JComboBox cb : bpmCombos){
cb.setSelectedItem("");
}
for (JComboBox cb : blmCombos){
cb.setSelectedItem("");
}
} else {
List<String> ret = (List<String>) ((Plugin)this).eval("get_wire_scanners_bpms('" + currentScannner + "')", true);
comboBpm1.setSelectedItem((ret==null) ? "" : ret.get(0));
comboBpm2.setSelectedItem((ret==null) ? "" : ret.get(1));
ret = (List<String>) ((Plugin)this).eval("get_wire_scanners_blms('" + currentScannner + "')", true);
comboBlm1.setSelectedItem((ret==null) ? "" : ret.get(0));
comboBlm2.setSelectedItem((ret==null) ? "" : ret.get(1));
int selection = Epics.get(currentScannner + ":WIRE_SP", Integer.class);
//comboSelection.setSelectedIndex(selection); //TODO: FIX
spinnerVel.setValue(Epics.get(currentScannner + ":SCAN_VELO_SP", Double.class));
@@ -690,6 +745,9 @@ public class WireScan extends Panel {
for (JComboBox cb : bpmCombos){
cb.setSelectedItem("");
}
for (JComboBox cb : blmCombos){
cb.setSelectedItem("");
}
}
onStateChange(getState(), getState());
}//GEN-LAST:event_comboWireScannerActionPerformed
@@ -734,6 +792,11 @@ public class WireScan extends Panel {
}
parameters.add(bpms);
ArrayList blms = new ArrayList();
for (JComboBox cb : blmCombos){
if (!cb.getSelectedItem().toString().isEmpty()){
blms.add(cb.getSelectedItem().toString());
}
}
parameters.add(blms);
getContext().addScanListener(scanListener);
@@ -830,6 +893,9 @@ public class WireScan extends Panel {
private javax.swing.JButton buttonPark;
private javax.swing.JButton buttonScan;
private javax.swing.JButton buttonScannerPanel;
private javax.swing.JComboBox comboBlm1;
private javax.swing.JComboBox comboBlm2;
private javax.swing.JComboBox comboBlm3;
private javax.swing.JComboBox comboBpm1;
private javax.swing.JComboBox comboBpm2;
private javax.swing.JComboBox comboBpm3;
@@ -842,6 +908,9 @@ public class WireScan extends Panel {
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;