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

Revision 50, 7.5 KB checked in by bmcguffin, 9 years ago (diff)

Added action listeners and functionality to all editor windows. Changes made inside windows will now be applied to the model.

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 RemoveablePanel, ScriptEventEditorPanel
13{
14
15    private ActionListener removeListener;
16    private CCTVEvent event;
17
18    /**
19     * Creates new form CCTVInfoPanel
20     */
21    public CCTVPanel()
22    {
23        initComponents();
24
25        txtDirField.addFocusListener(new FocusListener()
26        {
27
28            public void focusGained(FocusEvent e)
29            {
30                help.setText("Dir is an integer or decimal");
31            }
32
33            public void focusLost(FocusEvent e)
34            {
35                help.setText("");
36            }
37
38        });
39
40        txtToggleField.addFocusListener(new FocusListener()
41        {
42
43            public void focusGained(FocusEvent e)
44            {
45                help.setText("toggle is an integer or decimal");
46            }
47
48            public void focusLost(FocusEvent e)
49            {
50                help.setText("");
51            }
52
53        });
54    }
55
56    public void setRemoveListener(ActionListener listener)
57    {
58        removeListener = listener;
59    }
60
61    public boolean isOptional()
62    {
63        return false;
64    }
65
66    public void getEventObject(I_ScriptEvent sei)
67    {
68        event = (CCTVEvent) sei;
69        txtIDField.setText("NOT CURRENTLY IMPLEMENTED. NO EFFECT.");
70        txtDirField.setText("NOT CURRENTLY IMPLEMENTED. NO EFFECT.");
71        txtToggleField.setText("NOT CURRENTLY IMPLEMENTED. NO EFFECT.");
72        //TODO: Add listeners for text fields
73    }
74
75    public void update(Observable o, Object arg)
76    {
77        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
78    }
79
80    /**
81     * This method is called from within the constructor to initialize the form.
82     * WARNING: Do NOT modify this code. The content of this method is always
83     * regenerated by the Form Editor.
84     */
85    @SuppressWarnings("unchecked")
86    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
87    private void initComponents()
88    {
89
90        removeButton = new javax.swing.JButton();
91        jLabel1 = new javax.swing.JLabel();
92        txtDirField = new javax.swing.JFormattedTextField();
93        jLabel3 = new javax.swing.JLabel();
94        txtIDField = new javax.swing.JTextField();
95        jLabel2 = new javax.swing.JLabel();
96        txtToggleField = new javax.swing.JFormattedTextField();
97        help = new javax.swing.JLabel();
98
99        removeButton.setText("Remove");
100        removeButton.addMouseListener(new java.awt.event.MouseAdapter()
101        {
102            public void mouseClicked(java.awt.event.MouseEvent evt)
103            {
104                removeButtonremoveThisProperty(evt);
105            }
106        });
107        removeButton.addActionListener(new java.awt.event.ActionListener()
108        {
109            public void actionPerformed(java.awt.event.ActionEvent evt)
110            {
111                removeButtonActionPerformed(evt);
112            }
113        });
114
115        jLabel1.setText("ID");
116
117        txtDirField.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
118
119        jLabel3.setText("Toggle");
120
121        jLabel2.setText("Dir");
122
123        txtToggleField.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
124
125        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
126        this.setLayout(layout);
127        layout.setHorizontalGroup(
128            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
129            .add(layout.createSequentialGroup()
130                .addContainerGap()
131                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
132                    .add(org.jdesktop.layout.GroupLayout.TRAILING, help, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 540, Short.MAX_VALUE)
133                    .add(org.jdesktop.layout.GroupLayout.TRAILING, removeButton)
134                    .add(layout.createSequentialGroup()
135                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
136                            .add(jLabel1)
137                            .add(jLabel2)
138                            .add(jLabel3))
139                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
140                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
141                            .add(txtIDField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE)
142                            .add(txtDirField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE)
143                            .add(txtToggleField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE))))
144                .addContainerGap())
145        );
146        layout.setVerticalGroup(
147            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
148            .add(layout.createSequentialGroup()
149                .addContainerGap()
150                .add(removeButton)
151                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
152                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
153                    .add(jLabel1)
154                    .add(txtIDField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
155                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
156                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
157                    .add(jLabel2)
158                    .add(txtDirField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
159                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
160                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
161                    .add(jLabel3)
162                    .add(txtToggleField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
163                .add(48, 48, 48)
164                .add(help, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 13, Short.MAX_VALUE)
165                .addContainerGap())
166        );
167    }// </editor-fold>//GEN-END:initComponents
168
169    private void removeButtonremoveThisProperty(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_removeButtonremoveThisProperty
170        if (removeListener != null)
171        {
172            removeListener.actionPerformed(new ActionEvent(this, 0, ""));
173        }
174}//GEN-LAST:event_removeButtonremoveThisProperty
175
176    private void removeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeButtonActionPerformed
177        // TODO add your handling code here:
178}//GEN-LAST:event_removeButtonActionPerformed
179
180
181    // Variables declaration - do not modify//GEN-BEGIN:variables
182    private javax.swing.JLabel help;
183    private javax.swing.JLabel jLabel1;
184    private javax.swing.JLabel jLabel2;
185    private javax.swing.JLabel jLabel3;
186    private javax.swing.JButton removeButton;
187    private javax.swing.JFormattedTextField txtDirField;
188    private javax.swing.JTextField txtIDField;
189    private javax.swing.JFormattedTextField txtToggleField;
190    // End of variables declaration//GEN-END:variables
191
192}
Note: See TracBrowser for help on using the repository browser.