This commit is contained in:
boccioli_m
2015-10-16 08:06:50 +02:00
parent e9eab66a8c
commit 1edc492f93
4 changed files with 191 additions and 79 deletions

View File

@@ -22,20 +22,20 @@
<Group type="102" attributes="0">
<Component id="jLabel7" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jTextField7" min="-2" pref="100" max="-2" attributes="0"/>
<Component id="jTextDist" min="-2" pref="100" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jLabel3" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jTextField3" min="-2" pref="100" max="-2" attributes="0"/>
<Component id="jTextIst2" min="-2" pref="100" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jTextField1" min="-2" pref="100" max="-2" attributes="0"/>
<Component id="jTextSta" min="-2" pref="100" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jLabel2" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jTextField2" min="-2" pref="100" max="-2" attributes="0"/>
<Component id="jTextIst1" min="-2" pref="100" max="-2" attributes="0"/>
</Group>
</Group>
<EmptySpace type="unrelated" max="-2" attributes="0"/>
@@ -43,12 +43,12 @@
<Group type="102" attributes="0">
<Component id="jLabel5" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jTextField5" min="-2" pref="100" max="-2" attributes="0"/>
<Component id="jTextRef1" min="-2" pref="100" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<Component id="jLabel6" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jTextField6" max="32767" attributes="0"/>
<Component id="jTextRef2" min="-2" pref="100" max="-2" attributes="0"/>
</Group>
</Group>
<EmptySpace max="-2" attributes="0"/>
@@ -56,12 +56,12 @@
<Group type="102" attributes="0">
<Component id="jLabel4" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jTextField4" min="-2" pref="100" max="-2" attributes="0"/>
<Component id="jTextDir" min="-2" pref="100" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<Component id="jLabel8" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jTextField8" min="-2" pref="100" max="-2" attributes="0"/>
<Component id="jTextRes" min="-2" pref="100" max="-2" attributes="0"/>
</Group>
</Group>
<EmptySpace type="unrelated" max="-2" attributes="0"/>
@@ -79,24 +79,24 @@
<Group type="102" attributes="0">
<Group type="103" groupAlignment="3" attributes="0">
<Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextField1" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextSta" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextField2" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextIst1" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jLabel5" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextField5" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextRef1" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jLabel4" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextField4" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextDir" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="jLabel3" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextField3" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextIst2" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jLabel6" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextField6" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextRef2" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jLabel7" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextField7" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextDist" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jLabel8" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextField8" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jTextRes" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
</Group>
@@ -111,7 +111,7 @@
<Property name="text" type="java.lang.String" value="STA:"/>
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="jTextField1">
<Component class="javax.swing.JTextField" name="jTextSta">
<Properties>
<Property name="text" type="java.lang.String" value="jTextField1"/>
</Properties>
@@ -121,7 +121,7 @@
<Property name="text" type="java.lang.String" value="IST1:"/>
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="jTextField2">
<Component class="javax.swing.JTextField" name="jTextIst1">
<Properties>
<Property name="text" type="java.lang.String" value="jTextField1"/>
</Properties>
@@ -131,7 +131,7 @@
<Property name="text" type="java.lang.String" value="IST2:"/>
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="jTextField3">
<Component class="javax.swing.JTextField" name="jTextIst2">
<Properties>
<Property name="text" type="java.lang.String" value="jTextField1"/>
</Properties>
@@ -141,7 +141,7 @@
<Property name="text" type="java.lang.String" value="Direction:"/>
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="jTextField4">
<Component class="javax.swing.JTextField" name="jTextDir">
<Properties>
<Property name="text" type="java.lang.String" value="jTextField1"/>
</Properties>
@@ -151,7 +151,7 @@
<Property name="text" type="java.lang.String" value="REF1:"/>
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="jTextField5">
<Component class="javax.swing.JTextField" name="jTextRef1">
<Properties>
<Property name="text" type="java.lang.String" value="jTextField1"/>
</Properties>
@@ -161,7 +161,7 @@
<Property name="text" type="java.lang.String" value="REF2:"/>
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="jTextField6">
<Component class="javax.swing.JTextField" name="jTextRef2">
<Properties>
<Property name="text" type="java.lang.String" value="jTextField1"/>
</Properties>
@@ -171,15 +171,15 @@
<Property name="text" type="java.lang.String" value="DIST:"/>
</Properties>
</Component>
<Component class="javax.swing.JTextField" name="jTextField7">
<Component class="javax.swing.JTextField" name="jTextDist">
<Properties>
<Property name="text" type="java.lang.String" value="jTextField1"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jTextField7ActionPerformed"/>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jTextDistActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JTextField" name="jTextField8">
<Component class="javax.swing.JTextField" name="jTextRes">
<Properties>
<Property name="text" type="java.lang.String" value="jTextField1"/>
</Properties>

View File

@@ -27,57 +27,57 @@ public class Kollimators extends javax.swing.JPanel {
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jTextSta = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jTextIst1 = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jTextIst2 = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
jTextField4 = new javax.swing.JTextField();
jTextDir = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
jTextField5 = new javax.swing.JTextField();
jTextRef1 = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jTextField6 = new javax.swing.JTextField();
jTextRef2 = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
jTextField7 = new javax.swing.JTextField();
jTextField8 = new javax.swing.JTextField();
jTextDist = new javax.swing.JTextField();
jTextRes = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jLabel1.setText("STA:");
jTextField1.setText("jTextField1");
jTextSta.setText("jTextField1");
jLabel2.setText("IST1:");
jTextField2.setText("jTextField1");
jTextIst1.setText("jTextField1");
jLabel3.setText("IST2:");
jTextField3.setText("jTextField1");
jTextIst2.setText("jTextField1");
jLabel4.setText("Direction:");
jTextField4.setText("jTextField1");
jTextDir.setText("jTextField1");
jLabel5.setText("REF1:");
jTextField5.setText("jTextField1");
jTextRef1.setText("jTextField1");
jLabel6.setText("REF2:");
jTextField6.setText("jTextField1");
jTextRef2.setText("jTextField1");
jLabel7.setText("DIST:");
jTextField7.setText("jTextField1");
jTextField7.addActionListener(new java.awt.event.ActionListener() {
jTextDist.setText("jTextField1");
jTextDist.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField7ActionPerformed(evt);
jTextDistActionPerformed(evt);
}
});
jTextField8.setText("jTextField1");
jTextRes.setText("jTextField1");
jLabel8.setText("Resolution:");
@@ -93,39 +93,39 @@ public class Kollimators extends javax.swing.JPanel {
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextDist, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jTextIst2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextSta, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(jTextIst1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jTextRef1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField6)))
.addComponent(jTextRef2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jTextDir, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(jTextRes, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton1)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
@@ -139,31 +139,46 @@ public class Kollimators extends javax.swing.JPanel {
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextSta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextIst1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextRef1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jTextDir, 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(jLabel3)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextIst2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextRef2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7)
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextDist, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8)
.addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addComponent(jTextRes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
}// </editor-fold>//GEN-END:initComponents
private void jTextField7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField7ActionPerformed
private void jTextDistActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextDistActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jTextField7ActionPerformed
}//GEN-LAST:event_jTextDistActionPerformed
/**
* animate the panel (caget/caset). Called from TestingList
* @param deviceName
*/
public void animate(String deviceName){
this.jTextDir.setText(deviceName+"?");
this.jTextDist.setText(deviceName+"?");
this.jTextIst1.setText(deviceName+":IST1:1");
this.jTextIst2.setText(deviceName+":IST2:1");
this.jTextRef1.setText(deviceName+":REF1:1");
this.jTextRef2.setText(deviceName+":REF2:1");
this.jTextRes.setText(deviceName+"?");
this.jTextSta.setText(deviceName+":STA:2");
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
@@ -175,13 +190,13 @@ public class Kollimators extends javax.swing.JPanel {
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField jTextField6;
private javax.swing.JTextField jTextField7;
private javax.swing.JTextField jTextField8;
private javax.swing.JTextField jTextDir;
private javax.swing.JTextField jTextDist;
private javax.swing.JTextField jTextIst1;
private javax.swing.JTextField jTextIst2;
private javax.swing.JTextField jTextRef1;
private javax.swing.JTextField jTextRef2;
private javax.swing.JTextField jTextRes;
private javax.swing.JTextField jTextSta;
// End of variables declaration//GEN-END:variables
}

View File

@@ -11,7 +11,9 @@ import ch.psi.pshell.ui.Panel;
import ch.psi.pshell.ui.Plugin;
import ch.psi.pshell.ui.View;
import ch.psi.utils.swing.SwingUtils;
import ch.psi.utils.swing.SwingUtils.OptionType;
import ch.psi.wsaf.Task;
import java.awt.Component;
import java.awt.Point;
import java.io.BufferedReader;
import java.io.File;
@@ -34,6 +36,7 @@ import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
@@ -299,8 +302,7 @@ public class TestingList extends Panel {
* initialise panel
*/
private void initialise(){
initComponents();
//closeCustomPanel();
initComponents();
initLogger();
buildTable();
@@ -441,6 +443,21 @@ public class TestingList extends Panel {
}
/**
* get the presently active custom panel
*
* @return custom panel as component
*/
private Component getCustomPanel(){
Component customPanel = null;
if(this.jPanelCustomFrame.getComponentCount() >0){
Component components[] = this.jPanelCustomFrame.getComponents();
//there is only one component
customPanel = components[0];
}
return customPanel;
}
/**
* add custom panel if specified.
* Custom panels are java classes. To add a new custom panel MyNewPanel:
@@ -453,15 +470,51 @@ public class TestingList extends Panel {
*/
private void loadCustomPanel(String sPanelClassName){
closeCustomPanel();
if (sPanelClassName == null || sPanelClassName == "") {
if (sPanelClassName == null || sPanelClassName.trim() == "" || sPanelClassName.isEmpty()) {
return;
}
//if a custom panel is shown, the tests cannot be run in parallel,
//they can only be run in series (one after the other).
boolean changeSequenceToAfter = true;// = SwingUtils.OptionResult.No;
for (int row = 0; row < jTable1.getRowCount(); row++) {
try{
if(jTable1.getValueAt(row, COL.STARTSEQUENCE.ordinal())==null) continue;
String sStartSequence = String.valueOf(jTable1.getValueAt(row, COL.STARTSEQUENCE.ordinal()));
if(sStartSequence.equals(StartSequence.TOGETHER.toString())){
SwingUtils.OptionResult ret = SwingUtils.showOption(this, "checkDataFields()",
"A custom panel " +
" is active. Tests can only run in sequence (one after the other). \nDo you want to set tests in sequence?",
OptionType.YesNoCancel);
if(ret == SwingUtils.OptionResult.Yes){
changeSequenceToAfter = true ;
} else {
changeSequenceToAfter = false ;
}
break;
}
} catch (NullPointerException ex){
continue;
}
}
//Set all active tests sequence to "After previous"
if(changeSequenceToAfter ){
for (int row = 0; row < jTable1.getRowCount(); row++) {
boolean bSelected = (boolean) jTable1.getValueAt(row, COL.CHECK.ordinal());
if(bSelected){
jTable1.setValueAt(StartSequence.AFTER.toString(), row, COL.STARTSEQUENCE.ordinal());
}
}
} else { //user does not wat to change running sequence from parallel to sequential
return;
}
try {
//create a class to visualise the details panel
Class panelClass = getController().getClassByName(sPanelClassName);
JPanel detailsPanel = (JPanel) panelClass.getConstructor(new Class[]{String.class}).newInstance(new Object[]{""});
this.jPanelCustomFrame.add(detailsPanel);
this.jLabelCustomPanelName.setText(sPanelClassName);
this.jLabelCustomPanelName.setText("Custom panel: "+sPanelClassName);
repaint();
revalidate();
//store custom panel in the properties
@@ -483,6 +536,8 @@ public class TestingList extends Panel {
Logger.getLogger(TestingList.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
* write info into a log file
* @param text the info to be logged
@@ -1270,6 +1325,7 @@ public class TestingList extends Panel {
//if only enabled tests are visible, disable the move buttons
this.jButtonMoveUp.setEnabled(!show);
this.jButtonMoveDown.setEnabled(!show);
//check related checkboxes
jCheckBoxMenuShowSelectedTests.setSelected(show);
jCheckBoxMenuShowSelectedTests1.setSelected(show);
}
@@ -1348,6 +1404,7 @@ public class TestingList extends Panel {
/**
* move selected rows up in table
*
*/
private void moveUp() {
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
@@ -1443,6 +1500,39 @@ public class TestingList extends Panel {
dlg.pack();
dlg.setVisible(true);
}
/**
* Starts animating the custom panel, if present
*
* Note: the custom panel must have the public method "animate(String deviceName)"
*
* @param deviceName name of the device. The panel should then append the epics PV to the device name for caget/caset
*/
public void animateCustomPanel(String deviceName) {
try {
Component customPanel = getCustomPanel();
//if no custom panel: nothing to do
if(customPanel==null) return;
//call the method "animate" of the custom panel (this function must be there)
Class[] cArg = new Class[1];
cArg[0] = String.class;
Method animate = customPanel.getClass().getMethod("animate", cArg);
System.out.println("method = " + animate.toString());
animate.invoke(customPanel, deviceName);
} catch (NoSuchMethodException ex) {
System.out.println("animateCustomPanel(): "+String.valueOf(ex));
} catch (SecurityException ex) {
System.out.println("animateCustomPanel(): "+String.valueOf(ex));
} catch (IllegalAccessException ex) {
System.out.println("animateCustomPanel(): "+String.valueOf(ex));
} catch (IllegalArgumentException ex) {
System.out.println("animateCustomPanel(): "+String.valueOf(ex));
} catch (InvocationTargetException ex) {
System.out.println("animateCustomPanel(): "+String.valueOf(ex));
} catch (Exception ex){
System.out.println("animateCustomPanel(): "+String.valueOf(ex));
}
}
/**
* put the test result in table
@@ -1708,7 +1798,7 @@ public class TestingList extends Panel {
int[] selectedTestsRows = {};
//scan through the table starting from 'position' and execute the first selected test found
int row = 0;// position;
if (row >= 0 && row < jTable1.getRowCount()) {
if (row < jTable1.getRowCount()) {
for (row = position; row < jTable1.getRowCount(); row++) {
bSelected = (boolean) jTable1.getValueAt(row, COL.CHECK.ordinal());
sStartSequence = jTable1.getValueAt(row, COL.STARTSEQUENCE.ordinal()).toString();
@@ -1765,7 +1855,7 @@ public class TestingList extends Panel {
testArgs.put(testArgNames.STATUS.toString(), false);
return testArgs;
}
}
/**
* convert HashMap string separators to python dictionary string
@@ -1871,7 +1961,7 @@ public class TestingList extends Panel {
int i = 0;
int iTotalEntries = hTests.entrySet().size();
HashMap args = new HashMap();
System.out.println("hTests: "+hTests.entrySet().toString());
//System.out.println("hTests: "+hTests.entrySet().toString());
if(hTests.isEmpty()) return iRet;
for (Map.Entry<String, HashMap> hTest : hTests.entrySet()) {
sTestPath = (String) hTest.getValue().get(testArgNames.TEST_PATH.toString());
@@ -1889,7 +1979,10 @@ public class TestingList extends Panel {
sParallelizeCommand = sParallelizeCommand + ")))"; //very last part of command "parallelize"
}
}
System.out.println(sParallelizeCommand);
//animate the custom panel (if present)
animateCustomPanel(sDeviceName);
//System.out.println(sParallelizeCommand);
//run test(s)
Object ret = eval(sParallelizeCommand);
System.out.println(ret);
String sTestResult, sTestStatus;
@@ -1986,6 +2079,10 @@ public class TestingList extends Panel {
updateStatus();
}
/**
* hide a specific column
* @param column column to hide
*/
private void hideColumn(COL column) {
jTable1.getColumnModel().getColumn(column.ordinal()).setMinWidth(0);
jTable1.getColumnModel().getColumn(column.ordinal()).setMaxWidth(0);

View File

@@ -1,5 +1,5 @@
#TestingList for pshell: configuration properties
#Thu Oct 15 11:46:28 CEST 2015
customPanel=
#Fri Oct 16 08:06:48 CEST 2015
customPanel=Kollimators
showEnabledTestsOnly=true
listFilter=parallelizeOneTest