source: tmcsimulator-scriptbuilder/trunk/src/event/editor/CCTVPanel.java @ 130

Revision 130, 6.3 KB checked in by bmcguffin, 9 years ago (diff)

Changed implementation of save function for event editor panels. Instead of updating their model objects whenever the enter key is pressed, panels are now notified when the window is closed and update their information then.

Line 
1package event.editor;
2
3import java.awt.event.*;
4import java.util.Observable;
5import scriptbuilder.structures.events.CCTVEvent;
6import scriptbuilder.structures.events.I_ScriptEvent;
7
8/**
9 *
10 * @author nathaniellehrer
11 */
12public class CCTVPanel extends javax.swing.JPanel implements I_ScriptEventEditorPanel
13{
14
15    private CCTVEvent event;
16
17    /**
18     * Creates new form CCTVInfoPanel
19     */
20    public CCTVPanel()
21    {
22        initComponents();
23
24        txtDirField.addFocusListener(new FocusListener()
25        {
26
27            public void focusGained(FocusEvent e)
28            {
29                help.setText("Dir is an integer or decimal");
30            }
31
32            public void focusLost(FocusEvent e)
33            {
34                help.setText("");
35            }
36
37        });
38
39        txtToggleField.addFocusListener(new FocusListener()
40        {
41
42            public void focusGained(FocusEvent e)
43            {
44                help.setText("toggle is an integer or decimal");
45            }
46
47            public void focusLost(FocusEvent e)
48            {
49                help.setText("");
50            }
51
52        });
53    }
54
55    @Override
56    public void getEventObject(I_ScriptEvent sei)
57    {
58        event = (CCTVEvent) sei;
59        txtIDField.setText("NOT CURRENTLY IMPLEMENTED. NO EFFECT.");
60        txtDirField.setText("NOT CURRENTLY IMPLEMENTED. NO EFFECT.");
61        txtToggleField.setText("NOT CURRENTLY IMPLEMENTED. NO EFFECT.");
62        //TODO: Add listeners for text fields
63    }
64
65    @Override
66    public void update(Observable o, Object arg)
67    {
68        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
69    }
70   
71    @Override
72    public boolean removeAssociatedEvent()
73    {
74        event.removeThis();
75        event = null;
76        return true;
77    }
78
79    @Override
80    public void uponClose()
81    {
82        //No change is yet necessary. This panel is not yet implemented.
83    }
84
85    /**
86     * This method is called from within the constructor to initialize the form.
87     * WARNING: Do NOT modify this code. The content of this method is always
88     * regenerated by the Form Editor.
89     */
90    @SuppressWarnings("unchecked")
91    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
92    private void initComponents()
93    {
94
95        jLabel1 = new javax.swing.JLabel();
96        txtDirField = new javax.swing.JFormattedTextField();
97        jLabel3 = new javax.swing.JLabel();
98        txtIDField = new javax.swing.JTextField();
99        jLabel2 = new javax.swing.JLabel();
100        txtToggleField = new javax.swing.JFormattedTextField();
101        help = new javax.swing.JLabel();
102
103        jLabel1.setText("ID");
104
105        txtDirField.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
106
107        jLabel3.setText("Toggle");
108
109        jLabel2.setText("Dir");
110
111        txtToggleField.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
112
113        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
114        this.setLayout(layout);
115        layout.setHorizontalGroup(
116            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
117            .add(layout.createSequentialGroup()
118                .addContainerGap()
119                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
120                    .add(org.jdesktop.layout.GroupLayout.TRAILING, help, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 540, Short.MAX_VALUE)
121                    .add(layout.createSequentialGroup()
122                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
123                            .add(jLabel1)
124                            .add(jLabel2)
125                            .add(jLabel3))
126                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
127                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
128                            .add(txtIDField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE)
129                            .add(txtDirField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE)
130                            .add(txtToggleField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE))))
131                .addContainerGap())
132        );
133        layout.setVerticalGroup(
134            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
135            .add(layout.createSequentialGroup()
136                .add(47, 47, 47)
137                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
138                    .add(jLabel1)
139                    .add(txtIDField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
140                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
141                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
142                    .add(jLabel2)
143                    .add(txtDirField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
144                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
145                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
146                    .add(jLabel3)
147                    .add(txtToggleField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
148                .add(48, 48, 48)
149                .add(help, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 13, Short.MAX_VALUE)
150                .addContainerGap())
151        );
152    }// </editor-fold>//GEN-END:initComponents
153
154
155    // Variables declaration - do not modify//GEN-BEGIN:variables
156    private javax.swing.JLabel help;
157    private javax.swing.JLabel jLabel1;
158    private javax.swing.JLabel jLabel2;
159    private javax.swing.JLabel jLabel3;
160    private javax.swing.JFormattedTextField txtDirField;
161    private javax.swing.JTextField txtIDField;
162    private javax.swing.JFormattedTextField txtToggleField;
163    // End of variables declaration//GEN-END:variables
164
165}
Note: See TracBrowser for help on using the repository browser.