1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package org.xmlhammer.gui.preferences;
24
25 import java.awt.event.ItemEvent;
26 import java.awt.event.ItemListener;
27
28 import javax.swing.Box;
29 import javax.swing.JCheckBox;
30 import javax.swing.JLabel;
31 import javax.swing.JPanel;
32 import javax.swing.JTextField;
33
34 import org.bounce.FormLayout;
35 import org.xmlhammer.model.jaxp.JAXPTransformerFactory;
36
37 /***
38 * Put comment...
39 *
40 * @version $Revision: 1.5 $, $Date: 2007/03/07 21:56:23 $
41 * @author Edwin Dankert <edankert@gmail.com>
42 */
43
44 public class TransformerFactoryPreferencesPanel extends PreferencesPanel {
45 private static final long serialVersionUID = -6362702494929126445L;
46
47 private JTextField propertyField = null;
48 private JLabel propertyLabel = null;
49
50 private JCheckBox useDefaultFactory = null;
51
52 /***
53 * @param name
54 */
55 public TransformerFactoryPreferencesPanel() {
56 this(false);
57 }
58
59 public TransformerFactoryPreferencesPanel(boolean project) {
60 super("javax.xml.transform.TransformerFactory", "preferences.trax", project);
61
62 setLabel("TransformerFactory");
63
64 JPanel preferences = new JPanel( new FormLayout( 5, 2));
65
66 propertyField = new JTextField();
67 propertyLabel = new JLabel( "Property:");
68
69 preferences.add( propertyLabel, FormLayout.LEFT);
70 preferences.add( propertyField, FormLayout.RIGHT_FILL);
71
72 useDefaultFactory = new JCheckBox( "Use Default Factory Mechanism");
73 useDefaultFactory.addItemListener( new ItemListener() {
74 public void itemStateChanged( ItemEvent e) {
75 propertyLabel.setEnabled( !useDefaultFactory.isSelected());
76 propertyField.setEnabled( !useDefaultFactory.isSelected());
77 }
78 });
79 useDefaultFactory.setToolTipText( "<html><body>Uses an ordered lookup procedure to determine the<br>TransformerFactory implementation class to load.</body></html>");
80
81 preferences.add( new JLabel(), FormLayout.LEFT);
82 preferences.add( useDefaultFactory, FormLayout.RIGHT);
83
84 preferences.add( Box.createVerticalStrut(5), FormLayout.FULL);
85
86 setCenterPane( preferences);
87 }
88
89 public void setJAXPTransformerFactorySettings( JAXPTransformerFactory.Settings settings) {
90 useDefaultFactory.setSelected( settings.getValue() == null);
91 propertyField.setText( settings.getValue() == null ? "" : settings.getValue());
92 }
93
94 public JAXPTransformerFactory.Settings getJAXPTransfomerFactory() {
95 JAXPTransformerFactory.Settings settings = new JAXPTransformerFactory.Settings();
96
97 if ( !useDefaultFactory.isSelected()) {
98 settings.setValue( propertyField.getText());
99 }
100
101 return settings;
102 }
103
104 public void reset() {
105 setJAXPTransformerFactorySettings( new JAXPTransformerFactory.Settings());
106 }
107
108 public void setEnabled( boolean enabled) {
109 useDefaultFactory.setEnabled( enabled);
110
111 if ( !useDefaultFactory.isSelected()) {
112 propertyLabel.setEnabled( enabled);
113 propertyField.setEnabled( enabled);
114 }
115 }
116 }