Warning: Can't use blame annotator:
svn blame failed on trunk/src/event/editor/CADLogPanel.java: ("Can't find a temporary directory: Internal error", 20014)

source: tmcsimulator-scriptbuilder/trunk/src/event/editor/CADLogPanel.java @ 89

Revision 89, 4.8 KB checked in by bmcguffin, 9 years ago (diff)

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.

RevLine 
1package event.editor;
2
3import java.awt.event.*;
4import java.util.Observable;
5import scriptbuilder.structures.events.CADEvent;
6import scriptbuilder.structures.events.I_ScriptEvent;
7
8/**
9 *
10 * @author nathaniellehrer
11 */
12public class CADLogPanel extends javax.swing.JPanel implements RemoveablePanel, ScriptEventEditorPanel
13{
14
15    private ActionListener removeListener;
16    private CADEvent event;
17
18    /**
19     * Creates new form DetailPanel
20     */
21    public CADLogPanel()
22    {
23        initComponents();
24    }
25
26    public void setRemoveListener(ActionListener listener)
27    {
28        removeListener = listener;
29    }
30
31    /**
32     * Load the script event associated with this editor panel.
33     *
34     * @param sei The script event in question
35     */
36    @Override
37    public void getEventObject(I_ScriptEvent sei)
38    {
39        event = (CADEvent) sei;
40        CadTextField.setText(event.detail);
41        CadTextField.addKeyListener(new KeyListener()
42        {
43
44            public void keyTyped(KeyEvent e)
45            {
46            }
47
48            public void keyPressed(KeyEvent e)
49            {
50                if (e.getKeyCode() == KeyEvent.VK_ENTER)
51                {
52                    event.detail = CadTextField.getText();
53                }
54            }
55
56            public void keyReleased(KeyEvent e)
57            {
58            }
59        });
60    }
61
62    public void update(Observable o, Object arg)
63    {
64        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
65    }
66
67    @Override
68    public boolean removeAssociatedEvent()
69    {
70        event.removeThis();
71        event = null;
72        return true;
73    }
74
75    /**
76     * This method is called from within the constructor to initialize the form.
77     * WARNING: Do NOT modify this code. The content of this method is always
78     * regenerated by the Form Editor.
79     */
80    @SuppressWarnings("unchecked")
81    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
82    private void initComponents()
83    {
84
85        removeButton = new javax.swing.JButton();
86        jLabel1 = new javax.swing.JLabel();
87        jScrollPane1 = new javax.swing.JScrollPane();
88        CadTextField = new javax.swing.JTextArea();
89
90        removeButton.setText("Remove");
91        removeButton.addMouseListener(new java.awt.event.MouseAdapter()
92        {
93            public void mouseClicked(java.awt.event.MouseEvent evt)
94            {
95                removeButtonremoveThisProperty(evt);
96            }
97        });
98
99        jLabel1.setText("Cad Log Text");
100
101        CadTextField.setColumns(20);
102        CadTextField.setRows(5);
103        jScrollPane1.setViewportView(CadTextField);
104
105        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
106        this.setLayout(layout);
107        layout.setHorizontalGroup(
108            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
109            .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
110                .addContainerGap()
111                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
112                    .add(org.jdesktop.layout.GroupLayout.LEADING, jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 506, Short.MAX_VALUE)
113                    .add(layout.createSequentialGroup()
114                        .add(jLabel1)
115                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 330, Short.MAX_VALUE)
116                        .add(removeButton)))
117                .addContainerGap())
118        );
119        layout.setVerticalGroup(
120            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
121            .add(layout.createSequentialGroup()
122                .addContainerGap()
123                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
124                    .add(removeButton)
125                    .add(jLabel1))
126                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
127                .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)
128                .addContainerGap())
129        );
130    }// </editor-fold>//GEN-END:initComponents
131
132    private void removeButtonremoveThisProperty(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_removeButtonremoveThisProperty
133        if (removeListener != null)
134        {
135            removeListener.actionPerformed(new ActionEvent(this, 0, ""));
136        }
137}//GEN-LAST:event_removeButtonremoveThisProperty
138
139
140    // Variables declaration - do not modify//GEN-BEGIN:variables
141    private javax.swing.JTextArea CadTextField;
142    private javax.swing.JLabel jLabel1;
143    private javax.swing.JScrollPane jScrollPane1;
144    private javax.swing.JButton removeButton;
145    // End of variables declaration//GEN-END:variables
146
147}
Note: See TracBrowser for help on using the repository browser.