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
;
56 public class FpdBuildOptions
extends IInternalFrame
{
58 private static final long serialVersionUID
= 1L;
59 private JPanel jContentPane
= null;
60 private JPanel jPanel
= null;
61 private JPanel jPanel1
= null;
62 private JPanel jPanel2
= null;
63 private JPanel jPanel3
= null;
64 private JTabbedPane jTabbedPane
= null;
65 private JPanel jPanel8
= null;
66 private JPanel jPanel9
= null;
67 private JPanel jPanel10
= null;
68 private JPanel jPanel11
= null;
69 private JTextField jTextField2
= null;
70 private JLabel jLabel3
= null;
71 private JTextField jTextField3
= null;
72 private JButton jButton4
= null;
73 private JButton jButton5
= null;
74 private JTextField jTextField4
= null;
75 private JScrollPane jScrollPane2
= null;
76 private JTable jTable2
= null;
77 private DefaultTableModel ffsTableModel
= null;
78 private DefaultTableModel imageEntryPointTableModel
= null;
79 private DefaultTableModel outputDirectoryTableModel
= null;
80 private DefaultTableModel antTaskTableModel
= null;
81 private DefaultTableModel ffsAttributesTableModel
= null;
82 private DefaultTableModel optionsTableModel
= null;
83 private JPanel jPanel13
= null;
84 private JPanel jPanel18
= null;
85 private JPanel jPanel15
= null;
86 private JPanel jPanel16
= null;
87 private JPanel jPanel17
= null;
88 private JLabel jLabel7
= null;
89 private JTextField jTextField6
= null;
90 private JButton jButton8
= null;
91 private JButton jButton9
= null;
92 private JCheckBox jCheckBox5
= null;
93 private JScrollPane jScrollPane5
= null;
94 private JTable jTable4
= null;
95 private JPanel jPanel19
= null;
96 private JPanel jPanel20
= null;
97 private JLabel jLabel9
= null;
98 private JTextField jTextField7
= null;
99 private JLabel jLabel10
= null;
100 private JComboBox jComboBox2
= null;
101 private JLabel jLabel11
= null;
102 private JLabel jLabel12
= null;
103 private JTextField jTextField8
= null;
104 private JScrollPane jScrollPane6
= null;
105 private JTable jTable5
= null;
106 private JButton jButton10
= null;
107 private JButton jButton11
= null;
108 private JPanel jPanel21
= null;
109 private JButton jButton12
= null;
110 private JButton jButton13
= null;
111 private JLabel jLabel8
= null;
112 private JTextField jTextField9
= null;
113 private JLabel jLabel13
= null;
114 private JTextField jTextField10
= null;
115 private JPanel jPanel22
= null;
116 private JCheckBox jCheckBox6
= null;
117 private JComboBox jComboBox4
= null;
118 private JCheckBox jCheckBox7
= null;
119 private JComboBox jComboBox5
= null;
120 private JCheckBox jCheckBox8
= null;
121 private JTextField jTextField11
= null;
122 private JButton jButton14
= null;
123 private JButton jButton15
= null;
124 private JButton jButton16
= null;
125 private DefaultListModel listModel
= new DefaultListModel();
126 private JButton jButton17
= null;
127 private JButton jButton18
= null;
128 private FpdFileContents ffc
= null;
129 private JButton jButton19
= null;
130 private JCheckBox jCheckBox9
= null;
131 private JCheckBox jCheckBox10
= null;
132 private JCheckBox jCheckBox11
= null;
133 private JCheckBox jCheckBox12
= null;
134 private JCheckBox jCheckBox13
= null;
135 private JCheckBox jCheckBox14
= null;
136 private JLabel jLabel14
= null;
137 private JTextField jTextField12
= null;
138 private JTextField jTextField13
= null;
139 private JLabel jLabel15
= null;
140 private int selectedRow
= -1;
141 private JLabel jLabel
= null;
142 private JLabel jLabel1
= null;
143 private JScrollPane jScrollPane
= null;
144 private JTable jTable
= null;
146 * This method initializes jPanel
148 * @return javax.swing.JPanel
150 private JPanel
getJPanel() {
151 if (jPanel
== null) {
152 jPanel
= new JPanel();
158 * This method initializes jPanel1
160 * @return javax.swing.JPanel
162 private JPanel
getJPanel1() {
163 if (jPanel1
== null) {
164 jPanel1
= new JPanel();
170 * This method initializes jPanel2
172 * @return javax.swing.JPanel
174 private JPanel
getJPanel2() {
175 if (jPanel2
== null) {
176 jPanel2
= new JPanel();
182 * This method initializes jPanel3
184 * @return javax.swing.JPanel
186 private JPanel
getJPanel3() {
187 if (jPanel3
== null) {
188 jPanel3
= new JPanel();
194 * This method initializes jTabbedPane
196 * @return javax.swing.JTabbedPane
198 private JTabbedPane
getJTabbedPane() {
199 if (jTabbedPane
== null) {
200 jTabbedPane
= new JTabbedPane();
201 jTabbedPane
.addTab("FFS", null, getJPanel13(), null);
202 jTabbedPane
.addTab("Options", null, getJPanel20(), null);
203 jTabbedPane
.addTab("User Defined ANT Tasks", null, getJPanel8(), null);
210 * This method initializes jPanel8
212 * @return javax.swing.JPanel
214 private JPanel
getJPanel8() {
215 if (jPanel8
== null) {
216 jPanel8
= new JPanel();
217 jPanel8
.setLayout(new BorderLayout());
218 jPanel8
.add(getJPanel9(), java
.awt
.BorderLayout
.NORTH
);
219 jPanel8
.add(getJPanel10(), java
.awt
.BorderLayout
.SOUTH
);
220 jPanel8
.add(getJPanel11(), java
.awt
.BorderLayout
.CENTER
);
227 * This method initializes jPanel9
229 * @return javax.swing.JPanel
231 private JPanel
getJPanel9() {
232 if (jPanel9
== null) {
233 jLabel
= new JLabel();
234 jLabel
.setText("ANT Task File");
235 jLabel
.setPreferredSize(new java
.awt
.Dimension(80,20));
236 FlowLayout flowLayout8
= new FlowLayout();
237 flowLayout8
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
238 jLabel3
= new JLabel();
239 jLabel3
.setText("ID");
240 jPanel9
= new JPanel();
241 jPanel9
.setLayout(flowLayout8
);
242 jPanel9
.add(jLabel
, null);
243 jPanel9
.add(getJTextField2(), null);
244 jPanel9
.add(jLabel3
, null);
245 jPanel9
.add(getJTextField3(), null);
251 * This method initializes jPanel10
253 * @return javax.swing.JPanel
255 private JPanel
getJPanel10() {
256 if (jPanel10
== null) {
257 jPanel10
= new JPanel();
263 * This method initializes jPanel11
265 * @return javax.swing.JPanel
267 private JPanel
getJPanel11() {
268 if (jPanel11
== null) {
269 jLabel1
= new JLabel();
270 jLabel1
.setText("ANT Command Options");
271 jLabel1
.setPreferredSize(new java
.awt
.Dimension(131,20));
272 FlowLayout flowLayout3
= new FlowLayout();
273 flowLayout3
.setHgap(5);
274 flowLayout3
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
275 jPanel11
= new JPanel();
276 jPanel11
.setLayout(flowLayout3
);
277 jPanel11
.add(jLabel1
, null);
278 jPanel11
.add(getJTextField4(), null);
279 jPanel11
.add(getJButton4(), null);
280 jPanel11
.add(getJButton5(), null);
281 jPanel11
.add(getJScrollPane2(), null);
287 * This method initializes jTextField2
289 * @return javax.swing.JTextField
291 private JTextField
getJTextField2() {
292 if (jTextField2
== null) {
293 jTextField2
= new JTextField();
294 jTextField2
.setPreferredSize(new java
.awt
.Dimension(200,20));
300 * This method initializes jTextField3
302 * @return javax.swing.JTextField
304 private JTextField
getJTextField3() {
305 if (jTextField3
== null) {
306 jTextField3
= new JTextField();
307 jTextField3
.setPreferredSize(new java
.awt
.Dimension(100,20));
313 * This method initializes jButton4
315 * @return javax.swing.JButton
317 private JButton
getJButton4() {
318 if (jButton4
== null) {
319 jButton4
= new JButton();
320 jButton4
.setPreferredSize(new java
.awt
.Dimension(90,20));
321 jButton4
.setText("Add");
322 jButton4
.addActionListener(new ActionListener() {
323 public void actionPerformed(ActionEvent e
) {
324 Object
[] o
= {jTextField3
.getText(), null, null};
325 o
[1] = jTextField2
.getText();
326 o
[2] = jTextField4
.getText();
327 ffc
.genBuildOptionsUserDefAntTask(o
[0]+"", null, o
[2]+"");
328 antTaskTableModel
.addRow(o
);
337 * This method initializes jButton5
339 * @return javax.swing.JButton
341 private JButton
getJButton5() {
342 if (jButton5
== null) {
343 jButton5
= new JButton();
344 jButton5
.setPreferredSize(new java
.awt
.Dimension(90,20));
345 jButton5
.setText("Delete");
346 jButton5
.addActionListener(new ActionListener() {
347 public void actionPerformed(ActionEvent e
) {
348 if (selectedRow
>= 0) {
349 antTaskTableModel
.removeRow(selectedRow
);
350 ffc
.removeBuildOptionsUserDefAntTask(selectedRow
);
359 * This method initializes jTextField4
361 * @return javax.swing.JTextField
363 private JTextField
getJTextField4() {
364 if (jTextField4
== null) {
365 jTextField4
= new JTextField();
366 jTextField4
.setPreferredSize(new java
.awt
.Dimension(270,20));
367 jTextField4
.setEnabled(true);
373 * This method initializes jScrollPane2
375 * @return javax.swing.JScrollPane
377 private JScrollPane
getJScrollPane2() {
378 if (jScrollPane2
== null) {
379 jScrollPane2
= new JScrollPane();
380 jScrollPane2
.setPreferredSize(new java
.awt
.Dimension(600,100));
381 jScrollPane2
.setViewportView(getJTable2());
387 * This method initializes jTable2
389 * @return javax.swing.JTable
391 private JTable
getJTable2() {
392 if (jTable2
== null) {
393 antTaskTableModel
= new DefaultTableModel();
394 jTable2
= new JTable(antTaskTableModel
);
395 antTaskTableModel
.addColumn("ID");
396 antTaskTableModel
.addColumn("Filename");
397 antTaskTableModel
.addColumn("ANT Command Options");
399 jTable2
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
400 jTable2
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
401 public void valueChanged(ListSelectionEvent e
) {
403 if (e
.getValueIsAdjusting()){
406 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
407 if (lsm
.isSelectionEmpty()) {
411 selectedRow
= lsm
.getMinSelectionIndex();
416 jTable2
.getModel().addTableModelListener(new TableModelListener() {
417 public void tableChanged(TableModelEvent arg0
) {
418 // TODO Auto-generated method stub
419 int row
= arg0
.getFirstRow();
420 TableModel m
= (TableModel
)arg0
.getSource();
421 if (arg0
.getType() == TableModelEvent
.UPDATE
){
422 //ToDo Data Validition check.
423 String id
= m
.getValueAt(row
, 0) + "";
424 String file
= m
.getValueAt(row
, 1) + "";
425 String execOrder
= m
.getValueAt(row
, 2) + "";
426 if (id
.length() == 0) {
429 if (file
.length() == 0 && execOrder
.length() == 0){
432 if (file
.length() == 0) {
435 if (execOrder
.length() == 0) {
438 ffc
.updateBuildOptionsUserDefAntTask(row
, id
, file
, execOrder
);
448 * This method initializes jPanel13
450 * @return javax.swing.JPanel
452 private JPanel
getJPanel13() {
453 if (jPanel13
== null) {
454 jPanel13
= new JPanel();
455 jPanel13
.setLayout(new BorderLayout());
456 jPanel13
.add(getJPanel18(), java
.awt
.BorderLayout
.CENTER
);
457 jPanel13
.add(getJScrollPane(), java
.awt
.BorderLayout
.WEST
);
463 * This method initializes jPanel18
465 * @return javax.swing.JPanel
467 private JPanel
getJPanel18() {
468 if (jPanel18
== null) {
469 jPanel18
= new JPanel();
470 jPanel18
.setLayout(new BorderLayout());
471 jPanel18
.add(getJPanel15(), java
.awt
.BorderLayout
.NORTH
);
472 jPanel18
.add(getJPanel16(), java
.awt
.BorderLayout
.SOUTH
);
473 jPanel18
.add(getJPanel17(), java
.awt
.BorderLayout
.EAST
);
474 jPanel18
.add(getJPanel19(), java
.awt
.BorderLayout
.CENTER
);
480 * This method initializes jPanel15
482 * @return javax.swing.JPanel
484 private JPanel
getJPanel15() {
485 if (jPanel15
== null) {
486 FlowLayout flowLayout5
= new FlowLayout();
487 flowLayout5
.setAlignment(java
.awt
.FlowLayout
.RIGHT
);
488 jLabel7
= new JLabel();
489 jLabel7
.setText("Type");
490 jPanel15
= new JPanel();
491 jPanel15
.setLayout(flowLayout5
);
492 jPanel15
.add(jLabel7
, null);
493 jPanel15
.add(getJTextField6(), null);
494 jPanel15
.add(getJButton8(), null);
495 jPanel15
.add(getJButton9(), null);
501 * This method initializes jPanel16
503 * @return javax.swing.JPanel
505 private JPanel
getJPanel16() {
506 if (jPanel16
== null) {
507 FlowLayout flowLayout6
= new FlowLayout();
508 flowLayout6
.setHgap(5);
509 flowLayout6
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
510 jPanel16
= new JPanel();
511 jPanel16
.setPreferredSize(new java
.awt
.Dimension(491,130));
512 jPanel16
.setLayout(flowLayout6
);
513 jPanel16
.add(getJCheckBox5(), null);
514 jPanel16
.add(getJButton17(), null);
515 jPanel16
.add(getJButton18(), null);
516 jPanel16
.add(getJScrollPane5(), null);
522 * This method initializes jPanel17
524 * @return javax.swing.JPanel
526 private JPanel
getJPanel17() {
527 if (jPanel17
== null) {
528 jPanel17
= new JPanel();
534 * This method initializes jTextField6
536 * @return javax.swing.JTextField
538 private JTextField
getJTextField6() {
539 if (jTextField6
== null) {
540 jTextField6
= new JTextField();
541 jTextField6
.setPreferredSize(new java
.awt
.Dimension(150,20));
547 * This method initializes jButton8
549 * @return javax.swing.JButton
551 private JButton
getJButton8() {
552 if (jButton8
== null) {
553 jButton8
= new JButton();
554 jButton8
.setPreferredSize(new java
.awt
.Dimension(70,20));
555 jButton8
.setText("Add");
556 jButton8
.addActionListener(new AbstractAction() {
560 private static final long serialVersionUID
= -2923720717273384221L;
562 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
563 if (jTextField6
.getText().length() > 0) {
564 listModel
.addElement(jTextField6
.getText());
573 * This method initializes jButton9
575 * @return javax.swing.JButton
577 private JButton
getJButton9() {
578 if (jButton9
== null) {
579 jButton9
= new JButton();
580 jButton9
.setPreferredSize(new java
.awt
.Dimension(70,20));
581 jButton9
.setText("Delete");
582 jButton9
.addActionListener(new AbstractAction() {
586 private static final long serialVersionUID
= -4002678939178194476L;
588 public void actionPerformed(ActionEvent arg0
){
596 * This method initializes jCheckBox5
598 * @return javax.swing.JCheckBox
600 private JCheckBox
getJCheckBox5() {
601 if (jCheckBox5
== null) {
602 jCheckBox5
= new JCheckBox();
603 jCheckBox5
.setText("Attributes");
604 jCheckBox5
.setPreferredSize(new java
.awt
.Dimension(81,20));
610 * This method initializes jScrollPane5
612 * @return javax.swing.JScrollPane
614 private JScrollPane
getJScrollPane5() {
615 if (jScrollPane5
== null) {
616 jScrollPane5
= new JScrollPane();
617 jScrollPane5
.setPreferredSize(new java
.awt
.Dimension(350,100));
618 jScrollPane5
.setViewportView(getJTable4());
624 * This method initializes jTable4
626 * @return javax.swing.JTable
628 private JTable
getJTable4() {
629 if (jTable4
== null) {
630 ffsAttributesTableModel
= new DefaultTableModel();
631 jTable4
= new JTable(ffsAttributesTableModel
);
632 jTable4
.setPreferredSize(new java
.awt
.Dimension(400,80));
633 ffsAttributesTableModel
.addColumn("Name");
634 ffsAttributesTableModel
.addColumn("Value");
640 * This method initializes jPanel19
642 * @return javax.swing.JPanel
644 private JPanel
getJPanel19() {
645 if (jPanel19
== null) {
646 jPanel19
= new JPanel();
647 jPanel19
.setLayout(new CardLayout());
648 jPanel19
.add(getJPanel21(), getJPanel21().getName());
649 jPanel19
.add(getJPanel22(), getJPanel22().getName());
655 * This method initializes jPanel20
657 * @return javax.swing.JPanel
659 private JPanel
getJPanel20() {
660 if (jPanel20
== null) {
661 jLabel15
= new JLabel();
662 jLabel15
.setText("Tag Name");
663 FlowLayout flowLayout9
= new FlowLayout();
664 flowLayout9
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
665 jLabel14
= new JLabel();
666 jLabel14
.setText("Build Targets");
667 jLabel12
= new JLabel();
668 jLabel12
.setText("Tool Command");
669 jLabel11
= new JLabel();
670 jLabel11
.setText("Supported Arch");
671 jLabel10
= new JLabel();
672 jLabel10
.setText("Tool Chain Family");
673 jLabel9
= new JLabel();
674 jLabel9
.setText("Option Contents");
675 jPanel20
= new JPanel();
676 jPanel20
.setLayout(flowLayout9
);
677 jPanel20
.add(jLabel14
, null);
678 jPanel20
.add(getJTextField12(), null);
679 jPanel20
.add(jLabel10
, null);
680 jPanel20
.add(getJComboBox2(), null);
681 jPanel20
.add(jLabel12
, null);
682 jPanel20
.add(getJTextField8(), null);
683 jPanel20
.add(jLabel11
, null);
684 jPanel20
.add(getJCheckBox9(), null);
685 jPanel20
.add(getJCheckBox10(), null);
686 jPanel20
.add(getJCheckBox11(), null);
687 jPanel20
.add(getJCheckBox12(), null);
688 jPanel20
.add(getJCheckBox13(), null);
689 jPanel20
.add(getJCheckBox14(), null);
690 jPanel20
.add(jLabel15
, null);
691 jPanel20
.add(getJTextField13(), null);
692 jPanel20
.add(jLabel9
, null);
693 jPanel20
.add(getJTextField7(), null);
694 jPanel20
.add(getJButton10(), null);
695 jPanel20
.add(getJButton11(), null);
696 jPanel20
.add(getJButton19(), null);
697 jPanel20
.add(getJScrollPane6(), null);
703 * This method initializes jTextField7
705 * @return javax.swing.JTextField
707 private JTextField
getJTextField7() {
708 if (jTextField7
== null) {
709 jTextField7
= new JTextField();
710 jTextField7
.setPreferredSize(new java
.awt
.Dimension(300,20));
716 * This method initializes jComboBox2
718 * @return javax.swing.JComboBox
720 private JComboBox
getJComboBox2() {
721 if (jComboBox2
== null) {
722 jComboBox2
= new JComboBox();
723 jComboBox2
.setPreferredSize(new java
.awt
.Dimension(80,20));
724 jComboBox2
.addItem("MSFT");
725 jComboBox2
.addItem("GCC");
726 jComboBox2
.addItem("CYGWIN");
727 jComboBox2
.addItem("INTEL");
728 jComboBox2
.setSelectedIndex(0);
734 * This method initializes jTextField8
736 * @return javax.swing.JTextField
738 private JTextField
getJTextField8() {
739 if (jTextField8
== null) {
740 jTextField8
= new JTextField();
741 jTextField8
.setPreferredSize(new java
.awt
.Dimension(110,20));
747 * This method initializes jScrollPane6
749 * @return javax.swing.JScrollPane
751 private JScrollPane
getJScrollPane6() {
752 if (jScrollPane6
== null) {
753 jScrollPane6
= new JScrollPane();
754 jScrollPane6
.setPreferredSize(new java
.awt
.Dimension(630,200));
755 jScrollPane6
.setViewportView(getJTable5());
761 * This method initializes jTable5
763 * @return javax.swing.JTable
765 private JTable
getJTable5() {
766 if (jTable5
== null) {
767 optionsTableModel
= new DefaultTableModel();
768 jTable5
= new JTable(optionsTableModel
);
769 optionsTableModel
.addColumn("BuildTargets");
770 optionsTableModel
.addColumn("ToolChainFamily");
771 optionsTableModel
.addColumn("SupportedArch");
772 optionsTableModel
.addColumn("ToolCommand");
773 optionsTableModel
.addColumn("TagName");
774 optionsTableModel
.addColumn("Contents");
776 TableColumn toolFamilyCol
= jTable5
.getColumnModel().getColumn(1);
777 JComboBox cb
= new JComboBox();
780 cb
.addItem("CYGWIN");
782 toolFamilyCol
.setCellEditor(new DefaultCellEditor(cb
));
784 jTable5
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
785 jTable5
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
786 public void valueChanged(ListSelectionEvent e
) {
788 if (e
.getValueIsAdjusting()){
791 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
792 if (lsm
.isSelectionEmpty()) {
796 selectedRow
= lsm
.getMinSelectionIndex();
801 jTable5
.getModel().addTableModelListener(new TableModelListener() {
802 public void tableChanged(TableModelEvent arg0
) {
803 // TODO Auto-generated method stub
804 int row
= arg0
.getFirstRow();
805 TableModel m
= (TableModel
)arg0
.getSource();
806 if (arg0
.getType() == TableModelEvent
.UPDATE
){
807 //ToDo Data Validition check.
808 String targetName
= m
.getValueAt(row
, 0) + "";
809 String toolChain
= m
.getValueAt(row
, 1) + "";
810 String supArch
= m
.getValueAt(row
, 2) + "";
811 String toolCmd
= m
.getValueAt(row
, 3) + "";
812 String tagName
= m
.getValueAt(row
, 4) + "";
813 String contents
= m
.getValueAt(row
, 5) + "";
814 ffc
.updateBuildOptionsOpt(row
, targetName
, toolChain
, tagName
, toolCmd
, supArch
, contents
);
823 * This method initializes jButton10
825 * @return javax.swing.JButton
827 private JButton
getJButton10() {
828 if (jButton10
== null) {
829 jButton10
= new JButton();
830 jButton10
.setText("Add");
831 jButton10
.setPreferredSize(new java
.awt
.Dimension(70,20));
832 jButton10
.addActionListener(new AbstractAction() {
836 private static final long serialVersionUID
= 1L;
838 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
839 boolean[] boolArray
= {jCheckBox9
.isSelected(),jCheckBox10
.isSelected(),jCheckBox11
.isSelected(),
840 jCheckBox12
.isSelected(),jCheckBox13
.isSelected(),jCheckBox14
.isSelected()};
841 String s
= boolToList(boolArray
);
842 Object
[] o
= {jTextField12
.getText(), jComboBox2
.getSelectedItem(), s
,
843 jTextField8
.getText(), jTextField13
.getText(), jTextField7
.getText()};
844 optionsTableModel
.addRow(o
);
845 ffc
.genBuildOptionsOpt(jTextField12
.getText(), jComboBox2
.getSelectedItem()+"", jTextField13
.getText(), jTextField8
.getText(), s
, jTextField7
.getText());
852 private String
boolToList (boolean[] bool
) {
877 * This method initializes jButton11
879 * @return javax.swing.JButton
881 private JButton
getJButton11() {
882 if (jButton11
== null) {
883 jButton11
= new JButton();
884 jButton11
.setText("Delete");
885 jButton11
.setPreferredSize(new java
.awt
.Dimension(70,20));
886 jButton11
.addActionListener(new AbstractAction() {
890 private static final long serialVersionUID
= 1L;
892 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
893 if (selectedRow
>= 0) {
894 optionsTableModel
.removeRow(selectedRow
);
895 ffc
.removeBuildOptionsOpt(selectedRow
);
904 * This method initializes jPanel21
906 * @return javax.swing.JPanel
908 private JPanel
getJPanel21() {
909 if (jPanel21
== null) {
910 jLabel13
= new JLabel();
911 jLabel13
.setText("EncapsulationTag");
912 jLabel8
= new JLabel();
913 jLabel8
.setText("EncapsulationType");
914 jPanel21
= new JPanel();
915 jPanel21
.setName("jPanel21");
916 jPanel21
.add(jLabel8
, null);
917 jPanel21
.add(getJTextField9(), null);
918 jPanel21
.add(jLabel13
, null);
919 jPanel21
.add(getJTextField10(), null);
920 jPanel21
.add(getJButton12(), null);
921 jPanel21
.add(getJButton13(), null);
922 jPanel21
.add(getJButton16(), null);
928 * This method initializes jButton12
930 * @return javax.swing.JButton
932 private JButton
getJButton12() {
933 if (jButton12
== null) {
934 jButton12
= new JButton();
935 jButton12
.setText("Add Sections");
936 jButton12
.setPreferredSize(new java
.awt
.Dimension(109,20));
937 jButton12
.addActionListener(new AbstractAction(){
941 private static final long serialVersionUID
= 1L;
943 public void actionPerformed(ActionEvent arg0
){
951 * This method initializes jButton13
953 * @return javax.swing.JButton
955 private JButton
getJButton13() {
956 if (jButton13
== null) {
957 jButton13
= new JButton();
958 jButton13
.setText("Add Section");
959 jButton13
.setPreferredSize(new java
.awt
.Dimension(102,20));
960 jButton13
.addActionListener(new AbstractAction(){
964 private static final long serialVersionUID
= 1L;
966 public void actionPerformed(ActionEvent arg0
){
967 CardLayout cl
= (CardLayout
)jPanel19
.getLayout();
976 * This method initializes jTextField9
978 * @return javax.swing.JTextField
980 private JTextField
getJTextField9() {
981 if (jTextField9
== null) {
982 jTextField9
= new JTextField();
983 jTextField9
.setPreferredSize(new java
.awt
.Dimension(250,20));
989 * This method initializes jTextField10
991 * @return javax.swing.JTextField
993 private JTextField
getJTextField10() {
994 if (jTextField10
== null) {
995 jTextField10
= new JTextField();
996 jTextField10
.setPreferredSize(new java
.awt
.Dimension(250,20));
1002 * This method initializes jPanel22
1004 * @return javax.swing.JPanel
1006 private JPanel
getJPanel22() {
1007 if (jPanel22
== null) {
1008 FlowLayout flowLayout7
= new FlowLayout();
1009 flowLayout7
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
1010 jPanel22
= new JPanel();
1011 jPanel22
.setLayout(flowLayout7
);
1012 jPanel22
.setName("jPanel22");
1013 jPanel22
.add(getJCheckBox6(), null);
1014 jPanel22
.add(getJComboBox4(), null);
1015 jPanel22
.add(getJCheckBox7(), null);
1016 jPanel22
.add(getJComboBox5(), null);
1017 jPanel22
.add(getJCheckBox8(), null);
1018 jPanel22
.add(getJTextField11(), null);
1019 jPanel22
.add(getJButton14(), null);
1020 jPanel22
.add(getJButton15(), null);
1026 * This method initializes jCheckBox6
1028 * @return javax.swing.JCheckBox
1030 private JCheckBox
getJCheckBox6() {
1031 if (jCheckBox6
== null) {
1032 jCheckBox6
= new JCheckBox();
1033 jCheckBox6
.setText("Section Type");
1034 jCheckBox6
.setPreferredSize(new java
.awt
.Dimension(98,20));
1040 * This method initializes jComboBox4
1042 * @return javax.swing.JComboBox
1044 private JComboBox
getJComboBox4() {
1045 if (jComboBox4
== null) {
1046 jComboBox4
= new JComboBox();
1047 jComboBox4
.setPreferredSize(new java
.awt
.Dimension(260,20));
1049 jComboBox4
.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");
1050 jComboBox4
.addItem("EFI_SECTION_VERSION");
1051 jComboBox4
.addItem("EFI_SECTION_USER_INTERFACE");
1052 jComboBox4
.addItem("EFI_SECTION_DXE_DEPEX");
1053 jComboBox4
.addItem("EFI_SECTION_PEI_DEPEX");
1054 jComboBox4
.addItem("EFI_SECTION_PE32");
1055 jComboBox4
.addItem("EFI_SECTION_PIC");
1056 jComboBox4
.addItem("EFI_SECTION_TE");
1057 jComboBox4
.addItem("EFI_SECTION_RAW");
1058 jComboBox4
.addItem("EFI_SECTION_COMPRESSION");
1059 jComboBox4
.addItem("EFI_SECTION_GUID_DEFINED");
1060 jComboBox4
.addItem("EFI_SECTION_COMPATIBILITY16");
1061 jComboBox4
.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");
1062 jComboBox4
.setSelectedIndex(0);
1068 * This method initializes jCheckBox7
1070 * @return javax.swing.JCheckBox
1072 private JCheckBox
getJCheckBox7() {
1073 if (jCheckBox7
== null) {
1074 jCheckBox7
= new JCheckBox();
1075 jCheckBox7
.setPreferredSize(new java
.awt
.Dimension(120,20));
1076 jCheckBox7
.setText("Compressible");
1082 * This method initializes jComboBox5
1084 * @return javax.swing.JComboBox
1086 private JComboBox
getJComboBox5() {
1087 if (jComboBox5
== null) {
1088 jComboBox5
= new JComboBox();
1089 jComboBox5
.setPreferredSize(new java
.awt
.Dimension(80,20));
1091 jComboBox5
.addItem("false");
1092 jComboBox5
.addItem("true");
1093 jComboBox5
.setSelectedIndex(0);
1099 * This method initializes jCheckBox8
1101 * @return javax.swing.JCheckBox
1103 private JCheckBox
getJCheckBox8() {
1104 if (jCheckBox8
== null) {
1105 jCheckBox8
= new JCheckBox();
1106 jCheckBox8
.setText("Binding Order");
1107 jCheckBox8
.setPreferredSize(new java
.awt
.Dimension(103,20));
1113 * This method initializes jTextField11
1115 * @return javax.swing.JTextField
1117 private JTextField
getJTextField11() {
1118 if (jTextField11
== null) {
1119 jTextField11
= new JTextField();
1120 jTextField11
.setPreferredSize(new java
.awt
.Dimension(150,20));
1122 return jTextField11
;
1126 * This method initializes jButton14
1128 * @return javax.swing.JButton
1130 private JButton
getJButton14() {
1131 if (jButton14
== null) {
1132 jButton14
= new JButton();
1133 jButton14
.setText("Add");
1134 jButton14
.setPreferredSize(new java
.awt
.Dimension(70,20));
1135 jButton14
.addActionListener(new AbstractAction(){
1139 private static final long serialVersionUID
= 1L;
1141 public void actionPerformed(ActionEvent arg0
){
1149 * This method initializes jButton15
1151 * @return javax.swing.JButton
1153 private JButton
getJButton15() {
1154 if (jButton15
== null) {
1155 jButton15
= new JButton();
1156 jButton15
.setPreferredSize(new java
.awt
.Dimension(70,20));
1157 jButton15
.setText("Delete");
1163 * This method initializes jButton16
1165 * @return javax.swing.JButton
1167 private JButton
getJButton16() {
1168 if (jButton16
== null) {
1169 jButton16
= new JButton();
1170 jButton16
.setText("Delete");
1171 jButton16
.setPreferredSize(new java
.awt
.Dimension(70,20));
1177 * This method initializes jButton17
1179 * @return javax.swing.JButton
1181 private JButton
getJButton17() {
1182 if (jButton17
== null) {
1183 jButton17
= new JButton();
1184 jButton17
.setPreferredSize(new java
.awt
.Dimension(70,20));
1185 jButton17
.setText("Add");
1186 jButton17
.addActionListener(new AbstractAction() {
1190 private static final long serialVersionUID
= 1L;
1192 public void actionPerformed(ActionEvent arg0
){
1193 Object
[] o
= {"", ""};
1194 ffsAttributesTableModel
.addRow(o
);
1202 * This method initializes jButton18
1204 * @return javax.swing.JButton
1206 private JButton
getJButton18() {
1207 if (jButton18
== null) {
1208 jButton18
= new JButton();
1209 jButton18
.setPreferredSize(new java
.awt
.Dimension(70,20));
1210 jButton18
.setText("Delete");
1211 jButton18
.addActionListener(new AbstractAction(){
1215 private static final long serialVersionUID
= 1L;
1217 public void actionPerformed(ActionEvent arg0
){
1218 if (jTable4
.getSelectedRow() >= 0){
1219 ffsAttributesTableModel
.removeRow(jTable4
.getSelectedRow());
1228 * This method initializes jButton19
1230 * @return javax.swing.JButton
1232 private JButton
getJButton19() {
1233 if (jButton19
== null) {
1234 jButton19
= new JButton();
1235 jButton19
.setPreferredSize(new java
.awt
.Dimension(75,20));
1236 jButton19
.setEnabled(false);
1237 jButton19
.setText("Update");
1243 * This method initializes jCheckBox9
1245 * @return javax.swing.JCheckBox
1247 private JCheckBox
getJCheckBox9() {
1248 if (jCheckBox9
== null) {
1249 jCheckBox9
= new JCheckBox();
1250 jCheckBox9
.setPreferredSize(new java
.awt
.Dimension(50,20));
1251 jCheckBox9
.setText("IA32");
1257 * This method initializes jCheckBox10
1259 * @return javax.swing.JCheckBox
1261 private JCheckBox
getJCheckBox10() {
1262 if (jCheckBox10
== null) {
1263 jCheckBox10
= new JCheckBox();
1264 jCheckBox10
.setPreferredSize(new java
.awt
.Dimension(50,20));
1265 jCheckBox10
.setText("IPF");
1271 * This method initializes jCheckBox11
1273 * @return javax.swing.JCheckBox
1275 private JCheckBox
getJCheckBox11() {
1276 if (jCheckBox11
== null) {
1277 jCheckBox11
= new JCheckBox();
1278 jCheckBox11
.setText("X64");
1279 jCheckBox11
.setPreferredSize(new java
.awt
.Dimension(47,20));
1285 * This method initializes jCheckBox12
1287 * @return javax.swing.JCheckBox
1289 private JCheckBox
getJCheckBox12() {
1290 if (jCheckBox12
== null) {
1291 jCheckBox12
= new JCheckBox();
1292 jCheckBox12
.setPreferredSize(new java
.awt
.Dimension(50,20));
1293 jCheckBox12
.setText("EBC");
1299 * This method initializes jCheckBox13
1301 * @return javax.swing.JCheckBox
1303 private JCheckBox
getJCheckBox13() {
1304 if (jCheckBox13
== null) {
1305 jCheckBox13
= new JCheckBox();
1306 jCheckBox13
.setPreferredSize(new java
.awt
.Dimension(55,20));
1307 jCheckBox13
.setText("ARM");
1313 * This method initializes jCheckBox14
1315 * @return javax.swing.JCheckBox
1317 private JCheckBox
getJCheckBox14() {
1318 if (jCheckBox14
== null) {
1319 jCheckBox14
= new JCheckBox();
1320 jCheckBox14
.setPreferredSize(new java
.awt
.Dimension(50,20));
1321 jCheckBox14
.setText("PPC");
1327 * This method initializes jTextField12
1329 * @return javax.swing.JTextField
1331 private JTextField
getJTextField12() {
1332 if (jTextField12
== null) {
1333 jTextField12
= new JTextField();
1334 jTextField12
.setPreferredSize(new java
.awt
.Dimension(150,20));
1336 return jTextField12
;
1340 * This method initializes jTextField13
1342 * @return javax.swing.JTextField
1344 private JTextField
getJTextField13() {
1345 if (jTextField13
== null) {
1346 jTextField13
= new JTextField();
1347 jTextField13
.setPreferredSize(new java
.awt
.Dimension(140,20));
1349 return jTextField13
;
1353 * This method initializes jScrollPane
1355 * @return javax.swing.JScrollPane
1357 private JScrollPane
getJScrollPane() {
1358 if (jScrollPane
== null) {
1359 jScrollPane
= new JScrollPane();
1360 jScrollPane
.setPreferredSize(new java
.awt
.Dimension(150,419));
1361 jScrollPane
.setViewportView(getJTable());
1367 * This method initializes jTable
1369 * @return javax.swing.JTable
1371 private JTable
getJTable() {
1372 if (jTable
== null) {
1373 ffsTableModel
= new DefaultTableModel();
1374 ffsTableModel
.addColumn("FFS Type");
1375 jTable
= new JTable(ffsTableModel
);
1376 jTable
.setShowGrid(false);
1377 jTable
.setRowHeight(20);
1385 public static void main(String
[] args
) {
1386 // TODO Auto-generated method stub
1387 new FpdBuildOptions().setVisible(true);
1391 * This is the default constructor
1393 public FpdBuildOptions() {
1396 this.setVisible(true);
1399 public FpdBuildOptions(PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
) {
1401 ffc
= new FpdFileContents(fpd
);
1405 private void init(FpdFileContents ffc
) {
1408 this.addInternalFrameListener(new InternalFrameAdapter(){
1409 public void internalFrameDeactivated(InternalFrameEvent e
){
1410 if (jTable
.isEditing()) {
1411 jTable
.getCellEditor().stopCellEditing();
1413 // if (jTable1.isEditing()) {
1414 // jTable1.getCellEditor().stopCellEditing();
1416 if (jTable2
.isEditing()) {
1417 jTable2
.getCellEditor().stopCellEditing();
1419 // if (jTable3.isEditing()) {
1420 // jTable3.getCellEditor().stopCellEditing();
1422 if (jTable4
.isEditing()) {
1423 jTable4
.getCellEditor().stopCellEditing();
1425 if (jTable5
.isEditing()) {
1426 jTable5
.getCellEditor().stopCellEditing();
1432 private void initOptionTable() {
1433 if (ffc
.getBuildOptionsOptCount() == 0) {
1434 //ToDo get default options from *.txt file
1437 String
[][] saa
= new String
[ffc
.getBuildOptionsOptCount()][6];
1438 ffc
.getBuildOptionsOpts(saa
);
1439 for (int i
= 0; i
< saa
.length
; ++i
) {
1440 optionsTableModel
.addRow(saa
[i
]);
1444 private void initAntTaskTable() {
1445 if (ffc
.getBuildOptionsUserDefAntTaskCount() == 0) {
1448 String
[][] saa
= new String
[ffc
.getBuildOptionsUserDefAntTaskCount()][3];
1449 ffc
.getBuildOptionsUserDefAntTasks(saa
);
1450 for (int i
= 0; i
< saa
.length
; ++i
) {
1451 antTaskTableModel
.addRow(saa
[i
]);
1455 * This method initializes this
1459 private void initialize() {
1460 this.setSize(722, 439);
1461 this.setTitle("FPD Build Options");
1462 this.setContentPane(getJContentPane());
1466 * This method initializes jContentPane
1468 * @return javax.swing.JPanel
1470 private JPanel
getJContentPane() {
1471 if (jContentPane
== null) {
1472 jContentPane
= new JPanel();
1473 jContentPane
.setLayout(new BorderLayout());
1474 jContentPane
.add(getJPanel(), java
.awt
.BorderLayout
.SOUTH
);
1475 jContentPane
.add(getJPanel1(), java
.awt
.BorderLayout
.NORTH
);
1476 jContentPane
.add(getJPanel2(), java
.awt
.BorderLayout
.WEST
);
1477 jContentPane
.add(getJPanel3(), java
.awt
.BorderLayout
.EAST
);
1478 jContentPane
.add(getJTabbedPane(), java
.awt
.BorderLayout
.CENTER
);
1480 return jContentPane
;
1483 } // @jve:decl-index=0:visual-constraint="10,10"