Index: trunk/src/event/editor/frame/Editor.form
===================================================================
--- trunk/src/event/editor/frame/Editor.form	(revision 119)
+++ trunk/src/event/editor/frame/Editor.form	(revision 134)
@@ -161,4 +161,7 @@
                 <Property name="text" type="java.lang.String" value="Audio"/>
               </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="AudioActionPerformed"/>
+              </Events>
             </MenuItem>
             <MenuItem class="javax.swing.JMenuItem" name="CADLog">
Index: trunk/src/event/editor/frame/Properties.java
===================================================================
--- trunk/src/event/editor/frame/Properties.java	(revision 93)
+++ trunk/src/event/editor/frame/Properties.java	(revision 134)
@@ -6,51 +6,57 @@
 import java.awt.Image;
 import java.awt.image.BufferedImage;
+import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.events.*;
+import scriptbuilder.structures.events.I_ScriptEvent;
 
 public enum Properties
 {
     ATMS                ("ATMS", PropertyTypes.Optional,
-        loadImage(Images.getImage("ATMSEval.png"))),
+        loadImage(Images.getImage("ATMSEval.png")), new ATMSEvaluationEvent()),
     ActivityLog         ("Activity Log", PropertyTypes.Optional,
-        loadImage(Images.getImage("ActivityLogEval.png"))),
+        loadImage(Images.getImage("ActivityLogEval.png")), new ActivityLogEvaluationEvent()),
     CAD                 ("CAD", PropertyTypes.Optional,
-        loadImage(Images.getImage("CADEval.png"))),
+        loadImage(Images.getImage("CADEval.png")), new CADEvaluationEvent()),
     Facilitator         ("Faciliatator", PropertyTypes.Optional,
-        loadImage(Images.getImage("FacilitatorEval.png"))),
+        loadImage(Images.getImage("FacilitatorEval.png")), new FacilitatorEvaluationEvent()),
     Radio               ("Radio", PropertyTypes.Optional,
-        loadImage(Images.getImage("RadioEval.png"))),
+        loadImage(Images.getImage("RadioEval.png")), new RadioEvaluationEvent()),
     MaintenanceRadio    ("Maintenance Radio", PropertyTypes.Optional,
-        loadImage(Images.getImage("MaintenanceRadio.png"))),
+        loadImage(Images.getImage("MaintenanceRadio.png")), new MaintenanceRadioEvent()),
     TMTRadio            ("TMT Radio", PropertyTypes.Optional,
-        loadImage(Images.getImage("TMTRadio.png"))),
+        loadImage(Images.getImage("TMTRadio.png")), new TMTRadioEvent()),
     Telephone           ("Telephone", PropertyTypes.Optional,
-        loadImage(Images.getImage("Telephone.png"))),
+        loadImage(Images.getImage("Telephone.png")), new TelephoneEvent()),
     CHPRadio            ("CHP Radio",PropertyTypes.Optional,
-        loadImage(Images.getImage("CHPRadio.png"))),
+        loadImage(Images.getImage("CHPRadio.png")), new CHPRadioEvent()),
     CMS                 ("CMS", PropertyTypes.Multiple,
-        loadImage(Images.getImage("CMSEval.png"))),
+        loadImage(Images.getImage("CMSEval.png")), new CMSEvaluationEvent()),
     Audio               ("Audio", PropertyTypes.Multiple,
-        loadImage(Images.getImage("Audio.png"))),
+        loadImage(Images.getImage("Audio.png")), new AudioEvent()),
     CCTV                ("CCTV", PropertyTypes.Multiple,
-        loadImage(Images.getImage("CCTV.png"))),
+        loadImage(Images.getImage("CCTV.png")), new CCTVEvent()),
     CADLog              ("CAD Log", PropertyTypes.Multiple,
-        loadImage(Images.getImage("CAD.png"))),
+        loadImage(Images.getImage("CAD.png")), new CADEvent()),
     Paramics            ("Paramics", PropertyTypes.Multiple,
-        loadImage(Images.getImage("Paramics.png"))),
+        loadImage(Images.getImage("Paramics.png")), new ParamicsEvent()),
     Tow                 ("Tow", PropertyTypes.Multiple,
-        loadImage(Images.getImage("Tow.png"))),
+        loadImage(Images.getImage("Tow.png")), new TowEvent()),
     Unit                ("Unit", PropertyTypes.Multiple,
-        loadImage(Images.getImage("Unit.png"))),
+        loadImage(Images.getImage("Unit.png")), new UnitEvent()),
     Witness             ("Witness", PropertyTypes.Multiple,
-        loadImage(Images.getImage("Witness.png")));
+        loadImage(Images.getImage("Witness.png")), new WitnessEvent());
 
     private String title;
     private PropertyTypes type;
     private ImageIcon image;
+    private I_ScriptEvent sevt;
 
-    private Properties(String theTitle, PropertyTypes theType, ImageIcon theImage)
+    private Properties(String theTitle, PropertyTypes theType, ImageIcon theImage, I_ScriptEvent se)
     {
         title = theTitle;
         type = theType;
         image = theImage;
+        sevt = se;
     }
 
@@ -58,4 +64,9 @@
     {
         return title;
+    }
+    
+    public I_ScriptEvent getEvent()
+    {
+        return ScriptEvent.factoryByType(sevt.getScriptEventType());
     }
 
Index: trunk/src/event/editor/frame/PropertyModel.java
===================================================================
--- trunk/src/event/editor/frame/PropertyModel.java	(revision 130)
+++ trunk/src/event/editor/frame/PropertyModel.java	(revision 134)
@@ -23,4 +23,6 @@
 import java.util.TreeMap;
 import javax.swing.JPanel;
+import scriptbuilder.structures.ScriptIncident;
+import scriptbuilder.structures.TimeSlice;
 import scriptbuilder.structures.events.I_ScriptEvent;
 
@@ -82,4 +84,27 @@
         }
     }
+    
+    public void addEventFromDropdown(Properties property, ScriptIncident inc, TimeSlice ts)
+    {
+        try
+        {
+            I_ScriptEvent se = property.getEvent();
+            
+            inc.addNewEvent(se, ts.getTime());
+            
+            JPanel panel = (JPanel) classMap.get(property).newInstance();
+
+            final PropertyPanel propertyPanel = properties.addPropertyPanel(property, panel);
+            if (panel instanceof I_ScriptEventEditorPanel)
+            {
+                eventMap.put(panel, se);
+                ((I_ScriptEventEditorPanel) panel).getEventObject(se);
+            }
+        }
+        catch (Exception e)
+        {
+            System.err.println("Could not create panel of type \"" + property + "\"");
+        }
+    }
 
     public void removeProperty(Properties property)
Index: trunk/src/event/editor/frame/Editor.java
===================================================================
--- trunk/src/event/editor/frame/Editor.java	(revision 130)
+++ trunk/src/event/editor/frame/Editor.java	(revision 134)
@@ -28,8 +28,4 @@
     private PropertyModel model = new PropertyModel();
 
-//    public PropertyModel getPropertyModel()
-//    {
-//        return model;
-//    }
     public void addEvent(Properties property, I_ScriptEvent se)
     {
@@ -69,5 +65,5 @@
             if (src.isSelected())
             {
-                model.addEventPanel(property, new CCTVEvent());
+                model.addEventFromDropdown(property, incident, slice);
             }
             else
@@ -83,5 +79,6 @@
         {
             JMenuItem src = (JMenuItem) evt.getSource();
-            model.addEventPanel(Properties.valueOf(src.getText().replaceAll(" ", "")), new CCTVEvent());
+            Properties property = Properties.valueOf(src.getText().replaceAll(" ", ""));
+            model.addEventFromDropdown(property, incident, slice);
         }
     };
@@ -356,4 +353,11 @@
         Audio.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/Audio.png"))); // NOI18N
         Audio.setText("Audio");
+        Audio.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                AudioActionPerformed(evt);
+            }
+        });
         menuAutoData.add(Audio);
 
@@ -461,4 +465,9 @@
 
     }//GEN-LAST:event_btnRemoveCurrentEventActionPerformed
+
+    private void AudioActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_AudioActionPerformed
+    {//GEN-HEADEREND:event_AudioActionPerformed
+        // TODO add your handling code here:
+    }//GEN-LAST:event_AudioActionPerformed
 
     private void updateEventTime()
