]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java
1. Provide "Find" function for Ppi/Protocol/Guid/Pcd/LibraryClass.
[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
908b1c05 22import javax.swing.JOptionPane;\r
a13899c5 23import javax.swing.JTabbedPane;\r
24import javax.swing.JButton;\r
25import javax.swing.ListSelectionModel;\r
26\r
27import org.tianocore.PlatformSurfaceAreaDocument;\r
d6d24759 28import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
a13899c5 29import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
30import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
31\r
32\r
33import java.awt.FlowLayout;\r
34import java.awt.event.ActionEvent;\r
a13899c5 35import java.awt.event.ComponentAdapter;\r
36import java.awt.event.ComponentEvent;\r
a13899c5 37import java.awt.event.ItemEvent;\r
38import java.awt.event.ItemListener;\r
a13899c5 39import java.io.File;\r
a13899c5 40import java.util.Iterator;\r
41import java.util.LinkedHashMap;\r
42import java.util.Map;\r
43import java.util.Set;\r
44\r
45import javax.swing.JCheckBox;\r
46import javax.swing.JTextField;\r
47import java.awt.GridLayout;\r
48import javax.swing.JLabel;\r
49import javax.swing.JScrollPane;\r
50import javax.swing.JTable;\r
44053733 51import javax.swing.event.InternalFrameAdapter;\r
52import javax.swing.event.InternalFrameEvent;\r
a13899c5 53import javax.swing.event.ListSelectionEvent;\r
54import javax.swing.event.ListSelectionListener;\r
55import javax.swing.event.TableModelEvent;\r
56import javax.swing.event.TableModelListener;\r
57import javax.swing.table.DefaultTableModel;\r
58import javax.swing.table.TableColumn;\r
59import javax.swing.table.TableModel;\r
60import javax.swing.JComboBox;\r
61import java.awt.Dimension;\r
a13899c5 62\r
63public class FpdFlash extends IInternalFrame {\r
64\r
44053733 65 /**\r
66 * \r
67 */\r
68 private static final long serialVersionUID = 1L;\r
a13899c5 69 static JFrame frame;\r
70 private JPanel jContentPane = null;\r
4da2e625 71 private JPanel jPanelContentEast = null;\r
72 private JPanel jPanelContentSouth = null;\r
73 private JPanel jPanelContentWest = null;\r
74 private JPanel jPanelContentNorth = null;\r
a13899c5 75 private JTabbedPane jTabbedPane = null;\r
76 private JPanel jPanelFvImages = null;\r
a13899c5 77 private JPanel jPanelFvImageN = null;\r
a13899c5 78 private JPanel jPanelFvImageS = null;\r
4da2e625 79 private JCheckBox jCheckBoxFvProperty = null;\r
80 private JLabel jLabelFvPropName = null;\r
81 private JTextField jTextFieldFvPropName = null;\r
82 private JLabel jLabelFvPropValue = null;\r
83 private JTextField jTextFieldFvPropValue = null;\r
84 private JButton jButtonFvPropAdd = null;\r
85 private JScrollPane jScrollPaneFvProp = null;\r
86 private JTable jTableFvProp = null;\r
87 private JPanel jPanelFvPropButtonGroup = null;\r
88 private JButton jButtonFvPropDel = null;\r
a13899c5 89 private DefaultTableModel fvPropertyTableModel = null;\r
90 private DefaultTableModel fvImageNameTableModel = null;\r
91 private ImageParaTableModel fvImageParaTableModel = null;\r
ae0d4fd2 92 private DefaultTableModel fvOptionTableModel = null;\r
a13899c5 93 private JPanel jPanelFvImageC = null;\r
4da2e625 94 private JCheckBox jCheckBoxFvImagePara = null;\r
95 private JLabel jLabelFvParaType = null;\r
96 private JComboBox jComboBoxFvParaType = null;\r
97 private JLabel jLabelFvImageNames = null;\r
98 private JLabel jLabelFvParaName = null;\r
99 private JTextField jTextFieldFvParaName = null;\r
100 private JButton jButtonFvParaAdd = null;\r
101 private JScrollPane jScrollPaneFvImageNames = null;\r
102 private JTable jTableFvImageNames = null;\r
103 private JButton jButtonFvParaDel = null;\r
104 private JPanel jPanelFvImageOpts = null;\r
105 private JButton jButtonAddFvImage = null;\r
106 private JScrollPane jScrollPaneFvInfo = null;\r
107 private JTable jTableFvInfo = null;\r
108 private JButton jButtonDelFvImage = null;\r
109 private JCheckBox jCheckBoxFvImageOpts = null;\r
110 private JPanel jPanelFvImagePara = null;\r
d6d24759 111 private OpeningPlatformType docConsole = null;\r
a13899c5 112 private FpdFileContents ffc = null;\r
4da2e625 113 private JPanel jPanelFdf = null;\r
114 private JCheckBox jCheckBoxFdf = null;\r
115 private JTextField jTextFieldFdf = null;\r
116 private JButton jButtonFdfBrowse = null;\r
117 private JLabel jLabelFvImageOptName = null;\r
118 private JTextField jTextFieldFvImageOptName = null;\r
119 private JLabel jLabelFvImageOptValue = null;\r
120 private JTextField jTextFieldFvImageOptValue = null;\r
121 private JPanel jPanelFvImageOptsButtonGroup = null;\r
122 private JButton jButtonFvImageOptAdd = null;\r
123 private JButton jButtonFvImageOptDel = null;\r
ae0d4fd2 124 private JScrollPane jScrollPane = null;\r
4da2e625 125 private JTable jTableFvImageOpts = null;\r
126 private JButton jButtonUpdateFvImage = null;\r
a13899c5 127 public FpdFlash() {\r
128 super();\r
129 // TODO Auto-generated constructor stub\r
130\r
131 initialize();\r
132 this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));\r
133 this.setVisible(true);\r
134 }\r
135\r
136 public FpdFlash(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd){\r
137 this();\r
138 ffc = new FpdFileContents(fpd);\r
139 init(ffc);\r
140 }\r
141 \r
d6d24759 142 public FpdFlash(OpeningPlatformType opt) {\r
143 this(opt.getXmlFpd());\r
144 docConsole = opt;\r
145 }\r
146 \r
a13899c5 147 /**\r
148 * This method initializes jPanel \r
149 * \r
150 * @return javax.swing.JPanel \r
151 */\r
4da2e625 152 private JPanel getJPanelContentEast() {\r
153 if (jPanelContentEast == null) {\r
154 jPanelContentEast = new JPanel();\r
a13899c5 155 }\r
4da2e625 156 return jPanelContentEast;\r
a13899c5 157 }\r
158\r
159 /**\r
160 * This method initializes jPanel1 \r
161 * \r
162 * @return javax.swing.JPanel \r
163 */\r
4da2e625 164 private JPanel getJPanelContentSouth() {\r
165 if (jPanelContentSouth == null) {\r
a13899c5 166 FlowLayout flowLayout = new FlowLayout();\r
167 flowLayout.setAlignment(java.awt.FlowLayout.RIGHT);\r
168 flowLayout.setHgap(15);\r
4da2e625 169 jPanelContentSouth = new JPanel();\r
170 jPanelContentSouth.setLayout(flowLayout);\r
171 jPanelContentSouth.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);\r
a13899c5 172 }\r
4da2e625 173 return jPanelContentSouth;\r
a13899c5 174 }\r
175\r
176 /**\r
177 * This method initializes jPanel2 \r
178 * \r
179 * @return javax.swing.JPanel \r
180 */\r
4da2e625 181 private JPanel getJPanelContentWest() {\r
182 if (jPanelContentWest == null) {\r
183 jPanelContentWest = new JPanel();\r
a13899c5 184 }\r
4da2e625 185 return jPanelContentWest;\r
a13899c5 186 }\r
187\r
188 /**\r
189 * This method initializes jPanel3 \r
190 * \r
191 * @return javax.swing.JPanel \r
192 */\r
4da2e625 193 private JPanel getJPanelContentNorth() {\r
194 if (jPanelContentNorth == null) {\r
195 jPanelContentNorth = new JPanel();\r
a13899c5 196 }\r
4da2e625 197 return jPanelContentNorth;\r
a13899c5 198 }\r
199\r
200 /**\r
201 * This method initializes jTabbedPane \r
202 * \r
203 * @return javax.swing.JTabbedPane \r
204 */\r
205 private JTabbedPane getJTabbedPane() {\r
206 if (jTabbedPane == null) {\r
207 jTabbedPane = new JTabbedPane();\r
208 jTabbedPane.addTab("FV Images", null, getJPanelFvImages(), null);\r
4da2e625 209 jTabbedPane.addTab("Flash Definition File", null, getJPanelFdf(), null);\r
a13899c5 210 \r
211 }\r
212 return jTabbedPane;\r
213 }\r
214\r
215 /**\r
216 * This method initializes jPanelFvImages \r
217 * \r
218 * @return javax.swing.JPanel \r
219 */\r
220 private JPanel getJPanelFvImages() {\r
221 if (jPanelFvImages == null) {\r
222 jPanelFvImages = new JPanel();\r
223 jPanelFvImages.setLayout(new BorderLayout());\r
224 jPanelFvImages.add(getJPanelFvImageN(), java.awt.BorderLayout.NORTH);\r
225// jPanelFvImages.add(getJPanelFvImageW(), java.awt.BorderLayout.WEST);\r
226 jPanelFvImages.add(getJPanelFvImageS(), java.awt.BorderLayout.SOUTH);\r
227 jPanelFvImages.add(getJPanelFvImageC(), java.awt.BorderLayout.CENTER);\r
228 \r
229 }\r
230 return jPanelFvImages;\r
231 }\r
232\r
a13899c5 233 /**\r
234 * This method initializes jPanelFvImageN \r
235 * \r
236 * @return javax.swing.JPanel \r
237 */\r
238 private JPanel getJPanelFvImageN() {\r
239 if (jPanelFvImageN == null) {\r
4da2e625 240 jLabelFvPropValue = new JLabel();\r
241 jLabelFvPropValue.setText("Value");\r
242 jLabelFvPropValue.setEnabled(false);\r
243 jLabelFvPropValue.setPreferredSize(new java.awt.Dimension(38,20));\r
244 jLabelFvPropName = new JLabel();\r
245 jLabelFvPropName.setText("Name");\r
246 jLabelFvPropName.setEnabled(false);\r
247 jLabelFvPropName.setPreferredSize(new java.awt.Dimension(38,20));\r
a13899c5 248 FlowLayout flowLayout2 = new FlowLayout();\r
249 flowLayout2.setAlignment(java.awt.FlowLayout.CENTER);\r
250 flowLayout2.setHgap(15);\r
251 jPanelFvImageN = new JPanel();\r
252 jPanelFvImageN.setPreferredSize(new java.awt.Dimension(576,100));\r
253 jPanelFvImageN.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));\r
254 jPanelFvImageN.setLayout(flowLayout2);\r
4da2e625 255 jPanelFvImageN.add(getJCheckBoxFvProperty(), null);\r
256 jPanelFvImageN.add(jLabelFvPropName, null);\r
257 jPanelFvImageN.add(getJTextFieldFvPropName(), null);\r
258 jPanelFvImageN.add(jLabelFvPropValue, null);\r
259 jPanelFvImageN.add(getJTextFieldFvPropValue(), null);\r
260 jPanelFvImageN.add(getJScrollPaneFvProp(), null);\r
261 jPanelFvImageN.add(getJPanelFvPropButtonGroup(), null);\r
a13899c5 262 }\r
263 return jPanelFvImageN;\r
264 }\r
265\r
a13899c5 266 /**\r
267 * This method initializes jPanelFvImageS \r
268 * \r
269 * @return javax.swing.JPanel \r
270 */\r
271 private JPanel getJPanelFvImageS() {\r
272 if (jPanelFvImageS == null) {\r
273 GridLayout gridLayout2 = new GridLayout();\r
274 gridLayout2.setRows(1);\r
275 jPanelFvImageS = new JPanel();\r
44053733 276 jPanelFvImageS.setPreferredSize(new java.awt.Dimension(480,190));\r
a13899c5 277 jPanelFvImageS.setLayout(gridLayout2);\r
4da2e625 278 jPanelFvImageS.add(getJScrollPaneFvInfo(), null);\r
a13899c5 279 }\r
280 return jPanelFvImageS;\r
281 }\r
282\r
283\r
284 /**\r
285 * This method initializes jCheckBox1 \r
286 * \r
287 * @return javax.swing.JCheckBox \r
288 */\r
4da2e625 289 private JCheckBox getJCheckBoxFvProperty() {\r
290 if (jCheckBoxFvProperty == null) {\r
291 jCheckBoxFvProperty = new JCheckBox();\r
292 jCheckBoxFvProperty.setText("FV Properties");\r
293 jCheckBoxFvProperty.addItemListener(new ItemListener(){\r
a13899c5 294\r
295 public void itemStateChanged(ItemEvent arg0) {\r
296 // TODO Auto-generated method stub\r
4da2e625 297 boolean seleted = jCheckBoxFvProperty.isSelected();\r
a13899c5 298 \r
4da2e625 299 jLabelFvPropName.setEnabled(seleted);\r
300 jTextFieldFvPropName.setEnabled(seleted);\r
301 jLabelFvPropValue.setEnabled(seleted);\r
302 jTextFieldFvPropValue.setEnabled(seleted);\r
303 jTableFvProp.setEnabled(seleted);\r
304 jButtonFvPropAdd.setEnabled(seleted);\r
305 jButtonFvPropDel.setEnabled(seleted);\r
a13899c5 306 \r
307 \r
308 }\r
309 \r
310 });\r
311 }\r
4da2e625 312 return jCheckBoxFvProperty;\r
a13899c5 313 }\r
314\r
315\r
316 /**\r
317 * This method initializes jTextField \r
318 * \r
319 * @return javax.swing.JTextField \r
320 */\r
4da2e625 321 private JTextField getJTextFieldFvPropName() {\r
322 if (jTextFieldFvPropName == null) {\r
323 jTextFieldFvPropName = new JTextField();\r
324 jTextFieldFvPropName.setPreferredSize(new java.awt.Dimension(100,20));\r
325 jTextFieldFvPropName.setEnabled(false);\r
a13899c5 326 }\r
4da2e625 327 return jTextFieldFvPropName;\r
a13899c5 328 }\r
329\r
330\r
331 /**\r
332 * This method initializes jTextField1 \r
333 * \r
334 * @return javax.swing.JTextField \r
335 */\r
4da2e625 336 private JTextField getJTextFieldFvPropValue() {\r
337 if (jTextFieldFvPropValue == null) {\r
338 jTextFieldFvPropValue = new JTextField();\r
339 jTextFieldFvPropValue.setPreferredSize(new java.awt.Dimension(100,20));\r
340 jTextFieldFvPropValue.setEnabled(false);\r
a13899c5 341 }\r
4da2e625 342 return jTextFieldFvPropValue;\r
a13899c5 343 }\r
344\r
345\r
346 /**\r
347 * This method initializes jButton \r
348 * \r
349 * @return javax.swing.JButton \r
350 */\r
4da2e625 351 private JButton getJButtonFvPropAdd() {\r
352 if (jButtonFvPropAdd == null) {\r
353 jButtonFvPropAdd = new JButton();\r
354 jButtonFvPropAdd.setPreferredSize(new java.awt.Dimension(80,20));\r
355 jButtonFvPropAdd.setEnabled(false);\r
356 jButtonFvPropAdd.setText("Add");\r
357 jButtonFvPropAdd.addActionListener(new AbstractAction() {\r
44053733 358 /**\r
359 * \r
360 */\r
361 private static final long serialVersionUID = 1L;\r
362\r
a13899c5 363 public void actionPerformed(ActionEvent e) {\r
4da2e625 364 if (jTextFieldFvPropName.getText().length() > 0 && jTextFieldFvPropValue.getText().length() > 0){\r
365 String[] row = {jTextFieldFvPropName.getText(), jTextFieldFvPropValue.getText()}; \r
a13899c5 366 fvPropertyTableModel.addRow(row);\r
d6d24759 367 docConsole.setSaved(false);\r
a13899c5 368 ffc.genFvImagesNameValue(row[0], row[1]);\r
369 }\r
370 }\r
371 });\r
372 }\r
4da2e625 373 return jButtonFvPropAdd;\r
a13899c5 374 }\r
375\r
376\r
377 /**\r
378 * This method initializes jScrollPane1 \r
379 * \r
380 * @return javax.swing.JScrollPane \r
381 */\r
4da2e625 382 private JScrollPane getJScrollPaneFvProp() {\r
383 if (jScrollPaneFvProp == null) {\r
384 jScrollPaneFvProp = new JScrollPane();\r
385 jScrollPaneFvProp.setPreferredSize(new java.awt.Dimension(350,55));\r
386 jScrollPaneFvProp.setViewportView(getJTableFvProp());\r
a13899c5 387 }\r
4da2e625 388 return jScrollPaneFvProp;\r
a13899c5 389 }\r
390\r
391\r
392 /**\r
393 * This method initializes jTable \r
394 * \r
395 * @return javax.swing.JTable \r
396 */\r
4da2e625 397 private JTable getJTableFvProp() {\r
398 if (jTableFvProp == null) {\r
a13899c5 399 fvPropertyTableModel = new DefaultTableModel();\r
4da2e625 400 jTableFvProp = new JTable(fvPropertyTableModel);\r
a13899c5 401 fvPropertyTableModel.addColumn("Name");\r
402 fvPropertyTableModel.addColumn("Value");\r
4da2e625 403 jTableFvProp.setRowHeight(20);\r
404 jTableFvProp.setEnabled(false);\r
a13899c5 405 \r
4da2e625 406 jTableFvProp.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
407 jTableFvProp.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
a13899c5 408 public void valueChanged(ListSelectionEvent e) {\r
409 if (e.getValueIsAdjusting()){\r
410 return;\r
411 }\r
412 ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
413 if (lsm.isSelectionEmpty()) {\r
414 return;\r
415 }\r
416 else{\r
417// selectedRow = lsm.getMinSelectionIndex();\r
418 }\r
419 }\r
420 });\r
421 \r
4da2e625 422 jTableFvProp.getModel().addTableModelListener(new TableModelListener(){\r
a13899c5 423 public void tableChanged(TableModelEvent arg0) {\r
424 // TODO Auto-generated method stub\r
425 int row = arg0.getFirstRow();\r
426 TableModel m = (TableModel)arg0.getSource();\r
427 if (arg0.getType() == TableModelEvent.UPDATE){\r
428 \r
429 String name = m.getValueAt(row, 0) + "";\r
430 String value = m.getValueAt(row, 1) + "";\r
d6d24759 431 docConsole.setSaved(false);\r
a13899c5 432 ffc.updateFvImagesNameValue(row, name, value);\r
433 }\r
434 }\r
435 });\r
436 }\r
4da2e625 437 return jTableFvProp;\r
a13899c5 438 }\r
439\r
440\r
441 /**\r
442 * This method initializes jPanel4 \r
443 * \r
444 * @return javax.swing.JPanel \r
445 */\r
4da2e625 446 private JPanel getJPanelFvPropButtonGroup() {\r
447 if (jPanelFvPropButtonGroup == null) {\r
448 jPanelFvPropButtonGroup = new JPanel();\r
449 jPanelFvPropButtonGroup.setPreferredSize(new java.awt.Dimension(80,55));\r
a13899c5 450 \r
4da2e625 451 jPanelFvPropButtonGroup.add(getJButtonFvPropAdd(), null);\r
452 jPanelFvPropButtonGroup.add(getJButtonFvPropDel(), null);\r
a13899c5 453 }\r
4da2e625 454 return jPanelFvPropButtonGroup;\r
a13899c5 455 }\r
456\r
457\r
458 /**\r
459 * This method initializes jButton1 \r
460 * \r
461 * @return javax.swing.JButton \r
462 */\r
4da2e625 463 private JButton getJButtonFvPropDel() {\r
464 if (jButtonFvPropDel == null) {\r
465 jButtonFvPropDel = new JButton();\r
466 jButtonFvPropDel.setPreferredSize(new java.awt.Dimension(80,20));\r
467 jButtonFvPropDel.setEnabled(false);\r
468 jButtonFvPropDel.setText("Delete");\r
469 jButtonFvPropDel.addActionListener(new AbstractAction() {\r
44053733 470 /**\r
471 * \r
472 */\r
473 private static final long serialVersionUID = 1L;\r
474\r
a13899c5 475 public void actionPerformed(ActionEvent e) {\r
4da2e625 476 if (jTableFvProp.getSelectedRow() >= 0){\r
477 fvPropertyTableModel.removeRow(jTableFvProp.getSelectedRow());\r
d6d24759 478 docConsole.setSaved(false);\r
4da2e625 479 ffc.removeFvImagesNameValue(jTableFvProp.getSelectedRow());\r
a13899c5 480 }\r
481 }\r
482 });\r
483 }\r
4da2e625 484 return jButtonFvPropDel;\r
a13899c5 485 }\r
486\r
487\r
488 /**\r
489 * This method initializes jPanelFvImageC \r
490 * \r
491 * @return javax.swing.JPanel \r
492 */\r
493 private JPanel getJPanelFvImageC() {\r
494 if (jPanelFvImageC == null) {\r
4da2e625 495 jLabelFvParaName = new JLabel();\r
496 jLabelFvParaName.setPreferredSize(new Dimension(38, 20));\r
497 jLabelFvParaName.setEnabled(false);\r
498 jLabelFvParaName.setText("Name");\r
499 jLabelFvImageNames = new JLabel();\r
500 jLabelFvImageNames.setText("FV Image Names");\r
501 jLabelFvImageNames.setEnabled(false);\r
502 jLabelFvImageNames.setPreferredSize(new java.awt.Dimension(150,20));\r
503 jLabelFvParaType = new JLabel();\r
504 jLabelFvParaType.setText("Type");\r
505 jLabelFvParaType.setEnabled(false);\r
506 jLabelFvParaType.setPreferredSize(new java.awt.Dimension(70,20));\r
a13899c5 507 FlowLayout flowLayout3 = new FlowLayout();\r
508 flowLayout3.setAlignment(java.awt.FlowLayout.LEFT);\r
509 flowLayout3.setHgap(5);\r
510 jPanelFvImageC = new JPanel();\r
511 jPanelFvImageC.setLayout(flowLayout3);\r
4da2e625 512 jPanelFvImageC.add(getJPanelFvImagePara(), null);\r
a13899c5 513 \r
4da2e625 514 jPanelFvImageC.add(getJPanelFvImageOpts(), null);\r
a13899c5 515 \r
516 }\r
517 return jPanelFvImageC;\r
518 }\r
519\r
520\r
521 /**\r
522 * This method initializes jCheckBox2 \r
523 * \r
524 * @return javax.swing.JCheckBox \r
525 */\r
4da2e625 526 private JCheckBox getJCheckBoxFvImagePara() {\r
527 if (jCheckBoxFvImagePara == null) {\r
528 jCheckBoxFvImagePara = new JCheckBox();\r
529 jCheckBoxFvImagePara.setText("FV Image Parameters");\r
530 jCheckBoxFvImagePara.setPreferredSize(new java.awt.Dimension(200,20));\r
531 jCheckBoxFvImagePara.addItemListener(new ItemListener(){\r
a13899c5 532\r
533 public void itemStateChanged(ItemEvent arg0) {\r
534 // TODO Auto-generated method stub\r
4da2e625 535 boolean seleted = jCheckBoxFvImagePara.isSelected();\r
a13899c5 536 \r
4da2e625 537 jLabelFvParaType.setEnabled(seleted);\r
538 jLabelFvImageNames.setEnabled(seleted);\r
539 jLabelFvParaName.setEnabled(seleted);\r
540 jComboBoxFvParaType.setEnabled(seleted);\r
541 jTextFieldFvParaName.setEnabled(seleted);\r
a13899c5 542 \r
4da2e625 543 jTableFvImageNames.setEnabled(seleted);\r
544 jButtonFvParaAdd.setEnabled(seleted);\r
545 jButtonFvParaDel.setEnabled(seleted);\r
a13899c5 546 \r
547 \r
548 }\r
549 \r
550 });\r
551 }\r
4da2e625 552 return jCheckBoxFvImagePara;\r
a13899c5 553 }\r
554\r
555\r
556 /**\r
557 * This method initializes jComboBox \r
558 * \r
559 * @return javax.swing.JComboBox \r
560 */\r
4da2e625 561 private JComboBox getJComboBoxFvParaType() {\r
562 if (jComboBoxFvParaType == null) {\r
563 jComboBoxFvParaType = new JComboBox();\r
564 jComboBoxFvParaType.addItem("ImageName");\r
565 jComboBoxFvParaType.addItem("Attributes");\r
566 jComboBoxFvParaType.addItem("Options");\r
567 jComboBoxFvParaType.addItem("Components");\r
568 jComboBoxFvParaType.setPreferredSize(new java.awt.Dimension(180,20));\r
569 jComboBoxFvParaType.setEnabled(false);\r
570 jComboBoxFvParaType.addItemListener(new ItemListener() {\r
a13899c5 571\r
572 public void itemStateChanged(ItemEvent arg0) {\r
573 // TODO disable attribute settings when ValidImageNames selected.\r
574 \r
575 }\r
576 \r
577 });\r
578 }\r
4da2e625 579 return jComboBoxFvParaType;\r
a13899c5 580 }\r
581\r
582\r
583 /**\r
584 * This method initializes jTextField2 \r
585 * \r
586 * @return javax.swing.JTextField \r
587 */\r
4da2e625 588 private JTextField getJTextFieldFvParaName() {\r
589 if (jTextFieldFvParaName == null) {\r
590 jTextFieldFvParaName = new JTextField();\r
591 jTextFieldFvParaName.setPreferredSize(new java.awt.Dimension(140,20));\r
592 jTextFieldFvParaName.setEnabled(false);\r
a13899c5 593 }\r
4da2e625 594 return jTextFieldFvParaName;\r
a13899c5 595 }\r
596\r
597\r
598 /**\r
599 * This method initializes jButton2 \r
600 * \r
601 * @return javax.swing.JButton \r
602 */\r
4da2e625 603 private JButton getJButtonFvParaAdd() {\r
604 if (jButtonFvParaAdd == null) {\r
605 jButtonFvParaAdd = new JButton();\r
606 jButtonFvParaAdd.setPreferredSize(new Dimension(80, 20));\r
607 jButtonFvParaAdd.setEnabled(false);\r
608 jButtonFvParaAdd.setText("Add");\r
609 jButtonFvParaAdd.addActionListener(new AbstractAction() {\r
44053733 610 /**\r
611 * \r
612 */\r
613 private static final long serialVersionUID = 1L;\r
614\r
a13899c5 615 public void actionPerformed(java.awt.event.ActionEvent e) {\r
4da2e625 616 if (jTextFieldFvParaName.getText().length() > 0){\r
617 String[] row = {jTextFieldFvParaName.getText()}; \r
a13899c5 618 fvImageNameTableModel.addRow(row);\r
619 }\r
620 }\r
621 });\r
622 }\r
4da2e625 623 return jButtonFvParaAdd;\r
a13899c5 624 }\r
625\r
626\r
627 /**\r
628 * This method initializes jScrollPane2 \r
629 * \r
630 * @return javax.swing.JScrollPane \r
631 */\r
4da2e625 632 private JScrollPane getJScrollPaneFvImageNames() {\r
633 if (jScrollPaneFvImageNames == null) {\r
634 jScrollPaneFvImageNames = new JScrollPane();\r
635 jScrollPaneFvImageNames.setPreferredSize(new java.awt.Dimension(350,50));\r
636 jScrollPaneFvImageNames.setViewportView(getJTableFvImageNames());\r
a13899c5 637 }\r
4da2e625 638 return jScrollPaneFvImageNames;\r
a13899c5 639 }\r
640\r
641\r
642 /**\r
643 * This method initializes jTable1 \r
644 * \r
645 * @return javax.swing.JTable \r
646 */\r
4da2e625 647 private JTable getJTableFvImageNames() {\r
648 if (jTableFvImageNames == null) {\r
a13899c5 649 fvImageNameTableModel = new DefaultTableModel();\r
4da2e625 650 jTableFvImageNames = new JTable(fvImageNameTableModel);\r
651 jTableFvImageNames.setEnabled(false);\r
a13899c5 652 fvImageNameTableModel.addColumn("FV Image Name");\r
653 }\r
4da2e625 654 return jTableFvImageNames;\r
a13899c5 655 }\r
656\r
657\r
658 /**\r
659 * This method initializes jButton3 \r
660 * \r
661 * @return javax.swing.JButton \r
662 */\r
4da2e625 663 private JButton getJButtonFvParaDel() {\r
664 if (jButtonFvParaDel == null) {\r
665 jButtonFvParaDel = new JButton();\r
666 jButtonFvParaDel.setPreferredSize(new Dimension(80, 20));\r
667 jButtonFvParaDel.setEnabled(false);\r
668 jButtonFvParaDel.setText("Delete");\r
669 jButtonFvParaDel.addActionListener(new AbstractAction() {\r
44053733 670 /**\r
671 * \r
672 */\r
673 private static final long serialVersionUID = 1L;\r
674\r
a13899c5 675 public void actionPerformed(java.awt.event.ActionEvent e) {\r
4da2e625 676 if (jTableFvImageNames.getSelectedRow() >= 0){\r
a13899c5 677 \r
4da2e625 678 fvImageNameTableModel.removeRow(jTableFvImageNames.getSelectedRow());\r
a13899c5 679 }\r
680 }\r
681 });\r
682 }\r
4da2e625 683 return jButtonFvParaDel;\r
a13899c5 684 }\r
685\r
686\r
687\r
688 \r
4da2e625 689 private JPanel getJPanelFvImageOpts() {\r
a13899c5 690 \r
691\r
4da2e625 692 if (jPanelFvImageOpts == null) {\r
a13899c5 693 //ToDo add ButtonGroup for RadioButtons\r
4da2e625 694 jLabelFvImageOptValue = new JLabel();\r
695 jLabelFvImageOptValue.setEnabled(true);\r
696 jLabelFvImageOptValue.setText("Value");\r
697 jLabelFvImageOptValue.setPreferredSize(new Dimension(38, 20));\r
698 jLabelFvImageOptName = new JLabel();\r
699 jLabelFvImageOptName.setEnabled(true);\r
700 jLabelFvImageOptName.setText("Name");\r
701 jLabelFvImageOptName.setPreferredSize(new Dimension(38, 20));\r
702 jPanelFvImageOpts = new JPanel();\r
703 jPanelFvImageOpts.setPreferredSize(new java.awt.Dimension(480,150));\r
a13899c5 704 \r
4da2e625 705 jPanelFvImageOpts.setLayout(new FlowLayout());\r
a13899c5 706 \r
4da2e625 707 jPanelFvImageOpts.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED));\r
708 jPanelFvImageOpts.add(getJCheckBoxFvImageOpts(), null);\r
709 jPanelFvImageOpts.add(jLabelFvImageOptName, null);\r
710 jPanelFvImageOpts.add(getJTextFieldFvImageOptName(), null);\r
711 jPanelFvImageOpts.add(jLabelFvImageOptValue, null);\r
712 jPanelFvImageOpts.add(getJTextFieldFvImageOptValue(), null);\r
713 jPanelFvImageOpts.add(getJScrollPane(), null);\r
714 jPanelFvImageOpts.add(getJPanelFvImageOptsButtonGroup(), null);\r
715 jPanelFvImageOpts.add(getJButtonAddFvImage(), null);\r
716 jPanelFvImageOpts.add(getJButtonDelFvImage(), null);\r
717 jPanelFvImageOpts.add(getJButtonUpdateFvImage(), null);\r
a13899c5 718 \r
719 \r
720 \r
721\r
722 \r
723 }\r
4da2e625 724 return jPanelFvImageOpts;\r
a13899c5 725 }\r
726\r
727\r
728 /**\r
729 * This method initializes jButton4 \r
730 * \r
731 * @return javax.swing.JButton \r
732 */\r
4da2e625 733 private JButton getJButtonAddFvImage() {\r
734 if (jButtonAddFvImage == null) {\r
735 jButtonAddFvImage = new JButton();\r
736 jButtonAddFvImage.setPreferredSize(new java.awt.Dimension(120,20));\r
a13899c5 737// jButton4.setEnabled(false);\r
4da2e625 738 jButtonAddFvImage.setText("Add FV Image");\r
739 jButtonAddFvImage.addActionListener(new AbstractAction() {\r
44053733 740 /**\r
741 * \r
742 */\r
743 private static final long serialVersionUID = 1L;\r
744\r
a13899c5 745 public void actionPerformed(java.awt.event.ActionEvent e) {\r
4da2e625 746 if (jTableFvInfo.isEditing()) {\r
747 jTableFvInfo.getCellEditor().stopCellEditing();\r
ae0d4fd2 748 }\r
4da2e625 749 if (jTableFvImageOpts.isEditing()) {\r
750 jTableFvImageOpts.getCellEditor().stopCellEditing();\r
ae0d4fd2 751 }\r
4da2e625 752 if (jTableFvImageNames.getRowCount()== 0){\r
a13899c5 753 return;\r
754 }\r
755 String imageName = " ";\r
4da2e625 756 for (int i = 0; i < jTableFvImageNames.getRowCount(); ++i){\r
757 imageName += (String)jTableFvImageNames.getValueAt(i, 0);\r
a13899c5 758 imageName += " ";\r
759 }\r
760 imageName = imageName.trim();\r
761 \r
4da2e625 762 if (!jCheckBoxFvImageOpts.isSelected() && jComboBoxFvParaType.getSelectedIndex() != 0){\r
a13899c5 763 return;\r
764 \r
765 }\r
766 \r
44053733 767 LinkedHashMap<String, String> m = null;\r
4da2e625 768 if (jCheckBoxFvImageOpts.isSelected()) {\r
44053733 769 m = new LinkedHashMap<String, String>();\r
ae0d4fd2 770 getOptionNameValue(m);\r
44053733 771 }\r
4da2e625 772 ffc.genFvImagesFvImage(imageName.split(" "), jComboBoxFvParaType.getSelectedItem()+"", m);\r
d6d24759 773 docConsole.setSaved(false);\r
4da2e625 774 Object[] row = {imageName, jComboBoxFvParaType.getSelectedItem()};\r
ae0d4fd2 775 fvImageParaTableModel.addRow(row); \r
a13899c5 776 }\r
777 });\r
778 }\r
4da2e625 779 return jButtonAddFvImage;\r
a13899c5 780 }\r
781\r
782\r
783 /**\r
784 * This method initializes jScrollPane3 \r
785 * \r
786 * @return javax.swing.JScrollPane \r
787 */\r
4da2e625 788 private JScrollPane getJScrollPaneFvInfo() {\r
789 if (jScrollPaneFvInfo == null) {\r
790 jScrollPaneFvInfo = new JScrollPane();\r
791 jScrollPaneFvInfo.setPreferredSize(new java.awt.Dimension(480,150));\r
792 jScrollPaneFvInfo.setViewportView(getJTableFvInfo());\r
a13899c5 793 }\r
4da2e625 794 return jScrollPaneFvInfo;\r
a13899c5 795 }\r
796\r
797\r
798 /**\r
799 * This method initializes jTable2 \r
800 * \r
801 * @return javax.swing.JTable \r
802 */\r
4da2e625 803 private JTable getJTableFvInfo() {\r
804 if (jTableFvInfo == null) {\r
a13899c5 805 fvImageParaTableModel = new ImageParaTableModel();\r
4da2e625 806 jTableFvInfo = new JTable(fvImageParaTableModel);\r
a13899c5 807 fvImageParaTableModel.addColumn("FvImageNames");\r
808 fvImageParaTableModel.addColumn("Type");\r
ae0d4fd2 809 \r
a13899c5 810 \r
4da2e625 811 TableColumn typeCol = jTableFvInfo.getColumnModel().getColumn(1);\r
a13899c5 812 JComboBox cb = new JComboBox();\r
813 cb.addItem("ValidImageNames");\r
814 cb.addItem("Attributes");\r
815 cb.addItem("Options");\r
816 cb.addItem("Components");\r
817 typeCol.setCellEditor(new DefaultCellEditor(cb));\r
818 \r
4da2e625 819 jTableFvInfo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
820 jTableFvInfo.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
a13899c5 821 public void valueChanged(ListSelectionEvent e) {\r
822 if (e.getValueIsAdjusting()){\r
823 return;\r
824 }\r
825 ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
826 if (lsm.isSelectionEmpty()) {\r
827 return;\r
828 }\r
829 else{\r
ae0d4fd2 830 int selectedRow = lsm.getMinSelectionIndex();\r
831 LinkedHashMap<String, String> optionMap = new LinkedHashMap<String, String>();\r
832 ffc.getFvImagesFvImageOptions(selectedRow, optionMap);\r
833 if (optionMap.size() > 0){\r
834 fvOptionTableModel.setRowCount(0);\r
835 Set<String> key = optionMap.keySet();\r
836 Iterator<String> i = key.iterator();\r
837 while (i.hasNext()) {\r
838 \r
839 String k = (String)i.next();\r
840 String[] row = {k, optionMap.get(k)};\r
841 \r
842 fvOptionTableModel.addRow(row);\r
843 }\r
a13899c5 844 }\r
ae0d4fd2 845 \r
a13899c5 846 }\r
847 }\r
848 });\r
ae0d4fd2 849 \r
850 \r
a13899c5 851 }\r
4da2e625 852 return jTableFvInfo;\r
a13899c5 853 }\r
854\r
855\r
856 /**\r
857 * This method initializes jButton6 \r
858 * \r
859 * @return javax.swing.JButton \r
860 */\r
4da2e625 861 private JButton getJButtonDelFvImage() {\r
862 if (jButtonDelFvImage == null) {\r
863 jButtonDelFvImage = new JButton();\r
864 jButtonDelFvImage.setPreferredSize(new java.awt.Dimension(120,20));\r
a13899c5 865// jButton6.setEnabled(false);\r
4da2e625 866 jButtonDelFvImage.setText("Delete Row");\r
867 jButtonDelFvImage.addActionListener(new AbstractAction() {\r
44053733 868 /**\r
869 * \r
870 */\r
871 private static final long serialVersionUID = 1L;\r
a13899c5 872\r
873 public void actionPerformed(ActionEvent arg0) {\r
874 // TODO Auto-generated method stub\r
4da2e625 875 if (jTableFvInfo.getSelectedRow() >= 0 ) {\r
876 ffc.removeFvImagesFvImage(jTableFvInfo.getSelectedRow());\r
877 fvImageParaTableModel.removeRow(jTableFvInfo.getSelectedRow());\r
d6d24759 878 docConsole.setSaved(false);\r
a13899c5 879 }\r
880 }\r
881 \r
882 });\r
883 }\r
4da2e625 884 return jButtonDelFvImage;\r
a13899c5 885 }\r
886\r
887\r
888 /**\r
889 * This method initializes jCheckBox3 \r
890 * \r
891 * @return javax.swing.JCheckBox \r
892 */\r
4da2e625 893 private JCheckBox getJCheckBoxFvImageOpts() {\r
894 if (jCheckBoxFvImageOpts == null) {\r
895 jCheckBoxFvImageOpts = new JCheckBox();\r
896 jCheckBoxFvImageOpts.setText("FV Image Options");\r
897 jCheckBoxFvImageOpts.addItemListener(new ItemListener(){\r
a13899c5 898\r
899 public void itemStateChanged(ItemEvent arg0) {\r
900 // TODO Auto-generated method stub\r
1800d80f 901// boolean selected = jCheckBox3.isSelected();\r
a13899c5 902 \r
4da2e625 903 if (!jCheckBoxFvImagePara.isSelected() || jComboBoxFvParaType.getSelectedIndex() == 0) {\r
a13899c5 904 return;\r
905 }\r
906 \r
ae0d4fd2 907// jLabel5.setEnabled(selected);\r
908// jTextField4.setEnabled(selected);\r
909// jLabel6.setEnabled(selected);\r
910// jTextField5.setEnabled(selected);\r
911// jButton7.setEnabled(selected);\r
912// jButton8.setEnabled(selected);\r
913\r
a13899c5 914 }\r
915 \r
916 });\r
917 }\r
4da2e625 918 return jCheckBoxFvImageOpts;\r
a13899c5 919 }\r
920\r
921\r
a13899c5 922 /**\r
923 * This method initializes jPanel6 \r
924 * \r
925 * @return javax.swing.JPanel \r
926 */\r
4da2e625 927 private JPanel getJPanelFvImagePara() {\r
928 if (jPanelFvImagePara == null) {\r
a13899c5 929 StarLabel starLabel = new StarLabel();\r
930 starLabel.setVisible(false);\r
4da2e625 931 jPanelFvImagePara = new JPanel();\r
932 jPanelFvImagePara.setPreferredSize(new java.awt.Dimension(480,120));\r
933 jPanelFvImagePara.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
934 jPanelFvImagePara.add(getJCheckBoxFvImagePara(), null);\r
935 jPanelFvImagePara.add(jLabelFvParaType, null);\r
936 jPanelFvImagePara.add(getJComboBoxFvParaType(), null);\r
937 jPanelFvImagePara.add(new StarLabel(), null);\r
938 jPanelFvImagePara.add(jLabelFvImageNames, null);\r
939 jPanelFvImagePara.add(jLabelFvParaName, null);\r
940 jPanelFvImagePara.add(getJTextFieldFvParaName(), null);\r
941 jPanelFvImagePara.add(getJButtonFvParaAdd(), null);\r
942 jPanelFvImagePara.add(getJScrollPaneFvImageNames(), null);\r
943 jPanelFvImagePara.add(getJButtonFvParaDel(), null);\r
a13899c5 944 }\r
4da2e625 945 return jPanelFvImagePara;\r
a13899c5 946 }\r
947\r
948 /**\r
949 * This method initializes jPanel7 \r
950 * \r
951 * @return javax.swing.JPanel \r
952 */\r
4da2e625 953 private JPanel getJPanelFdf() {\r
954 if (jPanelFdf == null) {\r
a13899c5 955 FlowLayout flowLayout1 = new FlowLayout();\r
956 flowLayout1.setAlignment(FlowLayout.LEFT);\r
4da2e625 957 jPanelFdf = new JPanel();\r
958 jPanelFdf.setLayout(flowLayout1);\r
959 jPanelFdf.add(getJCheckBoxFdf(), null);\r
960 jPanelFdf.add(getJTextFieldFdf(), null);\r
961 jPanelFdf.add(getJButtonFdfBrowse(), null);\r
962 jPanelFdf.addComponentListener(new ComponentAdapter(){\r
a13899c5 963 public void componentShown(ComponentEvent e) {\r
964 if (ffc.getFlashDefinitionFile() != null) {\r
4da2e625 965 jTextFieldFdf.setText(ffc.getFlashDefinitionFile());\r
a13899c5 966 }\r
967 }\r
968 public void componentHidden(ComponentEvent e) {\r
4da2e625 969 if (jCheckBoxFdf.isSelected()) {\r
970 ffc.genFlashDefinitionFile(jTextFieldFdf.getText());\r
a13899c5 971 }\r
972 }\r
973 });\r
974 }\r
4da2e625 975 return jPanelFdf;\r
a13899c5 976 }\r
977\r
978 /**\r
979 * This method initializes jCheckBox \r
980 * \r
981 * @return javax.swing.JCheckBox \r
982 */\r
4da2e625 983 private JCheckBox getJCheckBoxFdf() {\r
984 if (jCheckBoxFdf == null) {\r
985 jCheckBoxFdf = new JCheckBox();\r
986 jCheckBoxFdf.setText("Flash Definition File");\r
987 jCheckBoxFdf.addItemListener(new ItemListener() {\r
a13899c5 988\r
989 public void itemStateChanged(ItemEvent arg0) {\r
990 // TODO Auto-generated method stub\r
4da2e625 991 if (jCheckBoxFdf.isSelected()){\r
992 jTextFieldFdf.setEnabled(true);\r
993 jButtonFdfBrowse.setEnabled(true);\r
a13899c5 994 }\r
995 else {\r
996 \r
4da2e625 997 jTextFieldFdf.setEnabled(false);\r
998 jButtonFdfBrowse.setEnabled(false);\r
a13899c5 999 }\r
1000 }\r
1001 });\r
1002 }\r
4da2e625 1003 return jCheckBoxFdf;\r
a13899c5 1004 }\r
1005\r
1006 /**\r
1007 * This method initializes jTextField3 \r
1008 * \r
1009 * @return javax.swing.JTextField \r
1010 */\r
4da2e625 1011 private JTextField getJTextFieldFdf() {\r
1012 if (jTextFieldFdf == null) {\r
1013 jTextFieldFdf = new JTextField();\r
1014 jTextFieldFdf.setEnabled(false);\r
1015 jTextFieldFdf.setPreferredSize(new Dimension(300, 20));\r
1016 jTextFieldFdf.addFocusListener(new java.awt.event.FocusAdapter() {\r
908b1c05 1017 public void focusLost(java.awt.event.FocusEvent e) {\r
4da2e625 1018 ffc.genFlashDefinitionFile(jTextFieldFdf.getText());\r
908b1c05 1019 }\r
1020 });\r
a13899c5 1021 }\r
4da2e625 1022 return jTextFieldFdf;\r
a13899c5 1023 }\r
1024\r
1025 /**\r
1026 * This method initializes jButton5 \r
1027 * \r
1028 * @return javax.swing.JButton \r
1029 */\r
4da2e625 1030 private JButton getJButtonFdfBrowse() {\r
1031 if (jButtonFdfBrowse == null) {\r
1032 jButtonFdfBrowse = new JButton();\r
1033 jButtonFdfBrowse.setEnabled(false);\r
1034 jButtonFdfBrowse.setText("Browse");\r
1035 jButtonFdfBrowse.setPreferredSize(new Dimension(78, 20));\r
1036 jButtonFdfBrowse.addActionListener(new AbstractAction(){\r
44053733 1037 /**\r
1038 * \r
1039 */\r
1040 private static final long serialVersionUID = 1L;\r
1041\r
a13899c5 1042 public void actionPerformed(ActionEvent e) {\r
1043 // TODO Auto-generated method stub\r
908b1c05 1044 String wsDir = System.getenv("WORKSPACE");\r
1045 JFileChooser chooser = new JFileChooser(wsDir);\r
a13899c5 1046 chooser.setMultiSelectionEnabled(false);\r
1047 chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);\r
1048 int retval = chooser.showOpenDialog(frame);\r
1049 if (retval == JFileChooser.APPROVE_OPTION) {\r
1050\r
1051 File theFile = chooser.getSelectedFile();\r
908b1c05 1052 String filePath = theFile.getPath();\r
1053 if (!filePath.startsWith(wsDir)) {\r
1054 JOptionPane.showMessageDialog(frame, "You can only select files in current WORKSPACE.");\r
1055 return;\r
1056 }\r
4da2e625 1057 jTextFieldFdf.setText(filePath.substring(wsDir.length() + 1).replace('\\', '/'));\r
a13899c5 1058 }\r
1059 }\r
1060 \r
1061 });\r
1062 }\r
4da2e625 1063 return jButtonFdfBrowse;\r
a13899c5 1064 }\r
1065\r
44053733 1066 /**\r
ae0d4fd2 1067 * This method initializes jTextField4 \r
44053733 1068 * \r
ae0d4fd2 1069 * @return javax.swing.JTextField \r
44053733 1070 */\r
4da2e625 1071 private JTextField getJTextFieldFvImageOptName() {\r
1072 if (jTextFieldFvImageOptName == null) {\r
1073 jTextFieldFvImageOptName = new JTextField();\r
1074 jTextFieldFvImageOptName.setEnabled(true);\r
1075 jTextFieldFvImageOptName.setPreferredSize(new Dimension(100, 20));\r
44053733 1076 }\r
4da2e625 1077 return jTextFieldFvImageOptName;\r
ae0d4fd2 1078 }\r
1079\r
1080 /**\r
1081 * This method initializes jTextField5 \r
1082 * \r
1083 * @return javax.swing.JTextField \r
1084 */\r
4da2e625 1085 private JTextField getJTextFieldFvImageOptValue() {\r
1086 if (jTextFieldFvImageOptValue == null) {\r
1087 jTextFieldFvImageOptValue = new JTextField();\r
1088 jTextFieldFvImageOptValue.setEnabled(true);\r
1089 jTextFieldFvImageOptValue.setPreferredSize(new Dimension(100, 20));\r
ae0d4fd2 1090 }\r
4da2e625 1091 return jTextFieldFvImageOptValue;\r
ae0d4fd2 1092 }\r
1093\r
1094 /**\r
1095 * This method initializes jPanel8 \r
1096 * \r
1097 * @return javax.swing.JPanel \r
1098 */\r
4da2e625 1099 private JPanel getJPanelFvImageOptsButtonGroup() {\r
1100 if (jPanelFvImageOptsButtonGroup == null) {\r
1101 jPanelFvImageOptsButtonGroup = new JPanel();\r
1102 jPanelFvImageOptsButtonGroup.setPreferredSize(new Dimension(80, 55));\r
1103 jPanelFvImageOptsButtonGroup.add(getJButtonFvImageOptAdd(), null);\r
1104 jPanelFvImageOptsButtonGroup.add(getJButtonFvImageOptDel(), null);\r
ae0d4fd2 1105 }\r
4da2e625 1106 return jPanelFvImageOptsButtonGroup;\r
ae0d4fd2 1107 }\r
1108\r
1109 /**\r
1110 * This method initializes jButton7 \r
1111 * \r
1112 * @return javax.swing.JButton \r
1113 */\r
4da2e625 1114 private JButton getJButtonFvImageOptAdd() {\r
1115 if (jButtonFvImageOptAdd == null) {\r
1116 jButtonFvImageOptAdd = new JButton();\r
1117 jButtonFvImageOptAdd.setEnabled(true);\r
1118 jButtonFvImageOptAdd.setText("Add");\r
1119 jButtonFvImageOptAdd.setPreferredSize(new Dimension(80, 20));\r
1120 jButtonFvImageOptAdd.addActionListener(new AbstractAction() {\r
ae0d4fd2 1121 /**\r
1122 * \r
1123 */\r
1124 private static final long serialVersionUID = 1L;\r
1125\r
1126 public void actionPerformed(ActionEvent e) {\r
4da2e625 1127 if (jTextFieldFvImageOptName.getText().length() > 0 && jTextFieldFvImageOptValue.getText().length() > 0){\r
1128 String[] row = {jTextFieldFvImageOptName.getText(), jTextFieldFvImageOptValue.getText()}; \r
ae0d4fd2 1129 fvOptionTableModel.addRow(row);\r
1130 }\r
1131 }\r
1132 });\r
1133 }\r
4da2e625 1134 return jButtonFvImageOptAdd;\r
ae0d4fd2 1135 }\r
1136\r
1137 /**\r
1138 * This method initializes jButton8 \r
1139 * \r
1140 * @return javax.swing.JButton \r
1141 */\r
4da2e625 1142 private JButton getJButtonFvImageOptDel() {\r
1143 if (jButtonFvImageOptDel == null) {\r
1144 jButtonFvImageOptDel = new JButton();\r
1145 jButtonFvImageOptDel.setEnabled(true);\r
1146 jButtonFvImageOptDel.setText("Delete");\r
1147 jButtonFvImageOptDel.setPreferredSize(new Dimension(80, 20));\r
1148 jButtonFvImageOptDel.addActionListener(new AbstractAction() {\r
ae0d4fd2 1149 /**\r
1150 * \r
1151 */\r
1152 private static final long serialVersionUID = 1L;\r
1153\r
1154 public void actionPerformed(ActionEvent e) {\r
4da2e625 1155 if (jTableFvImageOpts.getSelectedRow() >= 0){\r
1156 fvOptionTableModel.removeRow(jTableFvProp.getSelectedRow());\r
ae0d4fd2 1157 }\r
1158 }\r
1159 });\r
1160 }\r
4da2e625 1161 return jButtonFvImageOptDel;\r
ae0d4fd2 1162 }\r
1163\r
1164 /**\r
1165 * This method initializes jScrollPane \r
1166 * \r
1167 * @return javax.swing.JScrollPane \r
1168 */\r
1169 private JScrollPane getJScrollPane() {\r
1170 if (jScrollPane == null) {\r
1171 jScrollPane = new JScrollPane();\r
1172 jScrollPane.setPreferredSize(new java.awt.Dimension(350,80));\r
4da2e625 1173 jScrollPane.setViewportView(getJTableFvImageOpts());\r
ae0d4fd2 1174 }\r
1175 return jScrollPane;\r
1176 }\r
1177\r
1178 /**\r
1179 * This method initializes jTable3 \r
1180 * \r
1181 * @return javax.swing.JTable \r
1182 */\r
4da2e625 1183 private JTable getJTableFvImageOpts() {\r
1184 if (jTableFvImageOpts == null) {\r
ae0d4fd2 1185 fvOptionTableModel = new DefaultTableModel();\r
1186 fvOptionTableModel.addColumn("Name");\r
1187 fvOptionTableModel.addColumn("Value");\r
4da2e625 1188 jTableFvImageOpts = new JTable(fvOptionTableModel);\r
ae0d4fd2 1189\r
4da2e625 1190 jTableFvImageOpts.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
1191 jTableFvImageOpts.setRowHeight(20);\r
ae0d4fd2 1192 \r
1193 }\r
4da2e625 1194 return jTableFvImageOpts;\r
ae0d4fd2 1195 }\r
1196\r
1197 /**\r
1198 * This method initializes jButton9 \r
1199 * \r
1200 * @return javax.swing.JButton \r
1201 */\r
4da2e625 1202 private JButton getJButtonUpdateFvImage() {\r
1203 if (jButtonUpdateFvImage == null) {\r
1204 jButtonUpdateFvImage = new JButton();\r
1205 jButtonUpdateFvImage.setPreferredSize(new Dimension(120, 20));\r
1206 jButtonUpdateFvImage.setActionCommand("Update");\r
1207 jButtonUpdateFvImage.setText("Update FV");\r
1208 jButtonUpdateFvImage.addActionListener(new java.awt.event.ActionListener() {\r
ae0d4fd2 1209 public void actionPerformed(java.awt.event.ActionEvent e) {\r
4da2e625 1210 int row = jTableFvInfo.getSelectedRow();\r
1211 if (jTableFvInfo.isEditing()) {\r
1212 jTableFvInfo.getCellEditor().stopCellEditing();\r
ae0d4fd2 1213 }\r
4da2e625 1214 if (jTableFvImageOpts.isEditing()) {\r
1215 jTableFvImageOpts.getCellEditor().stopCellEditing();\r
ae0d4fd2 1216 }\r
1217 \r
1218 //ToDo Check data validity before update\r
1219 String name = fvImageParaTableModel.getValueAt(row, 0) + "";\r
1220 String type = fvImageParaTableModel.getValueAt(row, 1) + "";\r
1221 \r
1222 LinkedHashMap<String, String> lhm = new LinkedHashMap<String, String>();\r
1223 getOptionNameValue(lhm);\r
1224 \r
d6d24759 1225 docConsole.setSaved(false);\r
ae0d4fd2 1226 ffc.updateFvImagesFvImage(row, name.split(" "), type, lhm);\r
1227 \r
1228 }\r
1229 });\r
1230 }\r
4da2e625 1231 return jButtonUpdateFvImage;\r
44053733 1232 }\r
1233\r
a13899c5 1234 /**\r
1235 * @param args\r
1236 */\r
1237 public static void main(String[] args) {\r
1238 // TODO Auto-generated method stub\r
1239 new FpdFlash().setVisible(true);\r
1240 }\r
1241\r
1242 /**\r
1243 * This method initializes this\r
1244 * \r
1245 * @return void\r
1246 */\r
1247 private void initialize() {\r
1248 this.setSize(518, 650);\r
1249 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
1250 this.setContentPane(getJContentPane());\r
1251 this.setTitle("FPD Flash Definitions");\r
44053733 1252 this.addInternalFrameListener(new InternalFrameAdapter(){\r
1253 public void internalFrameDeactivated(InternalFrameEvent e){\r
4da2e625 1254 if (jTableFvProp.isEditing()) {\r
1255 jTableFvProp.getCellEditor().stopCellEditing();\r
44053733 1256 }\r
4da2e625 1257 if (jTableFvImageNames.isEditing()) {\r
1258 jTableFvImageNames.getCellEditor().stopCellEditing();\r
44053733 1259 }\r
4da2e625 1260 if (jTableFvInfo.isEditing()) {\r
1261 jTableFvInfo.getCellEditor().stopCellEditing();\r
44053733 1262 }\r
1263 }\r
1264 });\r
a13899c5 1265 }\r
1266\r
1267 private void init(FpdFileContents ffc) {\r
1268 if (ffc.getFvImagesFvImageCount() == 0) {\r
1269 return;\r
1270 }\r
1271 String[][] saa = new String[ffc.getFvImagesFvImageCount()][2];\r
ae0d4fd2 1272// ArrayList<LinkedHashMap<String, String>> options = new ArrayList<LinkedHashMap<String, String>>(ffc.getFvImagesFvImageCount());\r
1273//\r
1274// for (int j = 0; j < ffc.getFvImagesFvImageCount(); ++j){\r
1275// options.add(new LinkedHashMap<String, String>());\r
1276// }\r
1277 ffc.getFvImagesFvImages(saa);\r
a13899c5 1278 \r
ae0d4fd2 1279 \r
a13899c5 1280 int i = 0;\r
a13899c5 1281 while (i < saa.length) {\r
a13899c5 1282 \r
ae0d4fd2 1283 fvImageParaTableModel.addRow(saa[i]);\r
a13899c5 1284 ++i;\r
1285 }\r
908b1c05 1286 \r
1287// String fdfFile = ffc.getFlashDefinitionFile();\r
1288// if (fdfFile != null) {\r
1289// jTextField3.setText(fdfFile);\r
1290// }\r
a13899c5 1291 }\r
1292 \r
ae0d4fd2 1293 private void getOptionNameValue(Map<String, String> m){\r
4da2e625 1294 for (int i = 0; i < jTableFvImageOpts.getRowCount(); ++i) {\r
ae0d4fd2 1295 m.put(fvOptionTableModel.getValueAt(i, 0)+"", fvOptionTableModel.getValueAt(i, 1)+"");\r
a13899c5 1296 }\r
1297 }\r
1298 /**\r
1299 * This method initializes jContentPane\r
1300 * \r
1301 * @return javax.swing.JPanel\r
1302 */\r
1303 private JPanel getJContentPane() {\r
1304 if (jContentPane == null) {\r
1305 jContentPane = new JPanel();\r
1306 jContentPane.setLayout(new BorderLayout());\r
4da2e625 1307 jContentPane.add(getJPanelContentEast(), java.awt.BorderLayout.EAST);\r
1308 jContentPane.add(getJPanelContentSouth(), java.awt.BorderLayout.SOUTH);\r
1309 jContentPane.add(getJPanelContentWest(), java.awt.BorderLayout.WEST);\r
1310 jContentPane.add(getJPanelContentNorth(), java.awt.BorderLayout.NORTH);\r
a13899c5 1311 jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER);\r
1312 }\r
1313 return jContentPane;\r
1314 }\r
1315\r
1316} // @jve:decl-index=0:visual-constraint="10,10"\r
1317\r
1318class ImageParaTableModel extends DefaultTableModel {\r
1319\r
44053733 1320 private static final long serialVersionUID = 1L;\r
44053733 1321 \r
1322 public boolean isCellEditable(int row, int col) {\r
1323 if (getValueAt(row, 1).equals("ImageName") && col >=1) {\r
1324 return false;\r
1325 }\r
1326 return true;\r
a13899c5 1327 }\r
1328}\r
ae0d4fd2 1329\r