KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openharmonise > him > serverconfig > StateXmlDialog


1 /*
2  * The contents of this file are subject to the
3  * Mozilla Public License Version 1.1 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at http://www.mozilla.org/MPL/
6  *
7  * Software distributed under the License is distributed on an "AS IS"
8  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
9  * See the License for the specific language governing rights and
10  * limitations under the License.
11  *
12  * The Initial Developer of the Original Code is Simulacra Media Ltd.
13  * Portions created by Simulacra Media Ltd are Copyright (C) Simulacra Media Ltd, 2004.
14  *
15  * All Rights Reserved.
16  *
17  * Contributor(s):
18  */

19 package org.openharmonise.him.serverconfig;
20
21 import java.awt.Color JavaDoc;
22 import java.awt.Component JavaDoc;
23 import java.awt.Container JavaDoc;
24 import java.awt.Dialog JavaDoc;
25 import java.awt.Dimension JavaDoc;
26 import java.awt.Frame JavaDoc;
27 import java.awt.GraphicsConfiguration JavaDoc;
28 import java.awt.HeadlessException JavaDoc;
29 import java.awt.LayoutManager JavaDoc;
30 import java.awt.event.ActionEvent JavaDoc;
31 import java.awt.event.ActionListener JavaDoc;
32
33 import javax.swing.BorderFactory JavaDoc;
34 import javax.swing.ImageIcon JavaDoc;
35 import javax.swing.JButton JavaDoc;
36 import javax.swing.JDialog JavaDoc;
37 import javax.swing.JFrame JavaDoc;
38 import javax.swing.JLabel JavaDoc;
39 import javax.swing.JTextArea JavaDoc;
40 import javax.swing.JTextField JavaDoc;
41
42 import org.openharmonise.commons.xml.*;
43 import org.openharmonise.commons.xml.namespace.*;
44 import org.openharmonise.vfs.gui.*;
45 import org.w3c.dom.Document JavaDoc;
46 import org.xml.sax.SAXException JavaDoc;
47
48
49 /**
50  *
51  * @author matt treanor
52  * @version $Revision: 1.1 $
53  *
54  */

55 public class StateXmlDialog extends JDialog JavaDoc implements LayoutManager JavaDoc, ActionListener JavaDoc {
56
57     private JTextArea JavaDoc m_stateTextArea = null;
58
59     private JTextField JavaDoc m_nameTextField = null;
60     
61     private XMLPrettyPrint m_printer = null;
62     
63     private JButton JavaDoc m_addButton = null;
64
65     private JButton JavaDoc m_cancelButton = null;
66     
67     private JLabel JavaDoc m_validLabel = null;
68     
69     PagePreviewConfigOptions m_options = null;
70     /**
71      * @param arg0
72      * @param arg1
73      * @throws java.awt.HeadlessException
74      */

75     public StateXmlDialog(Frame JavaDoc arg0, String JavaDoc arg1, PagePreviewConfigOptions options) throws HeadlessException JavaDoc {
76         super(arg0, arg1);
77         m_options = options;
78         setup();
79     }
80     private void setup(){
81         m_printer = new XMLPrettyPrint();
82         
83         this.getContentPane().setLayout(this);
84         this.setSize(250,350);
85         int x = this.getGraphicsConfiguration().getBounds().width/2-this.getSize().width/2;
86         int y = this.getGraphicsConfiguration().getBounds().height/2-this.getSize().height/2;
87     
88         this.setLocation(x, y);
89         
90         m_stateTextArea = new JTextArea JavaDoc();
91         getContentPane().add(m_stateTextArea);
92         
93         m_nameTextField = new JTextField JavaDoc();
94         getContentPane().add(m_nameTextField);
95         
96         m_addButton = new JButton JavaDoc("Add");
97         m_addButton.setActionCommand("ADD");
98         m_addButton.addActionListener(this);
99         getContentPane().add(m_addButton);
100         
101         m_cancelButton = new JButton JavaDoc("Cancel");
102         m_cancelButton.setActionCommand("CANCEL");
103         m_cancelButton.addActionListener(this);
104         getContentPane().add(m_cancelButton);
105         
106         m_validLabel = new JLabel JavaDoc("Invalid XML");
107         m_validLabel.setForeground(Color.RED);
108         m_validLabel.setVisible(false);
109         getContentPane().add(m_validLabel);
110         
111         getContentPane().setBackground(new Color JavaDoc(224,224,224));
112     }
113     
114     /* (non-Javadoc)
115      * @see java.awt.LayoutManager#layoutContainer(java.awt.Container)
116      */

117     public void layoutContainer(Container JavaDoc arg0) {
118         
119         m_nameTextField.setSize(200, 20);
120         m_nameTextField.setLocation(10, 30);
121         m_nameTextField.setBorder(BorderFactory.createEtchedBorder());
122
123         m_stateTextArea.setSize(200, 150);
124         m_stateTextArea.setLocation(10, 60);
125         m_stateTextArea.setBorder(BorderFactory.createEtchedBorder());
126         
127         m_addButton.setSize(70,20);
128         m_addButton.setLocation(10,230);
129         m_cancelButton.setSize(90,20);
130         m_cancelButton.setLocation(90,230);
131         
132         m_validLabel.setSize(100,20);
133         m_validLabel.setLocation(10,210);
134         
135     }
136     
137     /**
138      * @param name State scenario name
139      */

140     public void populateState(String JavaDoc name, Document JavaDoc stateDoc) {
141         m_validLabel.setVisible(false);
142         if (stateDoc != null) {
143             m_nameTextField.setText(name);
144             try {
145                 this.m_stateTextArea.setText(m_printer.printNode(stateDoc
146                         .getDocumentElement(), false));
147             } catch (NamespaceClashException e) {
148                 e.printStackTrace();
149             }
150         }
151     }
152     
153     public void clear() {
154         this.m_validLabel.setVisible(false);
155         m_nameTextField.setText("");
156         m_stateTextArea.setText("");
157     }
158     
159     /* (non-Javadoc)
160      * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
161      */

162     public void actionPerformed(ActionEvent JavaDoc ae) {
163         if (ae.getActionCommand().equals("ADD")) {
164             String JavaDoc name = m_nameTextField.getText();
165             String JavaDoc xml = m_stateTextArea.getText();
166             try {
167                 m_options.addState(name,xml);
168                 this.hide();
169             } catch (SAXException JavaDoc e) {
170                 m_validLabel.setVisible(true);
171             }
172         } else if (ae.getActionCommand().equals("CANCEL")) {
173             this.hide();
174         }
175         
176     }
177     
178     /**
179      * @throws java.awt.HeadlessException
180      */

181     public StateXmlDialog() throws HeadlessException JavaDoc {
182         super();
183     }
184
185     /**
186      * @param arg0
187      * @throws java.awt.HeadlessException
188      */

189     public StateXmlDialog(Dialog JavaDoc arg0) throws HeadlessException JavaDoc {
190         super(arg0);
191     }
192
193     /**
194      * @param arg0
195      * @param arg1
196      * @throws java.awt.HeadlessException
197      */

198     public StateXmlDialog(Dialog JavaDoc arg0, boolean arg1) throws HeadlessException JavaDoc {
199         super(arg0, arg1);
200     }
201
202     /**
203      * @param arg0
204      * @throws java.awt.HeadlessException
205      */

206     public StateXmlDialog(Frame JavaDoc arg0) throws HeadlessException JavaDoc {
207         super(arg0);
208     }
209
210     /**
211      * @param arg0
212      * @param arg1
213      * @throws java.awt.HeadlessException
214      */

215     public StateXmlDialog(Frame JavaDoc arg0, boolean arg1) throws HeadlessException JavaDoc {
216         super(arg0, arg1);
217     }
218
219     /**
220      * @param arg0
221      * @param arg1
222      * @throws java.awt.HeadlessException
223      */

224     public StateXmlDialog(Dialog JavaDoc arg0, String JavaDoc arg1) throws HeadlessException JavaDoc {
225         super(arg0, arg1);
226     }
227
228     /**
229      * @param arg0
230      * @param arg1
231      * @param arg2
232      * @throws java.awt.HeadlessException
233      */

234     public StateXmlDialog(Dialog JavaDoc arg0, String JavaDoc arg1, boolean arg2)
235             throws HeadlessException JavaDoc {
236         super(arg0, arg1, arg2);
237     }
238
239     /**
240      * @param arg0
241      * @param arg1
242      * @param arg2
243      * @throws java.awt.HeadlessException
244      */

245     public StateXmlDialog(Frame JavaDoc arg0, String JavaDoc arg1, boolean arg2)
246             throws HeadlessException JavaDoc {
247         super(arg0, arg1, arg2);
248     }
249
250     /**
251      * @param arg0
252      * @param arg1
253      * @param arg2
254      * @param arg3
255      * @throws java.awt.HeadlessException
256      */

257     public StateXmlDialog(Dialog JavaDoc arg0, String JavaDoc arg1, boolean arg2,
258             GraphicsConfiguration JavaDoc arg3) throws HeadlessException JavaDoc {
259         super(arg0, arg1, arg2, arg3);
260     }
261
262     /**
263      * @param arg0
264      * @param arg1
265      * @param arg2
266      * @param arg3
267      */

268     public StateXmlDialog(Frame JavaDoc arg0, String JavaDoc arg1, boolean arg2,
269             GraphicsConfiguration JavaDoc arg3) {
270         super(arg0, arg1, arg2, arg3);
271     }
272
273     public static void main(String JavaDoc[] args) {
274         JFrame JavaDoc frame = new JFrame JavaDoc();
275         frame.setIconImage( ((ImageIcon JavaDoc)IconManager.getInstance().getIcon("16-command-server-properties.gif")).getImage() );
276                 
277         StateXmlDialog dialog = new StateXmlDialog(frame, "State xml", null);
278         dialog.show();
279     }
280
281     /* (non-Javadoc)
282      * @see java.awt.LayoutManager#removeLayoutComponent(java.awt.Component)
283      */

284     public void removeLayoutComponent(Component JavaDoc arg0) {
285     }
286
287
288     /* (non-Javadoc)
289      * @see java.awt.LayoutManager#addLayoutComponent(java.lang.String, java.awt.Component)
290      */

291     public void addLayoutComponent(String JavaDoc arg0, Component JavaDoc arg1) {
292     }
293
294     /* (non-Javadoc)
295      * @see java.awt.LayoutManager#minimumLayoutSize(java.awt.Container)
296      */

297     public Dimension JavaDoc minimumLayoutSize(Container JavaDoc arg0) {
298         return null;
299     }
300
301     /* (non-Javadoc)
302      * @see java.awt.LayoutManager#preferredLayoutSize(java.awt.Container)
303      */

304     public Dimension JavaDoc preferredLayoutSize(Container JavaDoc arg0) {
305         return null;
306     }
307 }
308
Popular Tags