Changeset 89 in tmcsimulator-scriptbuilder for trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java


Ignore:
Timestamp:
08/28/2017 01:38:15 PM (9 years ago)
Author:
bmcguffin
Message:

Added dropdown menu item to ScriptBuilderFrame?: "Delete Incident". When clicked, user may select an existing incident to delete. Program will prompt user to confirm the deletion, then remove the incident from the script and refresh the display.

Added button to individual event editor window: "Remove this event". When clicked, the currently displayed event will be removed from the timeslice it is in. The display will be refreshed accordingly. NOTE: This still has some bugs, namely that the last remaining event in a timeslice fails to be deleted.

Restructured Interface ScriptEventEditorPanel? to include a removeAssociatedEvent method, which calls a new method in I_ScriptEvent called removeThis, which causes the event to be removed from its timeslice.

Editor.Java previously contained several classes and enums, none of which were set to private scope. Moved these extra classes to their own files to decrease clutter in Editor.java and increase readability of all files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java

    r87 r89  
    158158        timelinesScrollPane.getHorizontalScrollBar().addAdjustmentListener(listener); 
    159159        timelinesScrollPane.getVerticalScrollBar().addAdjustmentListener(listener); 
     160        repaint(); 
    160161    } 
    161162 
     
    236237                / Math.max(script.absoluteLength(), ScriptBuilderGuiConstants.TICK_TIMELINE_SMALLEST_LENGTH)); 
    237238        zoomSlider.setMaximum(zoomSlider.getMinimum() + 20); 
     239        repaint(); 
    238240    } 
    239241 
     
    350352        editIncident = new javax.swing.JMenuItem(); 
    351353        incidentDetails = new javax.swing.JMenuItem(); 
     354        deleteIncident = new javax.swing.JMenuItem(); 
    352355        jSeparator4 = new javax.swing.JPopupMenu.Separator(); 
    353356        saveIncident = new javax.swing.JMenuItem(); 
     
    13181321        }); 
    13191322        incidentMenu.add(incidentDetails); 
     1323 
     1324        deleteIncident.setText("Delete Incident"); 
     1325        deleteIncident.addActionListener(new java.awt.event.ActionListener() 
     1326        { 
     1327            public void actionPerformed(java.awt.event.ActionEvent evt) 
     1328            { 
     1329                deleteIncidentActionPerformed(evt); 
     1330            } 
     1331        }); 
     1332        incidentMenu.add(deleteIncident); 
    13201333        incidentMenu.add(jSeparator4); 
    13211334 
     
    15551568 
    15561569        incidentFrame.setVisible(false); 
    1557         update(script, script); 
     1570        this.update(script, script); 
    15581571        repaint(); 
    15591572    }//GEN-LAST:event_incidentOkButtonActionPerformed 
     
    16241637            script.saveFile = fc.getSelectedFile(); 
    16251638        } 
    1626         update(script, script); 
     1639        this.update(script, script); 
    16271640        zoomSlider.setValue(zoomSlider.getMinimum()); 
    16281641        repaint(); 
     
    17651778        addNoiseFrame.setVisible(false); 
    17661779 
    1767         update(script, script); 
     1780        this.update(script, script); 
     1781        repaint(); 
    17681782}//GEN-LAST:event_jButton2ActionPerformed 
    17691783 
     
    19121926        script = new SimulationScript(); 
    19131927        script.update(); 
    1914         update(null, script); 
     1928        this.update(null, script); 
    19151929        repaint(); 
    19161930    }//GEN-LAST:event_fileNewActionPerformed 
     
    19321946        if (result != null) 
    19331947        { 
    1934             System.out.println("RESULT = " + result.toString()); 
    1935  
    19361948            input = result.toString(); 
    1937  
    1938             System.out.println("INPUT = " + input); 
    1939  
    19401949            int i = 0; 
    19411950            for (ScriptIncident incident : script.incidents) 
     
    19591968            } 
    19601969        } 
    1961         update(script, script); 
     1970        this.update(script, script); 
     1971        repaint(); 
    19621972    }//GEN-LAST:event_editIncidentActionPerformed 
     1973 
     1974    private void deleteIncidentActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_deleteIncidentActionPerformed 
     1975    {//GEN-HEADEREND:event_deleteIncidentActionPerformed 
     1976        Object[] incidentList = script.incidents.toArray(); 
     1977        String input = ""; 
     1978        ScriptIncident inc = null; 
     1979        Object result = JOptionPane.showInputDialog( 
     1980                this, 
     1981                "Select Incident:", 
     1982                "Save Incident", 
     1983                JOptionPane.PLAIN_MESSAGE, 
     1984                null, 
     1985                incidentList, 
     1986                script.incidents.get(0)); 
     1987 
     1988        if (result != null) 
     1989        { 
     1990            input = result.toString(); 
     1991            int incidentIndex = 0; 
     1992            for (ScriptIncident incident : script.incidents) 
     1993            { 
     1994                incidentIndex++; 
     1995                if (incident == null) 
     1996                { 
     1997                    continue; 
     1998                } 
     1999                if (incident.toString().equals(input)) 
     2000                { 
     2001                    inc = incident; 
     2002                } 
     2003            } 
     2004 
     2005            if (inc != null) 
     2006            { 
     2007                int confirm = JOptionPane.showConfirmDialog(this, 
     2008                        "Are you sure you want to delete " + inc.toString() + "?"); 
     2009                if (confirm == JOptionPane.YES_OPTION) 
     2010                { 
     2011                    script.incidents.remove(inc); 
     2012                    script.incidents.add(null); 
     2013                } 
     2014            } 
     2015        } 
     2016        this.update(script, script); 
     2017        repaint(); 
     2018    }//GEN-LAST:event_deleteIncidentActionPerformed 
    19632019 
    19642020    /** 
     
    20572113    private javax.swing.JButton cancelButton; 
    20582114    private javax.swing.JMenuItem deleteEventList; 
     2115    private javax.swing.JMenuItem deleteIncident; 
    20592116    private javax.swing.JMenuItem editEventList; 
    20602117    private javax.swing.JMenuItem editIncident; 
Note: See TracChangeset for help on using the changeset viewer.