]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/HiiPackagesDlg.java
Fixed spelling and grammar, also fixed the size of the pop up dialog boxes and the...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / module / ui / dialog / HiiPackagesDlg.java
CommitLineData
06a19cee 1/** @file\r
2 \r
3 The file is used to create, update Formset of MSA/MBD file\r
4 \r
5 Copyright (c) 2006, Intel Corporation\r
6 All rights reserved. This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10 \r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 \r
14 **/\r
15package org.tianocore.frameworkwizard.module.ui.dialog;\r
16\r
17import java.awt.event.ActionEvent;\r
18import java.util.Vector;\r
19\r
20import javax.swing.JButton;\r
21import javax.swing.JComboBox;\r
22import javax.swing.JLabel;\r
23import javax.swing.JPanel;\r
24import javax.swing.JScrollPane;\r
25import javax.swing.JTextField;\r
26\r
27import org.tianocore.frameworkwizard.common.DataType;\r
28import org.tianocore.frameworkwizard.common.DataValidation;\r
29import org.tianocore.frameworkwizard.common.EnumerationData;\r
30import org.tianocore.frameworkwizard.common.Log;\r
31import org.tianocore.frameworkwizard.common.Tools;\r
32import org.tianocore.frameworkwizard.common.ui.ArchCheckBox;\r
33import org.tianocore.frameworkwizard.common.ui.IDialog;\r
34import org.tianocore.frameworkwizard.common.ui.IFrame;\r
35import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
36import org.tianocore.frameworkwizard.module.Identifications.HiiPackages.HiiPackagesIdentification;\r
37\r
38/**\r
39 The class is used to create, update Formset of MSA/MBD file\r
40 It extends IInternalFrame\r
41 \r
42\r
43\r
44 **/\r
45public class HiiPackagesDlg extends IDialog {\r
46\r
47 ///\r
48 /// Define class Serial Version UID\r
49 ///\r
50 private static final long serialVersionUID = -6851574146786158116L;\r
51\r
52 //\r
53 //Define class members\r
54 //\r
55 private JPanel jContentPane = null;\r
56\r
57 private JLabel jLabelName = null;\r
58\r
59 private JTextField jTextFieldName = null;\r
60\r
61 private JLabel jLabelUsage = null;\r
62\r
63 private JComboBox jComboBoxUsage = null;\r
64\r
65 private StarLabel jStarLabel1 = null;\r
66\r
67 private StarLabel jStarLabel2 = null;\r
68\r
69 private JLabel jLabelFeatureFlag = null;\r
70\r
71 private JTextField jTextFieldFeatureFlag = null;\r
72\r
73 private JLabel jLabelArch = null;\r
74\r
75 private JScrollPane jScrollPane = null;\r
76\r
77 private JLabel jLabelHelpText = null;\r
78\r
79 private JTextField jTextFieldHelpText = null;\r
80\r
81 private ArchCheckBox jArchCheckBox = null;\r
82\r
83 private JButton jButtonOk = null;\r
84\r
85 private JButton jButtonCancel = null;\r
86\r
87 //\r
88 // Not used by UI\r
89 //\r
90 private HiiPackagesIdentification id = null;\r
91\r
92 private EnumerationData ed = new EnumerationData();\r
93\r
94 /**\r
95 This method initializes jTextFieldName \r
96 \r
97 @return javax.swing.JTextField jTextFieldName\r
98 \r
99 **/\r
100 private JTextField getJTextFieldName() {\r
101 if (jTextFieldName == null) {\r
102 jTextFieldName = new JTextField();\r
103 jTextFieldName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
104 jTextFieldName.setPreferredSize(new java.awt.Dimension(320, 20));\r
105 jTextFieldName.setToolTipText("Enter the C Name of the HII Package");\r
106 }\r
107 return jTextFieldName;\r
108 }\r
109\r
110 /**\r
111 This method initializes jComboBoxUsage \r
112 \r
113 @return javax.swing.JComboBox jComboBoxUsage\r
114 \r
115 **/\r
116 private JComboBox getJComboBoxUsage() {\r
117 if (jComboBoxUsage == null) {\r
118 jComboBoxUsage = new JComboBox();\r
119 jComboBoxUsage.setBounds(new java.awt.Rectangle(160, 35, 320, 20));\r
120 jComboBoxUsage.setPreferredSize(new java.awt.Dimension(320, 20));\r
121 }\r
122 return jComboBoxUsage;\r
123 }\r
124\r
125 /**\r
126 * This method initializes jTextFieldFeatureFlag \r
127 * \r
128 * @return javax.swing.JTextField \r
129 */\r
130 private JTextField getJTextFieldFeatureFlag() {\r
131 if (jTextFieldFeatureFlag == null) {\r
132 jTextFieldFeatureFlag = new JTextField();\r
133 jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 85, 320, 20));\r
134 jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(320, 20));\r
135 }\r
136 return jTextFieldFeatureFlag;\r
137 }\r
138\r
139 /**\r
140 This method initializes jScrollPane \r
141 \r
142 @return javax.swing.JScrollPane \r
143 */\r
144 private JScrollPane getJScrollPane() {\r
145 if (jScrollPane == null) {\r
146 jScrollPane = new JScrollPane();\r
147 jScrollPane.setViewportView(getJContentPane());\r
148 }\r
149 return jScrollPane;\r
150 }\r
151\r
152 /**\r
153 This method initializes jTextFieldHelpText \r
154 \r
155 @return javax.swing.JTextField \r
156 \r
157 **/\r
158 private JTextField getJTextFieldHelpText() {\r
159 if (jTextFieldHelpText == null) {\r
160 jTextFieldHelpText = new JTextField();\r
161 jTextFieldHelpText.setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
162 jTextFieldHelpText.setPreferredSize(new java.awt.Dimension(320, 20));\r
163 }\r
164 return jTextFieldHelpText;\r
165 }\r
166\r
167 /**\r
168 This method initializes jButtonOk \r
169 \r
170 @return javax.swing.JButton \r
171 \r
172 **/\r
173 private JButton getJButtonOk() {\r
174 if (jButtonOk == null) {\r
175 jButtonOk = new JButton();\r
176 jButtonOk.setBounds(new java.awt.Rectangle(290, 140, 90, 20));\r
177 jButtonOk.setText("Ok");\r
178 jButtonOk.addActionListener(this);\r
179 }\r
180 return jButtonOk;\r
181 }\r
182\r
183 /**\r
184 This method initializes jButtonCancel \r
185 \r
186 @return javax.swing.JButton \r
187 \r
188 **/\r
189 private JButton getJButtonCancel() {\r
190 if (jButtonCancel == null) {\r
191 jButtonCancel = new JButton();\r
192 jButtonCancel.setBounds(new java.awt.Rectangle(390, 140, 90, 20));\r
193 jButtonCancel.setText("Cancel");\r
194 jButtonCancel.addActionListener(this);\r
195 }\r
196 return jButtonCancel;\r
197 }\r
198\r
199 public static void main(String[] args) {\r
200\r
201 }\r
202\r
203 /**\r
204 This method initializes this\r
205 \r
206 **/\r
207 private void init() {\r
f51ee52b 208 this.setSize(508, 220);\r
06a19cee 209 this.setContentPane(getJScrollPane());\r
210 this.setTitle("Hii Packages");\r
211 initFrame();\r
212 this.setViewMode(false);\r
213 this.centerWindow();\r
214 }\r
215\r
216 /**\r
217 This method initializes this\r
218 Fill values to all fields if these values are not empty\r
219 \r
220 @param inHiiPackagesId\r
221\r
222 **/\r
223 private void init(HiiPackagesIdentification inHiiPackagesId) {\r
224 init();\r
225 this.id = inHiiPackagesId;\r
226\r
227 if (this.id != null) {\r
228 this.jTextFieldName.setText(id.getName());\r
229 this.jComboBoxUsage.setSelectedItem(id.getUsage());\r
230 this.jTextFieldHelpText.setText(id.getHelp());\r
231 this.jTextFieldFeatureFlag.setText(id.getFeatureFlag());\r
232 this.jArchCheckBox.setSelectedItems(id.getSupArchList());\r
233 }\r
234 }\r
235\r
236 /**\r
237 This is the override edit constructor\r
238 \r
239 @param inHiiPackagesIdentification\r
240 @param iFrame\r
241 \r
242 **/\r
243 public HiiPackagesDlg(HiiPackagesIdentification inHiiPackagesIdentification, IFrame iFrame) {\r
244 super(iFrame, true);\r
245 init(inHiiPackagesIdentification);\r
246 }\r
247\r
248 /**\r
249 Disable all components when the mode is view\r
250 \r
251 @param isView true - The view mode; false - The non-view mode\r
252 \r
253 **/\r
254 public void setViewMode(boolean isView) {\r
255 if (isView) {\r
256 this.jTextFieldName.setEnabled(!isView);\r
257 this.jComboBoxUsage.setEnabled(!isView);\r
258 }\r
259 }\r
260\r
261 /**\r
262 This method initializes jContentPane\r
263 \r
264 @return javax.swing.JPanel jContentPane\r
265 \r
266 **/\r
267 private JPanel getJContentPane() {\r
268 if (jContentPane == null) {\r
269 jArchCheckBox = new ArchCheckBox();\r
270 jArchCheckBox.setBounds(new java.awt.Rectangle(160, 110, 320, 20));\r
271 jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20));\r
272 jLabelUsage = new JLabel();\r
273 jLabelUsage.setText("Usage");\r
274 jLabelUsage.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
275 jLabelName = new JLabel();\r
276 jLabelName.setText("Name");\r
277 jLabelName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
278 jLabelArch = new JLabel();\r
279 jLabelArch.setBounds(new java.awt.Rectangle(15, 110, 140, 20));\r
280 jLabelArch.setText("Arch");\r
281 jLabelFeatureFlag = new JLabel();\r
282 jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 85, 140, 20));\r
283 jLabelFeatureFlag.setText("Feature Flag");\r
284 jLabelHelpText = new JLabel();\r
285 jLabelHelpText.setBounds(new java.awt.Rectangle(14, 60, 140, 20));\r
286 jLabelHelpText.setText("Help Text");\r
287\r
288 jContentPane = new JPanel();\r
289 jContentPane.setLayout(null);\r
290 jContentPane.setPreferredSize(new java.awt.Dimension(490, 165));\r
291\r
292 jContentPane.add(jLabelName, null);\r
293 jContentPane.add(jLabelUsage, null);\r
294 jContentPane.add(getJTextFieldName(), null);\r
295 jContentPane.add(getJComboBoxUsage(), null);\r
296\r
297 jContentPane.add(jLabelFeatureFlag, null);\r
298 jContentPane.add(jLabelArch, null);\r
299 jContentPane.add(getJTextFieldFeatureFlag(), null);\r
300\r
301 jStarLabel1 = new StarLabel();\r
302 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
303 jStarLabel2 = new StarLabel();\r
304 jStarLabel2.setLocation(new java.awt.Point(0, 35));\r
305\r
306 jContentPane.add(jStarLabel1, null);\r
307 jContentPane.add(jStarLabel2, null);\r
308\r
309 jContentPane.add(jLabelHelpText, null);\r
310 jContentPane.add(getJTextFieldHelpText(), null);\r
311 jContentPane.add(jArchCheckBox, null);\r
312 jContentPane.add(getJButtonOk(), null);\r
313 jContentPane.add(getJButtonCancel(), null);\r
314 }\r
315 return jContentPane;\r
316 }\r
317\r
318 /**\r
319 This method initializes Usage type\r
320 \r
321 **/\r
322 private void initFrame() {\r
323 Tools.generateComboBoxByVector(jComboBoxUsage, ed.getVHiiPackageUsage());\r
324 }\r
325\r
326 /* (non-Javadoc)\r
327 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
328 *\r
329 * Override actionPerformed to listen all actions\r
330 * \r
331 */\r
332 public void actionPerformed(ActionEvent arg0) {\r
333 if (arg0.getSource() == jButtonOk) {\r
334 if (checkAdd()) {\r
335 getCurrentHiiPackages();\r
336 this.returnType = DataType.RETURN_TYPE_OK;\r
337 this.setVisible(false);\r
338 }\r
339 }\r
340\r
341 if (arg0.getSource() == jButtonCancel) {\r
342 this.returnType = DataType.RETURN_TYPE_CANCEL;\r
343 this.setVisible(false);\r
344 }\r
345 }\r
346\r
347 /**\r
348 Data validation for all fields\r
349 \r
350 @retval true - All datas are valid\r
351 @retval false - At least one data is invalid\r
352 \r
353 **/\r
354 public boolean checkAdd() {\r
355 //\r
356 // Check if all fields have correct data types \r
357 //\r
358\r
359 //\r
360 // Check Hii Package Name \r
361 //\r
362 if (isEmpty(this.jTextFieldName.getText())) {\r
ed1665f2 363 Log.wrn("Update Hii Packages", "Hii Package Name Record couldn't be empty");\r
06a19cee 364 return false;\r
365 }\r
366\r
367 if (!isEmpty(this.jTextFieldName.getText())) {\r
368 if (!DataValidation.isC_NameType(this.jTextFieldName.getText())) {\r
ed1665f2 369 Log.wrn("Update Hii Packages", "Incorrect data type for Hii Package Name");\r
06a19cee 370 return false;\r
371 }\r
372 }\r
373\r
374 //\r
375 // Check FeatureFlag\r
376 //\r
377 if (!isEmpty(this.jTextFieldFeatureFlag.getText())) {\r
378 if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) {\r
ed1665f2 379 Log.wrn("Update Hii Packages", "Incorrect data type for Feature Flag");\r
06a19cee 380 return false;\r
381 }\r
382 }\r
383\r
384 return true;\r
385 }\r
386\r
387 private HiiPackagesIdentification getCurrentHiiPackages() {\r
388 String arg0 = this.jTextFieldName.getText();\r
389 String arg1 = this.jComboBoxUsage.getSelectedItem().toString();\r
390\r
391 String arg2 = this.jTextFieldFeatureFlag.getText();\r
392 Vector<String> arg3 = this.jArchCheckBox.getSelectedItemsVector();\r
393 String arg4 = this.jTextFieldHelpText.getText();\r
394\r
395 id = new HiiPackagesIdentification(arg0, arg1, arg2, arg3, arg4);\r
396 return id;\r
397 }\r
398\r
399 public HiiPackagesIdentification getId() {\r
400 return id;\r
401 }\r
402\r
403 public void setId(HiiPackagesIdentification id) {\r
404 this.id = id;\r
405 }\r
406}\r