00001 package GuiComponents.SctApi;
00002
00003 import javax.swing.*;
00004 import java.awt.*;
00005 import java.awt.event.*;
00006
00007 public class TriggerSelect extends JDialog {
00008 Sct_SctApi.SctApi api;
00009 Sct_SctApi.Trigger trigger;
00010
00011 String [] comboStrings = {"L1A", "L1A+L1A", "CAL+L1A", "P+L1A",
00012 "SR+L1A", "SR+CAL+L1A", "SR+P+L1A",
00013 "BCR+L1A", "BCR+CAL+L1A", "BC+P+L1A"};
00014
00015 JComboBox combo;
00016
00017 JTextField delay1Text;
00018 JTextField delay2Text;
00019 JTextField delayText;
00020 JTextField incText;
00021
00022 TriggerSelect(Sct_SctApi.SctApi a, Sct_SctApi.Trigger trig) {
00023 super((JFrame)null, "Edit trigger", true);
00024
00025 api = a;
00026 trigger = trig;
00027
00028
00029
00030 JPanel controls = new JPanel();
00031
00032 combo = new JComboBox(comboStrings);
00033 controls.add(new JLabel("Trigger Type"));
00034 controls.add(combo);
00035
00036 controls.add(new JLabel("Delay1"));
00037 delay1Text = new JTextField("0", 5);
00038 controls.add(delay1Text);
00039 controls.add(new JLabel("Delay2"));
00040 delay2Text = new JTextField("0", 5);
00041 controls.add(delay2Text);
00042
00043 controls.add(new JLabel("Delay To Increment"));
00044 delayText = new JTextField("0", 5);
00045 controls.add(delayText);
00046 controls.add(new JLabel("Increment"));
00047 incText = new JTextField("0", 5);
00048 controls.add(incText);
00049
00050 getContentPane().add(controls);
00051 }
00052
00053 void modifyTrigger() {
00054 String type = (String)combo.getSelectedItem();
00055
00056 short delay1 = Short.parseShort(delay1Text.getText());
00057 short delay2 = Short.parseShort(delay2Text.getText());
00058
00059 if(type.equals("L1A")) { trigger.singleL1A(); }
00060 else if(type.equals("L1A+L1A")) { trigger.doubleL1A(delay1); }
00061 else if(type.equals("CAL+L1A")) { trigger.calL1A(delay1); }
00062 else if(type.equals("P+L1A")) { trigger.pulseL1A(delay1); }
00063 else if(type.equals("SR+L1A")) { trigger.softL1A(delay1); }
00064 else if(type.equals("SR+CAL+L1A")) { trigger.softCalL1A(delay1, delay2); }
00065 else if(type.equals("SR+P+L1A")) { trigger.softPulseL1A(delay1, delay2); }
00066 else if(type.equals("BCR+L1A")) { trigger.bcL1A(delay1); }
00067 else if(type.equals("BCR+CAL+L1A")) { trigger.bcCalL1A(delay1, delay2); }
00068 else if(type.equals("BC+P+L1A")) { trigger.bcPulseL1A(delay1, delay2); }
00069 else {
00070
00071 }
00072
00073 short delayIncr = Short.parseShort(delayText.getText());
00074 short increment = Short.parseShort(incText.getText());
00075
00076 if(delayIncr == 0) {
00077 trigger.setCommIncr((short)1, increment);
00078 } else if(delayIncr == 1) {
00079 trigger.setCommIncr((short)3, increment);
00080 }
00081 }
00082 }