KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > wsdl > ui > view > ElementOrTypeChooserEditorPanel


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 /*
21  * ElementOrTypeChooserPanel.java
22  *
23  * Created on August 30, 2006, 1:21 PM
24  */

25
26 package org.netbeans.modules.xml.wsdl.ui.view;
27
28 import java.awt.Dialog JavaDoc;
29 import java.awt.event.ActionEvent JavaDoc;
30 import java.awt.event.ActionListener JavaDoc;
31 import java.awt.event.InputEvent JavaDoc;
32 import java.awt.event.KeyEvent JavaDoc;
33 import java.beans.PropertyChangeEvent JavaDoc;
34 import java.beans.PropertyChangeListener JavaDoc;
35 import java.util.Map JavaDoc;
36
37 import javax.swing.AbstractAction JavaDoc;
38 import javax.swing.JTable JavaDoc;
39 import javax.swing.JTextField JavaDoc;
40 import javax.swing.KeyStroke JavaDoc;
41
42 import org.netbeans.api.project.Project;
43 import org.netbeans.modules.xml.schema.model.SchemaComponent;
44 import org.netbeans.modules.xml.wsdl.model.WSDLModel;
45 import org.openide.DialogDescriptor;
46 import org.openide.DialogDisplayer;
47 import org.openide.util.NbBundle;
48
49 /**
50  *
51  * @author radval
52  */

53 public class ElementOrTypeChooserEditorPanel extends javax.swing.JPanel JavaDoc {
54     
55     private final JTable JavaDoc mPartsTable;
56     private final Map JavaDoc<String JavaDoc, String JavaDoc> namespaceToPrefixMap;
57     private Project mProject;
58     private WSDLModel mModel;
59     /** Creates new form ElementOrTypeChooserPanel
60      * @param partsTable */

61     public ElementOrTypeChooserEditorPanel(JTable JavaDoc partsTable, Map JavaDoc<String JavaDoc, String JavaDoc> namespaceToPrefixMap, Project project, WSDLModel model ) {
62         this.mPartsTable = partsTable;
63         this.namespaceToPrefixMap = namespaceToPrefixMap;
64         mProject = project;
65         mModel = model;
66         initComponents();
67         initGUI();
68     }
69     
70     /** This method is called from within the constructor to
71      * initialize the form.
72      * WARNING: Do NOT modify this code. The content of this method is
73      * always regenerated by the Form Editor.
74      */

75     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
76
private void initComponents() {
77         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
78
79         jTextField1 = new javax.swing.JTextField JavaDoc();
80         jButton1 = new javax.swing.JButton JavaDoc();
81
82         setLayout(new java.awt.GridBagLayout JavaDoc());
83
84         jTextField1.setEditable(false);
85         jTextField1.setFocusable(false);
86         jTextField1.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
87         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
88         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
89         gridBagConstraints.weightx = 1.0;
90         add(jTextField1, gridBagConstraints);
91
92         jButton1.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
93         jButton1.setText("...");
94         jButton1.setFocusCycleRoot(true);
95         jButton1.setMargin(new java.awt.Insets JavaDoc(0, 14, 0, 14));
96         jButton1.setMaximumSize(new java.awt.Dimension JavaDoc(16, 16));
97         jButton1.setMinimumSize(new java.awt.Dimension JavaDoc(16, 16));
98         jButton1.setPreferredSize(new java.awt.Dimension JavaDoc(16, 16));
99         jButton1.setSelected(true);
100         jButton1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
101             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
102                 jButton1ActionPerformed(evt);
103             }
104         });
105
106         add(jButton1, new java.awt.GridBagConstraints JavaDoc());
107
108     }// </editor-fold>//GEN-END:initComponents
109

110     private void jButton1ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton1ActionPerformed
111
openSchemaComponentChooser();
112     }//GEN-LAST:event_jButton1ActionPerformed
113

114     public void openSchemaComponentChooser() {
115         int rowNo = mPartsTable.getSelectedRow();
116         PartAndElementOrTypeTableModel tableModel = ((PartAndElementOrTypeTableModel) mPartsTable.getModel());
117         ElementOrType eot = (ElementOrType) tableModel.getValueAt(rowNo, 1);
118         if (eot != null) {
119             SchemaComponent comp = eot.getElement();
120             if (comp == null) {
121                 comp = eot.getType();
122             }
123             panel = new ElementOrTypeChooserPanel(mProject, namespaceToPrefixMap, mModel, comp);
124         } else {
125             panel = new ElementOrTypeChooserPanel(mProject, namespaceToPrefixMap, mModel);
126         }
127         final DialogDescriptor descriptor = new DialogDescriptor(panel , NbBundle.getMessage(ElementOrTypeChooserEditorPanel.class, "ElementOrTypeChooserEditorPanel.Dialog.title"), true, null);
128         final PropertyChangeListener JavaDoc pcl = new PropertyChangeListener JavaDoc() {
129             public void propertyChange(PropertyChangeEvent JavaDoc evt) {
130                 if(evt.getSource()== panel && evt.getPropertyName().
131                         equals(ElementOrTypeChooserPanel.PROP_ACTION_APPLY)) {
132                     descriptor.setValid(((Boolean JavaDoc) evt.getNewValue()).booleanValue());
133                 }
134             }
135         };
136         panel.addPropertyChangeListener(pcl);
137         // dialog's action listener
138
ActionListener JavaDoc al = new ActionListener JavaDoc() {
139             public void actionPerformed(ActionEvent JavaDoc evt) {
140                 if (evt.getSource().equals(DialogDescriptor.OK_OPTION) ||
141                         evt.getSource().equals(DialogDescriptor.CANCEL_OPTION) ||
142                         evt.getSource().equals(DialogDescriptor.CLOSED_OPTION)) {
143                     panel.removePropertyChangeListener(pcl);
144                 }
145                 if (evt.getSource().equals(DialogDescriptor.OK_OPTION)) {
146                     panel.apply();
147                     int rNo = mPartsTable.getSelectedRow();
148                     PartAndElementOrTypeTableModel tModel = ((PartAndElementOrTypeTableModel) mPartsTable.getModel());
149                     tModel.setValueAt(panel.getSelectedComponent(), rNo, 1);
150                     mPartsTable.getColumnModel().getColumn(1).getCellEditor().stopCellEditing();
151                     mPartsTable.setEditingRow(rNo);
152                 }
153             }
154         };
155         descriptor.setButtonListener(al);
156         descriptor.setValid(false);
157         Dialog JavaDoc dialog = DialogDisplayer.getDefault().createDialog(descriptor);
158         dialog.setVisible(true);
159         dialog.toFront();
160     }
161     
162     public JTextField JavaDoc getJTextField() {
163         return this.jTextField1;
164     }
165
166    
167     private void initGUI() {
168         SchemaChooserKeyAction action = new SchemaChooserKeyAction();
169         this.mPartsTable.getActionMap().put("SCHEMA_CHOOSER", action); //NOI18N
170
this.mPartsTable.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, InputEvent.CTRL_DOWN_MASK), "SCHEMA_CHOOSER");//NOI18N
171

172     }
173    
174     class SchemaChooserKeyAction extends AbstractAction JavaDoc {
175         public void actionPerformed(ActionEvent JavaDoc e) {
176             openSchemaComponentChooser();
177             
178         }
179     }
180     
181     // Variables declaration - do not modify//GEN-BEGIN:variables
182
private javax.swing.JButton JavaDoc jButton1;
183     private javax.swing.JTextField JavaDoc jTextField1;
184     // End of variables declaration//GEN-END:variables
185
private ElementOrTypeChooserPanel panel;
186 }
187
Popular Tags