]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java
Remove stand-alone module judge when parse FPD file.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdFlash.java
... / ...
CommitLineData
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.DefaultCellEditor;\r
20import javax.swing.JFileChooser;\r
21import javax.swing.JFrame;\r
22import javax.swing.JOptionPane;\r
23import javax.swing.JTabbedPane;\r
24import javax.swing.JButton;\r
25import javax.swing.ListSelectionModel;\r
26\r
27import org.tianocore.PlatformSurfaceAreaDocument;\r
28import org.tianocore.frameworkwizard.common.GlobalData;\r
29import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
30import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
31import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
32import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
33import org.tianocore.frameworkwizard.platform.ui.FpdFrameworkModules;\r
34import org.tianocore.frameworkwizard.platform.ui.global.WorkspaceProfile;\r
35\r
36import java.awt.FlowLayout;\r
37import java.awt.event.ActionEvent;\r
38import java.awt.event.ComponentAdapter;\r
39import java.awt.event.ComponentEvent;\r
40import java.awt.event.ItemEvent;\r
41import java.awt.event.ItemListener;\r
42import java.io.BufferedReader;\r
43import java.io.File;\r
44import java.io.FileReader;\r
45import java.util.ArrayList;\r
46import java.util.HashMap;\r
47import java.util.Iterator;\r
48import java.util.LinkedHashMap;\r
49import java.util.Map;\r
50import java.util.Set;\r
51import java.util.Vector;\r
52\r
53import javax.swing.JCheckBox;\r
54import javax.swing.JTextField;\r
55import java.awt.GridLayout;\r
56import javax.swing.JLabel;\r
57import javax.swing.JScrollPane;\r
58import javax.swing.JTable;\r
59import javax.swing.event.InternalFrameAdapter;\r
60import javax.swing.event.InternalFrameEvent;\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.JSplitPane;\r
71\r
72public class FpdFlash extends IInternalFrame {\r
73\r
74 /**\r
75 * \r
76 */\r
77 private static final long serialVersionUID = 1L;\r
78 static JFrame frame;\r
79 private JPanel jContentPane = null;\r
80 private JPanel jPanelContentEast = null;\r
81 private JPanel jPanelContentSouth = null;\r
82 private JPanel jPanelContentWest = null;\r
83 private JPanel jPanelContentNorth = null;\r
84 private JTabbedPane jTabbedPane = null;\r
85 private JPanel jPanelFvImages = null;\r
86 private JPanel jPanelFvImageN = null;\r
87 private JPanel jPanelFvImageS = null;\r
88 private JCheckBox jCheckBoxFvProperty = null;\r
89 private JLabel jLabelFvPropName = null;\r
90 private JTextField jTextFieldFvPropName = null;\r
91 private JLabel jLabelFvPropValue = null;\r
92 private JTextField jTextFieldFvPropValue = null;\r
93 private JButton jButtonFvPropAdd = null;\r
94 private JScrollPane jScrollPaneFvProp = null;\r
95 private JTable jTableFvProp = null;\r
96 private JPanel jPanelFvPropButtonGroup = null;\r
97 private JButton jButtonFvPropDel = null;\r
98 private DefaultTableModel fvPropertyTableModel = null;\r
99 private DefaultTableModel fvImageNameTableModel = null;\r
100 private ImageParaTableModel fvImageParaTableModel = null;\r
101 private DefaultTableModel fvOptionTableModel = null;\r
102 private JPanel jPanelFvImageC = null;\r
103 private JCheckBox jCheckBoxFvImagePara = null;\r
104 private JLabel jLabelFvParaType = null;\r
105 private JComboBox jComboBoxFvParaType = null;\r
106 private JLabel jLabelFvImageNames = null;\r
107 private JLabel jLabelFvParaName = null;\r
108 private JTextField jTextFieldFvParaName = null;\r
109 private JButton jButtonFvParaAdd = null;\r
110 private JScrollPane jScrollPaneFvImageNames = null;\r
111 private JTable jTableFvImageNames = null;\r
112 private JButton jButtonFvParaDel = null;\r
113 private JPanel jPanelFvImageOpts = null;\r
114 private JButton jButtonAddFvImage = null;\r
115 private JScrollPane jScrollPaneFvInfo = null;\r
116 private JTable jTableFvInfo = null;\r
117 private JButton jButtonDelFvImage = null;\r
118 private JCheckBox jCheckBoxFvImageOpts = null;\r
119 private JPanel jPanelFvImagePara = null;\r
120 private OpeningPlatformType docConsole = null;\r
121 private FpdFileContents ffc = null;\r
122 private JPanel jPanelFdf = null;\r
123 private JCheckBox jCheckBoxFdf = null;\r
124 private JTextField jTextFieldFdf = null;\r
125 private JButton jButtonFdfBrowse = null;\r
126 private JLabel jLabelFvImageOptName = null;\r
127 private JTextField jTextFieldFvImageOptName = null;\r
128 private JLabel jLabelFvImageOptValue = null;\r
129 private JTextField jTextFieldFvImageOptValue = null;\r
130 private JPanel jPanelFvImageOptsButtonGroup = null;\r
131 private JButton jButtonFvImageOptAdd = null;\r
132 private JButton jButtonFvImageOptDel = null;\r
133 private JScrollPane jScrollPane = null;\r
134 private JTable jTableFvImageOpts = null;\r
135 private JButton jButtonUpdateFvImage = null;\r
136 private JPanel jPanelFdfN = null;\r
137 private JPanel jPanelFdfS = null;\r
138 private JSplitPane jSplitPaneFdfC = null;\r
139 private JPanel jPanelFdfCTop = null;\r
140 private JPanel jPanelFdfCBottom = null;\r
141 private JPanel jPanelFdfCTopN = null;\r
142 private JPanel jPanelFdfCTopS = null;\r
143 private JPanel jPanelFdfCTopC = null;\r
144 private JPanel jPanelFdfCBottomN = null;\r
145 private JPanel jPanelFdfCBottomC = null;\r
146 private JLabel jLabelFvInFdf = null;\r
147 private JLabel jLabelFvAdditional = null;\r
148 private JScrollPane jScrollPaneFvInFdf = null;\r
149 private JTable jTableFvInFdf = null;\r
150 private NonEditableTableModel fvInFdfTableModel = null; // @jve:decl-index=0:visual-constraint=""\r
151 private JButton jButtonFvInFdfOptions = null;\r
152 private JScrollPane jScrollPaneFvAdditional = null;\r
153 private JTable jTableFvAdditional = null;\r
154 private DefaultTableModel fvAddtionalTableModel = null; // @jve:decl-index=0:visual-constraint=""\r
155 private JButton jButtonAddFv = null;\r
156 private JButton jButtonDelFv = null;\r
157 private JButton jButtonAddFvOptions = null;\r
158 \r
159 \r
160 public FpdFlash() {\r
161 super();\r
162 // TODO Auto-generated constructor stub\r
163\r
164 initialize();\r
165 this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));\r
166 this.setVisible(true);\r
167 }\r
168\r
169 public FpdFlash(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd){\r
170 this();\r
171 ffc = new FpdFileContents(fpd);\r
172 init(ffc);\r
173 }\r
174 \r
175 public FpdFlash(OpeningPlatformType opt) {\r
176 this(opt.getXmlFpd());\r
177 docConsole = opt;\r
178 }\r
179 \r
180 /**\r
181 * This method initializes jPanel \r
182 * \r
183 * @return javax.swing.JPanel \r
184 */\r
185 private JPanel getJPanelContentEast() {\r
186 if (jPanelContentEast == null) {\r
187 jPanelContentEast = new JPanel();\r
188 }\r
189 return jPanelContentEast;\r
190 }\r
191\r
192 /**\r
193 * This method initializes jPanel1 \r
194 * \r
195 * @return javax.swing.JPanel \r
196 */\r
197 private JPanel getJPanelContentSouth() {\r
198 if (jPanelContentSouth == null) {\r
199 FlowLayout flowLayout = new FlowLayout();\r
200 flowLayout.setAlignment(java.awt.FlowLayout.RIGHT);\r
201 flowLayout.setHgap(15);\r
202 jPanelContentSouth = new JPanel();\r
203 jPanelContentSouth.setLayout(flowLayout);\r
204 jPanelContentSouth.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);\r
205 }\r
206 return jPanelContentSouth;\r
207 }\r
208\r
209 /**\r
210 * This method initializes jPanel2 \r
211 * \r
212 * @return javax.swing.JPanel \r
213 */\r
214 private JPanel getJPanelContentWest() {\r
215 if (jPanelContentWest == null) {\r
216 jPanelContentWest = new JPanel();\r
217 }\r
218 return jPanelContentWest;\r
219 }\r
220\r
221 /**\r
222 * This method initializes jPanel3 \r
223 * \r
224 * @return javax.swing.JPanel \r
225 */\r
226 private JPanel getJPanelContentNorth() {\r
227 if (jPanelContentNorth == null) {\r
228 jPanelContentNorth = new JPanel();\r
229 }\r
230 return jPanelContentNorth;\r
231 }\r
232\r
233 /**\r
234 * This method initializes jTabbedPane \r
235 * \r
236 * @return javax.swing.JTabbedPane \r
237 */\r
238 private JTabbedPane getJTabbedPane() {\r
239 if (jTabbedPane == null) {\r
240 jTabbedPane = new JTabbedPane();\r
241 jTabbedPane.addTab("General", null, getJPanelFdf(), null);\r
242 jTabbedPane.addTab("Advanced", null, getJPanelFvImages(), null);\r
243 \r
244 }\r
245 return jTabbedPane;\r
246 }\r
247\r
248 /**\r
249 * This method initializes jPanelFvImages \r
250 * \r
251 * @return javax.swing.JPanel \r
252 */\r
253 private JPanel getJPanelFvImages() {\r
254 if (jPanelFvImages == null) {\r
255 jPanelFvImages = new JPanel();\r
256 jPanelFvImages.setLayout(new BorderLayout());\r
257 jPanelFvImages.add(getJPanelFvImageN(), java.awt.BorderLayout.NORTH);\r
258// jPanelFvImages.add(getJPanelFvImageW(), java.awt.BorderLayout.WEST);\r
259 jPanelFvImages.add(getJPanelFvImageS(), java.awt.BorderLayout.SOUTH);\r
260 jPanelFvImages.add(getJPanelFvImageC(), java.awt.BorderLayout.CENTER);\r
261 \r
262 }\r
263 return jPanelFvImages;\r
264 }\r
265\r
266 /**\r
267 * This method initializes jPanelFvImageN \r
268 * \r
269 * @return javax.swing.JPanel \r
270 */\r
271 private JPanel getJPanelFvImageN() {\r
272 if (jPanelFvImageN == null) {\r
273 jLabelFvPropValue = new JLabel();\r
274 jLabelFvPropValue.setText("Value");\r
275 jLabelFvPropValue.setEnabled(false);\r
276 jLabelFvPropValue.setPreferredSize(new java.awt.Dimension(38,20));\r
277 jLabelFvPropName = new JLabel();\r
278 jLabelFvPropName.setText("Name");\r
279 jLabelFvPropName.setEnabled(false);\r
280 jLabelFvPropName.setPreferredSize(new java.awt.Dimension(38,20));\r
281 FlowLayout flowLayout2 = new FlowLayout();\r
282 flowLayout2.setAlignment(java.awt.FlowLayout.LEFT);\r
283 flowLayout2.setHgap(15);\r
284 jPanelFvImageN = new JPanel();\r
285 jPanelFvImageN.setPreferredSize(new java.awt.Dimension(576,100));\r
286 jPanelFvImageN.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));\r
287 jPanelFvImageN.setLayout(flowLayout2);\r
288 jPanelFvImageN.add(getJCheckBoxFvProperty(), null);\r
289 jPanelFvImageN.add(jLabelFvPropName, null);\r
290 jPanelFvImageN.add(getJTextFieldFvPropName(), null);\r
291 jPanelFvImageN.add(jLabelFvPropValue, null);\r
292 jPanelFvImageN.add(getJTextFieldFvPropValue(), null);\r
293 jPanelFvImageN.add(getJScrollPaneFvProp(), null);\r
294 jPanelFvImageN.add(getJPanelFvPropButtonGroup(), null);\r
295 }\r
296 return jPanelFvImageN;\r
297 }\r
298\r
299 /**\r
300 * This method initializes jPanelFvImageS \r
301 * \r
302 * @return javax.swing.JPanel \r
303 */\r
304 private JPanel getJPanelFvImageS() {\r
305 if (jPanelFvImageS == null) {\r
306 GridLayout gridLayout2 = new GridLayout();\r
307 gridLayout2.setRows(1);\r
308 jPanelFvImageS = new JPanel();\r
309 jPanelFvImageS.setPreferredSize(new java.awt.Dimension(480,190));\r
310 jPanelFvImageS.setLayout(gridLayout2);\r
311 jPanelFvImageS.add(getJScrollPaneFvInfo(), null);\r
312 }\r
313 return jPanelFvImageS;\r
314 }\r
315\r
316\r
317 /**\r
318 * This method initializes jCheckBox1 \r
319 * \r
320 * @return javax.swing.JCheckBox \r
321 */\r
322 private JCheckBox getJCheckBoxFvProperty() {\r
323 if (jCheckBoxFvProperty == null) {\r
324 jCheckBoxFvProperty = new JCheckBox();\r
325 jCheckBoxFvProperty.setText("Global FV Variables");\r
326 jCheckBoxFvProperty.addItemListener(new ItemListener(){\r
327\r
328 public void itemStateChanged(ItemEvent arg0) {\r
329 // TODO Auto-generated method stub\r
330 boolean seleted = jCheckBoxFvProperty.isSelected();\r
331 \r
332 jLabelFvPropName.setEnabled(seleted);\r
333 jTextFieldFvPropName.setEnabled(seleted);\r
334 jLabelFvPropValue.setEnabled(seleted);\r
335 jTextFieldFvPropValue.setEnabled(seleted);\r
336 jTableFvProp.setEnabled(seleted);\r
337 jButtonFvPropAdd.setEnabled(seleted);\r
338 jButtonFvPropDel.setEnabled(seleted);\r
339 \r
340 \r
341 }\r
342 \r
343 });\r
344 }\r
345 return jCheckBoxFvProperty;\r
346 }\r
347\r
348\r
349 /**\r
350 * This method initializes jTextField \r
351 * \r
352 * @return javax.swing.JTextField \r
353 */\r
354 private JTextField getJTextFieldFvPropName() {\r
355 if (jTextFieldFvPropName == null) {\r
356 jTextFieldFvPropName = new JTextField();\r
357 jTextFieldFvPropName.setPreferredSize(new java.awt.Dimension(100,20));\r
358 jTextFieldFvPropName.setEnabled(false);\r
359 }\r
360 return jTextFieldFvPropName;\r
361 }\r
362\r
363\r
364 /**\r
365 * This method initializes jTextField1 \r
366 * \r
367 * @return javax.swing.JTextField \r
368 */\r
369 private JTextField getJTextFieldFvPropValue() {\r
370 if (jTextFieldFvPropValue == null) {\r
371 jTextFieldFvPropValue = new JTextField();\r
372 jTextFieldFvPropValue.setPreferredSize(new java.awt.Dimension(100,20));\r
373 jTextFieldFvPropValue.setEnabled(false);\r
374 }\r
375 return jTextFieldFvPropValue;\r
376 }\r
377\r
378\r
379 /**\r
380 * This method initializes jButton \r
381 * \r
382 * @return javax.swing.JButton \r
383 */\r
384 private JButton getJButtonFvPropAdd() {\r
385 if (jButtonFvPropAdd == null) {\r
386 jButtonFvPropAdd = new JButton();\r
387 jButtonFvPropAdd.setPreferredSize(new java.awt.Dimension(80,20));\r
388 jButtonFvPropAdd.setEnabled(false);\r
389 jButtonFvPropAdd.setText("Add");\r
390 jButtonFvPropAdd.addActionListener(new AbstractAction() {\r
391 /**\r
392 * \r
393 */\r
394 private static final long serialVersionUID = 1L;\r
395\r
396 public void actionPerformed(ActionEvent e) {\r
397 if (jTextFieldFvPropName.getText().length() > 0 && jTextFieldFvPropValue.getText().length() > 0){\r
398 String[] row = {jTextFieldFvPropName.getText(), jTextFieldFvPropValue.getText()}; \r
399 fvPropertyTableModel.addRow(row);\r
400 docConsole.setSaved(false);\r
401 ffc.genFvImagesNameValue(row[0], row[1]);\r
402 }\r
403 }\r
404 });\r
405 }\r
406 return jButtonFvPropAdd;\r
407 }\r
408\r
409\r
410 /**\r
411 * This method initializes jScrollPane1 \r
412 * \r
413 * @return javax.swing.JScrollPane \r
414 */\r
415 private JScrollPane getJScrollPaneFvProp() {\r
416 if (jScrollPaneFvProp == null) {\r
417 jScrollPaneFvProp = new JScrollPane();\r
418 jScrollPaneFvProp.setPreferredSize(new java.awt.Dimension(350,55));\r
419 jScrollPaneFvProp.setViewportView(getJTableFvProp());\r
420 }\r
421 return jScrollPaneFvProp;\r
422 }\r
423\r
424\r
425 /**\r
426 * This method initializes jTable \r
427 * \r
428 * @return javax.swing.JTable \r
429 */\r
430 private JTable getJTableFvProp() {\r
431 if (jTableFvProp == null) {\r
432 fvPropertyTableModel = new DefaultTableModel();\r
433 jTableFvProp = new JTable(fvPropertyTableModel);\r
434 fvPropertyTableModel.addColumn("Name");\r
435 fvPropertyTableModel.addColumn("Value");\r
436 jTableFvProp.setRowHeight(20);\r
437 jTableFvProp.setEnabled(false);\r
438 \r
439 jTableFvProp.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
440 jTableFvProp.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
441 public void valueChanged(ListSelectionEvent e) {\r
442 if (e.getValueIsAdjusting()){\r
443 return;\r
444 }\r
445 ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
446 if (lsm.isSelectionEmpty()) {\r
447 return;\r
448 }\r
449 else{\r
450// selectedRow = lsm.getMinSelectionIndex();\r
451 }\r
452 }\r
453 });\r
454 \r
455 jTableFvProp.getModel().addTableModelListener(new TableModelListener(){\r
456 public void tableChanged(TableModelEvent arg0) {\r
457 // TODO Auto-generated method stub\r
458 int row = arg0.getFirstRow();\r
459 TableModel m = (TableModel)arg0.getSource();\r
460 if (arg0.getType() == TableModelEvent.UPDATE){\r
461 \r
462 String name = m.getValueAt(row, 0) + "";\r
463 String value = m.getValueAt(row, 1) + "";\r
464 docConsole.setSaved(false);\r
465 ffc.updateFvImagesNameValue(row, name, value);\r
466 }\r
467 }\r
468 });\r
469 }\r
470 return jTableFvProp;\r
471 }\r
472\r
473\r
474 /**\r
475 * This method initializes jPanel4 \r
476 * \r
477 * @return javax.swing.JPanel \r
478 */\r
479 private JPanel getJPanelFvPropButtonGroup() {\r
480 if (jPanelFvPropButtonGroup == null) {\r
481 jPanelFvPropButtonGroup = new JPanel();\r
482 jPanelFvPropButtonGroup.setPreferredSize(new java.awt.Dimension(80,55));\r
483 \r
484 jPanelFvPropButtonGroup.add(getJButtonFvPropAdd(), null);\r
485 jPanelFvPropButtonGroup.add(getJButtonFvPropDel(), null);\r
486 }\r
487 return jPanelFvPropButtonGroup;\r
488 }\r
489\r
490\r
491 /**\r
492 * This method initializes jButton1 \r
493 * \r
494 * @return javax.swing.JButton \r
495 */\r
496 private JButton getJButtonFvPropDel() {\r
497 if (jButtonFvPropDel == null) {\r
498 jButtonFvPropDel = new JButton();\r
499 jButtonFvPropDel.setPreferredSize(new java.awt.Dimension(80,20));\r
500 jButtonFvPropDel.setEnabled(false);\r
501 jButtonFvPropDel.setText("Delete");\r
502 jButtonFvPropDel.addActionListener(new AbstractAction() {\r
503 /**\r
504 * \r
505 */\r
506 private static final long serialVersionUID = 1L;\r
507\r
508 public void actionPerformed(ActionEvent e) {\r
509 if (jTableFvProp.getSelectedRow() >= 0){\r
510 fvPropertyTableModel.removeRow(jTableFvProp.getSelectedRow());\r
511 docConsole.setSaved(false);\r
512 ffc.removeFvImagesNameValue(jTableFvProp.getSelectedRow());\r
513 }\r
514 }\r
515 });\r
516 }\r
517 return jButtonFvPropDel;\r
518 }\r
519\r
520\r
521 /**\r
522 * This method initializes jPanelFvImageC \r
523 * \r
524 * @return javax.swing.JPanel \r
525 */\r
526 private JPanel getJPanelFvImageC() {\r
527 if (jPanelFvImageC == null) {\r
528 jLabelFvParaName = new JLabel();\r
529 jLabelFvParaName.setPreferredSize(new Dimension(38, 20));\r
530 jLabelFvParaName.setEnabled(false);\r
531 jLabelFvParaName.setText("Name");\r
532 jLabelFvImageNames = new JLabel();\r
533 jLabelFvImageNames.setText("FV Image Names");\r
534 jLabelFvImageNames.setEnabled(false);\r
535 jLabelFvImageNames.setPreferredSize(new java.awt.Dimension(150,20));\r
536 jLabelFvParaType = new JLabel();\r
537 jLabelFvParaType.setText("Type");\r
538 jLabelFvParaType.setEnabled(false);\r
539 jLabelFvParaType.setPreferredSize(new java.awt.Dimension(70,20));\r
540 FlowLayout flowLayout3 = new FlowLayout();\r
541 flowLayout3.setAlignment(java.awt.FlowLayout.LEFT);\r
542 flowLayout3.setHgap(5);\r
543 jPanelFvImageC = new JPanel();\r
544 jPanelFvImageC.setLayout(flowLayout3);\r
545 jPanelFvImageC.add(getJPanelFvImagePara(), null);\r
546 \r
547 jPanelFvImageC.add(getJPanelFvImageOpts(), null);\r
548 \r
549 }\r
550 return jPanelFvImageC;\r
551 }\r
552\r
553\r
554 /**\r
555 * This method initializes jCheckBox2 \r
556 * \r
557 * @return javax.swing.JCheckBox \r
558 */\r
559 private JCheckBox getJCheckBoxFvImagePara() {\r
560 if (jCheckBoxFvImagePara == null) {\r
561 jCheckBoxFvImagePara = new JCheckBox();\r
562 jCheckBoxFvImagePara.setText("FV Image Parameters");\r
563 jCheckBoxFvImagePara.setPreferredSize(new java.awt.Dimension(200,20));\r
564 jCheckBoxFvImagePara.addItemListener(new ItemListener(){\r
565\r
566 public void itemStateChanged(ItemEvent arg0) {\r
567 // TODO Auto-generated method stub\r
568 boolean seleted = jCheckBoxFvImagePara.isSelected();\r
569 \r
570 jLabelFvParaType.setEnabled(seleted);\r
571 jLabelFvImageNames.setEnabled(seleted);\r
572 jLabelFvParaName.setEnabled(seleted);\r
573 jComboBoxFvParaType.setEnabled(seleted);\r
574 jTextFieldFvParaName.setEnabled(seleted);\r
575 \r
576 jTableFvImageNames.setEnabled(seleted);\r
577 jButtonFvParaAdd.setEnabled(seleted);\r
578 jButtonFvParaDel.setEnabled(seleted);\r
579 \r
580 \r
581 }\r
582 \r
583 });\r
584 }\r
585 return jCheckBoxFvImagePara;\r
586 }\r
587\r
588\r
589 /**\r
590 * This method initializes jComboBox \r
591 * \r
592 * @return javax.swing.JComboBox \r
593 */\r
594 private JComboBox getJComboBoxFvParaType() {\r
595 if (jComboBoxFvParaType == null) {\r
596 jComboBoxFvParaType = new JComboBox();\r
597 jComboBoxFvParaType.addItem("ImageName");\r
598 jComboBoxFvParaType.addItem("Attributes");\r
599 jComboBoxFvParaType.addItem("Options");\r
600 jComboBoxFvParaType.addItem("Components");\r
601 jComboBoxFvParaType.setPreferredSize(new java.awt.Dimension(180,20));\r
602 jComboBoxFvParaType.setEnabled(false);\r
603 jComboBoxFvParaType.addItemListener(new ItemListener() {\r
604\r
605 public void itemStateChanged(ItemEvent arg0) {\r
606 // TODO disable attribute settings when ValidImageNames selected.\r
607 \r
608 }\r
609 \r
610 });\r
611 }\r
612 return jComboBoxFvParaType;\r
613 }\r
614\r
615\r
616 /**\r
617 * This method initializes jTextField2 \r
618 * \r
619 * @return javax.swing.JTextField \r
620 */\r
621 private JTextField getJTextFieldFvParaName() {\r
622 if (jTextFieldFvParaName == null) {\r
623 jTextFieldFvParaName = new JTextField();\r
624 jTextFieldFvParaName.setPreferredSize(new java.awt.Dimension(140,20));\r
625 jTextFieldFvParaName.setEnabled(false);\r
626 }\r
627 return jTextFieldFvParaName;\r
628 }\r
629\r
630\r
631 /**\r
632 * This method initializes jButton2 \r
633 * \r
634 * @return javax.swing.JButton \r
635 */\r
636 private JButton getJButtonFvParaAdd() {\r
637 if (jButtonFvParaAdd == null) {\r
638 jButtonFvParaAdd = new JButton();\r
639 jButtonFvParaAdd.setPreferredSize(new Dimension(80, 20));\r
640 jButtonFvParaAdd.setEnabled(false);\r
641 jButtonFvParaAdd.setText("Add");\r
642 jButtonFvParaAdd.addActionListener(new AbstractAction() {\r
643 /**\r
644 * \r
645 */\r
646 private static final long serialVersionUID = 1L;\r
647\r
648 public void actionPerformed(java.awt.event.ActionEvent e) {\r
649 if (jTextFieldFvParaName.getText().length() > 0){\r
650 String[] row = {jTextFieldFvParaName.getText()}; \r
651 fvImageNameTableModel.addRow(row);\r
652 }\r
653 }\r
654 });\r
655 }\r
656 return jButtonFvParaAdd;\r
657 }\r
658\r
659\r
660 /**\r
661 * This method initializes jScrollPane2 \r
662 * \r
663 * @return javax.swing.JScrollPane \r
664 */\r
665 private JScrollPane getJScrollPaneFvImageNames() {\r
666 if (jScrollPaneFvImageNames == null) {\r
667 jScrollPaneFvImageNames = new JScrollPane();\r
668 jScrollPaneFvImageNames.setPreferredSize(new java.awt.Dimension(350,50));\r
669 jScrollPaneFvImageNames.setViewportView(getJTableFvImageNames());\r
670 }\r
671 return jScrollPaneFvImageNames;\r
672 }\r
673\r
674\r
675 /**\r
676 * This method initializes jTable1 \r
677 * \r
678 * @return javax.swing.JTable \r
679 */\r
680 private JTable getJTableFvImageNames() {\r
681 if (jTableFvImageNames == null) {\r
682 fvImageNameTableModel = new DefaultTableModel();\r
683 jTableFvImageNames = new JTable(fvImageNameTableModel);\r
684 jTableFvImageNames.setEnabled(false);\r
685 fvImageNameTableModel.addColumn("FV Image Name");\r
686 }\r
687 return jTableFvImageNames;\r
688 }\r
689\r
690\r
691 /**\r
692 * This method initializes jButton3 \r
693 * \r
694 * @return javax.swing.JButton \r
695 */\r
696 private JButton getJButtonFvParaDel() {\r
697 if (jButtonFvParaDel == null) {\r
698 jButtonFvParaDel = new JButton();\r
699 jButtonFvParaDel.setPreferredSize(new Dimension(80, 20));\r
700 jButtonFvParaDel.setEnabled(false);\r
701 jButtonFvParaDel.setText("Delete");\r
702 jButtonFvParaDel.addActionListener(new AbstractAction() {\r
703 /**\r
704 * \r
705 */\r
706 private static final long serialVersionUID = 1L;\r
707\r
708 public void actionPerformed(java.awt.event.ActionEvent e) {\r
709 if (jTableFvImageNames.getSelectedRow() >= 0){\r
710 \r
711 fvImageNameTableModel.removeRow(jTableFvImageNames.getSelectedRow());\r
712 }\r
713 }\r
714 });\r
715 }\r
716 return jButtonFvParaDel;\r
717 }\r
718\r
719\r
720\r
721 \r
722 private JPanel getJPanelFvImageOpts() {\r
723 \r
724\r
725 if (jPanelFvImageOpts == null) {\r
726 //ToDo add ButtonGroup for RadioButtons\r
727 jLabelFvImageOptValue = new JLabel();\r
728 jLabelFvImageOptValue.setEnabled(true);\r
729 jLabelFvImageOptValue.setText("Value");\r
730 jLabelFvImageOptValue.setPreferredSize(new Dimension(38, 20));\r
731 jLabelFvImageOptName = new JLabel();\r
732 jLabelFvImageOptName.setEnabled(true);\r
733 jLabelFvImageOptName.setText("Name");\r
734 jLabelFvImageOptName.setPreferredSize(new Dimension(38, 20));\r
735 jPanelFvImageOpts = new JPanel();\r
736 jPanelFvImageOpts.setPreferredSize(new java.awt.Dimension(480,150));\r
737 \r
738 jPanelFvImageOpts.setLayout(new FlowLayout());\r
739 \r
740 jPanelFvImageOpts.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED));\r
741 jPanelFvImageOpts.add(getJCheckBoxFvImageOpts(), null);\r
742 jPanelFvImageOpts.add(jLabelFvImageOptName, null);\r
743 jPanelFvImageOpts.add(getJTextFieldFvImageOptName(), null);\r
744 jPanelFvImageOpts.add(jLabelFvImageOptValue, null);\r
745 jPanelFvImageOpts.add(getJTextFieldFvImageOptValue(), null);\r
746 jPanelFvImageOpts.add(getJScrollPane(), null);\r
747 jPanelFvImageOpts.add(getJPanelFvImageOptsButtonGroup(), null);\r
748 jPanelFvImageOpts.add(getJButtonAddFvImage(), null);\r
749 jPanelFvImageOpts.add(getJButtonDelFvImage(), null);\r
750 jPanelFvImageOpts.add(getJButtonUpdateFvImage(), null);\r
751 \r
752 \r
753 \r
754\r
755 \r
756 }\r
757 return jPanelFvImageOpts;\r
758 }\r
759\r
760\r
761 /**\r
762 * This method initializes jButton4 \r
763 * \r
764 * @return javax.swing.JButton \r
765 */\r
766 private JButton getJButtonAddFvImage() {\r
767 if (jButtonAddFvImage == null) {\r
768 jButtonAddFvImage = new JButton();\r
769 jButtonAddFvImage.setPreferredSize(new java.awt.Dimension(120,20));\r
770// jButton4.setEnabled(false);\r
771 jButtonAddFvImage.setText("Add FV Image");\r
772 jButtonAddFvImage.addActionListener(new AbstractAction() {\r
773 /**\r
774 * \r
775 */\r
776 private static final long serialVersionUID = 1L;\r
777\r
778 public void actionPerformed(java.awt.event.ActionEvent e) {\r
779 if (jTableFvInfo.isEditing()) {\r
780 jTableFvInfo.getCellEditor().stopCellEditing();\r
781 }\r
782 if (jTableFvImageOpts.isEditing()) {\r
783 jTableFvImageOpts.getCellEditor().stopCellEditing();\r
784 }\r
785 if (jTableFvImageNames.getRowCount()== 0){\r
786 return;\r
787 }\r
788 String imageName = " ";\r
789 for (int i = 0; i < jTableFvImageNames.getRowCount(); ++i){\r
790 imageName += (String)jTableFvImageNames.getValueAt(i, 0);\r
791 imageName += " ";\r
792 }\r
793 imageName = imageName.trim();\r
794 \r
795 if (!jCheckBoxFvImageOpts.isSelected() && jComboBoxFvParaType.getSelectedIndex() != 0){\r
796 return;\r
797 \r
798 }\r
799 \r
800 LinkedHashMap<String, String> m = null;\r
801 if (jCheckBoxFvImageOpts.isSelected()) {\r
802 m = new LinkedHashMap<String, String>();\r
803 getOptionNameValue(m);\r
804 }\r
805 ffc.genFvImagesFvImage(imageName.split(" "), jComboBoxFvParaType.getSelectedItem()+"", m);\r
806 docConsole.setSaved(false);\r
807 Object[] row = {imageName, jComboBoxFvParaType.getSelectedItem()};\r
808 fvImageParaTableModel.addRow(row); \r
809 }\r
810 });\r
811 }\r
812 return jButtonAddFvImage;\r
813 }\r
814\r
815\r
816 /**\r
817 * This method initializes jScrollPane3 \r
818 * \r
819 * @return javax.swing.JScrollPane \r
820 */\r
821 private JScrollPane getJScrollPaneFvInfo() {\r
822 if (jScrollPaneFvInfo == null) {\r
823 jScrollPaneFvInfo = new JScrollPane();\r
824 jScrollPaneFvInfo.setPreferredSize(new java.awt.Dimension(480,150));\r
825 jScrollPaneFvInfo.setViewportView(getJTableFvInfo());\r
826 }\r
827 return jScrollPaneFvInfo;\r
828 }\r
829\r
830\r
831 /**\r
832 * This method initializes jTable2 \r
833 * \r
834 * @return javax.swing.JTable \r
835 */\r
836 private JTable getJTableFvInfo() {\r
837 if (jTableFvInfo == null) {\r
838 fvImageParaTableModel = new ImageParaTableModel();\r
839 jTableFvInfo = new JTable(fvImageParaTableModel);\r
840 fvImageParaTableModel.addColumn("FvImageNames");\r
841 fvImageParaTableModel.addColumn("Type");\r
842 \r
843 \r
844 TableColumn typeCol = jTableFvInfo.getColumnModel().getColumn(1);\r
845 JComboBox cb = new JComboBox();\r
846 cb.addItem("ImageName");\r
847 cb.addItem("Attributes");\r
848 cb.addItem("Options");\r
849 cb.addItem("Components");\r
850 typeCol.setCellEditor(new DefaultCellEditor(cb));\r
851 \r
852 jTableFvInfo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
853 jTableFvInfo.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
854 public void valueChanged(ListSelectionEvent e) {\r
855 if (e.getValueIsAdjusting()){\r
856 return;\r
857 }\r
858 ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
859 if (lsm.isSelectionEmpty()) {\r
860 return;\r
861 }\r
862 else{\r
863 int selectedRow = lsm.getMinSelectionIndex();\r
864 if (fvImageParaTableModel.getValueAt(selectedRow, 1).equals("ImageName")) {\r
865 String[] fvNames = fvImageParaTableModel.getValueAt(selectedRow, 0).toString().split(" ");\r
866 for (int i = 0; i < fvNames.length; ++i) {\r
867 String[] row = {fvNames[i]};\r
868 fvImageNameTableModel.addRow(row);\r
869 }\r
870 return;\r
871 }\r
872 LinkedHashMap<String, String> optionMap = new LinkedHashMap<String, String>();\r
873 ffc.getFvImagesFvImageOptions(selectedRow, optionMap);\r
874 if (optionMap.size() > 0){\r
875 fvOptionTableModel.setRowCount(0);\r
876 Set<String> key = optionMap.keySet();\r
877 Iterator<String> i = key.iterator();\r
878 while (i.hasNext()) {\r
879 \r
880 String k = (String)i.next();\r
881 String[] row = {k, optionMap.get(k)};\r
882 \r
883 fvOptionTableModel.addRow(row);\r
884 }\r
885 }\r
886 \r
887 }\r
888 }\r
889 });\r
890 \r
891 \r
892 }\r
893 return jTableFvInfo;\r
894 }\r
895\r
896\r
897 /**\r
898 * This method initializes jButton6 \r
899 * \r
900 * @return javax.swing.JButton \r
901 */\r
902 private JButton getJButtonDelFvImage() {\r
903 if (jButtonDelFvImage == null) {\r
904 jButtonDelFvImage = new JButton();\r
905 jButtonDelFvImage.setPreferredSize(new java.awt.Dimension(120,20));\r
906// jButton6.setEnabled(false);\r
907 jButtonDelFvImage.setText("Delete Row");\r
908 jButtonDelFvImage.addActionListener(new AbstractAction() {\r
909 /**\r
910 * \r
911 */\r
912 private static final long serialVersionUID = 1L;\r
913\r
914 public void actionPerformed(ActionEvent arg0) {\r
915 // TODO Auto-generated method stub\r
916 if (jTableFvInfo.getSelectedRow() >= 0 ) {\r
917 ffc.removeFvImagesFvImage(jTableFvInfo.getSelectedRow());\r
918 fvImageParaTableModel.removeRow(jTableFvInfo.getSelectedRow());\r
919 docConsole.setSaved(false);\r
920 }\r
921 }\r
922 \r
923 });\r
924 }\r
925 return jButtonDelFvImage;\r
926 }\r
927\r
928\r
929 /**\r
930 * This method initializes jCheckBox3 \r
931 * \r
932 * @return javax.swing.JCheckBox \r
933 */\r
934 private JCheckBox getJCheckBoxFvImageOpts() {\r
935 if (jCheckBoxFvImageOpts == null) {\r
936 jCheckBoxFvImageOpts = new JCheckBox();\r
937 jCheckBoxFvImageOpts.setText("FV Image Options");\r
938 jCheckBoxFvImageOpts.addItemListener(new ItemListener(){\r
939\r
940 public void itemStateChanged(ItemEvent arg0) {\r
941 // TODO Auto-generated method stub\r
942// boolean selected = jCheckBox3.isSelected();\r
943 \r
944 if (!jCheckBoxFvImagePara.isSelected() || jComboBoxFvParaType.getSelectedIndex() == 0) {\r
945 return;\r
946 }\r
947 \r
948 }\r
949 \r
950 });\r
951 }\r
952 return jCheckBoxFvImageOpts;\r
953 }\r
954\r
955\r
956 /**\r
957 * This method initializes jPanel6 \r
958 * \r
959 * @return javax.swing.JPanel \r
960 */\r
961 private JPanel getJPanelFvImagePara() {\r
962 if (jPanelFvImagePara == null) {\r
963 StarLabel starLabel = new StarLabel();\r
964 starLabel.setVisible(false);\r
965 jPanelFvImagePara = new JPanel();\r
966 jPanelFvImagePara.setPreferredSize(new java.awt.Dimension(480,120));\r
967 jPanelFvImagePara.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
968 jPanelFvImagePara.add(getJCheckBoxFvImagePara(), null);\r
969 jPanelFvImagePara.add(jLabelFvParaType, null);\r
970 jPanelFvImagePara.add(getJComboBoxFvParaType(), null);\r
971 jPanelFvImagePara.add(new StarLabel(), null);\r
972 jPanelFvImagePara.add(jLabelFvImageNames, null);\r
973 jPanelFvImagePara.add(jLabelFvParaName, null);\r
974 jPanelFvImagePara.add(getJTextFieldFvParaName(), null);\r
975 jPanelFvImagePara.add(getJButtonFvParaAdd(), null);\r
976 jPanelFvImagePara.add(getJScrollPaneFvImageNames(), null);\r
977 jPanelFvImagePara.add(getJButtonFvParaDel(), null);\r
978 }\r
979 return jPanelFvImagePara;\r
980 }\r
981\r
982 /**\r
983 * This method initializes jPanel7 \r
984 * \r
985 * @return javax.swing.JPanel \r
986 */\r
987 private JPanel getJPanelFdf() {\r
988 if (jPanelFdf == null) {\r
989 jPanelFdf = new JPanel();\r
990 jPanelFdf.setLayout(new BorderLayout());\r
991\r
992 jPanelFdf.add(getJPanelFdfN(), java.awt.BorderLayout.NORTH);\r
993 jPanelFdf.add(getJPanelFdfS(), java.awt.BorderLayout.SOUTH);\r
994 jPanelFdf.add(getJSplitPaneFdfC(), java.awt.BorderLayout.CENTER);\r
995 jPanelFdf.addComponentListener(new ComponentAdapter(){\r
996 public void componentShown(ComponentEvent e) {\r
997// if (ffc.getFlashDefinitionFile() != null) {\r
998// jTextFieldFdf.setText(ffc.getFlashDefinitionFile());\r
999// initFvInFdfTable(System.getenv("WORKSPACE") + File.separator + jTextFieldFdf.getText());\r
1000// \r
1001// }\r
1002 }\r
1003 public void componentHidden(ComponentEvent e) {\r
1004 if (jCheckBoxFdf.isSelected()) {\r
1005 ffc.genFlashDefinitionFile(jTextFieldFdf.getText());\r
1006 }\r
1007 }\r
1008 });\r
1009 }\r
1010 return jPanelFdf;\r
1011 }\r
1012\r
1013 /**\r
1014 * This method initializes jCheckBox \r
1015 * \r
1016 * @return javax.swing.JCheckBox \r
1017 */\r
1018 private JCheckBox getJCheckBoxFdf() {\r
1019 if (jCheckBoxFdf == null) {\r
1020 jCheckBoxFdf = new JCheckBox();\r
1021 jCheckBoxFdf.setText("Flash Definition File");\r
1022 jCheckBoxFdf.addItemListener(new ItemListener() {\r
1023\r
1024 public void itemStateChanged(ItemEvent arg0) {\r
1025 // TODO Auto-generated method stub\r
1026 if (jCheckBoxFdf.isSelected()){\r
1027 jTextFieldFdf.setEnabled(true);\r
1028 jButtonFdfBrowse.setEnabled(true);\r
1029 }\r
1030 else {\r
1031 \r
1032 jTextFieldFdf.setEnabled(false);\r
1033 jButtonFdfBrowse.setEnabled(false);\r
1034 }\r
1035 }\r
1036 });\r
1037 }\r
1038 return jCheckBoxFdf;\r
1039 }\r
1040\r
1041 /**\r
1042 * This method initializes jTextField3 \r
1043 * \r
1044 * @return javax.swing.JTextField \r
1045 */\r
1046 private JTextField getJTextFieldFdf() {\r
1047 if (jTextFieldFdf == null) {\r
1048 jTextFieldFdf = new JTextField();\r
1049 jTextFieldFdf.setEnabled(false);\r
1050 jTextFieldFdf.setEditable(false);\r
1051 jTextFieldFdf.setPreferredSize(new Dimension(300, 20));\r
1052 jTextFieldFdf.addFocusListener(new java.awt.event.FocusAdapter() {\r
1053 public void focusLost(java.awt.event.FocusEvent e) {\r
1054 ffc.genFlashDefinitionFile(jTextFieldFdf.getText());\r
1055 }\r
1056 });\r
1057 }\r
1058 return jTextFieldFdf;\r
1059 }\r
1060\r
1061 /**\r
1062 * This method initializes jButton5 \r
1063 * \r
1064 * @return javax.swing.JButton \r
1065 */\r
1066 private JButton getJButtonFdfBrowse() {\r
1067 if (jButtonFdfBrowse == null) {\r
1068 jButtonFdfBrowse = new JButton();\r
1069 jButtonFdfBrowse.setEnabled(false);\r
1070 jButtonFdfBrowse.setText("Browse");\r
1071 jButtonFdfBrowse.setPreferredSize(new Dimension(78, 20));\r
1072 jButtonFdfBrowse.addActionListener(new AbstractAction(){\r
1073 /**\r
1074 * \r
1075 */\r
1076 private static final long serialVersionUID = 1L;\r
1077\r
1078 public void actionPerformed(ActionEvent e) {\r
1079 // TODO Auto-generated method stub\r
1080 String wsDir = System.getenv("WORKSPACE");\r
1081 JFileChooser chooser = new JFileChooser(wsDir);\r
1082 chooser.setMultiSelectionEnabled(false);\r
1083 chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);\r
1084 int retval = chooser.showOpenDialog(frame);\r
1085 if (retval == JFileChooser.APPROVE_OPTION) {\r
1086\r
1087 File theFile = chooser.getSelectedFile();\r
1088 String filePath = theFile.getPath();\r
1089 if (!filePath.startsWith(wsDir)) {\r
1090 JOptionPane.showMessageDialog(frame, "You can only select files in current WORKSPACE.");\r
1091 return;\r
1092 }\r
1093 jTextFieldFdf.setText(filePath.substring(wsDir.length() + 1).replace('\\', '/'));\r
1094 ffc.genFlashDefinitionFile(jTextFieldFdf.getText());\r
1095 docConsole.setSaved(false);\r
1096 initFvInFdfTable(filePath);\r
1097 }\r
1098 }\r
1099 \r
1100 });\r
1101 }\r
1102 return jButtonFdfBrowse;\r
1103 }\r
1104\r
1105 private void initFvInFdfTable(String fdfPath){\r
1106 Vector<FvInfoFromFdf> vFvInfo = new Vector<FvInfoFromFdf>();\r
1107 getFvInfoFromFdf(fdfPath, vFvInfo);\r
1108 getFvInFdfTableModel().setRowCount(0);\r
1109 for (int j = 0; j < vFvInfo.size(); ++j) {\r
1110 FvInfoFromFdf fvInfo = vFvInfo.get(j);\r
1111 String[] row = {fvInfo.getFvName(), fvInfo.getSize(), fvInfo.getEfiFileName()};\r
1112 getFvInFdfTableModel().addRow(row);\r
1113 }\r
1114\r
1115 for (int k = 0; k < vFvInfo.size(); ++k) {\r
1116 FvInfoFromFdf fvInfo = vFvInfo.get(k);\r
1117 addTabForFv(fvInfo);\r
1118 }\r
1119 }\r
1120 \r
1121 private void addTabForFv (FvInfoFromFdf fvInfo) {\r
1122 String fvName = fvInfo.getFvName();\r
1123 String outputFile = fvInfo.getEfiFileName();\r
1124 for (int i = 2; i < jTabbedPane.getTabCount(); ++i) {\r
1125 if (jTabbedPane.getTitleAt(i).equals(fvName)) {\r
1126 return;\r
1127 }\r
1128 }\r
1129 jTabbedPane.addTab(fvName, null, new ModuleOrderPane(fvName, outputFile), null);\r
1130 }\r
1131 /**\r
1132 * This method initializes jTextField4 \r
1133 * \r
1134 * @return javax.swing.JTextField \r
1135 */\r
1136 private JTextField getJTextFieldFvImageOptName() {\r
1137 if (jTextFieldFvImageOptName == null) {\r
1138 jTextFieldFvImageOptName = new JTextField();\r
1139 jTextFieldFvImageOptName.setEnabled(true);\r
1140 jTextFieldFvImageOptName.setPreferredSize(new Dimension(100, 20));\r
1141 }\r
1142 return jTextFieldFvImageOptName;\r
1143 }\r
1144\r
1145 /**\r
1146 * This method initializes jTextField5 \r
1147 * \r
1148 * @return javax.swing.JTextField \r
1149 */\r
1150 private JTextField getJTextFieldFvImageOptValue() {\r
1151 if (jTextFieldFvImageOptValue == null) {\r
1152 jTextFieldFvImageOptValue = new JTextField();\r
1153 jTextFieldFvImageOptValue.setEnabled(true);\r
1154 jTextFieldFvImageOptValue.setPreferredSize(new Dimension(100, 20));\r
1155 }\r
1156 return jTextFieldFvImageOptValue;\r
1157 }\r
1158\r
1159 /**\r
1160 * This method initializes jPanel8 \r
1161 * \r
1162 * @return javax.swing.JPanel \r
1163 */\r
1164 private JPanel getJPanelFvImageOptsButtonGroup() {\r
1165 if (jPanelFvImageOptsButtonGroup == null) {\r
1166 jPanelFvImageOptsButtonGroup = new JPanel();\r
1167 jPanelFvImageOptsButtonGroup.setPreferredSize(new Dimension(80, 55));\r
1168 jPanelFvImageOptsButtonGroup.add(getJButtonFvImageOptAdd(), null);\r
1169 jPanelFvImageOptsButtonGroup.add(getJButtonFvImageOptDel(), null);\r
1170 }\r
1171 return jPanelFvImageOptsButtonGroup;\r
1172 }\r
1173\r
1174 /**\r
1175 * This method initializes jButton7 \r
1176 * \r
1177 * @return javax.swing.JButton \r
1178 */\r
1179 private JButton getJButtonFvImageOptAdd() {\r
1180 if (jButtonFvImageOptAdd == null) {\r
1181 jButtonFvImageOptAdd = new JButton();\r
1182 jButtonFvImageOptAdd.setEnabled(true);\r
1183 jButtonFvImageOptAdd.setText("Add");\r
1184 jButtonFvImageOptAdd.setPreferredSize(new Dimension(80, 20));\r
1185 jButtonFvImageOptAdd.addActionListener(new AbstractAction() {\r
1186 /**\r
1187 * \r
1188 */\r
1189 private static final long serialVersionUID = 1L;\r
1190\r
1191 public void actionPerformed(ActionEvent e) {\r
1192 if (jTextFieldFvImageOptName.getText().length() > 0 && jTextFieldFvImageOptValue.getText().length() > 0){\r
1193 String[] row = {jTextFieldFvImageOptName.getText(), jTextFieldFvImageOptValue.getText()}; \r
1194 fvOptionTableModel.addRow(row);\r
1195 }\r
1196 }\r
1197 });\r
1198 }\r
1199 return jButtonFvImageOptAdd;\r
1200 }\r
1201\r
1202 /**\r
1203 * This method initializes jButton8 \r
1204 * \r
1205 * @return javax.swing.JButton \r
1206 */\r
1207 private JButton getJButtonFvImageOptDel() {\r
1208 if (jButtonFvImageOptDel == null) {\r
1209 jButtonFvImageOptDel = new JButton();\r
1210 jButtonFvImageOptDel.setEnabled(true);\r
1211 jButtonFvImageOptDel.setText("Delete");\r
1212 jButtonFvImageOptDel.setPreferredSize(new Dimension(80, 20));\r
1213 jButtonFvImageOptDel.addActionListener(new AbstractAction() {\r
1214 /**\r
1215 * \r
1216 */\r
1217 private static final long serialVersionUID = 1L;\r
1218\r
1219 public void actionPerformed(ActionEvent e) {\r
1220 if (jTableFvImageOpts.getSelectedRow() >= 0){\r
1221 fvOptionTableModel.removeRow(jTableFvProp.getSelectedRow());\r
1222 }\r
1223 }\r
1224 });\r
1225 }\r
1226 return jButtonFvImageOptDel;\r
1227 }\r
1228\r
1229 /**\r
1230 * This method initializes jScrollPane \r
1231 * \r
1232 * @return javax.swing.JScrollPane \r
1233 */\r
1234 private JScrollPane getJScrollPane() {\r
1235 if (jScrollPane == null) {\r
1236 jScrollPane = new JScrollPane();\r
1237 jScrollPane.setPreferredSize(new java.awt.Dimension(350,80));\r
1238 jScrollPane.setViewportView(getJTableFvImageOpts());\r
1239 }\r
1240 return jScrollPane;\r
1241 }\r
1242\r
1243 /**\r
1244 * This method initializes jTable3 \r
1245 * \r
1246 * @return javax.swing.JTable \r
1247 */\r
1248 private JTable getJTableFvImageOpts() {\r
1249 if (jTableFvImageOpts == null) {\r
1250 fvOptionTableModel = new DefaultTableModel();\r
1251 fvOptionTableModel.addColumn("Name");\r
1252 fvOptionTableModel.addColumn("Value");\r
1253 jTableFvImageOpts = new JTable(fvOptionTableModel);\r
1254\r
1255 jTableFvImageOpts.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
1256 jTableFvImageOpts.setRowHeight(20);\r
1257 \r
1258 }\r
1259 return jTableFvImageOpts;\r
1260 }\r
1261\r
1262 /**\r
1263 * This method initializes jButton9 \r
1264 * \r
1265 * @return javax.swing.JButton \r
1266 */\r
1267 private JButton getJButtonUpdateFvImage() {\r
1268 if (jButtonUpdateFvImage == null) {\r
1269 jButtonUpdateFvImage = new JButton();\r
1270 jButtonUpdateFvImage.setPreferredSize(new Dimension(120, 20));\r
1271 jButtonUpdateFvImage.setActionCommand("Update");\r
1272 jButtonUpdateFvImage.setText("Update FV");\r
1273 jButtonUpdateFvImage.addActionListener(new java.awt.event.ActionListener() {\r
1274 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1275 int row = jTableFvInfo.getSelectedRow();\r
1276 if (jTableFvInfo.isEditing()) {\r
1277 jTableFvInfo.getCellEditor().stopCellEditing();\r
1278 }\r
1279 if (jTableFvImageOpts.isEditing()) {\r
1280 jTableFvImageOpts.getCellEditor().stopCellEditing();\r
1281 }\r
1282 \r
1283 //ToDo Check data validity before update\r
1284 String name = fvImageParaTableModel.getValueAt(row, 0) + "";\r
1285 String type = fvImageParaTableModel.getValueAt(row, 1) + "";\r
1286 \r
1287 LinkedHashMap<String, String> lhm = new LinkedHashMap<String, String>();\r
1288 getOptionNameValue(lhm);\r
1289 \r
1290 docConsole.setSaved(false);\r
1291 ffc.updateFvImagesFvImage(row, name.split(" "), type, lhm);\r
1292 \r
1293 }\r
1294 });\r
1295 }\r
1296 return jButtonUpdateFvImage;\r
1297 }\r
1298\r
1299// private JButton getJButtonTest() {\r
1300// if (jButtonTest == null) {\r
1301// jButtonTest = new JButton();\r
1302// jButtonTest.addActionListener(new java.awt.event.ActionListener() {\r
1303// public void actionPerformed(java.awt.event.ActionEvent e) {\r
1304// docConsole.setSaved(false);\r
1305// String[][] includeModules = {{"1", "a"}, {"2", "b"}};\r
1306// ffc.genBuildOptionsUserExtensions("FV_RECOVERY", "FvRecovery.inf", null, includeModules);\r
1307// int i = ffc.getUserExtsIncModCount("FV_RECOVERY");\r
1308// String[][] saa = new String[i][2];\r
1309// ffc.getUserExtsIncMods("FV_RECOVERY", saa);\r
1310// jTextFieldFdf.setText(saa[0][0] + saa[0][1] + saa[1][0] + saa[1][1]);\r
1311// \r
1312// }\r
1313// });\r
1314// }\r
1315// return jButtonTest;\r
1316// }\r
1317\r
1318 /**\r
1319 * This method initializes jPanelFdfN \r
1320 * \r
1321 * @return javax.swing.JPanel \r
1322 */\r
1323 private JPanel getJPanelFdfN() {\r
1324 if (jPanelFdfN == null) {\r
1325 jPanelFdfN = new JPanel();\r
1326 jPanelFdfN.add(getJCheckBoxFdf(), null);\r
1327 jPanelFdfN.add(getJTextFieldFdf(), null);\r
1328 jPanelFdfN.add(getJButtonFdfBrowse(), null);\r
1329 }\r
1330 return jPanelFdfN;\r
1331 }\r
1332\r
1333 /**\r
1334 * This method initializes jPanelFdfS \r
1335 * \r
1336 * @return javax.swing.JPanel \r
1337 */\r
1338 private JPanel getJPanelFdfS() {\r
1339 if (jPanelFdfS == null) {\r
1340 FlowLayout flowLayout4 = new FlowLayout();\r
1341 flowLayout4.setAlignment(java.awt.FlowLayout.RIGHT);\r
1342 jPanelFdfS = new JPanel();\r
1343 jPanelFdfS.setLayout(flowLayout4);\r
1344 jPanelFdfS.add(getJButtonAddFv(), null);\r
1345 jPanelFdfS.add(getJButtonDelFv(), null);\r
1346 jPanelFdfS.add(getJButtonAddFvOptions(), null);\r
1347 }\r
1348 return jPanelFdfS;\r
1349 }\r
1350\r
1351 /**\r
1352 * This method initializes jSplitPaneFdfC \r
1353 * \r
1354 * @return javax.swing.JSplitPane \r
1355 */\r
1356 private JSplitPane getJSplitPaneFdfC() {\r
1357 if (jSplitPaneFdfC == null) {\r
1358 jSplitPaneFdfC = new JSplitPane();\r
1359 jSplitPaneFdfC.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);\r
1360 jSplitPaneFdfC.setDividerSize(5);\r
1361 jSplitPaneFdfC.setTopComponent(getJPanelFdfCTop());\r
1362 jSplitPaneFdfC.setBottomComponent(getJPanelFdfCBottom());\r
1363 jSplitPaneFdfC.setDividerLocation(280);\r
1364 }\r
1365 return jSplitPaneFdfC;\r
1366 }\r
1367\r
1368 /**\r
1369 * This method initializes jPanelFdfCTop \r
1370 * \r
1371 * @return javax.swing.JPanel \r
1372 */\r
1373 private JPanel getJPanelFdfCTop() {\r
1374 if (jPanelFdfCTop == null) {\r
1375 jPanelFdfCTop = new JPanel();\r
1376 jPanelFdfCTop.setLayout(new BorderLayout());\r
1377 jPanelFdfCTop.add(getJPanelFdfCTopN(), java.awt.BorderLayout.NORTH);\r
1378 jPanelFdfCTop.add(getJPanelFdfCTopS(), java.awt.BorderLayout.SOUTH);\r
1379 jPanelFdfCTop.add(getJPanelFdfCTopC(), java.awt.BorderLayout.CENTER);\r
1380 }\r
1381 return jPanelFdfCTop;\r
1382 }\r
1383\r
1384 /**\r
1385 * This method initializes jPanelFdfCBottom \r
1386 * \r
1387 * @return javax.swing.JPanel \r
1388 */\r
1389 private JPanel getJPanelFdfCBottom() {\r
1390 if (jPanelFdfCBottom == null) {\r
1391 jPanelFdfCBottom = new JPanel();\r
1392 jPanelFdfCBottom.setLayout(new BorderLayout());\r
1393 jPanelFdfCBottom.add(getJPanelFdfCBottomN(), java.awt.BorderLayout.NORTH);\r
1394 jPanelFdfCBottom.add(getJPanelFdfCBottomC(), java.awt.BorderLayout.CENTER);\r
1395 }\r
1396 return jPanelFdfCBottom;\r
1397 }\r
1398\r
1399 /**\r
1400 * This method initializes jPanelFdfCTopN \r
1401 * \r
1402 * @return javax.swing.JPanel \r
1403 */\r
1404 private JPanel getJPanelFdfCTopN() {\r
1405 if (jPanelFdfCTopN == null) {\r
1406 jLabelFvInFdf = new JLabel();\r
1407 jLabelFvInFdf.setText("FVs in Flash Definition File");\r
1408 jPanelFdfCTopN = new JPanel();\r
1409 jPanelFdfCTopN.add(jLabelFvInFdf, null);\r
1410 }\r
1411 return jPanelFdfCTopN;\r
1412 }\r
1413\r
1414 /**\r
1415 * This method initializes jPanelFdfCTopS \r
1416 * \r
1417 * @return javax.swing.JPanel \r
1418 */\r
1419 private JPanel getJPanelFdfCTopS() {\r
1420 if (jPanelFdfCTopS == null) {\r
1421 FlowLayout flowLayout1 = new FlowLayout();\r
1422 flowLayout1.setAlignment(java.awt.FlowLayout.RIGHT);\r
1423 jPanelFdfCTopS = new JPanel();\r
1424 jPanelFdfCTopS.setLayout(flowLayout1);\r
1425 jPanelFdfCTopS.add(getJButtonFvInFdfOptions(), null);\r
1426 }\r
1427 return jPanelFdfCTopS;\r
1428 }\r
1429\r
1430 /**\r
1431 * This method initializes jPanelFdfCTopC \r
1432 * \r
1433 * @return javax.swing.JPanel \r
1434 */\r
1435 private JPanel getJPanelFdfCTopC() {\r
1436 if (jPanelFdfCTopC == null) {\r
1437 jPanelFdfCTopC = new JPanel();\r
1438 jPanelFdfCTopC.add(getJScrollPaneFvInFdf(), null);\r
1439 }\r
1440 return jPanelFdfCTopC;\r
1441 }\r
1442\r
1443 /**\r
1444 * This method initializes jPanelFdfCBottomN \r
1445 * \r
1446 * @return javax.swing.JPanel \r
1447 */\r
1448 private JPanel getJPanelFdfCBottomN() {\r
1449 if (jPanelFdfCBottomN == null) {\r
1450 jLabelFvAdditional = new JLabel();\r
1451 jLabelFvAdditional.setText("Additional FVs");\r
1452 jPanelFdfCBottomN = new JPanel();\r
1453 jPanelFdfCBottomN.add(jLabelFvAdditional, null);\r
1454 }\r
1455 return jPanelFdfCBottomN;\r
1456 }\r
1457\r
1458 /**\r
1459 * This method initializes jPanelFdfCBottomC \r
1460 * \r
1461 * @return javax.swing.JPanel \r
1462 */\r
1463 private JPanel getJPanelFdfCBottomC() {\r
1464 if (jPanelFdfCBottomC == null) {\r
1465 jPanelFdfCBottomC = new JPanel();\r
1466 jPanelFdfCBottomC.add(getJScrollPaneFvAdditional(), null);\r
1467 }\r
1468 return jPanelFdfCBottomC;\r
1469 }\r
1470\r
1471 /**\r
1472 * This method initializes jScrollPaneFvInFdf \r
1473 * \r
1474 * @return javax.swing.JScrollPane \r
1475 */\r
1476 private JScrollPane getJScrollPaneFvInFdf() {\r
1477 if (jScrollPaneFvInFdf == null) {\r
1478 jScrollPaneFvInFdf = new JScrollPane();\r
1479 jScrollPaneFvInFdf.setPreferredSize(new java.awt.Dimension(653,200));\r
1480 jScrollPaneFvInFdf.setViewportView(getJTableFvInFdf());\r
1481 }\r
1482 return jScrollPaneFvInFdf;\r
1483 }\r
1484\r
1485 /**\r
1486 * This method initializes jTableFvInFdf \r
1487 * \r
1488 * @return javax.swing.JTable \r
1489 */\r
1490 private JTable getJTableFvInFdf() {\r
1491 if (jTableFvInFdf == null) {\r
1492 jTableFvInFdf = new JTable();\r
1493 jTableFvInFdf.setRowHeight(20);\r
1494 jTableFvInFdf.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);\r
1495 jTableFvInFdf.setModel(getFvInFdfTableModel());\r
1496 }\r
1497 return jTableFvInFdf;\r
1498 }\r
1499\r
1500 /**\r
1501 * This method initializes fvInFdfTableModel \r
1502 * \r
1503 * @return org.tianocore.frameworkwizard.platform.ui.NonEditableTableModel \r
1504 */\r
1505 private NonEditableTableModel getFvInFdfTableModel() {\r
1506 if (fvInFdfTableModel == null) {\r
1507 fvInFdfTableModel = new NonEditableTableModel();\r
1508 fvInFdfTableModel.addColumn("FV Name");\r
1509 fvInFdfTableModel.addColumn("Size");\r
1510 fvInFdfTableModel.addColumn("Corresponding File Name");\r
1511 }\r
1512 return fvInFdfTableModel;\r
1513 }\r
1514\r
1515 /**\r
1516 * This method initializes jButtonFvInFdfOptions \r
1517 * \r
1518 * @return javax.swing.JButton \r
1519 */\r
1520 private JButton getJButtonFvInFdfOptions() {\r
1521 if (jButtonFvInFdfOptions == null) {\r
1522 jButtonFvInFdfOptions = new JButton();\r
1523 jButtonFvInFdfOptions.setPreferredSize(new java.awt.Dimension(80,20));\r
1524 jButtonFvInFdfOptions.setEnabled(false);\r
1525 jButtonFvInFdfOptions.setText("Options");\r
1526 jButtonFvInFdfOptions.addActionListener(new java.awt.event.ActionListener() {\r
1527 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1528 int selectedRow = jTableFvInFdf.getSelectedRow();\r
1529 if (selectedRow < 0) {\r
1530 return;\r
1531 }\r
1532 }\r
1533 });\r
1534 }\r
1535 return jButtonFvInFdfOptions;\r
1536 }\r
1537\r
1538 /**\r
1539 * This method initializes jScrollPaneFvAdditional \r
1540 * \r
1541 * @return javax.swing.JScrollPane \r
1542 */\r
1543 private JScrollPane getJScrollPaneFvAdditional() {\r
1544 if (jScrollPaneFvAdditional == null) {\r
1545 jScrollPaneFvAdditional = new JScrollPane();\r
1546 jScrollPaneFvAdditional.setPreferredSize(new java.awt.Dimension(653,200));\r
1547 jScrollPaneFvAdditional.setViewportView(getJTableFvAdditional());\r
1548 }\r
1549 return jScrollPaneFvAdditional;\r
1550 }\r
1551\r
1552 /**\r
1553 * This method initializes jTableFvAdditional \r
1554 * \r
1555 * @return javax.swing.JTable \r
1556 */\r
1557 private JTable getJTableFvAdditional() {\r
1558 if (jTableFvAdditional == null) {\r
1559 jTableFvAdditional = new JTable();\r
1560 jTableFvAdditional.setRowHeight(20);\r
1561 jTableFvAdditional.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);\r
1562 jTableFvAdditional.setModel(getFvAddtionalTableModel());\r
1563 }\r
1564 return jTableFvAdditional;\r
1565 }\r
1566\r
1567 /**\r
1568 * This method initializes fvAddtionalTableModel \r
1569 * \r
1570 * @return javax.swing.table.DefaultTableModel \r
1571 */\r
1572 private DefaultTableModel getFvAddtionalTableModel() {\r
1573 if (fvAddtionalTableModel == null) {\r
1574 fvAddtionalTableModel = new DefaultTableModel();\r
1575 fvAddtionalTableModel.addColumn("FV Name");\r
1576 fvAddtionalTableModel.addColumn("Size");\r
1577 fvAddtionalTableModel.addColumn("Corresponding File Name");\r
1578 }\r
1579 return fvAddtionalTableModel;\r
1580 }\r
1581\r
1582 /**\r
1583 * This method initializes jButtonAddFv \r
1584 * \r
1585 * @return javax.swing.JButton \r
1586 */\r
1587 private JButton getJButtonAddFv() {\r
1588 if (jButtonAddFv == null) {\r
1589 jButtonAddFv = new JButton();\r
1590 jButtonAddFv.setPreferredSize(new java.awt.Dimension(80,20));\r
1591 jButtonAddFv.setEnabled(false);\r
1592 jButtonAddFv.setText("New");\r
1593 jButtonAddFv.addActionListener(new java.awt.event.ActionListener() {\r
1594 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1595 System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()\r
1596 }\r
1597 });\r
1598 }\r
1599 return jButtonAddFv;\r
1600 }\r
1601\r
1602 /**\r
1603 * This method initializes jButtonDelFv \r
1604 * \r
1605 * @return javax.swing.JButton \r
1606 */\r
1607 private JButton getJButtonDelFv() {\r
1608 if (jButtonDelFv == null) {\r
1609 jButtonDelFv = new JButton();\r
1610 jButtonDelFv.setPreferredSize(new java.awt.Dimension(80,20));\r
1611 jButtonDelFv.setEnabled(false);\r
1612 jButtonDelFv.setText("Delete");\r
1613 jButtonDelFv.addActionListener(new java.awt.event.ActionListener() {\r
1614 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1615 System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()\r
1616 }\r
1617 });\r
1618 }\r
1619 return jButtonDelFv;\r
1620 }\r
1621\r
1622 /**\r
1623 * This method initializes jButtonAddFvOptions \r
1624 * \r
1625 * @return javax.swing.JButton \r
1626 */\r
1627 private JButton getJButtonAddFvOptions() {\r
1628 if (jButtonAddFvOptions == null) {\r
1629 jButtonAddFvOptions = new JButton();\r
1630 jButtonAddFvOptions.setPreferredSize(new java.awt.Dimension(80,20));\r
1631 jButtonAddFvOptions.setEnabled(false);\r
1632 jButtonAddFvOptions.setText("Options");\r
1633 jButtonAddFvOptions.addActionListener(new java.awt.event.ActionListener() {\r
1634 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1635 System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()\r
1636 }\r
1637 });\r
1638 }\r
1639 return jButtonAddFvOptions;\r
1640 }\r
1641 \r
1642 /**\r
1643 * @param args\r
1644 */\r
1645 public static void main(String[] args) {\r
1646 // TODO Auto-generated method stub\r
1647 new FpdFlash().setVisible(true);\r
1648 }\r
1649\r
1650 /**\r
1651 * This method initializes this\r
1652 * \r
1653 * @return void\r
1654 */\r
1655 private void initialize() {\r
1656 this.setSize(518, 650);\r
1657 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
1658 this.setContentPane(getJContentPane());\r
1659 this.setTitle("FPD Flash Definitions");\r
1660 this.addInternalFrameListener(new InternalFrameAdapter(){\r
1661 public void internalFrameDeactivated(InternalFrameEvent e){\r
1662 if (jTableFvProp.isEditing()) {\r
1663 jTableFvProp.getCellEditor().stopCellEditing();\r
1664 }\r
1665 if (jTableFvImageNames.isEditing()) {\r
1666 jTableFvImageNames.getCellEditor().stopCellEditing();\r
1667 }\r
1668 if (jTableFvInfo.isEditing()) {\r
1669 jTableFvInfo.getCellEditor().stopCellEditing();\r
1670 }\r
1671 }\r
1672 });\r
1673 }\r
1674\r
1675 private void init(FpdFileContents ffc) {\r
1676 if (ffc.getFvImagesFvImageCount() == 0) {\r
1677 return;\r
1678 }\r
1679 String[][] saa = new String[ffc.getFvImagesFvImageCount()][2];\r
1680 ffc.getFvImagesFvImages(saa);\r
1681 \r
1682 int i = 0;\r
1683 while (i < saa.length) {\r
1684 \r
1685 fvImageParaTableModel.addRow(saa[i]);\r
1686 ++i;\r
1687 }\r
1688 \r
1689 saa = new String[ffc.getFvImagesNameValueCount()][2];\r
1690 ffc.getFvImagesNameValues(saa);\r
1691 for (int m = 0; m < saa.length; ++m) {\r
1692 fvPropertyTableModel.addRow(saa[m]);\r
1693 }\r
1694 \r
1695 jTextFieldFdf.setText("");\r
1696 String fdfFile = ffc.getFlashDefinitionFile();\r
1697 if (fdfFile != null) {\r
1698 jTextFieldFdf.setText(fdfFile);\r
1699 }\r
1700 \r
1701 String fdfPath = System.getenv("WORKSPACE") + File.separator + fdfFile;\r
1702 initFvInFdfTable(fdfPath);\r
1703 }\r
1704 \r
1705 private void getOptionNameValue(Map<String, String> m){\r
1706 for (int i = 0; i < jTableFvImageOpts.getRowCount(); ++i) {\r
1707 m.put(fvOptionTableModel.getValueAt(i, 0)+"", fvOptionTableModel.getValueAt(i, 1)+"");\r
1708 }\r
1709 }\r
1710 /**\r
1711 * This method initializes jContentPane\r
1712 * \r
1713 * @return javax.swing.JPanel\r
1714 */\r
1715 private JPanel getJContentPane() {\r
1716 if (jContentPane == null) {\r
1717 jContentPane = new JPanel();\r
1718 jContentPane.setLayout(new BorderLayout());\r
1719 jContentPane.add(getJPanelContentEast(), java.awt.BorderLayout.EAST);\r
1720 jContentPane.add(getJPanelContentSouth(), java.awt.BorderLayout.SOUTH);\r
1721 jContentPane.add(getJPanelContentWest(), java.awt.BorderLayout.WEST);\r
1722 jContentPane.add(getJPanelContentNorth(), java.awt.BorderLayout.NORTH);\r
1723 jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER);\r
1724 }\r
1725 return jContentPane;\r
1726 }\r
1727 \r
1728 private void getFvInfoFromFdf(String fdfPath, Vector<FvInfoFromFdf> vFvInfo) {\r
1729 File fdf = new File(fdfPath);\r
1730 if (!fdf.exists()) {\r
1731 return;\r
1732 }\r
1733 int lines = 0;\r
1734\r
1735 try {\r
1736 FileReader reader = new FileReader(fdf);\r
1737 BufferedReader in = new BufferedReader(reader);\r
1738 String str;\r
1739\r
1740 while ((str = in.readLine()) != null) {\r
1741 ++lines;\r
1742 str = str.trim();\r
1743 //\r
1744 // skip empty line, comment (start with //) \r
1745 //\r
1746 if (str.length() == 0 || str.startsWith("//")) {\r
1747 continue;\r
1748 }\r
1749 //\r
1750 // dig into Region {} section, create FvInfoFromFdf object for it.\r
1751 //\r
1752 if (str.startsWith("Region") && str.endsWith("{")) {\r
1753 FvInfoFromFdf fvInfo = new FvInfoFromFdf();\r
1754 boolean nameFound = false;\r
1755 boolean sizeFound = false;\r
1756 while ((str = in.readLine()) != null) {\r
1757 ++lines;\r
1758 str = str.trim();\r
1759 //\r
1760 // skip empty line, comment (start with //) \r
1761 //\r
1762 if (str.length() == 0 || str.startsWith("//")) {\r
1763 continue;\r
1764 }\r
1765 \r
1766 if (str.startsWith("Name")) {\r
1767 int firstQuote = str.indexOf("\"");\r
1768 int lastQuote = str.lastIndexOf("\"");\r
1769 fvInfo.setFvName(str.substring(firstQuote + 1, lastQuote));\r
1770 nameFound = true;\r
1771 }\r
1772 \r
1773 if (str.startsWith("Size")) {\r
1774 int equalIndex = str.indexOf("=");\r
1775 int commaIndex = str.indexOf(",");\r
1776 fvInfo.setSize(str.substring(equalIndex + 1, commaIndex).trim());\r
1777 sizeFound = true;\r
1778 }\r
1779 \r
1780 if (nameFound && sizeFound) {\r
1781 break;\r
1782 }\r
1783 }\r
1784 \r
1785 vFvInfo.add(fvInfo);\r
1786 }\r
1787 //\r
1788 // dig into File {} section, supply file name information to existing FvInfoFromFdf object.\r
1789 //\r
1790 if (str.startsWith("File")) {\r
1791 boolean fileNameFound = false;\r
1792 boolean fvFound = false;\r
1793 String fileName = "";\r
1794 String fvName = "";\r
1795 while ((str = in.readLine()) != null) {\r
1796 ++lines;\r
1797 str = str.trim();\r
1798 //\r
1799 // skip empty line, comment (start with //) \r
1800 //\r
1801 if (str.length() == 0 || str.startsWith("//")) {\r
1802 continue;\r
1803 }\r
1804 \r
1805 if (str.startsWith("Name")) {\r
1806 int firstQuote = str.indexOf("\"");\r
1807 int lastQuote = str.lastIndexOf("\"");\r
1808 fileName = str.substring(firstQuote + 1, lastQuote);\r
1809 fileNameFound = true;\r
1810 }\r
1811 \r
1812 if (str.startsWith("Region")) {\r
1813 int firstQuote = str.indexOf("\"");\r
1814 int lastQuote = str.lastIndexOf("\"");\r
1815 fvName = str.substring(firstQuote + 1, lastQuote);\r
1816 fvFound = true;\r
1817 }\r
1818 \r
1819 if (fileNameFound && fvFound) {\r
1820 break;\r
1821 }\r
1822 }\r
1823 \r
1824 for (int i = 0; i <vFvInfo.size(); ++i) {\r
1825 if (vFvInfo.get(i).getFvName().equals(fvName)) {\r
1826 vFvInfo.get(i).setEfiFileName(fileName);\r
1827 }\r
1828 }\r
1829 }\r
1830 \r
1831 }\r
1832 \r
1833 reader.close();\r
1834 in.close();\r
1835 }\r
1836 catch (Exception e) {\r
1837 \r
1838 }\r
1839\r
1840 }\r
1841 \r
1842 private class ModuleOrderPane extends JPanel {\r
1843\r
1844 /**\r
1845 * \r
1846 */\r
1847 private static final long serialVersionUID = 1L;\r
1848 private JPanel jPanelModOrderN = null;\r
1849 private JPanel jPanelModOrderS = null;\r
1850 private JPanel jPanelModOrderC = null;\r
1851 private JScrollPane jScrollPaneModInFv = null;\r
1852 private JTable jTableModInFv = null;\r
1853 private JPanel jPanelController = null;\r
1854 private JScrollPane jScrollPaneFpdModules = null;\r
1855 private JTable jTableFpdModules = null;\r
1856 private JButton jButtonUp = null;\r
1857 private JButton jButtonInsert = null;\r
1858 private JButton jButtonRemove = null;\r
1859 private JButton jButtonDown = null;\r
1860 private JButton jButtonOk = null;\r
1861 private JButton jButtonCancel = null;\r
1862 private NonEditableTableModel modInFvTableModel = null;\r
1863 private NonEditableTableModel fpdModTableModel = null;\r
1864 private HashMap<String, ModuleIdentification> mGuidToModuleId = null;\r
1865 private ArrayList<String> listModGuidInFv = null;\r
1866 private String title = null;\r
1867 private String outputFileName = null;\r
1868 \r
1869 public ModuleOrderPane(String tabTitle, String file) {\r
1870 super(new BorderLayout());\r
1871 title = tabTitle;\r
1872 outputFileName = file;\r
1873 mGuidToModuleId = new HashMap<String, ModuleIdentification>();\r
1874 listModGuidInFv = new ArrayList<String>();\r
1875 add(getJPanelModOrderN(), java.awt.BorderLayout.NORTH);\r
1876 add(getJPanelModOrderS(), java.awt.BorderLayout.SOUTH);\r
1877 add(getJPanelModOrderC(), java.awt.BorderLayout.CENTER);\r
1878 showModulesInFv(title);\r
1879 showAllModulesInPlatform();\r
1880 }\r
1881 \r
1882 private void showModulesInFv(String fvName) {\r
1883 int size = ffc.getUserExtsIncModCount(fvName);\r
1884 \r
1885 if (size != -1) {\r
1886 String[][] saa = new String[size][2];\r
1887 ffc.getUserExtsIncMods(fvName, saa);\r
1888\r
1889 for (int i = 0; i < size; ++i) {\r
1890 listModGuidInFv.add(saa[i][0].toLowerCase());\r
1891 String name = getModuleName(saa[i][0]);\r
1892 String[] row = { name };\r
1893 modInFvTableModel.addRow(row);\r
1894 }\r
1895 }\r
1896 //\r
1897 // From ModuleSAs, get module guids with FvBinding = fvName.\r
1898 //\r
1899 Vector<String> vGuid = new Vector<String>();\r
1900 ffc.getFrameworkModuleGuid(fvName, vGuid);\r
1901 //\r
1902 // If BuildOptions->UserExtensions already contain these module info,\r
1903 // no need to add them into table again.\r
1904 //\r
1905 Iterator<String> iter = vGuid.iterator();\r
1906 while (iter.hasNext()){\r
1907 String guid = iter.next();\r
1908// String moduleName = getModuleName(guid);\r
1909// if (existedInTable(moduleName, modInFvTableModel)) {\r
1910// vGuid.remove(guid);\r
1911// }\r
1912 if (!listModGuidInFv.contains(guid.toLowerCase())) {\r
1913 String[] row = {getModuleName(guid)};\r
1914 modInFvTableModel.addRow(row);\r
1915 }\r
1916 }\r
1917\r
1918 }\r
1919 \r
1920 private void showAllModulesInPlatform() {\r
1921 int size = ffc.getFrameworkModulesCount();\r
1922 String[][] saa = new String[size][5];\r
1923 ffc.getFrameworkModulesInfo(saa);\r
1924 \r
1925 for (int i = 0; i < size; ++i) {\r
1926 String name = getModuleName(saa[i][0]);\r
1927 if (existedInTable(name, modInFvTableModel) || existedInTable(name, fpdModTableModel)) {\r
1928 continue;\r
1929 }\r
1930 String[] row = {name};\r
1931 fpdModTableModel.addRow(row);\r
1932 }\r
1933 \r
1934 TableSorter sorter = (TableSorter)jTableFpdModules.getModel();\r
1935 sorter.setSortState(0, TableSorter.ASCENDING);\r
1936 }\r
1937 \r
1938 private String getModuleName (String guid) {\r
1939 \r
1940 for (int i = 0; i < GlobalData.vModuleList.size(); ++i) {\r
1941 ModuleIdentification mi = GlobalData.vModuleList.get(i);\r
1942 String mg = mi.getGuid();\r
1943 if (mg == null) {\r
1944 continue;\r
1945 }\r
1946 if (mg.equalsIgnoreCase(guid)) {\r
1947 mGuidToModuleId.put(guid.toLowerCase(), mi);\r
1948 return mi.getName();\r
1949 }\r
1950 }\r
1951 \r
1952 return "";\r
1953 }\r
1954 \r
1955 private boolean existedInTable (String name, DefaultTableModel model) {\r
1956 int size = model.getDataVector().size();\r
1957 for (int i = 0; i < size; ++i) {\r
1958 if (((Vector)model.getDataVector().elementAt(i)).contains(name)) {\r
1959 return true;\r
1960 }\r
1961 }\r
1962 return false;\r
1963 }\r
1964 \r
1965 \r
1966 \r
1967 /**\r
1968 * This method initializes jPanelModOrderN \r
1969 * \r
1970 * @return javax.swing.JPanel \r
1971 */\r
1972 private JPanel getJPanelModOrderN() {\r
1973 if (jPanelModOrderN == null) {\r
1974 jPanelModOrderN = new JPanel();\r
1975 }\r
1976 return jPanelModOrderN;\r
1977 }\r
1978\r
1979 /**\r
1980 * This method initializes jPanelModOrderS \r
1981 * \r
1982 * @return javax.swing.JPanel \r
1983 */\r
1984 private JPanel getJPanelModOrderS() {\r
1985 if (jPanelModOrderS == null) {\r
1986 FlowLayout flowLayout6 = new FlowLayout();\r
1987 flowLayout6.setAlignment(java.awt.FlowLayout.RIGHT);\r
1988 jPanelModOrderS = new JPanel();\r
1989 jPanelModOrderS.setLayout(flowLayout6);\r
1990 jPanelModOrderS.add(getJButtonOk(), null);\r
1991 jPanelModOrderS.add(getJButtonCancel(), null);\r
1992 }\r
1993 return jPanelModOrderS;\r
1994 }\r
1995\r
1996 /**\r
1997 * This method initializes jPanelModOrderC \r
1998 * \r
1999 * @return javax.swing.JPanel \r
2000 */\r
2001 private JPanel getJPanelModOrderC() {\r
2002 if (jPanelModOrderC == null) {\r
2003 jPanelModOrderC = new JPanel();\r
2004 jPanelModOrderC.add(getJScrollPaneModInFv(), null);\r
2005 jPanelModOrderC.add(getJPanelController(), null);\r
2006 jPanelModOrderC.add(getJScrollPaneFpdModules(), null);\r
2007 }\r
2008 return jPanelModOrderC;\r
2009 }\r
2010\r
2011 /**\r
2012 * This method initializes jScrollPaneModInFv \r
2013 * \r
2014 * @return javax.swing.JScrollPane \r
2015 */\r
2016 private JScrollPane getJScrollPaneModInFv() {\r
2017 if (jScrollPaneModInFv == null) {\r
2018 jScrollPaneModInFv = new JScrollPane();\r
2019 jScrollPaneModInFv.setPreferredSize(new java.awt.Dimension(200,500));\r
2020 jScrollPaneModInFv.setViewportView(getJTableModInFv());\r
2021 }\r
2022 return jScrollPaneModInFv;\r
2023 }\r
2024\r
2025 /**\r
2026 * This method initializes jTableModInFv \r
2027 * \r
2028 * @return javax.swing.JTable \r
2029 */\r
2030 private JTable getJTableModInFv() {\r
2031 if (jTableModInFv == null) {\r
2032 modInFvTableModel = new NonEditableTableModel();\r
2033 modInFvTableModel.addColumn("Module Orders in FV");\r
2034 jTableModInFv = new JTable(modInFvTableModel);\r
2035 jTableModInFv.setRowHeight(20);\r
2036 jTableModInFv.setShowGrid(false);\r
2037 \r
2038 }\r
2039 return jTableModInFv;\r
2040 }\r
2041\r
2042 /**\r
2043 * This method initializes jPanelController \r
2044 * \r
2045 * @return javax.swing.JPanel \r
2046 */\r
2047 private JPanel getJPanelController() {\r
2048 if (jPanelController == null) {\r
2049 FlowLayout flowLayout5 = new FlowLayout();\r
2050 flowLayout5.setVgap(50);\r
2051 flowLayout5.setHgap(50);\r
2052 jPanelController = new JPanel();\r
2053 jPanelController.setLayout(flowLayout5);\r
2054 jPanelController.setPreferredSize(new java.awt.Dimension(150,500));\r
2055 jPanelController.add(getJButtonUp(), null);\r
2056 jPanelController.add(getJButtonInsert(), null);\r
2057 jPanelController.add(getJButtonRemove(), null);\r
2058 jPanelController.add(getJButtonDown(), null);\r
2059 }\r
2060 return jPanelController;\r
2061 }\r
2062\r
2063 /**\r
2064 * This method initializes jScrollPaneFpdModules \r
2065 * \r
2066 * @return javax.swing.JScrollPane \r
2067 */\r
2068 private JScrollPane getJScrollPaneFpdModules() {\r
2069 if (jScrollPaneFpdModules == null) {\r
2070 jScrollPaneFpdModules = new JScrollPane();\r
2071 jScrollPaneFpdModules.setPreferredSize(new java.awt.Dimension(200,500));\r
2072 jScrollPaneFpdModules.setViewportView(getJTableFpdModules());\r
2073 }\r
2074 return jScrollPaneFpdModules;\r
2075 }\r
2076\r
2077 /**\r
2078 * This method initializes jTableFpdModules \r
2079 * \r
2080 * @return javax.swing.JTable \r
2081 */\r
2082 private JTable getJTableFpdModules() {\r
2083 if (jTableFpdModules == null) {\r
2084 fpdModTableModel = new NonEditableTableModel();\r
2085 TableSorter sorter = new TableSorter(fpdModTableModel);\r
2086 jTableFpdModules = new JTable(sorter);\r
2087 jTableFpdModules.setRowHeight(20);\r
2088 jTableFpdModules.setShowGrid(false);\r
2089 fpdModTableModel.addColumn("Modules in Platform");\r
2090\r
2091 }\r
2092 return jTableFpdModules;\r
2093 }\r
2094\r
2095 /**\r
2096 * This method initializes jButtonUp \r
2097 * \r
2098 * @return javax.swing.JButton \r
2099 */\r
2100 private JButton getJButtonUp() {\r
2101 if (jButtonUp == null) {\r
2102 jButtonUp = new JButton();\r
2103 jButtonUp.setPreferredSize(new java.awt.Dimension(60,20));\r
2104 jButtonUp.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 14));\r
2105 jButtonUp.setText("^");\r
2106 jButtonUp.addActionListener(new java.awt.event.ActionListener() {\r
2107 public void actionPerformed(java.awt.event.ActionEvent e) {\r
2108 int selectedRow = jTableModInFv.getSelectedRow();\r
2109 if (selectedRow <= 0) {\r
2110 return;\r
2111 }\r
2112 modInFvTableModel.moveRow(selectedRow, selectedRow, selectedRow - 1);\r
2113 jTableModInFv.changeSelection(selectedRow - 1, 0, false, false);\r
2114 }\r
2115 });\r
2116 }\r
2117 return jButtonUp;\r
2118 }\r
2119\r
2120 /**\r
2121 * This method initializes jButtonInsert \r
2122 * \r
2123 * @return javax.swing.JButton \r
2124 */\r
2125 private JButton getJButtonInsert() {\r
2126 if (jButtonInsert == null) {\r
2127 jButtonInsert = new JButton();\r
2128 jButtonInsert.setText("<<");\r
2129 jButtonInsert.setPreferredSize(new java.awt.Dimension(60,20));\r
2130 jButtonInsert.addActionListener(new java.awt.event.ActionListener() {\r
2131 public void actionPerformed(java.awt.event.ActionEvent e) {\r
2132 int selectedRowRight = jTableFpdModules.getSelectedRow();\r
2133 if (selectedRowRight < 0) {\r
2134 return;\r
2135 }\r
2136 \r
2137 int rowInModel = ((TableSorter)jTableFpdModules.getModel()).getModelRowIndex(selectedRowRight);\r
2138 \r
2139 String[] row = {jTableFpdModules.getValueAt(selectedRowRight, 0)+""};\r
2140 int selectedRowLeft = jTableModInFv.getSelectedRow();\r
2141 if (selectedRowLeft < 0) {\r
2142 modInFvTableModel.addRow(row);\r
2143 jTableModInFv.changeSelection(jTableModInFv.getRowCount() - 1, 0, false, false);\r
2144 }\r
2145 else {\r
2146 modInFvTableModel.insertRow(selectedRowLeft, row);\r
2147 jTableModInFv.changeSelection(selectedRowLeft, 0, false, false);\r
2148 }\r
2149 fpdModTableModel.removeRow(rowInModel);\r
2150 }\r
2151 });\r
2152 }\r
2153 return jButtonInsert;\r
2154 }\r
2155\r
2156 /**\r
2157 * This method initializes jButtonRemove \r
2158 * \r
2159 * @return javax.swing.JButton \r
2160 */\r
2161 private JButton getJButtonRemove() {\r
2162 if (jButtonRemove == null) {\r
2163 jButtonRemove = new JButton();\r
2164 jButtonRemove.setPreferredSize(new java.awt.Dimension(60,20));\r
2165 jButtonRemove.setText(">>");\r
2166 jButtonRemove.addActionListener(new java.awt.event.ActionListener() {\r
2167 public void actionPerformed(java.awt.event.ActionEvent e) {\r
2168 int selectedRowLeft = jTableModInFv.getSelectedRow();\r
2169 if (selectedRowLeft < 0) {\r
2170 return;\r
2171 }\r
2172 \r
2173 String[] row = {jTableModInFv.getValueAt(selectedRowLeft, 0)+""};\r
2174 fpdModTableModel.addRow(row);\r
2175 int viewIndex = ((TableSorter) jTableFpdModules.getModel()).getViewIndexArray()[jTableFpdModules\r
2176 .getRowCount() - 1];\r
2177 jTableFpdModules.changeSelection(viewIndex, 0, false, false);\r
2178 modInFvTableModel.removeRow(selectedRowLeft);\r
2179 }\r
2180 });\r
2181 }\r
2182 return jButtonRemove;\r
2183 }\r
2184\r
2185 /**\r
2186 * This method initializes jButtonDown \r
2187 * \r
2188 * @return javax.swing.JButton \r
2189 */\r
2190 private JButton getJButtonDown() {\r
2191 if (jButtonDown == null) {\r
2192 jButtonDown = new JButton();\r
2193 jButtonDown.setPreferredSize(new java.awt.Dimension(60,20));\r
2194 jButtonDown.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 10));\r
2195 jButtonDown.setText("v");\r
2196 jButtonDown.addActionListener(new java.awt.event.ActionListener() {\r
2197 public void actionPerformed(java.awt.event.ActionEvent e) {\r
2198 int selectedRow = jTableModInFv.getSelectedRow();\r
2199 if (selectedRow >= jTableModInFv.getRowCount() - 1) {\r
2200 return;\r
2201 }\r
2202 modInFvTableModel.moveRow(selectedRow, selectedRow, selectedRow + 1);\r
2203 jTableModInFv.changeSelection(selectedRow + 1, 0, false, false);\r
2204 }\r
2205 });\r
2206 }\r
2207 return jButtonDown;\r
2208 }\r
2209 \r
2210 /**\r
2211 * This method initializes jButtonOk \r
2212 * \r
2213 * @return javax.swing.JButton \r
2214 */\r
2215 private JButton getJButtonOk() {\r
2216 if (jButtonOk == null) {\r
2217 jButtonOk = new JButton();\r
2218 jButtonOk.setPreferredSize(new java.awt.Dimension(80,20));\r
2219 jButtonOk.setText("Save");\r
2220 jButtonOk.addActionListener(new java.awt.event.ActionListener() {\r
2221 public void actionPerformed(java.awt.event.ActionEvent e) {\r
2222 // need reset FvBindings in ModuleSA.\r
2223 ffc.removeFvBindingAll(title);\r
2224 //\r
2225 // collect module order information to store them into <BuildOptions> -> <UserExtensions>.\r
2226 // also update the FvBinding info in <ModuleSA>.\r
2227 //\r
2228 Vector<String[]> vModInFv = new Vector<String[]>();\r
2229 for (int i = 0; i < jTableModInFv.getRowCount(); ++i) {\r
2230 String moduleName = jTableModInFv.getValueAt(i, 0)+"";\r
2231 if (moduleName.length() == 0) {\r
2232 continue;\r
2233 }\r
2234 ModuleIdentification mi = null;\r
2235 Set<String> key = mGuidToModuleId.keySet();\r
2236 Iterator<String> iter = key.iterator();\r
2237 while (iter.hasNext()) {\r
2238 String guid = iter.next();\r
2239 mi = mGuidToModuleId.get(guid);\r
2240 if (mi.getName().equals(moduleName)) {\r
2241 String[] sa = {guid, WorkspaceProfile.getModuleBaseName(mi)};\r
2242 vModInFv.add(sa);\r
2243 ffc.updateFvBindingInModuleSA (mi, title);\r
2244 break;\r
2245 }\r
2246 }\r
2247 \r
2248 }\r
2249 ffc.removeBuildOptionsUserExtensions(title);\r
2250 ffc.genBuildOptionsUserExtensions(title, outputFileName, vModInFv);\r
2251 \r
2252 docConsole.setSaved(false);\r
2253 jTabbedPane.setSelectedIndex(0);\r
2254 }\r
2255 });\r
2256 }\r
2257 return jButtonOk;\r
2258 }\r
2259\r
2260 /**\r
2261 * This method initializes jButtonCancel \r
2262 * \r
2263 * @return javax.swing.JButton \r
2264 */\r
2265 private JButton getJButtonCancel() {\r
2266 if (jButtonCancel == null) {\r
2267 jButtonCancel = new JButton();\r
2268 jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20));\r
2269 jButtonCancel.setText("Cancel");\r
2270 jButtonCancel.addActionListener(new java.awt.event.ActionListener() {\r
2271 public void actionPerformed(java.awt.event.ActionEvent e) {\r
2272 jTabbedPane.setSelectedIndex(0);\r
2273 }\r
2274 });\r
2275 }\r
2276 return jButtonCancel;\r
2277 }\r
2278 }\r
2279\r
2280} // @jve:decl-index=0:visual-constraint="10,10"\r
2281\r
2282class ImageParaTableModel extends DefaultTableModel {\r
2283\r
2284 private static final long serialVersionUID = 1L;\r
2285 \r
2286 public boolean isCellEditable(int row, int col) {\r
2287 if (getValueAt(row, 1).equals("ImageName") && col >=1) {\r
2288 return false;\r
2289 }\r
2290 return true;\r
2291 }\r
2292}\r
2293\r
2294class FvInfoFromFdf {\r
2295 private String fvName;\r
2296 private String size;\r
2297 private String efiFileName;\r
2298 \r
2299 public FvInfoFromFdf () {\r
2300 fvName = "";\r
2301 size = "";\r
2302 efiFileName = "";\r
2303 }\r
2304 public FvInfoFromFdf (String f, String s, String e) {\r
2305 this();\r
2306 fvName = f;\r
2307 size = s;\r
2308 efiFileName = e;\r
2309 }\r
2310 public String getEfiFileName() {\r
2311 return efiFileName;\r
2312 }\r
2313 public void setEfiFileName(String efiFileName) {\r
2314 this.efiFileName = efiFileName;\r
2315 }\r
2316 public String getFvName() {\r
2317 return fvName;\r
2318 }\r
2319 public void setFvName(String fvName) {\r
2320 this.fvName = fvName;\r
2321 }\r
2322 public String getSize() {\r
2323 return size;\r
2324 }\r
2325 public void setSize(String size) {\r
2326 this.size = size;\r
2327 }\r
2328 \r
2329}\r