Index: trunk/src/scriptbuilder/gui/application.properties
===================================================================
--- trunk/src/scriptbuilder/gui/application.properties	(revision 145)
+++ trunk/src/scriptbuilder/gui/application.properties	(revision 155)
@@ -1,5 +1,5 @@
-#Thu, 31 Oct 2019 16:04:24 -0700
+#Wed, 20 Nov 2019 16:03:11 -0800
 
-Application.revision=144
+Application.revision=154
 
 Application.buildnumber=43
Index: trunk/src/scriptbuilder/gui/IncidentEditorFrame.java
===================================================================
--- trunk/src/scriptbuilder/gui/IncidentEditorFrame.java	(revision 145)
+++ trunk/src/scriptbuilder/gui/IncidentEditorFrame.java	(revision 155)
@@ -54,4 +54,11 @@
     private boolean addToEnd = true;
 
+    private TimeSlice selectedSlice;
+    
+    /**
+     * Boolean determining if selectmode for events is enabled.
+     */
+    
+    public boolean selectMode = false;
     /**
      * The current type of selected event.
@@ -209,5 +216,9 @@
                 newButton = null;
             }
-
+            if(e.getKeyCode() == KeyEvent.VK_CONTROL)
+            {
+                selectMode =  true;
+                
+            }
             if (newButton != null)
             {
@@ -226,4 +237,9 @@
         public void keyReleased(KeyEvent e)
         {
+            if(e.getKeyCode() == KeyEvent.VK_CONTROL)
+            {
+                selectMode = false;
+                
+            }
         }
 
@@ -261,4 +277,5 @@
 
         incidentNumberPanel1.update(theIncident);
+        
         cadButton.addKeyListener(new TimelineKeyListener());
         cctvButton.addKeyListener(new TimelineKeyListener());
@@ -341,5 +358,5 @@
     public void update(Observable o, Object arg)
     {
-        System.out.println("the type of update is: " + arg.getClass());
+        //System.out.println("the type of update is: " + arg.getClass());
         //Three possibilities: This is a general script update, or it's one of
         //two different focus updates
@@ -368,4 +385,5 @@
         else if (arg instanceof SliceChangedEvent)
         {
+            //this seems to be only called when the window is initialized again
             System.out.println("you got the hover over a timeslice");
             TimeSlice slice = ((SliceChangedEvent) arg).slice;
@@ -409,6 +427,5 @@
     @SuppressWarnings("unchecked")
     // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
-    private void initComponents()
-    {
+    private void initComponents() {
 
         eventPopupMenu = new javax.swing.JPopupMenu();
@@ -450,5 +467,5 @@
         timelinesScrollPane = new javax.swing.JScrollPane();
         timelineTickPanel = new scriptbuilder.gui.panels.TimelineTickPanel();
-        incidentTimelinePanel1 = new scriptbuilder.gui.panels.IncidentTimelinePanel(false);
+        incidentTimelinePanel1 = new scriptbuilder.gui.panels.IncidentTimelinePanel(true);
         incidentNumberPanel1 = new scriptbuilder.gui.panels.IncidentNumberPanel();
         scriptEventsPanel = new javax.swing.JPanel();
@@ -495,12 +512,9 @@
 
         cadEvent.setText("CAD Event");
-        cadEvent.addMouseListener(new java.awt.event.MouseAdapter()
-        {
-            public void mousePressed(java.awt.event.MouseEvent evt)
-            {
+        cadEvent.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mousePressed(java.awt.event.MouseEvent evt) {
                 cadEventMousePressed(evt);
             }
-            public void mouseReleased(java.awt.event.MouseEvent evt)
-            {
+            public void mouseReleased(java.awt.event.MouseEvent evt) {
                 cadEventMouseReleased(evt);
             }
@@ -512,8 +526,6 @@
 
         radioEvent.setText("Radio Event");
-        radioEvent.addMouseListener(new java.awt.event.MouseAdapter()
-        {
-            public void mousePressed(java.awt.event.MouseEvent evt)
-            {
+        radioEvent.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mousePressed(java.awt.event.MouseEvent evt) {
                 radioEventMousePressed(evt);
             }
@@ -569,8 +581,6 @@
 
         okButton.setText("OK");
-        okButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        okButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 okButtonActionPerformed(evt);
             }
@@ -578,8 +588,6 @@
 
         cancelButton.setText("Cancel");
-        cancelButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        cancelButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 cancelButtonActionPerformed(evt);
             }
@@ -624,8 +632,6 @@
 
         editEventList.setText("Edit...");
-        editEventList.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        editEventList.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 editEventListActionPerformed(evt);
             }
@@ -669,8 +675,6 @@
 
         btnCancelNoise.setText("Cancel");
-        btnCancelNoise.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        btnCancelNoise.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 btnCancelNoiseActionPerformed(evt);
             }
@@ -678,8 +682,6 @@
 
         btnGenerateNoise.setText("Generate");
-        btnGenerateNoise.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        btnGenerateNoise.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 btnGenerateNoiseActionPerformed(evt);
             }
@@ -856,8 +858,6 @@
         zoomSlider.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
         zoomSlider.setFocusable(false);
-        zoomSlider.addChangeListener(new javax.swing.event.ChangeListener()
-        {
-            public void stateChanged(javax.swing.event.ChangeEvent evt)
-            {
+        zoomSlider.addChangeListener(new javax.swing.event.ChangeListener() {
+            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                 zoomSliderStateChanged(evt);
             }
@@ -938,8 +938,6 @@
         maintenanceRadioButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         maintenanceRadioButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        maintenanceRadioButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        maintenanceRadioButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 maintenanceRadioButtonActionPerformed(evt);
             }
@@ -952,8 +950,6 @@
         tmtRadioButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         tmtRadioButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        tmtRadioButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        tmtRadioButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 tmtRadioButtonActionPerformed(evt);
             }
@@ -966,8 +962,6 @@
         telephoneButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         telephoneButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        telephoneButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        telephoneButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 telephoneButtonActionPerformed(evt);
             }
@@ -980,8 +974,6 @@
         unitButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         unitButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        unitButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        unitButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 unitButtonActionPerformed(evt);
             }
@@ -994,8 +986,6 @@
         witnessButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         witnessButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        witnessButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        witnessButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 witnessButtonActionPerformed(evt);
             }
@@ -1008,8 +998,6 @@
         paramicsButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         paramicsButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        paramicsButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        paramicsButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 paramicsButtonActionPerformed(evt);
             }
@@ -1022,8 +1010,6 @@
         towButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         towButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        towButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        towButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 towButtonActionPerformed(evt);
             }
@@ -1036,8 +1022,6 @@
         audioButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         audioButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        audioButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        audioButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 audioButtonActionPerformed(evt);
             }
@@ -1050,8 +1034,6 @@
         cctvButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         cctvButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        cctvButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        cctvButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 cctvButtonActionPerformed(evt);
             }
@@ -1064,8 +1046,6 @@
         cadButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         cadButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        cadButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        cadButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 cadButtonActionPerformed(evt);
             }
@@ -1078,8 +1058,6 @@
         chpRadioButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         chpRadioButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        chpRadioButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        chpRadioButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 chpRadioButtonActionPerformed(evt);
             }
@@ -1150,8 +1128,6 @@
         atmsEvalButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         atmsEvalButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        atmsEvalButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        atmsEvalButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 atmsEvalButtonActionPerformed(evt);
             }
@@ -1164,8 +1140,6 @@
         cmsEvalButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         cmsEvalButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        cmsEvalButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        cmsEvalButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 cmsEvalButtonActionPerformed(evt);
             }
@@ -1178,8 +1152,6 @@
         cadEvalButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         cadEvalButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        cadEvalButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        cadEvalButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 cadEvalButtonActionPerformed(evt);
             }
@@ -1192,8 +1164,6 @@
         facilitatorEvalButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         facilitatorEvalButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        facilitatorEvalButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        facilitatorEvalButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 facilitatorEvalButtonActionPerformed(evt);
             }
@@ -1206,8 +1176,6 @@
         activityLogEvalButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         activityLogEvalButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        activityLogEvalButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        activityLogEvalButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 activityLogEvalButtonActionPerformed(evt);
             }
@@ -1220,8 +1188,6 @@
         radioEvalButton.setMargin(new java.awt.Insets(2, 10, 2, 10));
         radioEvalButton.setPreferredSize(new java.awt.Dimension(30, 25));
-        radioEvalButton.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        radioEvalButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 radioEvalButtonActionPerformed(evt);
             }
@@ -1267,8 +1233,6 @@
         zoomInIcon.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/ZoomIn.png"))); // NOI18N
         zoomInIcon.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
-        zoomInIcon.addMouseListener(new java.awt.event.MouseAdapter()
-        {
-            public void mouseClicked(java.awt.event.MouseEvent evt)
-            {
+        zoomInIcon.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mouseClicked(java.awt.event.MouseEvent evt) {
                 zoomInIconMouseClicked(evt);
             }
@@ -1277,8 +1241,6 @@
         zoomOutIcon.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/ZoomOut.png"))); // NOI18N
         zoomOutIcon.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
-        zoomOutIcon.addMouseListener(new java.awt.event.MouseAdapter()
-        {
-            public void mouseClicked(java.awt.event.MouseEvent evt)
-            {
+        zoomOutIcon.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mouseClicked(java.awt.event.MouseEvent evt) {
                 zoomOutIconMouseClicked(evt);
             }
@@ -1320,8 +1282,6 @@
 
         btnAddTime.setText("+15");
-        btnAddTime.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        btnAddTime.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 btnAddTimeActionPerformed(evt);
             }
@@ -1329,8 +1289,6 @@
 
         btnToggleTimeStart.setText("to Start");
-        btnToggleTimeStart.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        btnToggleTimeStart.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 btnToggleTimeStartActionPerformed(evt);
             }
@@ -1339,8 +1297,6 @@
         btnToggleTimeEnd.setSelected(true);
         btnToggleTimeEnd.setText("to End");
-        btnToggleTimeEnd.addActionListener(new java.awt.event.ActionListener()
-        {
-            public void actionPerformed(java.awt.event.ActionEvent evt)
-            {
+        btnToggleTimeEnd.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
                 btnToggleTimeEndActionPerformed(evt);
             }
Index: trunk/src/scriptbuilder/gui/IncidentEditorFrame.form
===================================================================
--- trunk/src/scriptbuilder/gui/IncidentEditorFrame.form	(revision 135)
+++ trunk/src/scriptbuilder/gui/IncidentEditorFrame.form	(revision 155)
@@ -579,5 +579,5 @@
               </Properties>
               <AuxValues>
-                <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new scriptbuilder.gui.panels.IncidentTimelinePanel(false)"/>
+                <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new scriptbuilder.gui.panels.IncidentTimelinePanel(true)"/>
               </AuxValues>
 
Index: trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java
===================================================================
--- trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 150)
+++ trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 155)
@@ -63,5 +63,9 @@
      * If true, right-clicking on this panel will produce the popup menu.
      */
-    private boolean hasPopupAccess;
+    private boolean hasPopupAccessRightClick;
+    /**
+     * If true, left-clicking on this panel will produce the popup menu.
+     */
+    private boolean hasPopupAccessLeftClick;
     
     int cursorTime, lastSlice, x, y;
@@ -250,5 +254,5 @@
                         
                         addTime = -(addTime-(addTime%20));
-                        
+                        //this if statement might be useless?
                         if(offset<=incident.offset+incident.length)
                         {
@@ -274,5 +278,32 @@
 
             // Does user want a popup menu?
-            if (e.isPopupTrigger() && hasPopupAccess)
+            if (e.isPopupTrigger() && hasPopupAccessRightClick)
+            {
+                if(getTopLevelAncestor() instanceof IncidentEditorFrame)
+                {
+                    if (((IncidentEditorFrame)getTopLevelAncestor()).currentEventType == null){
+                        JPopupMenu popup = createPopup(currentMouseX,currentMouseY);
+                        popup.show(e.getComponent(), currentMouseX, currentMouseY);
+                        
+                    }
+                    
+                }else
+                {
+                    JPopupMenu popup = createPopup();
+                    popup.show(e.getComponent(), currentMouseX, currentMouseY);
+                }
+                
+                
+                
+            }
+        }
+        @Override
+        public void mouseReleased(MouseEvent e)
+        {
+            int currentMouseX = e.getX();
+            int currentMouseY = e.getY();
+
+            // Does user want a popup menu?
+            if (e.isPopupTrigger() && hasPopupAccessRightClick)
             {
                 if(getTopLevelAncestor() instanceof IncidentEditorFrame)
@@ -285,20 +316,4 @@
                     popup.show(e.getComponent(), currentMouseX, currentMouseY);
                 }
-                
-                
-                
-            }
-        }
-        @Override
-        public void mouseReleased(MouseEvent e)
-        {
-            int currentMouseX = e.getX();
-            int currentMouseY = e.getY();
-
-            // Does user want a popup menu?
-            if (e.isPopupTrigger() && hasPopupAccess)
-            {
-                JPopupMenu popup = createPopup();
-                popup.show(e.getComponent(), currentMouseX, currentMouseY);
             }
         }
@@ -323,4 +338,5 @@
             else if (getTopLevelAncestor() instanceof IncidentEditorFrame)
             {
+                
                 incidentEditFrameCurrent = (IncidentEditorFrame) getTopLevelAncestor();
                 editor = new Editor(incidentEditFrameCurrent);
@@ -485,5 +501,5 @@
         super();
 
-        hasPopupAccess = true;
+        hasPopupAccessRightClick = true;
 
         requestedEditorFillerTime = 0;
@@ -525,5 +541,5 @@
         super();
 
-        hasPopupAccess = usesPopup;
+        hasPopupAccessRightClick = usesPopup;
 
         requestedEditorFillerTime = 0;
