]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java
Modify BuildOptions and Flash editors in FPD file.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdFlash.java
1 /** @file
2 Java class FpdFlash is GUI for Flash element operation in SPD file.
3
4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 **/
13 package org.tianocore.frameworkwizard.platform.ui;
14
15 import java.awt.BorderLayout;
16 import javax.swing.JPanel;
17
18 import javax.swing.AbstractAction;
19 import javax.swing.ButtonGroup;
20 import javax.swing.DefaultCellEditor;
21 import javax.swing.DefaultListModel;
22 import javax.swing.JDialog;
23 import javax.swing.JFileChooser;
24 import javax.swing.JFrame;
25 import javax.swing.JInternalFrame;
26 import javax.swing.JOptionPane;
27 import javax.swing.JTabbedPane;
28 import javax.swing.JButton;
29 import javax.swing.ListSelectionModel;
30
31 import org.tianocore.PlatformSurfaceAreaDocument;
32 import org.tianocore.frameworkwizard.common.Tools;
33 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;
34 import org.tianocore.frameworkwizard.common.ui.StarLabel;
35
36
37 import java.awt.FlowLayout;
38 import java.awt.event.ActionEvent;
39 import java.awt.event.ActionListener;
40 import java.awt.event.ComponentAdapter;
41 import java.awt.event.ComponentEvent;
42 import java.awt.event.FocusAdapter;
43 import java.awt.event.FocusEvent;
44 import java.awt.event.ItemEvent;
45 import java.awt.event.ItemListener;
46 import java.awt.event.ActionEvent;
47 import java.io.File;
48 import java.util.ArrayList;
49 import java.util.Iterator;
50 import java.util.LinkedHashMap;
51 import java.util.Map;
52 import java.util.Set;
53
54 import javax.swing.JCheckBox;
55 import javax.swing.JTextField;
56 import java.awt.GridLayout;
57 import javax.swing.JLabel;
58 import javax.swing.JScrollPane;
59 import javax.swing.JTable;
60 import javax.swing.JList;
61 import javax.swing.event.ListSelectionEvent;
62 import javax.swing.event.ListSelectionListener;
63 import javax.swing.event.TableModelEvent;
64 import javax.swing.event.TableModelListener;
65 import javax.swing.table.DefaultTableModel;
66 import javax.swing.table.TableColumn;
67 import javax.swing.table.TableModel;
68 import javax.swing.JComboBox;
69 import java.awt.Dimension;
70 import javax.swing.JRadioButton;
71 import javax.swing.JTextArea;
72 import java.awt.CardLayout;
73
74 public class FpdFlash extends IInternalFrame {
75
76 static JFrame frame;
77 private JPanel jContentPane = null;
78 private JPanel jPanel = null;
79 private JPanel jPanel1 = null;
80 private JPanel jPanel2 = null;
81 private JPanel jPanel3 = null;
82 private JTabbedPane jTabbedPane = null;
83 private JPanel jPanelFvImages = null;
84 private JButton jButtonOk = null;
85 private JButton jButtonCancel = null;
86 private JPanel jPanelFvImageN = null;
87 private JPanel jPanelFvImageW = null;
88 private JPanel jPanelFvImageS = null;
89 private JCheckBox jCheckBox1 = null;
90 private JLabel jLabel = null;
91 private JTextField jTextField = null;
92 private JLabel jLabel1 = null;
93 private JTextField jTextField1 = null;
94 private JButton jButton = null;
95 private JScrollPane jScrollPane = null;
96 private JScrollPane jScrollPane1 = null;
97 private JTable jTable = null;
98 private JPanel jPanel4 = null;
99 private JButton jButton1 = null;
100 private DefaultTableModel fvPropertyTableModel = null;
101 private DefaultTableModel fvImageNameTableModel = null;
102 private ImageParaTableModel fvImageParaTableModel = null;
103 private JPanel jPanelFvImageC = null;
104 private JCheckBox jCheckBox2 = null;
105 private JLabel jLabel2 = null;
106 private JComboBox jComboBox = null;
107 private JLabel jLabel3 = null;
108 private JLabel jLabel4 = null;
109 private JTextField jTextField2 = null;
110 private JButton jButton2 = null;
111 private JScrollPane jScrollPane2 = null;
112 private JTable jTable1 = null;
113 private JButton jButton3 = null;
114 private JPanel jPanel5 = null;
115 private JButton jButton4 = null;
116 private JScrollPane jScrollPane3 = null;
117 private JTable jTable2 = null;
118 private JButton jButton6 = null;
119 private JCheckBox jCheckBox3 = null;
120 private JLabel jLabel5 = null;
121 private JComboBox jComboBox1 = null;
122 private JCheckBox jCheckBox4 = null;
123 private JCheckBox jCheckBox5 = null;
124 private JCheckBox jCheckBox6 = null;
125 private JCheckBox jCheckBox7 = null;
126 private JCheckBox jCheckBox8 = null;
127 private JCheckBox jCheckBox9 = null;
128 private JCheckBox jCheckBox10 = null;
129 private JCheckBox jCheckBox11 = null;
130 private JCheckBox jCheckBox12 = null;
131 private JCheckBox jCheckBox13 = null;
132 private JPanel jPanel6 = null;
133 private DefaultTableModel fdfImageDefTableModel = null;
134 private DefaultTableModel fdfBlocksTableModel = null;
135 private DefaultTableModel fdfRegionsTableModel = null;
136 private DefaultTableModel fdfSubRegionsTableModel = null;
137
138 private JLabel jLabel17 = null;
139 private DefaultListModel listModel = new DefaultListModel();
140 private FpdFileContents ffc = null;
141 private JPanel jPanel7 = null;
142 private JCheckBox jCheckBox = null;
143 private JTextField jTextField3 = null;
144 private JButton jButton5 = null;
145
146 public FpdFlash() {
147 super();
148 // TODO Auto-generated constructor stub
149
150 initialize();
151 this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));
152 this.setVisible(true);
153 }
154
155 public FpdFlash(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd){
156 this();
157 ffc = new FpdFileContents(fpd);
158 init(ffc);
159 }
160
161 /**
162 * This method initializes jPanel
163 *
164 * @return javax.swing.JPanel
165 */
166 private JPanel getJPanel() {
167 if (jPanel == null) {
168 jPanel = new JPanel();
169 }
170 return jPanel;
171 }
172
173 /**
174 * This method initializes jPanel1
175 *
176 * @return javax.swing.JPanel
177 */
178 private JPanel getJPanel1() {
179 if (jPanel1 == null) {
180 FlowLayout flowLayout = new FlowLayout();
181 flowLayout.setAlignment(java.awt.FlowLayout.RIGHT);
182 flowLayout.setHgap(15);
183 jPanel1 = new JPanel();
184 jPanel1.setLayout(flowLayout);
185 jPanel1.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);
186 jPanel1.add(getJButtonCancel(), null);
187 jPanel1.add(getJButtonOk(), null);
188 }
189 return jPanel1;
190 }
191
192 /**
193 * This method initializes jPanel2
194 *
195 * @return javax.swing.JPanel
196 */
197 private JPanel getJPanel2() {
198 if (jPanel2 == null) {
199 jPanel2 = new JPanel();
200 }
201 return jPanel2;
202 }
203
204 /**
205 * This method initializes jPanel3
206 *
207 * @return javax.swing.JPanel
208 */
209 private JPanel getJPanel3() {
210 if (jPanel3 == null) {
211 jPanel3 = new JPanel();
212 }
213 return jPanel3;
214 }
215
216 /**
217 * This method initializes jTabbedPane
218 *
219 * @return javax.swing.JTabbedPane
220 */
221 private JTabbedPane getJTabbedPane() {
222 if (jTabbedPane == null) {
223 jTabbedPane = new JTabbedPane();
224 jTabbedPane.addTab("FV Images", null, getJPanelFvImages(), null);
225 jTabbedPane.addTab("Flash Definition File", null, getJPanel7(), null);
226
227 }
228 return jTabbedPane;
229 }
230
231 /**
232 * This method initializes jPanelFvImages
233 *
234 * @return javax.swing.JPanel
235 */
236 private JPanel getJPanelFvImages() {
237 if (jPanelFvImages == null) {
238 jPanelFvImages = new JPanel();
239 jPanelFvImages.setLayout(new BorderLayout());
240 jPanelFvImages.add(getJPanelFvImageN(), java.awt.BorderLayout.NORTH);
241 // jPanelFvImages.add(getJPanelFvImageW(), java.awt.BorderLayout.WEST);
242 jPanelFvImages.add(getJPanelFvImageS(), java.awt.BorderLayout.SOUTH);
243 jPanelFvImages.add(getJPanelFvImageC(), java.awt.BorderLayout.CENTER);
244
245 }
246 return jPanelFvImages;
247 }
248
249 /**
250 * This method initializes jButtonOk
251 *
252 * @return javax.swing.JButton
253 */
254 private JButton getJButtonOk() {
255 if (jButtonOk == null) {
256 jButtonOk = new JButton();
257 jButtonOk.setPreferredSize(new java.awt.Dimension(80,20));
258 jButtonOk.setText("Cancel");
259 jButtonOk.setVisible(false);
260 }
261 return jButtonOk;
262 }
263
264 /**
265 * This method initializes jButtonCancel
266 *
267 * @return javax.swing.JButton
268 */
269 private JButton getJButtonCancel() {
270 if (jButtonCancel == null) {
271 jButtonCancel = new JButton();
272 jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20));
273 jButtonCancel.setText("Ok");
274 jButtonCancel.setVisible(false);
275 }
276 return jButtonCancel;
277 }
278
279 /**
280 * This method initializes jPanelFvImageN
281 *
282 * @return javax.swing.JPanel
283 */
284 private JPanel getJPanelFvImageN() {
285 if (jPanelFvImageN == null) {
286 jLabel1 = new JLabel();
287 jLabel1.setText("Value");
288 jLabel1.setEnabled(false);
289 jLabel1.setPreferredSize(new java.awt.Dimension(38,20));
290 jLabel = new JLabel();
291 jLabel.setText("Name");
292 jLabel.setEnabled(false);
293 jLabel.setPreferredSize(new java.awt.Dimension(38,20));
294 FlowLayout flowLayout2 = new FlowLayout();
295 flowLayout2.setAlignment(java.awt.FlowLayout.CENTER);
296 flowLayout2.setHgap(15);
297 jPanelFvImageN = new JPanel();
298 jPanelFvImageN.setPreferredSize(new java.awt.Dimension(576,100));
299 jPanelFvImageN.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
300 jPanelFvImageN.setLayout(flowLayout2);
301 jPanelFvImageN.add(getJCheckBox1(), null);
302 jPanelFvImageN.add(jLabel, null);
303 jPanelFvImageN.add(getJTextField(), null);
304 jPanelFvImageN.add(jLabel1, null);
305 jPanelFvImageN.add(getJTextField1(), null);
306 jPanelFvImageN.add(getJScrollPane1(), null);
307 jPanelFvImageN.add(getJPanel4(), null);
308 }
309 return jPanelFvImageN;
310 }
311
312
313 /**
314 * This method initializes jPanelFvImageW
315 *
316 * @return javax.swing.JPanel
317 */
318 private JPanel getJPanelFvImageW() {
319 if (jPanelFvImageW == null) {
320 jPanelFvImageW = new JPanel();
321 jPanelFvImageW.setPreferredSize(new java.awt.Dimension(10,2));
322 }
323 return jPanelFvImageW;
324 }
325
326
327 /**
328 * This method initializes jPanelFvImageS
329 *
330 * @return javax.swing.JPanel
331 */
332 private JPanel getJPanelFvImageS() {
333 if (jPanelFvImageS == null) {
334 GridLayout gridLayout2 = new GridLayout();
335 gridLayout2.setRows(1);
336 jPanelFvImageS = new JPanel();
337 jPanelFvImageS.setPreferredSize(new java.awt.Dimension(480,200));
338 jPanelFvImageS.setLayout(gridLayout2);
339 jPanelFvImageS.add(getJScrollPane3(), null);
340 }
341 return jPanelFvImageS;
342 }
343
344
345 /**
346 * This method initializes jCheckBox1
347 *
348 * @return javax.swing.JCheckBox
349 */
350 private JCheckBox getJCheckBox1() {
351 if (jCheckBox1 == null) {
352 jCheckBox1 = new JCheckBox();
353 jCheckBox1.setText("FV Properties");
354 jCheckBox1.addItemListener(new ItemListener(){
355
356 public void itemStateChanged(ItemEvent arg0) {
357 // TODO Auto-generated method stub
358 boolean seleted = jCheckBox1.isSelected();
359
360 jLabel.setEnabled(seleted);
361 jTextField.setEnabled(seleted);
362 jLabel1.setEnabled(seleted);
363 jTextField1.setEnabled(seleted);
364 jTable.setEnabled(seleted);
365 jButton.setEnabled(seleted);
366 jButton1.setEnabled(seleted);
367
368
369 }
370
371 });
372 }
373 return jCheckBox1;
374 }
375
376
377 /**
378 * This method initializes jTextField
379 *
380 * @return javax.swing.JTextField
381 */
382 private JTextField getJTextField() {
383 if (jTextField == null) {
384 jTextField = new JTextField();
385 jTextField.setPreferredSize(new java.awt.Dimension(100,20));
386 jTextField.setEnabled(false);
387 }
388 return jTextField;
389 }
390
391
392 /**
393 * This method initializes jTextField1
394 *
395 * @return javax.swing.JTextField
396 */
397 private JTextField getJTextField1() {
398 if (jTextField1 == null) {
399 jTextField1 = new JTextField();
400 jTextField1.setPreferredSize(new java.awt.Dimension(100,20));
401 jTextField1.setEnabled(false);
402 }
403 return jTextField1;
404 }
405
406
407 /**
408 * This method initializes jButton
409 *
410 * @return javax.swing.JButton
411 */
412 private JButton getJButton() {
413 if (jButton == null) {
414 jButton = new JButton();
415 jButton.setPreferredSize(new java.awt.Dimension(80,20));
416 jButton.setEnabled(false);
417 jButton.setText("Add");
418 jButton.addActionListener(new AbstractAction() {
419 public void actionPerformed(ActionEvent e) {
420 if (jTextField.getText().length() > 0 && jTextField1.getText().length() > 0){
421 String[] row = {jTextField.getText(), jTextField1.getText()};
422 fvPropertyTableModel.addRow(row);
423 ffc.genFvImagesNameValue(row[0], row[1]);
424 }
425 }
426 });
427 }
428 return jButton;
429 }
430
431
432 /**
433 * This method initializes jScrollPane1
434 *
435 * @return javax.swing.JScrollPane
436 */
437 private JScrollPane getJScrollPane1() {
438 if (jScrollPane1 == null) {
439 jScrollPane1 = new JScrollPane();
440 jScrollPane1.setPreferredSize(new java.awt.Dimension(350,55));
441 jScrollPane1.setViewportView(getJTable());
442 }
443 return jScrollPane1;
444 }
445
446
447 /**
448 * This method initializes jTable
449 *
450 * @return javax.swing.JTable
451 */
452 private JTable getJTable() {
453 if (jTable == null) {
454 fvPropertyTableModel = new DefaultTableModel();
455 jTable = new JTable(fvPropertyTableModel);
456 fvPropertyTableModel.addColumn("Name");
457 fvPropertyTableModel.addColumn("Value");
458 jTable.setRowHeight(20);
459 jTable.setEnabled(false);
460
461 jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
462 jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
463 public void valueChanged(ListSelectionEvent e) {
464 if (e.getValueIsAdjusting()){
465 return;
466 }
467 ListSelectionModel lsm = (ListSelectionModel)e.getSource();
468 if (lsm.isSelectionEmpty()) {
469 return;
470 }
471 else{
472 // selectedRow = lsm.getMinSelectionIndex();
473 }
474 }
475 });
476
477 jTable.getModel().addTableModelListener(new TableModelListener(){
478 public void tableChanged(TableModelEvent arg0) {
479 // TODO Auto-generated method stub
480 int row = arg0.getFirstRow();
481 TableModel m = (TableModel)arg0.getSource();
482 if (arg0.getType() == TableModelEvent.UPDATE){
483
484 String name = m.getValueAt(row, 0) + "";
485 String value = m.getValueAt(row, 1) + "";
486
487 ffc.updateFvImagesNameValue(row, name, value);
488 }
489 }
490 });
491 }
492 return jTable;
493 }
494
495
496 /**
497 * This method initializes jPanel4
498 *
499 * @return javax.swing.JPanel
500 */
501 private JPanel getJPanel4() {
502 if (jPanel4 == null) {
503 jPanel4 = new JPanel();
504 jPanel4.setPreferredSize(new java.awt.Dimension(80,55));
505
506 jPanel4.add(getJButton(), null);
507 jPanel4.add(getJButton1(), null);
508 }
509 return jPanel4;
510 }
511
512
513 /**
514 * This method initializes jButton1
515 *
516 * @return javax.swing.JButton
517 */
518 private JButton getJButton1() {
519 if (jButton1 == null) {
520 jButton1 = new JButton();
521 jButton1.setPreferredSize(new java.awt.Dimension(80,20));
522 jButton1.setEnabled(false);
523 jButton1.setText("Delete");
524 jButton1.addActionListener(new AbstractAction() {
525 public void actionPerformed(ActionEvent e) {
526 if (jTable.getSelectedRow() >= 0){
527 fvPropertyTableModel.removeRow(jTable.getSelectedRow());
528 ffc.removeFvImagesNameValue(jTable.getSelectedRow());
529 }
530 }
531 });
532 }
533 return jButton1;
534 }
535
536
537 /**
538 * This method initializes jPanelFvImageC
539 *
540 * @return javax.swing.JPanel
541 */
542 private JPanel getJPanelFvImageC() {
543 if (jPanelFvImageC == null) {
544 jLabel4 = new JLabel();
545 jLabel4.setPreferredSize(new Dimension(38, 20));
546 jLabel4.setEnabled(false);
547 jLabel4.setText("Name");
548 jLabel3 = new JLabel();
549 jLabel3.setText("FV Image Names");
550 jLabel3.setEnabled(false);
551 jLabel3.setPreferredSize(new java.awt.Dimension(150,20));
552 jLabel2 = new JLabel();
553 jLabel2.setText("Type");
554 jLabel2.setEnabled(false);
555 jLabel2.setPreferredSize(new java.awt.Dimension(70,20));
556 FlowLayout flowLayout3 = new FlowLayout();
557 flowLayout3.setAlignment(java.awt.FlowLayout.LEFT);
558 flowLayout3.setHgap(5);
559 jPanelFvImageC = new JPanel();
560 jPanelFvImageC.setLayout(flowLayout3);
561 jPanelFvImageC.add(getJPanel6(), null);
562
563 jPanelFvImageC.add(getJPanel5(), null);
564
565 }
566 return jPanelFvImageC;
567 }
568
569
570 /**
571 * This method initializes jCheckBox2
572 *
573 * @return javax.swing.JCheckBox
574 */
575 private JCheckBox getJCheckBox2() {
576 if (jCheckBox2 == null) {
577 jCheckBox2 = new JCheckBox();
578 jCheckBox2.setText("FV Image Parameters");
579 jCheckBox2.setPreferredSize(new java.awt.Dimension(200,20));
580 jCheckBox2.addItemListener(new ItemListener(){
581
582 public void itemStateChanged(ItemEvent arg0) {
583 // TODO Auto-generated method stub
584 boolean seleted = jCheckBox2.isSelected();
585
586 jLabel2.setEnabled(seleted);
587 jLabel3.setEnabled(seleted);
588 jLabel4.setEnabled(seleted);
589 jComboBox.setEnabled(seleted);
590 jTextField2.setEnabled(seleted);
591
592 jTable1.setEnabled(seleted);
593 jButton2.setEnabled(seleted);
594 jButton3.setEnabled(seleted);
595
596
597 }
598
599 });
600 }
601 return jCheckBox2;
602 }
603
604
605 /**
606 * This method initializes jComboBox
607 *
608 * @return javax.swing.JComboBox
609 */
610 private JComboBox getJComboBox() {
611 if (jComboBox == null) {
612 jComboBox = new JComboBox();
613 jComboBox.addItem("ImageName");
614 jComboBox.addItem("Attributes");
615 jComboBox.addItem("Options");
616 jComboBox.addItem("Components");
617 jComboBox.setPreferredSize(new java.awt.Dimension(180,20));
618 jComboBox.setEnabled(false);
619 jComboBox.addItemListener(new ItemListener() {
620
621 public void itemStateChanged(ItemEvent arg0) {
622 // TODO disable attribute settings when ValidImageNames selected.
623
624 }
625
626 });
627 }
628 return jComboBox;
629 }
630
631
632 /**
633 * This method initializes jTextField2
634 *
635 * @return javax.swing.JTextField
636 */
637 private JTextField getJTextField2() {
638 if (jTextField2 == null) {
639 jTextField2 = new JTextField();
640 jTextField2.setPreferredSize(new java.awt.Dimension(140,20));
641 jTextField2.setEnabled(false);
642 }
643 return jTextField2;
644 }
645
646
647 /**
648 * This method initializes jButton2
649 *
650 * @return javax.swing.JButton
651 */
652 private JButton getJButton2() {
653 if (jButton2 == null) {
654 jButton2 = new JButton();
655 jButton2.setPreferredSize(new Dimension(80, 20));
656 jButton2.setEnabled(false);
657 jButton2.setText("Add");
658 jButton2.addActionListener(new AbstractAction() {
659 public void actionPerformed(java.awt.event.ActionEvent e) {
660 if (jTextField2.getText().length() > 0){
661 String[] row = {jTextField2.getText()};
662 fvImageNameTableModel.addRow(row);
663 }
664 }
665 });
666 }
667 return jButton2;
668 }
669
670
671 /**
672 * This method initializes jScrollPane2
673 *
674 * @return javax.swing.JScrollPane
675 */
676 private JScrollPane getJScrollPane2() {
677 if (jScrollPane2 == null) {
678 jScrollPane2 = new JScrollPane();
679 jScrollPane2.setPreferredSize(new java.awt.Dimension(350,50));
680 jScrollPane2.setViewportView(getJTable1());
681 }
682 return jScrollPane2;
683 }
684
685
686 /**
687 * This method initializes jTable1
688 *
689 * @return javax.swing.JTable
690 */
691 private JTable getJTable1() {
692 if (jTable1 == null) {
693 fvImageNameTableModel = new DefaultTableModel();
694 jTable1 = new JTable(fvImageNameTableModel);
695 jTable1.setEnabled(false);
696 fvImageNameTableModel.addColumn("FV Image Name");
697 }
698 return jTable1;
699 }
700
701
702 /**
703 * This method initializes jButton3
704 *
705 * @return javax.swing.JButton
706 */
707 private JButton getJButton3() {
708 if (jButton3 == null) {
709 jButton3 = new JButton();
710 jButton3.setPreferredSize(new Dimension(80, 20));
711 jButton3.setEnabled(false);
712 jButton3.setText("Delete");
713 jButton3.addActionListener(new AbstractAction() {
714 public void actionPerformed(java.awt.event.ActionEvent e) {
715 if (jTable1.getSelectedRow() >= 0){
716
717 fvImageNameTableModel.removeRow(jTable1.getSelectedRow());
718 }
719 }
720 });
721 }
722 return jButton3;
723 }
724
725
726
727
728 private JPanel getJPanel5() {
729
730
731 if (jPanel5 == null) {
732 //ToDo add ButtonGroup for RadioButtons
733 jPanel5 = new JPanel();
734 jPanel5.setPreferredSize(new java.awt.Dimension(480,120));
735
736 GridLayout gridLayout = new GridLayout();
737 gridLayout.setRows(5);
738 gridLayout.setColumns(3);
739 jPanel5.setLayout(gridLayout);
740 jPanel5.add(getJCheckBox3(), null);
741
742 jLabel5 = new JLabel();
743 jLabel5.setText("EFI_ERASE_POLARITY");
744 jLabel5.setEnabled(false);
745 jPanel5.add(jLabel5, null);
746 jPanel5.add(getJComboBox1(), null);
747 jPanel5.add(getJCheckBox4(), null);
748 jPanel5.add(getJCheckBox5(), null);
749 jPanel5.add(getJCheckBox6(), null);
750 jPanel5.add(getJCheckBox7(), null);
751 jPanel5.add(getJCheckBox8(), null);
752 jPanel5.add(getJCheckBox9(), null);
753 jPanel5.add(getJCheckBox10(), null);
754 jPanel5.add(getJCheckBox11(), null);
755 jPanel5.add(getJCheckBox12(), null);
756 jPanel5.add(getJCheckBox13(), null);
757 jPanel5.add(getJButton4(), null);
758 jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED));
759 jPanel5.add(getJButton6(), null);
760
761
762
763
764
765 }
766 return jPanel5;
767 }
768
769
770 /**
771 * This method initializes jButton4
772 *
773 * @return javax.swing.JButton
774 */
775 private JButton getJButton4() {
776 if (jButton4 == null) {
777 jButton4 = new JButton();
778 jButton4.setPreferredSize(new java.awt.Dimension(80,20));
779 // jButton4.setEnabled(false);
780 jButton4.setText("Add FV Image");
781 jButton4.addActionListener(new AbstractAction() {
782 public void actionPerformed(java.awt.event.ActionEvent e) {
783 if (jTable1.getRowCount()== 0){
784 return;
785 }
786 String imageName = " ";
787 for (int i = 0; i < jTable1.getRowCount(); ++i){
788 imageName += (String)jTable1.getValueAt(i, 0);
789 imageName += " ";
790 }
791 imageName = imageName.trim();
792
793 if (!jCheckBox3.isSelected() && jComboBox.getSelectedIndex() != 0){
794 return;
795
796 }
797
798 LinkedHashMap<String, String> m = new LinkedHashMap<String, String>();
799 boolean[] boolArray = {jComboBox1.getSelectedIndex()==0 ? true: false, jCheckBox6.isSelected(), jCheckBox9.isSelected(),
800 jCheckBox11.isSelected(), jCheckBox12.isSelected(),
801 jCheckBox13.isSelected(),jCheckBox4.isSelected(),
802 jCheckBox5.isSelected(), jCheckBox7.isSelected(),
803 jCheckBox8.isSelected(),jCheckBox10.isSelected()};
804 booleanToNameValue(boolArray, m);
805 ffc.genFvImagesFvImage(imageName.split(" "), jComboBox.getSelectedItem()+"", m);
806
807 Object[] o = {imageName, jComboBox.getSelectedItem(), jComboBox1.getSelectedIndex()==0 ? true: false,
808 jCheckBox6.isSelected(), jCheckBox9.isSelected(),
809 jCheckBox11.isSelected(), jCheckBox12.isSelected(),
810 jCheckBox13.isSelected(),jCheckBox4.isSelected(),
811 jCheckBox5.isSelected(), jCheckBox7.isSelected(),
812 jCheckBox8.isSelected(),jCheckBox10.isSelected()};
813 fvImageParaTableModel.addRow(o);
814 }
815 });
816 }
817 return jButton4;
818 }
819
820
821 /**
822 * This method initializes jScrollPane3
823 *
824 * @return javax.swing.JScrollPane
825 */
826 private JScrollPane getJScrollPane3() {
827 if (jScrollPane3 == null) {
828 jScrollPane3 = new JScrollPane();
829 jScrollPane3.setPreferredSize(new java.awt.Dimension(480,150));
830 jScrollPane3.setViewportView(getJTable2());
831 }
832 return jScrollPane3;
833 }
834
835
836 /**
837 * This method initializes jTable2
838 *
839 * @return javax.swing.JTable
840 */
841 private JTable getJTable2() {
842 if (jTable2 == null) {
843 fvImageParaTableModel = new ImageParaTableModel();
844 jTable2 = new JTable(fvImageParaTableModel);
845 jTable2.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
846 fvImageParaTableModel.addColumn("FvImageNames");
847 fvImageParaTableModel.addColumn("Type");
848 fvImageParaTableModel.addColumn("ErasePolarity");
849 fvImageParaTableModel.addColumn("ReadStatus");
850 fvImageParaTableModel.addColumn("WriteStatus");
851 fvImageParaTableModel.addColumn("LockStatus");
852 fvImageParaTableModel.addColumn("MemoryMapped");
853 fvImageParaTableModel.addColumn("StickyWrite");
854 fvImageParaTableModel.addColumn("ReadDisableCap");
855 fvImageParaTableModel.addColumn("ReadEnableCap");
856 fvImageParaTableModel.addColumn("WriteDisableCap");
857 fvImageParaTableModel.addColumn("WriteEnableCap");
858 fvImageParaTableModel.addColumn("LockCap");
859
860 TableColumn typeCol = jTable2.getColumnModel().getColumn(1);
861 JComboBox cb = new JComboBox();
862 cb.addItem("ValidImageNames");
863 cb.addItem("Attributes");
864 cb.addItem("Options");
865 cb.addItem("Components");
866 typeCol.setCellEditor(new DefaultCellEditor(cb));
867
868 // TableColumn epCol = jTable2.getColumnModel().getColumn(2);
869 // JComboBox cb1 = new JComboBox();
870 // cb1.addItem("1");
871 // cb1.addItem("0");
872 // epCol.setCellEditor(new DefaultCellEditor(cb1));
873 jTable2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
874 jTable2.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
875 public void valueChanged(ListSelectionEvent e) {
876 if (e.getValueIsAdjusting()){
877 return;
878 }
879 ListSelectionModel lsm = (ListSelectionModel)e.getSource();
880 if (lsm.isSelectionEmpty()) {
881 return;
882 }
883 else{
884 // selectedRow = lsm.getMinSelectionIndex();
885 }
886 }
887 });
888
889 jTable2.getModel().addTableModelListener(new TableModelListener(){
890 public void tableChanged(TableModelEvent arg0) {
891 // TODO Auto-generated method stub
892 int row = arg0.getFirstRow();
893 TableModel m = (TableModel)arg0.getSource();
894 if (arg0.getType() == TableModelEvent.UPDATE){
895 //ToDo Check data validity before update
896 String name = m.getValueAt(row, 0) + "";
897 String type = m.getValueAt(row, 1) + "";
898 boolean[] boolArray = new boolean[11];
899 for (int i = 2; i < 13; ++i) {
900 boolArray[i-2] = (Boolean)m.getValueAt(row, i);
901 }
902 LinkedHashMap<String, String> lhm = new LinkedHashMap<String, String>();
903 booleanToNameValue(boolArray, lhm);
904
905 ffc.updateFvImagesFvImage(row, name.split(" "), type, lhm);
906 }
907 }
908 });
909 }
910 return jTable2;
911 }
912
913
914 /**
915 * This method initializes jButton6
916 *
917 * @return javax.swing.JButton
918 */
919 private JButton getJButton6() {
920 if (jButton6 == null) {
921 jButton6 = new JButton();
922 jButton6.setPreferredSize(new java.awt.Dimension(150,20));
923 // jButton6.setEnabled(false);
924 jButton6.setText("Delete Row");
925 jButton6.addActionListener(new AbstractAction() {
926
927 public void actionPerformed(ActionEvent arg0) {
928 // TODO Auto-generated method stub
929 if (jTable2.getSelectedRow() >= 0 ) {
930 fvImageParaTableModel.removeRow(jTable2.getSelectedRow());
931 ffc.removeFvImagesFvImage(jTable2.getSelectedRow());
932 }
933 }
934
935 });
936 }
937 return jButton6;
938 }
939
940
941 /**
942 * This method initializes jCheckBox3
943 *
944 * @return javax.swing.JCheckBox
945 */
946 private JCheckBox getJCheckBox3() {
947 if (jCheckBox3 == null) {
948 jCheckBox3 = new JCheckBox();
949 jCheckBox3.setText("FV Image Options");
950 jCheckBox3.addItemListener(new ItemListener(){
951
952 public void itemStateChanged(ItemEvent arg0) {
953 // TODO Auto-generated method stub
954 boolean seleted = jCheckBox3.isSelected();
955
956 if (!jCheckBox2.isSelected() || jComboBox.getSelectedIndex() == 0) {
957 return;
958 }
959
960 jLabel5.setEnabled(seleted);
961 jComboBox1.setEnabled(seleted);
962
963 jCheckBox4.setEnabled(seleted);
964 jCheckBox5.setEnabled(seleted);
965 jCheckBox6.setEnabled(seleted);
966 jCheckBox7.setEnabled(seleted);
967 jCheckBox8.setEnabled(seleted);
968 jCheckBox9.setEnabled(seleted);
969 jCheckBox10.setEnabled(seleted);
970 jCheckBox11.setEnabled(seleted);
971 jCheckBox12.setEnabled(seleted);
972 jCheckBox13.setEnabled(seleted);
973 // jButton4.setEnabled(seleted);
974 // jButton6.setEnabled(seleted);
975 }
976
977 });
978 }
979 return jCheckBox3;
980 }
981
982
983 /**
984 * This method initializes jComboBox1
985 *
986 * @return javax.swing.JComboBox
987 */
988 private JComboBox getJComboBox1() {
989 if (jComboBox1 == null) {
990 jComboBox1 = new JComboBox();
991 jComboBox1.setPreferredSize(new java.awt.Dimension(20,20));
992 jComboBox1.setEnabled(false);
993 jComboBox1.addItem("1");
994 jComboBox1.addItem("0");
995 jComboBox1.setSelectedIndex(0);
996 }
997 return jComboBox1;
998 }
999
1000
1001 /**
1002 * This method initializes jCheckBox4
1003 *
1004 * @return javax.swing.JCheckBox
1005 */
1006 private JCheckBox getJCheckBox4() {
1007 if (jCheckBox4 == null) {
1008 jCheckBox4 = new JCheckBox();
1009 jCheckBox4.setText("Read Disable CAP");
1010 jCheckBox4.setEnabled(false);
1011 }
1012 return jCheckBox4;
1013 }
1014
1015
1016 /**
1017 * This method initializes jCheckBox5
1018 *
1019 * @return javax.swing.JCheckBox
1020 */
1021 private JCheckBox getJCheckBox5() {
1022 if (jCheckBox5 == null) {
1023 jCheckBox5 = new JCheckBox();
1024 jCheckBox5.setText("Read Enable CAP");
1025 jCheckBox5.setEnabled(false);
1026 }
1027 return jCheckBox5;
1028 }
1029
1030
1031 /**
1032 * This method initializes jCheckBox6
1033 *
1034 * @return javax.swing.JCheckBox
1035 */
1036 private JCheckBox getJCheckBox6() {
1037 if (jCheckBox6 == null) {
1038 jCheckBox6 = new JCheckBox();
1039 jCheckBox6.setText("Read Status");
1040 jCheckBox6.setEnabled(false);
1041 }
1042 return jCheckBox6;
1043 }
1044
1045
1046 /**
1047 * This method initializes jCheckBox7
1048 *
1049 * @return javax.swing.JCheckBox
1050 */
1051 private JCheckBox getJCheckBox7() {
1052 if (jCheckBox7 == null) {
1053 jCheckBox7 = new JCheckBox();
1054 jCheckBox7.setText("Write Disable CAP");
1055 jCheckBox7.setEnabled(false);
1056 }
1057 return jCheckBox7;
1058 }
1059
1060
1061 /**
1062 * This method initializes jCheckBox8
1063 *
1064 * @return javax.swing.JCheckBox
1065 */
1066 private JCheckBox getJCheckBox8() {
1067 if (jCheckBox8 == null) {
1068 jCheckBox8 = new JCheckBox();
1069 jCheckBox8.setText("Write Enable CAP");
1070 jCheckBox8.setEnabled(false);
1071 }
1072 return jCheckBox8;
1073 }
1074
1075
1076 /**
1077 * This method initializes jCheckBox9
1078 *
1079 * @return javax.swing.JCheckBox
1080 */
1081 private JCheckBox getJCheckBox9() {
1082 if (jCheckBox9 == null) {
1083 jCheckBox9 = new JCheckBox();
1084 jCheckBox9.setText("Write Status");
1085 jCheckBox9.setEnabled(false);
1086 }
1087 return jCheckBox9;
1088 }
1089
1090
1091 /**
1092 * This method initializes jCheckBox10
1093 *
1094 * @return javax.swing.JCheckBox
1095 */
1096 private JCheckBox getJCheckBox10() {
1097 if (jCheckBox10 == null) {
1098 jCheckBox10 = new JCheckBox();
1099 jCheckBox10.setText("Lock CAP");
1100 jCheckBox10.setEnabled(false);
1101 }
1102 return jCheckBox10;
1103 }
1104
1105
1106 /**
1107 * This method initializes jCheckBox11
1108 *
1109 * @return javax.swing.JCheckBox
1110 */
1111 private JCheckBox getJCheckBox11() {
1112 if (jCheckBox11 == null) {
1113 jCheckBox11 = new JCheckBox();
1114 jCheckBox11.setText("Lock Status");
1115 jCheckBox11.setEnabled(false);
1116 }
1117 return jCheckBox11;
1118 }
1119
1120
1121 /**
1122 * This method initializes jCheckBox12
1123 *
1124 * @return javax.swing.JCheckBox
1125 */
1126 private JCheckBox getJCheckBox12() {
1127 if (jCheckBox12 == null) {
1128 jCheckBox12 = new JCheckBox();
1129 jCheckBox12.setText("Memory Mapped");
1130 jCheckBox12.setEnabled(false);
1131 }
1132 return jCheckBox12;
1133 }
1134
1135
1136 /**
1137 * This method initializes jCheckBox13
1138 *
1139 * @return javax.swing.JCheckBox
1140 */
1141 private JCheckBox getJCheckBox13() {
1142 if (jCheckBox13 == null) {
1143 jCheckBox13 = new JCheckBox();
1144 jCheckBox13.setText("Sticky Write");
1145 jCheckBox13.setEnabled(false);
1146 }
1147 return jCheckBox13;
1148 }
1149
1150
1151 /**
1152 * This method initializes jPanel6
1153 *
1154 * @return javax.swing.JPanel
1155 */
1156 private JPanel getJPanel6() {
1157 if (jPanel6 == null) {
1158 StarLabel starLabel = new StarLabel();
1159 starLabel.setVisible(false);
1160 jPanel6 = new JPanel();
1161 jPanel6.setPreferredSize(new java.awt.Dimension(480,120));
1162 jPanel6.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
1163 jPanel6.add(getJCheckBox2(), null);
1164 jPanel6.add(jLabel2, null);
1165 jPanel6.add(getJComboBox(), null);
1166 jPanel6.add(new StarLabel(), null);
1167 jPanel6.add(jLabel3, null);
1168 jPanel6.add(jLabel4, null);
1169 jPanel6.add(getJTextField2(), null);
1170 jPanel6.add(getJButton2(), null);
1171 jPanel6.add(getJScrollPane2(), null);
1172 jPanel6.add(getJButton3(), null);
1173 }
1174 return jPanel6;
1175 }
1176
1177 /**
1178 * This method initializes jPanel7
1179 *
1180 * @return javax.swing.JPanel
1181 */
1182 private JPanel getJPanel7() {
1183 if (jPanel7 == null) {
1184 FlowLayout flowLayout1 = new FlowLayout();
1185 flowLayout1.setAlignment(FlowLayout.LEFT);
1186 jPanel7 = new JPanel();
1187 jPanel7.setLayout(flowLayout1);
1188 jPanel7.add(getJCheckBox(), null);
1189 jPanel7.add(getJTextField3(), null);
1190 jPanel7.add(getJButton5(), null);
1191 jPanel7.addComponentListener(new ComponentAdapter(){
1192 public void componentShown(ComponentEvent e) {
1193 if (ffc.getFlashDefinitionFile() != null) {
1194 jTextField3.setText(ffc.getFlashDefinitionFile());
1195 }
1196 }
1197 public void componentHidden(ComponentEvent e) {
1198 if (jCheckBox.isSelected()) {
1199 ffc.genFlashDefinitionFile(jTextField3.getText());
1200 }
1201 }
1202 });
1203 }
1204 return jPanel7;
1205 }
1206
1207 /**
1208 * This method initializes jCheckBox
1209 *
1210 * @return javax.swing.JCheckBox
1211 */
1212 private JCheckBox getJCheckBox() {
1213 if (jCheckBox == null) {
1214 jCheckBox = new JCheckBox();
1215 jCheckBox.setText("Flash Definition File");
1216 jCheckBox.addItemListener(new ItemListener() {
1217
1218 public void itemStateChanged(ItemEvent arg0) {
1219 // TODO Auto-generated method stub
1220 if (jCheckBox.isSelected()){
1221 jTextField3.setEnabled(true);
1222 jButton5.setEnabled(true);
1223 }
1224 else {
1225
1226 jTextField3.setEnabled(false);
1227 jButton5.setEnabled(false);
1228 }
1229 }
1230 });
1231 }
1232 return jCheckBox;
1233 }
1234
1235 /**
1236 * This method initializes jTextField3
1237 *
1238 * @return javax.swing.JTextField
1239 */
1240 private JTextField getJTextField3() {
1241 if (jTextField3 == null) {
1242 jTextField3 = new JTextField();
1243 jTextField3.setEnabled(false);
1244 jTextField3.setPreferredSize(new Dimension(300, 20));
1245 }
1246 return jTextField3;
1247 }
1248
1249 /**
1250 * This method initializes jButton5
1251 *
1252 * @return javax.swing.JButton
1253 */
1254 private JButton getJButton5() {
1255 if (jButton5 == null) {
1256 jButton5 = new JButton();
1257 jButton5.setEnabled(false);
1258 jButton5.setText("Browse");
1259 jButton5.setPreferredSize(new Dimension(78, 20));
1260 jButton5.addActionListener(new AbstractAction(){
1261 public void actionPerformed(ActionEvent e) {
1262 // TODO Auto-generated method stub
1263 JFileChooser chooser = new JFileChooser();
1264 chooser.setMultiSelectionEnabled(false);
1265 chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
1266 int retval = chooser.showOpenDialog(frame);
1267 if (retval == JFileChooser.APPROVE_OPTION) {
1268
1269 File theFile = chooser.getSelectedFile();
1270 jTextField3.setText(theFile.getPath());
1271 }
1272 }
1273
1274 });
1275 }
1276 return jButton5;
1277 }
1278
1279 /**
1280 * @param args
1281 */
1282 public static void main(String[] args) {
1283 // TODO Auto-generated method stub
1284 new FpdFlash().setVisible(true);
1285 }
1286
1287 /**
1288 * This method initializes this
1289 *
1290 * @return void
1291 */
1292 private void initialize() {
1293 this.setSize(518, 650);
1294 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
1295 this.setContentPane(getJContentPane());
1296 this.setTitle("FPD Flash Definitions");
1297 }
1298
1299 private void init(FpdFileContents ffc) {
1300 if (ffc.getFvImagesFvImageCount() == 0) {
1301 return;
1302 }
1303 String[][] saa = new String[ffc.getFvImagesFvImageCount()][2];
1304 ArrayList<LinkedHashMap<String, String>> options = new ArrayList<LinkedHashMap<String, String>>(ffc.getFvImagesFvImageCount());
1305
1306 for (int j = 0; j < ffc.getFvImagesFvImageCount(); ++j){
1307 options.add(new LinkedHashMap<String, String>());
1308 }
1309 ffc.getFvImagesFvImages(saa, options);
1310
1311 Object[] rowData = new Object[13];
1312 int i = 0;
1313 Boolean f = new Boolean("false");
1314 while (i < saa.length) {
1315 rowData[0] = saa[i][0];
1316 rowData[1] = saa[i][1];
1317
1318
1319 //ToDo: add alignment settings
1320 Boolean[] boolArray = new Boolean[11];
1321 int k = 0;
1322 while (k < 11){
1323 boolArray[k] = f;
1324 ++k;
1325 }
1326 namevalueToBoolean(options.get(i), boolArray);
1327 for (k = 2; k < 13; ++k) {
1328 rowData[k] = boolArray[k-2];
1329 }
1330 fvImageParaTableModel.addRow(rowData);
1331 ++i;
1332 }
1333 }
1334
1335 private void namevalueToBoolean(Map<String, String> m, Boolean[] boolArray){
1336 Set<String> key = m.keySet();
1337 Iterator<String> ki= key.iterator();
1338 Boolean t = new Boolean("true");
1339 while(ki.hasNext()) {
1340 String k = ki.next();
1341 if (k.equals("EFI_ERASE_POLARITY") && m.get(k).equals("1")) {
1342 boolArray[0] = t;
1343 }
1344 if (k.equals("EFI_READ_STATUS") && m.get(k).equals("TRUE")) {
1345 boolArray[1] = t;
1346 }
1347 if (k.equals("EFI_WRITE_STATUS") && m.get(k).equals("TRUE")) {
1348 boolArray[2] = t;
1349 }
1350 if (k.equals("EFI_LOCK_STATUS") && m.get(k).equals("TRUE")) {
1351 boolArray[3] = t;
1352 }
1353 if (k.equals("EFI_MEMORY_MAPPED") && m.get(k).equals("TRUE")) {
1354 boolArray[4] = t;
1355 }
1356 if (k.equals("EFI_STICKY_WRITE") && m.get(k).equals("TRUE")) {
1357 boolArray[5] = t;
1358 }
1359 if (k.equals("EFI_READ_DISABLED_CAP") && m.get(k).equals("TRUE")) {
1360 boolArray[6] = t;
1361 }
1362 if (k.equals("EFI_READ_ENABLED_CAP") && m.get(k).equals("TRUE")) {
1363 boolArray[7] = t;
1364 }
1365 if (k.equals("EFI_WRITE_DISABLED_CAP") && m.get(k).equals("TRUE")) {
1366 boolArray[8] = t;
1367 }
1368 if (k.equals("EFI_WRITE_ENABLED_CAP") && m.get(k).equals("TRUE")) {
1369 boolArray[9] = t;
1370 }
1371 if (k.equals("EFI_LOCK_CAP") && m.get(k).equals("TRUE")) {
1372 boolArray[10] = t;
1373 }
1374 }
1375 }
1376
1377 private void booleanToNameValue(boolean[] boolArray, Map<String, String> m){
1378 if (boolArray[0]) {
1379 m.put("EFI_ERASE_POLARITY", "1");
1380 }
1381 else {
1382 m.put("EFI_ERASE_POLARITY", "0");
1383 }
1384 if (boolArray[1]) {
1385 m.put("EFI_READ_STATUS", "TRUE");
1386 }
1387 else {
1388 m.put("EFI_READ_STATUS", "FALSE");
1389 }
1390 if (boolArray[2]) {
1391 m.put("EFI_WRITE_STATUS", "TRUE");
1392 }
1393 else {
1394 m.put("EFI_WRITE_STATUS", "FALSE");
1395 }
1396 if (boolArray[3]) {
1397 m.put("EFI_LOCK_STATUS", "TRUE");
1398 }
1399 else {
1400 m.put("EFI_LOCK_STATUS", "FALSE");
1401 }
1402 if (boolArray[4]) {
1403 m.put("EFI_MEMORY_MAPPED", "TRUE");
1404 }
1405 else {
1406 m.put("EFI_MEMORY_MAPPED", "FALSE");
1407 }
1408 if (boolArray[5]) {
1409 m.put("EFI_STICKY_WRITE", "TRUE");
1410 }
1411 else {
1412 m.put("EFI_STICKY_WRITE", "FALSE");
1413 }
1414 if (boolArray[6]) {
1415 m.put("EFI_READ_DISABLED_CAP", "TRUE");
1416 }
1417 else {
1418 m.put("EFI_READ_DISABLED_CAP", "FALSE");
1419 }
1420 if (boolArray[7]) {
1421 m.put("EFI_READ_ENABLED_CAP", "TRUE");
1422 }
1423 else {
1424 m.put("EFI_READ_ENABLED_CAP", "FALSE");
1425 }
1426 if (boolArray[8]) {
1427 m.put("EFI_WRITE_DISABLED_CAP", "TRUE");
1428 }
1429 else {
1430 m.put("EFI_WRITE_DISABLED_CAP", "FALSE");
1431 }
1432 if (boolArray[9]) {
1433 m.put("EFI_WRITE_ENABLED_CAP", "TRUE");
1434 }
1435 else {
1436 m.put("EFI_WRITE_ENABLED_CAP", "FALSE");
1437 }
1438 if (boolArray[10]) {
1439 m.put("EFI_LOCK_CAP", "TRUE");
1440 }
1441 else {
1442 m.put("EFI_LOCK_CAP", "FALSE");
1443 }
1444 }
1445 /**
1446 * This method initializes jContentPane
1447 *
1448 * @return javax.swing.JPanel
1449 */
1450 private JPanel getJContentPane() {
1451 if (jContentPane == null) {
1452 jContentPane = new JPanel();
1453 jContentPane.setLayout(new BorderLayout());
1454 jContentPane.add(getJPanel(), java.awt.BorderLayout.EAST);
1455 jContentPane.add(getJPanel1(), java.awt.BorderLayout.SOUTH);
1456 jContentPane.add(getJPanel2(), java.awt.BorderLayout.WEST);
1457 jContentPane.add(getJPanel3(), java.awt.BorderLayout.NORTH);
1458 jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER);
1459 }
1460 return jContentPane;
1461 }
1462
1463 } // @jve:decl-index=0:visual-constraint="10,10"
1464
1465 class ImageParaTableModel extends DefaultTableModel {
1466
1467 public Class getColumnClass (int c) {
1468 return getValueAt(0, c).getClass();
1469 }
1470 }