Index: trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java
===================================================================
--- trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 106)
+++ trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 113)
@@ -59,4 +59,9 @@
     boolean focused;
 
+    /**
+     * If true, right-clicking on this panel will produce the popup menu.
+     */
+    private boolean hasPopupAccess;
+
     int cursorTime, lastSlice, x, y;
 
@@ -147,5 +152,5 @@
                     if (e.getActionCommand().equals("Edit Events"))
                     {
-                        IncidentEditorFrame editor = new IncidentEditorFrame(incident, (ScriptBuilderFrame)topFrame);
+                        IncidentEditorFrame editor = new IncidentEditorFrame(incident, (ScriptBuilderFrame) topFrame);
                         script.addObserver(editor);
                         editor.setVisible(true);
@@ -169,5 +174,5 @@
 
             // Does user want a popup menu?
-            if (e.isPopupTrigger())
+            if (e.isPopupTrigger() && hasPopupAccess)
             {
                 JPopupMenu popup = createPopup();
@@ -229,5 +234,4 @@
                 ed.setSlice(incident.slices.get(newSlice));
             }
-            
 
             /**
@@ -319,4 +323,6 @@
         super();
 
+        hasPopupAccess = true;
+
         requestedEditorFillerTime = 0;
 //        FACILITATOR_EVAL_EVENT, RADIO_EVAL_EVENT
@@ -348,4 +354,44 @@
 
     /**
+     * Constructor. Generates a HashMap of all possible event types.
+     *
+     * @param usesPopup determines whether or not right-clicking on this panel
+     * will display a popup menu.
+     */
+    public IncidentTimelinePanel(boolean usesPopup)
+    {
+        super();
+
+        hasPopupAccess = usesPopup;
+
+        requestedEditorFillerTime = 0;
+//        FACILITATOR_EVAL_EVENT, RADIO_EVAL_EVENT
+        eventTypeToPropertyMap = new HashMap();
+        eventTypeToPropertyMap.put(ScriptEventType.AUDIO_EVENT, Properties.Audio);
+        eventTypeToPropertyMap.put(ScriptEventType.CAD_EVENT, Properties.CADLog);
+        eventTypeToPropertyMap.put(ScriptEventType.CCTV_EVENT, Properties.CCTV);
+        eventTypeToPropertyMap.put(ScriptEventType.CHP_RADIO_EVENT, Properties.CHPRadio);
+        eventTypeToPropertyMap.put(ScriptEventType.PARAMICS_EVENT, Properties.Paramics);
+        eventTypeToPropertyMap.put(ScriptEventType.TOW_EVENT, Properties.Tow);
+        eventTypeToPropertyMap.put(ScriptEventType.UNIT_EVENT, Properties.Unit);
+        eventTypeToPropertyMap.put(ScriptEventType.WITNESS_EVENT, Properties.Witness);
+        eventTypeToPropertyMap.put(ScriptEventType.MAINTENANCE_RADIO_EVENT, Properties.MaintenanceRadio);
+        eventTypeToPropertyMap.put(ScriptEventType.TMT_RADIO_EVENT, Properties.TMTRadio);
+        eventTypeToPropertyMap.put(ScriptEventType.TELEPHONE_EVENT, Properties.Telephone);
+        eventTypeToPropertyMap.put(ScriptEventType.ATMS_EVAL_EVENT, Properties.ATMS);
+        eventTypeToPropertyMap.put(ScriptEventType.ACTIVITY_LOG_EVAL_EVENT, Properties.ActivityLog);
+        eventTypeToPropertyMap.put(ScriptEventType.CAD_EVAL_EVENT, Properties.CAD);
+        eventTypeToPropertyMap.put(ScriptEventType.CMS_EVAL_EVENT, Properties.CMS);
+        eventTypeToPropertyMap.put(ScriptEventType.FACILITATOR_EVAL_EVENT, Properties.Facilitator);
+        eventTypeToPropertyMap.put(ScriptEventType.RADIO_EVAL_EVENT, Properties.Radio);
+
+        // Add the mouse listener
+        IncidentTimelineMouseListener mouseListener
+                = new IncidentTimelineMouseListener();
+        addMouseMotionListener(mouseListener);
+        addMouseListener(mouseListener);
+    }
+
+    /**
      * Update the panel if it's changed collapsed status. Redraw it with the
      * correct dimensions for its status.
