Clover coverage report - clover
Coverage timestamp: Sat Oct 8 2005 22:54:17 EDT
file stats: LOC: 115   Methods: 2
NCLOC: 102   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
EventEditor.java 50% 58.6% 100% 57.9%
coverage coverage
 1   
 package abbot.editor.editors;
 2   
 
 3   
 import javax.swing.*;
 4   
 import java.util.*;
 5   
 
 6   
 import abbot.Log;
 7   
 import abbot.script.*;
 8   
 import abbot.tester.ComponentTester;
 9   
 
 10   
 /** Edit a raw AWTEvent. */
 11   
 
 12   
 public class EventEditor extends StepEditor {
 13   
 
 14   
     private Event event;
 15   
     JComboBox type;
 16   
     JComboBox kind;
 17   
     JComboBox cref;
 18   
     private boolean ignoreCombo = false;
 19   
 
 20   
     JTextField xValue;
 21   
     JTextField yValue;
 22   
 
 23   
     JTextField keyCode;
 24   
 
 25  2
     public EventEditor(Event event) {
 26  2
         super(event);
 27  2
         this.event = event;
 28  2
         String idtype = event.getType();
 29  2
         String idkind = event.getKind();
 30  2
         String[] typeValues = { "Mouse Event", "Key Event" };
 31  2
         ignoreCombo = true;
 32  2
         type = addComboBox("Type", typeValues[0], typeValues);
 33  2
         type.setEnabled(false);
 34  2
         type.setEditable(false);
 35  2
         Resolver resolver = event.getResolver();
 36  2
         String refid = event.getComponentID();
 37  2
         if ("MouseEvent".equals(idtype)) {
 38  1
             String[] kindValues = { "MOUSE_PRESSED", "MOUSE_RELEASED",
 39   
                                     "MOUSE_MOVED", "MOUSE_DRAGGED" };
 40  1
             kind = addComboBox("Kind", idkind, kindValues);
 41  1
             kind.setEditable(false);
 42  1
             kind.setEnabled(false);
 43  1
             cref = addComponentSelector("On Component", refid,
 44   
                                         resolver, false);
 45  1
             xValue = addTextField("X", event.getAttribute(XMLConstants.TAG_X));
 46  1
             yValue = addTextField("Y", event.getAttribute(XMLConstants.TAG_Y));
 47   
         }
 48  1
         else if ("KeyEvent".equals(idtype)) {
 49  1
             type.setSelectedItem(typeValues[1]);
 50  1
             String[] kindValues = { "KEY_PRESSED", "KEY_RELEASED" };
 51  1
             kind = addComboBox("Kind", idkind, kindValues);
 52  1
             kind.setEditable(false);
 53  1
             cref = addComponentSelector("On Component", refid,
 54   
                                         resolver, false);
 55   
             // FIXME make a popup w/all keycodes
 56  1
             keyCode = addTextField("Key Code", event.getAttribute(XMLConstants.TAG_KEYCODE));
 57   
         }
 58   
         else {
 59  0
             Log.warn("Unhandled ID type: " + idtype);
 60   
         }
 61  2
         ignoreCombo = false;
 62   
     }
 63   
 
 64  1
     public void actionPerformed(java.awt.event.ActionEvent ev) {
 65  1
         Object src = ev.getSource();
 66  1
         if (src == cref) {
 67  0
             event.setComponentID((String)cref.getSelectedItem());
 68  0
             fireStepChanged();
 69   
         }
 70  1
         else if (src == kind) {
 71  0
             if (!ignoreCombo) {
 72  0
                 event.setAttribute(XMLConstants.TAG_KIND, (String)kind.getSelectedItem());
 73  0
                 fireStepChanged();
 74   
             }
 75   
         }
 76  1
         else if (src == xValue) {
 77  0
             try {
 78  0
                 int value = Integer.parseInt(xValue.getText());
 79  0
                 event.setAttribute(XMLConstants.TAG_X, String.valueOf(value));
 80  0
                 xValue.setForeground(DEFAULT_FOREGROUND);
 81  0
                 fireStepChanged();
 82   
             }
 83   
             catch(NumberFormatException nfe) {
 84  0
                 xValue.setForeground(ERROR_FOREGROUND);
 85   
             }
 86   
         }
 87  1
         else if (src == yValue) {
 88  0
             try {
 89  0
                 int value = Integer.parseInt(yValue.getText());
 90  0
                 event.setAttribute(XMLConstants.TAG_Y, String.valueOf(value));
 91  0
                 yValue.setForeground(DEFAULT_FOREGROUND);
 92  0
                 fireStepChanged();
 93   
             }
 94   
             catch(NumberFormatException nfe) {
 95  0
                 yValue.setForeground(ERROR_FOREGROUND);
 96   
             }
 97   
         }
 98  1
         else if (src == keyCode) {
 99  0
             try {
 100  0
                 String codestr = keyCode.getText().trim();
 101  0
                 event.setAttribute(XMLConstants.TAG_KEYCODE, codestr);
 102  0
                 keyCode.setForeground(DEFAULT_FOREGROUND);
 103  0
                 fireStepChanged();
 104   
             }
 105   
             catch(IllegalArgumentException iae) {
 106  0
                 keyCode.setForeground(ERROR_FOREGROUND);
 107   
             }
 108   
         }
 109   
         else {
 110  1
             super.actionPerformed(ev);
 111   
         }
 112   
     }
 113   
 
 114   
 }
 115