1 19 package org.netbeans.modules.xml.tax.beans.customizer; 20 21 import java.beans.PropertyChangeEvent ; 22 23 import org.netbeans.tax.TreeException; 24 import org.netbeans.tax.TreeDocumentType; 25 26 import org.netbeans.modules.xml.tax.util.TAXUtil; 27 28 33 public class TreeDocumentTypeCustomizer extends AbstractTreeCustomizer { 34 35 36 private static final long serialVersionUID = -6111125131099262050L; 37 38 39 43 44 public TreeDocumentTypeCustomizer () { 45 super (); 46 47 initComponents (); 48 nameLabel.setDisplayedMnemonic (Util.THIS.getChar ("MNE_xmlName")); systemLabel.setDisplayedMnemonic (Util.THIS.getChar ("MNE_xmlSystemID")); publicLabel.setDisplayedMnemonic (Util.THIS.getChar ("MNE_xmlPublicID")); 52 initAccessibility (); 53 } 54 55 56 60 62 protected final TreeDocumentType getDocumentType () { 63 return (TreeDocumentType)getTreeObject (); 64 } 65 66 68 protected final void safePropertyChange (PropertyChangeEvent pche) { 69 if (initializing) 70 return; 71 72 super.safePropertyChange (pche); 73 74 if (pche.getPropertyName ().equals (TreeDocumentType.PROP_ELEMENT_NAME)) { 75 updateNameComponent (); 76 } else if (pche.getPropertyName ().equals (TreeDocumentType.PROP_PUBLIC_ID)) { 77 updatePublicIdComponent (); 78 } else if (pche.getPropertyName ().equals (TreeDocumentType.PROP_SYSTEM_ID)) { 79 updateSystemIdComponent (); 80 } 81 } 82 83 85 protected final void updateDocumentTypeName () { 86 try { 87 getDocumentType ().setElementName (nameField.getText ()); 88 } catch (TreeException exc) { 89 updateNameComponent (); 90 TAXUtil.notifyTreeException (exc); 91 } 92 } 93 94 96 protected final void updateNameComponent () { 97 nameField.setText (getDocumentType ().getElementName ()); 98 } 99 100 102 protected final void updateDocumentTypePublicId () { 103 try { 104 getDocumentType ().setPublicId (text2null (publicField.getText ())); 105 } catch (TreeException exc) { 106 updatePublicIdComponent (); 107 TAXUtil.notifyTreeException (exc); 108 } 109 } 110 111 113 protected final void updatePublicIdComponent () { 114 publicField.setText (null2text (getDocumentType ().getPublicId ())); 115 } 116 117 119 protected final void updateDocumentTypeSystemId () { 120 try { 121 String systemId = systemField.getText (); 122 if ( ( getDocumentType ().getPublicId () == null ) && 123 ( "".equals (systemId) == false ) ) { systemId = text2null (systemId); 125 } 126 getDocumentType ().setSystemId (systemId); 127 } catch (TreeException exc) { 128 updateSystemIdComponent (); 129 TAXUtil.notifyTreeException (exc); 130 } 131 } 132 133 135 protected final void updateSystemIdComponent () { 136 systemField.setText (null2text (getDocumentType ().getSystemId ())); 137 } 138 139 140 142 protected final void initComponentValues () { 143 updateNameComponent (); 144 updatePublicIdComponent (); 145 updateSystemIdComponent (); 146 } 147 148 150 protected void updateReadOnlyStatus (boolean editable) { 151 nameField.setEditable (editable); 152 publicField.setEditable (editable); 153 systemField.setEditable (editable); 154 } 155 156 157 162 private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; 164 165 nameLabel = new javax.swing.JLabel (); 166 nameField = new javax.swing.JTextField (); 167 publicLabel = new javax.swing.JLabel (); 168 publicField = new javax.swing.JTextField (); 169 systemLabel = new javax.swing.JLabel (); 170 systemField = new javax.swing.JTextField (); 171 fillPanel = new javax.swing.JPanel (); 172 173 setLayout(new java.awt.GridBagLayout ()); 174 175 nameLabel.setText(Util.THIS.getString ("PROP_xmlName")); 176 nameLabel.setLabelFor(nameField); 177 gridBagConstraints = new java.awt.GridBagConstraints (); 178 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 179 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 180 gridBagConstraints.insets = new java.awt.Insets (12, 12, 0, 0); 181 add(nameLabel, gridBagConstraints); 182 183 nameField.setColumns(20); 184 nameField.addActionListener(new java.awt.event.ActionListener () { 185 public void actionPerformed(java.awt.event.ActionEvent evt) { 186 nameFieldActionPerformed(evt); 187 } 188 }); 189 190 nameField.addFocusListener(new java.awt.event.FocusAdapter () { 191 public void focusGained(java.awt.event.FocusEvent evt) { 192 nameFieldFocusGained(evt); 193 } 194 public void focusLost(java.awt.event.FocusEvent evt) { 195 nameFieldFocusLost(evt); 196 } 197 }); 198 199 gridBagConstraints = new java.awt.GridBagConstraints (); 200 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 201 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 202 gridBagConstraints.weightx = 1.0; 203 gridBagConstraints.insets = new java.awt.Insets (12, 12, 0, 11); 204 add(nameField, gridBagConstraints); 205 206 publicLabel.setText(Util.THIS.getString ("PROP_xmlPublicID")); 207 publicLabel.setLabelFor(publicField); 208 gridBagConstraints = new java.awt.GridBagConstraints (); 209 gridBagConstraints.gridx = 0; 210 gridBagConstraints.gridy = 1; 211 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 212 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 213 gridBagConstraints.insets = new java.awt.Insets (12, 12, 0, 0); 214 add(publicLabel, gridBagConstraints); 215 216 publicField.setColumns(20); 217 publicField.addActionListener(new java.awt.event.ActionListener () { 218 public void actionPerformed(java.awt.event.ActionEvent evt) { 219 publicFieldActionPerformed(evt); 220 } 221 }); 222 223 publicField.addFocusListener(new java.awt.event.FocusAdapter () { 224 public void focusGained(java.awt.event.FocusEvent evt) { 225 publicFieldFocusGained(evt); 226 } 227 public void focusLost(java.awt.event.FocusEvent evt) { 228 publicFieldFocusLost(evt); 229 } 230 }); 231 232 gridBagConstraints = new java.awt.GridBagConstraints (); 233 gridBagConstraints.gridx = 1; 234 gridBagConstraints.gridy = 1; 235 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 236 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 237 gridBagConstraints.weightx = 1.0; 238 gridBagConstraints.insets = new java.awt.Insets (12, 12, 0, 11); 239 add(publicField, gridBagConstraints); 240 241 systemLabel.setText(Util.THIS.getString ("PROP_xmlSystemID")); 242 systemLabel.setLabelFor(systemField); 243 gridBagConstraints = new java.awt.GridBagConstraints (); 244 gridBagConstraints.gridx = 0; 245 gridBagConstraints.gridy = 2; 246 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 247 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 248 gridBagConstraints.insets = new java.awt.Insets (12, 12, 0, 0); 249 add(systemLabel, gridBagConstraints); 250 251 systemField.setColumns(20); 252 systemField.addActionListener(new java.awt.event.ActionListener () { 253 public void actionPerformed(java.awt.event.ActionEvent evt) { 254 systemFieldActionPerformed(evt); 255 } 256 }); 257 258 systemField.addFocusListener(new java.awt.event.FocusAdapter () { 259 public void focusGained(java.awt.event.FocusEvent evt) { 260 systemFieldFocusGained(evt); 261 } 262 public void focusLost(java.awt.event.FocusEvent evt) { 263 systemFieldFocusLost(evt); 264 } 265 }); 266 267 gridBagConstraints = new java.awt.GridBagConstraints (); 268 gridBagConstraints.gridx = 1; 269 gridBagConstraints.gridy = 2; 270 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 271 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 272 gridBagConstraints.weightx = 1.0; 273 gridBagConstraints.insets = new java.awt.Insets (12, 12, 0, 11); 274 add(systemField, gridBagConstraints); 275 276 fillPanel.setPreferredSize(new java.awt.Dimension (0, 0)); 277 gridBagConstraints = new java.awt.GridBagConstraints (); 278 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 279 gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER; 280 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 281 gridBagConstraints.weightx = 1.0; 282 gridBagConstraints.weighty = 1.0; 283 add(fillPanel, gridBagConstraints); 284 285 } 287 private void systemFieldFocusGained(java.awt.event.FocusEvent evt) { if ("new".equals(getClientProperty("xml-edit-mode"))) { systemField.selectAll(); 290 } 291 } 293 private void publicFieldFocusGained(java.awt.event.FocusEvent evt) { if ("new".equals(getClientProperty("xml-edit-mode"))) { publicField.selectAll(); 296 } 297 298 } 300 private void nameFieldFocusGained(java.awt.event.FocusEvent evt) { if ("new".equals(getClientProperty("xml-edit-mode"))) { nameField.selectAll(); 303 } 304 } 306 308 private void publicFieldFocusLost (java.awt.event.FocusEvent evt) { updateDocumentTypePublicId (); 311 } 313 315 private void systemFieldFocusLost (java.awt.event.FocusEvent evt) { updateDocumentTypeSystemId (); 318 } 320 322 private void nameFieldFocusLost (java.awt.event.FocusEvent evt) { updateDocumentTypeName (); 325 } 327 329 private void publicFieldActionPerformed (java.awt.event.ActionEvent evt) { updateDocumentTypePublicId (); 332 } 334 336 private void systemFieldActionPerformed (java.awt.event.ActionEvent evt) { updateDocumentTypeSystemId (); 339 } 341 343 private void nameFieldActionPerformed (java.awt.event.ActionEvent evt) { updateDocumentTypeName (); 346 } 348 private javax.swing.JLabel nameLabel; 350 private javax.swing.JLabel publicLabel; 351 private javax.swing.JTextField nameField; 352 private javax.swing.JTextField publicField; 353 private javax.swing.JLabel systemLabel; 354 private javax.swing.JTextField systemField; 355 private javax.swing.JPanel fillPanel; 356 358 360 public void initAccessibility (){ 361 362 this.getAccessibleContext ().setAccessibleDescription (Util.THIS.getString ("ACSD_TreeDocumentTypeCustomizer")); 363 364 nameField.getAccessibleContext ().setAccessibleDescription (Util.THIS.getString ("ACSD_nameField4")); 365 systemField.getAccessibleContext ().setAccessibleDescription (Util.THIS.getString ("ACSD_systemField2")); 366 publicField.getAccessibleContext ().setAccessibleDescription (Util.THIS.getString ("ACSD_publicField3")); 367 } 368 } 369 | Popular Tags |