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
.JFileChooser
;
30 import javax
.swing
.JFrame
;
31 import javax
.swing
.JOptionPane
;
32 import javax
.swing
.JTextField
;
33 import javax
.swing
.JButton
;
34 import javax
.swing
.JScrollPane
;
35 import javax
.swing
.JTable
;
36 import javax
.swing
.JComboBox
;
37 import javax
.swing
.ListSelectionModel
;
38 import javax
.swing
.event
.InternalFrameAdapter
;
39 import javax
.swing
.event
.InternalFrameEvent
;
40 import javax
.swing
.event
.ListSelectionEvent
;
41 import javax
.swing
.event
.ListSelectionListener
;
42 import javax
.swing
.event
.TableModelEvent
;
43 import javax
.swing
.event
.TableModelListener
;
44 import javax
.swing
.table
.DefaultTableModel
;
45 import javax
.swing
.table
.TableModel
;
47 import org
.tianocore
.PlatformSurfaceAreaDocument
;
48 import org
.tianocore
.frameworkwizard
.common
.DataValidation
;
49 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformType
;
50 import org
.tianocore
.frameworkwizard
.common
.ui
.IInternalFrame
;
53 import java
.util
.ArrayList
;
54 import java
.util
.Iterator
;
55 import java
.util
.LinkedHashMap
;
57 import java
.util
.Vector
;
58 import java
.awt
.Dimension
;
60 public class FpdBuildOptions
extends IInternalFrame
{
62 private static final long serialVersionUID
= 1L;
64 private JPanel jContentPane
= null;
65 private JPanel jPanel
= null;
66 private JPanel jPanel1
= null;
67 private JPanel jPanel2
= null;
68 private JPanel jPanel3
= null;
69 private JTabbedPane jTabbedPane
= null;
70 private JPanel jPanel8
= null;
71 private JPanel jPanel9
= null;
72 private JPanel jPanel10
= null;
73 private JPanel jPanel11
= null;
74 private JTextField jTextField2
= null;
75 private JLabel jLabel3
= null;
76 private JTextField jTextField3
= null;
77 private JButton jButton4
= null;
78 private JButton jButton5
= null;
79 private JTextField jTextField4
= null;
80 private JScrollPane jScrollPane2
= null;
81 private JTable jTable2
= null;
82 private DefaultTableModel ffsTableModel
= null;
83 private DefaultTableModel sectionsTableModel
= null;
84 private DefaultTableModel sectionTableModel
= null;
85 private DefaultTableModel subsectionsTableModel
= null;
86 private DefaultTableModel antTaskTableModel
= null;
87 private DefaultTableModel ffsAttributesTableModel
= null;
88 private DefaultTableModel optionsTableModel
= null;
89 private JPanel jPanel13
= null;
90 private JPanel jPanel18
= null;
91 private JPanel jPanel15
= null;
92 private JPanel jPanel16
= null;
93 private JPanel jPanel17
= null;
94 private JLabel jLabel7
= null;
95 private JTextField jTextField6
= null;
96 private JButton jButton8
= null;
97 private JButton jButton9
= null;
98 private JScrollPane jScrollPane5
= null;
99 private JTable jTable4
= null;
100 private JPanel jPanel19
= null;
101 private JPanel jPanel20
= null;
102 private JLabel jLabel9
= null;
103 private JTextField jTextField7
= null;
104 private JLabel jLabel10
= null;
105 private JComboBox jComboBox2
= null;
106 private JLabel jLabel11
= null;
107 private JLabel jLabel12
= null;
108 private JTextField jTextField8
= null;
109 private JScrollPane jScrollPane6
= null;
110 private JTable jTable5
= null;
111 private JButton jButton10
= null;
112 private JButton jButton11
= null;
113 private JButton jButton17
= null;
114 private JButton jButton18
= null;
115 private FpdFileContents ffc
= null;
116 private OpeningPlatformType docConsole
= 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;
151 private JButton jButton12
= null;
152 private JTextField jTextField1
= null;
154 * This method initializes jPanel
156 * @return javax.swing.JPanel
158 private JPanel
getJPanel() {
159 if (jPanel
== null) {
160 jPanel
= new JPanel();
166 * This method initializes jPanel1
168 * @return javax.swing.JPanel
170 private JPanel
getJPanel1() {
171 if (jPanel1
== null) {
172 jPanel1
= new JPanel();
178 * This method initializes jPanel2
180 * @return javax.swing.JPanel
182 private JPanel
getJPanel2() {
183 if (jPanel2
== null) {
184 jPanel2
= new JPanel();
190 * This method initializes jPanel3
192 * @return javax.swing.JPanel
194 private JPanel
getJPanel3() {
195 if (jPanel3
== null) {
196 jPanel3
= new JPanel();
202 * This method initializes jTabbedPane
204 * @return javax.swing.JTabbedPane
206 private JTabbedPane
getJTabbedPane() {
207 if (jTabbedPane
== null) {
208 jTabbedPane
= new JTabbedPane();
209 jTabbedPane
.addTab("FFS", null, getJPanel13(), null);
210 jTabbedPane
.addTab("Options", null, getJPanel20(), null);
211 jTabbedPane
.addTab("User Defined ANT Tasks", null, getJPanel8(), null);
218 * This method initializes jPanel8
220 * @return javax.swing.JPanel
222 private JPanel
getJPanel8() {
223 if (jPanel8
== null) {
224 jPanel8
= new JPanel();
225 jPanel8
.setLayout(new BorderLayout());
226 jPanel8
.add(getJPanel9(), java
.awt
.BorderLayout
.NORTH
);
227 jPanel8
.add(getJPanel10(), java
.awt
.BorderLayout
.SOUTH
);
228 jPanel8
.add(getJPanel11(), java
.awt
.BorderLayout
.CENTER
);
235 * This method initializes jPanel9
237 * @return javax.swing.JPanel
239 private JPanel
getJPanel9() {
240 if (jPanel9
== null) {
241 jLabel
= new JLabel();
242 jLabel
.setText("ANT Task File");
243 jLabel
.setPreferredSize(new java
.awt
.Dimension(80,20));
244 FlowLayout flowLayout8
= new FlowLayout();
245 flowLayout8
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
246 jLabel3
= new JLabel();
247 jLabel3
.setText("ID");
248 jPanel9
= new JPanel();
249 jPanel9
.setLayout(flowLayout8
);
250 jPanel9
.add(jLabel
, null);
251 jPanel9
.add(getJTextField2(), null);
252 jPanel9
.add(getJButton12(), null);
253 jPanel9
.add(jLabel3
, null);
254 jPanel9
.add(getJTextField3(), null);
260 * This method initializes jPanel10
262 * @return javax.swing.JPanel
264 private JPanel
getJPanel10() {
265 if (jPanel10
== null) {
266 jPanel10
= new JPanel();
272 * This method initializes jPanel11
274 * @return javax.swing.JPanel
276 private JPanel
getJPanel11() {
277 if (jPanel11
== null) {
278 jLabel1
= new JLabel();
279 jLabel1
.setText("ANT Command Options");
280 jLabel1
.setPreferredSize(new java
.awt
.Dimension(131,20));
281 FlowLayout flowLayout3
= new FlowLayout();
282 flowLayout3
.setHgap(5);
283 flowLayout3
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
284 jPanel11
= new JPanel();
285 jPanel11
.setLayout(flowLayout3
);
286 jPanel11
.add(jLabel1
, null);
287 jPanel11
.add(getJTextField4(), null);
288 jPanel11
.add(getJButton4(), null);
289 jPanel11
.add(getJButton5(), null);
290 jPanel11
.add(getJScrollPane2(), null);
296 * This method initializes jTextField2
298 * @return javax.swing.JTextField
300 private JTextField
getJTextField2() {
301 if (jTextField2
== null) {
302 jTextField2
= new JTextField();
303 jTextField2
.setPreferredSize(new java
.awt
.Dimension(200,20));
309 * This method initializes jTextField3
311 * @return javax.swing.JTextField
313 private JTextField
getJTextField3() {
314 if (jTextField3
== null) {
315 jTextField3
= new JTextField();
316 jTextField3
.setPreferredSize(new java
.awt
.Dimension(100,20));
322 * This method initializes jButton4
324 * @return javax.swing.JButton
326 private JButton
getJButton4() {
327 if (jButton4
== null) {
328 jButton4
= new JButton();
329 jButton4
.setPreferredSize(new java
.awt
.Dimension(90,20));
330 jButton4
.setText("Add");
331 jButton4
.addActionListener(new ActionListener() {
332 public void actionPerformed(ActionEvent e
) {
333 if (!DataValidation
.isInt(jTextField3
.getText()) || jTextField3
.getText().length() != 8) {
334 JOptionPane
.showMessageDialog(frame
, "ID must be an 8-digit integer.");
337 Object
[] o
= {jTextField3
.getText(), null, null};
338 o
[1] = jTextField2
.getText();
339 o
[2] = jTextField4
.getText();
340 ffc
.genBuildOptionsUserDefAntTask(o
[0]+"", o
[1]+"", o
[2]+"");
341 antTaskTableModel
.addRow(o
);
342 docConsole
.setSaved(false);
350 * This method initializes jButton5
352 * @return javax.swing.JButton
354 private JButton
getJButton5() {
355 if (jButton5
== null) {
356 jButton5
= new JButton();
357 jButton5
.setPreferredSize(new java
.awt
.Dimension(90,20));
358 jButton5
.setText("Delete");
359 jButton5
.addActionListener(new ActionListener() {
360 public void actionPerformed(ActionEvent e
) {
361 if (selectedRow
>= 0) {
362 docConsole
.setSaved(false);
363 antTaskTableModel
.removeRow(selectedRow
);
364 ffc
.removeBuildOptionsUserDefAntTask(selectedRow
);
373 * This method initializes jTextField4
375 * @return javax.swing.JTextField
377 private JTextField
getJTextField4() {
378 if (jTextField4
== null) {
379 jTextField4
= new JTextField();
380 jTextField4
.setPreferredSize(new java
.awt
.Dimension(270,20));
381 jTextField4
.setEnabled(true);
387 * This method initializes jScrollPane2
389 * @return javax.swing.JScrollPane
391 private JScrollPane
getJScrollPane2() {
392 if (jScrollPane2
== null) {
393 jScrollPane2
= new JScrollPane();
394 jScrollPane2
.setPreferredSize(new java
.awt
.Dimension(600,100));
395 jScrollPane2
.setViewportView(getJTable2());
401 * This method initializes jTable2
403 * @return javax.swing.JTable
405 private JTable
getJTable2() {
406 if (jTable2
== null) {
407 antTaskTableModel
= new DefaultTableModel();
408 jTable2
= new JTable(antTaskTableModel
);
409 jTable2
.setRowHeight(20);
410 antTaskTableModel
.addColumn("ID");
411 antTaskTableModel
.addColumn("Filename");
412 antTaskTableModel
.addColumn("ANT Command Options");
414 jTable2
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
415 jTable2
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
416 public void valueChanged(ListSelectionEvent e
) {
418 if (e
.getValueIsAdjusting()){
421 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
422 if (lsm
.isSelectionEmpty()) {
426 selectedRow
= lsm
.getMinSelectionIndex();
431 jTable2
.getModel().addTableModelListener(new TableModelListener() {
432 public void tableChanged(TableModelEvent arg0
) {
433 // TODO Auto-generated method stub
434 int row
= arg0
.getFirstRow();
435 TableModel m
= (TableModel
)arg0
.getSource();
436 if (arg0
.getType() == TableModelEvent
.UPDATE
){
437 //ToDo Data Validition check.
438 String id
= m
.getValueAt(row
, 0) + "";
439 String file
= m
.getValueAt(row
, 1) + "";
440 String execOrder
= m
.getValueAt(row
, 2) + "";
441 if (id
.length() == 0) {
444 if (file
.length() == 0 && execOrder
.length() == 0){
447 if (file
.length() == 0) {
450 if (execOrder
.length() == 0) {
453 ffc
.updateBuildOptionsUserDefAntTask(row
, id
, file
, execOrder
);
463 * This method initializes jPanel13
465 * @return javax.swing.JPanel
467 private JPanel
getJPanel13() {
468 if (jPanel13
== null) {
469 jPanel13
= new JPanel();
470 jPanel13
.setLayout(new BorderLayout());
471 jPanel13
.add(getJPanel18(), java
.awt
.BorderLayout
.CENTER
);
472 jPanel13
.add(getJScrollPane(), java
.awt
.BorderLayout
.WEST
);
478 * This method initializes jPanel18
480 * @return javax.swing.JPanel
482 private JPanel
getJPanel18() {
483 if (jPanel18
== null) {
484 jPanel18
= new JPanel();
485 jPanel18
.setLayout(new BorderLayout());
486 jPanel18
.add(getJPanel15(), java
.awt
.BorderLayout
.NORTH
);
487 jPanel18
.add(getJPanel16(), java
.awt
.BorderLayout
.SOUTH
);
488 jPanel18
.add(getJPanel17(), java
.awt
.BorderLayout
.EAST
);
489 jPanel18
.add(getJPanel19(), java
.awt
.BorderLayout
.CENTER
);
495 * This method initializes jPanel15
497 * @return javax.swing.JPanel
499 private JPanel
getJPanel15() {
500 if (jPanel15
== null) {
501 jLabel5
= new JLabel();
502 jLabel5
.setText("Encapsulation Type");
503 FlowLayout flowLayout5
= new FlowLayout();
504 flowLayout5
.setAlignment(java
.awt
.FlowLayout
.RIGHT
);
505 jLabel7
= new JLabel();
506 jLabel7
.setText("FFS Key");
507 jPanel15
= new JPanel();
508 jPanel15
.setLayout(flowLayout5
);
509 jPanel15
.add(jLabel7
, null);
510 jPanel15
.add(getJTextField6(), null);
511 jPanel15
.add(jLabel5
, null);
512 jPanel15
.add(getJTextField(), null);
513 jPanel15
.add(getJButton8(), null);
514 jPanel15
.add(getJButton9(), null);
520 * This method initializes jPanel16
522 * @return javax.swing.JPanel
524 private JPanel
getJPanel16() {
525 if (jPanel16
== null) {
526 jLabel6
= new JLabel();
527 jLabel6
.setText("Attributes");
528 FlowLayout flowLayout6
= new FlowLayout();
529 flowLayout6
.setHgap(5);
530 flowLayout6
.setVgap(20);
531 flowLayout6
.setAlignment(java
.awt
.FlowLayout
.CENTER
);
532 jPanel16
= new JPanel();
533 jPanel16
.setPreferredSize(new java
.awt
.Dimension(491,130));
534 jPanel16
.setLayout(flowLayout6
);
535 jPanel16
.add(jLabel6
, null);
536 jPanel16
.add(getJScrollPane5(), null);
537 jPanel16
.add(getJPanel4(), null);
543 * This method initializes jPanel17
545 * @return javax.swing.JPanel
547 private JPanel
getJPanel17() {
548 if (jPanel17
== null) {
549 jPanel17
= new JPanel();
555 * This method initializes jTextField6
557 * @return javax.swing.JTextField
559 private JTextField
getJTextField6() {
560 if (jTextField6
== null) {
561 jTextField6
= new JTextField();
562 jTextField6
.setPreferredSize(new java
.awt
.Dimension(100,20));
563 jTextField6
.setEditable(true);
564 jTextField6
.addFocusListener(new java
.awt
.event
.FocusAdapter() {
565 public void focusLost(java
.awt
.event
.FocusEvent e
) {
566 if (jTable
.getSelectedRow() < 0) {
569 // ffc.updateBuildOptionsFfsKey(jTable.getSelectedRow(), jTextField6.getText());
577 * This method initializes jButton8
579 * @return javax.swing.JButton
581 private JButton
getJButton8() {
582 if (jButton8
== null) {
583 jButton8
= new JButton();
584 jButton8
.setPreferredSize(new java
.awt
.Dimension(70,20));
585 jButton8
.setText("Add");
586 jButton8
.addActionListener(new AbstractAction() {
590 private static final long serialVersionUID
= -2923720717273384221L;
592 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
593 if (jTextField6
.getText().length() > 0) {
594 String
[] row
= {jTextField6
.getText()};
595 ffsTableModel
.addRow(row
);
596 docConsole
.setSaved(false);
597 ffc
.genBuildOptionsFfs(jTextField6
.getText(), jTextField
.getText());
606 * This method initializes jButton9
608 * @return javax.swing.JButton
610 private JButton
getJButton9() {
611 if (jButton9
== null) {
612 jButton9
= new JButton();
613 jButton9
.setPreferredSize(new java
.awt
.Dimension(70,20));
614 jButton9
.setText("Delete");
615 jButton9
.addActionListener(new AbstractAction() {
619 private static final long serialVersionUID
= -4002678939178194476L;
621 public void actionPerformed(ActionEvent arg0
){
622 if (jTable
.getSelectedRow() < 0) {
625 docConsole
.setSaved(false);
626 ffc
.removeBuildOptionsFfs(jTable
.getSelectedRow());
634 * This method initializes jScrollPane5
636 * @return javax.swing.JScrollPane
638 private JScrollPane
getJScrollPane5() {
639 if (jScrollPane5
== null) {
640 jScrollPane5
= new JScrollPane();
641 jScrollPane5
.setPreferredSize(new java
.awt
.Dimension(350,100));
642 jScrollPane5
.setViewportView(getJTable4());
648 * This method initializes jTable4
650 * @return javax.swing.JTable
652 private JTable
getJTable4() {
653 if (jTable4
== null) {
654 ffsAttributesTableModel
= new DefaultTableModel();
655 jTable4
= new JTable(ffsAttributesTableModel
);
656 jTable4
.setPreferredSize(new java
.awt
.Dimension(400,80));
657 jTable4
.setRowHeight(20);
658 ffsAttributesTableModel
.addColumn("Name");
659 ffsAttributesTableModel
.addColumn("Value");
661 jTable4
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
662 jTable4
.getModel().addTableModelListener(new TableModelListener() {
663 public void tableChanged(TableModelEvent arg0
) {
664 // TODO Auto-generated method stub
665 int row
= arg0
.getFirstRow();
666 TableModel m
= (TableModel
)arg0
.getSource();
667 if (arg0
.getType() == TableModelEvent
.UPDATE
){
668 //ToDo Data Validition check.
669 String name
= m
.getValueAt(row
, 0) + "";
670 String value
= m
.getValueAt(row
, 1) + "";
672 if (name
.length() == 0) {
675 if (value
.length() == 0){
678 docConsole
.setSaved(false);
679 ffc
.updateBuildOptionsFfsAttribute(jTable
.getSelectedRow(), row
, name
, value
);
688 * This method initializes jPanel19
690 * @return javax.swing.JPanel
692 private JPanel
getJPanel19() {
693 if (jPanel19
== null) {
694 jLabel8
= new JLabel();
695 jLabel8
.setText("Sections");
696 jLabel4
= new JLabel();
697 jLabel4
.setText("Sub-Sections");
698 jLabel2
= new JLabel();
699 jLabel2
.setText("Section");
700 jPanel19
= new JPanel();
701 jPanel19
.setLayout(new FlowLayout());
702 jPanel19
.add(jLabel2
, null);
703 jPanel19
.add(getJButton(), null);
704 jPanel19
.add(getJButton1(), null);
705 jPanel19
.add(getJScrollPane1(), null);
706 jPanel19
.add(jLabel8
, null);
707 jPanel19
.add(getJButton6(), null);
708 jPanel19
.add(getJButton7(), null);
709 jPanel19
.add(getJScrollPane4(), null);
710 jPanel19
.add(jLabel4
, null);
711 jPanel19
.add(getJButton2(), null);
712 jPanel19
.add(getJButton3(), null);
713 jPanel19
.add(getJScrollPane3(), null);
719 * This method initializes jPanel20
721 * @return javax.swing.JPanel
723 private JPanel
getJPanel20() {
724 if (jPanel20
== null) {
725 jLabel15
= new JLabel();
726 jLabel15
.setText("Tag Name");
727 FlowLayout flowLayout9
= new FlowLayout();
728 flowLayout9
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
729 jLabel14
= new JLabel();
730 jLabel14
.setText("Build Targets");
731 jLabel12
= new JLabel();
732 jLabel12
.setText("Tool Command");
733 jLabel11
= new JLabel();
734 jLabel11
.setText("Supported Arch");
735 jLabel10
= new JLabel();
736 jLabel10
.setText("Tool Chain Family");
737 jLabel9
= new JLabel();
738 jLabel9
.setText("Option Contents");
739 jPanel20
= new JPanel();
740 jPanel20
.setLayout(flowLayout9
);
741 jPanel20
.add(jLabel14
, null);
742 jPanel20
.add(getJTextField12(), null);
743 jPanel20
.add(jLabel10
, null);
744 jPanel20
.add(getJTextField1(), null);
745 jPanel20
.add(getJComboBox2(), null);
746 jPanel20
.add(jLabel12
, null);
747 jPanel20
.add(getJTextField8(), null);
748 jPanel20
.add(jLabel11
, null);
749 jPanel20
.add(getJCheckBox9(), null);
750 jPanel20
.add(getJCheckBox10(), null);
751 jPanel20
.add(getJCheckBox11(), null);
752 jPanel20
.add(getJCheckBox12(), null);
753 jPanel20
.add(getJCheckBox13(), null);
754 jPanel20
.add(getJCheckBox14(), null);
755 jPanel20
.add(jLabel15
, null);
756 jPanel20
.add(getJTextField13(), null);
757 jPanel20
.add(jLabel9
, null);
758 jPanel20
.add(getJTextField7(), null);
759 jPanel20
.add(getJButton10(), null);
760 jPanel20
.add(getJButton11(), null);
761 jPanel20
.add(getJScrollPane6(), null);
767 * This method initializes jTextField7
769 * @return javax.swing.JTextField
771 private JTextField
getJTextField7() {
772 if (jTextField7
== null) {
773 jTextField7
= new JTextField();
774 jTextField7
.setPreferredSize(new java
.awt
.Dimension(300,20));
780 * This method initializes jComboBox2
782 * @return javax.swing.JComboBox
784 private JComboBox
getJComboBox2() {
785 if (jComboBox2
== null) {
786 jComboBox2
= new JComboBox();
787 jComboBox2
.setPreferredSize(new java
.awt
.Dimension(80,20));
788 jComboBox2
.addItem("MSFT");
789 jComboBox2
.addItem("GCC");
790 jComboBox2
.addItem("CYGWIN");
791 jComboBox2
.addItem("INTEL");
792 jComboBox2
.setSelectedIndex(0);
793 jComboBox2
.setVisible(false);
799 * This method initializes jTextField8
801 * @return javax.swing.JTextField
803 private JTextField
getJTextField8() {
804 if (jTextField8
== null) {
805 jTextField8
= new JTextField();
806 jTextField8
.setPreferredSize(new java
.awt
.Dimension(110,20));
812 * This method initializes jScrollPane6
814 * @return javax.swing.JScrollPane
816 private JScrollPane
getJScrollPane6() {
817 if (jScrollPane6
== null) {
818 jScrollPane6
= new JScrollPane();
819 jScrollPane6
.setPreferredSize(new java
.awt
.Dimension(630,200));
820 jScrollPane6
.setViewportView(getJTable5());
826 * This method initializes jTable5
828 * @return javax.swing.JTable
830 private JTable
getJTable5() {
831 if (jTable5
== null) {
832 optionsTableModel
= new DefaultTableModel();
833 jTable5
= new JTable(optionsTableModel
);
834 jTable5
.setRowHeight(20);
835 optionsTableModel
.addColumn("BuildTargets");
836 optionsTableModel
.addColumn("ToolChainFamily");
837 optionsTableModel
.addColumn("SupportedArch");
838 optionsTableModel
.addColumn("ToolCommand");
839 optionsTableModel
.addColumn("TagName");
840 optionsTableModel
.addColumn("Contents");
842 // TableColumn toolFamilyCol = jTable5.getColumnModel().getColumn(1);
843 // JComboBox cb = new JComboBox();
844 // cb.addItem("MSFT");
845 // cb.addItem("GCC");
846 // cb.addItem("CYGWIN");
847 // cb.addItem("INTEL");
848 // toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));
849 Vector
<String
> vArch
= new Vector
<String
>();
856 jTable5
.getColumnModel().getColumn(2).setCellEditor(new ListEditor(vArch
));
857 jTable5
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
858 jTable5
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
859 public void valueChanged(ListSelectionEvent e
) {
861 if (e
.getValueIsAdjusting()){
864 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
865 if (lsm
.isSelectionEmpty()) {
869 selectedRow
= lsm
.getMinSelectionIndex();
874 jTable5
.getModel().addTableModelListener(new TableModelListener() {
875 public void tableChanged(TableModelEvent arg0
) {
876 // TODO Auto-generated method stub
877 int row
= arg0
.getFirstRow();
878 TableModel m
= (TableModel
)arg0
.getSource();
879 if (arg0
.getType() == TableModelEvent
.UPDATE
){
880 //ToDo Data Validition check.
881 String targets
= m
.getValueAt(row
, 0) + "";
882 Vector
<Object
> targetName
= new Vector
<Object
>();
883 String
[] sArray
= targets
.split("( )+");
884 for (int i
= 0; i
< sArray
.length
; ++i
) {
885 targetName
.add(sArray
[i
]);
887 String toolChain
= m
.getValueAt(row
, 1) + "";
888 String archs
= m
.getValueAt(row
, 2) + "";
889 Vector
<Object
> supArch
= null;
890 if (archs
.length() > 0) {
891 supArch
= new Vector
<Object
>();
892 String
[] sArray1
= archs
.split("( )+");
893 for (int i
= 0; i
< sArray1
.length
; ++i
) {
894 supArch
.add(sArray1
[i
]);
898 String toolCmd
= m
.getValueAt(row
, 3) + "";
899 String tagName
= m
.getValueAt(row
, 4) + "";
900 String contents
= m
.getValueAt(row
, 5) + "";
901 docConsole
.setSaved(false);
902 ffc
.updateBuildOptionsOpt(row
, targetName
, toolChain
, tagName
, toolCmd
, supArch
, contents
);
911 * This method initializes jButton10
913 * @return javax.swing.JButton
915 private JButton
getJButton10() {
916 if (jButton10
== null) {
917 jButton10
= new JButton();
918 jButton10
.setText("Add");
919 jButton10
.setPreferredSize(new java
.awt
.Dimension(90,20));
920 jButton10
.addActionListener(new AbstractAction() {
924 private static final long serialVersionUID
= 1L;
926 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
927 boolean[] boolArray
= {jCheckBox9
.isSelected(),jCheckBox10
.isSelected(),jCheckBox11
.isSelected(),
928 jCheckBox12
.isSelected(),jCheckBox13
.isSelected(),jCheckBox14
.isSelected()};
929 String s
= boolToList(boolArray
);
930 Object
[] o
= {jTextField12
.getText(), jTextField1
.getText(), s
,
931 jTextField8
.getText(), jTextField13
.getText(), jTextField7
.getText()};
932 optionsTableModel
.addRow(o
);
933 docConsole
.setSaved(false);
934 ffc
.genBuildOptionsOpt(stringToVector(jTextField12
.getText()), jTextField1
.getText(), jTextField13
.getText(), jTextField8
.getText(), stringToVector(s
), jTextField7
.getText());
941 private Vector
<Object
> stringToVector(String s
) {
942 String
[] sArray
= s
.split(" ");
943 Vector
<Object
> v
= null;
944 if (s
.length() > 0) {
945 v
= new Vector
<Object
>();
946 for (int i
= 0; i
< sArray
.length
; ++i
) {
953 private String
boolToList (boolean[] bool
) {
980 * This method initializes jButton11
982 * @return javax.swing.JButton
984 private JButton
getJButton11() {
985 if (jButton11
== null) {
986 jButton11
= new JButton();
987 jButton11
.setText("Delete");
988 jButton11
.setPreferredSize(new java
.awt
.Dimension(90,20));
989 jButton11
.addActionListener(new AbstractAction() {
993 private static final long serialVersionUID
= 1L;
995 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
996 if (selectedRow
>= 0) {
997 optionsTableModel
.removeRow(selectedRow
);
998 docConsole
.setSaved(false);
999 ffc
.removeBuildOptionsOpt(selectedRow
);
1008 * This method initializes jButton17
1010 * @return javax.swing.JButton
1012 private JButton
getJButton17() {
1013 if (jButton17
== null) {
1014 jButton17
= new JButton();
1015 jButton17
.setPreferredSize(new java
.awt
.Dimension(80,20));
1016 jButton17
.setText("New");
1017 jButton17
.addActionListener(new AbstractAction() {
1021 private static final long serialVersionUID
= 1L;
1023 public void actionPerformed(ActionEvent arg0
){
1024 if (jTable
.getSelectedRow() < 0) {
1027 Object
[] o
= {"", ""};
1028 ffsAttributesTableModel
.addRow(o
);
1029 docConsole
.setSaved(false);
1030 ffc
.genBuildOptionsFfsAttribute(jTable
.getSelectedRow(), "", "");
1038 * This method initializes jButton18
1040 * @return javax.swing.JButton
1042 private JButton
getJButton18() {
1043 if (jButton18
== null) {
1044 jButton18
= new JButton();
1045 jButton18
.setPreferredSize(new java
.awt
.Dimension(80,20));
1046 jButton18
.setText("Remove");
1047 jButton18
.addActionListener(new AbstractAction(){
1051 private static final long serialVersionUID
= 1L;
1053 public void actionPerformed(ActionEvent arg0
){
1054 if (jTable
.getSelectedRow() < 0) {
1057 if (jTable4
.getSelectedRow() >= 0){
1058 docConsole
.setSaved(false);
1059 ffsAttributesTableModel
.removeRow(jTable4
.getSelectedRow());
1060 ffc
.removeBuildOptionsFfsAttribute(jTable
.getSelectedRow(), jTable4
.getSelectedRow());
1069 * This method initializes jCheckBox9
1071 * @return javax.swing.JCheckBox
1073 private JCheckBox
getJCheckBox9() {
1074 if (jCheckBox9
== null) {
1075 jCheckBox9
= new JCheckBox();
1076 jCheckBox9
.setPreferredSize(new java
.awt
.Dimension(50,20));
1077 jCheckBox9
.setText("IA32");
1083 * This method initializes jCheckBox10
1085 * @return javax.swing.JCheckBox
1087 private JCheckBox
getJCheckBox10() {
1088 if (jCheckBox10
== null) {
1089 jCheckBox10
= new JCheckBox();
1090 jCheckBox10
.setPreferredSize(new java
.awt
.Dimension(50,20));
1091 jCheckBox10
.setText("IPF");
1097 * This method initializes jCheckBox11
1099 * @return javax.swing.JCheckBox
1101 private JCheckBox
getJCheckBox11() {
1102 if (jCheckBox11
== null) {
1103 jCheckBox11
= new JCheckBox();
1104 jCheckBox11
.setText("X64");
1105 jCheckBox11
.setPreferredSize(new java
.awt
.Dimension(47,20));
1111 * This method initializes jCheckBox12
1113 * @return javax.swing.JCheckBox
1115 private JCheckBox
getJCheckBox12() {
1116 if (jCheckBox12
== null) {
1117 jCheckBox12
= new JCheckBox();
1118 jCheckBox12
.setPreferredSize(new java
.awt
.Dimension(50,20));
1119 jCheckBox12
.setText("EBC");
1125 * This method initializes jCheckBox13
1127 * @return javax.swing.JCheckBox
1129 private JCheckBox
getJCheckBox13() {
1130 if (jCheckBox13
== null) {
1131 jCheckBox13
= new JCheckBox();
1132 jCheckBox13
.setPreferredSize(new java
.awt
.Dimension(55,20));
1133 jCheckBox13
.setText("ARM");
1139 * This method initializes jCheckBox14
1141 * @return javax.swing.JCheckBox
1143 private JCheckBox
getJCheckBox14() {
1144 if (jCheckBox14
== null) {
1145 jCheckBox14
= new JCheckBox();
1146 jCheckBox14
.setPreferredSize(new java
.awt
.Dimension(50,20));
1147 jCheckBox14
.setText("PPC");
1153 * This method initializes jTextField12
1155 * @return javax.swing.JTextField
1157 private JTextField
getJTextField12() {
1158 if (jTextField12
== null) {
1159 jTextField12
= new JTextField();
1160 jTextField12
.setPreferredSize(new java
.awt
.Dimension(150,20));
1162 return jTextField12
;
1166 * This method initializes jTextField13
1168 * @return javax.swing.JTextField
1170 private JTextField
getJTextField13() {
1171 if (jTextField13
== null) {
1172 jTextField13
= new JTextField();
1173 jTextField13
.setPreferredSize(new java
.awt
.Dimension(140,20));
1175 return jTextField13
;
1179 * This method initializes jScrollPane
1181 * @return javax.swing.JScrollPane
1183 private JScrollPane
getJScrollPane() {
1184 if (jScrollPane
== null) {
1185 jScrollPane
= new JScrollPane();
1186 jScrollPane
.setPreferredSize(new java
.awt
.Dimension(150,419));
1187 jScrollPane
.setViewportView(getJTable());
1193 * This method initializes jTable
1195 * @return javax.swing.JTable
1197 private JTable
getJTable() {
1198 if (jTable
== null) {
1199 ffsTableModel
= new DefaultTableModel();
1200 ffsTableModel
.addColumn("FFS Type");
1201 jTable
= new JTable(ffsTableModel
);
1202 jTable
.setShowGrid(false);
1203 jTable
.setRowHeight(20);
1205 jTable
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1206 jTable
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
1207 public void valueChanged(ListSelectionEvent e
) {
1209 if (e
.getValueIsAdjusting()){
1212 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
1213 if (lsm
.isSelectionEmpty()) {
1217 int row
= lsm
.getMinSelectionIndex();
1218 sectionTableModel
.setRowCount(0);
1219 sectionsTableModel
.setRowCount(0);
1220 subsectionsTableModel
.setRowCount(0);
1221 ffsAttributesTableModel
.setRowCount(0);
1222 String
[] sArray
= {"", ""};
1223 LinkedHashMap
<String
, String
> lhm
= new LinkedHashMap
<String
, String
>();
1224 ArrayList
<String
> alSections
= new ArrayList
<String
>();
1225 ArrayList
<String
> alSection
= new ArrayList
<String
>();
1226 ffc
.getBuildOptionsFfs(row
, sArray
, lhm
, alSections
, alSection
);
1227 jTextField6
.setText(sArray
[0]);
1228 jTextField
.setText(sArray
[1]);
1229 for (int i
= 0; i
< alSection
.size(); ++i
) {
1230 String
[] sectionRow
= {alSection
.get(i
)};
1231 sectionTableModel
.addRow(sectionRow
);
1233 for (int j
= 0; j
< alSections
.size(); ++j
) {
1234 String
[] sectionsRow
= {alSections
.get(j
)};
1235 sectionsTableModel
.addRow(sectionsRow
);
1237 if (lhm
.size() <= 0 ) {
1240 Set
<String
> keySet
= lhm
.keySet();
1241 Iterator
<String
> is
= keySet
.iterator();
1242 while(is
.hasNext()) {
1243 String key
= is
.next();
1244 String
[] attribRow
= {key
, lhm
.get(key
)};
1245 ffsAttributesTableModel
.addRow(attribRow
);
1251 jTable
.getModel().addTableModelListener(new TableModelListener() {
1252 public void tableChanged(TableModelEvent arg0
) {
1253 // TODO Auto-generated method stub
1254 int row
= arg0
.getFirstRow();
1255 TableModel m
= (TableModel
)arg0
.getSource();
1256 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1257 //ToDo Data Validition check.
1258 String id
= m
.getValueAt(row
, 0) + "";
1260 if (id
.length() == 0) {
1263 docConsole
.setSaved(false);
1264 ffc
.updateBuildOptionsFfsKey(row
, id
);
1273 * This method initializes jScrollPane1
1275 * @return javax.swing.JScrollPane
1277 private JScrollPane
getJScrollPane1() {
1278 if (jScrollPane1
== null) {
1279 jScrollPane1
= new JScrollPane();
1280 jScrollPane1
.setPreferredSize(new java
.awt
.Dimension(500,80));
1281 jScrollPane1
.setViewportView(getJTable1());
1283 return jScrollPane1
;
1287 * This method initializes jTable1
1289 * @return javax.swing.JTable
1291 private JTable
getJTable1() {
1292 if (jTable1
== null) {
1293 sectionTableModel
= new DefaultTableModel();
1294 sectionTableModel
.addColumn("SectionType");
1296 jTable1
= new JTable(sectionTableModel
);
1297 jTable1
.setRowHeight(20);
1298 JComboBox cb
= new JComboBox();
1299 cb
.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");
1300 cb
.addItem("EFI_SECTION_VERSION");
1301 cb
.addItem("EFI_SECTION_USER_INTERFACE");
1302 cb
.addItem("EFI_SECTION_DXE_DEPEX");
1303 cb
.addItem("EFI_SECTION_PEI_DEPEX");
1304 cb
.addItem("EFI_SECTION_PE32");
1305 cb
.addItem("EFI_SECTION_PIC");
1306 cb
.addItem("EFI_SECTION_TE");
1307 cb
.addItem("EFI_SECTION_RAW");
1308 cb
.addItem("EFI_SECTION_COMPRESSION");
1309 cb
.addItem("EFI_SECTION_GUID_DEFINED");
1310 cb
.addItem("EFI_SECTION_COMPATIBILITY16");
1311 cb
.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");
1312 jTable1
.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb
));
1314 jTable1
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1316 jTable1
.getModel().addTableModelListener(new TableModelListener() {
1317 public void tableChanged(TableModelEvent arg0
) {
1318 // TODO Auto-generated method stub
1319 if (jTable
.getSelectedRow() < 0) {
1322 int row
= arg0
.getFirstRow();
1323 TableModel m
= (TableModel
)arg0
.getSource();
1324 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1325 //ToDo Data Validition check.
1326 String type
= m
.getValueAt(row
, 0) + "";
1327 docConsole
.setSaved(false);
1328 ffc
.updateBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), row
, type
);
1337 * This method initializes jScrollPane3
1339 * @return javax.swing.JScrollPane
1341 private JScrollPane
getJScrollPane3() {
1342 if (jScrollPane3
== null) {
1343 jScrollPane3
= new JScrollPane();
1344 jScrollPane3
.setPreferredSize(new java
.awt
.Dimension(500,90));
1345 jScrollPane3
.setViewportView(getJTable3());
1347 return jScrollPane3
;
1351 * This method initializes jTable3
1353 * @return javax.swing.JTable
1355 private JTable
getJTable3() {
1356 if (jTable3
== null) {
1357 subsectionsTableModel
= new DefaultTableModel();
1358 subsectionsTableModel
.addColumn("SectionType");
1359 jTable3
= new JTable(subsectionsTableModel
);
1360 jTable3
.setRowHeight(20);
1361 JComboBox cb
= new JComboBox();
1362 cb
.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");
1363 cb
.addItem("EFI_SECTION_VERSION");
1364 cb
.addItem("EFI_SECTION_USER_INTERFACE");
1365 cb
.addItem("EFI_SECTION_DXE_DEPEX");
1366 cb
.addItem("EFI_SECTION_PEI_DEPEX");
1367 cb
.addItem("EFI_SECTION_PE32");
1368 cb
.addItem("EFI_SECTION_PIC");
1369 cb
.addItem("EFI_SECTION_TE");
1370 cb
.addItem("EFI_SECTION_RAW");
1371 cb
.addItem("EFI_SECTION_COMPRESSION");
1372 cb
.addItem("EFI_SECTION_GUID_DEFINED");
1373 cb
.addItem("EFI_SECTION_COMPATIBILITY16");
1374 cb
.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");
1375 jTable3
.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb
));
1376 jTable3
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1378 jTable3
.getModel().addTableModelListener(new TableModelListener() {
1379 public void tableChanged(TableModelEvent arg0
) {
1380 // TODO Auto-generated method stub
1381 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1384 int row
= arg0
.getFirstRow();
1385 TableModel m
= (TableModel
)arg0
.getSource();
1386 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1387 //ToDo Data Validition check.
1388 String type
= m
.getValueAt(row
, 0) + "";
1389 docConsole
.setSaved(false);
1390 ffc
.updateBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), row
, type
);
1399 * This method initializes jTextField
1401 * @return javax.swing.JTextField
1403 private JTextField
getJTextField() {
1404 if (jTextField
== null) {
1405 jTextField
= new JTextField();
1406 jTextField
.setPreferredSize(new java
.awt
.Dimension(100,20));
1407 jTextField
.addFocusListener(new java
.awt
.event
.FocusAdapter() {
1408 public void focusLost(java
.awt
.event
.FocusEvent e
) {
1409 if (jTable
.getSelectedRow() < 0) {
1412 ffc
.updateBuildOptionsFfsSectionsType(jTable
.getSelectedRow(), jTextField
.getText());
1420 * This method initializes jPanel4
1422 * @return javax.swing.JPanel
1424 private JPanel
getJPanel4() {
1425 if (jPanel4
== null) {
1426 jPanel4
= new JPanel();
1427 jPanel4
.setPreferredSize(new java
.awt
.Dimension(100,100));
1428 jPanel4
.add(getJButton17(), null);
1429 jPanel4
.add(getJButton18(), null);
1435 * This method initializes jButton
1437 * @return javax.swing.JButton
1439 private JButton
getJButton() {
1440 if (jButton
== null) {
1441 jButton
= new JButton();
1442 jButton
.setPreferredSize(new java
.awt
.Dimension(80,20));
1443 jButton
.setText("New");
1444 jButton
.addActionListener(new java
.awt
.event
.ActionListener() {
1445 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1446 if (jTable
.getSelectedRow() < 0) {
1449 docConsole
.setSaved(false);
1450 String
[] row
= {"EFI_SECTION_RAW"};
1451 sectionTableModel
.addRow(row
);
1452 ffc
.genBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), row
[0]);
1460 * This method initializes jButton1
1462 * @return javax.swing.JButton
1464 private JButton
getJButton1() {
1465 if (jButton1
== null) {
1466 jButton1
= new JButton();
1467 jButton1
.setPreferredSize(new java
.awt
.Dimension(80,20));
1468 jButton1
.setText("Remove");
1470 jButton1
.addActionListener(new java
.awt
.event
.ActionListener() {
1471 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1472 if (jTable
.getSelectedRow() < 0 || jTable1
.getSelectedRow() < 0) {
1475 docConsole
.setSaved(false);
1476 sectionTableModel
.removeRow(jTable1
.getSelectedRow());
1477 ffc
.removeBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), jTable1
.getSelectedRow());
1485 * This method initializes jButton2
1487 * @return javax.swing.JButton
1489 private JButton
getJButton2() {
1490 if (jButton2
== null) {
1491 jButton2
= new JButton();
1492 jButton2
.setPreferredSize(new java
.awt
.Dimension(80,20));
1493 jButton2
.setText("New");
1494 jButton2
.addActionListener(new java
.awt
.event
.ActionListener() {
1495 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1496 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1499 docConsole
.setSaved(false);
1500 String
[] row
= {"EFI_SECTION_RAW"};
1501 subsectionsTableModel
.addRow(row
);
1502 ffc
.genBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), row
[0]);
1511 * This method initializes jButton3
1513 * @return javax.swing.JButton
1515 private JButton
getJButton3() {
1516 if (jButton3
== null) {
1517 jButton3
= new JButton();
1518 jButton3
.setPreferredSize(new java
.awt
.Dimension(80,20));
1519 jButton3
.setText("Remove");
1520 jButton3
.addActionListener(new java
.awt
.event
.ActionListener() {
1521 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1522 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0 || jTable3
.getSelectedRow() < 0) {
1525 docConsole
.setSaved(false);
1526 subsectionsTableModel
.removeRow(jTable3
.getSelectedRow());
1527 ffc
.removeBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), jTable3
.getSelectedRow());
1535 * This method initializes jButton6
1537 * @return javax.swing.JButton
1539 private JButton
getJButton6() {
1540 if (jButton6
== null) {
1541 jButton6
= new JButton();
1542 jButton6
.setPreferredSize(new java
.awt
.Dimension(80,20));
1543 jButton6
.setText("New");
1544 jButton6
.addActionListener(new java
.awt
.event
.ActionListener() {
1545 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1546 if (jTable
.getSelectedRow() < 0) {
1549 docConsole
.setSaved(false);
1550 String
[] row
= {""};
1551 sectionsTableModel
.addRow(row
);
1552 ffc
.genBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), "");
1560 * This method initializes jButton7
1562 * @return javax.swing.JButton
1564 private JButton
getJButton7() {
1565 if (jButton7
== null) {
1566 jButton7
= new JButton();
1567 jButton7
.setPreferredSize(new java
.awt
.Dimension(80,20));
1568 jButton7
.setText("Remove");
1569 jButton7
.addActionListener(new java
.awt
.event
.ActionListener() {
1570 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1571 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1574 docConsole
.setSaved(false);
1575 sectionsTableModel
.removeRow(jTable6
.getSelectedRow());
1576 ffc
.removeBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), jTable6
.getSelectedRow());
1584 * This method initializes jScrollPane4
1586 * @return javax.swing.JScrollPane
1588 private JScrollPane
getJScrollPane4() {
1589 if (jScrollPane4
== null) {
1590 jScrollPane4
= new JScrollPane();
1591 jScrollPane4
.setPreferredSize(new java
.awt
.Dimension(500,80));
1592 jScrollPane4
.setViewportView(getJTable6());
1594 return jScrollPane4
;
1598 * This method initializes jTable6
1600 * @return javax.swing.JTable
1602 private JTable
getJTable6() {
1603 if (jTable6
== null) {
1604 sectionsTableModel
= new DefaultTableModel();
1605 sectionsTableModel
.addColumn("EncapsulationType");
1606 jTable6
= new JTable(sectionsTableModel
);
1607 jTable6
.setRowHeight(20);
1608 jTable6
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1609 jTable6
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
1610 public void valueChanged(ListSelectionEvent e
) {
1611 if (e
.getValueIsAdjusting()){
1614 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
1615 if (lsm
.isSelectionEmpty()) {
1619 int sectionsRow
= lsm
.getMinSelectionIndex();
1620 if (jTable
.getSelectedRow() < 0) {
1623 subsectionsTableModel
.setRowCount(0);
1624 ArrayList
<String
> al
= new ArrayList
<String
>();
1625 ffc
.getBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), sectionsRow
, al
);
1626 for (int i
= 0; i
< al
.size(); ++i
) {
1627 String
[] subsectionRow
= {al
.get(i
)};
1628 subsectionsTableModel
.addRow(subsectionRow
);
1634 jTable6
.getModel().addTableModelListener(new TableModelListener() {
1635 public void tableChanged(TableModelEvent arg0
) {
1636 // TODO Auto-generated method stub
1637 int row
= arg0
.getFirstRow();
1638 TableModel m
= (TableModel
)arg0
.getSource();
1639 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1640 //ToDo Data Validition check.
1641 String encapType
= m
.getValueAt(row
, 0) + "";
1642 docConsole
.setSaved(false);
1643 ffc
.updateBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), row
, encapType
);
1652 * This method initializes jButton12
1654 * @return javax.swing.JButton
1656 private JButton
getJButton12() {
1657 if (jButton12
== null) {
1658 jButton12
= new JButton();
1659 jButton12
.setPreferredSize(new Dimension(90, 20));
1660 jButton12
.setText("Browse");
1661 jButton12
.addActionListener(new AbstractAction() {
1662 private static final long serialVersionUID
= 1L;
1664 public void actionPerformed(ActionEvent arg0
) {
1666 // Select files from current workspace
1668 String dirPrefix
= System
.getenv("WORKSPACE");
1669 JFileChooser chooser
= new JFileChooser(dirPrefix
);
1670 File theFile
= null;
1671 String headerDest
= null;
1673 chooser
.setMultiSelectionEnabled(false);
1674 chooser
.setFileSelectionMode(JFileChooser
.FILES_ONLY
);
1675 int retval
= chooser
.showOpenDialog(frame
);
1676 if (retval
== JFileChooser
.APPROVE_OPTION
) {
1678 theFile
= chooser
.getSelectedFile();
1679 String file
= theFile
.getPath();
1680 if (!file
.startsWith(dirPrefix
)) {
1681 JOptionPane
.showMessageDialog(frame
, "You can only select files in current package!");
1689 headerDest
= theFile
.getPath();
1690 jTextField2
.setText(headerDest
.substring(dirPrefix
.length()).replace('\\', '/'));
1700 * This method initializes jTextField1
1702 * @return javax.swing.JTextField
1704 private JTextField
getJTextField1() {
1705 if (jTextField1
== null) {
1706 jTextField1
= new JTextField();
1707 jTextField1
.setPreferredSize(new java
.awt
.Dimension(85,20));
1715 public static void main(String
[] args
) {
1716 // TODO Auto-generated method stub
1717 new FpdBuildOptions().setVisible(true);
1721 * This is the default constructor
1723 public FpdBuildOptions() {
1726 this.setVisible(true);
1729 public FpdBuildOptions(PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
) {
1731 ffc
= new FpdFileContents(fpd
);
1735 public FpdBuildOptions(OpeningPlatformType opt
) {
1736 this(opt
.getXmlFpd());
1740 private void init(FpdFileContents ffc
) {
1744 this.addInternalFrameListener(new InternalFrameAdapter(){
1745 public void internalFrameDeactivated(InternalFrameEvent e
){
1746 if (jTable
.isEditing()) {
1747 jTable
.getCellEditor().stopCellEditing();
1749 if (jTable1
.isEditing()) {
1750 jTable1
.getCellEditor().stopCellEditing();
1752 if (jTable2
.isEditing()) {
1753 jTable2
.getCellEditor().stopCellEditing();
1755 if (jTable3
.isEditing()) {
1756 jTable3
.getCellEditor().stopCellEditing();
1758 if (jTable4
.isEditing()) {
1759 jTable4
.getCellEditor().stopCellEditing();
1761 if (jTable5
.isEditing()) {
1762 jTable5
.getCellEditor().stopCellEditing();
1768 private void initOptionTable() {
1769 if (ffc
.getBuildOptionsOptCount() == 0) {
1770 //ToDo get default options from *.txt file
1773 String
[][] saa
= new String
[ffc
.getBuildOptionsOptCount()][6];
1774 ffc
.getBuildOptionsOpts(saa
);
1775 for (int i
= 0; i
< saa
.length
; ++i
) {
1776 optionsTableModel
.addRow(saa
[i
]);
1780 private void initAntTaskTable() {
1781 if (ffc
.getBuildOptionsUserDefAntTaskCount() == 0) {
1784 String
[][] saa
= new String
[ffc
.getBuildOptionsUserDefAntTaskCount()][3];
1785 ffc
.getBuildOptionsUserDefAntTasks(saa
);
1786 for (int i
= 0; i
< saa
.length
; ++i
) {
1787 antTaskTableModel
.addRow(saa
[i
]);
1791 private void initFfsTable(){
1792 int ffsCount
= ffc
.getBuildOptionsFfsCount();
1796 String
[][] saa
= new String
[ffsCount
][1];
1797 ffc
.getBuildOptionsFfsKey(saa
);
1798 for (int i
= 0; i
< saa
.length
; ++i
) {
1799 ffsTableModel
.addRow(saa
[i
]);
1803 * This method initializes this
1807 private void initialize() {
1808 this.setSize(722, 577);
1809 this.setTitle("FPD Build Options");
1810 this.setContentPane(getJContentPane());
1814 * This method initializes jContentPane
1816 * @return javax.swing.JPanel
1818 private JPanel
getJContentPane() {
1819 if (jContentPane
== null) {
1820 jContentPane
= new JPanel();
1821 jContentPane
.setLayout(new BorderLayout());
1822 jContentPane
.add(getJPanel(), java
.awt
.BorderLayout
.SOUTH
);
1823 jContentPane
.add(getJPanel1(), java
.awt
.BorderLayout
.NORTH
);
1824 jContentPane
.add(getJPanel2(), java
.awt
.BorderLayout
.WEST
);
1825 jContentPane
.add(getJPanel3(), java
.awt
.BorderLayout
.EAST
);
1826 jContentPane
.add(getJTabbedPane(), java
.awt
.BorderLayout
.CENTER
);
1828 return jContentPane
;
1831 } // @jve:decl-index=0:visual-constraint="10,10"