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