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
;
27 import java
.awt
.event
.ComponentEvent
;
29 import javax
.swing
.DefaultCellEditor
;
30 import javax
.swing
.JFileChooser
;
31 import javax
.swing
.JFrame
;
32 import javax
.swing
.JOptionPane
;
33 import javax
.swing
.JTextField
;
34 import javax
.swing
.JButton
;
35 import javax
.swing
.JScrollPane
;
36 import javax
.swing
.JTable
;
37 import javax
.swing
.JComboBox
;
38 import javax
.swing
.ListSelectionModel
;
39 import javax
.swing
.event
.InternalFrameAdapter
;
40 import javax
.swing
.event
.InternalFrameEvent
;
41 import javax
.swing
.event
.ListSelectionEvent
;
42 import javax
.swing
.event
.ListSelectionListener
;
43 import javax
.swing
.event
.TableModelEvent
;
44 import javax
.swing
.event
.TableModelListener
;
45 import javax
.swing
.table
.DefaultTableModel
;
46 import javax
.swing
.table
.TableModel
;
48 import org
.tianocore
.PlatformSurfaceAreaDocument
;
49 import org
.tianocore
.frameworkwizard
.common
.DataValidation
;
50 import org
.tianocore
.frameworkwizard
.common
.Tools
;
51 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformType
;
52 import org
.tianocore
.frameworkwizard
.common
.ui
.IInternalFrame
;
55 import java
.util
.ArrayList
;
56 import java
.util
.Iterator
;
57 import java
.util
.LinkedHashMap
;
59 import java
.util
.Vector
;
60 import java
.awt
.Dimension
;
61 import javax
.swing
.JSplitPane
;
62 import java
.awt
.GridLayout
;
64 public class FpdBuildOptions
extends IInternalFrame
{
66 private final int oneRowHeight
= 20;
68 private final int twoRowHeight
= 40;
70 private final int sepHeight
= 6;
72 private final int sepWidth
= 10;
74 private final int buttonWidth
= 90;
76 private final int rowOne
= 12;
78 private final int dialogWidth
= 600;
80 private final int rowTwo
= rowOne
+ oneRowHeight
+ sepHeight
;
82 private final int rowThree
= rowTwo
+ oneRowHeight
+ sepHeight
;
84 private final int rowFour
= rowThree
+ oneRowHeight
+ sepHeight
;
86 private final int rowFive
= rowFour
+ oneRowHeight
+ sepHeight
;
88 private final int rowSix
= rowFive
+ oneRowHeight
+ sepHeight
;
90 private final int rowSeven
= rowSix
+ oneRowHeight
+ sepHeight
;
92 private final int buttonRow
= rowSeven
+ oneRowHeight
+ sepHeight
+ sepHeight
;
94 private final int dialogHeight
= buttonRow
+ twoRowHeight
+ twoRowHeight
;
96 private final int lastButtonXLoc
= dialogWidth
- buttonWidth
- sepWidth
;
98 private final int next2LastButtonLoc
= lastButtonXLoc
- buttonWidth
- sepWidth
;
100 private final int firstButtonLoc
= next2LastButtonLoc
- buttonWidth
- sepWidth
;
102 private final int labelColumn
= 12;
104 private final int fieldColumn
= 168;
106 private final int labelWidth
= 155;
108 private final int fieldWidth
= 320;
110 private static final long serialVersionUID
= 1L;
114 private JPanel jContentPane
= null;
116 // private JPanel jPanelContentSouth = null;
118 // private JPanel jPanelContentNorth = null;
120 // private JPanel jPanelContentWest = null;
122 // private JPanel jPanelContentEast = null;
124 private JTabbedPane jTabbedPane
= null;
126 private JPanel jPanelUserDef
= null;
128 private JPanel jPanelUserDefNorth
= null;
130 private JPanel jPanelUserDefCenter
= null;
132 private JTextField jTextFieldAntTaskFile
= null;
134 private JLabel jLabelAntTaskId
= null;
136 private JTextField jTextFieldAntTaskId
= null;
138 private JButton jButtonAntTaskAdd
= null;
140 private JButton jButtonAntTaskDel
= null;
142 private JTextField jTextFieldAntCmdOpts
= null;
144 private JScrollPane jScrollPaneAntTasks
= null;
146 private JTable jTableAntTasks
= null;
148 private DefaultTableModel ffsTableModel
= null;
150 private DefaultTableModel sectionsTableModel
= null;
152 private DefaultTableModel sectionTableModel
= null;
154 private DefaultTableModel subsectionsTableModel
= null;
156 private DefaultTableModel antTaskTableModel
= null;
158 private DefaultTableModel ffsAttributesTableModel
= null;
160 private DefaultTableModel optionsTableModel
= null;
162 private JPanel jPanelFfsTab
= null;
164 private JPanel jPanelFfsTabCenter
= null;
166 private JPanel jPanelFfsTabCenterN
= null;
168 private JPanel jPanelFfsTabCenterS
= null;
170 private JLabel jLabelFfsKey
= null;
172 private JTextField jTextFieldFfsKey
= null;
174 private JButton jButtonFfsAdd
= null;
176 private JButton jButtonFfsDel
= null;
178 private JScrollPane jScrollPaneFfsAttribs
= null;
180 private JTable jTableFfsAttribs
= null;
182 private JPanel jPanelOptionsTab
= null;
184 private JLabel jLabelOptionContents
= null;
186 private JTextField jTextFieldOptionContents
= null;
188 private JLabel jLabelToolChainFamily
= null;
190 private JLabel jLabelSupArch
= null;
192 private JLabel jLabelToolCmd
= null;
194 private JTextField jTextFieldToolCmd
= null;
196 private JScrollPane jScrollPaneOptions
= null;
198 private JTable jTableOptions
= null;
200 private JButton jButtonOptionsAdd
= null;
202 private JButton jButtonOptionsDel
= null;
204 private JButton jButtonFfsAttribNew
= null;
206 private JButton jButtonFfsAttribRemove
= null;
208 private FpdFileContents ffc
= null;
210 private OpeningPlatformType docConsole
= null;
212 private JPanel jArchitectureSelections
= null;
214 private JCheckBox jCheckBoxIA32
= null;
216 private JCheckBox jCheckBoxIpf
= null;
218 private JCheckBox jCheckBoxX64
= null;
220 private JCheckBox jCheckBoxEBC
= null;
222 private JCheckBox jCheckBoxARM
= null;
224 private JCheckBox jCheckBoxPPC
= null;
226 private JLabel jLabelBuildTargets
= null;
228 private JTextField jTextFieldBuildTargets
= null;
230 private JTextField jTextFieldTagName
= null;
232 private JLabel jLabelTagName
= null;
234 private int selectedRow
= -1;
236 private JLabel jLabelAntTaskFile
= null;
238 private JLabel jLabelAntCmdOpts
= null;
240 private JScrollPane jScrollPaneFfs
= null;
242 private JTable jTableFfs
= null;
244 private JLabel jLabelFfsSection
= null;
246 private JScrollPane jScrollPaneFfsSection
= null;
248 private JTable jTableFfsSection
= null;
250 private JLabel jLabelFfsSubSections
= null;
252 private JScrollPane jScrollPaneFfsSubSection
= null;
254 private JTable jTableFfsSubSection
= null;
256 private JLabel jLabelEncapType
= null;
258 private JTextField jTextFieldEncapType
= null;
260 private JPanel jPanelFfsAttribButtonGroup
= null;
262 private JLabel jLabelFfsAttribs
= null;
264 private JButton jButtonFfsSectionNew
= null;
266 private JButton jButtonFfsSectionRemove
= null;
268 private JButton jButtonFfsSubSectionNew
= null;
270 private JButton jButtonFfsSubSectionRemove
= null;
272 private JLabel jLabelFfsSections
= null;
274 private JButton jButtonFfsSectionsNew
= null;
276 private JButton jButtonFfsSectionsRemove
= null;
278 private JScrollPane jScrollPaneFfsSections
= null;
280 private JTable jTableFfsSections
= null;
282 private JButton jButtonAntTaskFileBrowse
= null;
284 private JTextField jTextFieldToolChainFamily
= null;
286 private JSplitPane jSplitPaneFfsC
= null;
288 private JPanel jPanelFfsCTop
= null;
290 private JSplitPane jSplitPaneFfsCBottom
= null;
292 private JPanel jPanelFfsCBottomTop
= null;
294 private JPanel jPanelFfsCBottomBottom
= null;
296 private JPanel jPanelSectionN
= null;
298 private JPanel jPanelSectionsN
= null;
300 private JPanel jPanelSubSectionN
= null;
302 private JPanel jPanelOptionsContainer
= null;
304 private JPanel jPanelUserDefCenterN
= null;
306 private JPanel jPanelTableOptionsContainer
= null;
308 private JLabel jLabelTableOptionsTitle
= null;
311 * This method initializes jPanel
313 * @return javax.swing.JPanel
314 private JPanel getJPanelContentSouth() {
315 if (jPanelContentSouth == null) {
316 jPanelContentSouth = new JPanel();
318 return jPanelContentSouth;
323 * This method initializes jPanel1
325 * @return javax.swing.JPanel
326 private JPanel getJPanelContentNorth() {
327 if (jPanelContentNorth == null) {
328 jPanelContentNorth = new JPanel();
330 return jPanelContentNorth;
335 * This method initializes jPanel2
337 * @return javax.swing.JPanel
338 private JPanel getJPanelContentWest() {
339 if (jPanelContentWest == null) {
340 jPanelContentWest = new JPanel();
342 return jPanelContentWest;
347 * This method initializes jPanel3
349 * @return javax.swing.JPanel
350 private JPanel getJPanelContentEast() {
351 if (jPanelContentEast == null) {
352 jPanelContentEast = new JPanel();
354 return jPanelContentEast;
359 * This method initializes jTabbedPane
361 * @return javax.swing.JTabbedPane
363 private JTabbedPane
getJTabbedPane() {
364 if (jTabbedPane
== null) {
365 jTabbedPane
= new JTabbedPane();
366 jTabbedPane
.addTab("Flash Filesystem Options", null, getJPanelFfsTab(), null);
367 jTabbedPane
.addTab("Tool Arguments", null, getJPanelOptionsTab(), null);
368 jTabbedPane
.addTab("User Defined ANT Tasks", null, getJPanelUserDef(), null);
374 * This method initializes this
378 private void initialize() {
379 this.setSize(722, 577);
380 this.setTitle("Platform Build Options");
381 this.setContentPane(getJContentPane());
385 * This method initializes jContentPane
387 * @return javax.swing.JPanel
389 private JPanel
getJContentPane() {
390 if (jContentPane
== null) {
391 jContentPane
= new JPanel();
392 jContentPane
.setLayout(new BorderLayout());
393 // jContentPane.add(getJPanelContentSouth(), java.awt.BorderLayout.SOUTH);
394 // jContentPane.add(getJPanelContentNorth(), java.awt.BorderLayout.NORTH);
395 // jContentPane.add(getJPanelContentWest(), java.awt.BorderLayout.WEST);
396 // jContentPane.add(getJPanelContentEast(), java.awt.BorderLayout.EAST);
397 jContentPane
.add(getJTabbedPane(), java
.awt
.BorderLayout
.CENTER
);
403 * This method initializes jPanelTableOptionsContainer
405 * @return javax.swing.JPanel
407 private JPanel
getJPanelTableOptionsContainer() {
408 if (jPanelTableOptionsContainer
== null) {
409 jLabelTableOptionsTitle
= new JLabel();
410 jLabelTableOptionsTitle
.setText(" Current Option Configuration Lines");
411 jPanelTableOptionsContainer
= new JPanel();
412 jPanelTableOptionsContainer
.setLayout(new BorderLayout());
413 jPanelTableOptionsContainer
.add(jLabelTableOptionsTitle
, java
.awt
.BorderLayout
.NORTH
);
414 jPanelTableOptionsContainer
.add(getJScrollPaneOptions(), java
.awt
.BorderLayout
.CENTER
);
416 return jPanelTableOptionsContainer
;
422 public static void main(String
[] args
) {
423 // TODO Auto-generated method stub
424 new FpdBuildOptions().setVisible(true);
428 * This is the default constructor
430 public FpdBuildOptions() {
433 this.setVisible(true);
436 public FpdBuildOptions(PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
) {
438 ffc
= new FpdFileContents(fpd
);
442 public FpdBuildOptions(OpeningPlatformType opt
) {
443 this(opt
.getXmlFpd());
447 private void init(FpdFileContents ffc
) {
451 this.addInternalFrameListener(new InternalFrameAdapter() {
452 public void internalFrameDeactivated(InternalFrameEvent e
) {
453 if (jTableFfs
.isEditing()) {
454 jTableFfs
.getCellEditor().stopCellEditing();
456 if (jTableFfsSection
.isEditing()) {
457 jTableFfsSection
.getCellEditor().stopCellEditing();
459 if (jTableAntTasks
.isEditing()) {
460 jTableAntTasks
.getCellEditor().stopCellEditing();
462 if (jTableFfsSubSection
.isEditing()) {
463 jTableFfsSubSection
.getCellEditor().stopCellEditing();
465 if (jTableFfsAttribs
.isEditing()) {
466 jTableFfsAttribs
.getCellEditor().stopCellEditing();
468 if (jTableOptions
.isEditing()) {
469 jTableOptions
.getCellEditor().stopCellEditing();
476 * This method initializes jPanel13
478 * @return javax.swing.JPanel
480 private JPanel
getJPanelFfsTab() {
481 if (jPanelFfsTab
== null) {
482 jPanelFfsTab
= new JPanel();
483 jPanelFfsTab
.setLayout(new BorderLayout());
484 jPanelFfsTab
.add(getJPanelFfsTabCenter(), java
.awt
.BorderLayout
.CENTER
);
485 jPanelFfsTab
.add(getJScrollPaneFfs(), java
.awt
.BorderLayout
.WEST
);
491 * This method initializes jPanel18
493 * @return javax.swing.JPanel
495 private JPanel
getJPanelFfsTabCenter() {
496 if (jPanelFfsTabCenter
== null) {
497 jPanelFfsTabCenter
= new JPanel();
498 jPanelFfsTabCenter
.setLayout(new BorderLayout());
499 jPanelFfsTabCenter
.add(getJPanelFfsTabCenterN(), java
.awt
.BorderLayout
.NORTH
);
500 jPanelFfsTabCenter
.add(getJPanelFfsTabCenterS(), java
.awt
.BorderLayout
.SOUTH
);
501 jPanelFfsTabCenter
.add(getJSplitPaneFfsC(), java
.awt
.BorderLayout
.CENTER
);
503 return jPanelFfsTabCenter
;
507 * This method initializes jPanel15
509 * @return javax.swing.JPanel
511 private JPanel
getJPanelFfsTabCenterN() {
512 if (jPanelFfsTabCenterN
== null) {
513 jLabelEncapType
= new JLabel();
514 jLabelEncapType
.setText("Encapsulation Type");
515 FlowLayout flowLayout5
= new FlowLayout();
516 flowLayout5
.setAlignment(java
.awt
.FlowLayout
.RIGHT
);
517 jLabelFfsKey
= new JLabel();
518 jLabelFfsKey
.setText("FFS Key");
519 jPanelFfsTabCenterN
= new JPanel();
520 jPanelFfsTabCenterN
.setLayout(flowLayout5
);
521 jPanelFfsTabCenterN
.add(jLabelFfsKey
, null);
522 jPanelFfsTabCenterN
.add(getJTextFieldFfsKey(), null);
523 jPanelFfsTabCenterN
.add(jLabelEncapType
, null);
524 jPanelFfsTabCenterN
.add(getJTextFieldEncapType(), null);
525 jPanelFfsTabCenterN
.add(getJButtonFfsAdd(), null);
526 jPanelFfsTabCenterN
.add(getJButtonFfsDel(), null);
528 return jPanelFfsTabCenterN
;
532 * This method initializes jPanel16
534 * @return javax.swing.JPanel
536 private JPanel
getJPanelFfsTabCenterS() {
537 if (jPanelFfsTabCenterS
== null) {
538 jLabelFfsAttribs
= new JLabel();
539 jLabelFfsAttribs
.setText("Attributes");
540 FlowLayout flowLayout6
= new FlowLayout();
541 flowLayout6
.setHgap(5);
542 flowLayout6
.setVgap(20);
543 flowLayout6
.setAlignment(java
.awt
.FlowLayout
.CENTER
);
544 jPanelFfsTabCenterS
= new JPanel();
545 jPanelFfsTabCenterS
.setPreferredSize(new java
.awt
.Dimension(491, 130));
546 jPanelFfsTabCenterS
.setLayout(flowLayout6
);
547 jPanelFfsTabCenterS
.add(jLabelFfsAttribs
, null);
548 jPanelFfsTabCenterS
.add(getJScrollPaneFfsAttribs(), null);
549 jPanelFfsTabCenterS
.add(getJPanelFfsAttribButtonGroup(), null);
551 return jPanelFfsTabCenterS
;
555 * This method initializes jTextField6
557 * @return javax.swing.JTextField
559 private JTextField
getJTextFieldFfsKey() {
560 if (jTextFieldFfsKey
== null) {
561 jTextFieldFfsKey
= new JTextField();
562 jTextFieldFfsKey
.setPreferredSize(new java
.awt
.Dimension(100, 20));
563 jTextFieldFfsKey
.setEditable(true);
564 jTextFieldFfsKey
.addFocusListener(new java
.awt
.event
.FocusAdapter() {
565 public void focusLost(java
.awt
.event
.FocusEvent e
) {
566 if (jTableFfs
.getSelectedRow() < 0) {
569 // ffc.updateBuildOptionsFfsKey(jTable.getSelectedRow(), jTextField6.getText());
573 return jTextFieldFfsKey
;
577 * This method initializes jButton8
579 * @return javax.swing.JButton
581 private JButton
getJButtonFfsAdd() {
582 if (jButtonFfsAdd
== null) {
583 jButtonFfsAdd
= new JButton();
584 jButtonFfsAdd
.setPreferredSize(new java
.awt
.Dimension(70, 20));
585 jButtonFfsAdd
.setText("Add");
586 jButtonFfsAdd
.addActionListener(new AbstractAction() {
590 private static final long serialVersionUID
= -2923720717273384221L;
592 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
593 if (jTextFieldFfsKey
.getText().length() > 0) {
594 String
[] row
= { jTextFieldFfsKey
.getText() };
595 ffsTableModel
.addRow(row
);
596 docConsole
.setSaved(false);
597 ffc
.genBuildOptionsFfs(jTextFieldFfsKey
.getText(), jTextFieldEncapType
.getText());
602 return jButtonFfsAdd
;
606 * This method initializes jButton9
608 * @return javax.swing.JButton
610 private JButton
getJButtonFfsDel() {
611 if (jButtonFfsDel
== null) {
612 jButtonFfsDel
= new JButton();
613 jButtonFfsDel
.setPreferredSize(new java
.awt
.Dimension(70, 20));
614 jButtonFfsDel
.setText("Delete");
615 jButtonFfsDel
.addActionListener(new AbstractAction() {
619 private static final long serialVersionUID
= -4002678939178194476L;
621 public void actionPerformed(ActionEvent arg0
) {
622 if (jTableFfs
.getSelectedRow() < 0) {
625 docConsole
.setSaved(false);
626 ffc
.removeBuildOptionsFfs(jTableFfs
.getSelectedRow());
627 ffsTableModel
.removeRow(jTableFfs
.getSelectedRow());
631 return jButtonFfsDel
;
635 * This method initializes jScrollPane5
637 * @return javax.swing.JScrollPane
639 private JScrollPane
getJScrollPaneFfsAttribs() {
640 if (jScrollPaneFfsAttribs
== null) {
641 jScrollPaneFfsAttribs
= new JScrollPane();
642 jScrollPaneFfsAttribs
.setPreferredSize(new java
.awt
.Dimension(350, 100));
643 jScrollPaneFfsAttribs
.setViewportView(getJTableFfsAttribs());
645 return jScrollPaneFfsAttribs
;
649 * This method initializes jTable4
651 * @return javax.swing.JTable
653 private JTable
getJTableFfsAttribs() {
654 if (jTableFfsAttribs
== null) {
655 ffsAttributesTableModel
= new DefaultTableModel();
656 jTableFfsAttribs
= new JTable(ffsAttributesTableModel
);
657 jTableFfsAttribs
.setPreferredSize(new java
.awt
.Dimension(400, 80));
658 jTableFfsAttribs
.setRowHeight(20);
659 ffsAttributesTableModel
.addColumn("Name");
660 ffsAttributesTableModel
.addColumn("Value");
662 jTableFfsAttribs
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
663 jTableFfsAttribs
.getModel().addTableModelListener(new TableModelListener() {
664 public void tableChanged(TableModelEvent arg0
) {
665 // TODO Auto-generated method stub
666 int row
= arg0
.getFirstRow();
667 TableModel m
= (TableModel
) arg0
.getSource();
668 if (arg0
.getType() == TableModelEvent
.UPDATE
) {
669 //ToDo Data Validition check.
670 String name
= m
.getValueAt(row
, 0) + "";
671 String value
= m
.getValueAt(row
, 1) + "";
673 if (name
.length() == 0) {
676 if (value
.length() == 0) {
679 docConsole
.setSaved(false);
680 ffc
.updateBuildOptionsFfsAttribute(jTableFfs
.getSelectedRow(), row
, name
, value
);
685 return jTableFfsAttribs
;
688 private void initFfsTable() {
689 int ffsCount
= ffc
.getBuildOptionsFfsCount();
693 String
[][] saa
= new String
[ffsCount
][1];
694 ffc
.getBuildOptionsFfsKey(saa
);
695 for (int i
= 0; i
< saa
.length
; ++i
) {
696 ffsTableModel
.addRow(saa
[i
]);
701 * This method initializes jButton17
703 * @return javax.swing.JButton
705 private JButton
getJButtonFfsAttribNew() {
706 if (jButtonFfsAttribNew
== null) {
707 jButtonFfsAttribNew
= new JButton();
708 jButtonFfsAttribNew
.setPreferredSize(new java
.awt
.Dimension(80, 20));
709 jButtonFfsAttribNew
.setText("New");
710 jButtonFfsAttribNew
.addActionListener(new AbstractAction() {
714 private static final long serialVersionUID
= 1L;
716 public void actionPerformed(ActionEvent arg0
) {
717 if (jTableFfs
.getSelectedRow() < 0) {
720 Object
[] o
= { "", "" };
721 ffsAttributesTableModel
.addRow(o
);
722 docConsole
.setSaved(false);
723 ffc
.genBuildOptionsFfsAttribute(jTableFfs
.getSelectedRow(), "", "");
727 return jButtonFfsAttribNew
;
731 * This method initializes jButton18
733 * @return javax.swing.JButton
735 private JButton
getJButtonFfsAttribRemove() {
736 if (jButtonFfsAttribRemove
== null) {
737 jButtonFfsAttribRemove
= new JButton();
738 jButtonFfsAttribRemove
.setPreferredSize(new java
.awt
.Dimension(80, 20));
739 jButtonFfsAttribRemove
.setText("Remove");
740 jButtonFfsAttribRemove
.addActionListener(new AbstractAction() {
744 private static final long serialVersionUID
= 1L;
746 public void actionPerformed(ActionEvent arg0
) {
747 if (jTableFfs
.getSelectedRow() < 0) {
750 if (jTableFfsAttribs
.getSelectedRow() >= 0) {
751 docConsole
.setSaved(false);
752 ffsAttributesTableModel
.removeRow(jTableFfsAttribs
.getSelectedRow());
753 ffc
.removeBuildOptionsFfsAttribute(jTableFfs
.getSelectedRow(),
754 jTableFfsAttribs
.getSelectedRow());
759 return jButtonFfsAttribRemove
;
763 * This method initializes jScrollPane
765 * @return javax.swing.JScrollPane
767 private JScrollPane
getJScrollPaneFfs() {
768 if (jScrollPaneFfs
== null) {
769 jScrollPaneFfs
= new JScrollPane();
770 jScrollPaneFfs
.setPreferredSize(new java
.awt
.Dimension(150, 419));
771 jScrollPaneFfs
.setViewportView(getJTableFfs());
773 return jScrollPaneFfs
;
777 * This method initializes jTable
779 * @return javax.swing.JTable
781 private JTable
getJTableFfs() {
782 if (jTableFfs
== null) {
783 ffsTableModel
= new DefaultTableModel();
784 ffsTableModel
.addColumn("FFS Type");
785 jTableFfs
= new JTable(ffsTableModel
);
786 jTableFfs
.setShowGrid(false);
787 jTableFfs
.setRowHeight(20);
789 jTableFfs
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
790 jTableFfs
.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
791 public void valueChanged(ListSelectionEvent e
) {
793 if (e
.getValueIsAdjusting()) {
796 ListSelectionModel lsm
= (ListSelectionModel
) e
.getSource();
797 if (lsm
.isSelectionEmpty()) {
800 int row
= lsm
.getMinSelectionIndex();
801 sectionTableModel
.setRowCount(0);
802 sectionsTableModel
.setRowCount(0);
803 subsectionsTableModel
.setRowCount(0);
804 ffsAttributesTableModel
.setRowCount(0);
805 String
[] sArray
= { "", "" };
806 LinkedHashMap
<String
, String
> lhm
= new LinkedHashMap
<String
, String
>();
807 ArrayList
<String
> alSections
= new ArrayList
<String
>();
808 ArrayList
<String
> alSection
= new ArrayList
<String
>();
809 ffc
.getBuildOptionsFfs(row
, sArray
, lhm
, alSections
, alSection
);
810 jTextFieldFfsKey
.setText(sArray
[0]);
811 jTextFieldEncapType
.setText(sArray
[1]);
812 for (int i
= 0; i
< alSection
.size(); ++i
) {
813 String
[] sectionRow
= { alSection
.get(i
) };
814 sectionTableModel
.addRow(sectionRow
);
816 for (int j
= 0; j
< alSections
.size(); ++j
) {
817 String
[] sectionsRow
= { alSections
.get(j
) };
818 sectionsTableModel
.addRow(sectionsRow
);
820 if (lhm
.size() <= 0) {
823 Set
<String
> keySet
= lhm
.keySet();
824 Iterator
<String
> is
= keySet
.iterator();
825 while (is
.hasNext()) {
826 String key
= is
.next();
827 String
[] attribRow
= { key
, lhm
.get(key
) };
828 ffsAttributesTableModel
.addRow(attribRow
);
834 jTableFfs
.getModel().addTableModelListener(new TableModelListener() {
835 public void tableChanged(TableModelEvent arg0
) {
836 // TODO Auto-generated method stub
837 int row
= arg0
.getFirstRow();
838 TableModel m
= (TableModel
) arg0
.getSource();
839 if (arg0
.getType() == TableModelEvent
.UPDATE
) {
840 //ToDo Data Validition check.
841 String id
= m
.getValueAt(row
, 0) + "";
843 if (id
.length() == 0) {
846 docConsole
.setSaved(false);
847 ffc
.updateBuildOptionsFfsKey(row
, id
);
856 * This method initializes jScrollPane1
858 * @return javax.swing.JScrollPane
860 private JScrollPane
getJScrollPaneFfsSection() {
861 if (jScrollPaneFfsSection
== null) {
862 jScrollPaneFfsSection
= new JScrollPane();
863 // jScrollPaneFfsSection.setPreferredSize(new java.awt.Dimension(500, 80));
864 jScrollPaneFfsSection
.setViewportView(getJTableFfsSection());
866 return jScrollPaneFfsSection
;
870 * This method initializes jTable1
872 * @return javax.swing.JTable
874 private JTable
getJTableFfsSection() {
875 if (jTableFfsSection
== null) {
876 sectionTableModel
= new DefaultTableModel();
877 sectionTableModel
.addColumn("SectionType");
879 jTableFfsSection
= new JTable(sectionTableModel
);
880 jTableFfsSection
.setRowHeight(20);
881 JComboBox cb
= new JComboBox();
882 cb
.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");
883 cb
.addItem("EFI_SECTION_VERSION");
884 cb
.addItem("EFI_SECTION_USER_INTERFACE");
885 cb
.addItem("EFI_SECTION_DXE_DEPEX");
886 cb
.addItem("EFI_SECTION_PEI_DEPEX");
887 cb
.addItem("EFI_SECTION_PE32");
888 cb
.addItem("EFI_SECTION_PIC");
889 cb
.addItem("EFI_SECTION_TE");
890 cb
.addItem("EFI_SECTION_RAW");
891 cb
.addItem("EFI_SECTION_COMPRESSION");
892 cb
.addItem("EFI_SECTION_GUID_DEFINED");
893 cb
.addItem("EFI_SECTION_COMPATIBILITY16");
894 cb
.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");
895 jTableFfsSection
.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb
));
897 jTableFfsSection
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
899 jTableFfsSection
.getModel().addTableModelListener(new TableModelListener() {
900 public void tableChanged(TableModelEvent arg0
) {
901 // TODO Auto-generated method stub
902 if (jTableFfs
.getSelectedRow() < 0) {
905 int row
= arg0
.getFirstRow();
906 TableModel m
= (TableModel
) arg0
.getSource();
907 if (arg0
.getType() == TableModelEvent
.UPDATE
) {
908 //ToDo Data Validition check.
909 String type
= m
.getValueAt(row
, 0) + "";
910 docConsole
.setSaved(false);
911 ffc
.updateBuildOptionsFfsSectionsSection(jTableFfs
.getSelectedRow(), row
, type
);
916 return jTableFfsSection
;
920 * This method initializes jScrollPane3
922 * @return javax.swing.JScrollPane
924 private JScrollPane
getJScrollPaneFfsSubSection() {
925 if (jScrollPaneFfsSubSection
== null) {
926 jScrollPaneFfsSubSection
= new JScrollPane();
927 // jScrollPaneFfsSubSection.setPreferredSize(new java.awt.Dimension(500, 90));
928 jScrollPaneFfsSubSection
.setViewportView(getJTableFfsSubSection());
930 return jScrollPaneFfsSubSection
;
934 * This method initializes jTable3
936 * @return javax.swing.JTable
938 private JTable
getJTableFfsSubSection() {
939 if (jTableFfsSubSection
== null) {
940 subsectionsTableModel
= new DefaultTableModel();
941 subsectionsTableModel
.addColumn("SectionType");
942 jTableFfsSubSection
= new JTable(subsectionsTableModel
);
943 jTableFfsSubSection
.setRowHeight(20);
944 JComboBox cb
= new JComboBox();
945 cb
.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");
946 cb
.addItem("EFI_SECTION_VERSION");
947 cb
.addItem("EFI_SECTION_USER_INTERFACE");
948 cb
.addItem("EFI_SECTION_DXE_DEPEX");
949 cb
.addItem("EFI_SECTION_PEI_DEPEX");
950 cb
.addItem("EFI_SECTION_PE32");
951 cb
.addItem("EFI_SECTION_PIC");
952 cb
.addItem("EFI_SECTION_TE");
953 cb
.addItem("EFI_SECTION_RAW");
954 cb
.addItem("EFI_SECTION_COMPRESSION");
955 cb
.addItem("EFI_SECTION_GUID_DEFINED");
956 cb
.addItem("EFI_SECTION_COMPATIBILITY16");
957 cb
.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");
958 jTableFfsSubSection
.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb
));
959 jTableFfsSubSection
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
961 jTableFfsSubSection
.getModel().addTableModelListener(new TableModelListener() {
962 public void tableChanged(TableModelEvent arg0
) {
963 // TODO Auto-generated method stub
964 if (jTableFfs
.getSelectedRow() < 0 || jTableFfsSections
.getSelectedRow() < 0) {
967 int row
= arg0
.getFirstRow();
968 TableModel m
= (TableModel
) arg0
.getSource();
969 if (arg0
.getType() == TableModelEvent
.UPDATE
) {
970 //ToDo Data Validition check.
971 String type
= m
.getValueAt(row
, 0) + "";
972 docConsole
.setSaved(false);
973 ffc
.updateBuildOptionsFfsSectionsSectionsSection(jTableFfs
.getSelectedRow(),
974 jTableFfsSections
.getSelectedRow(), row
, type
);
979 return jTableFfsSubSection
;
983 * This method initializes jTextField
985 * @return javax.swing.JTextField
987 private JTextField
getJTextFieldEncapType() {
988 if (jTextFieldEncapType
== null) {
989 jTextFieldEncapType
= new JTextField();
990 jTextFieldEncapType
.setPreferredSize(new java
.awt
.Dimension(100, 20));
991 jTextFieldEncapType
.addFocusListener(new java
.awt
.event
.FocusAdapter() {
992 public void focusLost(java
.awt
.event
.FocusEvent e
) {
993 if (jTableFfs
.getSelectedRow() < 0) {
996 ffc
.updateBuildOptionsFfsSectionsType(jTableFfs
.getSelectedRow(), jTextFieldEncapType
.getText());
1000 return jTextFieldEncapType
;
1004 * This method initializes jPanel4
1006 * @return javax.swing.JPanel
1008 private JPanel
getJPanelFfsAttribButtonGroup() {
1009 if (jPanelFfsAttribButtonGroup
== null) {
1010 jPanelFfsAttribButtonGroup
= new JPanel();
1011 jPanelFfsAttribButtonGroup
.setPreferredSize(new java
.awt
.Dimension(100, 100));
1012 jPanelFfsAttribButtonGroup
.add(getJButtonFfsAttribNew(), null);
1013 jPanelFfsAttribButtonGroup
.add(getJButtonFfsAttribRemove(), null);
1015 return jPanelFfsAttribButtonGroup
;
1019 * This method initializes jButton
1021 * @return javax.swing.JButton
1023 private JButton
getJButtonFfsSectionNew() {
1024 if (jButtonFfsSectionNew
== null) {
1025 jButtonFfsSectionNew
= new JButton();
1026 jButtonFfsSectionNew
.setPreferredSize(new java
.awt
.Dimension(80, 20));
1027 jButtonFfsSectionNew
.setText("New");
1028 jButtonFfsSectionNew
.addActionListener(new java
.awt
.event
.ActionListener() {
1029 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1030 if (jTableFfs
.getSelectedRow() < 0) {
1033 docConsole
.setSaved(false);
1034 String
[] row
= { "EFI_SECTION_RAW" };
1035 sectionTableModel
.addRow(row
);
1036 ffc
.genBuildOptionsFfsSectionsSection(jTableFfs
.getSelectedRow(), row
[0]);
1040 return jButtonFfsSectionNew
;
1044 * This method initializes jButton1
1046 * @return javax.swing.JButton
1048 private JButton
getJButtonFfsSectionRemove() {
1049 if (jButtonFfsSectionRemove
== null) {
1050 jButtonFfsSectionRemove
= new JButton();
1051 jButtonFfsSectionRemove
.setPreferredSize(new java
.awt
.Dimension(80, 20));
1052 jButtonFfsSectionRemove
.setText("Remove");
1054 jButtonFfsSectionRemove
.addActionListener(new java
.awt
.event
.ActionListener() {
1055 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1056 if (jTableFfs
.getSelectedRow() < 0 || jTableFfsSection
.getSelectedRow() < 0) {
1059 docConsole
.setSaved(false);
1060 sectionTableModel
.removeRow(jTableFfsSection
.getSelectedRow());
1061 ffc
.removeBuildOptionsFfsSectionsSection(jTableFfs
.getSelectedRow(),
1062 jTableFfsSection
.getSelectedRow());
1066 return jButtonFfsSectionRemove
;
1070 * This method initializes jButton2
1072 * @return javax.swing.JButton
1074 private JButton
getJButtonFfsSubSectionNew() {
1075 if (jButtonFfsSubSectionNew
== null) {
1076 jButtonFfsSubSectionNew
= new JButton();
1077 jButtonFfsSubSectionNew
.setPreferredSize(new java
.awt
.Dimension(80, 20));
1078 jButtonFfsSubSectionNew
.setText("New");
1079 jButtonFfsSubSectionNew
.addActionListener(new java
.awt
.event
.ActionListener() {
1080 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1081 if (jTableFfs
.getSelectedRow() < 0 || jTableFfsSections
.getSelectedRow() < 0) {
1084 docConsole
.setSaved(false);
1085 String
[] row
= { "EFI_SECTION_RAW" };
1086 subsectionsTableModel
.addRow(row
);
1087 ffc
.genBuildOptionsFfsSectionsSectionsSection(jTableFfs
.getSelectedRow(),
1088 jTableFfsSections
.getSelectedRow(), row
[0]);
1093 return jButtonFfsSubSectionNew
;
1097 * This method initializes jButton3
1099 * @return javax.swing.JButton
1101 private JButton
getJButtonFfsSubSectionRemove() {
1102 if (jButtonFfsSubSectionRemove
== null) {
1103 jButtonFfsSubSectionRemove
= new JButton();
1104 jButtonFfsSubSectionRemove
.setPreferredSize(new java
.awt
.Dimension(80, 20));
1105 jButtonFfsSubSectionRemove
.setText("Remove");
1106 jButtonFfsSubSectionRemove
.addActionListener(new java
.awt
.event
.ActionListener() {
1107 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1108 if (jTableFfs
.getSelectedRow() < 0 || jTableFfsSections
.getSelectedRow() < 0
1109 || jTableFfsSubSection
.getSelectedRow() < 0) {
1112 docConsole
.setSaved(false);
1113 subsectionsTableModel
.removeRow(jTableFfsSubSection
.getSelectedRow());
1114 ffc
.removeBuildOptionsFfsSectionsSectionsSection(jTableFfs
.getSelectedRow(),
1115 jTableFfsSections
.getSelectedRow(),
1116 jTableFfsSubSection
.getSelectedRow());
1120 return jButtonFfsSubSectionRemove
;
1124 * This method initializes jButton6
1126 * @return javax.swing.JButton
1128 private JButton
getJButtonFfsSectionsNew() {
1129 if (jButtonFfsSectionsNew
== null) {
1130 jButtonFfsSectionsNew
= new JButton();
1131 jButtonFfsSectionsNew
.setPreferredSize(new java
.awt
.Dimension(80, 20));
1132 jButtonFfsSectionsNew
.setText("New");
1133 jButtonFfsSectionsNew
.addActionListener(new java
.awt
.event
.ActionListener() {
1134 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1135 if (jTableFfs
.getSelectedRow() < 0) {
1138 docConsole
.setSaved(false);
1139 String
[] row
= { "" };
1140 sectionsTableModel
.addRow(row
);
1141 ffc
.genBuildOptionsFfsSectionsSections(jTableFfs
.getSelectedRow(), "");
1145 return jButtonFfsSectionsNew
;
1149 * This method initializes jButton7
1151 * @return javax.swing.JButton
1153 private JButton
getJButtonFfsSectionsRemove() {
1154 if (jButtonFfsSectionsRemove
== null) {
1155 jButtonFfsSectionsRemove
= new JButton();
1156 jButtonFfsSectionsRemove
.setPreferredSize(new java
.awt
.Dimension(80, 20));
1157 jButtonFfsSectionsRemove
.setText("Remove");
1158 jButtonFfsSectionsRemove
.addActionListener(new java
.awt
.event
.ActionListener() {
1159 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1160 if (jTableFfs
.getSelectedRow() < 0 || jTableFfsSections
.getSelectedRow() < 0) {
1163 docConsole
.setSaved(false);
1164 sectionsTableModel
.removeRow(jTableFfsSections
.getSelectedRow());
1165 ffc
.removeBuildOptionsFfsSectionsSections(jTableFfs
.getSelectedRow(),
1166 jTableFfsSections
.getSelectedRow());
1170 return jButtonFfsSectionsRemove
;
1173 private JScrollPane
getJScrollPaneFfsSections() {
1174 if (jScrollPaneFfsSections
== null) {
1175 jScrollPaneFfsSections
= new JScrollPane();
1176 // jScrollPaneFfsSections.setPreferredSize(new java.awt.Dimension(500, 80));
1177 jScrollPaneFfsSections
.setViewportView(getJTableFfsSections());
1179 return jScrollPaneFfsSections
;
1183 * This method initializes jTable6
1185 * @return javax.swing.JTable
1187 private JTable
getJTableFfsSections() {
1188 if (jTableFfsSections
== null) {
1189 sectionsTableModel
= new DefaultTableModel();
1190 sectionsTableModel
.addColumn("EncapsulationType");
1191 jTableFfsSections
= new JTable(sectionsTableModel
);
1192 jTableFfsSections
.setRowHeight(20);
1193 jTableFfsSections
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1194 jTableFfsSections
.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
1195 public void valueChanged(ListSelectionEvent e
) {
1196 if (e
.getValueIsAdjusting()) {
1199 ListSelectionModel lsm
= (ListSelectionModel
) e
.getSource();
1200 if (lsm
.isSelectionEmpty()) {
1203 int sectionsRow
= lsm
.getMinSelectionIndex();
1204 if (jTableFfs
.getSelectedRow() < 0) {
1207 subsectionsTableModel
.setRowCount(0);
1208 ArrayList
<String
> al
= new ArrayList
<String
>();
1209 ffc
.getBuildOptionsFfsSectionsSectionsSection(jTableFfs
.getSelectedRow(), sectionsRow
, al
);
1210 for (int i
= 0; i
< al
.size(); ++i
) {
1211 String
[] subsectionRow
= { al
.get(i
) };
1212 subsectionsTableModel
.addRow(subsectionRow
);
1218 jTableFfsSections
.getModel().addTableModelListener(new TableModelListener() {
1219 public void tableChanged(TableModelEvent arg0
) {
1220 // TODO Auto-generated method stub
1221 int row
= arg0
.getFirstRow();
1222 TableModel m
= (TableModel
) arg0
.getSource();
1223 if (arg0
.getType() == TableModelEvent
.UPDATE
) {
1224 //ToDo Data Validition check.
1225 String encapType
= m
.getValueAt(row
, 0) + "";
1226 docConsole
.setSaved(false);
1227 ffc
.updateBuildOptionsFfsSectionsSections(jTableFfs
.getSelectedRow(), row
, encapType
);
1232 return jTableFfsSections
;
1236 * This method initializes jSplitPaneFfsC
1238 * @return javax.swing.JSplitPane
1240 private JSplitPane
getJSplitPaneFfsC() {
1241 if (jSplitPaneFfsC
== null) {
1242 jSplitPaneFfsC
= new JSplitPane();
1243 jSplitPaneFfsC
.setOrientation(javax
.swing
.JSplitPane
.VERTICAL_SPLIT
);
1244 jSplitPaneFfsC
.setDividerLocation(130);
1245 jSplitPaneFfsC
.setTopComponent(getJPanelFfsCTop());
1246 jSplitPaneFfsC
.setBottomComponent(getJSplitPaneFfsCBottom());
1247 jSplitPaneFfsC
.setDividerSize(5);
1249 return jSplitPaneFfsC
;
1253 * This method initializes jPanelFfsCTop
1255 * @return javax.swing.JPanel
1257 private JPanel
getJPanelFfsCTop() {
1258 if (jPanelFfsCTop
== null) {
1259 jPanelFfsCTop
= new JPanel();
1260 jPanelFfsCTop
.setLayout(new BorderLayout());
1261 jPanelFfsCTop
.add(getJPanelSectionN(), java
.awt
.BorderLayout
.NORTH
);
1262 jPanelFfsCTop
.add(getJScrollPaneFfsSection(), java
.awt
.BorderLayout
.CENTER
);
1264 return jPanelFfsCTop
;
1268 * This method initializes jSplitPaneFfsCBottom
1270 * @return javax.swing.JSplitPane
1272 private JSplitPane
getJSplitPaneFfsCBottom() {
1273 if (jSplitPaneFfsCBottom
== null) {
1274 jSplitPaneFfsCBottom
= new JSplitPane();
1275 jSplitPaneFfsCBottom
.setDividerSize(5);
1276 jSplitPaneFfsCBottom
.setDividerLocation(130);
1277 jSplitPaneFfsCBottom
.setTopComponent(getJPanelFfsCBottomTop());
1278 jSplitPaneFfsCBottom
.setBottomComponent(getJPanelFfsCBottomBottom());
1279 jSplitPaneFfsCBottom
.setOrientation(javax
.swing
.JSplitPane
.VERTICAL_SPLIT
);
1281 return jSplitPaneFfsCBottom
;
1285 * This method initializes jPanelFfsCBottomTop
1287 * @return javax.swing.JPanel
1289 private JPanel
getJPanelFfsCBottomTop() {
1290 if (jPanelFfsCBottomTop
== null) {
1291 jPanelFfsCBottomTop
= new JPanel();
1292 jPanelFfsCBottomTop
.setLayout(new BorderLayout());
1293 jPanelFfsCBottomTop
.add(getJPanelSectionsN(), java
.awt
.BorderLayout
.NORTH
);
1294 jPanelFfsCBottomTop
.add(getJScrollPaneFfsSections(), java
.awt
.BorderLayout
.CENTER
);
1296 return jPanelFfsCBottomTop
;
1300 * This method initializes jPanelFfsCBottomBottom
1302 * @return javax.swing.JPanel
1304 private JPanel
getJPanelFfsCBottomBottom() {
1305 if (jPanelFfsCBottomBottom
== null) {
1306 jPanelFfsCBottomBottom
= new JPanel();
1307 jPanelFfsCBottomBottom
.setLayout(new BorderLayout());
1308 jPanelFfsCBottomBottom
.add(getJPanelSubSectionN(), java
.awt
.BorderLayout
.NORTH
);
1309 jPanelFfsCBottomBottom
.add(getJScrollPaneFfsSubSection(), java
.awt
.BorderLayout
.CENTER
);
1311 return jPanelFfsCBottomBottom
;
1315 * This method initializes jPanelSectionN
1317 * @return javax.swing.JPanel
1319 private JPanel
getJPanelSectionN() {
1320 if (jPanelSectionN
== null) {
1321 jPanelSectionN
= new JPanel();
1322 jLabelFfsSection
= new JLabel();
1323 jLabelFfsSection
.setText("Section");
1324 jPanelSectionN
.add(jLabelFfsSection
, null);
1325 jPanelSectionN
.add(getJButtonFfsSectionNew(), null);
1326 jPanelSectionN
.add(getJButtonFfsSectionRemove(), null);
1328 return jPanelSectionN
;
1332 * This method initializes jPanelSectionsN
1334 * @return javax.swing.JPanel
1336 private JPanel
getJPanelSectionsN() {
1337 if (jPanelSectionsN
== null) {
1338 jPanelSectionsN
= new JPanel();
1339 jLabelFfsSections
= new JLabel();
1340 jLabelFfsSections
.setText("Sections");
1341 jPanelSectionsN
.add(jLabelFfsSections
, null);
1342 jPanelSectionsN
.add(getJButtonFfsSectionsNew(), null);
1343 jPanelSectionsN
.add(getJButtonFfsSectionsRemove(), null);
1345 return jPanelSectionsN
;
1349 * This method initializes jPanelSubSectionN
1351 * @return javax.swing.JPanel
1353 private JPanel
getJPanelSubSectionN() {
1354 if (jPanelSubSectionN
== null) {
1355 jPanelSubSectionN
= new JPanel();
1356 jLabelFfsSubSections
= new JLabel();
1357 jLabelFfsSubSections
.setText("Sub-Sections");
1358 jPanelSubSectionN
.add(jLabelFfsSubSections
, null);
1359 jPanelSubSectionN
.add(getJButtonFfsSubSectionNew(), null);
1360 jPanelSubSectionN
.add(getJButtonFfsSubSectionRemove(), null);
1362 return jPanelSubSectionN
;
1366 * The following section contains all Build Options content
1370 * This method initializes jPanelOptionsTab
1372 * This is the main Options screen
1374 * @return javax.swing.JPanel jPanelOptionsTab
1376 private JPanel
getJPanelOptionsTab() {
1377 if (jPanelOptionsTab
== null) {
1378 // This container holds the Options Tab content
1380 // FlowLayout flowLayout9 = new FlowLayout();
1381 // flowLayout9.setAlignment(java.awt.FlowLayout.LEFT);
1383 GridLayout gridLayout
= new GridLayout();
1384 gridLayout
.setRows(2);
1385 jPanelOptionsTab
= new JPanel();
1386 jPanelOptionsTab
.setLayout(gridLayout
);
1387 jPanelOptionsTab
.setBounds(new java
.awt
.Rectangle(0, 0, dialogWidth
* 2, dialogHeight
* 3));
1388 jPanelOptionsTab
.setPreferredSize(new java
.awt
.Dimension(dialogWidth
+ 10, (dialogHeight
* 3) + 10));
1389 jPanelOptionsTab
.setAutoscrolls(true);
1390 jPanelOptionsTab
.setLocation(0, 0);
1391 jPanelOptionsTab
.add(getJPanelOptionsContainer(), null);
1392 // jPanelOptionsTab.add(getJScrollPaneOptions(), null);
1393 jPanelOptionsTab
.add(getJPanelTableOptionsContainer(), null);
1395 return jPanelOptionsTab
;
1399 * This method initializes jPanelOptionsContainer
1401 * @return javax.swing.JPanel
1403 private JPanel
getJPanelOptionsContainer() {
1404 if (jPanelOptionsContainer
== null) {
1405 jLabelTagName
= new JLabel();
1406 jLabelTagName
.setBounds(new java
.awt
.Rectangle(labelColumn
, rowOne
, labelWidth
, oneRowHeight
));
1407 jLabelTagName
.setLocation(new java
.awt
.Point(labelColumn
, rowOne
));
1408 jLabelTagName
.setText("Tag Name");
1409 jLabelBuildTargets
= new JLabel();
1410 jLabelBuildTargets
.setBounds(new java
.awt
.Rectangle(labelColumn
, rowTwo
, labelWidth
, oneRowHeight
));
1411 jLabelBuildTargets
.setLocation(new java
.awt
.Point(labelColumn
, rowTwo
));
1412 jLabelBuildTargets
.setText("Build Targets");
1413 jLabelToolCmd
= new JLabel();
1414 jLabelToolCmd
.setBounds(new java
.awt
.Rectangle(labelColumn
, rowThree
, labelWidth
, oneRowHeight
));
1415 jLabelToolCmd
.setLocation(new java
.awt
.Point(labelColumn
, rowThree
));
1416 jLabelToolCmd
.setText("Tool Command");
1417 jLabelSupArch
= new JLabel();
1418 jLabelSupArch
.setBounds(new java
.awt
.Rectangle(labelColumn
, rowFour
, labelWidth
, oneRowHeight
));
1419 jLabelSupArch
.setLocation(new java
.awt
.Point(labelColumn
, rowFour
));
1420 jLabelSupArch
.setText("Supported Architectures");
1421 jLabelToolChainFamily
= new JLabel();
1422 jLabelToolChainFamily
.setBounds(new java
.awt
.Rectangle(labelColumn
, rowFive
, labelWidth
, oneRowHeight
));
1423 jLabelToolChainFamily
.setLocation(new java
.awt
.Point(labelColumn
, rowFive
));
1424 jLabelToolChainFamily
.setText("Tool Chain Family");
1426 jLabelOptionContents
= new JLabel();
1427 jLabelOptionContents
.setBounds(new java
.awt
.Rectangle(labelColumn
, rowSix
, labelWidth
, oneRowHeight
));
1428 jLabelOptionContents
.setLocation(new java
.awt
.Point(labelColumn
, rowSix
));
1429 jLabelOptionContents
.setText("Option Contents");
1431 jPanelOptionsContainer
= new JPanel();
1433 jPanelOptionsContainer
.setLayout(null);
1435 jPanelOptionsContainer
.setPreferredSize(new java
.awt
.Dimension(dialogWidth
, dialogHeight
));
1437 jPanelOptionsContainer
1438 .setBorder(javax.swing.BorderFactory
1439 .createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
1441 jPanelOptionsContainer
.add(jLabelTagName
, null);
1442 jPanelOptionsContainer
.add(getJTextFieldTagName(), null);
1444 jPanelOptionsContainer
.add(jLabelBuildTargets
, null);
1445 jPanelOptionsContainer
.add(getJTextFieldBuildTargets(), null);
1447 jPanelOptionsContainer
.add(jLabelToolChainFamily
, null);
1448 jPanelOptionsContainer
.add(getJTextFieldToolChainFamily(), null);
1450 jPanelOptionsContainer
.add(jLabelToolCmd
, null);
1451 jPanelOptionsContainer
.add(getJTextFieldToolCmd(), null);
1453 jPanelOptionsContainer
.add(jLabelSupArch
, null);
1454 jPanelOptionsContainer
.add(getArchitectureSelections(), null);
1456 jPanelOptionsContainer
.add(jLabelOptionContents
, null);
1457 jPanelOptionsContainer
.add(getJTextFieldOptionContents(), null);
1459 jPanelOptionsContainer
.add(getJButtonOptionsAdd(), null);
1460 jPanelOptionsContainer
.add(getJButtonOptionsDel(), null);
1462 return jPanelOptionsContainer
;
1466 * This method initializes jTextFieldOptionTagName Row 1
1468 * @return javax.swing.JTextField
1470 private JTextField
getJTextFieldTagName() {
1471 if (jTextFieldTagName
== null) {
1472 jTextFieldTagName
= new JTextField();
1473 jTextFieldTagName
.setBounds(new java
.awt
.Rectangle(fieldColumn
, rowOne
, fieldWidth
, oneRowHeight
));
1474 jTextFieldTagName
.setPreferredSize(new java
.awt
.Dimension(fieldWidth
, oneRowHeight
));
1475 jTextFieldTagName
.setLocation(new java
.awt
.Point(fieldColumn
, rowOne
));
1477 return jTextFieldTagName
;
1481 * This method initializes jTextFieldBuildTargets Row 2
1483 * @return javax.swing.JTextField jTextFieldBuildTargets
1485 private JTextField
getJTextFieldBuildTargets() {
1486 if (jTextFieldBuildTargets
== null) {
1487 jTextFieldBuildTargets
= new JTextField();
1488 jTextFieldBuildTargets
.setBounds(new java
.awt
.Rectangle(fieldColumn
, rowTwo
, fieldWidth
, oneRowHeight
));
1489 jTextFieldBuildTargets
.setPreferredSize(new java
.awt
.Dimension(fieldWidth
, oneRowHeight
));
1490 jTextFieldBuildTargets
.setLocation(new java
.awt
.Point(fieldColumn
, rowTwo
));
1492 return jTextFieldBuildTargets
;
1496 * This method initializes jTextFieldToolCmd Row 3
1498 * This should be a dropdown box of command codes from tools_def.txt
1500 * @return javax.swing.JTextField jTextFieldToolCmd
1502 private JTextField
getJTextFieldToolCmd() {
1503 if (jTextFieldToolCmd
== null) {
1504 jTextFieldToolCmd
= new JTextField();
1505 jTextFieldToolCmd
.setBounds(new java
.awt
.Rectangle(fieldColumn
, rowThree
, fieldWidth
, oneRowHeight
));
1506 jTextFieldToolCmd
.setPreferredSize(new java
.awt
.Dimension(fieldWidth
, oneRowHeight
));
1507 jTextFieldToolCmd
.setLocation(new java
.awt
.Point(fieldColumn
, rowThree
));
1509 return jTextFieldToolCmd
;
1513 * This method initializes jArchitectureSelections Row 4
1515 * @return jArchitectureSelections
1517 private JPanel
getArchitectureSelections() {
1518 if (jArchitectureSelections
== null) {
1519 jArchitectureSelections
= new JPanel();
1520 jArchitectureSelections
.setLayout(null);
1521 jArchitectureSelections
.add(getJCheckBoxIA32(), null);
1522 jArchitectureSelections
.add(getJCheckBoxX64(), null);
1523 jArchitectureSelections
.add(getJCheckBoxIpf(), null);
1524 jArchitectureSelections
.add(getJCheckBoxEBC(), null);
1525 jArchitectureSelections
.add(getJCheckBoxARM(), null);
1526 jArchitectureSelections
.add(getJCheckBoxPPC(), null);
1527 jArchitectureSelections
.setBounds(new java
.awt
.Rectangle(fieldColumn
, rowFour
, fieldWidth
, oneRowHeight
));
1528 jArchitectureSelections
.setPreferredSize(new java
.awt
.Dimension(fieldWidth
, oneRowHeight
));
1529 jArchitectureSelections
.setLocation(new java
.awt
.Point(fieldColumn
, rowFour
));
1531 return jArchitectureSelections
;
1535 * This method initializes jCheckBoxIA32
1537 * @return javax.swing.JCheckBox jCheckBoxIA32
1539 private JCheckBox
getJCheckBoxIA32() {
1540 if (jCheckBoxIA32
== null) {
1541 jCheckBoxIA32
= new JCheckBox();
1542 jCheckBoxIA32
.setBounds(new java
.awt
.Rectangle(0, 0, 55, 20));
1543 jCheckBoxIA32
.setText("IA32");
1545 return jCheckBoxIA32
;
1549 * This method initializes jCheckBoxX64
1551 * @return javax.swing.JCheckBox jCheckBoxX64
1553 private JCheckBox
getJCheckBoxX64() {
1554 if (jCheckBoxX64
== null) {
1555 jCheckBoxX64
= new JCheckBox();
1556 jCheckBoxX64
.setText("X64");
1557 jCheckBoxX64
.setBounds(new java
.awt
.Rectangle(55, 0, 53, 20));
1559 return jCheckBoxX64
;
1563 * This method initializes jCheckBoxIpf
1565 * @return javax.swing.JCheckBox jCheckBoxIpf
1567 private JCheckBox
getJCheckBoxIpf() {
1568 if (jCheckBoxIpf
== null) {
1569 jCheckBoxIpf
= new JCheckBox();
1570 jCheckBoxIpf
.setBounds(new java
.awt
.Rectangle(108, 0, 52, 20));
1571 jCheckBoxIpf
.setText("IPF");
1573 return jCheckBoxIpf
;
1578 * This method initializes jCheckBoxEBC
1580 * @return javax.swing.JCheckBox jCheckBoxEBC
1582 private JCheckBox
getJCheckBoxEBC() {
1583 if (jCheckBoxEBC
== null) {
1584 jCheckBoxEBC
= new JCheckBox();
1585 jCheckBoxEBC
.setBounds(new java
.awt
.Rectangle(160, 0, 53, 20));
1586 jCheckBoxEBC
.setText("EBC");
1588 return jCheckBoxEBC
;
1592 * This method initializes jCheckBoxARM
1594 * @return javax.swing.JCheckBox jCheckBoxARM
1596 private JCheckBox
getJCheckBoxARM() {
1597 if (jCheckBoxARM
== null) {
1598 jCheckBoxARM
= new JCheckBox();
1599 jCheckBoxARM
.setBounds(new java
.awt
.Rectangle(213, 0, 54, 20));
1600 jCheckBoxARM
.setText("ARM");
1602 return jCheckBoxARM
;
1606 * This method initializes jCheckBoxPPC
1608 * @return javax.swing.JCheckBox jCheckBoxPPC
1610 private JCheckBox
getJCheckBoxPPC() {
1611 if (jCheckBoxPPC
== null) {
1612 jCheckBoxPPC
= new JCheckBox();
1613 jCheckBoxPPC
.setBounds(new java
.awt
.Rectangle(267, 0, 53, 20));
1614 jCheckBoxPPC
.setText("PPC");
1616 return jCheckBoxPPC
;
1620 * This method initializes jTextFieldToolChainFamily Row 5
1622 * This should be a drop down for MSFT, INTEL, GCC or USER_DEFINED
1624 * @return javax.swing.JTextField
1626 private JTextField
getJTextFieldToolChainFamily() {
1627 if (jTextFieldToolChainFamily
== null) {
1628 jTextFieldToolChainFamily
= new JTextField();
1629 jTextFieldToolChainFamily
.setBounds(new java
.awt
.Rectangle(fieldColumn
, rowFive
, fieldWidth
, oneRowHeight
));
1630 jTextFieldToolChainFamily
.setPreferredSize(new java
.awt
.Dimension(fieldWidth
, oneRowHeight
));
1631 jTextFieldToolChainFamily
.setLocation(new java
.awt
.Point(fieldColumn
, rowFive
));
1633 return jTextFieldToolChainFamily
;
1637 * This method initializes jTextFieldOptionContents Row 6
1639 * This is where we should put the checkbox & entry data for the command arguments
1641 * @return javax.swing.JTextField
1643 private JTextField
getJTextFieldOptionContents() {
1644 if (jTextFieldOptionContents
== null) {
1645 jTextFieldOptionContents
= new JTextField();
1646 jTextFieldOptionContents
.setPreferredSize(new java
.awt
.Dimension(fieldWidth
, oneRowHeight
));
1647 jTextFieldOptionContents
.setBounds(fieldColumn
, rowSix
, fieldWidth
, oneRowHeight
);
1648 jTextFieldOptionContents
.setLocation(new java
.awt
.Point(fieldColumn
, rowSix
));
1650 return jTextFieldOptionContents
;
1654 * This method initializes jButtonOptionsAdd
1656 * Add entry from the top screen to the table
1658 * @return javax.swing.JButton jButtonOptionsAdd
1660 private JButton
getJButtonOptionsAdd() {
1661 if (jButtonOptionsAdd
== null) {
1662 jButtonOptionsAdd
= new JButton();
1663 jButtonOptionsAdd
.setText("Add");
1665 jButtonOptionsAdd
.setPreferredSize(new java
.awt
.Dimension(buttonWidth
, oneRowHeight
));
1666 jButtonOptionsAdd
.setBounds(new java
.awt
.Rectangle(firstButtonLoc
, buttonRow
, buttonWidth
, oneRowHeight
));
1667 jButtonOptionsAdd
.setLocation(new java
.awt
.Point(firstButtonLoc
, buttonRow
));
1668 jButtonOptionsAdd
.addActionListener(new AbstractAction() {
1672 private static final long serialVersionUID
= 1L;
1674 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1675 boolean[] boolArray
= { jCheckBoxIA32
.isSelected(), jCheckBoxIpf
.isSelected(),
1676 jCheckBoxX64
.isSelected(), jCheckBoxEBC
.isSelected(),
1677 jCheckBoxARM
.isSelected(), jCheckBoxPPC
.isSelected() };
1678 String s
= boolToList(boolArray
);
1679 Object
[] o
= { jTextFieldBuildTargets
.getText(), jTextFieldToolChainFamily
.getText(), s
,
1680 jTextFieldToolCmd
.getText(), jTextFieldTagName
.getText(),
1681 jTextFieldOptionContents
.getText() };
1682 optionsTableModel
.addRow(o
);
1683 docConsole
.setSaved(false);
1684 ffc
.genBuildOptionsOpt(stringToVector(jTextFieldBuildTargets
.getText()),
1685 jTextFieldToolChainFamily
.getText(), jTextFieldTagName
.getText(),
1686 jTextFieldToolCmd
.getText(), stringToVector(s
),
1687 jTextFieldOptionContents
.getText());
1691 return jButtonOptionsAdd
;
1695 * This method initializes jButtonOptionsDel
1697 * Remove a line from the table below
1699 * @return javax.swing.JButton jButtonOptionsDel
1701 private JButton
getJButtonOptionsDel() {
1702 if (jButtonOptionsDel
== null) {
1703 jButtonOptionsDel
= new JButton();
1704 jButtonOptionsDel
.setText("Delete");
1705 jButtonOptionsDel
.setPreferredSize(new java
.awt
.Dimension(buttonWidth
, oneRowHeight
));
1706 jButtonOptionsDel
.setBounds(new java
.awt
.Rectangle(next2LastButtonLoc
, buttonRow
, buttonWidth
, oneRowHeight
));
1707 jButtonOptionsDel
.setLocation(new java
.awt
.Point(next2LastButtonLoc
, buttonRow
));
1708 jButtonOptionsDel
.addActionListener(new AbstractAction() {
1712 private static final long serialVersionUID
= 1L;
1714 public void actionPerformed(java
.awt
.event
.ActionEvent e
) {
1715 if (selectedRow
>= 0) {
1716 optionsTableModel
.removeRow(selectedRow
);
1717 docConsole
.setSaved(false);
1718 ffc
.removeBuildOptionsOpt(selectedRow
);
1723 return jButtonOptionsDel
;
1726 public void componentResized(ComponentEvent arg0
) {
1727 int intPreferredWidth
= 500;
1729 Tools
.resizeComponentWidth(this.jScrollPaneOptions
, this.getWidth(), intPreferredWidth
);
1733 * This method initializes jScrollPaneOptions
1734 * Contains the Table and is located below the data entry section
1735 * @return javax.swing.JScrollPane jScrollPaneOptoins
1737 private JScrollPane
getJScrollPaneOptions() {
1738 if (jScrollPaneOptions
== null) {
1739 jScrollPaneOptions
= new JScrollPane();
1740 jScrollPaneOptions
.setViewportView(getJTableOptions());
1742 return jScrollPaneOptions
;
1746 * This method initializes jTableOptions
1748 * @return javax.swing.JTable jTableOptions
1750 private JTable
getJTableOptions() {
1751 if (jTableOptions
== null) {
1753 optionsTableModel
= new DefaultTableModel();
1754 jTableOptions
= new JTable(optionsTableModel
);
1755 jTableOptions
.setRowHeight(20);
1756 optionsTableModel
.addColumn("Build Targets");
1757 optionsTableModel
.addColumn("Tool Chain Family");
1758 optionsTableModel
.addColumn("Supported Architectures");
1759 optionsTableModel
.addColumn("Tool Command Code");
1760 optionsTableModel
.addColumn("TagName");
1761 optionsTableModel
.addColumn("Contents");
1763 javax
.swing
.table
.TableColumn toolFamilyCol
= jTableOptions
.getColumnModel().getColumn(1);
1764 JComboBox cb
= new JComboBox();
1767 cb
.addItem("CYGWIN");
1768 cb
.addItem("INTEL");
1769 cb
.addItem("USER_DEFINED");
1770 toolFamilyCol
.setCellEditor(new DefaultCellEditor(cb
));
1771 Vector
<String
> vArch
= new Vector
<String
>();
1778 jTableOptions
.getColumnModel().getColumn(2).setCellEditor(new ListEditor(vArch
));
1780 jTableOptions
.getColumnModel().getColumn(5).setCellEditor(new LongTextEditor());
1782 jTableOptions
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
1783 jTableOptions
.setAutoResizeMode(javax
.swing
.JTable
.AUTO_RESIZE_OFF
);
1784 jTableOptions
.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
1785 public void valueChanged(ListSelectionEvent e
) {
1787 if (e
.getValueIsAdjusting()) {
1790 ListSelectionModel lsm
= (ListSelectionModel
) e
.getSource();
1791 if (lsm
.isSelectionEmpty()) {
1794 selectedRow
= lsm
.getMinSelectionIndex();
1799 jTableOptions
.getModel().addTableModelListener(new TableModelListener() {
1800 public void tableChanged(TableModelEvent arg0
) {
1801 // TODO Auto-generated method stub
1802 int row
= arg0
.getFirstRow();
1803 TableModel m
= (TableModel
) arg0
.getSource();
1804 if (arg0
.getType() == TableModelEvent
.UPDATE
) {
1805 //ToDo Data Validition check.
1806 String targets
= m
.getValueAt(row
, 0) + "";
1807 Vector
<Object
> targetName
= new Vector
<Object
>();
1808 String
[] sArray
= targets
.split("( )+");
1809 for (int i
= 0; i
< sArray
.length
; ++i
) {
1810 targetName
.add(sArray
[i
]);
1812 String toolChain
= m
.getValueAt(row
, 1) + "";
1813 String archs
= m
.getValueAt(row
, 2) + "";
1814 Vector
<Object
> supArch
= null;
1815 if (archs
.length() > 0) {
1816 supArch
= new Vector
<Object
>();
1817 String
[] sArray1
= archs
.split("( )+");
1818 for (int i
= 0; i
< sArray1
.length
; ++i
) {
1819 supArch
.add(sArray1
[i
]);
1823 String toolCmd
= m
.getValueAt(row
, 3) + "";
1824 String tagName
= m
.getValueAt(row
, 4) + "";
1825 String contents
= m
.getValueAt(row
, 5) + "";
1826 docConsole
.setSaved(false);
1827 ffc
.updateBuildOptionsOpt(row
, targetName
, toolChain
, tagName
, toolCmd
, supArch
, contents
);
1832 return jTableOptions
;
1835 private Vector
<Object
> stringToVector(String s
) {
1836 String
[] sArray
= s
.split(" ");
1837 Vector
<Object
> v
= null;
1838 if (s
.length() > 0) {
1839 v
= new Vector
<Object
>();
1840 for (int i
= 0; i
< sArray
.length
; ++i
) {
1847 private String
boolToList(boolean[] bool
) {
1873 private void initOptionTable() {
1874 if (ffc
.getBuildOptionsOptCount() == 0) {
1875 //ToDo get default options from *.txt file
1878 String
[][] saa
= new String
[ffc
.getBuildOptionsOptCount()][6];
1879 ffc
.getBuildOptionsOpts(saa
);
1880 for (int i
= 0; i
< saa
.length
; ++i
) {
1881 optionsTableModel
.addRow(saa
[i
]);
1887 * Everything below should pertain to the ANT Task Tab
1891 * This method initializes jButton12
1893 * @return javax.swing.JButton
1895 private JButton
getJButtonAntTaskFileBrowse() {
1896 if (jButtonAntTaskFileBrowse
== null) {
1897 jButtonAntTaskFileBrowse
= new JButton();
1898 jButtonAntTaskFileBrowse
.setPreferredSize(new Dimension(buttonWidth
, oneRowHeight
));
1899 jButtonAntTaskFileBrowse
.setText("Browse");
1900 jButtonAntTaskFileBrowse
.addActionListener(new AbstractAction() {
1901 private static final long serialVersionUID
= 1L;
1903 public void actionPerformed(ActionEvent arg0
) {
1905 // Select files from current workspace
1907 String dirPrefix
= System
.getenv("WORKSPACE");
1908 JFileChooser chooser
= new JFileChooser(dirPrefix
);
1909 File theFile
= null;
1910 String headerDest
= null;
1912 chooser
.setMultiSelectionEnabled(false);
1913 chooser
.setFileSelectionMode(JFileChooser
.FILES_ONLY
);
1914 int retval
= chooser
.showOpenDialog(frame
);
1915 if (retval
== JFileChooser
.APPROVE_OPTION
) {
1917 theFile
= chooser
.getSelectedFile();
1918 String file
= theFile
.getPath();
1919 if (!file
.startsWith(dirPrefix
)) {
1920 JOptionPane
.showMessageDialog(frame
, "You can only select files in current package!");
1927 headerDest
= theFile
.getPath();
1928 jTextFieldAntTaskFile
.setText(headerDest
.substring(dirPrefix
.length()).replace('\\', '/'));
1934 return jButtonAntTaskFileBrowse
;
1938 * This method initializes jPanelUserDefCenterN
1940 * @return javax.swing.JPanel
1942 private JPanel
getJPanelUserDefCenterN() {
1943 if (jPanelUserDefCenterN
== null) {
1944 jPanelUserDefCenterN
= new JPanel();
1945 jPanelUserDefCenterN
.add(jLabelAntCmdOpts
, null);
1946 jPanelUserDefCenterN
.add(getJTextFieldAntCmdOpts(), null);
1947 jPanelUserDefCenterN
.add(getJButtonAntTaskAdd(), null);
1948 jPanelUserDefCenterN
.add(getJButtonAntTaskDel(), null);
1950 return jPanelUserDefCenterN
;
1954 * This method initializes jPanel8
1956 * @return javax.swing.JPanel
1958 private JPanel
getJPanelUserDef() {
1959 if (jPanelUserDef
== null) {
1960 jPanelUserDef
= new JPanel();
1961 jPanelUserDef
.setLayout(new BorderLayout());
1962 jPanelUserDef
.add(getJPanelUserDefNorth(), java
.awt
.BorderLayout
.NORTH
);
1963 jPanelUserDef
.add(getJPanelUserDefCenter(), java
.awt
.BorderLayout
.CENTER
);
1966 return jPanelUserDef
;
1970 * This method initializes jPanel9
1972 * @return javax.swing.JPanel
1974 private JPanel
getJPanelUserDefNorth() {
1975 if (jPanelUserDefNorth
== null) {
1976 jLabelAntTaskFile
= new JLabel();
1977 jLabelAntTaskFile
.setText("ANT Task File");
1978 jLabelAntTaskFile
.setPreferredSize(new java
.awt
.Dimension(80, 20));
1979 FlowLayout flowLayout8
= new FlowLayout();
1980 flowLayout8
.setAlignment(java
.awt
.FlowLayout
.CENTER
);
1981 jLabelAntTaskId
= new JLabel();
1982 jLabelAntTaskId
.setText("ID");
1983 jPanelUserDefNorth
= new JPanel();
1984 jPanelUserDefNorth
.setLayout(flowLayout8
);
1985 jPanelUserDefNorth
.add(jLabelAntTaskFile
, null);
1986 jPanelUserDefNorth
.add(getJTextFieldAntTaskFile(), null);
1987 jPanelUserDefNorth
.add(getJButtonAntTaskFileBrowse(), null);
1988 jPanelUserDefNorth
.add(jLabelAntTaskId
, null);
1989 jPanelUserDefNorth
.add(getJTextFieldAntTaskId(), null);
1991 return jPanelUserDefNorth
;
1995 * This method initializes jPanel11
1997 * @return javax.swing.JPanel
1999 private JPanel
getJPanelUserDefCenter() {
2000 if (jPanelUserDefCenter
== null) {
2001 jLabelAntCmdOpts
= new JLabel();
2002 jLabelAntCmdOpts
.setText("ANT Command Options");
2003 jLabelAntCmdOpts
.setPreferredSize(new java
.awt
.Dimension(131, 20));
2004 jPanelUserDefCenter
= new JPanel();
2005 jPanelUserDefCenter
.setLayout(new BorderLayout());
2007 jPanelUserDefCenter
.add(getJPanelUserDefCenterN(), java
.awt
.BorderLayout
.NORTH
);
2008 jPanelUserDefCenter
.add(getJScrollPaneAntTasks(), java
.awt
.BorderLayout
.CENTER
);
2010 return jPanelUserDefCenter
;
2014 * This method initializes jTextField2
2016 * @return javax.swing.JTextField
2018 private JTextField
getJTextFieldAntTaskFile() {
2019 if (jTextFieldAntTaskFile
== null) {
2020 jTextFieldAntTaskFile
= new JTextField();
2021 jTextFieldAntTaskFile
.setPreferredSize(new java
.awt
.Dimension(200, 20));
2023 return jTextFieldAntTaskFile
;
2027 * This method initializes jTextField3
2029 * @return javax.swing.JTextField
2031 private JTextField
getJTextFieldAntTaskId() {
2032 if (jTextFieldAntTaskId
== null) {
2033 jTextFieldAntTaskId
= new JTextField();
2034 jTextFieldAntTaskId
.setPreferredSize(new java
.awt
.Dimension(100, 20));
2036 return jTextFieldAntTaskId
;
2040 * This method initializes jButton4
2042 * @return javax.swing.JButton
2044 private JButton
getJButtonAntTaskAdd() {
2045 if (jButtonAntTaskAdd
== null) {
2046 jButtonAntTaskAdd
= new JButton();
2047 jButtonAntTaskAdd
.setPreferredSize(new java
.awt
.Dimension(90, 20));
2048 jButtonAntTaskAdd
.setText("Add");
2049 jButtonAntTaskAdd
.addActionListener(new ActionListener() {
2050 public void actionPerformed(ActionEvent e
) {
2051 if (!DataValidation
.isInt(jTextFieldAntTaskId
.getText())
2052 || jTextFieldAntTaskId
.getText().length() != 8) {
2053 JOptionPane
.showMessageDialog(frame
, "ID must be an 8-digit integer.");
2056 Object
[] o
= { jTextFieldAntTaskId
.getText(), null, null };
2057 o
[1] = jTextFieldAntTaskFile
.getText();
2058 o
[2] = jTextFieldAntCmdOpts
.getText();
2059 ffc
.genBuildOptionsUserDefAntTask(o
[0] + "", o
[1] + "", o
[2] + "");
2060 antTaskTableModel
.addRow(o
);
2061 docConsole
.setSaved(false);
2065 return jButtonAntTaskAdd
;
2069 * This method initializes jButton5
2071 * @return javax.swing.JButton
2073 private JButton
getJButtonAntTaskDel() {
2074 if (jButtonAntTaskDel
== null) {
2075 jButtonAntTaskDel
= new JButton();
2076 jButtonAntTaskDel
.setPreferredSize(new java
.awt
.Dimension(90, 20));
2077 jButtonAntTaskDel
.setText("Delete");
2078 jButtonAntTaskDel
.addActionListener(new ActionListener() {
2079 public void actionPerformed(ActionEvent e
) {
2080 if (selectedRow
>= 0) {
2081 docConsole
.setSaved(false);
2082 antTaskTableModel
.removeRow(selectedRow
);
2083 ffc
.removeBuildOptionsUserDefAntTask(selectedRow
);
2088 return jButtonAntTaskDel
;
2092 * This method initializes jTextField4
2094 * @return javax.swing.JTextField
2096 private JTextField
getJTextFieldAntCmdOpts() {
2097 if (jTextFieldAntCmdOpts
== null) {
2098 jTextFieldAntCmdOpts
= new JTextField();
2099 jTextFieldAntCmdOpts
.setPreferredSize(new java
.awt
.Dimension(270, 20));
2100 jTextFieldAntCmdOpts
.setEnabled(true);
2102 return jTextFieldAntCmdOpts
;
2106 * This method initializes jScrollPane2
2108 * @return javax.swing.JScrollPane
2110 private JScrollPane
getJScrollPaneAntTasks() {
2111 if (jScrollPaneAntTasks
== null) {
2112 jScrollPaneAntTasks
= new JScrollPane();
2113 jScrollPaneAntTasks
.setPreferredSize(new java
.awt
.Dimension(600, 400));
2114 jScrollPaneAntTasks
.setViewportView(getJTableAntTasks());
2116 return jScrollPaneAntTasks
;
2120 * This method initializes jTable2
2122 * @return javax.swing.JTable
2124 private JTable
getJTableAntTasks() {
2125 if (jTableAntTasks
== null) {
2126 antTaskTableModel
= new DefaultTableModel();
2127 jTableAntTasks
= new JTable(antTaskTableModel
);
2128 jTableAntTasks
.setRowHeight(20);
2129 antTaskTableModel
.addColumn("ID");
2130 antTaskTableModel
.addColumn("Filename");
2131 antTaskTableModel
.addColumn("ANT Command Options");
2133 jTableAntTasks
.setSelectionMode(ListSelectionModel
.SINGLE_SELECTION
);
2134 jTableAntTasks
.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
2135 public void valueChanged(ListSelectionEvent e
) {
2137 if (e
.getValueIsAdjusting()) {
2140 ListSelectionModel lsm
= (ListSelectionModel
) e
.getSource();
2141 if (lsm
.isSelectionEmpty()) {
2144 selectedRow
= lsm
.getMinSelectionIndex();
2149 jTableAntTasks
.getModel().addTableModelListener(new TableModelListener() {
2150 public void tableChanged(TableModelEvent arg0
) {
2151 // TODO Auto-generated method stub
2152 int row
= arg0
.getFirstRow();
2153 TableModel m
= (TableModel
) arg0
.getSource();
2154 if (arg0
.getType() == TableModelEvent
.UPDATE
) {
2155 //ToDo Data Validition check.
2156 String id
= m
.getValueAt(row
, 0) + "";
2157 String file
= m
.getValueAt(row
, 1) + "";
2158 String execOrder
= m
.getValueAt(row
, 2) + "";
2159 if (id
.length() == 0) {
2162 if (file
.length() == 0 && execOrder
.length() == 0) {
2165 if (file
.length() == 0) {
2168 if (execOrder
.length() == 0) {
2171 ffc
.updateBuildOptionsUserDefAntTask(row
, id
, file
, execOrder
);
2177 return jTableAntTasks
;
2180 private void initAntTaskTable() {
2181 if (ffc
.getBuildOptionsUserDefAntTaskCount() == 0) {
2184 String
[][] saa
= new String
[ffc
.getBuildOptionsUserDefAntTaskCount()][3];
2185 ffc
.getBuildOptionsUserDefAntTasks(saa
);
2186 for (int i
= 0; i
< saa
.length
; ++i
) {
2187 antTaskTableModel
.addRow(saa
[i
]);
2191 } // @jve:decl-index=0:visual-constraint="10,10"