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
.JFrame
;
30 import javax
.swing
.JOptionPane
;
31 import javax
.swing
.JTextField
;
32 import javax
.swing
.JButton
;
33 import javax
.swing
.JScrollPane
;
34 import javax
.swing
.JTable
;
35 import javax
.swing
.JComboBox
;
36 import javax
.swing
.ListSelectionModel
;
37 import javax
.swing
.event
.InternalFrameAdapter
;
38 import javax
.swing
.event
.InternalFrameEvent
;
39 import javax
.swing
.event
.ListSelectionEvent
;
40 import javax
.swing
.event
.ListSelectionListener
;
41 import javax
.swing
.event
.TableModelEvent
;
42 import javax
.swing
.event
.TableModelListener
;
43 import javax
.swing
.table
.DefaultTableModel
;
44 import javax
.swing
.table
.TableColumn
;
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
;
51 import java
.util
.ArrayList
;
52 import java
.util
.Iterator
;
53 import java
.util
.LinkedHashMap
;
55 import java
.util
.Vector
;
57 public class FpdBuildOptions
extends IInternalFrame
{
59 private static final long serialVersionUID
= 1L;
61 private JPanel jContentPane
= null;
62 private JPanel jPanel
= null;
63 private JPanel jPanel1
= null;
64 private JPanel jPanel2
= null;
65 private JPanel jPanel3
= null;
66 private JTabbedPane jTabbedPane
= null;
67 private JPanel jPanel8
= null;
68 private JPanel jPanel9
= null;
69 private JPanel jPanel10
= null;
70 private JPanel jPanel11
= null;
71 private JTextField jTextField2
= null;
72 private JLabel jLabel3
= null;
73 private JTextField jTextField3
= null;
74 private JButton jButton4
= null;
75 private JButton jButton5
= null;
76 private JTextField jTextField4
= null;
77 private JScrollPane jScrollPane2
= null;
78 private JTable jTable2
= null;
79 private DefaultTableModel ffsTableModel
= null;
80 private DefaultTableModel sectionsTableModel
= null;
81 private DefaultTableModel sectionTableModel
= null;
82 private DefaultTableModel subsectionsTableModel
= null;
83 private DefaultTableModel antTaskTableModel
= null;
84 private DefaultTableModel ffsAttributesTableModel
= null;
85 private DefaultTableModel optionsTableModel
= null;
86 private JPanel jPanel13
= null;
87 private JPanel jPanel18
= null;
88 private JPanel jPanel15
= null;
89 private JPanel jPanel16
= null;
90 private JPanel jPanel17
= null;
91 private JLabel jLabel7
= null;
92 private JTextField jTextField6
= null;
93 private JButton jButton8
= null;
94 private JButton jButton9
= null;
95 private JScrollPane jScrollPane5
= null;
96 private JTable jTable4
= null;
97 private JPanel jPanel19
= null;
98 private JPanel jPanel20
= null;
99 private JLabel jLabel9
= null;
100 private JTextField jTextField7
= null;
101 private JLabel jLabel10
= null;
102 private JComboBox jComboBox2
= null;
103 private JLabel jLabel11
= null;
104 private JLabel jLabel12
= null;
105 private JTextField jTextField8
= null;
106 private JScrollPane jScrollPane6
= null;
107 private JTable jTable5
= null;
108 private JButton jButton10
= null;
109 private JButton jButton11
= null;
110 private JButton jButton17
= null;
111 private JButton jButton18
= null;
112 private FpdFileContents ffc
= null;
113 private OpeningPlatformType docConsole
= null;
114 private JButton jButton19
= null;
115 private JCheckBox jCheckBox9
= null;
116 private JCheckBox jCheckBox10
= null;
117 private JCheckBox jCheckBox11
= null;
118 private JCheckBox jCheckBox12
= null;
119 private JCheckBox jCheckBox13
= null;
120 private JCheckBox jCheckBox14
= null;
121 private JLabel jLabel14
= null;
122 private JTextField jTextField12
= null;
123 private JTextField jTextField13
= null;
124 private JLabel jLabel15
= null;
125 private int selectedRow
= -1;
126 private JLabel jLabel
= null;
127 private JLabel jLabel1
= null;
128 private JScrollPane jScrollPane
= null;
129 private JTable jTable
= null;
130 private JLabel jLabel2
= null;
131 private JScrollPane jScrollPane1
= null;
132 private JTable jTable1
= null;
133 private JLabel jLabel4
= null;
134 private JScrollPane jScrollPane3
= null;
135 private JTable jTable3
= null;
136 private JLabel jLabel5
= null;
137 private JTextField jTextField
= null;
138 private JPanel jPanel4
= null;
139 private JLabel jLabel6
= null;
140 private JButton jButton
= null;
141 private JButton jButton1
= null;
142 private JButton jButton2
= null;
143 private JButton jButton3
= null;
144 private JLabel jLabel8
= null;
145 private JButton jButton6
= null;
146 private JButton jButton7
= null;
147 private JScrollPane jScrollPane4
= null;
148 private JTable jTable6
= null;
150 * This method initializes jPanel
152 * @return javax.swing.JPanel
154 private JPanel
getJPanel() {
155 if (jPanel
== null) {
156 jPanel
= new JPanel();
162 * This method initializes jPanel1
164 * @return javax.swing.JPanel
166 private JPanel
getJPanel1() {
167 if (jPanel1
== null) {
168 jPanel1
= new JPanel();
174 * This method initializes jPanel2
176 * @return javax.swing.JPanel
178 private JPanel
getJPanel2() {
179 if (jPanel2
== null) {
180 jPanel2
= new JPanel();
186 * This method initializes jPanel3
188 * @return javax.swing.JPanel
190 private JPanel
getJPanel3() {
191 if (jPanel3
== null) {
192 jPanel3
= new JPanel();
198 * This method initializes jTabbedPane
200 * @return javax.swing.JTabbedPane
202 private JTabbedPane
getJTabbedPane() {
203 if (jTabbedPane
== null) {
204 jTabbedPane
= new JTabbedPane();
205 jTabbedPane
.addTab("FFS", null, getJPanel13(), null);
206 jTabbedPane
.addTab("Options", null, getJPanel20(), null);
207 jTabbedPane
.addTab("User Defined ANT Tasks", null, getJPanel8(), null);
214 * This method initializes jPanel8
216 * @return javax.swing.JPanel
218 private JPanel
getJPanel8() {
219 if (jPanel8
== null) {
220 jPanel8
= new JPanel();
221 jPanel8
.setLayout(new BorderLayout());
222 jPanel8
.add(getJPanel9(), java
.awt
.BorderLayout
.NORTH
);
223 jPanel8
.add(getJPanel10(), java
.awt
.BorderLayout
.SOUTH
);
224 jPanel8
.add(getJPanel11(), java
.awt
.BorderLayout
.CENTER
);
231 * This method initializes jPanel9
233 * @return javax.swing.JPanel
235 private JPanel
getJPanel9() {
236 if (jPanel9
== null) {
237 jLabel
= new JLabel();
238 jLabel
.setText("ANT Task File");
239 jLabel
.setPreferredSize(new java
.awt
.Dimension(80,20));
240 FlowLayout flowLayout8
= new FlowLayout();
241 flowLayout8
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
242 jLabel3
= new JLabel();
243 jLabel3
.setText("ID");
244 jPanel9
= new JPanel();
245 jPanel9
.setLayout(flowLayout8
);
246 jPanel9
.add(jLabel
, null);
247 jPanel9
.add(getJTextField2(), null);
248 jPanel9
.add(jLabel3
, null);
249 jPanel9
.add(getJTextField3(), null);
255 * This method initializes jPanel10
257 * @return javax.swing.JPanel
259 private JPanel
getJPanel10() {
260 if (jPanel10
== null) {
261 jPanel10
= new JPanel();
267 * This method initializes jPanel11
269 * @return javax.swing.JPanel
271 private JPanel
getJPanel11() {
272 if (jPanel11
== null) {
273 jLabel1
= new JLabel();
274 jLabel1
.setText("ANT Command Options");
275 jLabel1
.setPreferredSize(new java
.awt
.Dimension(131,20));
276 FlowLayout flowLayout3
= new FlowLayout();
277 flowLayout3
.setHgap(5);
278 flowLayout3
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
279 jPanel11
= new JPanel();
280 jPanel11
.setLayout(flowLayout3
);
281 jPanel11
.add(jLabel1
, null);
282 jPanel11
.add(getJTextField4(), null);
283 jPanel11
.add(getJButton4(), null);
284 jPanel11
.add(getJButton5(), null);
285 jPanel11
.add(getJScrollPane2(), null);
291 * This method initializes jTextField2
293 * @return javax.swing.JTextField
295 private JTextField
getJTextField2() {
296 if (jTextField2
== null) {
297 jTextField2
= new JTextField();
298 jTextField2
.setPreferredSize(new java
.awt
.Dimension(200,20));
304 * This method initializes jTextField3
306 * @return javax.swing.JTextField
308 private JTextField
getJTextField3() {
309 if (jTextField3
== null) {
310 jTextField3
= new JTextField();
311 jTextField3
.setPreferredSize(new java
.awt
.Dimension(100,20));
317 * This method initializes jButton4
319 * @return javax.swing.JButton
321 private JButton
getJButton4() {
322 if (jButton4
== null) {
323 jButton4
= new JButton();
324 jButton4
.setPreferredSize(new java
.awt
.Dimension(90,20));
325 jButton4
.setText("Add");
326 jButton4
.addActionListener(new ActionListener() {
327 public void actionPerformed(ActionEvent e
) {
328 if (!DataValidation
.isInt(jTextField3
.getText())) {
329 JOptionPane
.showMessageDialog(frame
, "ID must be an integer.");
332 Object
[] o
= {jTextField3
.getText(), null, null};
333 o
[1] = jTextField2
.getText();
334 o
[2] = jTextField4
.getText();
335 ffc
.genBuildOptionsUserDefAntTask(o
[0]+"", null, o
[2]+"");
336 antTaskTableModel
.addRow(o
);
337 docConsole
.setSaved(false);
345 * This method initializes jButton5
347 * @return javax.swing.JButton
349 private JButton
getJButton5() {
350 if (jButton5
== null) {
351 jButton5
= new JButton();
352 jButton5
.setPreferredSize(new java
.awt
.Dimension(90,20));
353 jButton5
.setText("Delete");
354 jButton5
.addActionListener(new ActionListener() {
355 public void actionPerformed(ActionEvent e
) {
356 if (selectedRow
>= 0) {
357 docConsole
.setSaved(false);
358 antTaskTableModel
.removeRow(selectedRow
);
359 ffc
.removeBuildOptionsUserDefAntTask(selectedRow
);
368 * This method initializes jTextField4
370 * @return javax.swing.JTextField
372 private JTextField
getJTextField4() {
373 if (jTextField4
== null) {
374 jTextField4
= new JTextField();
375 jTextField4
.setPreferredSize(new java
.awt
.Dimension(270,20));
376 jTextField4
.setEnabled(true);
382 * This method initializes jScrollPane2
384 * @return javax.swing.JScrollPane
386 private JScrollPane
getJScrollPane2() {
387 if (jScrollPane2
== null) {
388 jScrollPane2
= new JScrollPane();
389 jScrollPane2
.setPreferredSize(new java
.awt
.Dimension(600,100));
390 jScrollPane2
.setViewportView(getJTable2());
396 * This method initializes jTable2
398 * @return javax.swing.JTable
400 private JTable
getJTable2() {
401 if (jTable2
== null) {
402 antTaskTableModel
= new DefaultTableModel();
403 jTable2
= new JTable(antTaskTableModel
);
404 jTable2
.setRowHeight(20);
405 antTaskTableModel
.addColumn("ID");
406 antTaskTableModel
.addColumn("Filename");
407 antTaskTableModel
.addColumn("ANT Command Options");
409 jTable2
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
410 jTable2
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
411 public void valueChanged(ListSelectionEvent e
) {
413 if (e
.getValueIsAdjusting()){
416 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
417 if (lsm
.isSelectionEmpty()) {
421 selectedRow
= lsm
.getMinSelectionIndex();
426 jTable2
.getModel().addTableModelListener(new TableModelListener() {
427 public void tableChanged(TableModelEvent arg0
) {
428 // TODO Auto-generated method stub
429 int row
= arg0
.getFirstRow();
430 TableModel m
= (TableModel
)arg0
.getSource();
431 if (arg0
.getType() == TableModelEvent
.UPDATE
){
432 //ToDo Data Validition check.
433 String id
= m
.getValueAt(row
, 0) + "";
434 String file
= m
.getValueAt(row
, 1) + "";
435 String execOrder
= m
.getValueAt(row
, 2) + "";
436 if (id
.length() == 0) {
439 if (file
.length() == 0 && execOrder
.length() == 0){
442 if (file
.length() == 0) {
445 if (execOrder
.length() == 0) {
448 ffc
.updateBuildOptionsUserDefAntTask(row
, id
, file
, execOrder
);
458 * This method initializes jPanel13
460 * @return javax.swing.JPanel
462 private JPanel
getJPanel13() {
463 if (jPanel13
== null) {
464 jPanel13
= new JPanel();
465 jPanel13
.setLayout(new BorderLayout());
466 jPanel13
.add(getJPanel18(), java
.awt
.BorderLayout
.CENTER
);
467 jPanel13
.add(getJScrollPane(), java
.awt
.BorderLayout
.WEST
);
473 * This method initializes jPanel18
475 * @return javax.swing.JPanel
477 private JPanel
getJPanel18() {
478 if (jPanel18
== null) {
479 jPanel18
= new JPanel();
480 jPanel18
.setLayout(new BorderLayout());
481 jPanel18
.add(getJPanel15(), java
.awt
.BorderLayout
.NORTH
);
482 jPanel18
.add(getJPanel16(), java
.awt
.BorderLayout
.SOUTH
);
483 jPanel18
.add(getJPanel17(), java
.awt
.BorderLayout
.EAST
);
484 jPanel18
.add(getJPanel19(), java
.awt
.BorderLayout
.CENTER
);
490 * This method initializes jPanel15
492 * @return javax.swing.JPanel
494 private JPanel
getJPanel15() {
495 if (jPanel15
== null) {
496 jLabel5
= new JLabel();
497 jLabel5
.setText("Encapsulation Type");
498 FlowLayout flowLayout5
= new FlowLayout();
499 flowLayout5
.setAlignment(java
.awt
.FlowLayout
.RIGHT
);
500 jLabel7
= new JLabel();
501 jLabel7
.setText("FFS Key");
502 jPanel15
= new JPanel();
503 jPanel15
.setLayout(flowLayout5
);
504 jPanel15
.add(jLabel7
, null);
505 jPanel15
.add(getJTextField6(), null);
506 jPanel15
.add(jLabel5
, null);
507 jPanel15
.add(getJTextField(), null);
508 jPanel15
.add(getJButton8(), null);
509 jPanel15
.add(getJButton9(), null);
515 * This method initializes jPanel16
517 * @return javax.swing.JPanel
519 private JPanel
getJPanel16() {
520 if (jPanel16
== null) {
521 jLabel6
= new JLabel();
522 jLabel6
.setText("Attributes");
523 FlowLayout flowLayout6
= new FlowLayout();
524 flowLayout6
.setHgap(5);
525 flowLayout6
.setVgap(20);
526 flowLayout6
.setAlignment(java
.awt
.FlowLayout
.CENTER
);
527 jPanel16
= new JPanel();
528 jPanel16
.setPreferredSize(new java
.awt
.Dimension(491,130));
529 jPanel16
.setLayout(flowLayout6
);
530 jPanel16
.add(jLabel6
, null);
531 jPanel16
.add(getJScrollPane5(), null);
532 jPanel16
.add(getJPanel4(), null);
538 * This method initializes jPanel17
540 * @return javax.swing.JPanel
542 private JPanel
getJPanel17() {
543 if (jPanel17
== null) {
544 jPanel17
= new JPanel();
550 * This method initializes jTextField6
552 * @return javax.swing.JTextField
554 private JTextField
getJTextField6() {
555 if (jTextField6
== null) {
556 jTextField6
= new JTextField();
557 jTextField6
.setPreferredSize(new java
.awt
.Dimension(100,20));
558 jTextField6
.setEditable(true);
559 jTextField6
.addFocusListener(new java
.awt
.event
.FocusAdapter() {
560 public void focusLost(java
.awt
.event
.FocusEvent e
) {
561 if (jTable
.getSelectedRow() < 0) {
564 // ffc.updateBuildOptionsFfsKey(jTable.getSelectedRow(), jTextField6.getText());
572 * This method initializes jButton8
574 * @return javax.swing.JButton
576 private JButton
getJButton8() {
577 if (jButton8
== null) {
578 jButton8
= new JButton();
579 jButton8
.setPreferredSize(new java
.awt
.Dimension(70,20));
580 jButton8
.setText("Add");
581 jButton8
.addActionListener(new AbstractAction() {
585 private static final long serialVersionUID
= -2923720717273384221L;
587 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
588 if (jTextField6
.getText().length() > 0) {
589 String
[] row
= {jTextField6
.getText()};
590 ffsTableModel
.addRow(row
);
591 docConsole
.setSaved(false);
592 ffc
.genBuildOptionsFfs(jTextField6
.getText(), jTextField
.getText());
601 * This method initializes jButton9
603 * @return javax.swing.JButton
605 private JButton
getJButton9() {
606 if (jButton9
== null) {
607 jButton9
= new JButton();
608 jButton9
.setPreferredSize(new java
.awt
.Dimension(70,20));
609 jButton9
.setText("Delete");
610 jButton9
.addActionListener(new AbstractAction() {
614 private static final long serialVersionUID
= -4002678939178194476L;
616 public void actionPerformed(ActionEvent arg0
){
617 if (jTable
.getSelectedRow() < 0) {
620 docConsole
.setSaved(false);
621 ffc
.removeBuildOptionsFfs(jTable
.getSelectedRow());
629 * This method initializes jScrollPane5
631 * @return javax.swing.JScrollPane
633 private JScrollPane
getJScrollPane5() {
634 if (jScrollPane5
== null) {
635 jScrollPane5
= new JScrollPane();
636 jScrollPane5
.setPreferredSize(new java
.awt
.Dimension(350,100));
637 jScrollPane5
.setViewportView(getJTable4());
643 * This method initializes jTable4
645 * @return javax.swing.JTable
647 private JTable
getJTable4() {
648 if (jTable4
== null) {
649 ffsAttributesTableModel
= new DefaultTableModel();
650 jTable4
= new JTable(ffsAttributesTableModel
);
651 jTable4
.setPreferredSize(new java
.awt
.Dimension(400,80));
652 jTable4
.setRowHeight(20);
653 ffsAttributesTableModel
.addColumn("Name");
654 ffsAttributesTableModel
.addColumn("Value");
656 jTable4
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
657 jTable4
.getModel().addTableModelListener(new TableModelListener() {
658 public void tableChanged(TableModelEvent arg0
) {
659 // TODO Auto-generated method stub
660 int row
= arg0
.getFirstRow();
661 TableModel m
= (TableModel
)arg0
.getSource();
662 if (arg0
.getType() == TableModelEvent
.UPDATE
){
663 //ToDo Data Validition check.
664 String name
= m
.getValueAt(row
, 0) + "";
665 String value
= m
.getValueAt(row
, 1) + "";
667 if (name
.length() == 0) {
670 if (value
.length() == 0){
673 docConsole
.setSaved(false);
674 ffc
.updateBuildOptionsFfsAttribute(jTable
.getSelectedRow(), row
, name
, value
);
683 * This method initializes jPanel19
685 * @return javax.swing.JPanel
687 private JPanel
getJPanel19() {
688 if (jPanel19
== null) {
689 jLabel8
= new JLabel();
690 jLabel8
.setText("Sections");
691 jLabel4
= new JLabel();
692 jLabel4
.setText("Sub-Sections");
693 jLabel2
= new JLabel();
694 jLabel2
.setText("Section");
695 jPanel19
= new JPanel();
696 jPanel19
.setLayout(new FlowLayout());
697 jPanel19
.add(jLabel2
, null);
698 jPanel19
.add(getJButton(), null);
699 jPanel19
.add(getJButton1(), null);
700 jPanel19
.add(getJScrollPane1(), null);
701 jPanel19
.add(jLabel8
, null);
702 jPanel19
.add(getJButton6(), null);
703 jPanel19
.add(getJButton7(), null);
704 jPanel19
.add(getJScrollPane4(), null);
705 jPanel19
.add(jLabel4
, null);
706 jPanel19
.add(getJButton2(), null);
707 jPanel19
.add(getJButton3(), null);
708 jPanel19
.add(getJScrollPane3(), null);
714 * This method initializes jPanel20
716 * @return javax.swing.JPanel
718 private JPanel
getJPanel20() {
719 if (jPanel20
== null) {
720 jLabel15
= new JLabel();
721 jLabel15
.setText("Tag Name");
722 FlowLayout flowLayout9
= new FlowLayout();
723 flowLayout9
.setAlignment(java
.awt
.FlowLayout
.LEFT
);
724 jLabel14
= new JLabel();
725 jLabel14
.setText("Build Targets");
726 jLabel12
= new JLabel();
727 jLabel12
.setText("Tool Command");
728 jLabel11
= new JLabel();
729 jLabel11
.setText("Supported Arch");
730 jLabel10
= new JLabel();
731 jLabel10
.setText("Tool Chain Family");
732 jLabel9
= new JLabel();
733 jLabel9
.setText("Option Contents");
734 jPanel20
= new JPanel();
735 jPanel20
.setLayout(flowLayout9
);
736 jPanel20
.add(jLabel14
, null);
737 jPanel20
.add(getJTextField12(), null);
738 jPanel20
.add(jLabel10
, null);
739 jPanel20
.add(getJComboBox2(), null);
740 jPanel20
.add(jLabel12
, null);
741 jPanel20
.add(getJTextField8(), null);
742 jPanel20
.add(jLabel11
, null);
743 jPanel20
.add(getJCheckBox9(), null);
744 jPanel20
.add(getJCheckBox10(), null);
745 jPanel20
.add(getJCheckBox11(), null);
746 jPanel20
.add(getJCheckBox12(), null);
747 jPanel20
.add(getJCheckBox13(), null);
748 jPanel20
.add(getJCheckBox14(), null);
749 jPanel20
.add(jLabel15
, null);
750 jPanel20
.add(getJTextField13(), null);
751 jPanel20
.add(jLabel9
, null);
752 jPanel20
.add(getJTextField7(), null);
753 jPanel20
.add(getJButton10(), null);
754 jPanel20
.add(getJButton11(), null);
755 jPanel20
.add(getJButton19(), null);
756 jPanel20
.add(getJScrollPane6(), null);
762 * This method initializes jTextField7
764 * @return javax.swing.JTextField
766 private JTextField
getJTextField7() {
767 if (jTextField7
== null) {
768 jTextField7
= new JTextField();
769 jTextField7
.setPreferredSize(new java
.awt
.Dimension(300,20));
775 * This method initializes jComboBox2
777 * @return javax.swing.JComboBox
779 private JComboBox
getJComboBox2() {
780 if (jComboBox2
== null) {
781 jComboBox2
= new JComboBox();
782 jComboBox2
.setPreferredSize(new java
.awt
.Dimension(80,20));
783 jComboBox2
.addItem("MSFT");
784 jComboBox2
.addItem("GCC");
785 jComboBox2
.addItem("CYGWIN");
786 jComboBox2
.addItem("INTEL");
787 jComboBox2
.setSelectedIndex(0);
793 * This method initializes jTextField8
795 * @return javax.swing.JTextField
797 private JTextField
getJTextField8() {
798 if (jTextField8
== null) {
799 jTextField8
= new JTextField();
800 jTextField8
.setPreferredSize(new java
.awt
.Dimension(110,20));
806 * This method initializes jScrollPane6
808 * @return javax.swing.JScrollPane
810 private JScrollPane
getJScrollPane6() {
811 if (jScrollPane6
== null) {
812 jScrollPane6
= new JScrollPane();
813 jScrollPane6
.setPreferredSize(new java
.awt
.Dimension(630,200));
814 jScrollPane6
.setViewportView(getJTable5());
820 * This method initializes jTable5
822 * @return javax.swing.JTable
824 private JTable
getJTable5() {
825 if (jTable5
== null) {
826 optionsTableModel
= new DefaultTableModel();
827 jTable5
= new JTable(optionsTableModel
);
828 jTable5
.setRowHeight(20);
829 optionsTableModel
.addColumn("BuildTargets");
830 optionsTableModel
.addColumn("ToolChainFamily");
831 optionsTableModel
.addColumn("SupportedArch");
832 optionsTableModel
.addColumn("ToolCommand");
833 optionsTableModel
.addColumn("TagName");
834 optionsTableModel
.addColumn("Contents");
836 TableColumn toolFamilyCol
= jTable5
.getColumnModel().getColumn(1);
837 JComboBox cb
= new JComboBox();
840 cb
.addItem("CYGWIN");
842 toolFamilyCol
.setCellEditor(new DefaultCellEditor(cb
));
843 Vector
<String
> vArch
= new Vector
<String
>();
850 jTable5
.getColumnModel().getColumn(2).setCellEditor(new ListEditor(vArch
));
851 jTable5
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
852 jTable5
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
853 public void valueChanged(ListSelectionEvent e
) {
855 if (e
.getValueIsAdjusting()){
858 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
859 if (lsm
.isSelectionEmpty()) {
863 selectedRow
= lsm
.getMinSelectionIndex();
868 jTable5
.getModel().addTableModelListener(new TableModelListener() {
869 public void tableChanged(TableModelEvent arg0
) {
870 // TODO Auto-generated method stub
871 int row
= arg0
.getFirstRow();
872 TableModel m
= (TableModel
)arg0
.getSource();
873 if (arg0
.getType() == TableModelEvent
.UPDATE
){
874 //ToDo Data Validition check.
875 String targets
= m
.getValueAt(row
, 0) + "";
876 Vector
<Object
> targetName
= new Vector
<Object
>();
877 String
[] sArray
= targets
.split("( )+");
878 for (int i
= 0; i
< sArray
.length
; ++i
) {
879 targetName
.add(sArray
[i
]);
881 String toolChain
= m
.getValueAt(row
, 1) + "";
882 String archs
= m
.getValueAt(row
, 2) + "";
883 Vector
<Object
> supArch
= null;
884 if (archs
.length() > 0) {
885 supArch
= new Vector
<Object
>();
886 String
[] sArray1
= archs
.split("( )+");
887 for (int i
= 0; i
< sArray1
.length
; ++i
) {
888 supArch
.add(sArray1
[i
]);
892 String toolCmd
= m
.getValueAt(row
, 3) + "";
893 String tagName
= m
.getValueAt(row
, 4) + "";
894 String contents
= m
.getValueAt(row
, 5) + "";
895 docConsole
.setSaved(false);
896 ffc
.updateBuildOptionsOpt(row
, targetName
, toolChain
, tagName
, toolCmd
, supArch
, contents
);
905 * This method initializes jButton10
907 * @return javax.swing.JButton
909 private JButton
getJButton10() {
910 if (jButton10
== null) {
911 jButton10
= new JButton();
912 jButton10
.setText("Add");
913 jButton10
.setPreferredSize(new java
.awt
.Dimension(70,20));
914 jButton10
.addActionListener(new AbstractAction() {
918 private static final long serialVersionUID
= 1L;
920 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
921 boolean[] boolArray
= {jCheckBox9
.isSelected(),jCheckBox10
.isSelected(),jCheckBox11
.isSelected(),
922 jCheckBox12
.isSelected(),jCheckBox13
.isSelected(),jCheckBox14
.isSelected()};
923 String s
= boolToList(boolArray
);
924 Object
[] o
= {jTextField12
.getText(), jComboBox2
.getSelectedItem(), s
,
925 jTextField8
.getText(), jTextField13
.getText(), jTextField7
.getText()};
926 optionsTableModel
.addRow(o
);
927 docConsole
.setSaved(false);
928 ffc
.genBuildOptionsOpt(stringToVector(jTextField12
.getText()), jComboBox2
.getSelectedItem()+"", jTextField13
.getText(), jTextField8
.getText(), stringToVector(s
), jTextField7
.getText());
935 private Vector
<Object
> stringToVector(String s
) {
936 String
[] sArray
= s
.split(" ");
937 Vector
<Object
> v
= null;
938 if (s
.length() > 0) {
939 v
= new Vector
<Object
>();
940 for (int i
= 0; i
< sArray
.length
; ++i
) {
947 private String
boolToList (boolean[] bool
) {
974 * This method initializes jButton11
976 * @return javax.swing.JButton
978 private JButton
getJButton11() {
979 if (jButton11
== null) {
980 jButton11
= new JButton();
981 jButton11
.setText("Delete");
982 jButton11
.setPreferredSize(new java
.awt
.Dimension(70,20));
983 jButton11
.addActionListener(new AbstractAction() {
987 private static final long serialVersionUID
= 1L;
989 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
990 if (selectedRow
>= 0) {
991 optionsTableModel
.removeRow(selectedRow
);
992 docConsole
.setSaved(false);
993 ffc
.removeBuildOptionsOpt(selectedRow
);
1002 * This method initializes jButton17
1004 * @return javax.swing.JButton
1006 private JButton
getJButton17() {
1007 if (jButton17
== null) {
1008 jButton17
= new JButton();
1009 jButton17
.setPreferredSize(new java
.awt
.Dimension(80,20));
1010 jButton17
.setText("New");
1011 jButton17
.addActionListener(new AbstractAction() {
1015 private static final long serialVersionUID
= 1L;
1017 public void actionPerformed(ActionEvent arg0
){
1018 if (jTable
.getSelectedRow() < 0) {
1021 Object
[] o
= {"", ""};
1022 ffsAttributesTableModel
.addRow(o
);
1023 docConsole
.setSaved(false);
1024 ffc
.genBuildOptionsFfsAttribute(jTable
.getSelectedRow(), "", "");
1032 * This method initializes jButton18
1034 * @return javax.swing.JButton
1036 private JButton
getJButton18() {
1037 if (jButton18
== null) {
1038 jButton18
= new JButton();
1039 jButton18
.setPreferredSize(new java
.awt
.Dimension(80,20));
1040 jButton18
.setText("Remove");
1041 jButton18
.addActionListener(new AbstractAction(){
1045 private static final long serialVersionUID
= 1L;
1047 public void actionPerformed(ActionEvent arg0
){
1048 if (jTable
.getSelectedRow() < 0) {
1051 if (jTable4
.getSelectedRow() >= 0){
1052 docConsole
.setSaved(false);
1053 ffsAttributesTableModel
.removeRow(jTable4
.getSelectedRow());
1054 ffc
.removeBuildOptionsFfsAttribute(jTable
.getSelectedRow(), jTable4
.getSelectedRow());
1063 * This method initializes jButton19
1065 * @return javax.swing.JButton
1067 private JButton
getJButton19() {
1068 if (jButton19
== null) {
1069 jButton19
= new JButton();
1070 jButton19
.setPreferredSize(new java
.awt
.Dimension(75,20));
1071 jButton19
.setEnabled(false);
1072 jButton19
.setText("Update");
1078 * This method initializes jCheckBox9
1080 * @return javax.swing.JCheckBox
1082 private JCheckBox
getJCheckBox9() {
1083 if (jCheckBox9
== null) {
1084 jCheckBox9
= new JCheckBox();
1085 jCheckBox9
.setPreferredSize(new java
.awt
.Dimension(50,20));
1086 jCheckBox9
.setText("IA32");
1092 * This method initializes jCheckBox10
1094 * @return javax.swing.JCheckBox
1096 private JCheckBox
getJCheckBox10() {
1097 if (jCheckBox10
== null) {
1098 jCheckBox10
= new JCheckBox();
1099 jCheckBox10
.setPreferredSize(new java
.awt
.Dimension(50,20));
1100 jCheckBox10
.setText("IPF");
1106 * This method initializes jCheckBox11
1108 * @return javax.swing.JCheckBox
1110 private JCheckBox
getJCheckBox11() {
1111 if (jCheckBox11
== null) {
1112 jCheckBox11
= new JCheckBox();
1113 jCheckBox11
.setText("X64");
1114 jCheckBox11
.setPreferredSize(new java
.awt
.Dimension(47,20));
1120 * This method initializes jCheckBox12
1122 * @return javax.swing.JCheckBox
1124 private JCheckBox
getJCheckBox12() {
1125 if (jCheckBox12
== null) {
1126 jCheckBox12
= new JCheckBox();
1127 jCheckBox12
.setPreferredSize(new java
.awt
.Dimension(50,20));
1128 jCheckBox12
.setText("EBC");
1134 * This method initializes jCheckBox13
1136 * @return javax.swing.JCheckBox
1138 private JCheckBox
getJCheckBox13() {
1139 if (jCheckBox13
== null) {
1140 jCheckBox13
= new JCheckBox();
1141 jCheckBox13
.setPreferredSize(new java
.awt
.Dimension(55,20));
1142 jCheckBox13
.setText("ARM");
1148 * This method initializes jCheckBox14
1150 * @return javax.swing.JCheckBox
1152 private JCheckBox
getJCheckBox14() {
1153 if (jCheckBox14
== null) {
1154 jCheckBox14
= new JCheckBox();
1155 jCheckBox14
.setPreferredSize(new java
.awt
.Dimension(50,20));
1156 jCheckBox14
.setText("PPC");
1162 * This method initializes jTextField12
1164 * @return javax.swing.JTextField
1166 private JTextField
getJTextField12() {
1167 if (jTextField12
== null) {
1168 jTextField12
= new JTextField();
1169 jTextField12
.setPreferredSize(new java
.awt
.Dimension(150,20));
1171 return jTextField12
;
1175 * This method initializes jTextField13
1177 * @return javax.swing.JTextField
1179 private JTextField
getJTextField13() {
1180 if (jTextField13
== null) {
1181 jTextField13
= new JTextField();
1182 jTextField13
.setPreferredSize(new java
.awt
.Dimension(140,20));
1184 return jTextField13
;
1188 * This method initializes jScrollPane
1190 * @return javax.swing.JScrollPane
1192 private JScrollPane
getJScrollPane() {
1193 if (jScrollPane
== null) {
1194 jScrollPane
= new JScrollPane();
1195 jScrollPane
.setPreferredSize(new java
.awt
.Dimension(150,419));
1196 jScrollPane
.setViewportView(getJTable());
1202 * This method initializes jTable
1204 * @return javax.swing.JTable
1206 private JTable
getJTable() {
1207 if (jTable
== null) {
1208 ffsTableModel
= new DefaultTableModel();
1209 ffsTableModel
.addColumn("FFS Type");
1210 jTable
= new JTable(ffsTableModel
);
1211 jTable
.setShowGrid(false);
1212 jTable
.setRowHeight(20);
1214 jTable
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1215 jTable
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
1216 public void valueChanged(ListSelectionEvent e
) {
1218 if (e
.getValueIsAdjusting()){
1221 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
1222 if (lsm
.isSelectionEmpty()) {
1226 int row
= lsm
.getMinSelectionIndex();
1227 sectionTableModel
.setRowCount(0);
1228 sectionsTableModel
.setRowCount(0);
1229 subsectionsTableModel
.setRowCount(0);
1230 ffsAttributesTableModel
.setRowCount(0);
1231 String
[] sArray
= {"", ""};
1232 LinkedHashMap
<String
, String
> lhm
= new LinkedHashMap
<String
, String
>();
1233 ArrayList
<String
> alSections
= new ArrayList
<String
>();
1234 ArrayList
<String
> alSection
= new ArrayList
<String
>();
1235 ffc
.getBuildOptionsFfs(row
, sArray
, lhm
, alSections
, alSection
);
1236 jTextField6
.setText(sArray
[0]);
1237 jTextField
.setText(sArray
[1]);
1238 for (int i
= 0; i
< alSection
.size(); ++i
) {
1239 String
[] sectionRow
= {alSection
.get(i
)};
1240 sectionTableModel
.addRow(sectionRow
);
1242 for (int j
= 0; j
< alSections
.size(); ++j
) {
1243 String
[] sectionsRow
= {alSections
.get(j
)};
1244 sectionsTableModel
.addRow(sectionsRow
);
1246 if (lhm
.size() <= 0 ) {
1249 Set
<String
> keySet
= lhm
.keySet();
1250 Iterator
<String
> is
= keySet
.iterator();
1251 while(is
.hasNext()) {
1252 String key
= is
.next();
1253 String
[] attribRow
= {key
, lhm
.get(key
)};
1254 ffsAttributesTableModel
.addRow(attribRow
);
1260 jTable
.getModel().addTableModelListener(new TableModelListener() {
1261 public void tableChanged(TableModelEvent arg0
) {
1262 // TODO Auto-generated method stub
1263 int row
= arg0
.getFirstRow();
1264 TableModel m
= (TableModel
)arg0
.getSource();
1265 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1266 //ToDo Data Validition check.
1267 String id
= m
.getValueAt(row
, 0) + "";
1269 if (id
.length() == 0) {
1272 docConsole
.setSaved(false);
1273 ffc
.updateBuildOptionsFfsKey(row
, id
);
1282 * This method initializes jScrollPane1
1284 * @return javax.swing.JScrollPane
1286 private JScrollPane
getJScrollPane1() {
1287 if (jScrollPane1
== null) {
1288 jScrollPane1
= new JScrollPane();
1289 jScrollPane1
.setPreferredSize(new java
.awt
.Dimension(500,80));
1290 jScrollPane1
.setViewportView(getJTable1());
1292 return jScrollPane1
;
1296 * This method initializes jTable1
1298 * @return javax.swing.JTable
1300 private JTable
getJTable1() {
1301 if (jTable1
== null) {
1302 sectionTableModel
= new DefaultTableModel();
1303 sectionTableModel
.addColumn("SectionType");
1305 jTable1
= new JTable(sectionTableModel
);
1306 jTable1
.setRowHeight(20);
1307 JComboBox cb
= new JComboBox();
1308 cb
.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");
1309 cb
.addItem("EFI_SECTION_VERSION");
1310 cb
.addItem("EFI_SECTION_USER_INTERFACE");
1311 cb
.addItem("EFI_SECTION_DXE_DEPEX");
1312 cb
.addItem("EFI_SECTION_PEI_DEPEX");
1313 cb
.addItem("EFI_SECTION_PE32");
1314 cb
.addItem("EFI_SECTION_PIC");
1315 cb
.addItem("EFI_SECTION_TE");
1316 cb
.addItem("EFI_SECTION_RAW");
1317 cb
.addItem("EFI_SECTION_COMPRESSION");
1318 cb
.addItem("EFI_SECTION_GUID_DEFINED");
1319 cb
.addItem("EFI_SECTION_COMPATIBILITY16");
1320 cb
.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");
1321 jTable1
.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb
));
1323 jTable1
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1325 jTable1
.getModel().addTableModelListener(new TableModelListener() {
1326 public void tableChanged(TableModelEvent arg0
) {
1327 // TODO Auto-generated method stub
1328 if (jTable
.getSelectedRow() < 0) {
1331 int row
= arg0
.getFirstRow();
1332 TableModel m
= (TableModel
)arg0
.getSource();
1333 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1334 //ToDo Data Validition check.
1335 String type
= m
.getValueAt(row
, 0) + "";
1336 docConsole
.setSaved(false);
1337 ffc
.updateBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), row
, type
);
1346 * This method initializes jScrollPane3
1348 * @return javax.swing.JScrollPane
1350 private JScrollPane
getJScrollPane3() {
1351 if (jScrollPane3
== null) {
1352 jScrollPane3
= new JScrollPane();
1353 jScrollPane3
.setPreferredSize(new java
.awt
.Dimension(500,90));
1354 jScrollPane3
.setViewportView(getJTable3());
1356 return jScrollPane3
;
1360 * This method initializes jTable3
1362 * @return javax.swing.JTable
1364 private JTable
getJTable3() {
1365 if (jTable3
== null) {
1366 subsectionsTableModel
= new DefaultTableModel();
1367 subsectionsTableModel
.addColumn("SectionType");
1368 jTable3
= new JTable(subsectionsTableModel
);
1369 jTable3
.setRowHeight(20);
1370 JComboBox cb
= new JComboBox();
1371 cb
.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");
1372 cb
.addItem("EFI_SECTION_VERSION");
1373 cb
.addItem("EFI_SECTION_USER_INTERFACE");
1374 cb
.addItem("EFI_SECTION_DXE_DEPEX");
1375 cb
.addItem("EFI_SECTION_PEI_DEPEX");
1376 cb
.addItem("EFI_SECTION_PE32");
1377 cb
.addItem("EFI_SECTION_PIC");
1378 cb
.addItem("EFI_SECTION_TE");
1379 cb
.addItem("EFI_SECTION_RAW");
1380 cb
.addItem("EFI_SECTION_COMPRESSION");
1381 cb
.addItem("EFI_SECTION_GUID_DEFINED");
1382 cb
.addItem("EFI_SECTION_COMPATIBILITY16");
1383 cb
.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");
1384 jTable3
.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb
));
1385 jTable3
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1387 jTable3
.getModel().addTableModelListener(new TableModelListener() {
1388 public void tableChanged(TableModelEvent arg0
) {
1389 // TODO Auto-generated method stub
1390 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1393 int row
= arg0
.getFirstRow();
1394 TableModel m
= (TableModel
)arg0
.getSource();
1395 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1396 //ToDo Data Validition check.
1397 String type
= m
.getValueAt(row
, 0) + "";
1398 docConsole
.setSaved(false);
1399 ffc
.updateBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), row
, type
);
1408 * This method initializes jTextField
1410 * @return javax.swing.JTextField
1412 private JTextField
getJTextField() {
1413 if (jTextField
== null) {
1414 jTextField
= new JTextField();
1415 jTextField
.setPreferredSize(new java
.awt
.Dimension(100,20));
1416 jTextField
.addFocusListener(new java
.awt
.event
.FocusAdapter() {
1417 public void focusLost(java
.awt
.event
.FocusEvent e
) {
1418 if (jTable
.getSelectedRow() < 0) {
1421 ffc
.updateBuildOptionsFfsSectionsType(jTable
.getSelectedRow(), jTextField
.getText());
1429 * This method initializes jPanel4
1431 * @return javax.swing.JPanel
1433 private JPanel
getJPanel4() {
1434 if (jPanel4
== null) {
1435 jPanel4
= new JPanel();
1436 jPanel4
.setPreferredSize(new java
.awt
.Dimension(100,100));
1437 jPanel4
.add(getJButton17(), null);
1438 jPanel4
.add(getJButton18(), null);
1444 * This method initializes jButton
1446 * @return javax.swing.JButton
1448 private JButton
getJButton() {
1449 if (jButton
== null) {
1450 jButton
= new JButton();
1451 jButton
.setPreferredSize(new java
.awt
.Dimension(80,20));
1452 jButton
.setText("New");
1453 jButton
.addActionListener(new java
.awt
.event
.ActionListener() {
1454 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1455 if (jTable
.getSelectedRow() < 0) {
1458 docConsole
.setSaved(false);
1459 String
[] row
= {"EFI_SECTION_RAW"};
1460 sectionTableModel
.addRow(row
);
1461 ffc
.genBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), row
[0]);
1469 * This method initializes jButton1
1471 * @return javax.swing.JButton
1473 private JButton
getJButton1() {
1474 if (jButton1
== null) {
1475 jButton1
= new JButton();
1476 jButton1
.setPreferredSize(new java
.awt
.Dimension(80,20));
1477 jButton1
.setText("Remove");
1479 jButton1
.addActionListener(new java
.awt
.event
.ActionListener() {
1480 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1481 if (jTable
.getSelectedRow() < 0 || jTable1
.getSelectedRow() < 0) {
1484 docConsole
.setSaved(false);
1485 sectionTableModel
.removeRow(jTable1
.getSelectedRow());
1486 ffc
.removeBuildOptionsFfsSectionsSection(jTable
.getSelectedRow(), jTable1
.getSelectedRow());
1494 * This method initializes jButton2
1496 * @return javax.swing.JButton
1498 private JButton
getJButton2() {
1499 if (jButton2
== null) {
1500 jButton2
= new JButton();
1501 jButton2
.setPreferredSize(new java
.awt
.Dimension(80,20));
1502 jButton2
.setText("New");
1503 jButton2
.addActionListener(new java
.awt
.event
.ActionListener() {
1504 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1505 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1508 docConsole
.setSaved(false);
1509 String
[] row
= {"EFI_SECTION_RAW"};
1510 subsectionsTableModel
.addRow(row
);
1511 ffc
.genBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), row
[0]);
1520 * This method initializes jButton3
1522 * @return javax.swing.JButton
1524 private JButton
getJButton3() {
1525 if (jButton3
== null) {
1526 jButton3
= new JButton();
1527 jButton3
.setPreferredSize(new java
.awt
.Dimension(80,20));
1528 jButton3
.setText("Remove");
1529 jButton3
.addActionListener(new java
.awt
.event
.ActionListener() {
1530 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1531 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0 || jTable3
.getSelectedRow() < 0) {
1534 docConsole
.setSaved(false);
1535 subsectionsTableModel
.removeRow(jTable3
.getSelectedRow());
1536 ffc
.removeBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), jTable6
.getSelectedRow(), jTable3
.getSelectedRow());
1544 * This method initializes jButton6
1546 * @return javax.swing.JButton
1548 private JButton
getJButton6() {
1549 if (jButton6
== null) {
1550 jButton6
= new JButton();
1551 jButton6
.setPreferredSize(new java
.awt
.Dimension(80,20));
1552 jButton6
.setText("New");
1553 jButton6
.addActionListener(new java
.awt
.event
.ActionListener() {
1554 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1555 if (jTable
.getSelectedRow() < 0) {
1558 docConsole
.setSaved(false);
1559 String
[] row
= {""};
1560 sectionsTableModel
.addRow(row
);
1561 ffc
.genBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), "");
1569 * This method initializes jButton7
1571 * @return javax.swing.JButton
1573 private JButton
getJButton7() {
1574 if (jButton7
== null) {
1575 jButton7
= new JButton();
1576 jButton7
.setPreferredSize(new java
.awt
.Dimension(80,20));
1577 jButton7
.setText("Remove");
1578 jButton7
.addActionListener(new java
.awt
.event
.ActionListener() {
1579 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1580 if (jTable
.getSelectedRow() < 0 || jTable6
.getSelectedRow() < 0) {
1583 docConsole
.setSaved(false);
1584 sectionsTableModel
.removeRow(jTable6
.getSelectedRow());
1585 ffc
.removeBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), jTable6
.getSelectedRow());
1593 * This method initializes jScrollPane4
1595 * @return javax.swing.JScrollPane
1597 private JScrollPane
getJScrollPane4() {
1598 if (jScrollPane4
== null) {
1599 jScrollPane4
= new JScrollPane();
1600 jScrollPane4
.setPreferredSize(new java
.awt
.Dimension(500,80));
1601 jScrollPane4
.setViewportView(getJTable6());
1603 return jScrollPane4
;
1607 * This method initializes jTable6
1609 * @return javax.swing.JTable
1611 private JTable
getJTable6() {
1612 if (jTable6
== null) {
1613 sectionsTableModel
= new DefaultTableModel();
1614 sectionsTableModel
.addColumn("EncapsulationType");
1615 jTable6
= new JTable(sectionsTableModel
);
1616 jTable6
.setRowHeight(20);
1617 jTable6
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1618 jTable6
.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
1619 public void valueChanged(ListSelectionEvent e
) {
1620 if (e
.getValueIsAdjusting()){
1623 ListSelectionModel lsm
= (ListSelectionModel
)e
.getSource();
1624 if (lsm
.isSelectionEmpty()) {
1628 int sectionsRow
= lsm
.getMinSelectionIndex();
1629 if (jTable
.getSelectedRow() < 0) {
1632 subsectionsTableModel
.setRowCount(0);
1633 ArrayList
<String
> al
= new ArrayList
<String
>();
1634 ffc
.getBuildOptionsFfsSectionsSectionsSection(jTable
.getSelectedRow(), sectionsRow
, al
);
1635 for (int i
= 0; i
< al
.size(); ++i
) {
1636 String
[] subsectionRow
= {al
.get(i
)};
1637 subsectionsTableModel
.addRow(subsectionRow
);
1643 jTable6
.getModel().addTableModelListener(new TableModelListener() {
1644 public void tableChanged(TableModelEvent arg0
) {
1645 // TODO Auto-generated method stub
1646 int row
= arg0
.getFirstRow();
1647 TableModel m
= (TableModel
)arg0
.getSource();
1648 if (arg0
.getType() == TableModelEvent
.UPDATE
){
1649 //ToDo Data Validition check.
1650 String encapType
= m
.getValueAt(row
, 0) + "";
1651 docConsole
.setSaved(false);
1652 ffc
.updateBuildOptionsFfsSectionsSections(jTable
.getSelectedRow(), row
, encapType
);
1663 public static void main(String
[] args
) {
1664 // TODO Auto-generated method stub
1665 new FpdBuildOptions().setVisible(true);
1669 * This is the default constructor
1671 public FpdBuildOptions() {
1674 this.setVisible(true);
1677 public FpdBuildOptions(PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
) {
1679 ffc
= new FpdFileContents(fpd
);
1683 public FpdBuildOptions(OpeningPlatformType opt
) {
1684 this(opt
.getXmlFpd());
1688 private void init(FpdFileContents ffc
) {
1692 this.addInternalFrameListener(new InternalFrameAdapter(){
1693 public void internalFrameDeactivated(InternalFrameEvent e
){
1694 if (jTable
.isEditing()) {
1695 jTable
.getCellEditor().stopCellEditing();
1697 if (jTable1
.isEditing()) {
1698 jTable1
.getCellEditor().stopCellEditing();
1700 if (jTable2
.isEditing()) {
1701 jTable2
.getCellEditor().stopCellEditing();
1703 if (jTable3
.isEditing()) {
1704 jTable3
.getCellEditor().stopCellEditing();
1706 if (jTable4
.isEditing()) {
1707 jTable4
.getCellEditor().stopCellEditing();
1709 if (jTable5
.isEditing()) {
1710 jTable5
.getCellEditor().stopCellEditing();
1716 private void initOptionTable() {
1717 if (ffc
.getBuildOptionsOptCount() == 0) {
1718 //ToDo get default options from *.txt file
1721 String
[][] saa
= new String
[ffc
.getBuildOptionsOptCount()][6];
1722 ffc
.getBuildOptionsOpts(saa
);
1723 for (int i
= 0; i
< saa
.length
; ++i
) {
1724 optionsTableModel
.addRow(saa
[i
]);
1728 private void initAntTaskTable() {
1729 if (ffc
.getBuildOptionsUserDefAntTaskCount() == 0) {
1732 String
[][] saa
= new String
[ffc
.getBuildOptionsUserDefAntTaskCount()][3];
1733 ffc
.getBuildOptionsUserDefAntTasks(saa
);
1734 for (int i
= 0; i
< saa
.length
; ++i
) {
1735 antTaskTableModel
.addRow(saa
[i
]);
1739 private void initFfsTable(){
1740 int ffsCount
= ffc
.getBuildOptionsFfsCount();
1744 String
[][] saa
= new String
[ffsCount
][1];
1745 ffc
.getBuildOptionsFfsKey(saa
);
1746 for (int i
= 0; i
< saa
.length
; ++i
) {
1747 ffsTableModel
.addRow(saa
[i
]);
1751 * This method initializes this
1755 private void initialize() {
1756 this.setSize(722, 577);
1757 this.setTitle("FPD Build Options");
1758 this.setContentPane(getJContentPane());
1762 * This method initializes jContentPane
1764 * @return javax.swing.JPanel
1766 private JPanel
getJContentPane() {
1767 if (jContentPane
== null) {
1768 jContentPane
= new JPanel();
1769 jContentPane
.setLayout(new BorderLayout());
1770 jContentPane
.add(getJPanel(), java
.awt
.BorderLayout
.SOUTH
);
1771 jContentPane
.add(getJPanel1(), java
.awt
.BorderLayout
.NORTH
);
1772 jContentPane
.add(getJPanel2(), java
.awt
.BorderLayout
.WEST
);
1773 jContentPane
.add(getJPanel3(), java
.awt
.BorderLayout
.EAST
);
1774 jContentPane
.add(getJTabbedPane(), java
.awt
.BorderLayout
.CENTER
);
1776 return jContentPane
;
1779 } // @jve:decl-index=0:visual-constraint="10,10"