]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/PackageEditor/src/org/tianocore/packaging/GenGuidDialog.java
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@671 6f19259b...
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / GenGuidDialog.java
CommitLineData
24dba7f3 1/** @file\r
2 Java class GenGuidDialog.\r
3 \r
4Copyright (c) 2006, Intel Corporation\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12**/\r
13package org.tianocore.packaging;\r
14\r
15import java.awt.BorderLayout;\r
16import java.awt.Dimension;\r
17import java.awt.Toolkit;\r
18\r
19import javax.swing.JPanel;\r
20import javax.swing.JDialog;\r
21import java.awt.GridLayout;\r
22\r
23import javax.swing.JFrame;\r
24import javax.swing.JOptionPane;\r
25import javax.swing.JTextField;\r
26import javax.swing.JLabel;\r
27import javax.swing.JRadioButton;\r
28import javax.swing.ButtonGroup;\r
29import javax.swing.JButton;\r
30\r
31import org.tianocore.common.Tools;\r
32\r
33import java.awt.FlowLayout;\r
34import java.awt.event.ActionEvent;\r
35import java.awt.event.ActionListener;\r
36import java.awt.event.WindowAdapter;\r
37import java.awt.event.WindowEvent;\r
38\r
39/**\r
40 Dialog for GUID generation. \r
41 @since PackageEditor 1.0\r
42**/\r
43public class GenGuidDialog extends JDialog implements ActionListener{\r
44\r
45 static private JFrame frame;\r
46 private JPanel jContentPane = null;\r
47 private JPanel jPanel = null;\r
48 private JPanel jPanel1 = null;\r
49 private JPanel jPanel2 = null;\r
50 private JPanel jPanel3 = null;\r
51 private JPanel jPanel4 = null;\r
52 private JTextField jTextField = null;\r
53 private JLabel jLabel = null;\r
54 private JRadioButton jRadioButton = null;\r
55 private JRadioButton jRadioButton1 = null;\r
56 private JButton jButton = null;\r
57 private JButton jButton1 = null;\r
58 private JButton jButton2 = null;\r
59 \r
60// private String guid = null;\r
61\r
62 public void actionPerformed(ActionEvent arg0) {\r
63 // TODO Auto-generated method stub\r
64 if (arg0.getSource() == jButton1){\r
65 String uuid = Tools.generateUuidString();\r
66 if (jRadioButton1.isSelected()) {\r
67 jTextField.setText(uuid);\r
68 }\r
69 else {\r
70 //ToDo: transform to comma-sep guid\r
71 String s = Tools.formatGuidString(uuid);\r
72 if (s.equals("0")) {\r
73 JOptionPane.showMessageDialog(frame, "Check GUID Value, it don't conform to the schema.");\r
74 return;\r
75 }\r
76 jTextField.setText(s);\r
77 }\r
78 }\r
79 \r
80 if (arg0.getSource() == jRadioButton1){\r
81 \r
82 //ToDo: check text field value against RegExp and transform if needed\r
83 if (jTextField.getText().matches(Tools.guidRegistryPat)){\r
84 return;\r
85 }\r
86 if (jTextField.getText().matches(Tools.guidArrayPat)) {\r
87 jTextField.setText(Tools.formatGuidString(jTextField.getText()));\r
88 return;\r
89 }\r
90 \r
91 JOptionPane.showMessageDialog(frame, "Check GUID Value, it don't conform to the schema.");\r
92 \r
93 }\r
94 \r
95 if (arg0.getSource() == jRadioButton){\r
96 \r
97 //ToDo: check text field value against RegExp and transform if needed\r
98 if (jTextField.getText().matches(Tools.guidArrayPat)){\r
99 return;\r
100 }\r
101 if (jTextField.getText().matches(Tools.guidRegistryPat)) {\r
102 jTextField.setText(Tools.formatGuidString(jTextField.getText()));\r
103 return;\r
104 }\r
105 \r
106 JOptionPane.showMessageDialog(frame, "Check GUID Value, it don't conform to the schema.");\r
107 \r
108 }\r
109 \r
110 if (arg0.getSource() == jButton2){\r
111// if (jTextField.getText().matches(Tools.guidArrayPat) \r
112// || jTextField.getText().matches(Tools.guidRegistryPat)){\r
113// this.setVisible(false);\r
114// }\r
115// else {\r
116// JOptionPane.showMessageDialog(frame, "Incorrect GUID Value Format.");\r
117// }\r
118 this.dispose();\r
119 }\r
120 \r
121 if (arg0.getSource() == jButton){\r
122 this.dispose();\r
123 }\r
124 }\r
125\r
126 /**\r
127 * This method initializes jPanel \r
128 * \r
129 * @return javax.swing.JPanel \r
130 */\r
131 private JPanel getJPanel() {\r
132 if (jPanel == null) {\r
133 FlowLayout flowLayout = new FlowLayout();\r
134 flowLayout.setVgap(10);\r
135 jPanel = new JPanel();\r
136 jPanel.setLayout(flowLayout);\r
137 jPanel.setPreferredSize(new java.awt.Dimension(100,30));\r
138 jPanel.add(getJButton1(), null);\r
139 jPanel.add(getJButton2(), null);\r
140 jPanel.add(getJButton(), null);\r
141 }\r
142 return jPanel;\r
143 }\r
144\r
145 /**\r
146 * This method initializes jPanel1 \r
147 * \r
148 * @return javax.swing.JPanel \r
149 */\r
150 private JPanel getJPanel1() {\r
151 if (jPanel1 == null) {\r
152 jPanel1 = new JPanel();\r
153 }\r
154 return jPanel1;\r
155 }\r
156\r
157 /**\r
158 * This method initializes jPanel2 \r
159 * \r
160 * @return javax.swing.JPanel \r
161 */\r
162 private JPanel getJPanel2() {\r
163 if (jPanel2 == null) {\r
164 jPanel2 = new JPanel();\r
165 }\r
166 return jPanel2;\r
167 }\r
168\r
169 /**\r
170 * This method initializes jPanel3 \r
171 * \r
172 * @return javax.swing.JPanel \r
173 */\r
174 private JPanel getJPanel3() {\r
175 if (jPanel3 == null) {\r
176 jPanel3 = new JPanel();\r
177 }\r
178 return jPanel3;\r
179 }\r
180\r
181 /**\r
182 * This method initializes jPanel4 \r
183 * \r
184 * @return javax.swing.JPanel \r
185 */\r
186 private JPanel getJPanel4() {\r
187 if (jPanel4 == null) {\r
188 jLabel = new JLabel();\r
189 jLabel.setText("GUID Value");\r
190 GridLayout gridLayout = new GridLayout();\r
191 gridLayout.setRows(4);\r
192 jPanel4 = new JPanel();\r
193 jPanel4.setLayout(gridLayout);\r
194 jPanel4.add(getJRadioButton1(), null);\r
195 jPanel4.add(getJRadioButton(), null);\r
196 jPanel4.add(jLabel, null);\r
197 jPanel4.add(getJTextField(), null);\r
198 ButtonGroup bg = new ButtonGroup();\r
199 bg.add(jRadioButton1);\r
200 bg.add(jRadioButton);\r
201 }\r
202 return jPanel4;\r
203 }\r
204\r
205 /**\r
206 * This method initializes jTextField \r
207 * \r
208 * @return javax.swing.JTextField \r
209 */\r
210 private JTextField getJTextField() {\r
211 if (jTextField == null) {\r
212 jTextField = new JTextField();\r
213 jTextField.setHorizontalAlignment(JTextField.LEADING);\r
214 jTextField.setPreferredSize(new java.awt.Dimension(100,20));\r
215 }\r
216 return jTextField;\r
217 }\r
218\r
219 /**\r
220 * This method initializes jRadioButton \r
221 * \r
222 * @return javax.swing.JRadioButton \r
223 */\r
224 private JRadioButton getJRadioButton() {\r
225 if (jRadioButton == null) {\r
226 jRadioButton = new JRadioButton();\r
227 jRadioButton.setText("Comma-Seperated Format");\r
228 jRadioButton.addActionListener(this);\r
229 }\r
230 return jRadioButton;\r
231 }\r
232\r
233 /**\r
234 * This method initializes jRadioButton1 \r
235 * \r
236 * @return javax.swing.JRadioButton \r
237 */\r
238 private JRadioButton getJRadioButton1() {\r
239 if (jRadioButton1 == null) {\r
240 jRadioButton1 = new JRadioButton();\r
241 jRadioButton1.setText("Registry Format");\r
242 jRadioButton1.setSelected(true);\r
243 jRadioButton1.addActionListener(this);\r
244 }\r
245 return jRadioButton1;\r
246 }\r
247\r
248 /**\r
249 * This method initializes jButton \r
250 * \r
251 * @return javax.swing.JButton \r
252 */\r
253 private JButton getJButton() {\r
254 if (jButton == null) {\r
255 jButton = new JButton();\r
256 jButton.setPreferredSize(new java.awt.Dimension(80,20));\r
257 jButton.setText("Cancel");\r
258 jButton.addActionListener(this);\r
259 }\r
260 return jButton;\r
261 }\r
262\r
263 /**\r
264 * This method initializes jButton1 \r
265 * \r
266 * @return javax.swing.JButton \r
267 */\r
268 private JButton getJButton1() {\r
269 if (jButton1 == null) {\r
270 jButton1 = new JButton();\r
271 jButton1.setPreferredSize(new java.awt.Dimension(80,20));\r
272 jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);\r
273 jButton1.setText("New");\r
274 jButton1.addActionListener(this);\r
275 }\r
276 return jButton1;\r
277 }\r
278\r
279 /**\r
280 * This method initializes jButton2 \r
281 * \r
282 * @return javax.swing.JButton \r
283 */\r
284 private JButton getJButton2() {\r
285 if (jButton2 == null) {\r
286 jButton2 = new JButton();\r
287 jButton2.setPreferredSize(new java.awt.Dimension(80,20));\r
288 jButton2.setText("Ok");\r
289 jButton2.addActionListener(this);\r
290 }\r
291 return jButton2;\r
292 }\r
293\r
294 /**\r
295 \r
296 @param args\r
297 **/\r
298 public static void main(String[] args) {\r
299 // TODO Auto-generated method stub\r
300 new GenGuidDialog().setVisible(true);\r
301 }\r
302\r
303 public String getGuid(){\r
304 return jTextField.getText();\r
305 }\r
306 \r
307 public void setGuid(String s){\r
308 jTextField.setText(s);\r
309 }\r
310 /**\r
311 * This is the default constructor\r
312 */\r
313 public GenGuidDialog() {\r
314 super();\r
315 initialize();\r
316 }\r
317 \r
318 public GenGuidDialog(ActionListener i){\r
319 super();\r
320 initialize();\r
321 jButton2.addActionListener(i);\r
322 this.addWindowListener(new WindowAdapter(){\r
323\r
324 @Override\r
325 public void windowActivated(WindowEvent arg0) {\r
326 // TODO Auto-generated method stub\r
327 super.windowActivated(arg0);\r
328 if ((jRadioButton1.isSelected() && jTextField.getText().matches(Tools.guidArrayPat))\r
329 || (jRadioButton.isSelected() && jTextField.getText().matches(Tools.guidRegistryPat))) {\r
330 jTextField.setText(Tools.formatGuidString(jTextField.getText()));\r
331 }\r
332 \r
333// if (!jTextField.getText().matches(Tools.guidArrayPat) || !jTextField.getText().matches(Tools.guidRegistryPat)) {\r
334// JOptionPane.showMessageDialog(frame, "InitVal: Incorrect GUID Value Format.");\r
335// return;\r
336// }\r
337 }\r
338 \r
339 });\r
340 }\r
341\r
342 /**\r
343 * This method initializes this\r
344 * \r
345 * @return void\r
346 */\r
347 private void initialize() {\r
348 this.setSize(466, 157);\r
349 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
350 this.setModal(true);\r
351 this.setTitle("Editing GUID Value");\r
352 this.setContentPane(getJContentPane());\r
353 this.centerWindow();\r
354 }\r
355\r
356 /**\r
357 * This method initializes jContentPane\r
358 * \r
359 * @return javax.swing.JPanel\r
360 */\r
361 private JPanel getJContentPane() {\r
362 if (jContentPane == null) {\r
363 jContentPane = new JPanel();\r
364 jContentPane.setLayout(new BorderLayout());\r
365 jContentPane.add(getJPanel(), java.awt.BorderLayout.EAST);\r
366 jContentPane.add(getJPanel1(), java.awt.BorderLayout.WEST);\r
367 jContentPane.add(getJPanel2(), java.awt.BorderLayout.NORTH);\r
368 jContentPane.add(getJPanel3(), java.awt.BorderLayout.SOUTH);\r
369 jContentPane.add(getJPanel4(), java.awt.BorderLayout.CENTER);\r
370 }\r
371 return jContentPane;\r
372 }\r
373\r
374 /**\r
375 Start the window at the center of screen\r
376 \r
377 **/\r
378 protected void centerWindow(int intWidth, int intHeight) {\r
379 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();\r
380 this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);\r
381 }\r
382\r
383 /**\r
384 Start the window at the center of screen\r
385 \r
386 **/\r
387 protected void centerWindow() {\r
388 centerWindow(this.getSize().width, this.getSize().height);\r
389 }\r
390 \r
391} // @jve:decl-index=0:visual-constraint="10,10"\r