]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/PackageEditor/src/org/tianocore/packaging/PackageProtocols.java
Remove the assumption of package location under workspace and prompt user to specify...
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / PackageProtocols.java
CommitLineData
878ddf1f 1/** @file\r
2 Java class PackageProtocols is GUI for create Protocol definition elements of spd file.\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 javax.swing.JPanel;\r
16import javax.swing.JLabel;\r
17import javax.swing.JTextField;\r
18import javax.swing.JButton;\r
19import java.awt.Dimension;\r
20import java.awt.Toolkit;\r
21import java.awt.event.ActionEvent;\r
22import java.awt.event.ActionListener;\r
23\r
24import javax.swing.JComboBox;\r
25import javax.swing.JRadioButton;\r
26import javax.swing.JFrame;\r
27\r
28import org.tianocore.common.Tools;\r
29import org.tianocore.packaging.common.ui.StarLabel;\r
30\r
31/**\r
32 GUI for create Protocol definition elements of spd file.\r
33 \r
34 @since PackageEditor 1.0\r
35**/\r
36public class PackageProtocols extends JFrame implements ActionListener {\r
37\r
38 private int location = -1;\r
39\r
40 private SpdFileContents sfc = null;\r
41\r
42 private JPanel jContentPane = null;\r
43\r
44 private JLabel jLabelC_Name = null;\r
45\r
46 private JTextField jTextFieldC_Name = null;\r
47\r
48 private JLabel jLabelGuid = null;\r
49\r
50 private JTextField jTextFieldGuid = null;\r
51\r
52 private JLabel jLabelFeatureFlag = null;\r
53\r
54 private JTextField jTextFieldFeatureFlag = null;\r
55\r
56 private JButton jButtonOk = null;\r
57\r
58 private JButton jButtonCancel = null;\r
59\r
60 private JLabel jLabelEnableFeature = null;\r
61\r
62 private JRadioButton jRadioButtonEnableFeature = null;\r
63\r
64 private JRadioButton jRadioButtonDisableFeature = null;\r
65\r
66 private JButton jButtonGenerateGuid = null;\r
67\r
68 private StarLabel jStarLabel2 = null;\r
69\r
70 private StarLabel starLabel = null;\r
71\r
72 private JLabel jLabel = null;\r
73\r
74 private JTextField jTextField = null;\r
75\r
76 /**\r
77 This method initializes this\r
78 \r
79 **/\r
80 private void initialize() {\r
81 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
82\r
83 }\r
84\r
85 /**\r
86 This method initializes jTextFieldProtocolName \r
87 \r
88 @return javax.swing.JTextField \r
89 **/\r
90 private JTextField getJTextFieldProtocolName() {\r
91 if (jTextFieldC_Name == null) {\r
92 jTextFieldC_Name = new JTextField();\r
93 jTextFieldC_Name.setBounds(new java.awt.Rectangle(160, 35, 320, 20));\r
94 }\r
95 return jTextFieldC_Name;\r
96 }\r
97\r
98 /**\r
99 This method initializes jTextFieldGuid \r
100 \r
101 @return javax.swing.JTextField \r
102 **/\r
103 public JTextField getJTextFieldGuid() {\r
104 if (jTextFieldGuid == null) {\r
105 jTextFieldGuid = new JTextField();\r
106 jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 60, 240, 20));\r
107 }\r
108 return jTextFieldGuid;\r
109 }\r
110\r
111 /**\r
112 This method initializes jTextFieldFeatureFlag \r
113 \r
114 @return javax.swing.JTextField \r
115 **/\r
116 private JTextField getJTextFieldFeatureFlag() {\r
117 if (jTextFieldFeatureFlag == null) {\r
118 jTextFieldFeatureFlag = new JTextField();\r
119 jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 135, 320, 20));\r
120 jTextFieldFeatureFlag.setEnabled(false);\r
121 }\r
122 return jTextFieldFeatureFlag;\r
123 }\r
124\r
125 /**\r
126 This method initializes jButton \r
127 \r
128 @return javax.swing.JButton \r
129 **/\r
130 private JButton getJButtonOk() {\r
131 if (jButtonOk == null) {\r
132 jButtonOk = new JButton();\r
133 jButtonOk.setText("OK");\r
134 jButtonOk.setBounds(new java.awt.Rectangle(290, 190, 90, 20));\r
135 jButtonOk.addActionListener(this);\r
136 }\r
137 return jButtonOk;\r
138 }\r
139\r
140 /**\r
141 This method initializes jButton1 \r
142 \r
143 @return javax.swing.JButton \r
144 **/\r
145 private JButton getJButtonCancel() {\r
146 if (jButtonCancel == null) {\r
147 jButtonCancel = new JButton();\r
148 jButtonCancel.setText("Cancel");\r
149 jButtonCancel.setBounds(new java.awt.Rectangle(390, 190, 90, 20));\r
150 jButtonCancel.setPreferredSize(new Dimension(90, 20));\r
151 jButtonCancel.addActionListener(this);\r
152 }\r
153 return jButtonCancel;\r
154 }\r
155\r
156 /**\r
157 This method initializes jRadioButtonEnableFeature \r
158 \r
159 @return javax.swing.JRadioButton \r
160 **/\r
161 private JRadioButton getJRadioButtonEnableFeature() {\r
162 if (jRadioButtonEnableFeature == null) {\r
163 jRadioButtonEnableFeature = new JRadioButton();\r
164 jRadioButtonEnableFeature.setText("Enable");\r
165 jRadioButtonEnableFeature.setBounds(new java.awt.Rectangle(160, 110, 90, 20));\r
166 jRadioButtonEnableFeature.setEnabled(false);\r
167 jRadioButtonEnableFeature.addActionListener(this);\r
168 jRadioButtonEnableFeature.setSelected(true);\r
169 }\r
170 return jRadioButtonEnableFeature;\r
171 }\r
172\r
173 /**\r
174 This method initializes jRadioButtonDisableFeature \r
175 \r
176 @return javax.swing.JRadioButton \r
177 **/\r
178 private JRadioButton getJRadioButtonDisableFeature() {\r
179 if (jRadioButtonDisableFeature == null) {\r
180 jRadioButtonDisableFeature = new JRadioButton();\r
181 jRadioButtonDisableFeature.setText("Disable");\r
182 jRadioButtonDisableFeature.setEnabled(false);\r
183 jRadioButtonDisableFeature.setBounds(new java.awt.Rectangle(320, 110, 90, 20));\r
184 jRadioButtonDisableFeature.addActionListener(this);\r
185 }\r
186 return jRadioButtonDisableFeature;\r
187 }\r
188\r
189 /**\r
190 This method initializes jButtonGenerateGuid \r
191 \r
192 @return javax.swing.JButton \r
193 **/\r
194 private JButton getJButtonGenerateGuid() {\r
195 if (jButtonGenerateGuid == null) {\r
196 jButtonGenerateGuid = new JButton();\r
197 jButtonGenerateGuid.setBounds(new java.awt.Rectangle(405, 60, 75, 20));\r
198 jButtonGenerateGuid.setText("GEN");\r
199 jButtonGenerateGuid.addActionListener(this);\r
200 }\r
201 return jButtonGenerateGuid;\r
202 }\r
203\r
204 /**\r
205 This is the default constructor\r
206 **/\r
207 public PackageProtocols(SpdFileContents sfc) {\r
208 super();\r
209 initialize();\r
210 init();\r
211 this.setVisible(true);\r
212 this.sfc = sfc;\r
213 }\r
214\r
215 /**\r
216 This method initializes this\r
217 \r
218 @return void\r
219 **/\r
220 private void init() {\r
221 this.setSize(500, 250);\r
222 this.setName("JFrame");\r
223 this.setContentPane(getJContentPane());\r
224 this.setTitle("Add Protocols");\r
225 this.centerWindow();\r
226 //this.getRootPane().setDefaultButton(jButtonOk);\r
227 initFrame();\r
228 }\r
229\r
230 /**\r
231 Start the window at the center of screen\r
232 \r
233 **/\r
234 protected void centerWindow(int intWidth, int intHeight) {\r
235 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();\r
236 this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);\r
237 }\r
238\r
239 /**\r
240 Start the window at the center of screen\r
241 \r
242 **/\r
243 protected void centerWindow() {\r
244 centerWindow(this.getSize().width, this.getSize().height);\r
245 }\r
246\r
247 /**\r
248 This method initializes jContentPane\r
249 \r
250 @return javax.swing.JPanel\r
251 **/\r
252 private JPanel getJContentPane() {\r
253 if (jContentPane == null) {\r
254 jLabel = new JLabel();\r
255 jLabel.setBounds(new java.awt.Rectangle(16, 10, 138, 16));\r
256 jLabel.setText("Name");\r
257 starLabel = new StarLabel();\r
258 starLabel.setBounds(new java.awt.Rectangle(0, 9, 10, 20));\r
259 jLabelEnableFeature = new JLabel();\r
260 jLabelEnableFeature.setText("Enable Feature");\r
261 jLabelEnableFeature.setEnabled(false);\r
262 jLabelEnableFeature.setBounds(new java.awt.Rectangle(15, 110, 140, 20));\r
263 jLabelFeatureFlag = new JLabel();\r
264 jLabelFeatureFlag.setText("Feature Flag");\r
265 jLabelFeatureFlag.setEnabled(false);\r
266 jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 135, 140, 20));\r
267 jLabelGuid = new JLabel();\r
268 jLabelGuid.setText("Guid");\r
269 jLabelGuid.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
270 jLabelC_Name = new JLabel();\r
271 jLabelC_Name.setText("C_Name");\r
272 jLabelC_Name.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
273 jContentPane = new JPanel();\r
274 jContentPane.setLayout(null);\r
275 jContentPane.add(jLabelC_Name, null);\r
276 jContentPane.add(getJTextFieldProtocolName(), null);\r
277 jContentPane.add(jLabelGuid, null);\r
278 jContentPane.add(getJTextFieldGuid(), null);\r
279 jContentPane.add(jLabelFeatureFlag, null);\r
280 jContentPane.add(getJTextFieldFeatureFlag(), null);\r
281 jContentPane.add(getJButtonOk(), null);\r
282 jContentPane.add(getJButtonCancel(), null);\r
283 jContentPane.add(jLabelEnableFeature, null);\r
284 jContentPane.add(getJRadioButtonEnableFeature(), null);\r
285 jContentPane.add(getJRadioButtonDisableFeature(), null);\r
286 jContentPane.add(getJButtonGenerateGuid(), null);\r
287\r
288 jStarLabel2 = new StarLabel();\r
289 jStarLabel2.setBounds(new java.awt.Rectangle(0, 35, 10, 20));\r
290\r
291 jContentPane.add(jStarLabel2, null);\r
292 jContentPane.add(starLabel, null);\r
293 jContentPane.add(jLabel, null);\r
294 jContentPane.add(getJTextField(), null);\r
295 }\r
296 return jContentPane;\r
297 }\r
298\r
299 /**\r
300 This method initializes protocol usage type\r
301 \r
302 **/\r
303 private void initFrame() {\r
304\r
305 }\r
306\r
307 public void actionPerformed(ActionEvent arg0) {\r
308 if (arg0.getSource() == jButtonOk) {\r
309\r
310 this.save();\r
311 this.dispose();\r
312 }\r
313 if (arg0.getSource() == jButtonCancel) {\r
314 this.dispose();\r
315 }\r
316\r
317 if (arg0.getSource() == jRadioButtonEnableFeature) {\r
318 if (jRadioButtonEnableFeature.isSelected()) {\r
319 jRadioButtonDisableFeature.setSelected(false);\r
320 }\r
321 if (!jRadioButtonDisableFeature.isSelected() && !jRadioButtonEnableFeature.isSelected()) {\r
322 jRadioButtonEnableFeature.setSelected(true);\r
323 }\r
324 }\r
325\r
326 if (arg0.getSource() == jRadioButtonDisableFeature) {\r
327 if (jRadioButtonDisableFeature.isSelected()) {\r
328 jRadioButtonEnableFeature.setSelected(false);\r
329 }\r
330 if (!jRadioButtonDisableFeature.isSelected() && !jRadioButtonEnableFeature.isSelected()) {\r
331 jRadioButtonDisableFeature.setSelected(true);\r
332 }\r
333 }\r
334\r
335 if (arg0.getSource() == jButtonGenerateGuid) {\r
336 jTextFieldGuid.setText(Tools.generateUuidString());\r
337 }\r
338 }\r
339\r
340 protected void save() {\r
341 try {\r
342 sfc.genSpdProtocolDeclarations(jTextField.getText(), jTextFieldC_Name.getText(), jTextFieldGuid.getText(),\r
343 null);\r
344 } catch (Exception e) {\r
345 System.out.println(e.toString());\r
346 }\r
347 }\r
348\r
349 /**\r
350 This method initializes jTextField \r
351 \r
352 @return javax.swing.JTextField \r
353 **/\r
354 public JTextField getJTextField() {\r
355 if (jTextField == null) {\r
356 jTextField = new JTextField();\r
357 jTextField.setBounds(new java.awt.Rectangle(160, 8, 319, 23));\r
358 }\r
359 return jTextField;\r
360 }\r
361\r
362 public JTextField getJTextFieldC_Name() {\r
363 return jTextFieldC_Name;\r
364 }\r
365\r
366 public void setJTextFieldC_Name(JTextField textFieldC_Name) {\r
367 jTextFieldC_Name = textFieldC_Name;\r
368 }\r
369\r
370 public void setJTextField(JTextField textField) {\r
371 jTextField = textField;\r
372 }\r
373\r
374 public void setJTextFieldGuid(JTextField textFieldGuid) {\r
375 jTextFieldGuid = textFieldGuid;\r
376 }\r
377} // @jve:decl-index=0:visual-constraint="10,10"\r