]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdDynamicPcdBuildDefinitions.java
Move FileInfo.h, FileSystemInfo.h, FileSystemVolumeLabelInfo.h from protocol director...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdDynamicPcdBuildDefinitions.java
CommitLineData
a13899c5 1package org.tianocore.frameworkwizard.platform.ui;\r
2\r
3import java.awt.BorderLayout;\r
4\r
5import javax.swing.ButtonGroup;\r
6import javax.swing.JPanel;\r
a13899c5 7import javax.swing.JScrollPane;\r
8import javax.swing.JTable;\r
9import javax.swing.ListSelectionModel;\r
10import javax.swing.event.ListSelectionEvent;\r
11import javax.swing.event.ListSelectionListener;\r
12import javax.swing.table.DefaultTableModel;\r
13\r
14import org.tianocore.PlatformSurfaceAreaDocument;\r
d6d24759 15import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
a13899c5 16import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
17import javax.swing.JCheckBox;\r
18import java.awt.FlowLayout;\r
19import javax.swing.JRadioButton;\r
20import javax.swing.JButton;\r
21import javax.swing.JLabel;\r
22import javax.swing.JTextField;\r
23\r
24public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {\r
25\r
44053733 26 /**\r
27 * \r
28 */\r
29 private static final long serialVersionUID = 1L;\r
a13899c5 30 private JPanel jContentPane = null;\r
4da2e625 31 private JPanel jPanelContentNorth = null;\r
32 private JPanel jPanelContentCenter = null;\r
33 private JPanel jPanelContentSouth = null;\r
34 private JScrollPane jScrollPaneDynPcd = null;\r
35 private JTable jTableDynPcd = null;\r
36 private DynPcdTableModel modelPcd = null; \r
37 private DynPcdTableModel modelSku = null;\r
a13899c5 38 private FpdFileContents ffc = null;\r
d6d24759 39 private OpeningPlatformType docConsole = null;\r
4da2e625 40 private JPanel jPanelSkuInfo = null;\r
41 private JCheckBox jCheckBoxSkuEnable = null;\r
42 private JPanel jPanelDynPcdValue = null;\r
43 private JRadioButton jRadioButtonHii = null;\r
44 private JRadioButton jRadioButtonVpd = null;\r
45 private JScrollPane jScrollPaneSkuInfo = null;\r
46 private JTable jTableSkuInfo = null;\r
47 private JButton jButtonSkuInfoUpdate = null;\r
48 private JLabel jLabelVarName = null;\r
49 private JTextField jTextFieldVarName = null;\r
50 private JLabel jLabelVarGuid = null;\r
51 private JTextField jTextFieldVarGuid = null;\r
52 private JLabel jLabelPad = null;\r
53 private JLabel jLabelVarOffset = null;\r
54 private JTextField jTextFieldVarOffset = null;\r
55 private JLabel jLabelHiiDefaultValue = null;\r
56 private JTextField jTextFieldHiiDefaultValue = null;\r
57 private JTextField jTextFieldVpdOffset = null;\r
58 private JLabel jLabelVpdOffset = null;\r
59 private JTextField jTextFieldDefaultValue = null;\r
60 private JRadioButton jRadioButtonDefaultValue = null;\r
a13899c5 61 private ButtonGroup bg = new ButtonGroup();\r
4da2e625 62 private JLabel jLabelPadd = null;\r
a13899c5 63 /**\r
64 * This is the default constructor\r
65 */\r
66 public FpdDynamicPcdBuildDefinitions() {\r
67 super();\r
68 initialize();\r
69 }\r
70\r
71 public FpdDynamicPcdBuildDefinitions(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd){\r
72 this();\r
73 init(fpd);\r
74 }\r
75 \r
d6d24759 76 public FpdDynamicPcdBuildDefinitions(OpeningPlatformType opt) {\r
77 this(opt.getXmlFpd());\r
78 docConsole = opt;\r
79 }\r
80 \r
a13899c5 81 public void init(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd) {\r
82 if (ffc == null) {\r
83 ffc = new FpdFileContents(fpd);\r
84 }\r
85 String[][] saa = new String[ffc.getDynamicPcdBuildDataCount()][5];\r
86 ffc.getDynamicPcdBuildData(saa);\r
87 for (int i = 0; i < saa.length; ++i) {\r
4da2e625 88 modelPcd.addRow(saa[i]);\r
a13899c5 89 }\r
90 \r
91 saa = new String[ffc.getPlatformDefsSkuInfoCount()][2];\r
92 ffc.getPlatformDefsSkuInfos(saa);\r
93 for (int i = 0; i < saa.length; ++i) {\r
4da2e625 94 modelSku.addRow(saa[i]);\r
a13899c5 95 }\r
96 \r
97 }\r
98 /**\r
99 * This method initializes this\r
100 * \r
101 * @return void\r
102 */\r
103 private void initialize() {\r
104 this.setSize(661, 558);\r
105 this.setTitle("Dynamic PCD Build Definitions");\r
106 this.setContentPane(getJContentPane());\r
107 this.setVisible(true);\r
108 }\r
109\r
110 /**\r
111 * This method initializes jContentPane\r
112 * \r
113 * @return javax.swing.JPanel\r
114 */\r
115 private JPanel getJContentPane() {\r
116 if (jContentPane == null) {\r
117 jContentPane = new JPanel();\r
118 jContentPane.setLayout(new BorderLayout());\r
4da2e625 119 jContentPane.add(getJPanelContentNorth(), java.awt.BorderLayout.NORTH);\r
120 jContentPane.add(getJPanelContentCenter(), java.awt.BorderLayout.CENTER);\r
121 jContentPane.add(getJPanelContentSouth(), java.awt.BorderLayout.SOUTH);\r
a13899c5 122 }\r
123 return jContentPane;\r
124 }\r
125\r
126 /**\r
127 * This method initializes jPanel \r
128 * \r
129 * @return javax.swing.JPanel \r
130 */\r
4da2e625 131 private JPanel getJPanelContentNorth() {\r
132 if (jPanelContentNorth == null) {\r
133 jPanelContentNorth = new JPanel();\r
a13899c5 134 }\r
4da2e625 135 return jPanelContentNorth;\r
a13899c5 136 }\r
137\r
138 /**\r
139 * This method initializes jPanel1 \r
140 * \r
141 * @return javax.swing.JPanel \r
142 */\r
4da2e625 143 private JPanel getJPanelContentCenter() {\r
144 if (jPanelContentCenter == null) {\r
145 jPanelContentCenter = new JPanel();\r
146 jPanelContentCenter.add(getJScrollPaneDynPcd(), null);\r
147 jPanelContentCenter.add(getJPanelSkuInfo(), null);\r
148 jPanelContentCenter.add(getJPanelDynPcdValue(), null);\r
149 }\r
150 return jPanelContentCenter;\r
a13899c5 151 }\r
152\r
153 /**\r
154 * This method initializes jPanel2 \r
155 * \r
156 * @return javax.swing.JPanel \r
157 */\r
4da2e625 158 private JPanel getJPanelContentSouth() {\r
159 if (jPanelContentSouth == null) {\r
160 jPanelContentSouth = new JPanel();\r
a13899c5 161 }\r
4da2e625 162 return jPanelContentSouth;\r
a13899c5 163 }\r
164\r
165 /**\r
166 * This method initializes jScrollPane \r
167 * \r
168 * @return javax.swing.JScrollPane \r
169 */\r
4da2e625 170 private JScrollPane getJScrollPaneDynPcd() {\r
171 if (jScrollPaneDynPcd == null) {\r
172 jScrollPaneDynPcd = new JScrollPane();\r
173 jScrollPaneDynPcd.setPreferredSize(new java.awt.Dimension(600,200));\r
174 jScrollPaneDynPcd.setViewportView(getJTableDynPcd());\r
a13899c5 175 }\r
4da2e625 176 return jScrollPaneDynPcd;\r
a13899c5 177 }\r
178\r
179 /**\r
180 * This method initializes jTable \r
181 * \r
182 * @return javax.swing.JTable \r
183 */\r
4da2e625 184 private JTable getJTableDynPcd() {\r
185 if (jTableDynPcd == null) {\r
186 modelPcd = new DynPcdTableModel();\r
187 modelPcd.addColumn("CName");\r
188 modelPcd.addColumn("Token");\r
189 modelPcd.addColumn("TokenSpaceGuid");\r
190 modelPcd.addColumn("MaxDatumSize");\r
191 modelPcd.addColumn("DatumType");\r
192 jTableDynPcd = new JTable(modelPcd);\r
193 jTableDynPcd.setRowHeight(20);\r
194 jTableDynPcd.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
195 jTableDynPcd.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
a13899c5 196 public void valueChanged(ListSelectionEvent e) {\r
197 if (e.getValueIsAdjusting()){\r
198 return;\r
199 }\r
200 ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
201 if (lsm.isSelectionEmpty()) {\r
202 return;\r
203 }\r
204 else{\r
205 int selectedRow = lsm.getMinSelectionIndex();\r
206 \r
207 displayDetails(selectedRow);\r
208 }\r
209 }\r
210 });\r
211 }\r
4da2e625 212 return jTableDynPcd;\r
a13899c5 213 }\r
214 //\r
215 // should display default sku info here, as no selection event of table1 will be triggered when change selection of rows in table. \r
216 //\r
217 private void displayDetails(int i) {\r
4da2e625 218 jTableSkuInfo.changeSelection(0, 1, false, false);\r
a13899c5 219 int skuCount = ffc.getDynamicPcdSkuInfoCount(i);\r
220 String defaultVal = ffc.getDynamicPcdBuildDataValue(i);\r
221 if (defaultVal != null) {\r
4da2e625 222 jRadioButtonDefaultValue.setSelected(true);\r
223 jTextFieldDefaultValue.setText(defaultVal);\r
a13899c5 224 if ( skuCount == 1) {\r
4da2e625 225 jCheckBoxSkuEnable.setSelected(false);\r
a13899c5 226 }\r
227 else{\r
4da2e625 228 jCheckBoxSkuEnable.setSelected(true);\r
a13899c5 229 }\r
230 }\r
231 \r
232 else if (ffc.getDynamicPcdBuildDataVpdOffset(i) != null) {\r
4da2e625 233 jRadioButtonVpd.setSelected(true);\r
234 jTextFieldVpdOffset.setText(ffc.getDynamicPcdBuildDataVpdOffset(i));\r
a13899c5 235 if (skuCount ==1) {\r
4da2e625 236 jCheckBoxSkuEnable.setSelected(false);\r
a13899c5 237 \r
238 }\r
239 else{\r
4da2e625 240 jCheckBoxSkuEnable.setSelected(true);\r
a13899c5 241 }\r
242 }\r
243 else {\r
4da2e625 244 jRadioButtonHii.setSelected(true);\r
a13899c5 245 String[][] saa = new String[ffc.getDynamicPcdSkuInfoCount(i)][7];\r
246 ffc.getDynamicPcdSkuInfos(i, saa);\r
4da2e625 247 jTextFieldVarName.setText(saa[0][1]);\r
248 jTextFieldVarGuid.setText(saa[0][2]);\r
249 jTextFieldVarOffset.setText(saa[0][3]);\r
250 jTextFieldHiiDefaultValue.setText(saa[0][4]);\r
a13899c5 251 if (skuCount ==1) {\r
4da2e625 252 jCheckBoxSkuEnable.setSelected(false);\r
a13899c5 253 }\r
254 else{\r
4da2e625 255 jCheckBoxSkuEnable.setSelected(true);\r
a13899c5 256 }\r
257 }\r
258 \r
259 }\r
260 \r
261 private void displaySkuInfoDetails(int i) {\r
4da2e625 262 int pcdSelected = jTableDynPcd.getSelectedRow();\r
a13899c5 263 if (pcdSelected < 0) {\r
264 return;\r
265 }\r
266 \r
267 String[][] saa = new String[ffc.getDynamicPcdSkuInfoCount(pcdSelected)][7];\r
268 ffc.getDynamicPcdSkuInfos(pcdSelected, saa);\r
269 \r
270 if (saa[i][5] != null){\r
4da2e625 271 jRadioButtonVpd.setSelected(true);\r
272 jTextFieldVpdOffset.setText(saa[i][5]);\r
a13899c5 273 } \r
274 \r
275 else if (saa[i][1] != null) {\r
4da2e625 276 jRadioButtonHii.setSelected(true);\r
277 jTextFieldVarName.setText(saa[i][1]);\r
278 jTextFieldVarGuid.setText(saa[i][2]);\r
279 jTextFieldVarOffset.setText(saa[i][3]);\r
280 jTextFieldHiiDefaultValue.setText(saa[i][4]);\r
a13899c5 281 }\r
282 \r
283 else{\r
4da2e625 284 jRadioButtonDefaultValue.setSelected(true);\r
285 jTextFieldDefaultValue.setText(saa[i][6]);\r
a13899c5 286 }\r
287 \r
288 }\r
289\r
290 /**\r
291 * This method initializes jPanel3 \r
292 * \r
293 * @return javax.swing.JPanel \r
294 */\r
4da2e625 295 private JPanel getJPanelSkuInfo() {\r
296 if (jPanelSkuInfo == null) {\r
a13899c5 297 FlowLayout flowLayout = new FlowLayout();\r
298 flowLayout.setAlignment(java.awt.FlowLayout.LEFT);\r
4da2e625 299 jPanelSkuInfo = new JPanel();\r
300 jPanelSkuInfo.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
301 jPanelSkuInfo.setLayout(flowLayout);\r
302 jPanelSkuInfo.setPreferredSize(new java.awt.Dimension(600,100));\r
303 jPanelSkuInfo.add(getJCheckBoxSkuEnable(), null);\r
304 jPanelSkuInfo.add(getJScrollPaneSkuInfo(), null);\r
305 jPanelSkuInfo.add(getJButtonSkuInfoUpdate(), null);\r
306 }\r
307 return jPanelSkuInfo;\r
a13899c5 308 }\r
309\r
310 /**\r
311 * This method initializes jCheckBox \r
312 * \r
313 * @return javax.swing.JCheckBox \r
314 */\r
4da2e625 315 private JCheckBox getJCheckBoxSkuEnable() {\r
316 if (jCheckBoxSkuEnable == null) {\r
317 jCheckBoxSkuEnable = new JCheckBox();\r
318 jCheckBoxSkuEnable.setText("SKU Enable");\r
319 jCheckBoxSkuEnable.addItemListener(new java.awt.event.ItemListener() {\r
a13899c5 320 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
4da2e625 321 jTableSkuInfo.setEnabled(jCheckBoxSkuEnable.isSelected());\r
a13899c5 322 }\r
323 });\r
324 }\r
4da2e625 325 return jCheckBoxSkuEnable;\r
a13899c5 326 }\r
327\r
328 \r
329 /**\r
330 * This method initializes jPanel4 \r
331 * \r
332 * @return javax.swing.JPanel \r
333 */\r
4da2e625 334 private JPanel getJPanelDynPcdValue() {\r
335 if (jPanelDynPcdValue == null) {\r
336 jLabelVpdOffset = new JLabel();\r
337 jLabelVpdOffset.setPreferredSize(new java.awt.Dimension(80,20));\r
338 jLabelVpdOffset.setText("VPD Offset");\r
339 jLabelHiiDefaultValue = new JLabel();\r
340 jLabelHiiDefaultValue.setPreferredSize(new java.awt.Dimension(100,20));\r
341 jLabelHiiDefaultValue.setText("HII Default Value");\r
342 jLabelVarOffset = new JLabel();\r
343 jLabelVarOffset.setText("Variable Offset");\r
344 jLabelVarOffset.setPreferredSize(new java.awt.Dimension(90,20));\r
345 jLabelPad = new JLabel();\r
346 jLabelPad.setText(" ");\r
347 jLabelVarGuid = new JLabel();\r
348 jLabelVarGuid.setText("Variable GUID");\r
349 jLabelVarGuid.setPreferredSize(new java.awt.Dimension(100,20));\r
350 jLabelVarName = new JLabel();\r
351 jLabelVarName.setText("Variable Name");\r
352 jLabelVarName.setToolTipText("");\r
353 jLabelVarName.setPreferredSize(new java.awt.Dimension(90,20));\r
a13899c5 354 FlowLayout flowLayout1 = new FlowLayout();\r
355 flowLayout1.setAlignment(java.awt.FlowLayout.LEFT);\r
4da2e625 356 jPanelDynPcdValue = new JPanel();\r
357 jPanelDynPcdValue.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED));\r
358 jPanelDynPcdValue.setLayout(flowLayout1);\r
359 jPanelDynPcdValue.setPreferredSize(new java.awt.Dimension(600,120));\r
360 jPanelDynPcdValue.add(getJRadioButtonHii(), null);\r
361 jPanelDynPcdValue.add(jLabelVarName, null);\r
362 jPanelDynPcdValue.add(getJTextFieldVarName(), null);\r
363 jPanelDynPcdValue.add(jLabelVarGuid, null);\r
364 jPanelDynPcdValue.add(getJTextFieldVarGuid(), null);\r
365 jPanelDynPcdValue.add(jLabelPad, null);\r
366 jPanelDynPcdValue.add(jLabelVarOffset, null);\r
367 jPanelDynPcdValue.add(getJTextFieldVarOffset(), null);\r
368 jPanelDynPcdValue.add(jLabelHiiDefaultValue, null);\r
369 jPanelDynPcdValue.add(getJTextFieldHiiDefaultValue(), null);\r
370 jPanelDynPcdValue.add(getJRadioButtonVpd(), null);\r
371 jPanelDynPcdValue.add(jLabelVpdOffset, null);\r
372 jPanelDynPcdValue.add(getJTextFieldVpdOffset(), null);\r
373 jLabelPadd = new JLabel();\r
374 jLabelPadd.setText(" ");\r
375 jPanelDynPcdValue.add(jLabelPadd, null);\r
376 jLabelVarName.setEnabled(false);\r
377 jLabelVarGuid.setEnabled(false);\r
378 jLabelHiiDefaultValue.setEnabled(false);\r
379 jLabelVarOffset.setEnabled(false);\r
380 jLabelVpdOffset.setEnabled(false);\r
381 jPanelDynPcdValue.add(getJRadioButtonDefaultValue(), null);\r
382 jPanelDynPcdValue.add(getJTextFieldDefaultValue(), null);\r
383 bg.add(jRadioButtonHii);\r
384 bg.add(jRadioButtonVpd);\r
a13899c5 385 } \r
386\r
4da2e625 387 return jPanelDynPcdValue;\r
a13899c5 388 }\r
389\r
390 /**\r
391 * This method initializes jRadioButton \r
392 * \r
393 * @return javax.swing.JRadioButton \r
394 */\r
4da2e625 395 private JRadioButton getJRadioButtonHii() {\r
396 if (jRadioButtonHii == null) {\r
397 jRadioButtonHii = new JRadioButton();\r
398 jRadioButtonHii.setText("HII Enable");\r
399 jRadioButtonHii.addItemListener(new java.awt.event.ItemListener() {\r
a13899c5 400 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
4da2e625 401 boolean selected = jRadioButtonHii.isSelected();\r
402 jLabelVarName.setEnabled(selected);\r
403 jLabelVarGuid.setEnabled(selected);\r
404 jLabelPad.setEnabled(selected);\r
405 jLabelVarOffset.setEnabled(selected);\r
406 jLabelHiiDefaultValue.setEnabled(selected);\r
407 jTextFieldVarName.setEnabled(selected);\r
408 jTextFieldVarGuid.setEnabled(selected);\r
409 jTextFieldVarOffset.setEnabled(selected);\r
410 jTextFieldHiiDefaultValue.setEnabled(selected);\r
a13899c5 411 }\r
412 });\r
413 }\r
4da2e625 414 return jRadioButtonHii;\r
a13899c5 415 }\r
416\r
417 /**\r
418 * This method initializes jRadioButton1 \r
419 * \r
420 * @return javax.swing.JRadioButton \r
421 */\r
4da2e625 422 private JRadioButton getJRadioButtonVpd() {\r
423 if (jRadioButtonVpd == null) {\r
424 jRadioButtonVpd = new JRadioButton();\r
425 jRadioButtonVpd.setText("VPD Enable");\r
426 jRadioButtonVpd.addItemListener(new java.awt.event.ItemListener() {\r
a13899c5 427 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
4da2e625 428 boolean selected = jRadioButtonVpd.isSelected();\r
429 jTextFieldVpdOffset.setEnabled(selected);\r
430 jLabelVpdOffset.setEnabled(selected);\r
a13899c5 431 }\r
432 });\r
433 }\r
4da2e625 434 return jRadioButtonVpd;\r
a13899c5 435 }\r
436\r
437 /**\r
438 * This method initializes jScrollPane1 \r
439 * \r
440 * @return javax.swing.JScrollPane \r
441 */\r
4da2e625 442 private JScrollPane getJScrollPaneSkuInfo() {\r
443 if (jScrollPaneSkuInfo == null) {\r
444 jScrollPaneSkuInfo = new JScrollPane();\r
445 jScrollPaneSkuInfo.setPreferredSize(new java.awt.Dimension(300,80));\r
446 jScrollPaneSkuInfo.setViewportView(getJTableSkuInfo());\r
a13899c5 447 }\r
4da2e625 448 return jScrollPaneSkuInfo;\r
a13899c5 449 }\r
450\r
451 /**\r
452 * This method initializes jTable1 \r
453 * \r
454 * @return javax.swing.JTable \r
455 */\r
4da2e625 456 private JTable getJTableSkuInfo() {\r
457 if (jTableSkuInfo == null) {\r
458 modelSku = new DynPcdTableModel();\r
459 jTableSkuInfo = new JTable(modelSku);\r
460 modelSku.addColumn("SKU ID");\r
461 modelSku.addColumn("SKU Name");\r
a13899c5 462 \r
4da2e625 463 jTableSkuInfo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
464 jTableSkuInfo.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
a13899c5 465 public void valueChanged(ListSelectionEvent e) {\r
4da2e625 466 if (jTableDynPcd.getSelectedRow() < 0) {\r
a13899c5 467 return;\r
468 }\r
469 if (e.getValueIsAdjusting()){\r
470 return;\r
471 }\r
472 ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
473 if (lsm.isSelectionEmpty()) {\r
474 return;\r
475 }\r
476 else{\r
477 int selected = lsm.getMinSelectionIndex();\r
44053733 478 displaySkuInfoDetails(selected);\r
a13899c5 479 }\r
480 }\r
481 });\r
482 }\r
4da2e625 483 return jTableSkuInfo;\r
a13899c5 484 }\r
485\r
486 /**\r
487 * This method initializes jButton \r
488 * \r
489 * @return javax.swing.JButton \r
490 */\r
4da2e625 491 private JButton getJButtonSkuInfoUpdate() {\r
492 if (jButtonSkuInfoUpdate == null) {\r
493 jButtonSkuInfoUpdate = new JButton();\r
494 jButtonSkuInfoUpdate.setPreferredSize(new java.awt.Dimension(180,20));\r
495 jButtonSkuInfoUpdate.setText(" Update SKU Information");\r
496 jButtonSkuInfoUpdate.addActionListener(new java.awt.event.ActionListener() {\r
a13899c5 497 public void actionPerformed(java.awt.event.ActionEvent e) {\r
4da2e625 498 int pcdSelected = jTableDynPcd.getSelectedRow();\r
a13899c5 499 if (pcdSelected < 0) {\r
500 return;\r
501 }\r
d6d24759 502 docConsole.setSaved(false);\r
a13899c5 503 updateSkuInfo(pcdSelected);\r
504 \r
505 }\r
506 });\r
507 }\r
4da2e625 508 return jButtonSkuInfoUpdate;\r
a13899c5 509 }\r
510\r
511 private void updateSkuInfo (int pcdSelected) {\r
512 int skuCount = ffc.getDynamicPcdSkuInfoCount(pcdSelected);\r
513 \r
514 String varName = null;\r
515 String varGuid = null;\r
516 String varOffset = null;\r
517 String hiiDefault = null;\r
518 String value = null;\r
519 String vpdOffset = null;\r
4da2e625 520 if (jRadioButtonHii.isSelected()) {\r
521 varName = jTextFieldVarName.getText();\r
522 varGuid = jTextFieldVarGuid.getText();\r
523 varOffset = jTextFieldVarOffset.getText();\r
524 hiiDefault = jTextFieldHiiDefaultValue.getText();\r
a13899c5 525 }\r
4da2e625 526 if (jRadioButtonVpd.isSelected()) {\r
527 vpdOffset = jTextFieldVpdOffset.getText();\r
a13899c5 528 }\r
4da2e625 529 if (jRadioButtonDefaultValue.isSelected()) {\r
530 value = jTextFieldDefaultValue.getText();\r
a13899c5 531 }\r
532 //\r
533 // SKU disabled. only modify data for default SKU.\r
534 //\r
4da2e625 535 if (!jCheckBoxSkuEnable.isSelected()) {\r
a13899c5 536 if (true) {\r
537 ffc.removeDynamicPcdBuildDataSkuInfo(pcdSelected);\r
4da2e625 538 if (jRadioButtonHii.isSelected()) {\r
a13899c5 539 ffc.genDynamicPcdBuildDataSkuInfo("0", varName, varGuid, varOffset, hiiDefault, null, null, pcdSelected);\r
540 }\r
4da2e625 541 else if (jRadioButtonVpd.isSelected()){\r
a13899c5 542 ffc.genDynamicPcdBuildDataSkuInfo("0", null, null, null, null, vpdOffset, null, pcdSelected);\r
543 }\r
544 else{\r
545 ffc.genDynamicPcdBuildDataSkuInfo("0", null, null, null, null, null, value, pcdSelected);\r
546 }\r
547 }\r
548 }\r
549 //\r
550 // SKU Enabled, need add data to all SKUs.\r
551 //\r
4da2e625 552 if (jCheckBoxSkuEnable.isSelected()) {\r
a13899c5 553 if (skuCount == 1) {\r
554 \r
4da2e625 555 for (int i = 1; i < jTableSkuInfo.getRowCount(); ++i) {\r
556 ffc.genDynamicPcdBuildDataSkuInfo(jTableSkuInfo.getValueAt(i, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
a13899c5 557 }\r
558 }\r
559 else {\r
4da2e625 560 int row = jTableSkuInfo.getSelectedRow();\r
a13899c5 561 if (row < 0) {\r
562 return;\r
563 }\r
4da2e625 564 ffc.updateDynamicPcdBuildDataSkuInfo(jTableSkuInfo.getValueAt(row, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
a13899c5 565 }\r
566 }\r
567 }\r
568 /**\r
569 * This method initializes jTextField \r
570 * \r
571 * @return javax.swing.JTextField \r
572 */\r
4da2e625 573 private JTextField getJTextFieldVarName() {\r
574 if (jTextFieldVarName == null) {\r
575 jTextFieldVarName = new JTextField();\r
576 jTextFieldVarName.setPreferredSize(new java.awt.Dimension(150,20));\r
577 jTextFieldVarName.setEnabled(false);\r
a13899c5 578 }\r
4da2e625 579 return jTextFieldVarName;\r
a13899c5 580 }\r
581\r
582 /**\r
583 * This method initializes jTextField1 \r
584 * \r
585 * @return javax.swing.JTextField \r
586 */\r
4da2e625 587 private JTextField getJTextFieldVarGuid() {\r
588 if (jTextFieldVarGuid == null) {\r
589 jTextFieldVarGuid = new JTextField();\r
590 jTextFieldVarGuid.setPreferredSize(new java.awt.Dimension(150,20));\r
591 jTextFieldVarGuid.setEnabled(false);\r
a13899c5 592 }\r
4da2e625 593 return jTextFieldVarGuid;\r
a13899c5 594 }\r
595\r
596 /**\r
597 * This method initializes jTextField2 \r
598 * \r
599 * @return javax.swing.JTextField \r
600 */\r
4da2e625 601 private JTextField getJTextFieldVarOffset() {\r
602 if (jTextFieldVarOffset == null) {\r
603 jTextFieldVarOffset = new JTextField();\r
604 jTextFieldVarOffset.setPreferredSize(new java.awt.Dimension(150,20));\r
605 jTextFieldVarOffset.setEnabled(false);\r
a13899c5 606 }\r
4da2e625 607 return jTextFieldVarOffset;\r
a13899c5 608 }\r
609\r
610 /**\r
611 * This method initializes jTextField3 \r
612 * \r
613 * @return javax.swing.JTextField \r
614 */\r
4da2e625 615 private JTextField getJTextFieldHiiDefaultValue() {\r
616 if (jTextFieldHiiDefaultValue == null) {\r
617 jTextFieldHiiDefaultValue = new JTextField();\r
618 jTextFieldHiiDefaultValue.setPreferredSize(new java.awt.Dimension(150,20));\r
619 jTextFieldHiiDefaultValue.setEnabled(false);\r
a13899c5 620 }\r
4da2e625 621 return jTextFieldHiiDefaultValue;\r
a13899c5 622 }\r
623\r
624 /**\r
625 * This method initializes jTextField4 \r
626 * \r
627 * @return javax.swing.JTextField \r
628 */\r
4da2e625 629 private JTextField getJTextFieldVpdOffset() {\r
630 if (jTextFieldVpdOffset == null) {\r
631 jTextFieldVpdOffset = new JTextField();\r
632 jTextFieldVpdOffset.setPreferredSize(new java.awt.Dimension(150,20));\r
633 jTextFieldVpdOffset.setEnabled(false);\r
a13899c5 634 }\r
4da2e625 635 return jTextFieldVpdOffset;\r
a13899c5 636 }\r
637\r
638 /**\r
639 * This method initializes jTextField5 \r
640 * \r
641 * @return javax.swing.JTextField \r
642 */\r
4da2e625 643 private JTextField getJTextFieldDefaultValue() {\r
644 if (jTextFieldDefaultValue == null) {\r
645 jTextFieldDefaultValue = new JTextField();\r
646 jTextFieldDefaultValue.setPreferredSize(new java.awt.Dimension(150,20));\r
a13899c5 647 }\r
4da2e625 648 return jTextFieldDefaultValue;\r
a13899c5 649 }\r
650\r
651 /**\r
652 * This method initializes jRadioButton2 \r
653 * \r
654 * @return javax.swing.JRadioButton \r
655 */\r
4da2e625 656 private JRadioButton getJRadioButtonDefaultValue() {\r
657 if (jRadioButtonDefaultValue == null) {\r
658 jRadioButtonDefaultValue = new JRadioButton();\r
659 jRadioButtonDefaultValue.setText("Default PCD Value");\r
660 jRadioButtonDefaultValue.setSelected(true);\r
661 jRadioButtonDefaultValue.setPreferredSize(new java.awt.Dimension(175,20));\r
662 jRadioButtonDefaultValue.addItemListener(new java.awt.event.ItemListener() {\r
a13899c5 663 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
4da2e625 664 jTextFieldDefaultValue.setEnabled(jRadioButtonDefaultValue.isSelected());\r
a13899c5 665 }\r
666 });\r
4da2e625 667 bg.add(jRadioButtonDefaultValue);\r
a13899c5 668 }\r
4da2e625 669 return jRadioButtonDefaultValue;\r
a13899c5 670 }\r
671\r
672} // @jve:decl-index=0:visual-constraint="10,10"\r
673\r
674class DynPcdTableModel extends DefaultTableModel {\r
44053733 675 /**\r
676 * \r
677 */\r
678 private static final long serialVersionUID = 1L;\r
679\r
a13899c5 680 public boolean isCellEditable(int row, int col) {\r
681 \r
682 return false;\r
683 }\r
684}\r