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