Index: /trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java
===================================================================
--- /trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java	(revision 89)
+++ /trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java	(revision 91)
@@ -1556,5 +1556,6 @@
             script.incidents.get(oldIncidentIndex).description = addIncidentDescription.getText();
             script.incidents.get(oldIncidentIndex).setOffset(((int) addIncidentStart.getValue()) * 60);
-            if (!scriptContainsLogNum(script, (int) addIncidentNumber.getValue()))
+            if ((int) addIncidentNumber.getValue() == script.incidents.get(oldIncidentIndex).number
+                    || !scriptContainsLogNum(script, (int) addIncidentNumber.getValue()))
             {
                 script.incidents.get(oldIncidentIndex).number = (int) addIncidentNumber.getValue();
@@ -1702,18 +1703,23 @@
         if (i != null)
         {
-            editingIncident = true;
-            oldIncidentIndex = script.incidents.indexOf(i);
-
-            addIncidentName.setText(i.name);
-            addIncidentNumber.setValue(i.number);
-            addIncidentStart.setValue(i.offset / 60);
-            addIncidentLength.setValue(i.length / 60);
-            incidentColorField.setBackground(i.color);
-            selectedColor = i.color;
-            addIncidentDescription.setText(i.description);
-
-            incidentFrame.setVisible(true);
+            incidentDetailsScreen(i);
         }
     }//GEN-LAST:event_incidentDetailsActionPerformed
+
+    public void incidentDetailsScreen(ScriptIncident i)
+    {
+        editingIncident = true;
+        oldIncidentIndex = script.incidents.indexOf(i);
+
+        addIncidentName.setText(i.name);
+        addIncidentNumber.setValue(i.number);
+        addIncidentStart.setValue(i.offset / 60);
+        addIncidentLength.setValue(i.length / 60);
+        incidentColorField.setBackground(i.color);
+        selectedColor = i.color;
+        addIncidentDescription.setText(i.description);
+
+        incidentFrame.setVisible(true);
+    }
 
     /**
@@ -1980,5 +1986,5 @@
                 this,
                 "Select Incident:",
-                "Save Incident",
+                "Delete Incident",
                 JOptionPane.PLAIN_MESSAGE,
                 null,
Index: /trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java
===================================================================
--- /trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 90)
+++ /trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 91)
@@ -130,5 +130,33 @@
             public void actionPerformed(ActionEvent e)
             {
-                JOptionPane.showMessageDialog(null, e.getActionCommand() + " will be handled here.");
+                JFrame topFrame = (JFrame) getTopLevelAncestor();
+                if (topFrame instanceof ScriptBuilderFrame)
+                {
+                    SimulationScript script = ((ScriptBuilderFrame) topFrame).getScript();
+                    if (e.getActionCommand().equals("Edit Events"))
+                    {
+                        IncidentEditorFrame editor = new IncidentEditorFrame(incident);
+                        script.addObserver(editor);
+                        editor.setVisible(true);
+                        ((ScriptBuilderFrame) topFrame).update(script, script);
+                    }
+                    if (e.getActionCommand().equals("Modify Incident Properties"))
+                    {
+                        ((ScriptBuilderFrame) topFrame).incidentDetailsScreen(incident);
+                        ((ScriptBuilderFrame) topFrame).update(script, script);
+                    }
+                    if (e.getActionCommand().equals("Delete Incident"))
+                    {
+                        int confirm = JOptionPane.showConfirmDialog(((ScriptBuilderFrame) topFrame),
+                                "Are you sure you want to delete " + incident.toString() + "?");
+                        if (confirm == JOptionPane.YES_OPTION)
+                        {
+                            script.incidents.remove(incident);
+                            script.incidents.add(null);
+                            ((ScriptBuilderFrame) topFrame).update(script, script);
+                        }
+                    }
+                }
+                topFrame.repaint();
             }
         }
