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
;
18 import java
.awt
.Dimension
;
20 import javax
.swing
.JPanel
;
21 import javax
.swing
.JDialog
;
22 import javax
.swing
.JTabbedPane
;
23 import javax
.swing
.JCheckBox
;
24 import javax
.swing
.JLabel
;
25 import java
.awt
.FlowLayout
;
26 import javax
.swing
.AbstractAction
;
27 import java
.awt
.event
.ActionEvent
;
28 import java
.awt
.event
.ActionListener
;
29 import java
.awt
.event
.ItemEvent
;
30 import java
.awt
.event
.ItemListener
;
32 import javax
.swing
.ButtonGroup
;
33 import javax
.swing
.DefaultCellEditor
;
34 import javax
.swing
.DefaultListModel
;
35 import javax
.swing
.JTextField
;
36 import javax
.swing
.JButton
;
37 import javax
.swing
.JScrollPane
;
38 import javax
.swing
.JTable
;
39 import javax
.swing
.JComboBox
;
40 import javax
.swing
.JRadioButton
;
41 import javax
.swing
.ListSelectionModel
;
42 import javax
.swing
.event
.InternalFrameAdapter
;
43 import javax
.swing
.event
.InternalFrameEvent
;
44 import javax
.swing
.event
.ListSelectionEvent
;
45 import javax
.swing
.event
.ListSelectionListener
;
46 import javax
.swing
.event
.TableModelEvent
;
47 import javax
.swing
.event
.TableModelListener
;
48 import javax
.swing
.table
.DefaultTableModel
;
49 import javax
.swing
.table
.TableColumn
;
50 import javax
.swing
.table
.TableModel
;
52 import org
.tianocore
.PlatformSurfaceAreaDocument
;
53 import org
.tianocore
.frameworkwizard
.common
.ui
.IInternalFrame
;
54 import java
.awt
.CardLayout
;
55 import java
.util
.ArrayList
;
56 import java
.util
.Iterator
;
57 import java
.util
.LinkedHashMap
;
60 public class FpdBuildOptions
extends IInternalFrame
{
62 private static final long serialVersionUID
= 1L;
63 private JPanel jContentPane
= null;
64 private JPanel jPanel
= null;
65 private JPanel jPanel1
= null;
66 private JPanel jPanel2
= null;
67 private JPanel jPanel3
= null;
68 private JTabbedPane jTabbedPane
= null;
69 private JPanel jPanel8
= null;
70 private JPanel jPanel9
= null;
71 private JPanel jPanel10
= null;
72 private JPanel jPanel11
= null;
73 private JTextField jTextField2
= null;
74 private JLabel jLabel3
= null;
75 private JTextField jTextField3
= null;
76 private JButton jButton4
= null;
77 private JButton jButton5
= null;
78 private JTextField jTextField4
= null;
79 private JScrollPane jScrollPane2
= null;
80 private JTable jTable2
= null;
81 private DefaultTableModel ffsTableModel
= null;
82 private DefaultTableModel sectionsTableModel
= null;
83 private DefaultTableModel sectionTableModel
= null;
84 private DefaultTableModel subsectionsTableModel
= null;
85 private DefaultTableModel antTaskTableModel
= null;
86 private DefaultTableModel ffsAttributesTableModel
= null;
87 private DefaultTableModel optionsTableModel
= null;
88 private JPanel jPanel13
= null;
89 private JPanel jPanel18
= null;
90 private JPanel jPanel15
= null;
91 private JPanel jPanel16
= null;
92 private JPanel jPanel17
= null;
93 private JLabel jLabel7
= null;
94 private JTextField jTextField6
= null;
95 private JButton jButton8
= null;
96 private JButton jButton9
= null;
97 private JScrollPane jScrollPane5
= null;
98 private JTable jTable4
= null;
99 private JPanel jPanel19
= null;
100 private JPanel jPanel20
= null;
101 private JLabel jLabel9
= null;
102 private JTextField jTextField7
= null;
103 private JLabel jLabel10
= null;
104 private JComboBox jComboBox2
= null;
105 private JLabel jLabel11
= null;
106 private JLabel jLabel12
= null;
107 private JTextField jTextField8
= null;
108 private JScrollPane jScrollPane6
= null;
109 private JTable jTable5
= null;
110 private JButton jButton10
= null;
111 private JButton jButton11
= null;
112 private DefaultListModel listModel
= new DefaultListModel();
113 private JButton jButton17
= null;
114 private JButton jButton18
= null;
115 private FpdFileContents ffc
= null;
116 private JButton jButton19
= null;
117 private JCheckBox jCheckBox9
= null;
118 private JCheckBox jCheckBox10
= null;
119 private JCheckBox jCheckBox11
= null;
120 private JCheckBox jCheckBox12
= null;
121 private JCheckBox jCheckBox13
= null;
122 private JCheckBox jCheckBox14
= null;
123 private JLabel jLabel14
= null;
124 private JTextField jTextField12
= null;
125 private JTextField jTextField13
= null;
126 private JLabel jLabel15
= null;
127 private int selectedRow
= -1;
128 private JLabel jLabel
= null;
129 private JLabel jLabel1
= null;
130 private JScrollPane jScrollPane
= null;
131 private JTable jTable
= null;
132 private JLabel jLabel2
= null;
133 private JScrollPane jScrollPane1
= null;
134 private JTable jTable1
= null;
135 private JLabel jLabel4
= null;
136 private JScrollPane jScrollPane3
= null;
137 private JTable jTable3
= null;
138 private JLabel jLabel5
= null;
139 private JTextField jTextField
= null;
140 private JPanel jPanel4
= null;
141 private JLabel jLabel6
= null;
142 private JButton jButton
= null;
143 private JButton jButton1
= null;
144 private JButton jButton2
= null;
145 private JButton jButton3
= null;
146 private JLabel jLabel8
= null;
147 private JButton jButton6
= null;
148 private JButton jButton7
= null;
149 private JScrollPane jScrollPane4
= null;
150 private JTable jTable6
= null;
152 * This method initializes jPanel
154 * @return javax.swing.JPanel
156 private JPanel
getJPanel() {
157 if (jPanel
== null) {
158 jPanel
= new JPanel();
164 * This method initializes jPanel1
166 * @return javax.swing.JPanel
168 private JPanel
getJPanel1() {
169 if (jPanel1
== null) {
170 jPanel1
= new JPanel();
176 * This method initializes jPanel2
178 * @return javax.swing.JPanel
180 private JPanel
getJPanel2() {
181 if (jPanel2
== null) {
182 jPanel2
= new JPanel();
188 * This method initializes jPanel3
190 * @return javax.swing.JPanel
192 private JPanel
getJPanel3() {
193 if (jPanel3
== null) {
194 jPanel3
= new JPanel();
200 * This method initializes jTabbedPane
202 * @return javax.swing.JTabbedPane
204 private JTabbedPane
getJTabbedPane() {
205 if (jTabbedPane
== null) {
206 jTabbedPane
= new JTabbedPane();
207 jTabbedPane
.addTab("FFS", null, getJPanel13(), null);
208 jTabbedPane
.addTab("Options", null, getJPanel20(), null);
209 jTabbedPane
.addTab("User Defined ANT Tasks", null, getJPanel8(), null);
216 * This method initializes jPanel8
218 * @return javax.swing.JPanel
220 private JPanel
getJPanel8() {
221 if (jPanel8
== null) {
222 jPanel8
= new JPanel();
223 jPanel8
.setLayout(new BorderLayout());
224 jPanel8
.add(getJPanel9(), java
.awt
.BorderLayout
.NORTH
);
225 jPanel8
.add(getJPanel10(), java
.awt
.BorderLayout
.SOUTH
);
226 jPanel8
.add(getJPanel11(), java
.awt
.BorderLayout
.CENTER
);
233 * This method initializes jPanel9
235 * @return javax.swing.JPanel
237 private JPanel
getJPanel9() {
238 if (jPanel9
== null) {
239 jLabel
= new JLabel();
240 jLabel
.setText("ANT Task File");
241 jLabel
.setPreferredSize(new java
.awt
.Dimension(80,20));
242 FlowLayout flowLayout8
= new FlowLayout();
243 flowLayout8
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
244 jLabel3
= new JLabel();
245 jLabel3
.setText("ID");
246 jPanel9
= new JPanel();
247 jPanel9
.setLayout(flowLayout8
);
248 jPanel9
.add(jLabel
, null);
249 jPanel9
.add(getJTextField2(), null);
250 jPanel9
.add(jLabel3
, null);
251 jPanel9
.add(getJTextField3(), null);
257 * This method initializes jPanel10
259 * @return javax.swing.JPanel
261 private JPanel
getJPanel10() {
262 if (jPanel10
== null) {
263 jPanel10
= new JPanel();
269 * This method initializes jPanel11
271 * @return javax.swing.JPanel
273 private JPanel
getJPanel11() {
274 if (jPanel11
== null) {
275 jLabel1
= new JLabel();
276 jLabel1
.setText("ANT Command Options");
277 jLabel1
.setPreferredSize(new java
.awt
.Dimension(131,20));
278 FlowLayout flowLayout3
= new FlowLayout();
279 flowLayout3
.setHgap(5);
280 flowLayout3
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
281 jPanel11
= new JPanel();
282 jPanel11
.setLayout(flowLayout3
);
283 jPanel11
.add(jLabel1
, null);
284 jPanel11
.add(getJTextField4(), null);
285 jPanel11
.add(getJButton4(), null);
286 jPanel11
.add(getJButton5(), null);
287 jPanel11
.add(getJScrollPane2(), null);
293 * This method initializes jTextField2
295 * @return javax.swing.JTextField
297 private JTextField
getJTextField2() {
298 if (jTextField2
== null) {
299 jTextField2
= new JTextField();
300 jTextField2
.setPreferredSize(new java
.awt
.Dimension(200,20));
306 * This method initializes jTextField3
308 * @return javax.swing.JTextField
310 private JTextField
getJTextField3() {
311 if (jTextField3
== null) {
312 jTextField3
= new JTextField();
313 jTextField3
.setPreferredSize(new java
.awt
.Dimension(100,20));
319 * This method initializes jButton4
321 * @return javax.swing.JButton
323 private JButton
getJButton4() {
324 if (jButton4
== null) {
325 jButton4
= new JButton();
326 jButton4
.setPreferredSize(new java
.awt
.Dimension(90,20));
327 jButton4
.setText("Add");
328 jButton4
.addActionListener(new ActionListener() {
329 public void actionPerformed(ActionEvent e
) {
330 Object
[] o
= {jTextField3
.getText(), null, null};
331 o
[1] = jTextField2
.getText();
332 o
[2] = jTextField4
.getText();
333 ffc
.genBuildOptionsUserDefAntTask(o
[0]+"", null, o
[2]+"");
334 antTaskTableModel
.addRow(o
);
343 * This method initializes jButton5
345 * @return javax.swing.JButton
347 private JButton
getJButton5() {
348 if (jButton5
== null) {
349 jButton5
= new JButton();
350 jButton5
.setPreferredSize(new java
.awt
.Dimension(90,20));
351 jButton5
.setText("Delete");
352 jButton5
.addActionListener(new ActionListener() {
353 public void actionPerformed(ActionEvent e
) {
354 if (selectedRow
>= 0) {
355 antTaskTableModel
.removeRow(selectedRow
);
356 ffc
.removeBuildOptionsUserDefAntTask(selectedRow
);
365 * This method initializes jTextField4
367 * @return javax.swing.JTextField
369 private JTextField
getJTextField4() {
370 if (jTextField4
== null) {
371 jTextField4
= new JTextField();
372 jTextField4
.setPreferredSize(new java
.awt
.Dimension(270,20));
373 jTextField4
.setEnabled(true);
379 * This method initializes jScrollPane2
381 * @return javax.swing.JScrollPane
383 private JScrollPane
getJScrollPane2() {
384 if (jScrollPane2
== null) {
385 jScrollPane2
= new JScrollPane();
386 jScrollPane2
.setPreferredSize(new java
.awt
.Dimension(600,100));
387 jScrollPane2
.setViewportView(getJTable2());
393 * This method initializes jTable2
395 * @return javax.swing.JTable
397 private JTable
getJTable2() {
398 if (jTable2
== null) {
399 antTaskTableModel
= new DefaultTableModel();
400 jTable2
= new JTable(antTaskTableModel
);
401 antTaskTableModel
.addColumn("ID");
402 antTaskTableModel
.addColumn("Filename");
403 antTaskTableModel
.addColumn("ANT Command Options");
405 jTable2
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
406 jTable2
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
407 public void valueChanged(ListSelectionEvent e
) {
409 if (e
.getValueIsAdjusting()){
412 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
413 if (lsm
.isSelectionEmpty()) {
417 selectedRow
= lsm
.getMinSelectionIndex();
422 jTable2
.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 //ToDo Data Validition check.
429 String id
= m
.getValueAt(row
, 0) + "";
430 String file
= m
.getValueAt(row
, 1) + "";
431 String execOrder
= m
.getValueAt(row
, 2) + "";
432 if (id
.length() == 0) {
435 if (file
.length() == 0 && execOrder
.length() == 0){
438 if (file
.length() == 0) {
441 if (execOrder
.length() == 0) {
444 ffc
.updateBuildOptionsUserDefAntTask(row
, id
, file
, execOrder
);
454 * This method initializes jPanel13
456 * @return javax.swing.JPanel
458 private JPanel
getJPanel13() {
459 if (jPanel13
== null) {
460 jPanel13
= new JPanel();
461 jPanel13
.setLayout(new BorderLayout());
462 jPanel13
.add(getJPanel18(), java
.awt
.BorderLayout
.CENTER
);
463 jPanel13
.add(getJScrollPane(), java
.awt
.BorderLayout
.WEST
);
469 * This method initializes jPanel18
471 * @return javax.swing.JPanel
473 private JPanel
getJPanel18() {
474 if (jPanel18
== null) {
475 jPanel18
= new JPanel();
476 jPanel18
.setLayout(new BorderLayout());
477 jPanel18
.add(getJPanel15(), java
.awt
.BorderLayout
.NORTH
);
478 jPanel18
.add(getJPanel16(), java
.awt
.BorderLayout
.SOUTH
);
479 jPanel18
.add(getJPanel17(), java
.awt
.BorderLayout
.EAST
);
480 jPanel18
.add(getJPanel19(), java
.awt
.BorderLayout
.CENTER
);
486 * This method initializes jPanel15
488 * @return javax.swing.JPanel
490 private JPanel
getJPanel15() {
491 if (jPanel15
== null) {
492 jLabel5
= new JLabel();
493 jLabel5
.setText("Encapsulation Type");
494 FlowLayout flowLayout5
= new FlowLayout();
495 flowLayout5
.setAlignment(java
.awt
.FlowLayout
.RIGHT
);
496 jLabel7
= new JLabel();
497 jLabel7
.setText("FFS Key");
498 jPanel15
= new JPanel();
499 jPanel15
.setLayout(flowLayout5
);
500 jPanel15
.add(jLabel7
, null);
501 jPanel15
.add(getJTextField6(), null);
502 jPanel15
.add(jLabel5
, null);
503 jPanel15
.add(getJTextField(), null);
504 jPanel15
.add(getJButton8(), null);
505 jPanel15
.add(getJButton9(), null);
511 * This method initializes jPanel16
513 * @return javax.swing.JPanel
515 private JPanel
getJPanel16() {
516 if (jPanel16
== null) {
517 jLabel6
= new JLabel();
518 jLabel6
.setText("Attributes");
519 FlowLayout flowLayout6
= new FlowLayout();
520 flowLayout6
.setHgap(5);
521 flowLayout6
.setVgap(20);
522 flowLayout6
.setAlignment(java
.awt
.FlowLayout
.CENTER
);
523 jPanel16
= new JPanel();
524 jPanel16
.setPreferredSize(new java
.awt
.Dimension(491,130));
525 jPanel16
.setLayout(flowLayout6
);
526 jPanel16
.add(jLabel6
, null);
527 jPanel16
.add(getJScrollPane5(), null);
528 jPanel16
.add(getJPanel4(), null);
534 * This method initializes jPanel17
536 * @return javax.swing.JPanel
538 private JPanel
getJPanel17() {
539 if (jPanel17
== null) {
540 jPanel17
= new JPanel();
546 * This method initializes jTextField6
548 * @return javax.swing.JTextField
550 private JTextField
getJTextField6() {
551 if (jTextField6
== null) {
552 jTextField6
= new JTextField();
553 jTextField6
.setPreferredSize(new java
.awt
.Dimension(100,20));
554 jTextField6
.setEditable(false);
555 jTextField6
.addFocusListener(new java
.awt
.event
.FocusAdapter() {
556 public void focusLost(java
.awt
.event
.FocusEvent e
) {
557 if (jTable
.getSelectedRow() < 0) {
560 // ffc.updateBuildOptionsFfsKey(jTable.getSelectedRow(), jTextField6.getText());
568 * This method initializes jButton8
570 * @return javax.swing.JButton
572 private JButton
getJButton8() {
573 if (jButton8
== null) {
574 jButton8
= new JButton();
575 jButton8
.setPreferredSize(new java
.awt
.Dimension(70,20));
576 jButton8
.setText("Add");
577 jButton8
.addActionListener(new AbstractAction() {
581 private static final long serialVersionUID
= -2923720717273384221L;
583 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
584 if (jTextField6
.getText().length() > 0) {
585 String
[] row
= {jTextField6
.getText()};
586 ffsTableModel
.addRow(row
);
587 ffc
.genBuildOptionsFfs(jTextField6
.getText(), jTextField
.getText());
596 * This method initializes jButton9
598 * @return javax.swing.JButton
600 private JButton
getJButton9() {
601 if (jButton9
== null) {
602 jButton9
= new JButton();
603 jButton9
.setPreferredSize(new java
.awt
.Dimension(70,20));
604 jButton9
.setText("Delete");
605 jButton9
.addActionListener(new AbstractAction() {
609 private static final long serialVersionUID
= -4002678939178194476L;
611 public void actionPerformed(ActionEvent arg0
){
612 if (jTable
.getSelectedRow() < 0) {
615 ffc
.removeBuildOptionsFfs(jTable
.getSelectedRow());
623 * This method initializes jScrollPane5
625 * @return javax.swing.JScrollPane
627 private JScrollPane
getJScrollPane5() {
628 if (jScrollPane5
== null) {
629 jScrollPane5
= new JScrollPane();
630 jScrollPane5
.setPreferredSize(new java
.awt
.Dimension(350,100));
631 jScrollPane5
.setViewportView(getJTable4());
637 * This method initializes jTable4
639 * @return javax.swing.JTable
641 private JTable
getJTable4() {
642 if (jTable4
== null) {
643 ffsAttributesTableModel
= new DefaultTableModel();
644 jTable4
= new JTable(ffsAttributesTableModel
);
645 jTable4
.setPreferredSize(new java
.awt
.Dimension(400,80));
646 ffsAttributesTableModel
.addColumn("Name");
647 ffsAttributesTableModel
.addColumn("Value");
649 jTable4
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
650 jTable4
.getModel().addTableModelListener(new TableModelListener() {
651 public void tableChanged(TableModelEvent arg0
) {
652 // TODO Auto-generated method stub
653 int row
= arg0
.getFirstRow();
654 TableModel m
= (TableModel
)arg0
.getSource();
655 if (arg0
.getType() == TableModelEvent
.UPDATE
){
656 //ToDo Data Validition check.
657 String name
= m
.getValueAt(row
, 0) + "";
658 String value
= m
.getValueAt(row
, 1) + "";
660 if (name
.length() == 0) {
663 if (value
.length() == 0){
666 ffc
.updateBuildOptionsFfsAttribute(jTable
.getSelectedRow(), row
, name
, value
);
675 * This method initializes jPanel19
677 * @return javax.swing.JPanel
679 private JPanel
getJPanel19() {
680 if (jPanel19
== null) {
681 jLabel8
= new JLabel();
682 jLabel8
.setText("Sections");
683 jLabel4
= new JLabel();
684 jLabel4
.setText("Sub-Sections");
685 jLabel2
= new JLabel();
686 jLabel2
.setText("Section");
687 jPanel19
= new JPanel();
688 jPanel19
.setLayout(new FlowLayout());
689 jPanel19
.add(jLabel2
, null);
690 jPanel19
.add(getJButton(), null);
691 jPanel19
.add(getJButton1(), null);
692 jPanel19
.add(getJScrollPane1(), null);
693 jPanel19
.add(jLabel8
, null);
694 jPanel19
.add(getJButton6(), null);
695 jPanel19
.add(getJButton7(), null);
696 jPanel19
.add(getJScrollPane4(), null);
697 jPanel19
.add(jLabel4
, null);
698 jPanel19
.add(getJButton2(), null);
699 jPanel19
.add(getJButton3(), null);
700 jPanel19
.add(getJScrollPane3(), null);
706 * This method initializes jPanel20
708 * @return javax.swing.JPanel
710 private JPanel
getJPanel20() {
711 if (jPanel20
== null) {
712 jLabel15
= new JLabel();
713 jLabel15
.setText("Tag Name");
714 FlowLayout flowLayout9
= new FlowLayout();
715 flowLayout9
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
716 jLabel14
= new JLabel();
717 jLabel14
.setText("Build Targets");
718 jLabel12
= new JLabel();
719 jLabel12
.setText("Tool Command");
720 jLabel11
= new JLabel();
721 jLabel11
.setText("Supported Arch");
722 jLabel10
= new JLabel();
723 jLabel10
.setText("Tool Chain Family");
724 jLabel9
= new JLabel();
725 jLabel9
.setText("Option Contents");
726 jPanel20
= new JPanel();
727 jPanel20
.setLayout(flowLayout9
);
728 jPanel20
.add(jLabel14
, null);
729 jPanel20
.add(getJTextField12(), null);
730 jPanel20
.add(jLabel10
, null);
731 jPanel20
.add(getJComboBox2(), null);
732 jPanel20
.add(jLabel12
, null);
733 jPanel20
.add(getJTextField8(), null);
734 jPanel20
.add(jLabel11
, null);
735 jPanel20
.add(getJCheckBox9(), null);
736 jPanel20
.add(getJCheckBox10(), null);
737 jPanel20
.add(getJCheckBox11(), null);
738 jPanel20
.add(getJCheckBox12(), null);
739 jPanel20
.add(getJCheckBox13(), null);
740 jPanel20
.add(getJCheckBox14(), null);
741 jPanel20
.add(jLabel15
, null);
742 jPanel20
.add(getJTextField13(), null);
743 jPanel20
.add(jLabel9
, null);
744 jPanel20
.add(getJTextField7(), null);
745 jPanel20
.add(getJButton10(), null);
746 jPanel20
.add(getJButton11(), null);
747 jPanel20
.add(getJButton19(), null);
748 jPanel20
.add(getJScrollPane6(), null);
754 * This method initializes jTextField7
756 * @return javax.swing.JTextField
758 private JTextField
getJTextField7() {
759 if (jTextField7
== null) {
760 jTextField7
= new JTextField();
761 jTextField7
.setPreferredSize(new java
.awt
.Dimension(300,20));
767 * This method initializes jComboBox2
769 * @return javax.swing.JComboBox
771 private JComboBox
getJComboBox2() {
772 if (jComboBox2
== null) {
773 jComboBox2
= new JComboBox();
774 jComboBox2
.setPreferredSize(new java
.awt
.Dimension(80,20));
775 jComboBox2
.addItem("MSFT");
776 jComboBox2
.addItem("GCC");
777 jComboBox2
.addItem("CYGWIN");
778 jComboBox2
.addItem("INTEL");
779 jComboBox2
.setSelectedIndex(0);
785 * This method initializes jTextField8
787 * @return javax.swing.JTextField
789 private JTextField
getJTextField8() {
790 if (jTextField8
== null) {
791 jTextField8
= new JTextField();
792 jTextField8
.setPreferredSize(new java
.awt
.Dimension(110,20));
798 * This method initializes jScrollPane6
800 * @return javax.swing.JScrollPane
802 private JScrollPane
getJScrollPane6() {
803 if (jScrollPane6
== null) {
804 jScrollPane6
= new JScrollPane();
805 jScrollPane6
.setPreferredSize(new java
.awt
.Dimension(630,200));
806 jScrollPane6
.setViewportView(getJTable5());
812 * This method initializes jTable5
814 * @return javax.swing.JTable
816 private JTable
getJTable5() {
817 if (jTable5
== null) {
818 optionsTableModel
= new DefaultTableModel();
819 jTable5
= new JTable(optionsTableModel
);
820 optionsTableModel
.addColumn("BuildTargets");
821 optionsTableModel
.addColumn("ToolChainFamily");
822 optionsTableModel
.addColumn("SupportedArch");
823 optionsTableModel
.addColumn("ToolCommand");
824 optionsTableModel
.addColumn("TagName");
825 optionsTableModel
.addColumn("Contents");
827 TableColumn toolFamilyCol
= jTable5
.getColumnModel().getColumn(1);
828 JComboBox cb
= new JComboBox();
831 cb
.addItem("CYGWIN");
833 toolFamilyCol
.setCellEditor(new DefaultCellEditor(cb
));
835 jTable5
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
836 jTable5
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
837 public void valueChanged(ListSelectionEvent e
) {
839 if (e
.getValueIsAdjusting()){
842 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
843 if (lsm
.isSelectionEmpty()) {
847 selectedRow
= lsm
.getMinSelectionIndex();
852 jTable5
.getModel().addTableModelListener(new TableModelListener() {
853 public void tableChanged(TableModelEvent arg0
) {
854 // TODO Auto-generated method stub
855 int row
= arg0
.getFirstRow();
856 TableModel m
= (TableModel
)arg0
.getSource();
857 if (arg0
.getType() == TableModelEvent
.UPDATE
){
858 //ToDo Data Validition check.
859 String targetName
= m
.getValueAt(row
, 0) + "";
860 String toolChain
= m
.getValueAt(row
, 1) + "";
861 String supArch
= m
.getValueAt(row
, 2) + "";
862 String toolCmd
= m
.getValueAt(row
, 3) + "";
863 String tagName
= m
.getValueAt(row
, 4) + "";
864 String contents
= m
.getValueAt(row
, 5) + "";
865 ffc
.updateBuildOptionsOpt(row
, targetName
, toolChain
, tagName
, toolCmd
, supArch
, contents
);
874 * This method initializes jButton10
876 * @return javax.swing.JButton
878 private JButton
getJButton10() {
879 if (jButton10
== null) {
880 jButton10
= new JButton();
881 jButton10
.setText("Add");
882 jButton10
.setPreferredSize(new java
.awt
.Dimension(70,20));
883 jButton10
.addActionListener(new AbstractAction() {
887 private static final long serialVersionUID
= 1L;
889 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
890 boolean[] boolArray
= {jCheckBox9
.isSelected(),jCheckBox10
.isSelected(),jCheckBox11
.isSelected(),
891 jCheckBox12
.isSelected(),jCheckBox13
.isSelected(),jCheckBox14
.isSelected()};
892 String s
= boolToList(boolArray
);
893 Object
[] o
= {jTextField12
.getText(), jComboBox2
.getSelectedItem(), s
,
894 jTextField8
.getText(), jTextField13
.getText(), jTextField7
.getText()};
895 optionsTableModel
.addRow(o
);
896 ffc
.genBuildOptionsOpt(jTextField12
.getText(), jComboBox2
.getSelectedItem()+"", jTextField13
.getText(), jTextField8
.getText(), s
, jTextField7
.getText());
903 private String
boolToList (boolean[] bool
) {
928 * This method initializes jButton11
930 * @return javax.swing.JButton
932 private JButton
getJButton11() {
933 if (jButton11
== null) {
934 jButton11
= new JButton();
935 jButton11
.setText("Delete");
936 jButton11
.setPreferredSize(new java
.awt
.Dimension(70,20));
937 jButton11
.addActionListener(new AbstractAction() {
941 private static final long serialVersionUID
= 1L;
943 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
944 if (selectedRow
>= 0) {
945 optionsTableModel
.removeRow(selectedRow
);
946 ffc
.removeBuildOptionsOpt(selectedRow
);
955 * This method initializes jButton17
957 * @return javax.swing.JButton
959 private JButton
getJButton17() {
960 if (jButton17
== null) {
961 jButton17
= new JButton();
962 jButton17
.setPreferredSize(new java
.awt
.Dimension(80,20));
963 jButton17
.setText("New");
964 jButton17
.addActionListener(new AbstractAction() {
968 private static final long serialVersionUID
= 1L;
970 public void actionPerformed(ActionEvent arg0
){
971 if (jTable
.getSelectedRow() < 0) {
974 Object
[] o
= {"", ""};
975 ffsAttributesTableModel
.addRow(o
);
976 ffc
.genBuildOptionsFfsAttribute(jTable
.getSelectedRow(), "", "");
984 * This method initializes jButton18
986 * @return javax.swing.JButton
988 private JButton
getJButton18() {
989 if (jButton18
== null) {
990 jButton18
= new JButton();
991 jButton18
.setPreferredSize(new java
.awt
.Dimension(80,20));
992 jButton18
.setText("Remove");
993 jButton18
.addActionListener(new AbstractAction(){
997 private static final long serialVersionUID
= 1L;
999 public void actionPerformed(ActionEvent arg0
){
1000 if (jTable
.getSelectedRow() < 0) {
1003 if (jTable4
.getSelectedRow() >= 0){
1004 ffsAttributesTableModel
.removeRow(jTable4
.getSelectedRow());
1005 ffc
.removeBuildOptionsFfsAttribute(jTable
.getSelectedRow(), jTable4
.getSelectedRow());
1014 * This method initializes jButton19
1016 * @return javax.swing.JButton
1018 private JButton
getJButton19() {
1019 if (jButton19
== null) {
1020 jButton19
= new JButton();
1021 jButton19
.setPreferredSize(new java
.awt
.Dimension(75,20));
1022 jButton19
.setEnabled(false);
1023 jButton19
.setText("Update");
1029 * This method initializes jCheckBox9
1031 * @return javax.swing.JCheckBox
1033 private JCheckBox
getJCheckBox9() {
1034 if (jCheckBox9
== null) {
1035 jCheckBox9
= new JCheckBox();
1036 jCheckBox9
.setPreferredSize(new java
.awt
.Dimension(50,20));
1037 jCheckBox9
.setText("IA32");
1043 * This method initializes jCheckBox10
1045 * @return javax.swing.JCheckBox
1047 private JCheckBox
getJCheckBox10() {
1048 if (jCheckBox10
== null) {
1049 jCheckBox10
= new JCheckBox();
1050 jCheckBox10
.setPreferredSize(new java
.awt
.Dimension(50,20));
1051 jCheckBox10
.setText("IPF");
1057 * This method initializes jCheckBox11
1059 * @return javax.swing.JCheckBox
1061 private JCheckBox
getJCheckBox11() {
1062 if (jCheckBox11
== null) {
1063 jCheckBox11
= new JCheckBox();
1064 jCheckBox11
.setText("X64");
1065 jCheckBox11
.setPreferredSize(new java
.awt
.Dimension(47,20));
1071 * This method initializes jCheckBox12
1073 * @return javax.swing.JCheckBox
1075 private JCheckBox
getJCheckBox12() {
1076 if (jCheckBox12
== null) {
1077 jCheckBox12
= new JCheckBox();
1078 jCheckBox12
.setPreferredSize(new java
.awt
.Dimension(50,20));
1079 jCheckBox12
.setText("EBC");
1085 * This method initializes jCheckBox13
1087 * @return javax.swing.JCheckBox
1089 private JCheckBox
getJCheckBox13() {
1090 if (jCheckBox13
== null) {
1091 jCheckBox13
= new JCheckBox();
1092 jCheckBox13
.setPreferredSize(new java
.awt
.Dimension(55,20));
1093 jCheckBox13
.setText("ARM");
1099 * This method initializes jCheckBox14
1101 * @return javax.swing.JCheckBox
1103 private JCheckBox
getJCheckBox14() {
1104 if (jCheckBox14
== null) {
1105 jCheckBox14
= new JCheckBox();
1106 jCheckBox14
.setPreferredSize(new java
.awt
.Dimension(50,20));
1107 jCheckBox14
.setText("PPC");
1113 * This method initializes jTextField12
1115 * @return javax.swing.JTextField
1117 private JTextField
getJTextField12() {
1118 if (jTextField12
== null) {
1119 jTextField12
= new JTextField();
1120 jTextField12
.setPreferredSize(new java
.awt
.Dimension(150,20));
1122 return jTextField12
;
1126 * This method initializes jTextField13
1128 * @return javax.swing.JTextField
1130 private JTextField
getJTextField13() {
1131 if (jTextField13
== null) {
1132 jTextField13
= new JTextField();
1133 jTextField13
.setPreferredSize(new java
.awt
.Dimension(140,20));
1135 return jTextField13
;
1139 * This method initializes jScrollPane
1141 * @return javax.swing.JScrollPane
1143 private JScrollPane
getJScrollPane() {
1144 if (jScrollPane
== null) {
1145 jScrollPane
= new JScrollPane();
1146 jScrollPane
.setPreferredSize(new java
.awt
.Dimension(150,419));
1147 jScrollPane
.setViewportView(getJTable());
1153 * This method initializes jTable
1155 * @return javax.swing.JTable
1157 private JTable
getJTable() {
1158 if (jTable
== null) {
1159 ffsTableModel
= new DefaultTableModel();
1160 ffsTableModel
.addColumn("FFS Type");
1161 jTable
= new JTable(ffsTableModel
);
1162 jTable
.setShowGrid(false);
1163 jTable
.setRowHeight(20);
1165 jTable
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1166 jTable
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
1167 public void valueChanged(ListSelectionEvent e
) {
1169 if (e
.getValueIsAdjusting()){
1172 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
1173 if (lsm
.isSelectionEmpty()) {
1177 int row
= lsm
.getMinSelectionIndex();
1178 sectionTableModel
.setRowCount(0);
1179 sectionsTableModel
.setRowCount(0);
1180 subsectionsTableModel
.setRowCount(0);
1181 ffsAttributesTableModel
.setRowCount(0);
1182 String
[] sArray
= {"", ""};
1183 LinkedHashMap
<String
, String
> lhm
= new LinkedHashMap
<String
, String
>();
1184 ArrayList
<String
> alSections
= new ArrayList
<String
>();
1185 ArrayList
<String
> alSection
= new ArrayList
<String
>();
1186 ffc
.getBuildOptionsFfs(row
, sArray
, lhm
, alSections
, alSection
);
1187 jTextField6
.setText(sArray
[0]);
1188 jTextField
.setText(sArray
[1]);
1189 for (int i
= 0; i
< alSection
.size(); ++i
) {
1190 String
[] sectionRow
= {alSection
.get(i
)};
1191 sectionTableModel
.addRow(sectionRow
);
1193 for (int j
= 0; j
< alSections
.size(); ++j
) {
1194 String
[] sectionsRow
= {alSections
.get(j
)};
1195 sectionsTableModel
.addRow(sectionsRow
);
1197 if (lhm
.size() <= 0 ) {
1200 Set
<String
> keySet
= lhm
.keySet();
1201 Iterator
<String
> is
= keySet
.iterator();
1202 while(is
.hasNext()) {
1203 String key
= is
.next();
1204 String
[] attribRow
= {key
, lhm
.get(key
)};
1205 ffsAttributesTableModel
.addRow(attribRow
);
1211 jTable
.getModel().addTableModelListener(new TableModelListener() {
1212 public void tableChanged(TableModelEvent arg0
) {
1213 // TODO Auto-generated method stub
1214 int row
= arg0
.getFirstRow();
1215 TableModel m
= (TableModel
)arg0
.getSource();
1216 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1217 //ToDo Data Validition check.
1218 String id
= m
.getValueAt(row
, 0) + "";
1220 if (id
.length() == 0) {
1224 ffc
.updateBuildOptionsFfsKey(row
, id
);
1233 * This method initializes jScrollPane1
1235 * @return javax.swing.JScrollPane
1237 private JScrollPane
getJScrollPane1() {
1238 if (jScrollPane1
== null) {
1239 jScrollPane1
= new JScrollPane();
1240 jScrollPane1
.setPreferredSize(new java
.awt
.Dimension(500,80));
1241 jScrollPane1
.setViewportView(getJTable1());
1243 return jScrollPane1
;
1247 * This method initializes jTable1
1249 * @return javax.swing.JTable
1251 private JTable
getJTable1() {
1252 if (jTable1
== null) {
1253 sectionTableModel
= new DefaultTableModel();
1254 sectionTableModel
.addColumn("SectionType");
1256 jTable1
= new JTable(sectionTableModel
);
1257 JComboBox cb
= new JComboBox();
1258 cb
.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");
1259 cb
.addItem("EFI_SECTION_VERSION");
1260 cb
.addItem("EFI_SECTION_USER_INTERFACE");
1261 cb
.addItem("EFI_SECTION_DXE_DEPEX");
1262 cb
.addItem("EFI_SECTION_PEI_DEPEX");
1263 cb
.addItem("EFI_SECTION_PE32");
1264 cb
.addItem("EFI_SECTION_PIC");
1265 cb
.addItem("EFI_SECTION_TE");
1266 cb
.addItem("EFI_SECTION_RAW");
1267 cb
.addItem("EFI_SECTION_COMPRESSION");
1268 cb
.addItem("EFI_SECTION_GUID_DEFINED");
1269 cb
.addItem("EFI_SECTION_COMPATIBILITY16");
1270 cb
.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");
1271 jTable1
.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb
));
1273 jTable1
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1275 jTable1
.getModel().addTableModelListener(new TableModelListener() {
1276 public void tableChanged(TableModelEvent arg0
) {
1277 // TODO Auto-generated method stub
1278 if (jTable
.getSelectedRow() < 0) {
1281 int row
= arg0
.getFirstRow();
1282 TableModel m
= (TableModel
)arg0
.getSource();
1283 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1284 //ToDo Data Validition check.
1285 String type
= m
.getValueAt(row
, 0) + "";
1287 ffc
.updateBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), row
, type
);
1296 * This method initializes jScrollPane3
1298 * @return javax.swing.JScrollPane
1300 private JScrollPane
getJScrollPane3() {
1301 if (jScrollPane3
== null) {
1302 jScrollPane3
= new JScrollPane();
1303 jScrollPane3
.setPreferredSize(new java
.awt
.Dimension(500,90));
1304 jScrollPane3
.setViewportView(getJTable3());
1306 return jScrollPane3
;
1310 * This method initializes jTable3
1312 * @return javax.swing.JTable
1314 private JTable
getJTable3() {
1315 if (jTable3
== null) {
1316 subsectionsTableModel
= new DefaultTableModel();
1317 subsectionsTableModel
.addColumn("SectionType");
1318 jTable3
= new JTable(subsectionsTableModel
);
1319 JComboBox cb
= new JComboBox();
1320 cb
.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");
1321 cb
.addItem("EFI_SECTION_VERSION");
1322 cb
.addItem("EFI_SECTION_USER_INTERFACE");
1323 cb
.addItem("EFI_SECTION_DXE_DEPEX");
1324 cb
.addItem("EFI_SECTION_PEI_DEPEX");
1325 cb
.addItem("EFI_SECTION_PE32");
1326 cb
.addItem("EFI_SECTION_PIC");
1327 cb
.addItem("EFI_SECTION_TE");
1328 cb
.addItem("EFI_SECTION_RAW");
1329 cb
.addItem("EFI_SECTION_COMPRESSION");
1330 cb
.addItem("EFI_SECTION_GUID_DEFINED");
1331 cb
.addItem("EFI_SECTION_COMPATIBILITY16");
1332 cb
.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");
1333 jTable3
.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb
));
1334 jTable3
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1336 jTable3
.getModel().addTableModelListener(new TableModelListener() {
1337 public void tableChanged(TableModelEvent arg0
) {
1338 // TODO Auto-generated method stub
1339 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1342 int row
= arg0
.getFirstRow();
1343 TableModel m
= (TableModel
)arg0
.getSource();
1344 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1345 //ToDo Data Validition check.
1346 String type
= m
.getValueAt(row
, 0) + "";
1347 ffc
.updateBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), row
, type
);
1356 * This method initializes jTextField
1358 * @return javax.swing.JTextField
1360 private JTextField
getJTextField() {
1361 if (jTextField
== null) {
1362 jTextField
= new JTextField();
1363 jTextField
.setPreferredSize(new java
.awt
.Dimension(100,20));
1364 jTextField
.addFocusListener(new java
.awt
.event
.FocusAdapter() {
1365 public void focusLost(java
.awt
.event
.FocusEvent e
) {
1366 if (jTable
.getSelectedRow() < 0) {
1369 ffc
.updateBuildOptionsFfsSectionsType(jTable
.getSelectedRow(), jTextField
.getText());
1377 * This method initializes jPanel4
1379 * @return javax.swing.JPanel
1381 private JPanel
getJPanel4() {
1382 if (jPanel4
== null) {
1383 jPanel4
= new JPanel();
1384 jPanel4
.setPreferredSize(new java
.awt
.Dimension(100,100));
1385 jPanel4
.add(getJButton17(), null);
1386 jPanel4
.add(getJButton18(), null);
1392 * This method initializes jButton
1394 * @return javax.swing.JButton
1396 private JButton
getJButton() {
1397 if (jButton
== null) {
1398 jButton
= new JButton();
1399 jButton
.setPreferredSize(new java
.awt
.Dimension(80,20));
1400 jButton
.setText("New");
1401 jButton
.addActionListener(new java
.awt
.event
.ActionListener() {
1402 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1403 if (jTable
.getSelectedRow() < 0) {
1406 String
[] row
= {"EFI_SECTION_RAW"};
1407 sectionTableModel
.addRow(row
);
1408 ffc
.genBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), row
[0]);
1416 * This method initializes jButton1
1418 * @return javax.swing.JButton
1420 private JButton
getJButton1() {
1421 if (jButton1
== null) {
1422 jButton1
= new JButton();
1423 jButton1
.setPreferredSize(new java
.awt
.Dimension(80,20));
1424 jButton1
.setText("Remove");
1426 jButton1
.addActionListener(new java
.awt
.event
.ActionListener() {
1427 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1428 if (jTable
.getSelectedRow() < 0 || jTable1
.getSelectedRow() < 0) {
1431 sectionTableModel
.removeRow(jTable1
.getSelectedRow());
1432 ffc
.removeBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), jTable1
.getSelectedRow());
1440 * This method initializes jButton2
1442 * @return javax.swing.JButton
1444 private JButton
getJButton2() {
1445 if (jButton2
== null) {
1446 jButton2
= new JButton();
1447 jButton2
.setPreferredSize(new java
.awt
.Dimension(80,20));
1448 jButton2
.setText("New");
1449 jButton2
.addActionListener(new java
.awt
.event
.ActionListener() {
1450 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1451 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1454 String
[] row
= {"EFI_SECTION_RAW"};
1455 subsectionsTableModel
.addRow(row
);
1456 ffc
.genBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), row
[0]);
1465 * This method initializes jButton3
1467 * @return javax.swing.JButton
1469 private JButton
getJButton3() {
1470 if (jButton3
== null) {
1471 jButton3
= new JButton();
1472 jButton3
.setPreferredSize(new java
.awt
.Dimension(80,20));
1473 jButton3
.setText("Remove");
1474 jButton3
.addActionListener(new java
.awt
.event
.ActionListener() {
1475 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1476 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0 || jTable3
.getSelectedRow() < 0) {
1479 subsectionsTableModel
.removeRow(jTable3
.getSelectedRow());
1480 ffc
.removeBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), jTable3
.getSelectedRow());
1488 * This method initializes jButton6
1490 * @return javax.swing.JButton
1492 private JButton
getJButton6() {
1493 if (jButton6
== null) {
1494 jButton6
= new JButton();
1495 jButton6
.setPreferredSize(new java
.awt
.Dimension(80,20));
1496 jButton6
.setText("New");
1497 jButton6
.addActionListener(new java
.awt
.event
.ActionListener() {
1498 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1499 if (jTable
.getSelectedRow() < 0) {
1502 String
[] row
= {""};
1503 sectionsTableModel
.addRow(row
);
1504 ffc
.genBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), "");
1512 * This method initializes jButton7
1514 * @return javax.swing.JButton
1516 private JButton
getJButton7() {
1517 if (jButton7
== null) {
1518 jButton7
= new JButton();
1519 jButton7
.setPreferredSize(new java
.awt
.Dimension(80,20));
1520 jButton7
.setText("Remove");
1521 jButton7
.addActionListener(new java
.awt
.event
.ActionListener() {
1522 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1523 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1526 sectionsTableModel
.removeRow(jTable6
.getSelectedRow());
1527 ffc
.removeBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), jTable6
.getSelectedRow());
1535 * This method initializes jScrollPane4
1537 * @return javax.swing.JScrollPane
1539 private JScrollPane
getJScrollPane4() {
1540 if (jScrollPane4
== null) {
1541 jScrollPane4
= new JScrollPane();
1542 jScrollPane4
.setPreferredSize(new java
.awt
.Dimension(500,80));
1543 jScrollPane4
.setViewportView(getJTable6());
1545 return jScrollPane4
;
1549 * This method initializes jTable6
1551 * @return javax.swing.JTable
1553 private JTable
getJTable6() {
1554 if (jTable6
== null) {
1555 sectionsTableModel
= new DefaultTableModel();
1556 sectionsTableModel
.addColumn("EncapsulationType");
1557 jTable6
= new JTable(sectionsTableModel
);
1559 jTable6
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1560 jTable6
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
1561 public void valueChanged(ListSelectionEvent e
) {
1562 if (e
.getValueIsAdjusting()){
1565 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
1566 if (lsm
.isSelectionEmpty()) {
1570 int sectionsRow
= lsm
.getMinSelectionIndex();
1571 if (jTable
.getSelectedRow() < 0) {
1574 subsectionsTableModel
.setRowCount(0);
1575 ArrayList
<String
> al
= new ArrayList
<String
>();
1576 ffc
.getBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), sectionsRow
, al
);
1577 for (int i
= 0; i
< al
.size(); ++i
) {
1578 String
[] subsectionRow
= {al
.get(i
)};
1579 subsectionsTableModel
.addRow(subsectionRow
);
1585 jTable6
.getModel().addTableModelListener(new TableModelListener() {
1586 public void tableChanged(TableModelEvent arg0
) {
1587 // TODO Auto-generated method stub
1588 int row
= arg0
.getFirstRow();
1589 TableModel m
= (TableModel
)arg0
.getSource();
1590 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1591 //ToDo Data Validition check.
1592 String encapType
= m
.getValueAt(row
, 0) + "";
1593 ffc
.updateBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), row
, encapType
);
1604 public static void main(String
[] args
) {
1605 // TODO Auto-generated method stub
1606 new FpdBuildOptions().setVisible(true);
1610 * This is the default constructor
1612 public FpdBuildOptions() {
1615 this.setVisible(true);
1618 public FpdBuildOptions(PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
) {
1620 ffc
= new FpdFileContents(fpd
);
1624 private void init(FpdFileContents ffc
) {
1628 this.addInternalFrameListener(new InternalFrameAdapter(){
1629 public void internalFrameDeactivated(InternalFrameEvent e
){
1630 if (jTable
.isEditing()) {
1631 jTable
.getCellEditor().stopCellEditing();
1633 if (jTable1
.isEditing()) {
1634 jTable1
.getCellEditor().stopCellEditing();
1636 if (jTable2
.isEditing()) {
1637 jTable2
.getCellEditor().stopCellEditing();
1639 if (jTable3
.isEditing()) {
1640 jTable3
.getCellEditor().stopCellEditing();
1642 if (jTable4
.isEditing()) {
1643 jTable4
.getCellEditor().stopCellEditing();
1645 if (jTable5
.isEditing()) {
1646 jTable5
.getCellEditor().stopCellEditing();
1652 private void initOptionTable() {
1653 if (ffc
.getBuildOptionsOptCount() == 0) {
1654 //ToDo get default options from *.txt file
1657 String
[][] saa
= new String
[ffc
.getBuildOptionsOptCount()][6];
1658 ffc
.getBuildOptionsOpts(saa
);
1659 for (int i
= 0; i
< saa
.length
; ++i
) {
1660 optionsTableModel
.addRow(saa
[i
]);
1664 private void initAntTaskTable() {
1665 if (ffc
.getBuildOptionsUserDefAntTaskCount() == 0) {
1668 String
[][] saa
= new String
[ffc
.getBuildOptionsUserDefAntTaskCount()][3];
1669 ffc
.getBuildOptionsUserDefAntTasks(saa
);
1670 for (int i
= 0; i
< saa
.length
; ++i
) {
1671 antTaskTableModel
.addRow(saa
[i
]);
1675 private void initFfsTable(){
1676 int ffsCount
= ffc
.getBuildOptionsFfsCount();
1680 String
[][] saa
= new String
[ffsCount
][1];
1681 ffc
.getBuildOptionsFfsKey(saa
);
1682 for (int i
= 0; i
< saa
.length
; ++i
) {
1683 ffsTableModel
.addRow(saa
[i
]);
1687 * This method initializes this
1691 private void initialize() {
1692 this.setSize(722, 577);
1693 this.setTitle("FPD Build Options");
1694 this.setContentPane(getJContentPane());
1698 * This method initializes jContentPane
1700 * @return javax.swing.JPanel
1702 private JPanel
getJContentPane() {
1703 if (jContentPane
== null) {
1704 jContentPane
= new JPanel();
1705 jContentPane
.setLayout(new BorderLayout());
1706 jContentPane
.add(getJPanel(), java
.awt
.BorderLayout
.SOUTH
);
1707 jContentPane
.add(getJPanel1(), java
.awt
.BorderLayout
.NORTH
);
1708 jContentPane
.add(getJPanel2(), java
.awt
.BorderLayout
.WEST
);
1709 jContentPane
.add(getJPanel3(), java
.awt
.BorderLayout
.EAST
);
1710 jContentPane
.add(getJTabbedPane(), java
.awt
.BorderLayout
.CENTER
);
1712 return jContentPane
;
1715 } // @jve:decl-index=0:visual-constraint="10,10"