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