+++ /dev/null
-/** @file\r
- \r
- The file is used to create, update BuildOptions of Fpd file\r
- \r
- Copyright (c) 2006, Intel Corporation\r
- All rights reserved. This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
- \r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
- \r
- **/\r
-package org.tianocore.frameworkwizard.platform.ui;\r
-\r
-import java.awt.BorderLayout;\r
-\r
-import javax.swing.JPanel;\r
-import javax.swing.JTabbedPane;\r
-import javax.swing.JCheckBox;\r
-import javax.swing.JLabel;\r
-import java.awt.FlowLayout;\r
-import javax.swing.AbstractAction;\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
-import java.awt.event.ComponentEvent;\r
-\r
-import javax.swing.DefaultCellEditor;\r
-import javax.swing.JFileChooser;\r
-import javax.swing.JOptionPane;\r
-import javax.swing.JTextField;\r
-import javax.swing.JButton;\r
-import javax.swing.JScrollPane;\r
-import javax.swing.JTable;\r
-import javax.swing.JComboBox;\r
-import javax.swing.ListSelectionModel;\r
-import javax.swing.event.DocumentEvent;\r
-import javax.swing.event.DocumentListener;\r
-import javax.swing.event.InternalFrameAdapter;\r
-import javax.swing.event.InternalFrameEvent;\r
-import javax.swing.event.ListSelectionEvent;\r
-import javax.swing.event.ListSelectionListener;\r
-import javax.swing.event.TableModelEvent;\r
-import javax.swing.event.TableModelListener;\r
-import javax.swing.table.DefaultTableModel;\r
-import javax.swing.table.TableModel;\r
-\r
-import org.tianocore.PlatformSurfaceAreaDocument;\r
-import org.tianocore.frameworkwizard.FrameworkWizardUI;\r
-import org.tianocore.frameworkwizard.common.DataValidation;\r
-import org.tianocore.frameworkwizard.common.Tools;\r
-import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
-import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
-import org.tianocore.frameworkwizard.workspace.Workspace;\r
-\r
-import java.io.File;\r
-import java.util.ArrayList;\r
-import java.util.Iterator;\r
-import java.util.LinkedHashMap;\r
-import java.util.Set;\r
-import java.util.Vector;\r
-import java.awt.Dimension;\r
-import javax.swing.JSplitPane;\r
-import java.awt.GridLayout;\r
-\r
-public class FpdBuildOptions extends IInternalFrame {\r
-\r
- private final int oneRowHeight = 20;\r
-\r
- private final int twoRowHeight = 40;\r
-\r
- private final int sepHeight = 6;\r
-\r
- private final int sepWidth = 10;\r
-\r
- private final int buttonWidth = 90;\r
-\r
- private final int rowOne = 12;\r
-\r
- private final int dialogWidth = 600;\r
-\r
- private final int rowTwo = rowOne + oneRowHeight + sepHeight;\r
-\r
- private final int rowThree = rowTwo + oneRowHeight + sepHeight;\r
-\r
- private final int rowFour = rowThree + oneRowHeight + sepHeight;\r
-\r
- private final int rowFive = rowFour + oneRowHeight + sepHeight;\r
-\r
- private final int rowSix = rowFive + oneRowHeight + sepHeight;\r
-\r
- private final int rowSeven = rowSix + oneRowHeight + sepHeight;\r
-\r
- private final int buttonRow = rowSeven + oneRowHeight + sepHeight + sepHeight;\r
-\r
- private final int dialogHeight = buttonRow + twoRowHeight + twoRowHeight;\r
-\r
- private final int lastButtonXLoc = dialogWidth - buttonWidth - sepWidth;\r
-\r
- private final int next2LastButtonLoc = lastButtonXLoc - buttonWidth - sepWidth;\r
-\r
- private final int firstButtonLoc = next2LastButtonLoc - buttonWidth - sepWidth;\r
-\r
- private final int labelColumn = 12;\r
-\r
- private final int fieldColumn = 168;\r
-\r
- private final int labelWidth = 155;\r
-\r
- private final int fieldWidth = 320;\r
-\r
- private static final long serialVersionUID = 1L;\r
-\r
- private JPanel jContentPane = null;\r
-\r
- // private JPanel jPanelContentSouth = null;\r
-\r
- // private JPanel jPanelContentNorth = null;\r
-\r
- // private JPanel jPanelContentWest = null;\r
-\r
- // private JPanel jPanelContentEast = null;\r
-\r
- private JTabbedPane jTabbedPane = null;\r
-\r
- private JPanel jPanelUserDef = null;\r
-\r
- private JPanel jPanelUserDefNorth = null;\r
-\r
- private JPanel jPanelUserDefCenter = null;\r
-\r
- private JTextField jTextFieldAntTaskFile = null;\r
-\r
- private JLabel jLabelAntTaskId = null;\r
-\r
- private JTextField jTextFieldAntTaskId = null;\r
-\r
- private JButton jButtonAntTaskAdd = null;\r
-\r
- private JButton jButtonAntTaskDel = null;\r
-\r
- private JTextField jTextFieldAntCmdOpts = null;\r
-\r
- private JScrollPane jScrollPaneAntTasks = null;\r
-\r
- private JTable jTableAntTasks = null;\r
-\r
- private DefaultTableModel ffsTableModel = null;\r
-\r
- private DefaultTableModel sectionsTableModel = null;\r
-\r
- private DefaultTableModel sectionTableModel = null;\r
-\r
- private DefaultTableModel subsectionsTableModel = null;\r
-\r
- private DefaultTableModel antTaskTableModel = null;\r
-\r
- private DefaultTableModel ffsAttributesTableModel = null;\r
-\r
- private DefaultTableModel optionsTableModel = null;\r
-\r
- private JPanel jPanelFfsTab = null;\r
-\r
- private JPanel jPanelFfsTabCenter = null;\r
-\r
- private JPanel jPanelFfsTabCenterN = null;\r
-\r
- private JPanel jPanelFfsTabCenterS = null;\r
-\r
- private JButton jButtonFfsAdd = null;\r
-\r
- private JButton jButtonFfsDel = null;\r
-\r
- private JScrollPane jScrollPaneFfsAttribs = null;\r
-\r
- private JTable jTableFfsAttribs = null;\r
-\r
- private JPanel jPanelOptionsTab = null;\r
-\r
- private JLabel jLabelOptionContents = null;\r
-\r
- private JTextField jTextFieldOptionContents = null;\r
-\r
- private JLabel jLabelToolChainFamily = null;\r
-\r
- private JLabel jLabelSupArch = null;\r
-\r
- private JLabel jLabelToolCmd = null;\r
-\r
- private JTextField jTextFieldToolCmd = null;\r
-\r
- private JScrollPane jScrollPaneOptions = null;\r
-\r
- private JTable jTableOptions = null;\r
- \r
- private JButton jButtonOptionsAdd = null;\r
-\r
- private JButton jButtonOptionsDel = null;\r
-\r
- private JButton jButtonFfsAttribNew = null;\r
-\r
- private JButton jButtonFfsAttribRemove = null;\r
-\r
- private FpdFileContents ffc = null;\r
-\r
- private OpeningPlatformType docConsole = null;\r
-\r
- private JPanel jArchitectureSelections = null;\r
-\r
- private JCheckBox jCheckBoxIA32 = null;\r
-\r
- private JCheckBox jCheckBoxIpf = null;\r
-\r
- private JCheckBox jCheckBoxX64 = null;\r
-\r
- private JCheckBox jCheckBoxEBC = null;\r
-\r
- private JCheckBox jCheckBoxARM = null;\r
-\r
- private JCheckBox jCheckBoxPPC = null;\r
-\r
- private JLabel jLabelBuildTargets = null;\r
-\r
- private JTextField jTextFieldBuildTargets = null;\r
-\r
- private JTextField jTextFieldTagName = null;\r
-\r
- private JLabel jLabelTagName = null;\r
-\r
- private int selectedRow = -1;\r
-\r
- private JLabel jLabelAntTaskFile = null;\r
-\r
- private JLabel jLabelAntCmdOpts = null;\r
-\r
- private JScrollPane jScrollPaneFfs = null;\r
-\r
- private JTable jTableFfs = null;\r
-\r
- private JLabel jLabelFfsSection = null;\r
-\r
- private JScrollPane jScrollPaneFfsSection = null;\r
-\r
- private JTable jTableFfsSection = null;\r
-\r
- private JLabel jLabelFfsSubSections = null;\r
-\r
- private JScrollPane jScrollPaneFfsSubSection = null;\r
-\r
- private JTable jTableFfsSubSection = null;\r
-\r
- private JLabel jLabelEncapType = null;\r
-\r
- private JTextField jTextFieldEncapType = null;\r
-\r
- private JPanel jPanelFfsAttribButtonGroup = null;\r
-\r
- private JLabel jLabelFfsAttribs = null;\r
-\r
- private JButton jButtonFfsSectionNew = null;\r
-\r
- private JButton jButtonFfsSectionRemove = null;\r
-\r
- private JButton jButtonFfsSubSectionNew = null;\r
-\r
- private JButton jButtonFfsSubSectionRemove = null;\r
-\r
- private JLabel jLabelFfsSections = null;\r
-\r
- private JButton jButtonFfsSectionsNew = null;\r
-\r
- private JButton jButtonFfsSectionsRemove = null;\r
-\r
- private JScrollPane jScrollPaneFfsSections = null;\r
-\r
- private JTable jTableFfsSections = null;\r
-\r
- private JButton jButtonAntTaskFileBrowse = null;\r
-\r
- private JTextField jTextFieldToolChainFamily = null;\r
-\r
- private JSplitPane jSplitPaneFfsC = null;\r
-\r
- private JPanel jPanelFfsCTop = null;\r
-\r
- private JSplitPane jSplitPaneFfsCBottom = null;\r
-\r
- private JPanel jPanelFfsCBottomTop = null;\r
-\r
- private JPanel jPanelFfsCBottomBottom = null;\r
-\r
- private JPanel jPanelSectionN = null;\r
-\r
- private JPanel jPanelSectionsN = null;\r
-\r
- private JPanel jPanelSubSectionN = null;\r
-\r
- private JPanel jPanelOptionsContainer = null;\r
-\r
- private JPanel jPanelUserDefCenterN = null;\r
-\r
- private JPanel jPanelTableOptionsContainer = null;\r
-\r
- private JLabel jLabelTableOptionsTitle = null;\r
- \r
- private final int buildTargetWidth = 150;\r
- private final int toolChainFamilyWidth = 150;\r
- private final int supportArchWidth = 150;\r
- private final int toolCmdCodeWidth = 200;\r
- private final int tagNameWidth = 150;\r
- private final int argWidth = 400;\r
- \r
- private boolean ffsSelection = false;\r
- private int selectedFfsTableRow = -1;\r
-\r
- /**\r
- * This method initializes jPanel \r
- * \r
- * @return javax.swing.JPanel \r
- private JPanel getJPanelContentSouth() {\r
- if (jPanelContentSouth == null) {\r
- jPanelContentSouth = new JPanel();\r
- }\r
- return jPanelContentSouth;\r
- }\r
- */\r
-\r
- /**\r
- * This method initializes jPanel1 \r
- * \r
- * @return javax.swing.JPanel \r
- private JPanel getJPanelContentNorth() {\r
- if (jPanelContentNorth == null) {\r
- jPanelContentNorth = new JPanel();\r
- }\r
- return jPanelContentNorth;\r
- }\r
- */\r
-\r
- /**\r
- * This method initializes jPanel2 \r
- * \r
- * @return javax.swing.JPanel \r
- private JPanel getJPanelContentWest() {\r
- if (jPanelContentWest == null) {\r
- jPanelContentWest = new JPanel();\r
- }\r
- return jPanelContentWest;\r
- }\r
- */\r
-\r
- /**\r
- * This method initializes jPanel3 \r
- * \r
- * @return javax.swing.JPanel \r
- private JPanel getJPanelContentEast() {\r
- if (jPanelContentEast == null) {\r
- jPanelContentEast = new JPanel();\r
- }\r
- return jPanelContentEast;\r
- }\r
- */\r
-\r
- /**\r
- * This method initializes jTabbedPane \r
- * \r
- * @return javax.swing.JTabbedPane \r
- */\r
- private JTabbedPane getJTabbedPane() {\r
- if (jTabbedPane == null) {\r
- jTabbedPane = new JTabbedPane();\r
- jTabbedPane.addTab("Flash Filesystem Options", null, getJPanelFfsTab(), null);\r
- jTabbedPane.addTab("Customize Tool Chain Configurations", null, getJPanelOptionsTab(), null);\r
- jTabbedPane.addTab("User Defined ANT Tasks", null, getJPanelUserDef(), null);\r
- }\r
- return jTabbedPane;\r
- }\r
-\r
- /**\r
- * This method initializes this\r
- * \r
- * @return void\r
- */\r
- private void initialize() {\r
- this.setSize(722, 577);\r
- this.setTitle("Platform Build Options");\r
- this.setContentPane(getJContentPane());\r
- }\r
-\r
- /**\r
- * This method initializes jContentPane\r
- * \r
- * @return javax.swing.JPanel\r
- */\r
- private JPanel getJContentPane() {\r
- if (jContentPane == null) {\r
- jContentPane = new JPanel();\r
- jContentPane.setLayout(new BorderLayout());\r
- // jContentPane.add(getJPanelContentSouth(), java.awt.BorderLayout.SOUTH);\r
- // jContentPane.add(getJPanelContentNorth(), java.awt.BorderLayout.NORTH);\r
- // jContentPane.add(getJPanelContentWest(), java.awt.BorderLayout.WEST);\r
- // jContentPane.add(getJPanelContentEast(), java.awt.BorderLayout.EAST);\r
- jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER);\r
- }\r
- return jContentPane;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelTableOptionsContainer \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelTableOptionsContainer() {\r
- if (jPanelTableOptionsContainer == null) {\r
- jLabelTableOptionsTitle = new JLabel();\r
- jLabelTableOptionsTitle.setText(" Current Argument Lines");\r
- jPanelTableOptionsContainer = new JPanel();\r
- jPanelTableOptionsContainer.setLayout(new BorderLayout());\r
- jPanelTableOptionsContainer.add(jLabelTableOptionsTitle, java.awt.BorderLayout.NORTH);\r
- jPanelTableOptionsContainer.add(getJScrollPaneOptions(), java.awt.BorderLayout.CENTER);\r
- }\r
- return jPanelTableOptionsContainer;\r
- }\r
-\r
- /**\r
- * @param args\r
- */\r
- public static void main(String[] args) {\r
- // TODO Auto-generated method stub\r
- new FpdBuildOptions().setVisible(true);\r
- }\r
-\r
- /**\r
- * This is the default constructor\r
- */\r
- public FpdBuildOptions() {\r
- super();\r
- initialize();\r
- this.setVisible(true);\r
- }\r
-\r
- public FpdBuildOptions(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd) {\r
- this();\r
- ffc = new FpdFileContents(fpd);\r
- init(ffc);\r
- }\r
-\r
- public FpdBuildOptions(OpeningPlatformType opt) {\r
- this(opt.getXmlFpd());\r
- docConsole = opt;\r
- }\r
-\r
- private void init(FpdFileContents ffc) {\r
- initOptionTable();\r
- initAntTaskTable();\r
- initFfsTable();\r
- this.addInternalFrameListener(new InternalFrameAdapter() {\r
- public void internalFrameDeactivated(InternalFrameEvent e) {\r
- if (jTableAntTasks.isEditing()) {\r
- jTableAntTasks.getCellEditor().stopCellEditing();\r
- }\r
- if (jTableOptions.isEditing()) {\r
- jTableOptions.getCellEditor().stopCellEditing();\r
- }\r
- stopEditingInTables ();\r
- }\r
- });\r
- }\r
- \r
- private void stopEditingInTables () {\r
- if (jTableFfs.isEditing()) {\r
- jTableFfs.getCellEditor().stopCellEditing();\r
- }\r
- if (jTableFfsSection.isEditing()) {\r
- jTableFfsSection.getCellEditor().stopCellEditing();\r
- }\r
- if (jTableFfsSections.isEditing()) {\r
- jTableFfsSections.getCellEditor().stopCellEditing();\r
- }\r
- if (jTableFfsSubSection.isEditing()) {\r
- jTableFfsSubSection.getCellEditor().stopCellEditing();\r
- }\r
- if (jTableFfsAttribs.isEditing()) {\r
- jTableFfsAttribs.getCellEditor().stopCellEditing();\r
- }\r
- }\r
-\r
- /**\r
- * This method initializes jPanel13 \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelFfsTab() {\r
- if (jPanelFfsTab == null) {\r
- jPanelFfsTab = new JPanel();\r
- jPanelFfsTab.setLayout(new BorderLayout());\r
- jPanelFfsTab.add(getJPanelFfsTabCenter(), java.awt.BorderLayout.CENTER);\r
- jPanelFfsTab.add(getJScrollPaneFfs(), java.awt.BorderLayout.WEST);\r
- }\r
- return jPanelFfsTab;\r
- }\r
-\r
- /**\r
- * This method initializes jPanel18 \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelFfsTabCenter() {\r
- if (jPanelFfsTabCenter == null) {\r
- jPanelFfsTabCenter = new JPanel();\r
- jPanelFfsTabCenter.setLayout(new BorderLayout());\r
- jPanelFfsTabCenter.add(getJPanelFfsTabCenterN(), java.awt.BorderLayout.NORTH);\r
- jPanelFfsTabCenter.add(getJPanelFfsTabCenterS(), java.awt.BorderLayout.SOUTH);\r
- jPanelFfsTabCenter.add(getJSplitPaneFfsC(), java.awt.BorderLayout.CENTER);\r
- }\r
- return jPanelFfsTabCenter;\r
- }\r
-\r
- /**\r
- * This method initializes jPanel15 \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelFfsTabCenterN() {\r
- if (jPanelFfsTabCenterN == null) {\r
- jLabelEncapType = new JLabel();\r
- jLabelEncapType.setText("Encapsulation Type");\r
- FlowLayout flowLayout5 = new FlowLayout();\r
- flowLayout5.setAlignment(java.awt.FlowLayout.RIGHT);\r
- \r
- jPanelFfsTabCenterN = new JPanel();\r
- jPanelFfsTabCenterN.setLayout(flowLayout5);\r
- \r
- \r
- jPanelFfsTabCenterN.add(jLabelEncapType, null);\r
- jPanelFfsTabCenterN.add(getJTextFieldEncapType(), null);\r
- jPanelFfsTabCenterN.add(getJButtonFfsAdd(), null);\r
- jPanelFfsTabCenterN.add(getJButtonFfsDel(), null);\r
- }\r
- return jPanelFfsTabCenterN;\r
- }\r
-\r
- /**\r
- * This method initializes jPanel16 \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelFfsTabCenterS() {\r
- if (jPanelFfsTabCenterS == null) {\r
- jLabelFfsAttribs = new JLabel();\r
- jLabelFfsAttribs.setText("Attributes");\r
- jPanelFfsTabCenterS = new JPanel();\r
- jPanelFfsTabCenterS.setPreferredSize(new java.awt.Dimension(491, 130));\r
- jPanelFfsTabCenterS.setLayout(new BorderLayout());\r
- jPanelFfsTabCenterS.add(jLabelFfsAttribs, java.awt.BorderLayout.WEST);\r
- jPanelFfsTabCenterS.add(getJScrollPaneFfsAttribs(), java.awt.BorderLayout.CENTER);\r
- jPanelFfsTabCenterS.add(getJPanelFfsAttribButtonGroup(), java.awt.BorderLayout.EAST);\r
- }\r
- return jPanelFfsTabCenterS;\r
- }\r
-\r
- /**\r
- * This method initializes jTextField6 \r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- \r
-\r
- /**\r
- * This method initializes jButton8 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonFfsAdd() {\r
- if (jButtonFfsAdd == null) {\r
- jButtonFfsAdd = new JButton();\r
- jButtonFfsAdd.setPreferredSize(new java.awt.Dimension(70, 20));\r
- jButtonFfsAdd.setText("New");\r
- jButtonFfsAdd.addActionListener(new AbstractAction() {\r
- /**\r
- * \r
- */\r
- private static final long serialVersionUID = -2923720717273384221L;\r
-\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- \r
- String[] row = { "" };\r
- ffsTableModel.addRow(row);\r
- docConsole.setSaved(false);\r
- ffc.genBuildOptionsFfs("", "");\r
- jTableFfs.changeSelection(ffsTableModel.getRowCount()-1, 0, false, false);\r
- \r
- }\r
- });\r
- }\r
- return jButtonFfsAdd;\r
- }\r
-\r
- /**\r
- * This method initializes jButton9 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonFfsDel() {\r
- if (jButtonFfsDel == null) {\r
- jButtonFfsDel = new JButton();\r
- jButtonFfsDel.setPreferredSize(new java.awt.Dimension(70, 20));\r
- jButtonFfsDel.setText("Delete");\r
- jButtonFfsDel.addActionListener(new AbstractAction() {\r
- /**\r
- * \r
- */\r
- private static final long serialVersionUID = -4002678939178194476L;\r
-\r
- public void actionPerformed(ActionEvent arg0) {\r
- if (jTableFfs.getSelectedRow() < 0) {\r
- return;\r
- }\r
- stopEditingInTables();\r
- docConsole.setSaved(false);\r
- ffc.removeBuildOptionsFfs(jTableFfs.getSelectedRow());\r
- ffsTableModel.removeRow(jTableFfs.getSelectedRow());\r
- sectionTableModel.setRowCount(0);\r
- sectionsTableModel.setRowCount(0);\r
- subsectionsTableModel.setRowCount(0);\r
- ffsAttributesTableModel.setRowCount(0);\r
- }\r
- });\r
- }\r
- return jButtonFfsDel;\r
- }\r
-\r
- /**\r
- * This method initializes jScrollPane5 \r
- * \r
- * @return javax.swing.JScrollPane \r
- */\r
- private JScrollPane getJScrollPaneFfsAttribs() {\r
- if (jScrollPaneFfsAttribs == null) {\r
- jScrollPaneFfsAttribs = new JScrollPane();\r
-// jScrollPaneFfsAttribs.setPreferredSize(new java.awt.Dimension(350, 100));\r
- jScrollPaneFfsAttribs.setViewportView(getJTableFfsAttribs());\r
- \r
- }\r
- return jScrollPaneFfsAttribs;\r
- }\r
-\r
- /**\r
- * This method initializes jTable4 \r
- * \r
- * @return javax.swing.JTable \r
- */\r
- private JTable getJTableFfsAttribs() {\r
- if (jTableFfsAttribs == null) {\r
- ffsAttributesTableModel = new DefaultTableModel();\r
- jTableFfsAttribs = new JTable(ffsAttributesTableModel);\r
-// jTableFfsAttribs.setPreferredSize(new java.awt.Dimension(400, 80));\r
- jTableFfsAttribs.setRowHeight(20);\r
- ffsAttributesTableModel.addColumn("Name");\r
- ffsAttributesTableModel.addColumn("Value");\r
-\r
- jTableFfsAttribs.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
- jTableFfsAttribs.getModel().addTableModelListener(new TableModelListener() {\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- int row = arg0.getFirstRow();\r
- TableModel m = (TableModel) arg0.getSource();\r
- if (arg0.getType() == TableModelEvent.UPDATE) {\r
- //ToDo Data Validition check.\r
- String name = m.getValueAt(row, 0) + "";\r
- String value = m.getValueAt(row, 1) + "";\r
-\r
- if (name.length() == 0) {\r
- return;\r
- }\r
- if (value.length() == 0) {\r
- return;\r
- }\r
- docConsole.setSaved(false);\r
- ffc.updateBuildOptionsFfsAttribute(jTableFfs.getSelectedRow(), row, name, value);\r
- }\r
- }\r
- });\r
- }\r
- return jTableFfsAttribs;\r
- }\r
-\r
- private void initFfsTable() {\r
- int ffsCount = ffc.getBuildOptionsFfsCount();\r
- if (ffsCount < 0) {\r
- return;\r
- }\r
- String[][] saa = new String[ffsCount][1];\r
- ffc.getBuildOptionsFfsKey(saa);\r
- for (int i = 0; i < saa.length; ++i) {\r
- ffsTableModel.addRow(saa[i]);\r
- }\r
- jTableFfs.changeSelection(0, 0, false, false);\r
- }\r
-\r
- /**\r
- * This method initializes jButton17 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonFfsAttribNew() {\r
- if (jButtonFfsAttribNew == null) {\r
- jButtonFfsAttribNew = new JButton();\r
- jButtonFfsAttribNew.setPreferredSize(new java.awt.Dimension(80, 20));\r
- jButtonFfsAttribNew.setText("New");\r
- jButtonFfsAttribNew.addActionListener(new AbstractAction() {\r
- /**\r
- * \r
- */\r
- private static final long serialVersionUID = 1L;\r
-\r
- public void actionPerformed(ActionEvent arg0) {\r
- if (jTableFfs.getSelectedRow() < 0) {\r
- return;\r
- }\r
- Object[] o = { "", "" };\r
- ffsAttributesTableModel.addRow(o);\r
- docConsole.setSaved(false);\r
- ffc.genBuildOptionsFfsAttribute(jTableFfs.getSelectedRow(), "", "");\r
- }\r
- });\r
- }\r
- return jButtonFfsAttribNew;\r
- }\r
-\r
- /**\r
- * This method initializes jButton18 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonFfsAttribRemove() {\r
- if (jButtonFfsAttribRemove == null) {\r
- jButtonFfsAttribRemove = new JButton();\r
- jButtonFfsAttribRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
- jButtonFfsAttribRemove.setText("Remove");\r
- jButtonFfsAttribRemove.addActionListener(new AbstractAction() {\r
- /**\r
- * \r
- */\r
- private static final long serialVersionUID = 1L;\r
-\r
- public void actionPerformed(ActionEvent arg0) {\r
- if (jTableFfs.getSelectedRow() < 0) {\r
- return;\r
- }\r
- stopEditingInTables();\r
- if (jTableFfsAttribs.getSelectedRow() >= 0) {\r
- docConsole.setSaved(false);\r
- ffsAttributesTableModel.removeRow(jTableFfsAttribs.getSelectedRow());\r
- ffc.removeBuildOptionsFfsAttribute(jTableFfs.getSelectedRow(),\r
- jTableFfsAttribs.getSelectedRow());\r
- }\r
- }\r
- });\r
- }\r
- return jButtonFfsAttribRemove;\r
- }\r
-\r
- /**\r
- * This method initializes jScrollPane \r
- * \r
- * @return javax.swing.JScrollPane \r
- */\r
- private JScrollPane getJScrollPaneFfs() {\r
- if (jScrollPaneFfs == null) {\r
- jScrollPaneFfs = new JScrollPane();\r
- jScrollPaneFfs.setPreferredSize(new java.awt.Dimension(200,419));\r
- jScrollPaneFfs.setViewportView(getJTableFfs());\r
- }\r
- return jScrollPaneFfs;\r
- }\r
-\r
- /**\r
- * This method initializes jTable \r
- * \r
- * @return javax.swing.JTable \r
- */\r
- private JTable getJTableFfs() {\r
- if (jTableFfs == null) {\r
- ffsTableModel = new DefaultTableModel();\r
- ffsTableModel.addColumn("FFS Type");\r
- jTableFfs = new JTable(ffsTableModel);\r
- jTableFfs.setShowGrid(false);\r
- jTableFfs.setRowHeight(20);\r
-\r
- jTableFfs.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
- jTableFfs.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r
- public void valueChanged(ListSelectionEvent e) {\r
-\r
- if (e.getValueIsAdjusting()) {\r
- return;\r
- }\r
- ListSelectionModel lsm = (ListSelectionModel) e.getSource();\r
- if (lsm.isSelectionEmpty()) {\r
- return;\r
- } else {\r
- int row = lsm.getMinSelectionIndex();\r
- sectionTableModel.setRowCount(0);\r
- sectionsTableModel.setRowCount(0);\r
- subsectionsTableModel.setRowCount(0);\r
- ffsAttributesTableModel.setRowCount(0);\r
- String[] sArray = { "", "" };\r
- LinkedHashMap<String, String> lhm = new LinkedHashMap<String, String>();\r
- ArrayList<String> alSections = new ArrayList<String>();\r
- ArrayList<String> alSection = new ArrayList<String>();\r
- ffc.getBuildOptionsFfs(row, sArray, lhm, alSections, alSection);\r
- ffsSelection = true;\r
- jTextFieldEncapType.setText(sArray[1]);\r
- ffsSelection = false;\r
- for (int i = 0; i < alSection.size(); ++i) {\r
- String[] sectionRow = { alSection.get(i) };\r
- sectionTableModel.addRow(sectionRow);\r
- }\r
- for (int j = 0; j < alSections.size(); ++j) {\r
- String[] sectionsRow = { alSections.get(j) };\r
- sectionsTableModel.addRow(sectionsRow);\r
- }\r
- if (lhm.size() <= 0) {\r
- return;\r
- }\r
- Set<String> keySet = lhm.keySet();\r
- Iterator<String> is = keySet.iterator();\r
- while (is.hasNext()) {\r
- String key = is.next();\r
- String[] attribRow = { key, lhm.get(key) };\r
- ffsAttributesTableModel.addRow(attribRow);\r
- }\r
- selectedFfsTableRow = row;\r
- }\r
- }\r
- });\r
-\r
- jTableFfs.getModel().addTableModelListener(new TableModelListener() {\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- int row = arg0.getFirstRow();\r
- TableModel m = (TableModel) arg0.getSource();\r
- if (arg0.getType() == TableModelEvent.UPDATE) {\r
- //ToDo Data Validition check.\r
- String id = m.getValueAt(row, 0) + "";\r
-\r
- if (id.length() == 0) {\r
- return;\r
- }\r
- docConsole.setSaved(false);\r
- ffc.updateBuildOptionsFfsKey(row, id);\r
- }\r
- }\r
- });\r
- }\r
- return jTableFfs;\r
- }\r
-\r
- /**\r
- * This method initializes jScrollPane1 \r
- * \r
- * @return javax.swing.JScrollPane \r
- */\r
- private JScrollPane getJScrollPaneFfsSection() {\r
- if (jScrollPaneFfsSection == null) {\r
- jScrollPaneFfsSection = new JScrollPane();\r
-// jScrollPaneFfsSection.setPreferredSize(new java.awt.Dimension(500, 80));\r
- jScrollPaneFfsSection.setViewportView(getJTableFfsSection());\r
- }\r
- return jScrollPaneFfsSection;\r
- }\r
-\r
- /**\r
- * This method initializes jTable1 \r
- * \r
- * @return javax.swing.JTable \r
- */\r
- private JTable getJTableFfsSection() {\r
- if (jTableFfsSection == null) {\r
- sectionTableModel = new DefaultTableModel();\r
- sectionTableModel.addColumn("SectionType");\r
-\r
- jTableFfsSection = new JTable(sectionTableModel);\r
- jTableFfsSection.setRowHeight(20);\r
- JComboBox cb = new JComboBox();\r
- cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");\r
- cb.addItem("EFI_SECTION_VERSION");\r
- cb.addItem("EFI_SECTION_USER_INTERFACE");\r
- cb.addItem("EFI_SECTION_DXE_DEPEX");\r
- cb.addItem("EFI_SECTION_PEI_DEPEX");\r
- cb.addItem("EFI_SECTION_PE32");\r
- cb.addItem("EFI_SECTION_PIC");\r
- cb.addItem("EFI_SECTION_TE");\r
- cb.addItem("EFI_SECTION_RAW");\r
- cb.addItem("EFI_SECTION_COMPRESSION");\r
- cb.addItem("EFI_SECTION_GUID_DEFINED");\r
- cb.addItem("EFI_SECTION_COMPATIBILITY16");\r
- cb.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");\r
- jTableFfsSection.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb));\r
-\r
- jTableFfsSection.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-\r
- jTableFfsSection.getModel().addTableModelListener(new TableModelListener() {\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- if (jTableFfs.getSelectedRow() < 0) {\r
- return;\r
- }\r
- int row = arg0.getFirstRow();\r
- TableModel m = (TableModel) arg0.getSource();\r
- if (arg0.getType() == TableModelEvent.UPDATE) {\r
- //ToDo Data Validition check.\r
- String type = m.getValueAt(row, 0) + "";\r
- docConsole.setSaved(false);\r
- ffc.updateBuildOptionsFfsSectionsSection(jTableFfs.getSelectedRow(), row, type);\r
- }\r
- }\r
- });\r
- }\r
- return jTableFfsSection;\r
- }\r
-\r
- /**\r
- * This method initializes jScrollPane3 \r
- * \r
- * @return javax.swing.JScrollPane \r
- */\r
- private JScrollPane getJScrollPaneFfsSubSection() {\r
- if (jScrollPaneFfsSubSection == null) {\r
- jScrollPaneFfsSubSection = new JScrollPane();\r
-// jScrollPaneFfsSubSection.setPreferredSize(new java.awt.Dimension(500, 90));\r
- jScrollPaneFfsSubSection.setViewportView(getJTableFfsSubSection());\r
- }\r
- return jScrollPaneFfsSubSection;\r
- }\r
-\r
- /**\r
- * This method initializes jTable3 \r
- * \r
- * @return javax.swing.JTable \r
- */\r
- private JTable getJTableFfsSubSection() {\r
- if (jTableFfsSubSection == null) {\r
- subsectionsTableModel = new DefaultTableModel();\r
- subsectionsTableModel.addColumn("SectionType");\r
- jTableFfsSubSection = new JTable(subsectionsTableModel);\r
- jTableFfsSubSection.setRowHeight(20);\r
- JComboBox cb = new JComboBox();\r
- cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");\r
- cb.addItem("EFI_SECTION_VERSION");\r
- cb.addItem("EFI_SECTION_USER_INTERFACE");\r
- cb.addItem("EFI_SECTION_DXE_DEPEX");\r
- cb.addItem("EFI_SECTION_PEI_DEPEX");\r
- cb.addItem("EFI_SECTION_PE32");\r
- cb.addItem("EFI_SECTION_PIC");\r
- cb.addItem("EFI_SECTION_TE");\r
- cb.addItem("EFI_SECTION_RAW");\r
- cb.addItem("EFI_SECTION_COMPRESSION");\r
- cb.addItem("EFI_SECTION_GUID_DEFINED");\r
- cb.addItem("EFI_SECTION_COMPATIBILITY16");\r
- cb.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");\r
- jTableFfsSubSection.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb));\r
- jTableFfsSubSection.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-\r
- jTableFfsSubSection.getModel().addTableModelListener(new TableModelListener() {\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- if (jTableFfs.getSelectedRow() < 0 || jTableFfsSections.getSelectedRow() < 0) {\r
- return;\r
- }\r
- int row = arg0.getFirstRow();\r
- TableModel m = (TableModel) arg0.getSource();\r
- if (arg0.getType() == TableModelEvent.UPDATE) {\r
- //ToDo Data Validition check.\r
- String type = m.getValueAt(row, 0) + "";\r
- docConsole.setSaved(false);\r
- ffc.updateBuildOptionsFfsSectionsSectionsSection(jTableFfs.getSelectedRow(),\r
- jTableFfsSections.getSelectedRow(), row, type);\r
- }\r
- }\r
- });\r
- }\r
- return jTableFfsSubSection;\r
- }\r
-\r
- /**\r
- * This method initializes jTextField \r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- private JTextField getJTextFieldEncapType() {\r
- if (jTextFieldEncapType == null) {\r
- jTextFieldEncapType = new JTextField();\r
- jTextFieldEncapType.setPreferredSize(new java.awt.Dimension(200,20));\r
- jTextFieldEncapType.getDocument().addDocumentListener(new DocumentListener() {\r
-\r
- public void insertUpdate(DocumentEvent arg0) {\r
- if (ffsSelection) {\r
-// ffsSelection = false;\r
- return;\r
- }\r
- if (docConsole != null) {\r
- docConsole.setSaved(false);\r
- }\r
- }\r
-\r
- public void removeUpdate(DocumentEvent arg0) {\r
- if (ffsSelection) {\r
-// ffsSelection = false;\r
- return;\r
- }\r
- if (docConsole != null) {\r
- docConsole.setSaved(false);\r
- }\r
- }\r
-\r
- public void changedUpdate(DocumentEvent arg0) {\r
- // TODO Auto-generated method stub\r
- \r
- }\r
- \r
- });\r
- jTextFieldEncapType.addFocusListener(new java.awt.event.FocusAdapter() {\r
- public void focusLost(java.awt.event.FocusEvent e) {\r
- if (selectedFfsTableRow < 0) {\r
- return;\r
- }\r
- ffc.updateBuildOptionsFfsSectionsType(selectedFfsTableRow, jTextFieldEncapType.getText());\r
- \r
- }\r
- });\r
- }\r
- return jTextFieldEncapType;\r
- }\r
-\r
- /**\r
- * This method initializes jPanel4 \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelFfsAttribButtonGroup() {\r
- if (jPanelFfsAttribButtonGroup == null) {\r
- jPanelFfsAttribButtonGroup = new JPanel();\r
- jPanelFfsAttribButtonGroup.setPreferredSize(new java.awt.Dimension(100, 100));\r
- jPanelFfsAttribButtonGroup.add(getJButtonFfsAttribNew(), null);\r
- jPanelFfsAttribButtonGroup.add(getJButtonFfsAttribRemove(), null);\r
- }\r
- return jPanelFfsAttribButtonGroup;\r
- }\r
-\r
- /**\r
- * This method initializes jButton \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonFfsSectionNew() {\r
- if (jButtonFfsSectionNew == null) {\r
- jButtonFfsSectionNew = new JButton();\r
- jButtonFfsSectionNew.setPreferredSize(new java.awt.Dimension(80, 20));\r
- jButtonFfsSectionNew.setText("New");\r
- jButtonFfsSectionNew.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- if (jTableFfs.getSelectedRow() < 0) {\r
- return;\r
- }\r
- docConsole.setSaved(false);\r
- String[] row = { "EFI_SECTION_RAW" };\r
- sectionTableModel.addRow(row);\r
- ffc.genBuildOptionsFfsSectionsSection(jTableFfs.getSelectedRow(), row[0]);\r
- }\r
- });\r
- }\r
- return jButtonFfsSectionNew;\r
- }\r
-\r
- /**\r
- * This method initializes jButton1 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonFfsSectionRemove() {\r
- if (jButtonFfsSectionRemove == null) {\r
- jButtonFfsSectionRemove = new JButton();\r
- jButtonFfsSectionRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
- jButtonFfsSectionRemove.setText("Remove");\r
-\r
- jButtonFfsSectionRemove.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- if (jTableFfs.getSelectedRow() < 0 || jTableFfsSection.getSelectedRow() < 0) {\r
- return;\r
- }\r
- stopEditingInTables();\r
- docConsole.setSaved(false);\r
- sectionTableModel.removeRow(jTableFfsSection.getSelectedRow());\r
- ffc.removeBuildOptionsFfsSectionsSection(jTableFfs.getSelectedRow(),\r
- jTableFfsSection.getSelectedRow());\r
- }\r
- });\r
- }\r
- return jButtonFfsSectionRemove;\r
- }\r
-\r
- /**\r
- * This method initializes jButton2 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonFfsSubSectionNew() {\r
- if (jButtonFfsSubSectionNew == null) {\r
- jButtonFfsSubSectionNew = new JButton();\r
- jButtonFfsSubSectionNew.setPreferredSize(new java.awt.Dimension(80, 20));\r
- jButtonFfsSubSectionNew.setText("New");\r
- jButtonFfsSubSectionNew.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- if (jTableFfs.getSelectedRow() < 0 || jTableFfsSections.getSelectedRow() < 0) {\r
- return;\r
- }\r
- docConsole.setSaved(false);\r
- String[] row = { "EFI_SECTION_RAW" };\r
- subsectionsTableModel.addRow(row);\r
- ffc.genBuildOptionsFfsSectionsSectionsSection(jTableFfs.getSelectedRow(),\r
- jTableFfsSections.getSelectedRow(), row[0]);\r
-\r
- }\r
- });\r
- }\r
- return jButtonFfsSubSectionNew;\r
- }\r
-\r
- /**\r
- * This method initializes jButton3 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonFfsSubSectionRemove() {\r
- if (jButtonFfsSubSectionRemove == null) {\r
- jButtonFfsSubSectionRemove = new JButton();\r
- jButtonFfsSubSectionRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
- jButtonFfsSubSectionRemove.setText("Remove");\r
- jButtonFfsSubSectionRemove.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- int selectedFfsRow = jTableFfs.getSelectedRow();\r
- int selectedSectionsRow = jTableFfsSections.getSelectedRow();\r
- int selectedSubSectionRow = jTableFfsSubSection.getSelectedRow();\r
- if (selectedFfsRow < 0 || selectedSectionsRow < 0\r
- || selectedSubSectionRow < 0) {\r
- return;\r
- }\r
- stopEditingInTables();\r
- docConsole.setSaved(false);\r
- subsectionsTableModel.removeRow(selectedSubSectionRow);\r
- ffc.removeBuildOptionsFfsSectionsSectionsSection(selectedFfsRow,\r
- selectedSectionsRow,\r
- selectedSubSectionRow);\r
- if (subsectionsTableModel.getRowCount() == 0) {\r
- sectionsTableModel.removeRow(selectedSectionsRow);\r
- }\r
- }\r
- });\r
- }\r
- return jButtonFfsSubSectionRemove;\r
- }\r
-\r
- /**\r
- * This method initializes jButton6 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonFfsSectionsNew() {\r
- if (jButtonFfsSectionsNew == null) {\r
- jButtonFfsSectionsNew = new JButton();\r
- jButtonFfsSectionsNew.setPreferredSize(new java.awt.Dimension(80, 20));\r
- jButtonFfsSectionsNew.setText("New");\r
- jButtonFfsSectionsNew.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- if (jTableFfs.getSelectedRow() < 0) {\r
- return;\r
- }\r
- docConsole.setSaved(false);\r
- String[] row = { "Compress" };\r
- sectionsTableModel.addRow(row);\r
- ffc.genBuildOptionsFfsSectionsSections(jTableFfs.getSelectedRow(), "");\r
- JOptionPane.showMessageDialog(FpdBuildOptions.this, "Add Default Section Type EFI_SECTION_PE32 into the New Sections Entry.");\r
- jTableFfsSections.changeSelection(sectionsTableModel.getRowCount()-1, 0, false, false);\r
- }\r
- });\r
- }\r
- return jButtonFfsSectionsNew;\r
- }\r
-\r
- /**\r
- * This method initializes jButton7 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonFfsSectionsRemove() {\r
- if (jButtonFfsSectionsRemove == null) {\r
- jButtonFfsSectionsRemove = new JButton();\r
- jButtonFfsSectionsRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
- jButtonFfsSectionsRemove.setText("Remove");\r
- jButtonFfsSectionsRemove.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- if (jTableFfs.getSelectedRow() < 0 || jTableFfsSections.getSelectedRow() < 0) {\r
- return;\r
- }\r
- stopEditingInTables();\r
- docConsole.setSaved(false);\r
- sectionsTableModel.removeRow(jTableFfsSections.getSelectedRow());\r
- ffc.removeBuildOptionsFfsSectionsSections(jTableFfs.getSelectedRow(),\r
- jTableFfsSections.getSelectedRow());\r
- subsectionsTableModel.setRowCount(0);\r
- }\r
- });\r
- }\r
- return jButtonFfsSectionsRemove;\r
- }\r
-\r
- private JScrollPane getJScrollPaneFfsSections() {\r
- if (jScrollPaneFfsSections == null) {\r
- jScrollPaneFfsSections = new JScrollPane();\r
-// jScrollPaneFfsSections.setPreferredSize(new java.awt.Dimension(500, 80));\r
- jScrollPaneFfsSections.setViewportView(getJTableFfsSections());\r
- }\r
- return jScrollPaneFfsSections;\r
- }\r
-\r
- /**\r
- * This method initializes jTable6 \r
- * \r
- * @return javax.swing.JTable \r
- */\r
- private JTable getJTableFfsSections() {\r
- if (jTableFfsSections == null) {\r
- sectionsTableModel = new DefaultTableModel();\r
- sectionsTableModel.addColumn("EncapsulationType");\r
- jTableFfsSections = new JTable(sectionsTableModel);\r
- jTableFfsSections.setRowHeight(20);\r
- jTableFfsSections.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
- jTableFfsSections.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r
- public void valueChanged(ListSelectionEvent e) {\r
- if (e.getValueIsAdjusting()) {\r
- return;\r
- }\r
- ListSelectionModel lsm = (ListSelectionModel) e.getSource();\r
- if (lsm.isSelectionEmpty()) {\r
- return;\r
- } else {\r
- int sectionsRow = lsm.getMinSelectionIndex();\r
- if (jTableFfs.getSelectedRow() < 0) {\r
- return;\r
- }\r
- subsectionsTableModel.setRowCount(0);\r
- ArrayList<String> al = new ArrayList<String>();\r
- ffc.getBuildOptionsFfsSectionsSectionsSection(jTableFfs.getSelectedRow(), sectionsRow, al);\r
- for (int i = 0; i < al.size(); ++i) {\r
- String[] subsectionRow = { al.get(i) };\r
- subsectionsTableModel.addRow(subsectionRow);\r
- }\r
- }\r
- }\r
- });\r
-\r
- jTableFfsSections.getModel().addTableModelListener(new TableModelListener() {\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- int row = arg0.getFirstRow();\r
- TableModel m = (TableModel) arg0.getSource();\r
- if (arg0.getType() == TableModelEvent.UPDATE) {\r
- //ToDo Data Validition check.\r
- String encapType = m.getValueAt(row, 0) + "";\r
- docConsole.setSaved(false);\r
- ffc.updateBuildOptionsFfsSectionsSections(jTableFfs.getSelectedRow(), row, encapType);\r
- }\r
- }\r
- });\r
- }\r
- return jTableFfsSections;\r
- }\r
-\r
- /**\r
- * This method initializes jSplitPaneFfsC \r
- * \r
- * @return javax.swing.JSplitPane \r
- */\r
- private JSplitPane getJSplitPaneFfsC() {\r
- if (jSplitPaneFfsC == null) {\r
- jSplitPaneFfsC = new JSplitPane();\r
- jSplitPaneFfsC.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);\r
- jSplitPaneFfsC.setDividerLocation(130);\r
- jSplitPaneFfsC.setTopComponent(getJPanelFfsCTop());\r
- jSplitPaneFfsC.setBottomComponent(getJSplitPaneFfsCBottom());\r
- jSplitPaneFfsC.setDividerSize(5);\r
- }\r
- return jSplitPaneFfsC;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelFfsCTop \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelFfsCTop() {\r
- if (jPanelFfsCTop == null) {\r
- jPanelFfsCTop = new JPanel();\r
- jPanelFfsCTop.setLayout(new BorderLayout());\r
- jPanelFfsCTop.add(getJPanelSectionN(), java.awt.BorderLayout.NORTH);\r
- jPanelFfsCTop.add(getJScrollPaneFfsSection(), java.awt.BorderLayout.CENTER);\r
- }\r
- return jPanelFfsCTop;\r
- }\r
-\r
- /**\r
- * This method initializes jSplitPaneFfsCBottom \r
- * \r
- * @return javax.swing.JSplitPane \r
- */\r
- private JSplitPane getJSplitPaneFfsCBottom() {\r
- if (jSplitPaneFfsCBottom == null) {\r
- jSplitPaneFfsCBottom = new JSplitPane();\r
- jSplitPaneFfsCBottom.setDividerSize(5);\r
- jSplitPaneFfsCBottom.setDividerLocation(130);\r
- jSplitPaneFfsCBottom.setTopComponent(getJPanelFfsCBottomTop());\r
- jSplitPaneFfsCBottom.setBottomComponent(getJPanelFfsCBottomBottom());\r
- jSplitPaneFfsCBottom.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);\r
- }\r
- return jSplitPaneFfsCBottom;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelFfsCBottomTop \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelFfsCBottomTop() {\r
- if (jPanelFfsCBottomTop == null) {\r
- jPanelFfsCBottomTop = new JPanel();\r
- jPanelFfsCBottomTop.setLayout(new BorderLayout());\r
- jPanelFfsCBottomTop.add(getJPanelSectionsN(), java.awt.BorderLayout.NORTH);\r
- jPanelFfsCBottomTop.add(getJScrollPaneFfsSections(), java.awt.BorderLayout.CENTER);\r
- }\r
- return jPanelFfsCBottomTop;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelFfsCBottomBottom \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelFfsCBottomBottom() {\r
- if (jPanelFfsCBottomBottom == null) {\r
- jPanelFfsCBottomBottom = new JPanel();\r
- jPanelFfsCBottomBottom.setLayout(new BorderLayout());\r
- jPanelFfsCBottomBottom.add(getJPanelSubSectionN(), java.awt.BorderLayout.NORTH);\r
- jPanelFfsCBottomBottom.add(getJScrollPaneFfsSubSection(), java.awt.BorderLayout.CENTER);\r
- }\r
- return jPanelFfsCBottomBottom;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelSectionN \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelSectionN() {\r
- if (jPanelSectionN == null) {\r
- jPanelSectionN = new JPanel();\r
- jLabelFfsSection = new JLabel();\r
- jLabelFfsSection.setText("Section");\r
- jPanelSectionN.add(jLabelFfsSection, null);\r
- jPanelSectionN.add(getJButtonFfsSectionNew(), null);\r
- jPanelSectionN.add(getJButtonFfsSectionRemove(), null);\r
- }\r
- return jPanelSectionN;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelSectionsN \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelSectionsN() {\r
- if (jPanelSectionsN == null) {\r
- jPanelSectionsN = new JPanel();\r
- jLabelFfsSections = new JLabel();\r
- jLabelFfsSections.setText("Sections");\r
- jPanelSectionsN.add(jLabelFfsSections, null);\r
- jPanelSectionsN.add(getJButtonFfsSectionsNew(), null);\r
- jPanelSectionsN.add(getJButtonFfsSectionsRemove(), null);\r
- }\r
- return jPanelSectionsN;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelSubSectionN \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelSubSectionN() {\r
- if (jPanelSubSectionN == null) {\r
- jPanelSubSectionN = new JPanel();\r
- jLabelFfsSubSections = new JLabel();\r
- jLabelFfsSubSections.setText("Sub-Sections");\r
- jPanelSubSectionN.add(jLabelFfsSubSections, null);\r
- jPanelSubSectionN.add(getJButtonFfsSubSectionNew(), null);\r
- jPanelSubSectionN.add(getJButtonFfsSubSectionRemove(), null);\r
- }\r
- return jPanelSubSectionN;\r
- }\r
-\r
- /**\r
- * The following section contains all Build Options content\r
- */\r
-\r
- /**\r
- * This method initializes jPanelOptionsTab\r
- * \r
- * This is the main Options screen\r
- * \r
- * @return javax.swing.JPanel jPanelOptionsTab\r
- */\r
- private JPanel getJPanelOptionsTab() {\r
- if (jPanelOptionsTab == null) {\r
- // This container holds the Options Tab content\r
-\r
- // FlowLayout flowLayout9 = new FlowLayout();\r
- // flowLayout9.setAlignment(java.awt.FlowLayout.LEFT);\r
-\r
- GridLayout gridLayout = new GridLayout();\r
- gridLayout.setRows(2);\r
- jPanelOptionsTab = new JPanel();\r
- jPanelOptionsTab.setLayout(gridLayout);\r
- jPanelOptionsTab.setBounds(new java.awt.Rectangle(0, 0, dialogWidth * 2, dialogHeight * 3));\r
- jPanelOptionsTab.setPreferredSize(new java.awt.Dimension(dialogWidth + 10, (dialogHeight * 3) + 10));\r
- jPanelOptionsTab.setAutoscrolls(true);\r
- jPanelOptionsTab.setLocation(0, 0);\r
- jPanelOptionsTab.add(getJPanelOptionsContainer(), null);\r
-// jPanelOptionsTab.add(getJScrollPaneOptions(), null);\r
- jPanelOptionsTab.add(getJPanelTableOptionsContainer(), null);\r
- }\r
- return jPanelOptionsTab;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelOptionsContainer \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelOptionsContainer() {\r
- if (jPanelOptionsContainer == null) {\r
- jLabelTagName = new JLabel();\r
- jLabelTagName.setBounds(new java.awt.Rectangle(labelColumn, rowOne, labelWidth, oneRowHeight));\r
- jLabelTagName.setLocation(new java.awt.Point(labelColumn, rowOne));\r
- jLabelTagName.setText("Tag Name");\r
- jLabelBuildTargets = new JLabel();\r
- jLabelBuildTargets.setBounds(new java.awt.Rectangle(labelColumn, rowTwo, labelWidth, oneRowHeight));\r
- jLabelBuildTargets.setLocation(new java.awt.Point(labelColumn, rowTwo));\r
- jLabelBuildTargets.setText("Build Targets");\r
- jLabelToolCmd = new JLabel();\r
- jLabelToolCmd.setBounds(new java.awt.Rectangle(labelColumn, rowThree, labelWidth, oneRowHeight));\r
- jLabelToolCmd.setLocation(new java.awt.Point(labelColumn, rowThree));\r
- jLabelToolCmd.setText("Tool Command");\r
- jLabelSupArch = new JLabel();\r
- jLabelSupArch.setBounds(new java.awt.Rectangle(labelColumn, rowFour, labelWidth, oneRowHeight));\r
- jLabelSupArch.setLocation(new java.awt.Point(labelColumn, rowFour));\r
- jLabelSupArch.setText("Supported Architectures");\r
- jLabelToolChainFamily = new JLabel();\r
- jLabelToolChainFamily.setBounds(new java.awt.Rectangle(labelColumn, rowFive, labelWidth, oneRowHeight));\r
- jLabelToolChainFamily.setLocation(new java.awt.Point(labelColumn, rowFive));\r
- jLabelToolChainFamily.setText("Tool Chain Family");\r
-\r
- jLabelOptionContents = new JLabel();\r
- jLabelOptionContents.setBounds(new java.awt.Rectangle(labelColumn, rowSix, labelWidth, oneRowHeight));\r
- jLabelOptionContents.setLocation(new java.awt.Point(labelColumn, rowSix));\r
- jLabelOptionContents.setText("Argument Strings");\r
-\r
- jPanelOptionsContainer = new JPanel();\r
-\r
- jPanelOptionsContainer.setLayout(null);\r
- \r
- jPanelOptionsContainer.setPreferredSize(new java.awt.Dimension(dialogWidth, dialogHeight));\r
- /*\r
- jPanelOptionsContainer\r
- .setBorder(javax.swing.BorderFactory\r
- .createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
-*/\r
- jPanelOptionsContainer.add(jLabelTagName, null);\r
- jPanelOptionsContainer.add(getJTextFieldTagName(), null);\r
-\r
- jPanelOptionsContainer.add(jLabelBuildTargets, null);\r
- jPanelOptionsContainer.add(getJTextFieldBuildTargets(), null);\r
-\r
- jPanelOptionsContainer.add(jLabelToolChainFamily, null);\r
- jPanelOptionsContainer.add(getJTextFieldToolChainFamily(), null);\r
-\r
- jPanelOptionsContainer.add(jLabelToolCmd, null);\r
- jPanelOptionsContainer.add(getJTextFieldToolCmd(), null);\r
-\r
- jPanelOptionsContainer.add(jLabelSupArch, null);\r
- jPanelOptionsContainer.add(getArchitectureSelections(), null);\r
-\r
- jPanelOptionsContainer.add(jLabelOptionContents, null);\r
- jPanelOptionsContainer.add(getJTextFieldOptionContents(), null);\r
-\r
- jPanelOptionsContainer.add(getJButtonOptionsAdd(), null);\r
- jPanelOptionsContainer.add(getJButtonOptionsDel(), null);\r
- }\r
- return jPanelOptionsContainer;\r
- }\r
-\r
- /**\r
- * This method initializes jTextFieldOptionTagName Row 1\r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- private JTextField getJTextFieldTagName() {\r
- if (jTextFieldTagName == null) {\r
- jTextFieldTagName = new JTextField();\r
- jTextFieldTagName.setBounds(new java.awt.Rectangle(fieldColumn, rowOne, fieldWidth, oneRowHeight));\r
- jTextFieldTagName.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
- jTextFieldTagName.setLocation(new java.awt.Point(fieldColumn, rowOne));\r
- }\r
- return jTextFieldTagName;\r
- }\r
-\r
- /**\r
- * This method initializes jTextFieldBuildTargets Row 2 \r
- * \r
- * @return javax.swing.JTextField jTextFieldBuildTargets\r
- */\r
- private JTextField getJTextFieldBuildTargets() {\r
- if (jTextFieldBuildTargets == null) {\r
- jTextFieldBuildTargets = new JTextField();\r
- jTextFieldBuildTargets.setBounds(new java.awt.Rectangle(fieldColumn, rowTwo, fieldWidth, oneRowHeight));\r
- jTextFieldBuildTargets.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
- jTextFieldBuildTargets.setLocation(new java.awt.Point(fieldColumn, rowTwo));\r
- }\r
- return jTextFieldBuildTargets;\r
- }\r
-\r
- /**\r
- * This method initializes jTextFieldToolCmd Row 3 \r
- * \r
- * This should be a dropdown box of command codes from tools_def.txt\r
- * \r
- * @return javax.swing.JTextField jTextFieldToolCmd\r
- */\r
- private JTextField getJTextFieldToolCmd() {\r
- if (jTextFieldToolCmd == null) {\r
- jTextFieldToolCmd = new JTextField();\r
- jTextFieldToolCmd.setBounds(new java.awt.Rectangle(fieldColumn, rowThree, fieldWidth, oneRowHeight));\r
- jTextFieldToolCmd.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
- jTextFieldToolCmd.setLocation(new java.awt.Point(fieldColumn, rowThree));\r
- }\r
- return jTextFieldToolCmd;\r
- }\r
-\r
- /**\r
- * This method initializes jArchitectureSelections Row 4\r
- * \r
- * @return jArchitectureSelections\r
- */\r
- private JPanel getArchitectureSelections() {\r
- if (jArchitectureSelections == null) {\r
- jArchitectureSelections = new JPanel();\r
- jArchitectureSelections.setLayout(null);\r
- jArchitectureSelections.add(getJCheckBoxIA32(), null);\r
- jArchitectureSelections.add(getJCheckBoxX64(), null);\r
- jArchitectureSelections.add(getJCheckBoxIpf(), null);\r
- jArchitectureSelections.add(getJCheckBoxEBC(), null);\r
- jArchitectureSelections.add(getJCheckBoxARM(), null);\r
- jArchitectureSelections.add(getJCheckBoxPPC(), null);\r
- jArchitectureSelections.setBounds(new java.awt.Rectangle(fieldColumn, rowFour, fieldWidth, oneRowHeight));\r
- jArchitectureSelections.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
- jArchitectureSelections.setLocation(new java.awt.Point(fieldColumn, rowFour));\r
- }\r
- return jArchitectureSelections;\r
- }\r
-\r
- /**\r
- * This method initializes jCheckBoxIA32 \r
- * \r
- * @return javax.swing.JCheckBox jCheckBoxIA32\r
- */\r
- private JCheckBox getJCheckBoxIA32() {\r
- if (jCheckBoxIA32 == null) {\r
- jCheckBoxIA32 = new JCheckBox();\r
- jCheckBoxIA32.setBounds(new java.awt.Rectangle(0, 0, 55, 20));\r
- jCheckBoxIA32.setText("IA32");\r
- }\r
- return jCheckBoxIA32;\r
- }\r
-\r
- /**\r
- * This method initializes jCheckBoxX64 \r
- * \r
- * @return javax.swing.JCheckBox jCheckBoxX64\r
- */\r
- private JCheckBox getJCheckBoxX64() {\r
- if (jCheckBoxX64 == null) {\r
- jCheckBoxX64 = new JCheckBox();\r
- jCheckBoxX64.setText("X64");\r
- jCheckBoxX64.setBounds(new java.awt.Rectangle(55, 0, 53, 20));\r
- }\r
- return jCheckBoxX64;\r
- }\r
-\r
- /**\r
- * This method initializes jCheckBoxIpf\r
- * \r
- * @return javax.swing.JCheckBox jCheckBoxIpf\r
- */\r
- private JCheckBox getJCheckBoxIpf() {\r
- if (jCheckBoxIpf == null) {\r
- jCheckBoxIpf = new JCheckBox();\r
- jCheckBoxIpf.setBounds(new java.awt.Rectangle(108, 0, 52, 20));\r
- jCheckBoxIpf.setText("IPF");\r
- }\r
- return jCheckBoxIpf;\r
- }\r
-\r
-\r
- /**\r
- * This method initializes jCheckBoxEBC\r
- * \r
- * @return javax.swing.JCheckBox jCheckBoxEBC\r
- */\r
- private JCheckBox getJCheckBoxEBC() {\r
- if (jCheckBoxEBC == null) {\r
- jCheckBoxEBC = new JCheckBox();\r
- jCheckBoxEBC.setBounds(new java.awt.Rectangle(160, 0, 53, 20));\r
- jCheckBoxEBC.setText("EBC");\r
- }\r
- return jCheckBoxEBC;\r
- }\r
-\r
- /**\r
- * This method initializes jCheckBoxARM\r
- * \r
- * @return javax.swing.JCheckBox jCheckBoxARM\r
- */\r
- private JCheckBox getJCheckBoxARM() {\r
- if (jCheckBoxARM == null) {\r
- jCheckBoxARM = new JCheckBox();\r
- jCheckBoxARM.setBounds(new java.awt.Rectangle(213, 0, 54, 20));\r
- jCheckBoxARM.setText("ARM");\r
- }\r
- return jCheckBoxARM;\r
- }\r
-\r
- /**\r
- * This method initializes jCheckBoxPPC \r
- * \r
- * @return javax.swing.JCheckBox jCheckBoxPPC\r
- */\r
- private JCheckBox getJCheckBoxPPC() {\r
- if (jCheckBoxPPC == null) {\r
- jCheckBoxPPC = new JCheckBox();\r
- jCheckBoxPPC.setBounds(new java.awt.Rectangle(267, 0, 53, 20));\r
- jCheckBoxPPC.setText("PPC");\r
- }\r
- return jCheckBoxPPC;\r
- }\r
-\r
- /**\r
- * This method initializes jTextFieldToolChainFamily Row 5 \r
- * \r
- * This should be a drop down for MSFT, INTEL, GCC or USER_DEFINED\r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- private JTextField getJTextFieldToolChainFamily() {\r
- if (jTextFieldToolChainFamily == null) {\r
- jTextFieldToolChainFamily = new JTextField();\r
- jTextFieldToolChainFamily.setBounds(new java.awt.Rectangle(fieldColumn, rowFive, fieldWidth, oneRowHeight));\r
- jTextFieldToolChainFamily.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
- jTextFieldToolChainFamily.setLocation(new java.awt.Point(fieldColumn, rowFive));\r
- }\r
- return jTextFieldToolChainFamily;\r
- }\r
-\r
- /**\r
- * This method initializes jTextFieldOptionContents Row 6\r
- * \r
- * This is where we should put the checkbox & entry data for the command arguments\r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- private JTextField getJTextFieldOptionContents() {\r
- if (jTextFieldOptionContents == null) {\r
- jTextFieldOptionContents = new JTextField();\r
- jTextFieldOptionContents.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
- jTextFieldOptionContents.setBounds(fieldColumn, rowSix, fieldWidth, oneRowHeight);\r
- jTextFieldOptionContents.setLocation(new java.awt.Point(fieldColumn, rowSix));\r
- }\r
- return jTextFieldOptionContents;\r
- }\r
-\r
- /**\r
- * This method initializes jButtonOptionsAdd\r
- * \r
- * Add entry from the top screen to the table\r
- * \r
- * @return javax.swing.JButton jButtonOptionsAdd\r
- */\r
- private JButton getJButtonOptionsAdd() {\r
- if (jButtonOptionsAdd == null) {\r
- jButtonOptionsAdd = new JButton();\r
- jButtonOptionsAdd.setText("Add");\r
-\r
- jButtonOptionsAdd.setPreferredSize(new java.awt.Dimension(buttonWidth, oneRowHeight));\r
- jButtonOptionsAdd.setBounds(new java.awt.Rectangle(firstButtonLoc, buttonRow, buttonWidth, oneRowHeight)); \r
- jButtonOptionsAdd.setLocation(new java.awt.Point(firstButtonLoc, buttonRow));\r
- jButtonOptionsAdd.addActionListener(new AbstractAction() {\r
- /**\r
- * \r
- */\r
- private static final long serialVersionUID = 1L;\r
-\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- boolean[] boolArray = { jCheckBoxIA32.isSelected(), jCheckBoxIpf.isSelected(),\r
- jCheckBoxX64.isSelected(), jCheckBoxEBC.isSelected(),\r
- jCheckBoxARM.isSelected(), jCheckBoxPPC.isSelected() };\r
- String s = boolToList(boolArray);\r
- Object[] o = { jTextFieldBuildTargets.getText(), jTextFieldToolChainFamily.getText(), s,\r
- jTextFieldToolCmd.getText(), jTextFieldTagName.getText(),\r
- jTextFieldOptionContents.getText() };\r
- optionsTableModel.addRow(o);\r
- docConsole.setSaved(false);\r
- ffc.genBuildOptionsOpt(stringToVector(jTextFieldBuildTargets.getText().trim()),\r
- jTextFieldToolChainFamily.getText(), jTextFieldTagName.getText(),\r
- jTextFieldToolCmd.getText(), stringToVector(s.trim()),\r
- jTextFieldOptionContents.getText());\r
- }\r
- });\r
- }\r
- return jButtonOptionsAdd;\r
- }\r
-\r
- /**\r
- * This method initializes jButtonOptionsDel \r
- * \r
- * Remove a line from the table below\r
- * \r
- * @return javax.swing.JButton jButtonOptionsDel\r
- */\r
- private JButton getJButtonOptionsDel() {\r
- if (jButtonOptionsDel == null) {\r
- jButtonOptionsDel = new JButton();\r
- jButtonOptionsDel.setText("Delete");\r
- jButtonOptionsDel.setPreferredSize(new java.awt.Dimension(buttonWidth, oneRowHeight));\r
- jButtonOptionsDel.setBounds(new java.awt.Rectangle(next2LastButtonLoc, buttonRow, buttonWidth, oneRowHeight));\r
- jButtonOptionsDel.setLocation(new java.awt.Point(next2LastButtonLoc, buttonRow));\r
- jButtonOptionsDel.addActionListener(new AbstractAction() {\r
- /**\r
- * \r
- */\r
- private static final long serialVersionUID = 1L;\r
-\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- if (selectedRow >= 0) {\r
- optionsTableModel.removeRow(selectedRow);\r
- docConsole.setSaved(false);\r
- ffc.removeBuildOptionsOpt(selectedRow);\r
- }\r
- }\r
- });\r
- }\r
- return jButtonOptionsDel;\r
- }\r
-\r
- public void componentResized(ComponentEvent arg0) {\r
- int intPreferredWidth = 500;\r
- \r
- Tools.resizeComponentWidth(this.jScrollPaneOptions, this.getWidth(), intPreferredWidth);\r
- \r
- }\r
- /**\r
- * This method initializes jScrollPaneOptions \r
- * Contains the Table and is located below the data entry section\r
- * @return javax.swing.JScrollPane jScrollPaneOptoins\r
- */\r
- private JScrollPane getJScrollPaneOptions() {\r
- if (jScrollPaneOptions == null) {\r
- jScrollPaneOptions = new JScrollPane();\r
- jScrollPaneOptions.setViewportView(getJTableOptions());\r
- }\r
- return jScrollPaneOptions;\r
- }\r
-\r
- /**\r
- * This method initializes jTableOptions\r
- * \r
- * @return javax.swing.JTable jTableOptions\r
- */\r
- private JTable getJTableOptions() {\r
- if (jTableOptions == null) {\r
- \r
- optionsTableModel = new DefaultTableModel();\r
- jTableOptions = new JTable(optionsTableModel);\r
- jTableOptions.setRowHeight(20);\r
- optionsTableModel.addColumn("Build Targets");\r
- optionsTableModel.addColumn("Tool Chain Family");\r
- optionsTableModel.addColumn("Supported Architectures");\r
- optionsTableModel.addColumn("Tool Command Code");\r
- optionsTableModel.addColumn("TagName");\r
- optionsTableModel.addColumn("Arguments");\r
- \r
- jTableOptions.getColumnModel().getColumn(0).setMinWidth(buildTargetWidth);\r
- jTableOptions.getColumnModel().getColumn(1).setMinWidth(toolChainFamilyWidth);\r
- jTableOptions.getColumnModel().getColumn(2).setMinWidth(supportArchWidth);\r
- jTableOptions.getColumnModel().getColumn(3).setMinWidth(toolCmdCodeWidth);\r
- jTableOptions.getColumnModel().getColumn(4).setMinWidth(tagNameWidth);\r
- jTableOptions.getColumnModel().getColumn(5).setMinWidth(argWidth);\r
-\r
-// javax.swing.table.TableColumn toolFamilyCol = jTableOptions.getColumnModel().getColumn(1);\r
-// JComboBox cb = new JComboBox();\r
-// cb.addItem("MSFT");\r
-// cb.addItem("GCC");\r
-// cb.addItem("CYGWIN");\r
-// cb.addItem("INTEL");\r
-// cb.addItem("USER_DEFINED");\r
-// toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));\r
- Vector<String> vArch = new Vector<String>();\r
- vArch.add("IA32");\r
- vArch.add("X64");\r
- vArch.add("IPF");\r
- vArch.add("EBC");\r
- vArch.add("ARM");\r
- vArch.add("PPC");\r
- jTableOptions.getColumnModel().getColumn(2).setCellEditor(new ListEditor(vArch, FrameworkWizardUI.getInstance()));\r
- \r
- jTableOptions.getColumnModel().getColumn(5).setCellEditor(new LongTextEditor(FrameworkWizardUI.getInstance()));\r
- \r
- jTableOptions.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
- jTableOptions.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
- jTableOptions.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r
- public void valueChanged(ListSelectionEvent e) {\r
- selectedRow = -1;\r
- if (e.getValueIsAdjusting()) {\r
- return;\r
- }\r
- ListSelectionModel lsm = (ListSelectionModel) e.getSource();\r
- if (lsm.isSelectionEmpty()) {\r
- return;\r
- } else {\r
- selectedRow = lsm.getMinSelectionIndex();\r
- }\r
- }\r
- });\r
-\r
- jTableOptions.getModel().addTableModelListener(new TableModelListener() {\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- int row = arg0.getFirstRow();\r
- TableModel m = (TableModel) arg0.getSource();\r
- if (arg0.getType() == TableModelEvent.UPDATE) {\r
- //ToDo Data Validition check.\r
- String targets = m.getValueAt(row, 0) + "";\r
- Vector<Object> targetName = new Vector<Object>();\r
- String[] sArray = targets.split("( )+");\r
- for (int i = 0; i < sArray.length; ++i) {\r
- targetName.add(sArray[i]);\r
- }\r
- String toolChain = m.getValueAt(row, 1) + "";\r
- String archs = m.getValueAt(row, 2) + "";\r
- Vector<Object> supArch = null;\r
- if (archs.length() > 0) {\r
- supArch = new Vector<Object>();\r
- String[] sArray1 = archs.split("( )+");\r
- for (int i = 0; i < sArray1.length; ++i) {\r
- supArch.add(sArray1[i]);\r
- }\r
- }\r
-\r
- String toolCmd = m.getValueAt(row, 3) + "";\r
- String tagName = m.getValueAt(row, 4) + "";\r
- String contents = m.getValueAt(row, 5) + "";\r
- docConsole.setSaved(false);\r
- ffc.updateBuildOptionsOpt(row, targetName, toolChain, tagName, toolCmd, supArch, contents);\r
- }\r
- }\r
- });\r
- }\r
- return jTableOptions;\r
- }\r
-\r
- private Vector<Object> stringToVector(String s) {\r
- String[] sArray = s.split(" ");\r
- Vector<Object> v = null;\r
- if (s.length() > 0 && !s.trim().equalsIgnoreCase("")) {\r
- v = new Vector<Object>();\r
- for (int i = 0; i < sArray.length; ++i) {\r
- v.add(sArray[i]);\r
- }\r
- }\r
- return v;\r
- }\r
-\r
- private String boolToList(boolean[] bool) {\r
- String s = " ";\r
- if (bool[0]) {\r
- s += "IA32 ";\r
- }\r
- if (bool[1]) {\r
- s += "IPF ";\r
- }\r
- if (bool[2]) {\r
- s += "X64 ";\r
- }\r
- if (bool[3]) {\r
- s += "EBC ";\r
- }\r
- if (bool[4]) {\r
- s += "ARM ";\r
- }\r
- if (bool[5]) {\r
- s += "PPC ";\r
- }\r
- \r
- return s.trim();\r
- }\r
-\r
- private void initOptionTable() {\r
- if (ffc.getBuildOptionsOptCount() == 0) {\r
- //ToDo get default options from *.txt file\r
- return;\r
- }\r
- String[][] saa = new String[ffc.getBuildOptionsOptCount()][6];\r
- ffc.getBuildOptionsOpts(saa);\r
- for (int i = 0; i < saa.length; ++i) {\r
- optionsTableModel.addRow(saa[i]);\r
- }\r
- }\r
-\r
-\r
- /**\r
- * Everything below should pertain to the ANT Task Tab\r
- */\r
-\r
- /**\r
- * This method initializes jButton12 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonAntTaskFileBrowse() {\r
- if (jButtonAntTaskFileBrowse == null) {\r
- jButtonAntTaskFileBrowse = new JButton();\r
- jButtonAntTaskFileBrowse.setPreferredSize(new Dimension(buttonWidth, oneRowHeight));\r
- jButtonAntTaskFileBrowse.setText("Browse");\r
- jButtonAntTaskFileBrowse.addActionListener(new AbstractAction() {\r
- private static final long serialVersionUID = 1L;\r
-\r
- public void actionPerformed(ActionEvent arg0) {\r
- //\r
- // Select files from current workspace\r
- //\r
- String dirPrefix = Workspace.getCurrentWorkspace();\r
- JFileChooser chooser = new JFileChooser(dirPrefix);\r
- File theFile = null;\r
- String headerDest = null;\r
-\r
- chooser.setMultiSelectionEnabled(false);\r
- chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);\r
- int retval = chooser.showOpenDialog(FpdBuildOptions.this);\r
- if (retval == JFileChooser.APPROVE_OPTION) {\r
-\r
- theFile = chooser.getSelectedFile();\r
- String file = theFile.getPath();\r
- if (!file.startsWith(dirPrefix)) {\r
- JOptionPane.showMessageDialog(FpdBuildOptions.this, "You can only select files in current package!");\r
- return;\r
- }\r
- } else {\r
- return;\r
- }\r
-\r
- headerDest = theFile.getPath();\r
- jTextFieldAntTaskFile.setText(headerDest.substring(dirPrefix.length()).replace('\\', '/'));\r
-\r
- }\r
-\r
- });\r
- }\r
- return jButtonAntTaskFileBrowse;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelUserDefCenterN \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelUserDefCenterN() {\r
- if (jPanelUserDefCenterN == null) {\r
- jPanelUserDefCenterN = new JPanel();\r
- jPanelUserDefCenterN.add(jLabelAntCmdOpts, null);\r
- jPanelUserDefCenterN.add(getJTextFieldAntCmdOpts(), null);\r
- jPanelUserDefCenterN.add(getJButtonAntTaskAdd(), null);\r
- jPanelUserDefCenterN.add(getJButtonAntTaskDel(), null);\r
- }\r
- return jPanelUserDefCenterN;\r
- }\r
-\r
- /**\r
- * This method initializes jPanel8 \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelUserDef() {\r
- if (jPanelUserDef == null) {\r
- jPanelUserDef = new JPanel();\r
- jPanelUserDef.setLayout(new BorderLayout());\r
- jPanelUserDef.add(getJPanelUserDefNorth(), java.awt.BorderLayout.NORTH);\r
- jPanelUserDef.add(getJPanelUserDefCenter(), java.awt.BorderLayout.CENTER);\r
-\r
- }\r
- return jPanelUserDef;\r
- }\r
-\r
- /**\r
- * This method initializes jPanel9 \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelUserDefNorth() {\r
- if (jPanelUserDefNorth == null) {\r
- jLabelAntTaskFile = new JLabel();\r
- jLabelAntTaskFile.setText("ANT Task File");\r
- jLabelAntTaskFile.setPreferredSize(new java.awt.Dimension(80, 20));\r
- FlowLayout flowLayout8 = new FlowLayout();\r
- flowLayout8.setAlignment(java.awt.FlowLayout.CENTER);\r
- jLabelAntTaskId = new JLabel();\r
- jLabelAntTaskId.setText("ID");\r
- jPanelUserDefNorth = new JPanel();\r
- jPanelUserDefNorth.setLayout(flowLayout8);\r
- jPanelUserDefNorth.add(jLabelAntTaskFile, null);\r
- jPanelUserDefNorth.add(getJTextFieldAntTaskFile(), null);\r
- jPanelUserDefNorth.add(getJButtonAntTaskFileBrowse(), null);\r
- jPanelUserDefNorth.add(jLabelAntTaskId, null);\r
- jPanelUserDefNorth.add(getJTextFieldAntTaskId(), null);\r
- }\r
- return jPanelUserDefNorth;\r
- }\r
-\r
- /**\r
- * This method initializes jPanel11 \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelUserDefCenter() {\r
- if (jPanelUserDefCenter == null) {\r
- jLabelAntCmdOpts = new JLabel();\r
- jLabelAntCmdOpts.setText("ANT Command Options");\r
- jLabelAntCmdOpts.setPreferredSize(new java.awt.Dimension(131, 20));\r
- jPanelUserDefCenter = new JPanel();\r
- jPanelUserDefCenter.setLayout(new BorderLayout());\r
-\r
- jPanelUserDefCenter.add(getJPanelUserDefCenterN(), java.awt.BorderLayout.NORTH);\r
- jPanelUserDefCenter.add(getJScrollPaneAntTasks(), java.awt.BorderLayout.CENTER);\r
- }\r
- return jPanelUserDefCenter;\r
- }\r
-\r
- /**\r
- * This method initializes jTextField2 \r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- private JTextField getJTextFieldAntTaskFile() {\r
- if (jTextFieldAntTaskFile == null) {\r
- jTextFieldAntTaskFile = new JTextField();\r
- jTextFieldAntTaskFile.setPreferredSize(new java.awt.Dimension(200, 20));\r
- }\r
- return jTextFieldAntTaskFile;\r
- }\r
-\r
- /**\r
- * This method initializes jTextField3 \r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- private JTextField getJTextFieldAntTaskId() {\r
- if (jTextFieldAntTaskId == null) {\r
- jTextFieldAntTaskId = new JTextField();\r
- jTextFieldAntTaskId.setPreferredSize(new java.awt.Dimension(100, 20));\r
- }\r
- return jTextFieldAntTaskId;\r
- }\r
-\r
- /**\r
- * This method initializes jButton4 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonAntTaskAdd() {\r
- if (jButtonAntTaskAdd == null) {\r
- jButtonAntTaskAdd = new JButton();\r
- jButtonAntTaskAdd.setPreferredSize(new java.awt.Dimension(90, 20));\r
- jButtonAntTaskAdd.setText("Add");\r
- jButtonAntTaskAdd.addActionListener(new ActionListener() {\r
- public void actionPerformed(ActionEvent e) {\r
- if (!DataValidation.isInt(jTextFieldAntTaskId.getText())\r
- || jTextFieldAntTaskId.getText().length() != 8) {\r
- JOptionPane.showMessageDialog(FpdBuildOptions.this, "ID must be an 8-digit integer.");\r
- return;\r
- }\r
- Object[] o = { jTextFieldAntTaskId.getText(), null, null };\r
- o[1] = jTextFieldAntTaskFile.getText();\r
- o[2] = jTextFieldAntCmdOpts.getText();\r
- ffc.genBuildOptionsUserDefAntTask(o[0] + "", o[1] + "", o[2] + "");\r
- antTaskTableModel.addRow(o);\r
- docConsole.setSaved(false);\r
- }\r
- });\r
- }\r
- return jButtonAntTaskAdd;\r
- }\r
-\r
- /**\r
- * This method initializes jButton5 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonAntTaskDel() {\r
- if (jButtonAntTaskDel == null) {\r
- jButtonAntTaskDel = new JButton();\r
- jButtonAntTaskDel.setPreferredSize(new java.awt.Dimension(90, 20));\r
- jButtonAntTaskDel.setText("Delete");\r
- jButtonAntTaskDel.addActionListener(new ActionListener() {\r
- public void actionPerformed(ActionEvent e) {\r
- if (selectedRow >= 0) {\r
- docConsole.setSaved(false);\r
- antTaskTableModel.removeRow(selectedRow);\r
- ffc.removeBuildOptionsUserDefAntTask(selectedRow);\r
- }\r
- }\r
- });\r
- }\r
- return jButtonAntTaskDel;\r
- }\r
-\r
- /**\r
- * This method initializes jTextField4 \r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- private JTextField getJTextFieldAntCmdOpts() {\r
- if (jTextFieldAntCmdOpts == null) {\r
- jTextFieldAntCmdOpts = new JTextField();\r
- jTextFieldAntCmdOpts.setPreferredSize(new java.awt.Dimension(270, 20));\r
- jTextFieldAntCmdOpts.setEnabled(true);\r
- }\r
- return jTextFieldAntCmdOpts;\r
- }\r
-\r
- /**\r
- * This method initializes jScrollPane2 \r
- * \r
- * @return javax.swing.JScrollPane \r
- */\r
- private JScrollPane getJScrollPaneAntTasks() {\r
- if (jScrollPaneAntTasks == null) {\r
- jScrollPaneAntTasks = new JScrollPane();\r
- jScrollPaneAntTasks.setPreferredSize(new java.awt.Dimension(600, 400));\r
- jScrollPaneAntTasks.setViewportView(getJTableAntTasks());\r
- }\r
- return jScrollPaneAntTasks;\r
- }\r
-\r
- /**\r
- * This method initializes jTable2 \r
- * \r
- * @return javax.swing.JTable \r
- */\r
- private JTable getJTableAntTasks() {\r
- if (jTableAntTasks == null) {\r
- antTaskTableModel = new DefaultTableModel();\r
- jTableAntTasks = new JTable(antTaskTableModel);\r
- jTableAntTasks.setRowHeight(20);\r
- antTaskTableModel.addColumn("ID");\r
- antTaskTableModel.addColumn("Filename");\r
- antTaskTableModel.addColumn("ANT Command Options");\r
-\r
- jTableAntTasks.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
- jTableAntTasks.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r
- public void valueChanged(ListSelectionEvent e) {\r
- selectedRow = -1;\r
- if (e.getValueIsAdjusting()) {\r
- return;\r
- }\r
- ListSelectionModel lsm = (ListSelectionModel) e.getSource();\r
- if (lsm.isSelectionEmpty()) {\r
- return;\r
- } else {\r
- selectedRow = lsm.getMinSelectionIndex();\r
- }\r
- }\r
- });\r
-\r
- jTableAntTasks.getModel().addTableModelListener(new TableModelListener() {\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- int row = arg0.getFirstRow();\r
- TableModel m = (TableModel) arg0.getSource();\r
- if (arg0.getType() == TableModelEvent.UPDATE) {\r
- //ToDo Data Validition check.\r
- String id = m.getValueAt(row, 0) + "";\r
- String file = m.getValueAt(row, 1) + "";\r
- String execOrder = m.getValueAt(row, 2) + "";\r
- if (id.length() == 0) {\r
- return;\r
- }\r
- if (file.length() == 0 && execOrder.length() == 0) {\r
- return;\r
- }\r
- if (file.length() == 0) {\r
- file = null;\r
- }\r
- if (execOrder.length() == 0) {\r
- execOrder = null;\r
- }\r
- ffc.updateBuildOptionsUserDefAntTask(row, id, file, execOrder);\r
-\r
- }\r
- }\r
- });\r
- }\r
- return jTableAntTasks;\r
- }\r
-\r
- private void initAntTaskTable() {\r
- if (ffc.getBuildOptionsUserDefAntTaskCount() == 0) {\r
- return;\r
- }\r
- String[][] saa = new String[ffc.getBuildOptionsUserDefAntTaskCount()][3];\r
- ffc.getBuildOptionsUserDefAntTasks(saa);\r
- for (int i = 0; i < saa.length; ++i) {\r
- antTaskTableModel.addRow(saa[i]);\r
- }\r
- }\r
-\r
-} // @jve:decl-index=0:visual-constraint="10,10"\r