Index: trunk/src/scriptbuilder/gui/application.properties
===================================================================
--- trunk/src/scriptbuilder/gui/application.properties	(revision 81)
+++ trunk/src/scriptbuilder/gui/application.properties	(revision 103)
@@ -1,3 +1,3 @@
-#Fri, 25 Aug 2017 15:31:58 -0700
+#Fri, 01 Sep 2017 13:13:39 -0700
 
 Application.revision=0
Index: trunk/src/scriptbuilder/gui/IncidentEditorFrame.java
===================================================================
--- trunk/src/scriptbuilder/gui/IncidentEditorFrame.java	(revision 98)
+++ trunk/src/scriptbuilder/gui/IncidentEditorFrame.java	(revision 103)
@@ -1,5 +1,5 @@
 /**
  * Frame for the Individual Incident Editor.
- * 
+ *
  * @author Bryan McGuffin
  * @version 2017/08/08
@@ -12,4 +12,6 @@
 import java.awt.event.KeyEvent;
 import java.awt.event.KeyListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -40,10 +42,14 @@
 public class IncidentEditorFrame extends javax.swing.JFrame implements Observer
 {
-    
+
     /**
      * The script incident currently being edited.
      */
     private ScriptIncident theIncident;
-    
+
+    private ScriptBuilderFrame parent;
+
+    private int savedOffset;
+
     /**
      * The current type of selected event.
@@ -232,12 +238,21 @@
      * Constructor. Prep new script model, initialize the GUI, and add listeners
      * for all buttons.
-     * 
-     * @param theIncident the Script Incident which this window will edit.
-     */
-    public IncidentEditorFrame(ScriptIncident theIncident)
+     *
+     * @param inc the Script Incident which this window will edit.
+     */
+    public IncidentEditorFrame(ScriptIncident inc, ScriptBuilderFrame topFrame)
     {
-        this.theIncident = theIncident;
+        this.theIncident = inc;
+        this.savedOffset = this.theIncident.offset;
+        this.theIncident.setOffset(0);
+        this.parent = topFrame;
         initComponents();
-        this.update(null, theIncident);
+
+        timelineTickPanel.update(theIncident, incidentTimelinePanel1);
+        timeStampPanel.update(theIncident, incidentTimelinePanel1);
+
+        incidentTimelinePanel1.timelinePanelUpdate(theIncident);
+
+        incidentNumberPanel1.update(theIncident);
         selectButton.addKeyListener(new TimelineKeyListener());
         cadButton.addKeyListener(new TimelineKeyListener());
@@ -261,5 +276,4 @@
 //        zoomSlider.setValue(zoomSlider.getValue() - 1);
 //        zoomSlider.setValue(zoomSlider.getValue() + 1);
-
         // Set listener for scroll pane
         AdjustmentListener listener = new MyAdjustmentListener();
@@ -287,9 +301,20 @@
         eventButtons.add(facilitatorEvalButton);
         eventButtons.add(radioEvalButton);
-        
-        incidentNumber.setText(""+this.theIncident.number);
-        incidentName.setText(""+this.theIncident.name);
-        incidentDescription.setText(""+this.theIncident.description);
+
+        this.addWindowListener(new WindowAdapter()
+        {
+            @Override
+            public void windowClosing(WindowEvent e)
+            {
+                theIncident.setOffset(savedOffset);
+                parent.returnFocus();
+            }
+        });
+
+        incidentNumber.setText("" + this.theIncident.number);
+        incidentName.setText("" + this.theIncident.name);
+        incidentDescription.setText("" + this.theIncident.description);
         zoomSlider.setValue(zoomSlider.getMinimum());
+        this.update(null, this.theIncident);
     }
 
@@ -310,5 +335,5 @@
         {
             theIncident = (ScriptIncident) arg;
-            
+
             timelineTickPanel.update(theIncident, incidentTimelinePanel1);
             timeStampPanel.update(theIncident, incidentTimelinePanel1);
@@ -329,5 +354,5 @@
         {
             TimeSlice slice = ((SliceChangedEvent) arg).slice;
-            
+
             DefaultListModel model = new DefaultListModel();
             for (I_ScriptEvent e : slice.events)
Index: trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java
===================================================================
--- trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 101)
+++ trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 103)
@@ -147,5 +147,5 @@
                     if (e.getActionCommand().equals("Edit Events"))
                     {
-                        IncidentEditorFrame editor = new IncidentEditorFrame(incident);
+                        IncidentEditorFrame editor = new IncidentEditorFrame(incident, (ScriptBuilderFrame)topFrame);
                         script.addObserver(editor);
                         editor.setVisible(true);
Index: trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java
===================================================================
--- trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java	(revision 100)
+++ trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java	(revision 103)
@@ -25,4 +25,5 @@
 import javax.swing.UIManager;
 import javax.swing.UnsupportedLookAndFeelException;
+import javax.swing.event.ChangeEvent;
 import scriptbuilder.gui.panels.IncidentTimelinePanel;
 import scriptbuilder.structures.ScriptEvent;
@@ -1537,5 +1538,5 @@
             script.incidents.get(indx).setOffset((Integer) addIncidentStart.getValue() * 60);
             script.numberOfIncidents++;
-            new IncidentEditorFrame(script.incidents.get(indx)).setVisible(true);
+            new IncidentEditorFrame(script.incidents.get(indx), this).setVisible(true);
         }
         else//editing existing incident
@@ -1726,4 +1727,10 @@
     }//GEN-LAST:event_incidentDetailsActionPerformed
 
+    public void returnFocus()
+    {
+        zoomSlider.setValue(zoomSlider.getMinimum());
+        zoomSliderStateChanged(new ChangeEvent(script));
+    }
+    
     public void incidentDetailsScreen(ScriptIncident i)
     {
@@ -1994,5 +2001,5 @@
             if (inc != null)
             {
-                IncidentEditorFrame editor = new IncidentEditorFrame(inc);
+                IncidentEditorFrame editor = new IncidentEditorFrame(inc, this);
                 script.addObserver(editor);
                 editor.setVisible(true);
Index: trunk/src/scriptbuilder/gui/IncidentPaletteFrame.java
===================================================================
--- trunk/src/scriptbuilder/gui/IncidentPaletteFrame.java	(revision 82)
+++ trunk/src/scriptbuilder/gui/IncidentPaletteFrame.java	(revision 103)
@@ -376,5 +376,5 @@
         if (script.addIncident(newInc))
         {
-            new IncidentEditorFrame(newInc).setVisible(true);
+            new IncidentEditorFrame(newInc, parent).setVisible(true);
             this.dispose();
         }
