Index: /trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java
===================================================================
--- /trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 98)
+++ /trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 101)
@@ -80,5 +80,5 @@
      * event types. Values: Properties objects for those events.
      */
-    Map<ScriptEventType, Properties> eventTypeToPropertyMap;
+    public static Map<ScriptEventType, Properties> eventTypeToPropertyMap;
 
     /**
@@ -225,15 +225,9 @@
             }
 
-            if (incident.slices.get(newSlice) != null)
-
-            {
-                for (I_ScriptEvent se : incident.slices.get(newSlice).events)
-                {
-                    if (ed != null)
-                    {
-                        ed.addProperty(eventTypeToPropertyMap.get(se.getScriptEventType()), se);
-                    }
-                }
-            }
+            if (ed != null)
+            {
+                ed.setSlice(incident.slices.get(newSlice));
+            }
+            
 
             /**
@@ -250,5 +244,5 @@
                         if (ed != null)
                         {
-                            ed.addProperty(eventTypeToPropertyMap.get(g.currentEventType), s);
+                            ed.addEvent(eventTypeToPropertyMap.get(g.currentEventType), s);
                         }
                         if (incident.slices.get(newSlice) == null)
Index: /trunk/src/event/editor/frame/PropertyModel.java
===================================================================
--- /trunk/src/event/editor/frame/PropertyModel.java	(revision 94)
+++ /trunk/src/event/editor/frame/PropertyModel.java	(revision 101)
@@ -18,6 +18,8 @@
 import java.awt.event.ActionListener;
 import java.util.EnumMap;
+import java.util.HashMap;
 import java.util.Observable;
 import java.util.Observer;
+import java.util.TreeMap;
 import javax.swing.JPanel;
 import scriptbuilder.structures.events.I_ScriptEvent;
@@ -34,4 +36,6 @@
     private EnumMap<Properties, Class> classMap
             = new EnumMap<Properties, Class>(Properties.class);
+    
+    public HashMap<JPanel, I_ScriptEvent> eventMap = new HashMap<JPanel, I_ScriptEvent>();
 
     public PropertyModel()
@@ -60,5 +64,5 @@
     }
 
-    public void addProperty(Properties property, I_ScriptEvent se)
+    public void addEventPanel(Properties property, I_ScriptEvent se)
     {
         try
@@ -69,4 +73,5 @@
             if (panel instanceof I_ScriptEventEditorPanel)
             {
+                eventMap.put(panel, se);
                 ((I_ScriptEventEditorPanel) panel).getEventObject(se);
             }
Index: /trunk/src/event/editor/frame/Editor.java
===================================================================
--- /trunk/src/event/editor/frame/Editor.java	(revision 97)
+++ /trunk/src/event/editor/frame/Editor.java	(revision 101)
@@ -8,6 +8,10 @@
 import java.util.*;
 import java.awt.event.*;
+import java.text.SimpleDateFormat;
 import scriptbuilder.gui.IncidentEditorFrame;
+import scriptbuilder.gui.panels.IncidentTimelinePanel;
+import scriptbuilder.structures.ScriptEvent;
 import scriptbuilder.structures.ScriptIncident;
+import scriptbuilder.structures.TimeSlice;
 import scriptbuilder.structures.events.*;
 
@@ -16,4 +20,8 @@
 
     IncidentEditorFrame topFrame = null;
+
+    ScriptIncident incident = null;
+
+    TimeSlice slice = null;
 
     private PropertyModel model = new PropertyModel();
@@ -23,7 +31,30 @@
 //        return model;
 //    }
-    public void addProperty(Properties property, I_ScriptEvent se)
-    {
-        model.addProperty(property, se);
+    public void addEvent(Properties property, I_ScriptEvent se)
+    {
+        model.addEventPanel(property, se);
+    }
+
+    public void setSlice(TimeSlice ts)
+    {
+        slice = ts;
+
+        if (slice != null)
+
+        {
+            for (I_ScriptEvent se : slice.events)
+            {
+
+                this.addEvent(IncidentTimelinePanel.eventTypeToPropertyMap.get(se.getScriptEventType()), se);
+
+            }
+            System.out.println("Current time = " + slice.getTime() + " seconds");
+            SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
+            df.setTimeZone(TimeZone.getTimeZone("GMT"));
+            String eventTime = df.format(new Date(slice.getTime() * 1000));
+            System.out.println("[" + eventTime + "]");
+            txtEventStart.setText(eventTime);
+        }
+
     }
 
@@ -37,5 +68,5 @@
             if (src.isSelected())
             {
-                model.addProperty(property, new CCTVEvent());
+                model.addEventPanel(property, new CCTVEvent());
             }
             else
@@ -51,5 +82,5 @@
         {
             JMenuItem src = (JMenuItem) evt.getSource();
-            model.addProperty(Properties.valueOf(src.getText().replaceAll(" ", "")), new CCTVEvent());
+            model.addEventPanel(Properties.valueOf(src.getText().replaceAll(" ", "")), new CCTVEvent());
         }
     };
@@ -62,4 +93,6 @@
         topFrame = frame;
         initComponents();
+
+        incident = frame.getIncident();
 
         model.addObserver(this);
@@ -91,4 +124,31 @@
             }
         }
+
+        String eventTime = "";
+
+        txtEventStart.setText(eventTime);
+
+        txtEventStart.addKeyListener(new KeyListener()
+        {
+
+            @Override
+            public void keyTyped(KeyEvent e)
+            {
+            }
+
+            @Override
+            public void keyPressed(KeyEvent e)
+            {
+                if (e.getKeyCode() == KeyEvent.VK_ENTER)
+                {
+                    updateEventTime();
+                }
+            }
+
+            @Override
+            public void keyReleased(KeyEvent e)
+            {
+            }
+        });
     }
 
@@ -106,4 +166,5 @@
         jTabbedPane1 = new javax.swing.JTabbedPane();
         jPanel2 = new javax.swing.JPanel();
+        txtEventStart = new javax.swing.JTextField();
         btnRemoveCurrentEvent = new javax.swing.JButton();
         jMenuBar1 = new javax.swing.JMenuBar();
@@ -143,26 +204,25 @@
         setTitle("Event Editor");
 
-        btnRemoveCurrentEvent.setText("Remove This Event");
-        btnRemoveCurrentEvent.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
-                btnRemoveCurrentEventActionPerformed(evt);
-            }
-        });
-
         org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
         jPanel2.setLayout(jPanel2Layout);
         jPanel2Layout.setHorizontalGroup(
             jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
-            .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel2Layout.createSequentialGroup()
-                .addContainerGap(701, Short.MAX_VALUE)
-                .add(btnRemoveCurrentEvent, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 226, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
-                .addContainerGap())
+            .add(0, 613, Short.MAX_VALUE)
         );
         jPanel2Layout.setVerticalGroup(
             jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
-            .add(btnRemoveCurrentEvent)
+            .add(0, 34, Short.MAX_VALUE)
         );
+
+        txtEventStart.setText("00:00:00");
+
+        btnRemoveCurrentEvent.setText("Remove This Event");
+        btnRemoveCurrentEvent.addActionListener(new java.awt.event.ActionListener()
+        {
+            public void actionPerformed(java.awt.event.ActionEvent evt)
+            {
+                btnRemoveCurrentEventActionPerformed(evt);
+            }
+        });
 
         jMenu1.setText("Evaluations");
@@ -347,5 +407,12 @@
             layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
             .add(org.jdesktop.layout.GroupLayout.TRAILING, jTabbedPane1)
-            .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+            .add(layout.createSequentialGroup()
+                .addContainerGap()
+                .add(txtEventStart, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                .add(btnRemoveCurrentEvent, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 226, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap())
         );
         layout.setVerticalGroup(
@@ -353,7 +420,10 @@
             .add(layout.createSequentialGroup()
                 .addContainerGap()
-                .add(jTabbedPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 539, Short.MAX_VALUE)
+                .add(jTabbedPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 534, Short.MAX_VALUE)
                 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
-                .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                    .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                    .add(txtEventStart, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                    .add(btnRemoveCurrentEvent)))
         );
 
@@ -386,4 +456,34 @@
 
     }//GEN-LAST:event_btnRemoveCurrentEventActionPerformed
+
+    private void updateEventTime()
+    {
+        String[] tokens = txtEventStart.getText().split(":");
+
+        int hrs = Integer.parseInt(tokens[0]);
+        int mins = Integer.parseInt(tokens[1]);
+        int secs = Integer.parseInt(tokens[2]);
+
+        int time = (3600 * hrs) + (60 * mins) + secs;
+
+        int index = jTabbedPane1.getSelectedIndex();
+
+        if (index >= 0 && jTabbedPane1.getTabComponentAt(index) != null)
+        {
+            JPanel removable = (JPanel) jTabbedPane1
+                    .getSelectedComponent();
+            I_ScriptEvent ise = this.model.eventMap.get(removable);
+            if (time != slice.getTime())
+            {
+                System.out.println("New time = " + time);
+                this.model.properties.removeProperty(removable);
+                incident.addNewEvent(ise, time);
+                SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
+                df.setTimeZone(TimeZone.getTimeZone("GMT"));
+                String eventTime = df.format(new Date(slice.getTime() * 1000));
+                txtEventStart.setText(eventTime);
+            }
+        }
+    }
 
     /**
@@ -427,4 +527,5 @@
     private javax.swing.JPanel jPanel2;
     private javax.swing.JTabbedPane jTabbedPane1;
+    private javax.swing.JTextField txtEventStart;
     // End of variables declaration//GEN-END:variables
 
Index: /trunk/src/event/editor/frame/Editor.form
===================================================================
--- /trunk/src/event/editor/frame/Editor.form	(revision 93)
+++ /trunk/src/event/editor/frame/Editor.form	(revision 101)
@@ -287,5 +287,13 @@
       <Group type="103" groupAlignment="0" attributes="0">
           <Component id="jTabbedPane1" alignment="1" max="32767" attributes="0"/>
-          <Component id="jPanel2" alignment="0" max="32767" attributes="0"/>
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="txtEventStart" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jPanel2" max="32767" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="btnRemoveCurrentEvent" min="-2" pref="226" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
       </Group>
     </DimensionLayout>
@@ -294,7 +302,11 @@
           <Group type="102" alignment="0" attributes="0">
               <EmptySpace max="-2" attributes="0"/>
-              <Component id="jTabbedPane1" pref="539" max="32767" attributes="0"/>
-              <EmptySpace max="-2" attributes="0"/>
-              <Component id="jPanel2" min="-2" max="-2" attributes="0"/>
+              <Component id="jTabbedPane1" pref="534" max="32767" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="jPanel2" min="-2" max="-2" attributes="0"/>
+                  <Component id="txtEventStart" min="-2" max="-2" attributes="0"/>
+                  <Component id="btnRemoveCurrentEvent" min="-2" max="-2" attributes="0"/>
+              </Group>
           </Group>
       </Group>
@@ -311,28 +323,27 @@
         <DimensionLayout dim="0">
           <Group type="103" groupAlignment="0" attributes="0">
-              <Group type="102" alignment="1" attributes="0">
-                  <EmptySpace pref="701" max="32767" attributes="0"/>
-                  <Component id="btnRemoveCurrentEvent" min="-2" pref="226" max="-2" attributes="0"/>
-                  <EmptySpace max="-2" attributes="0"/>
-              </Group>
+              <EmptySpace min="0" pref="613" max="32767" attributes="0"/>
           </Group>
         </DimensionLayout>
         <DimensionLayout dim="1">
           <Group type="103" groupAlignment="0" attributes="0">
-              <Component id="btnRemoveCurrentEvent" min="-2" max="-2" attributes="0"/>
+              <EmptySpace min="0" pref="34" max="32767" attributes="0"/>
           </Group>
         </DimensionLayout>
       </Layout>
-      <SubComponents>
-        <Component class="javax.swing.JButton" name="btnRemoveCurrentEvent">
-          <Properties>
-            <Property name="text" type="java.lang.String" value="Remove This Event"/>
-          </Properties>
-          <Events>
-            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnRemoveCurrentEventActionPerformed"/>
-          </Events>
-        </Component>
-      </SubComponents>
     </Container>
+    <Component class="javax.swing.JTextField" name="txtEventStart">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="00:00:00"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="btnRemoveCurrentEvent">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="Remove This Event"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnRemoveCurrentEventActionPerformed"/>
+      </Events>
+    </Component>
   </SubComponents>
 </Form>
