3 The file is used to create, update BuildOptions of Fpd file
5 Copyright (c) 2006, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 package org
.tianocore
.frameworkwizard
.platform
.ui
;
17 import java
.awt
.BorderLayout
;
19 import javax
.swing
.JPanel
;
20 import javax
.swing
.JTabbedPane
;
21 import javax
.swing
.JCheckBox
;
22 import javax
.swing
.JLabel
;
23 import java
.awt
.FlowLayout
;
24 import javax
.swing
.AbstractAction
;
25 import java
.awt
.event
.ActionEvent
;
26 import java
.awt
.event
.ActionListener
;
28 import javax
.swing
.DefaultCellEditor
;
29 import javax
.swing
.JTextField
;
30 import javax
.swing
.JButton
;
31 import javax
.swing
.JScrollPane
;
32 import javax
.swing
.JTable
;
33 import javax
.swing
.JComboBox
;
34 import javax
.swing
.ListSelectionModel
;
35 import javax
.swing
.event
.InternalFrameAdapter
;
36 import javax
.swing
.event
.InternalFrameEvent
;
37 import javax
.swing
.event
.ListSelectionEvent
;
38 import javax
.swing
.event
.ListSelectionListener
;
39 import javax
.swing
.event
.TableModelEvent
;
40 import javax
.swing
.event
.TableModelListener
;
41 import javax
.swing
.table
.DefaultTableModel
;
42 import javax
.swing
.table
.TableColumn
;
43 import javax
.swing
.table
.TableModel
;
45 import org
.tianocore
.PlatformSurfaceAreaDocument
;
46 import org
.tianocore
.frameworkwizard
.common
.ui
.IInternalFrame
;
47 import java
.util
.ArrayList
;
48 import java
.util
.Iterator
;
49 import java
.util
.LinkedHashMap
;
51 import java
.util
.Vector
;
53 public class FpdBuildOptions
extends IInternalFrame
{
55 private static final long serialVersionUID
= 1L;
56 private JPanel jContentPane
= null;
57 private JPanel jPanel
= null;
58 private JPanel jPanel1
= null;
59 private JPanel jPanel2
= null;
60 private JPanel jPanel3
= null;
61 private JTabbedPane jTabbedPane
= null;
62 private JPanel jPanel8
= null;
63 private JPanel jPanel9
= null;
64 private JPanel jPanel10
= null;
65 private JPanel jPanel11
= null;
66 private JTextField jTextField2
= null;
67 private JLabel jLabel3
= null;
68 private JTextField jTextField3
= null;
69 private JButton jButton4
= null;
70 private JButton jButton5
= null;
71 private JTextField jTextField4
= null;
72 private JScrollPane jScrollPane2
= null;
73 private JTable jTable2
= null;
74 private DefaultTableModel ffsTableModel
= null;
75 private DefaultTableModel sectionsTableModel
= null;
76 private DefaultTableModel sectionTableModel
= null;
77 private DefaultTableModel subsectionsTableModel
= null;
78 private DefaultTableModel antTaskTableModel
= null;
79 private DefaultTableModel ffsAttributesTableModel
= null;
80 private DefaultTableModel optionsTableModel
= null;
81 private JPanel jPanel13
= null;
82 private JPanel jPanel18
= null;
83 private JPanel jPanel15
= null;
84 private JPanel jPanel16
= null;
85 private JPanel jPanel17
= null;
86 private JLabel jLabel7
= null;
87 private JTextField jTextField6
= null;
88 private JButton jButton8
= null;
89 private JButton jButton9
= null;
90 private JScrollPane jScrollPane5
= null;
91 private JTable jTable4
= null;
92 private JPanel jPanel19
= null;
93 private JPanel jPanel20
= null;
94 private JLabel jLabel9
= null;
95 private JTextField jTextField7
= null;
96 private JLabel jLabel10
= null;
97 private JComboBox jComboBox2
= null;
98 private JLabel jLabel11
= null;
99 private JLabel jLabel12
= null;
100 private JTextField jTextField8
= null;
101 private JScrollPane jScrollPane6
= null;
102 private JTable jTable5
= null;
103 private JButton jButton10
= null;
104 private JButton jButton11
= null;
105 private JButton jButton17
= null;
106 private JButton jButton18
= null;
107 private FpdFileContents ffc
= null;
108 private JButton jButton19
= null;
109 private JCheckBox jCheckBox9
= null;
110 private JCheckBox jCheckBox10
= null;
111 private JCheckBox jCheckBox11
= null;
112 private JCheckBox jCheckBox12
= null;
113 private JCheckBox jCheckBox13
= null;
114 private JCheckBox jCheckBox14
= null;
115 private JLabel jLabel14
= null;
116 private JTextField jTextField12
= null;
117 private JTextField jTextField13
= null;
118 private JLabel jLabel15
= null;
119 private int selectedRow
= -1;
120 private JLabel jLabel
= null;
121 private JLabel jLabel1
= null;
122 private JScrollPane jScrollPane
= null;
123 private JTable jTable
= null;
124 private JLabel jLabel2
= null;
125 private JScrollPane jScrollPane1
= null;
126 private JTable jTable1
= null;
127 private JLabel jLabel4
= null;
128 private JScrollPane jScrollPane3
= null;
129 private JTable jTable3
= null;
130 private JLabel jLabel5
= null;
131 private JTextField jTextField
= null;
132 private JPanel jPanel4
= null;
133 private JLabel jLabel6
= null;
134 private JButton jButton
= null;
135 private JButton jButton1
= null;
136 private JButton jButton2
= null;
137 private JButton jButton3
= null;
138 private JLabel jLabel8
= null;
139 private JButton jButton6
= null;
140 private JButton jButton7
= null;
141 private JScrollPane jScrollPane4
= null;
142 private JTable jTable6
= null;
144 * This method initializes jPanel
146 * @return javax.swing.JPanel
148 private JPanel
getJPanel() {
149 if (jPanel
== null) {
150 jPanel
= new JPanel();
156 * This method initializes jPanel1
158 * @return javax.swing.JPanel
160 private JPanel
getJPanel1() {
161 if (jPanel1
== null) {
162 jPanel1
= new JPanel();
168 * This method initializes jPanel2
170 * @return javax.swing.JPanel
172 private JPanel
getJPanel2() {
173 if (jPanel2
== null) {
174 jPanel2
= new JPanel();
180 * This method initializes jPanel3
182 * @return javax.swing.JPanel
184 private JPanel
getJPanel3() {
185 if (jPanel3
== null) {
186 jPanel3
= new JPanel();
192 * This method initializes jTabbedPane
194 * @return javax.swing.JTabbedPane
196 private JTabbedPane
getJTabbedPane() {
197 if (jTabbedPane
== null) {
198 jTabbedPane
= new JTabbedPane();
199 jTabbedPane
.addTab("FFS", null, getJPanel13(), null);
200 jTabbedPane
.addTab("Options", null, getJPanel20(), null);
201 jTabbedPane
.addTab("User Defined ANT Tasks", null, getJPanel8(), null);
208 * This method initializes jPanel8
210 * @return javax.swing.JPanel
212 private JPanel
getJPanel8() {
213 if (jPanel8
== null) {
214 jPanel8
= new JPanel();
215 jPanel8
.setLayout(new BorderLayout());
216 jPanel8
.add(getJPanel9(), java
.awt
.BorderLayout
.NORTH
);
217 jPanel8
.add(getJPanel10(), java
.awt
.BorderLayout
.SOUTH
);
218 jPanel8
.add(getJPanel11(), java
.awt
.BorderLayout
.CENTER
);
225 * This method initializes jPanel9
227 * @return javax.swing.JPanel
229 private JPanel
getJPanel9() {
230 if (jPanel9
== null) {
231 jLabel
= new JLabel();
232 jLabel
.setText("ANT Task File");
233 jLabel
.setPreferredSize(new java
.awt
.Dimension(80,20));
234 FlowLayout flowLayout8
= new FlowLayout();
235 flowLayout8
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
236 jLabel3
= new JLabel();
237 jLabel3
.setText("ID");
238 jPanel9
= new JPanel();
239 jPanel9
.setLayout(flowLayout8
);
240 jPanel9
.add(jLabel
, null);
241 jPanel9
.add(getJTextField2(), null);
242 jPanel9
.add(jLabel3
, null);
243 jPanel9
.add(getJTextField3(), null);
249 * This method initializes jPanel10
251 * @return javax.swing.JPanel
253 private JPanel
getJPanel10() {
254 if (jPanel10
== null) {
255 jPanel10
= new JPanel();
261 * This method initializes jPanel11
263 * @return javax.swing.JPanel
265 private JPanel
getJPanel11() {
266 if (jPanel11
== null) {
267 jLabel1
= new JLabel();
268 jLabel1
.setText("ANT Command Options");
269 jLabel1
.setPreferredSize(new java
.awt
.Dimension(131,20));
270 FlowLayout flowLayout3
= new FlowLayout();
271 flowLayout3
.setHgap(5);
272 flowLayout3
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
273 jPanel11
= new JPanel();
274 jPanel11
.setLayout(flowLayout3
);
275 jPanel11
.add(jLabel1
, null);
276 jPanel11
.add(getJTextField4(), null);
277 jPanel11
.add(getJButton4(), null);
278 jPanel11
.add(getJButton5(), null);
279 jPanel11
.add(getJScrollPane2(), null);
285 * This method initializes jTextField2
287 * @return javax.swing.JTextField
289 private JTextField
getJTextField2() {
290 if (jTextField2
== null) {
291 jTextField2
= new JTextField();
292 jTextField2
.setPreferredSize(new java
.awt
.Dimension(200,20));
298 * This method initializes jTextField3
300 * @return javax.swing.JTextField
302 private JTextField
getJTextField3() {
303 if (jTextField3
== null) {
304 jTextField3
= new JTextField();
305 jTextField3
.setPreferredSize(new java
.awt
.Dimension(100,20));
311 * This method initializes jButton4
313 * @return javax.swing.JButton
315 private JButton
getJButton4() {
316 if (jButton4
== null) {
317 jButton4
= new JButton();
318 jButton4
.setPreferredSize(new java
.awt
.Dimension(90,20));
319 jButton4
.setText("Add");
320 jButton4
.addActionListener(new ActionListener() {
321 public void actionPerformed(ActionEvent e
) {
322 Object
[] o
= {jTextField3
.getText(), null, null};
323 o
[1] = jTextField2
.getText();
324 o
[2] = jTextField4
.getText();
325 ffc
.genBuildOptionsUserDefAntTask(o
[0]+"", null, o
[2]+"");
326 antTaskTableModel
.addRow(o
);
335 * This method initializes jButton5
337 * @return javax.swing.JButton
339 private JButton
getJButton5() {
340 if (jButton5
== null) {
341 jButton5
= new JButton();
342 jButton5
.setPreferredSize(new java
.awt
.Dimension(90,20));
343 jButton5
.setText("Delete");
344 jButton5
.addActionListener(new ActionListener() {
345 public void actionPerformed(ActionEvent e
) {
346 if (selectedRow
>= 0) {
347 antTaskTableModel
.removeRow(selectedRow
);
348 ffc
.removeBuildOptionsUserDefAntTask(selectedRow
);
357 * This method initializes jTextField4
359 * @return javax.swing.JTextField
361 private JTextField
getJTextField4() {
362 if (jTextField4
== null) {
363 jTextField4
= new JTextField();
364 jTextField4
.setPreferredSize(new java
.awt
.Dimension(270,20));
365 jTextField4
.setEnabled(true);
371 * This method initializes jScrollPane2
373 * @return javax.swing.JScrollPane
375 private JScrollPane
getJScrollPane2() {
376 if (jScrollPane2
== null) {
377 jScrollPane2
= new JScrollPane();
378 jScrollPane2
.setPreferredSize(new java
.awt
.Dimension(600,100));
379 jScrollPane2
.setViewportView(getJTable2());
385 * This method initializes jTable2
387 * @return javax.swing.JTable
389 private JTable
getJTable2() {
390 if (jTable2
== null) {
391 antTaskTableModel
= new DefaultTableModel();
392 jTable2
= new JTable(antTaskTableModel
);
393 antTaskTableModel
.addColumn("ID");
394 antTaskTableModel
.addColumn("Filename");
395 antTaskTableModel
.addColumn("ANT Command Options");
397 jTable2
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
398 jTable2
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
399 public void valueChanged(ListSelectionEvent e
) {
401 if (e
.getValueIsAdjusting()){
404 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
405 if (lsm
.isSelectionEmpty()) {
409 selectedRow
= lsm
.getMinSelectionIndex();
414 jTable2
.getModel().addTableModelListener(new TableModelListener() {
415 public void tableChanged(TableModelEvent arg0
) {
416 // TODO Auto-generated method stub
417 int row
= arg0
.getFirstRow();
418 TableModel m
= (TableModel
)arg0
.getSource();
419 if (arg0
.getType() == TableModelEvent
.UPDATE
){
420 //ToDo Data Validition check.
421 String id
= m
.getValueAt(row
, 0) + "";
422 String file
= m
.getValueAt(row
, 1) + "";
423 String execOrder
= m
.getValueAt(row
, 2) + "";
424 if (id
.length() == 0) {
427 if (file
.length() == 0 && execOrder
.length() == 0){
430 if (file
.length() == 0) {
433 if (execOrder
.length() == 0) {
436 ffc
.updateBuildOptionsUserDefAntTask(row
, id
, file
, execOrder
);
446 * This method initializes jPanel13
448 * @return javax.swing.JPanel
450 private JPanel
getJPanel13() {
451 if (jPanel13
== null) {
452 jPanel13
= new JPanel();
453 jPanel13
.setLayout(new BorderLayout());
454 jPanel13
.add(getJPanel18(), java
.awt
.BorderLayout
.CENTER
);
455 jPanel13
.add(getJScrollPane(), java
.awt
.BorderLayout
.WEST
);
461 * This method initializes jPanel18
463 * @return javax.swing.JPanel
465 private JPanel
getJPanel18() {
466 if (jPanel18
== null) {
467 jPanel18
= new JPanel();
468 jPanel18
.setLayout(new BorderLayout());
469 jPanel18
.add(getJPanel15(), java
.awt
.BorderLayout
.NORTH
);
470 jPanel18
.add(getJPanel16(), java
.awt
.BorderLayout
.SOUTH
);
471 jPanel18
.add(getJPanel17(), java
.awt
.BorderLayout
.EAST
);
472 jPanel18
.add(getJPanel19(), java
.awt
.BorderLayout
.CENTER
);
478 * This method initializes jPanel15
480 * @return javax.swing.JPanel
482 private JPanel
getJPanel15() {
483 if (jPanel15
== null) {
484 jLabel5
= new JLabel();
485 jLabel5
.setText("Encapsulation Type");
486 FlowLayout flowLayout5
= new FlowLayout();
487 flowLayout5
.setAlignment(java
.awt
.FlowLayout
.RIGHT
);
488 jLabel7
= new JLabel();
489 jLabel7
.setText("FFS Key");
490 jPanel15
= new JPanel();
491 jPanel15
.setLayout(flowLayout5
);
492 jPanel15
.add(jLabel7
, null);
493 jPanel15
.add(getJTextField6(), null);
494 jPanel15
.add(jLabel5
, null);
495 jPanel15
.add(getJTextField(), null);
496 jPanel15
.add(getJButton8(), null);
497 jPanel15
.add(getJButton9(), null);
503 * This method initializes jPanel16
505 * @return javax.swing.JPanel
507 private JPanel
getJPanel16() {
508 if (jPanel16
== null) {
509 jLabel6
= new JLabel();
510 jLabel6
.setText("Attributes");
511 FlowLayout flowLayout6
= new FlowLayout();
512 flowLayout6
.setHgap(5);
513 flowLayout6
.setVgap(20);
514 flowLayout6
.setAlignment(java
.awt
.FlowLayout
.CENTER
);
515 jPanel16
= new JPanel();
516 jPanel16
.setPreferredSize(new java
.awt
.Dimension(491,130));
517 jPanel16
.setLayout(flowLayout6
);
518 jPanel16
.add(jLabel6
, null);
519 jPanel16
.add(getJScrollPane5(), null);
520 jPanel16
.add(getJPanel4(), null);
526 * This method initializes jPanel17
528 * @return javax.swing.JPanel
530 private JPanel
getJPanel17() {
531 if (jPanel17
== null) {
532 jPanel17
= new JPanel();
538 * This method initializes jTextField6
540 * @return javax.swing.JTextField
542 private JTextField
getJTextField6() {
543 if (jTextField6
== null) {
544 jTextField6
= new JTextField();
545 jTextField6
.setPreferredSize(new java
.awt
.Dimension(100,20));
546 jTextField6
.setEditable(false);
547 jTextField6
.addFocusListener(new java
.awt
.event
.FocusAdapter() {
548 public void focusLost(java
.awt
.event
.FocusEvent e
) {
549 if (jTable
.getSelectedRow() < 0) {
552 // ffc.updateBuildOptionsFfsKey(jTable.getSelectedRow(), jTextField6.getText());
560 * This method initializes jButton8
562 * @return javax.swing.JButton
564 private JButton
getJButton8() {
565 if (jButton8
== null) {
566 jButton8
= new JButton();
567 jButton8
.setPreferredSize(new java
.awt
.Dimension(70,20));
568 jButton8
.setText("Add");
569 jButton8
.addActionListener(new AbstractAction() {
573 private static final long serialVersionUID
= -2923720717273384221L;
575 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
576 if (jTextField6
.getText().length() > 0) {
577 String
[] row
= {jTextField6
.getText()};
578 ffsTableModel
.addRow(row
);
579 ffc
.genBuildOptionsFfs(jTextField6
.getText(), jTextField
.getText());
588 * This method initializes jButton9
590 * @return javax.swing.JButton
592 private JButton
getJButton9() {
593 if (jButton9
== null) {
594 jButton9
= new JButton();
595 jButton9
.setPreferredSize(new java
.awt
.Dimension(70,20));
596 jButton9
.setText("Delete");
597 jButton9
.addActionListener(new AbstractAction() {
601 private static final long serialVersionUID
= -4002678939178194476L;
603 public void actionPerformed(ActionEvent arg0
){
604 if (jTable
.getSelectedRow() < 0) {
607 ffc
.removeBuildOptionsFfs(jTable
.getSelectedRow());
615 * This method initializes jScrollPane5
617 * @return javax.swing.JScrollPane
619 private JScrollPane
getJScrollPane5() {
620 if (jScrollPane5
== null) {
621 jScrollPane5
= new JScrollPane();
622 jScrollPane5
.setPreferredSize(new java
.awt
.Dimension(350,100));
623 jScrollPane5
.setViewportView(getJTable4());
629 * This method initializes jTable4
631 * @return javax.swing.JTable
633 private JTable
getJTable4() {
634 if (jTable4
== null) {
635 ffsAttributesTableModel
= new DefaultTableModel();
636 jTable4
= new JTable(ffsAttributesTableModel
);
637 jTable4
.setPreferredSize(new java
.awt
.Dimension(400,80));
638 ffsAttributesTableModel
.addColumn("Name");
639 ffsAttributesTableModel
.addColumn("Value");
641 jTable4
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
642 jTable4
.getModel().addTableModelListener(new TableModelListener() {
643 public void tableChanged(TableModelEvent arg0
) {
644 // TODO Auto-generated method stub
645 int row
= arg0
.getFirstRow();
646 TableModel m
= (TableModel
)arg0
.getSource();
647 if (arg0
.getType() == TableModelEvent
.UPDATE
){
648 //ToDo Data Validition check.
649 String name
= m
.getValueAt(row
, 0) + "";
650 String value
= m
.getValueAt(row
, 1) + "";
652 if (name
.length() == 0) {
655 if (value
.length() == 0){
658 ffc
.updateBuildOptionsFfsAttribute(jTable
.getSelectedRow(), row
, name
, value
);
667 * This method initializes jPanel19
669 * @return javax.swing.JPanel
671 private JPanel
getJPanel19() {
672 if (jPanel19
== null) {
673 jLabel8
= new JLabel();
674 jLabel8
.setText("Sections");
675 jLabel4
= new JLabel();
676 jLabel4
.setText("Sub-Sections");
677 jLabel2
= new JLabel();
678 jLabel2
.setText("Section");
679 jPanel19
= new JPanel();
680 jPanel19
.setLayout(new FlowLayout());
681 jPanel19
.add(jLabel2
, null);
682 jPanel19
.add(getJButton(), null);
683 jPanel19
.add(getJButton1(), null);
684 jPanel19
.add(getJScrollPane1(), null);
685 jPanel19
.add(jLabel8
, null);
686 jPanel19
.add(getJButton6(), null);
687 jPanel19
.add(getJButton7(), null);
688 jPanel19
.add(getJScrollPane4(), null);
689 jPanel19
.add(jLabel4
, null);
690 jPanel19
.add(getJButton2(), null);
691 jPanel19
.add(getJButton3(), null);
692 jPanel19
.add(getJScrollPane3(), null);
698 * This method initializes jPanel20
700 * @return javax.swing.JPanel
702 private JPanel
getJPanel20() {
703 if (jPanel20
== null) {
704 jLabel15
= new JLabel();
705 jLabel15
.setText("Tag Name");
706 FlowLayout flowLayout9
= new FlowLayout();
707 flowLayout9
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
708 jLabel14
= new JLabel();
709 jLabel14
.setText("Build Targets");
710 jLabel12
= new JLabel();
711 jLabel12
.setText("Tool Command");
712 jLabel11
= new JLabel();
713 jLabel11
.setText("Supported Arch");
714 jLabel10
= new JLabel();
715 jLabel10
.setText("Tool Chain Family");
716 jLabel9
= new JLabel();
717 jLabel9
.setText("Option Contents");
718 jPanel20
= new JPanel();
719 jPanel20
.setLayout(flowLayout9
);
720 jPanel20
.add(jLabel14
, null);
721 jPanel20
.add(getJTextField12(), null);
722 jPanel20
.add(jLabel10
, null);
723 jPanel20
.add(getJComboBox2(), null);
724 jPanel20
.add(jLabel12
, null);
725 jPanel20
.add(getJTextField8(), null);
726 jPanel20
.add(jLabel11
, null);
727 jPanel20
.add(getJCheckBox9(), null);
728 jPanel20
.add(getJCheckBox10(), null);
729 jPanel20
.add(getJCheckBox11(), null);
730 jPanel20
.add(getJCheckBox12(), null);
731 jPanel20
.add(getJCheckBox13(), null);
732 jPanel20
.add(getJCheckBox14(), null);
733 jPanel20
.add(jLabel15
, null);
734 jPanel20
.add(getJTextField13(), null);
735 jPanel20
.add(jLabel9
, null);
736 jPanel20
.add(getJTextField7(), null);
737 jPanel20
.add(getJButton10(), null);
738 jPanel20
.add(getJButton11(), null);
739 jPanel20
.add(getJButton19(), null);
740 jPanel20
.add(getJScrollPane6(), null);
746 * This method initializes jTextField7
748 * @return javax.swing.JTextField
750 private JTextField
getJTextField7() {
751 if (jTextField7
== null) {
752 jTextField7
= new JTextField();
753 jTextField7
.setPreferredSize(new java
.awt
.Dimension(300,20));
759 * This method initializes jComboBox2
761 * @return javax.swing.JComboBox
763 private JComboBox
getJComboBox2() {
764 if (jComboBox2
== null) {
765 jComboBox2
= new JComboBox();
766 jComboBox2
.setPreferredSize(new java
.awt
.Dimension(80,20));
767 jComboBox2
.addItem("MSFT");
768 jComboBox2
.addItem("GCC");
769 jComboBox2
.addItem("CYGWIN");
770 jComboBox2
.addItem("INTEL");
771 jComboBox2
.setSelectedIndex(0);
777 * This method initializes jTextField8
779 * @return javax.swing.JTextField
781 private JTextField
getJTextField8() {
782 if (jTextField8
== null) {
783 jTextField8
= new JTextField();
784 jTextField8
.setPreferredSize(new java
.awt
.Dimension(110,20));
790 * This method initializes jScrollPane6
792 * @return javax.swing.JScrollPane
794 private JScrollPane
getJScrollPane6() {
795 if (jScrollPane6
== null) {
796 jScrollPane6
= new JScrollPane();
797 jScrollPane6
.setPreferredSize(new java
.awt
.Dimension(630,200));
798 jScrollPane6
.setViewportView(getJTable5());
804 * This method initializes jTable5
806 * @return javax.swing.JTable
808 private JTable
getJTable5() {
809 if (jTable5
== null) {
810 optionsTableModel
= new DefaultTableModel();
811 jTable5
= new JTable(optionsTableModel
);
812 optionsTableModel
.addColumn("BuildTargets");
813 optionsTableModel
.addColumn("ToolChainFamily");
814 optionsTableModel
.addColumn("SupportedArch");
815 optionsTableModel
.addColumn("ToolCommand");
816 optionsTableModel
.addColumn("TagName");
817 optionsTableModel
.addColumn("Contents");
819 TableColumn toolFamilyCol
= jTable5
.getColumnModel().getColumn(1);
820 JComboBox cb
= new JComboBox();
823 cb
.addItem("CYGWIN");
825 toolFamilyCol
.setCellEditor(new DefaultCellEditor(cb
));
827 jTable5
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
828 jTable5
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
829 public void valueChanged(ListSelectionEvent e
) {
831 if (e
.getValueIsAdjusting()){
834 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
835 if (lsm
.isSelectionEmpty()) {
839 selectedRow
= lsm
.getMinSelectionIndex();
844 jTable5
.getModel().addTableModelListener(new TableModelListener() {
845 public void tableChanged(TableModelEvent arg0
) {
846 // TODO Auto-generated method stub
847 int row
= arg0
.getFirstRow();
848 TableModel m
= (TableModel
)arg0
.getSource();
849 if (arg0
.getType() == TableModelEvent
.UPDATE
){
850 //ToDo Data Validition check.
851 String targets
= m
.getValueAt(row
, 0) + "";
852 Vector
<Object
> targetName
= new Vector
<Object
>();
853 String
[] sArray
= targets
.split("( )+");
854 for (int i
= 0; i
< sArray
.length
; ++i
) {
855 targetName
.add(sArray
[i
]);
857 String toolChain
= m
.getValueAt(row
, 1) + "";
858 String archs
= m
.getValueAt(row
, 2) + "";
859 Vector
<Object
> supArch
= new Vector
<Object
>();
860 String
[] sArray1
= archs
.split("( )+");
861 for (int i
= 0; i
< sArray1
.length
; ++i
) {
862 supArch
.add(sArray1
[i
]);
864 if (supArch
.size() == 0) {
867 String toolCmd
= m
.getValueAt(row
, 3) + "";
868 String tagName
= m
.getValueAt(row
, 4) + "";
869 String contents
= m
.getValueAt(row
, 5) + "";
870 ffc
.updateBuildOptionsOpt(row
, targetName
, toolChain
, tagName
, toolCmd
, supArch
, contents
);
879 * This method initializes jButton10
881 * @return javax.swing.JButton
883 private JButton
getJButton10() {
884 if (jButton10
== null) {
885 jButton10
= new JButton();
886 jButton10
.setText("Add");
887 jButton10
.setPreferredSize(new java
.awt
.Dimension(70,20));
888 jButton10
.addActionListener(new AbstractAction() {
892 private static final long serialVersionUID
= 1L;
894 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
895 boolean[] boolArray
= {jCheckBox9
.isSelected(),jCheckBox10
.isSelected(),jCheckBox11
.isSelected(),
896 jCheckBox12
.isSelected(),jCheckBox13
.isSelected(),jCheckBox14
.isSelected()};
897 String s
= boolToList(boolArray
);
898 Object
[] o
= {jTextField12
.getText(), jComboBox2
.getSelectedItem(), s
,
899 jTextField8
.getText(), jTextField13
.getText(), jTextField7
.getText()};
900 optionsTableModel
.addRow(o
);
902 ffc
.genBuildOptionsOpt(stringToVector(jTextField12
.getText()), jComboBox2
.getSelectedItem()+"", jTextField13
.getText(), jTextField8
.getText(), stringToVector(s
), jTextField7
.getText());
909 private Vector
<Object
> stringToVector(String s
) {
910 String
[] sArray
= s
.split(" ");
911 Vector
<Object
> v
= new Vector
<Object
>();
912 for (int i
= 0; i
< sArray
.length
; ++i
) {
918 private String
boolToList (boolean[] bool
) {
945 * This method initializes jButton11
947 * @return javax.swing.JButton
949 private JButton
getJButton11() {
950 if (jButton11
== null) {
951 jButton11
= new JButton();
952 jButton11
.setText("Delete");
953 jButton11
.setPreferredSize(new java
.awt
.Dimension(70,20));
954 jButton11
.addActionListener(new AbstractAction() {
958 private static final long serialVersionUID
= 1L;
960 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
961 if (selectedRow
>= 0) {
962 optionsTableModel
.removeRow(selectedRow
);
963 ffc
.removeBuildOptionsOpt(selectedRow
);
972 * This method initializes jButton17
974 * @return javax.swing.JButton
976 private JButton
getJButton17() {
977 if (jButton17
== null) {
978 jButton17
= new JButton();
979 jButton17
.setPreferredSize(new java
.awt
.Dimension(80,20));
980 jButton17
.setText("New");
981 jButton17
.addActionListener(new AbstractAction() {
985 private static final long serialVersionUID
= 1L;
987 public void actionPerformed(ActionEvent arg0
){
988 if (jTable
.getSelectedRow() < 0) {
991 Object
[] o
= {"", ""};
992 ffsAttributesTableModel
.addRow(o
);
993 ffc
.genBuildOptionsFfsAttribute(jTable
.getSelectedRow(), "", "");
1001 * This method initializes jButton18
1003 * @return javax.swing.JButton
1005 private JButton
getJButton18() {
1006 if (jButton18
== null) {
1007 jButton18
= new JButton();
1008 jButton18
.setPreferredSize(new java
.awt
.Dimension(80,20));
1009 jButton18
.setText("Remove");
1010 jButton18
.addActionListener(new AbstractAction(){
1014 private static final long serialVersionUID
= 1L;
1016 public void actionPerformed(ActionEvent arg0
){
1017 if (jTable
.getSelectedRow() < 0) {
1020 if (jTable4
.getSelectedRow() >= 0){
1021 ffsAttributesTableModel
.removeRow(jTable4
.getSelectedRow());
1022 ffc
.removeBuildOptionsFfsAttribute(jTable
.getSelectedRow(), jTable4
.getSelectedRow());
1031 * This method initializes jButton19
1033 * @return javax.swing.JButton
1035 private JButton
getJButton19() {
1036 if (jButton19
== null) {
1037 jButton19
= new JButton();
1038 jButton19
.setPreferredSize(new java
.awt
.Dimension(75,20));
1039 jButton19
.setEnabled(false);
1040 jButton19
.setText("Update");
1046 * This method initializes jCheckBox9
1048 * @return javax.swing.JCheckBox
1050 private JCheckBox
getJCheckBox9() {
1051 if (jCheckBox9
== null) {
1052 jCheckBox9
= new JCheckBox();
1053 jCheckBox9
.setPreferredSize(new java
.awt
.Dimension(50,20));
1054 jCheckBox9
.setText("IA32");
1060 * This method initializes jCheckBox10
1062 * @return javax.swing.JCheckBox
1064 private JCheckBox
getJCheckBox10() {
1065 if (jCheckBox10
== null) {
1066 jCheckBox10
= new JCheckBox();
1067 jCheckBox10
.setPreferredSize(new java
.awt
.Dimension(50,20));
1068 jCheckBox10
.setText("IPF");
1074 * This method initializes jCheckBox11
1076 * @return javax.swing.JCheckBox
1078 private JCheckBox
getJCheckBox11() {
1079 if (jCheckBox11
== null) {
1080 jCheckBox11
= new JCheckBox();
1081 jCheckBox11
.setText("X64");
1082 jCheckBox11
.setPreferredSize(new java
.awt
.Dimension(47,20));
1088 * This method initializes jCheckBox12
1090 * @return javax.swing.JCheckBox
1092 private JCheckBox
getJCheckBox12() {
1093 if (jCheckBox12
== null) {
1094 jCheckBox12
= new JCheckBox();
1095 jCheckBox12
.setPreferredSize(new java
.awt
.Dimension(50,20));
1096 jCheckBox12
.setText("EBC");
1102 * This method initializes jCheckBox13
1104 * @return javax.swing.JCheckBox
1106 private JCheckBox
getJCheckBox13() {
1107 if (jCheckBox13
== null) {
1108 jCheckBox13
= new JCheckBox();
1109 jCheckBox13
.setPreferredSize(new java
.awt
.Dimension(55,20));
1110 jCheckBox13
.setText("ARM");
1116 * This method initializes jCheckBox14
1118 * @return javax.swing.JCheckBox
1120 private JCheckBox
getJCheckBox14() {
1121 if (jCheckBox14
== null) {
1122 jCheckBox14
= new JCheckBox();
1123 jCheckBox14
.setPreferredSize(new java
.awt
.Dimension(50,20));
1124 jCheckBox14
.setText("PPC");
1130 * This method initializes jTextField12
1132 * @return javax.swing.JTextField
1134 private JTextField
getJTextField12() {
1135 if (jTextField12
== null) {
1136 jTextField12
= new JTextField();
1137 jTextField12
.setPreferredSize(new java
.awt
.Dimension(150,20));
1139 return jTextField12
;
1143 * This method initializes jTextField13
1145 * @return javax.swing.JTextField
1147 private JTextField
getJTextField13() {
1148 if (jTextField13
== null) {
1149 jTextField13
= new JTextField();
1150 jTextField13
.setPreferredSize(new java
.awt
.Dimension(140,20));
1152 return jTextField13
;
1156 * This method initializes jScrollPane
1158 * @return javax.swing.JScrollPane
1160 private JScrollPane
getJScrollPane() {
1161 if (jScrollPane
== null) {
1162 jScrollPane
= new JScrollPane();
1163 jScrollPane
.setPreferredSize(new java
.awt
.Dimension(150,419));
1164 jScrollPane
.setViewportView(getJTable());
1170 * This method initializes jTable
1172 * @return javax.swing.JTable
1174 private JTable
getJTable() {
1175 if (jTable
== null) {
1176 ffsTableModel
= new DefaultTableModel();
1177 ffsTableModel
.addColumn("FFS Type");
1178 jTable
= new JTable(ffsTableModel
);
1179 jTable
.setShowGrid(false);
1180 jTable
.setRowHeight(20);
1182 jTable
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1183 jTable
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
1184 public void valueChanged(ListSelectionEvent e
) {
1186 if (e
.getValueIsAdjusting()){
1189 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
1190 if (lsm
.isSelectionEmpty()) {
1194 int row
= lsm
.getMinSelectionIndex();
1195 sectionTableModel
.setRowCount(0);
1196 sectionsTableModel
.setRowCount(0);
1197 subsectionsTableModel
.setRowCount(0);
1198 ffsAttributesTableModel
.setRowCount(0);
1199 String
[] sArray
= {"", ""};
1200 LinkedHashMap
<String
, String
> lhm
= new LinkedHashMap
<String
, String
>();
1201 ArrayList
<String
> alSections
= new ArrayList
<String
>();
1202 ArrayList
<String
> alSection
= new ArrayList
<String
>();
1203 ffc
.getBuildOptionsFfs(row
, sArray
, lhm
, alSections
, alSection
);
1204 jTextField6
.setText(sArray
[0]);
1205 jTextField
.setText(sArray
[1]);
1206 for (int i
= 0; i
< alSection
.size(); ++i
) {
1207 String
[] sectionRow
= {alSection
.get(i
)};
1208 sectionTableModel
.addRow(sectionRow
);
1210 for (int j
= 0; j
< alSections
.size(); ++j
) {
1211 String
[] sectionsRow
= {alSections
.get(j
)};
1212 sectionsTableModel
.addRow(sectionsRow
);
1214 if (lhm
.size() <= 0 ) {
1217 Set
<String
> keySet
= lhm
.keySet();
1218 Iterator
<String
> is
= keySet
.iterator();
1219 while(is
.hasNext()) {
1220 String key
= is
.next();
1221 String
[] attribRow
= {key
, lhm
.get(key
)};
1222 ffsAttributesTableModel
.addRow(attribRow
);
1228 jTable
.getModel().addTableModelListener(new TableModelListener() {
1229 public void tableChanged(TableModelEvent arg0
) {
1230 // TODO Auto-generated method stub
1231 int row
= arg0
.getFirstRow();
1232 TableModel m
= (TableModel
)arg0
.getSource();
1233 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1234 //ToDo Data Validition check.
1235 String id
= m
.getValueAt(row
, 0) + "";
1237 if (id
.length() == 0) {
1241 ffc
.updateBuildOptionsFfsKey(row
, id
);
1250 * This method initializes jScrollPane1
1252 * @return javax.swing.JScrollPane
1254 private JScrollPane
getJScrollPane1() {
1255 if (jScrollPane1
== null) {
1256 jScrollPane1
= new JScrollPane();
1257 jScrollPane1
.setPreferredSize(new java
.awt
.Dimension(500,80));
1258 jScrollPane1
.setViewportView(getJTable1());
1260 return jScrollPane1
;
1264 * This method initializes jTable1
1266 * @return javax.swing.JTable
1268 private JTable
getJTable1() {
1269 if (jTable1
== null) {
1270 sectionTableModel
= new DefaultTableModel();
1271 sectionTableModel
.addColumn("SectionType");
1273 jTable1
= new JTable(sectionTableModel
);
1274 JComboBox cb
= new JComboBox();
1275 cb
.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");
1276 cb
.addItem("EFI_SECTION_VERSION");
1277 cb
.addItem("EFI_SECTION_USER_INTERFACE");
1278 cb
.addItem("EFI_SECTION_DXE_DEPEX");
1279 cb
.addItem("EFI_SECTION_PEI_DEPEX");
1280 cb
.addItem("EFI_SECTION_PE32");
1281 cb
.addItem("EFI_SECTION_PIC");
1282 cb
.addItem("EFI_SECTION_TE");
1283 cb
.addItem("EFI_SECTION_RAW");
1284 cb
.addItem("EFI_SECTION_COMPRESSION");
1285 cb
.addItem("EFI_SECTION_GUID_DEFINED");
1286 cb
.addItem("EFI_SECTION_COMPATIBILITY16");
1287 cb
.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");
1288 jTable1
.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb
));
1290 jTable1
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1292 jTable1
.getModel().addTableModelListener(new TableModelListener() {
1293 public void tableChanged(TableModelEvent arg0
) {
1294 // TODO Auto-generated method stub
1295 if (jTable
.getSelectedRow() < 0) {
1298 int row
= arg0
.getFirstRow();
1299 TableModel m
= (TableModel
)arg0
.getSource();
1300 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1301 //ToDo Data Validition check.
1302 String type
= m
.getValueAt(row
, 0) + "";
1304 ffc
.updateBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), row
, type
);
1313 * This method initializes jScrollPane3
1315 * @return javax.swing.JScrollPane
1317 private JScrollPane
getJScrollPane3() {
1318 if (jScrollPane3
== null) {
1319 jScrollPane3
= new JScrollPane();
1320 jScrollPane3
.setPreferredSize(new java
.awt
.Dimension(500,90));
1321 jScrollPane3
.setViewportView(getJTable3());
1323 return jScrollPane3
;
1327 * This method initializes jTable3
1329 * @return javax.swing.JTable
1331 private JTable
getJTable3() {
1332 if (jTable3
== null) {
1333 subsectionsTableModel
= new DefaultTableModel();
1334 subsectionsTableModel
.addColumn("SectionType");
1335 jTable3
= new JTable(subsectionsTableModel
);
1336 JComboBox cb
= new JComboBox();
1337 cb
.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");
1338 cb
.addItem("EFI_SECTION_VERSION");
1339 cb
.addItem("EFI_SECTION_USER_INTERFACE");
1340 cb
.addItem("EFI_SECTION_DXE_DEPEX");
1341 cb
.addItem("EFI_SECTION_PEI_DEPEX");
1342 cb
.addItem("EFI_SECTION_PE32");
1343 cb
.addItem("EFI_SECTION_PIC");
1344 cb
.addItem("EFI_SECTION_TE");
1345 cb
.addItem("EFI_SECTION_RAW");
1346 cb
.addItem("EFI_SECTION_COMPRESSION");
1347 cb
.addItem("EFI_SECTION_GUID_DEFINED");
1348 cb
.addItem("EFI_SECTION_COMPATIBILITY16");
1349 cb
.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");
1350 jTable3
.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb
));
1351 jTable3
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1353 jTable3
.getModel().addTableModelListener(new TableModelListener() {
1354 public void tableChanged(TableModelEvent arg0
) {
1355 // TODO Auto-generated method stub
1356 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1359 int row
= arg0
.getFirstRow();
1360 TableModel m
= (TableModel
)arg0
.getSource();
1361 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1362 //ToDo Data Validition check.
1363 String type
= m
.getValueAt(row
, 0) + "";
1364 ffc
.updateBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), row
, type
);
1373 * This method initializes jTextField
1375 * @return javax.swing.JTextField
1377 private JTextField
getJTextField() {
1378 if (jTextField
== null) {
1379 jTextField
= new JTextField();
1380 jTextField
.setPreferredSize(new java
.awt
.Dimension(100,20));
1381 jTextField
.addFocusListener(new java
.awt
.event
.FocusAdapter() {
1382 public void focusLost(java
.awt
.event
.FocusEvent e
) {
1383 if (jTable
.getSelectedRow() < 0) {
1386 ffc
.updateBuildOptionsFfsSectionsType(jTable
.getSelectedRow(), jTextField
.getText());
1394 * This method initializes jPanel4
1396 * @return javax.swing.JPanel
1398 private JPanel
getJPanel4() {
1399 if (jPanel4
== null) {
1400 jPanel4
= new JPanel();
1401 jPanel4
.setPreferredSize(new java
.awt
.Dimension(100,100));
1402 jPanel4
.add(getJButton17(), null);
1403 jPanel4
.add(getJButton18(), null);
1409 * This method initializes jButton
1411 * @return javax.swing.JButton
1413 private JButton
getJButton() {
1414 if (jButton
== null) {
1415 jButton
= new JButton();
1416 jButton
.setPreferredSize(new java
.awt
.Dimension(80,20));
1417 jButton
.setText("New");
1418 jButton
.addActionListener(new java
.awt
.event
.ActionListener() {
1419 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1420 if (jTable
.getSelectedRow() < 0) {
1423 String
[] row
= {"EFI_SECTION_RAW"};
1424 sectionTableModel
.addRow(row
);
1425 ffc
.genBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), row
[0]);
1433 * This method initializes jButton1
1435 * @return javax.swing.JButton
1437 private JButton
getJButton1() {
1438 if (jButton1
== null) {
1439 jButton1
= new JButton();
1440 jButton1
.setPreferredSize(new java
.awt
.Dimension(80,20));
1441 jButton1
.setText("Remove");
1443 jButton1
.addActionListener(new java
.awt
.event
.ActionListener() {
1444 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1445 if (jTable
.getSelectedRow() < 0 || jTable1
.getSelectedRow() < 0) {
1448 sectionTableModel
.removeRow(jTable1
.getSelectedRow());
1449 ffc
.removeBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), jTable1
.getSelectedRow());
1457 * This method initializes jButton2
1459 * @return javax.swing.JButton
1461 private JButton
getJButton2() {
1462 if (jButton2
== null) {
1463 jButton2
= new JButton();
1464 jButton2
.setPreferredSize(new java
.awt
.Dimension(80,20));
1465 jButton2
.setText("New");
1466 jButton2
.addActionListener(new java
.awt
.event
.ActionListener() {
1467 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1468 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1471 String
[] row
= {"EFI_SECTION_RAW"};
1472 subsectionsTableModel
.addRow(row
);
1473 ffc
.genBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), row
[0]);
1482 * This method initializes jButton3
1484 * @return javax.swing.JButton
1486 private JButton
getJButton3() {
1487 if (jButton3
== null) {
1488 jButton3
= new JButton();
1489 jButton3
.setPreferredSize(new java
.awt
.Dimension(80,20));
1490 jButton3
.setText("Remove");
1491 jButton3
.addActionListener(new java
.awt
.event
.ActionListener() {
1492 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1493 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0 || jTable3
.getSelectedRow() < 0) {
1496 subsectionsTableModel
.removeRow(jTable3
.getSelectedRow());
1497 ffc
.removeBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), jTable3
.getSelectedRow());
1505 * This method initializes jButton6
1507 * @return javax.swing.JButton
1509 private JButton
getJButton6() {
1510 if (jButton6
== null) {
1511 jButton6
= new JButton();
1512 jButton6
.setPreferredSize(new java
.awt
.Dimension(80,20));
1513 jButton6
.setText("New");
1514 jButton6
.addActionListener(new java
.awt
.event
.ActionListener() {
1515 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1516 if (jTable
.getSelectedRow() < 0) {
1519 String
[] row
= {""};
1520 sectionsTableModel
.addRow(row
);
1521 ffc
.genBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), "");
1529 * This method initializes jButton7
1531 * @return javax.swing.JButton
1533 private JButton
getJButton7() {
1534 if (jButton7
== null) {
1535 jButton7
= new JButton();
1536 jButton7
.setPreferredSize(new java
.awt
.Dimension(80,20));
1537 jButton7
.setText("Remove");
1538 jButton7
.addActionListener(new java
.awt
.event
.ActionListener() {
1539 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1540 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1543 sectionsTableModel
.removeRow(jTable6
.getSelectedRow());
1544 ffc
.removeBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), jTable6
.getSelectedRow());
1552 * This method initializes jScrollPane4
1554 * @return javax.swing.JScrollPane
1556 private JScrollPane
getJScrollPane4() {
1557 if (jScrollPane4
== null) {
1558 jScrollPane4
= new JScrollPane();
1559 jScrollPane4
.setPreferredSize(new java
.awt
.Dimension(500,80));
1560 jScrollPane4
.setViewportView(getJTable6());
1562 return jScrollPane4
;
1566 * This method initializes jTable6
1568 * @return javax.swing.JTable
1570 private JTable
getJTable6() {
1571 if (jTable6
== null) {
1572 sectionsTableModel
= new DefaultTableModel();
1573 sectionsTableModel
.addColumn("EncapsulationType");
1574 jTable6
= new JTable(sectionsTableModel
);
1576 jTable6
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1577 jTable6
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
1578 public void valueChanged(ListSelectionEvent e
) {
1579 if (e
.getValueIsAdjusting()){
1582 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
1583 if (lsm
.isSelectionEmpty()) {
1587 int sectionsRow
= lsm
.getMinSelectionIndex();
1588 if (jTable
.getSelectedRow() < 0) {
1591 subsectionsTableModel
.setRowCount(0);
1592 ArrayList
<String
> al
= new ArrayList
<String
>();
1593 ffc
.getBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), sectionsRow
, al
);
1594 for (int i
= 0; i
< al
.size(); ++i
) {
1595 String
[] subsectionRow
= {al
.get(i
)};
1596 subsectionsTableModel
.addRow(subsectionRow
);
1602 jTable6
.getModel().addTableModelListener(new TableModelListener() {
1603 public void tableChanged(TableModelEvent arg0
) {
1604 // TODO Auto-generated method stub
1605 int row
= arg0
.getFirstRow();
1606 TableModel m
= (TableModel
)arg0
.getSource();
1607 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1608 //ToDo Data Validition check.
1609 String encapType
= m
.getValueAt(row
, 0) + "";
1610 ffc
.updateBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), row
, encapType
);
1621 public static void main(String
[] args
) {
1622 // TODO Auto-generated method stub
1623 new FpdBuildOptions().setVisible(true);
1627 * This is the default constructor
1629 public FpdBuildOptions() {
1632 this.setVisible(true);
1635 public FpdBuildOptions(PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
) {
1637 ffc
= new FpdFileContents(fpd
);
1641 private void init(FpdFileContents ffc
) {
1645 this.addInternalFrameListener(new InternalFrameAdapter(){
1646 public void internalFrameDeactivated(InternalFrameEvent e
){
1647 if (jTable
.isEditing()) {
1648 jTable
.getCellEditor().stopCellEditing();
1650 if (jTable1
.isEditing()) {
1651 jTable1
.getCellEditor().stopCellEditing();
1653 if (jTable2
.isEditing()) {
1654 jTable2
.getCellEditor().stopCellEditing();
1656 if (jTable3
.isEditing()) {
1657 jTable3
.getCellEditor().stopCellEditing();
1659 if (jTable4
.isEditing()) {
1660 jTable4
.getCellEditor().stopCellEditing();
1662 if (jTable5
.isEditing()) {
1663 jTable5
.getCellEditor().stopCellEditing();
1669 private void initOptionTable() {
1670 if (ffc
.getBuildOptionsOptCount() == 0) {
1671 //ToDo get default options from *.txt file
1674 String
[][] saa
= new String
[ffc
.getBuildOptionsOptCount()][6];
1675 ffc
.getBuildOptionsOpts(saa
);
1676 for (int i
= 0; i
< saa
.length
; ++i
) {
1677 optionsTableModel
.addRow(saa
[i
]);
1681 private void initAntTaskTable() {
1682 if (ffc
.getBuildOptionsUserDefAntTaskCount() == 0) {
1685 String
[][] saa
= new String
[ffc
.getBuildOptionsUserDefAntTaskCount()][3];
1686 ffc
.getBuildOptionsUserDefAntTasks(saa
);
1687 for (int i
= 0; i
< saa
.length
; ++i
) {
1688 antTaskTableModel
.addRow(saa
[i
]);
1692 private void initFfsTable(){
1693 int ffsCount
= ffc
.getBuildOptionsFfsCount();
1697 String
[][] saa
= new String
[ffsCount
][1];
1698 ffc
.getBuildOptionsFfsKey(saa
);
1699 for (int i
= 0; i
< saa
.length
; ++i
) {
1700 ffsTableModel
.addRow(saa
[i
]);
1704 * This method initializes this
1708 private void initialize() {
1709 this.setSize(722, 577);
1710 this.setTitle("FPD Build Options");
1711 this.setContentPane(getJContentPane());
1715 * This method initializes jContentPane
1717 * @return javax.swing.JPanel
1719 private JPanel
getJContentPane() {
1720 if (jContentPane
== null) {
1721 jContentPane
= new JPanel();
1722 jContentPane
.setLayout(new BorderLayout());
1723 jContentPane
.add(getJPanel(), java
.awt
.BorderLayout
.SOUTH
);
1724 jContentPane
.add(getJPanel1(), java
.awt
.BorderLayout
.NORTH
);
1725 jContentPane
.add(getJPanel2(), java
.awt
.BorderLayout
.WEST
);
1726 jContentPane
.add(getJPanel3(), java
.awt
.BorderLayout
.EAST
);
1727 jContentPane
.add(getJTabbedPane(), java
.awt
.BorderLayout
.CENTER
);
1729 return jContentPane
;
1732 } // @jve:decl-index=0:visual-constraint="10,10"