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