+++ /dev/null
-/** @file\r
- Java class FpdPlatformDefs is GUI for Flash element operation in SPD 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
-package org.tianocore.frameworkwizard.platform.ui;\r
-\r
-import java.awt.BorderLayout;\r
-import javax.swing.JPanel;\r
-\r
-import javax.swing.JFrame;\r
-import javax.swing.JTabbedPane;\r
-import javax.swing.JButton;\r
-import javax.swing.ListSelectionModel;\r
-\r
-import org.tianocore.PlatformSurfaceAreaDocument;\r
-import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
-import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
-import org.tianocore.frameworkwizard.toolchain.ToolChainId;\r
-\r
-import javax.swing.JCheckBox;\r
-import javax.swing.JOptionPane;\r
-import javax.swing.JTextField;\r
-import javax.swing.JLabel;\r
-import javax.swing.JScrollPane;\r
-import javax.swing.JTable;\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
-import javax.swing.JComboBox;\r
-import java.awt.Dimension;\r
-import java.util.Vector;\r
-\r
-public class FpdPlatformDefs extends IInternalFrame {\r
-\r
- private static boolean Debug = false;\r
-\r
- private final int dialogWidth = 600;\r
-\r
- private final int oneRowHeight = 20;\r
-\r
- private final int twoRowHeight = 40;\r
-\r
- // private final int threeRowHeight = 60;\r
-\r
- private final int fourRowHeight = 80;\r
-\r
- private final int sepHeight = 6;\r
-\r
- // private final int sepWidth = 10;\r
-\r
- private final int offsetWidth = 70;\r
-\r
- private final int buttonWidth = 90;\r
-\r
- private final int rowOne = 12;\r
-\r
- private final int rowTwo = rowOne + oneRowHeight + sepHeight * 3;\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 + fourRowHeight + sepHeight * 3;\r
-\r
- private final int rowSix = rowFive + oneRowHeight + sepHeight;\r
-\r
- private final int rowSeven = rowSix + oneRowHeight + sepHeight;\r
-\r
- private final int rowEight = rowSeven + oneRowHeight + sepHeight;\r
-\r
- private final int rowNine = rowEight + oneRowHeight + sepHeight;\r
-\r
- private final int rowTen = rowNine + fourRowHeight + sepHeight + sepHeight * 3;\r
-\r
- private final int rowEleven = rowTen + oneRowHeight + sepHeight;\r
-\r
- private final int rowTwelve = rowEleven + oneRowHeight + sepHeight;\r
-\r
- private final int dialogHeight = rowTwelve + twoRowHeight;\r
-\r
- private final int labelColumn = 12;\r
-\r
- private final int valueColumn = 168;\r
-\r
- private final int labelWidth = 155;\r
-\r
- private final int valueWidth = 320;\r
-\r
- private final int valueCenter = valueColumn + (valueWidth / 2);\r
-\r
- private final int tableHeight = fourRowHeight;\r
-\r
- private final int tableWidth = valueWidth;\r
-\r
- static JFrame frame;\r
-\r
- private JPanel jContentPane = null;\r
-\r
- private JTabbedPane jTabbedPane = null;\r
-\r
- private TargetTableModel buildTargetTableModel = null;\r
-\r
- private SkuInfoTableModel skuInfoTableModel = null;\r
-\r
- private OpeningPlatformType docConsole = null;\r
-\r
- private FpdFileContents ffc = null;\r
-\r
- private JPanel jPanelGeneralTab = null;\r
-\r
- private JPanel jPanelGeneralContainer = null;\r
-\r
- private JLabel jLabelSupArch = null;\r
-\r
- private JCheckBox jCheckBoxIa32 = null;\r
-\r
- private JCheckBox jCheckBoxX64 = null;\r
-\r
- private JCheckBox jCheckBoxIpf = null;\r
-\r
- private JComboBox jComboBoxInterDir = null;\r
-\r
- private JComboBox jBuildTargetComboBox = null;\r
-\r
- private JTable jTableBuildTargets = null;\r
-\r
- private JPanel jArchitectureSelections = null;\r
-\r
- private JLabel jLabelBuildTargets = null;\r
-\r
- // private JTextField jTextFieldBuildTarget = null;\r
-\r
- private JButton jButtonAddBuildTarget = null;\r
-\r
- private JButton jButtonDelBuildTarget = null;\r
-\r
- private JScrollPane jScrollPaneBuildTargets = null;\r
-\r
- private JScrollPane jScrollPaneSkuInfo = null;\r
-\r
- private JTable jTableSkuInfo = null;\r
-\r
- private JCheckBox jCheckBoxEbc = null;\r
-\r
- private JCheckBox jCheckBoxArm = null;\r
-\r
- private JCheckBox jCheckBoxPpc = null;\r
-\r
- private JLabel jLabelSkuInfo = null;\r
-\r
- private JLabel jLabelSkuId = null;\r
-\r
- private JTextField jTextFieldSkuId = null;\r
-\r
- private JLabel jLabelSkuName = null;\r
-\r
- private JTextField jTextFieldSkuName = null;\r
-\r
- private JButton jButtonSkuAdd = null;\r
-\r
- private JButton jButtonSkuDel = null;\r
-\r
- private JLabel jLabelIntermediateDirs = null;\r
-\r
- private JLabel jLabelOutputDir = null;\r
-\r
- private JTextField jTextFieldOutputDir = null;\r
-\r
- private JLabel jLabelOutputInfo = null;\r
-\r
- private int selectedRow = -1;\r
-\r
- /**\r
- * The following are not used by the UI \r
- */\r
- private static final long serialVersionUID = 1L;\r
-\r
- private ToolChainId tid = new ToolChainId();\r
-\r
- public FpdPlatformDefs() {\r
- super();\r
- initialize();\r
- this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));\r
- this.setVisible(true);\r
- }\r
-\r
- public FpdPlatformDefs(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd) {\r
- this();\r
- ffc = new FpdFileContents(fpd);\r
- init(ffc);\r
- }\r
-\r
- public FpdPlatformDefs(OpeningPlatformType opt) {\r
- this(opt.getXmlFpd());\r
- docConsole = opt;\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("General", null, getJPanelGeneralTab(), 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(dialogWidth, dialogHeight);\r
- this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
- this.setTitle("FPD Platform Definitions");\r
- this.setContentPane(getJContentPane());\r
- this.addInternalFrameListener(new InternalFrameAdapter() {\r
- public void internalFrameDeactivated(InternalFrameEvent e) {\r
- if (jTableBuildTargets.isEditing()) {\r
- jTableBuildTargets.getCellEditor().stopCellEditing();\r
- }\r
- if (jTableSkuInfo.isEditing()) {\r
- jTableSkuInfo.getCellEditor().stopCellEditing();\r
- }\r
-\r
- }\r
- });\r
- }\r
-\r
- private void init(FpdFileContents ffc) {\r
- Vector<Object> v = new Vector<Object>();\r
- ffc.getPlatformDefsSupportedArchs(v);\r
- showSupportedArchitectures(v);\r
- v.removeAllElements();\r
-\r
- ffc.getPlatformDefsBuildTargets(v);\r
- buildTargetTableModel.setRowCount(0);\r
- for (int i = 0; i < v.size(); ++i) {\r
- Object[] row = { v.get(i) };\r
- buildTargetTableModel.addRow(row);\r
- }\r
-\r
- String[][] saa = new String[ffc.getPlatformDefsSkuInfoCount()][2];\r
- ffc.getPlatformDefsSkuInfos(saa);\r
- for (int i = 0; i < saa.length; ++i) {\r
- skuInfoTableModel.addRow(saa[i]);\r
- }\r
-\r
- String interDir = ffc.getPlatformDefsInterDir();\r
- if (interDir != null) {\r
- jComboBoxInterDir.setSelectedItem(interDir);\r
- }\r
-\r
- String outputDir = ffc.getPlatformDefsOutputDir();\r
- if (outputDir != null) {\r
- jTextFieldOutputDir.setText(outputDir);\r
- }\r
- }\r
-\r
- private void showSupportedArchitectures(Vector<Object> v) {\r
- if (v.contains("IA32")) {\r
- jCheckBoxIa32.setSelected(true);\r
- } else {\r
- jCheckBoxIa32.setSelected(false);\r
- }\r
- if (v.contains("X64")) {\r
- jCheckBoxX64.setSelected(true);\r
- } else {\r
- jCheckBoxX64.setSelected(false);\r
- }\r
- if (v.contains("IPF")) {\r
- jCheckBoxIpf.setSelected(true);\r
- } else {\r
- jCheckBoxIpf.setSelected(false);\r
- }\r
- if (v.contains("EBC")) {\r
- jCheckBoxEbc.setSelected(true);\r
- } else {\r
- jCheckBoxEbc.setSelected(false);\r
- }\r
- if (v.contains("ARM")) {\r
- jCheckBoxArm.setSelected(true);\r
- } else {\r
- jCheckBoxArm.setSelected(false);\r
- }\r
- if (v.contains("PPC")) {\r
- jCheckBoxPpc.setSelected(true);\r
- } else {\r
- jCheckBoxPpc.setSelected(false);\r
- }\r
- }\r
-\r
- private void getSupportedArchitectures(Vector<Object> v) {\r
- if (docConsole != null) {\r
- docConsole.setSaved(false);\r
- }\r
- v.removeAllElements();\r
- if (jCheckBoxIa32.isSelected()) {\r
- v.add("IA32");\r
- }\r
- if (jCheckBoxX64.isSelected()) {\r
- v.add("X64");\r
- }\r
- if (jCheckBoxIpf.isSelected()) {\r
- v.add("IPF");\r
- }\r
- if (jCheckBoxEbc.isSelected()) {\r
- v.add("EBC");\r
- }\r
- if (jCheckBoxArm.isSelected()) {\r
- v.add("ARM");\r
- }\r
- if (jCheckBoxPpc.isSelected()) {\r
- v.add("PPC");\r
- }\r
-\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(getJTabbedPane(), java.awt.BorderLayout.CENTER);\r
- }\r
- return jContentPane;\r
- }\r
-\r
- /**\r
- * This method initializes jPanel4 \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelGeneralTab() {\r
- if (jPanelGeneralTab == null) {\r
- jPanelGeneralTab = new JPanel();\r
- jPanelGeneralTab.setBounds(new java.awt.Rectangle(0, 0, dialogWidth * 2, dialogHeight * 3));\r
- jPanelGeneralTab.setPreferredSize(new java.awt.Dimension(dialogWidth + 10, (dialogHeight * 3) + 10));\r
- jPanelGeneralTab.setAutoscrolls(true);\r
- jPanelGeneralTab.setLocation(0, 0);\r
- jPanelGeneralTab.setLayout(null);\r
- jPanelGeneralTab.add(getJPanelGeneralContainer(), null);\r
- }\r
- return jPanelGeneralTab;\r
- }\r
-\r
- /**\r
- * This method initializes jPanel5 \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelGeneralContainer() {\r
- if (jPanelGeneralContainer == null) {\r
- jLabelSupArch = new JLabel();\r
- jLabelSupArch.setText("Supported Architectures");\r
- jLabelSupArch.setBounds(new java.awt.Rectangle(labelColumn, rowOne, labelWidth, oneRowHeight));\r
- jLabelBuildTargets = new JLabel();\r
- jLabelBuildTargets.setText("Build Targets");\r
- jLabelBuildTargets.setBounds(new java.awt.Rectangle(labelColumn, rowTwo, labelWidth, oneRowHeight));\r
- jLabelSkuInfo = new JLabel();\r
- jLabelSkuInfo.setText("SKU Information");\r
- jLabelSkuInfo.setBounds(new java.awt.Rectangle(labelColumn, rowFive, labelWidth, oneRowHeight));\r
- jLabelSkuId = new JLabel();\r
- jLabelSkuId.setText("SKU ID Number");\r
- jLabelSkuId.setBounds(new java.awt.Rectangle(labelColumn + 10, rowSix, labelWidth, oneRowHeight));\r
- jLabelSkuName = new JLabel();\r
- jLabelSkuName.setText("SKU Name");\r
- jLabelSkuName.setBounds(new java.awt.Rectangle(labelColumn + 10, rowSeven, labelWidth, oneRowHeight));\r
- jLabelOutputInfo = new JLabel();\r
- jLabelOutputInfo.setText("Output Directory Configuration");\r
- jLabelOutputInfo.setBounds(new java.awt.Rectangle(labelColumn, rowTen, valueWidth, oneRowHeight));\r
- jLabelIntermediateDirs = new JLabel();\r
- jLabelIntermediateDirs.setText("Intermediate Build Directories");\r
- jLabelIntermediateDirs.setBounds(new java.awt.Rectangle(labelColumn + 10, rowEleven, valueWidth,\r
- oneRowHeight));\r
- jLabelOutputDir = new JLabel();\r
- jLabelOutputDir.setText("Name of the Output Directory");\r
- jLabelOutputDir.setBounds(new java.awt.Rectangle(labelColumn + 10, rowTwelve, valueWidth, oneRowHeight));\r
-\r
- jPanelGeneralContainer = new JPanel();\r
- jPanelGeneralContainer.setLayout(null);\r
- jPanelGeneralContainer.setLocation(new java.awt.Point(2, 2));\r
- jPanelGeneralContainer.setBounds(new java.awt.Rectangle(2, 2, dialogWidth * 2, dialogHeight));\r
- jPanelGeneralContainer.setPreferredSize(new java.awt.Dimension(dialogWidth, dialogHeight));\r
-\r
- jPanelGeneralContainer.add(jLabelSupArch, null);\r
- jPanelGeneralContainer.add(getArchitectureSelections(), null);\r
-\r
- jPanelGeneralContainer.add(jLabelBuildTargets, null);\r
- // jPanelGeneralContainer.add(getJTextFieldBuildTarget(), null);\r
- jPanelGeneralContainer.add(getJBuildTargetComboBox(), null);\r
-\r
- jPanelGeneralContainer.add(getJButtonAddBuildTarget(), null);\r
- jPanelGeneralContainer.add(getJButtonDelBuildTarget(), null);\r
- jPanelGeneralContainer.add(getJScrollPaneBuildTargets(), null);\r
-\r
- jPanelGeneralContainer.add(jLabelSkuInfo, null);\r
- jPanelGeneralContainer.add(jLabelSkuId, null);\r
- jPanelGeneralContainer.add(getJTextFieldSkuId(), null);\r
- jPanelGeneralContainer.add(jLabelSkuName, null);\r
- jPanelGeneralContainer.add(getJTextFieldSkuName(), null);\r
- jPanelGeneralContainer.add(getJButtonSkuAdd(), null);\r
- jPanelGeneralContainer.add(getJButtonSkuDel(), null);\r
- jPanelGeneralContainer.add(getJScrollPaneSkuInfo(), null);\r
-\r
- jPanelGeneralContainer.add(jLabelOutputInfo, null);\r
- jPanelGeneralContainer.add(jLabelIntermediateDirs, null);\r
- jPanelGeneralContainer.add(getJComboBoxInterDir(), null);\r
- jPanelGeneralContainer.add(jLabelOutputDir, null);\r
- jPanelGeneralContainer.add(getJTextFieldOutputDir(), null);\r
-\r
- }\r
- return jPanelGeneralContainer;\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(valueColumn, rowOne, valueWidth, oneRowHeight));\r
- jArchitectureSelections.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight));\r
- jArchitectureSelections.setLocation(new java.awt.Point(valueColumn, rowOne));\r
- jArchitectureSelections.setToolTipText("<html>A Platform may support one or more architectures," \r
- + "<br>at least one architecture must be selected!</html>");\r
- }\r
- return jArchitectureSelections;\r
- }\r
-\r
- /**\r
- * This method initializes jCheckBox1 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBoxIa32() {\r
- if (jCheckBoxIa32 == null) {\r
- jCheckBoxIa32 = new JCheckBox();\r
- jCheckBoxIa32.setText("IA32");\r
- jCheckBoxIa32.setBounds(new java.awt.Rectangle(0, 0, 55, 20));\r
- jCheckBoxIa32.addItemListener(new java.awt.event.ItemListener() {\r
- public void itemStateChanged(java.awt.event.ItemEvent e) {\r
- Vector<Object> v = new Vector<Object>();\r
- getSupportedArchitectures(v);\r
- if (v.size() == 0) {\r
- JOptionPane.showMessageDialog(frame, "Platform must support at least ONE Architecture.");\r
- return;\r
- }\r
- ffc.setPlatformDefsSupportedArchs(v);\r
- }\r
- });\r
- }\r
- return jCheckBoxIa32;\r
- }\r
-\r
- /**\r
- * This method initializes jCheckBox2 \r
- * \r
- * @return javax.swing.JCheckBox \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
- jCheckBoxX64.addItemListener(new java.awt.event.ItemListener() {\r
- public void itemStateChanged(java.awt.event.ItemEvent e) {\r
- Vector<Object> v = new Vector<Object>();\r
- getSupportedArchitectures(v);\r
- if (v.size() == 0) {\r
- JOptionPane.showMessageDialog(frame, "Platform must support at least ONE Architecture.");\r
- return;\r
- }\r
- ffc.setPlatformDefsSupportedArchs(v);\r
- }\r
- });\r
- }\r
- return jCheckBoxX64;\r
- }\r
-\r
- /**\r
- * This method initializes jCheckBox3 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBoxIpf() {\r
- if (jCheckBoxIpf == null) {\r
- jCheckBoxIpf = new JCheckBox();\r
- jCheckBoxIpf.setText("IPF");\r
- jCheckBoxIpf.setBounds(new java.awt.Rectangle(108, 0, 52, 20));\r
- jCheckBoxIpf.addItemListener(new java.awt.event.ItemListener() {\r
- public void itemStateChanged(java.awt.event.ItemEvent e) {\r
- Vector<Object> v = new Vector<Object>();\r
- getSupportedArchitectures(v);\r
- if (v.size() == 0) {\r
- JOptionPane.showMessageDialog(frame, "Platform must support at least ONE Architecture.");\r
- return;\r
- }\r
- ffc.setPlatformDefsSupportedArchs(v);\r
- }\r
- });\r
- }\r
- return jCheckBoxIpf;\r
- }\r
-\r
- /**\r
- * This method initializes jCheckBox \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBoxEbc() {\r
- if (jCheckBoxEbc == null) {\r
- jCheckBoxEbc = new JCheckBox();\r
- // jCheckBoxEbc.setPreferredSize(new java.awt.Dimension(50, 20));\r
- jCheckBoxEbc.setBounds(new java.awt.Rectangle(160, 0, 53, 20));\r
- jCheckBoxEbc.setText("EBC");\r
- jCheckBoxEbc.setVisible(true);\r
- jCheckBoxEbc.addItemListener(new java.awt.event.ItemListener() {\r
- public void itemStateChanged(java.awt.event.ItemEvent e) {\r
- Vector<Object> v = new Vector<Object>();\r
- getSupportedArchitectures(v);\r
- if (v.size() == 0) {\r
- JOptionPane.showMessageDialog(frame, "Platform must support at least ONE Architecture.");\r
- return;\r
- }\r
- ffc.setPlatformDefsSupportedArchs(v);\r
- }\r
- });\r
- }\r
- return jCheckBoxEbc;\r
- }\r
-\r
- /**\r
- * This method initializes jCheckBox5 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBoxArm() {\r
- if (jCheckBoxArm == null) {\r
- jCheckBoxArm = new JCheckBox();\r
- // jCheckBoxArm.setPreferredSize(new java.awt.Dimension(52, 20));\r
- jCheckBoxArm.setBounds(new java.awt.Rectangle(213, 0, 54, 20));\r
- jCheckBoxArm.setText("ARM");\r
- jCheckBoxArm.setVisible(true);\r
- jCheckBoxArm.addItemListener(new java.awt.event.ItemListener() {\r
- public void itemStateChanged(java.awt.event.ItemEvent e) {\r
- Vector<Object> v = new Vector<Object>();\r
- getSupportedArchitectures(v);\r
- if (v.size() == 0) {\r
- JOptionPane.showMessageDialog(frame, "Platform must support at least ONE Architecture.");\r
- return;\r
- }\r
- ffc.setPlatformDefsSupportedArchs(v);\r
- }\r
- });\r
- }\r
- return jCheckBoxArm;\r
- }\r
-\r
- /**\r
- * This method initializes jCheckBox6 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBoxPpc() {\r
- if (jCheckBoxPpc == null) {\r
- jCheckBoxPpc = new JCheckBox();\r
- // jCheckBoxPpc.setPreferredSize(new Dimension(50, 20));\r
- jCheckBoxPpc.setBounds(new java.awt.Rectangle(267, 0, 53, 20));\r
- jCheckBoxPpc.setText("PPC");\r
- jCheckBoxPpc.setVisible(true);\r
- jCheckBoxPpc.addItemListener(new java.awt.event.ItemListener() {\r
- public void itemStateChanged(java.awt.event.ItemEvent e) {\r
- Vector<Object> v = new Vector<Object>();\r
- getSupportedArchitectures(v);\r
- if (v.size() == 0) {\r
- JOptionPane.showMessageDialog(frame, "Platform must support at least ONE Architecture.");\r
- return;\r
- }\r
- ffc.setPlatformDefsSupportedArchs(v);\r
- }\r
- });\r
- }\r
- return jCheckBoxPpc;\r
- }\r
-\r
- /**\r
- * Use a ComboBox for BuildTargets\r
- * \r
- * @return javax.swing.JComboBox jBuildTargetComboBox\r
- */\r
- private JComboBox getJBuildTargetComboBox() {\r
- if (jBuildTargetComboBox == null) {\r
- String toolBt = null;\r
- if (tid.getToolsDefTargetNames() == null)\r
- toolBt = "DEBUG RELEASE";\r
- else\r
- toolBt = tid.getToolsDefTargetNames().trim();\r
-\r
- if ((toolBt.contains("*")) || (toolBt.length() < 1)) {\r
- toolBt = "DEBUG RELEASE";\r
- }\r
- if (Debug)\r
- System.out.println("Using Build Targets: " + toolBt.trim());\r
-\r
- toolBt = toolBt.replaceAll(" ", ":");\r
- toolBt = " :" + toolBt;\r
- if (Debug)\r
- System.out.println("Using Build Targets: " + toolBt.trim());\r
- String[] buildTargets = toolBt.trim().split(":");\r
-\r
- jBuildTargetComboBox = new JComboBox(buildTargets);\r
- jBuildTargetComboBox.setEditable(true);\r
- jBuildTargetComboBox.setPreferredSize(new Dimension(valueWidth, oneRowHeight));\r
- jBuildTargetComboBox.setBounds(new java.awt.Rectangle(valueColumn, rowTwo, valueWidth, oneRowHeight));\r
- jBuildTargetComboBox.setLocation(new java.awt.Point(valueColumn, rowTwo));\r
- jBuildTargetComboBox.setToolTipText("<html>Select a defined Target and then click Add,<br>"\r
- + "or enter a new, one word TargetName and then click Add.<br>"\r
- + "Remember to define the Targetname in the tool defintion file."\r
- + "</html>");\r
-\r
- }\r
- return jBuildTargetComboBox;\r
- }\r
-\r
- /**\r
- * This method initializes jTextField1 \r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- // private JTextField getJTextFieldBuildTarget() {\r
- // if (jTextFieldBuildTarget == null) {\r
- // jTextFieldBuildTarget = new JTextField();\r
- // jTextFieldBuildTarget.setPreferredSize(new Dimension(valueWidth, oneRowHeight));\r
- // jTextFieldBuildTarget.setBounds(new java.awt.Rectangle(valueColumn, rowTwo, valueWidth, oneRowHeight));\r
- // jTextFieldBuildTarget.setLocation(new java.awt.Point(valueColumn, rowTwo));\r
- // }\r
- // return jTextFieldBuildTarget;\r
- // }\r
- /**\r
- * This method initializes jButton2 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonAddBuildTarget() {\r
- if (jButtonAddBuildTarget == null) {\r
- jButtonAddBuildTarget = new JButton();\r
- jButtonAddBuildTarget.setPreferredSize(new Dimension(buttonWidth, oneRowHeight));\r
- jButtonAddBuildTarget.setBounds(new java.awt.Rectangle(valueCenter - buttonWidth - 5, rowThree,\r
- buttonWidth, oneRowHeight));\r
- jButtonAddBuildTarget.setLocation(new java.awt.Point(valueCenter - buttonWidth - 5, rowThree));\r
- jButtonAddBuildTarget.setText("Add");\r
- jButtonAddBuildTarget.setVisible(true);\r
-\r
- jButtonAddBuildTarget.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- // Used with Text Field\r
- // if (jTextFieldBuildTarget.getText().length() > 0) {\r
- // String[] row = { jTextFieldBuildTarget.getText() };\r
- // jTextFieldBuildTarget.setText("");\r
- // buildTargetTableModel.addRow(row);\r
- // Vector<Object> v = new Vector<Object>();\r
- // for (int i = 0; i < jTableBuildTargets.getRowCount(); ++i) {\r
- // v.add(buildTargetTableModel.getValueAt(i, 0));\r
- // }\r
- // docConsole.setSaved(false);\r
- // ffc.setPlatformDefsBuildTargets(v);\r
- // }\r
- // Use with ComboBox\r
- if (jBuildTargetComboBox.getSelectedItem().toString().length() > 0) {\r
- String[] row = { jBuildTargetComboBox.getSelectedItem().toString() };\r
- buildTargetTableModel.addRow(row);\r
- Vector<Object> v = new Vector<Object>();\r
- for (int i = 0; i < jTableBuildTargets.getRowCount(); ++i) {\r
- v.add(buildTargetTableModel.getValueAt(i, 0));\r
- }\r
- }\r
- }\r
- });\r
- }\r
- return jButtonAddBuildTarget;\r
- }\r
-\r
- /**\r
- * This method initializes jButton3 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonDelBuildTarget() {\r
- if (jButtonDelBuildTarget == null) {\r
- jButtonDelBuildTarget = new JButton();\r
- jButtonDelBuildTarget.setPreferredSize(new Dimension(buttonWidth, oneRowHeight));\r
- jButtonDelBuildTarget\r
- .setBounds(new java.awt.Rectangle(valueCenter + 5, rowThree, buttonWidth, oneRowHeight));\r
- jButtonDelBuildTarget.setLocation(new java.awt.Point(valueCenter + 5, rowThree));\r
- jButtonDelBuildTarget.setText("Delete");\r
- jButtonDelBuildTarget.setVisible(true);\r
-\r
- jButtonDelBuildTarget.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- if (jTableBuildTargets.getSelectedRow() < 0 || jTableBuildTargets.getSelectedRow() < 0) {\r
- return;\r
- }\r
- buildTargetTableModel.removeRow(jTableBuildTargets.getSelectedRow());\r
- Vector<Object> v = new Vector<Object>();\r
- for (int i = 0; i < jTableBuildTargets.getRowCount(); ++i) {\r
- v.remove(buildTargetTableModel.getValueAt(i, 0));\r
- }\r
- docConsole.setSaved(false);\r
- ffc.setPlatformDefsBuildTargets(v);\r
- }\r
- });\r
- }\r
- return jButtonDelBuildTarget;\r
- }\r
-\r
- /**\r
- * This method initializes jScrollPane2 \r
- * \r
- * @return javax.swing.JScrollPane \r
- */\r
- private JScrollPane getJScrollPaneBuildTargets() {\r
- if (jScrollPaneBuildTargets == null) {\r
- jScrollPaneBuildTargets = new JScrollPane();\r
- jScrollPaneBuildTargets.setPreferredSize(new Dimension(tableWidth - 20, tableHeight - 20));\r
- jScrollPaneBuildTargets.setBounds(new java.awt.Rectangle(valueColumn, rowFour, tableWidth - 5,\r
- tableHeight - 5));\r
- jScrollPaneBuildTargets.setLocation(new java.awt.Point(valueColumn, rowFour));\r
- jScrollPaneBuildTargets\r
- .setBorder(javax.swing.BorderFactory\r
- .createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
-\r
- jScrollPaneBuildTargets.setViewportView(getJTableBuildTargets());\r
- }\r
- return jScrollPaneBuildTargets;\r
- }\r
-\r
- /**\r
- * This method initializes jTable \r
- * \r
- * @return javax.swing.JTable \r
- */\r
- private JTable getJTableBuildTargets() {\r
- if (jTableBuildTargets == null) {\r
- buildTargetTableModel = new TargetTableModel();\r
-\r
- jTableBuildTargets = new JTable(buildTargetTableModel);\r
- jTableBuildTargets.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
- jTableBuildTargets.setRowHeight(oneRowHeight);\r
- jTableBuildTargets.setToolTipText("<html>Select one of the Targets from the table and<br>"\r
- + "click Delete to remove the target from the platform.</html>");\r
- buildTargetTableModel.addColumn("Build Target");\r
-\r
- jTableBuildTargets.getModel().addTableModelListener(new TableModelListener() {\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- selectedRow = jTableBuildTargets.getSelectedRow();\r
- if (selectedRow < 0) {\r
- return;\r
- }\r
- TableModel m = (TableModel) arg0.getSource();\r
- if (arg0.getType() == TableModelEvent.UPDATE) {\r
- //ToDo Data Validition check.\r
- Vector<Object> v = new Vector<Object>();\r
- for (int i = 0; i < jTableBuildTargets.getRowCount(); ++i) {\r
- v.add(m.getValueAt(i, 0));\r
- }\r
- docConsole.setSaved(false);\r
- ffc.setPlatformDefsBuildTargets(v);\r
- }\r
- }\r
- });\r
-\r
- }\r
- return jTableBuildTargets;\r
- }\r
-\r
- /**\r
- * This method initializes jTextField2 \r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- private JTextField getJTextFieldSkuId() {\r
- if (jTextFieldSkuId == null) {\r
- jTextFieldSkuId = new JTextField();\r
- jTextFieldSkuId.setPreferredSize(new Dimension(40, oneRowHeight));\r
- jTextFieldSkuId.setBounds(new java.awt.Rectangle(valueColumn, rowSix, 40, oneRowHeight));\r
- jTextFieldSkuId.setLocation(new java.awt.Point(valueColumn, rowSix));\r
- jTextFieldSkuId.setToolTipText("Enter a unique integer value.");\r
- }\r
- return jTextFieldSkuId;\r
- }\r
-\r
- /**\r
- * This method initializes jTextField3 \r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- private JTextField getJTextFieldSkuName() {\r
- if (jTextFieldSkuName == null) {\r
- jTextFieldSkuName = new JTextField();\r
- jTextFieldSkuName.setPreferredSize(new Dimension(valueWidth, oneRowHeight));\r
- jTextFieldSkuName.setBounds(new java.awt.Rectangle(valueColumn, rowSeven, valueWidth, oneRowHeight));\r
- jTextFieldSkuName.setLocation(new java.awt.Point(valueColumn, rowSeven));\r
- jTextFieldSkuName.setToolTipText("<html>Enter a name to help identify this SKU.<br>"\r
- + "This entry is not used by the build system, it is<br>"\r
- + "used only by this user interface.</html>");\r
- }\r
- return jTextFieldSkuName;\r
- }\r
-\r
- /**\r
- * This method initializes jButton \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonSkuAdd() {\r
- if (jButtonSkuAdd == null) {\r
- jButtonSkuAdd = new JButton();\r
-\r
- jButtonSkuAdd.setPreferredSize(new Dimension(buttonWidth, oneRowHeight));\r
- jButtonSkuAdd.setBounds(new java.awt.Rectangle(valueCenter - buttonWidth - 5, rowEight, buttonWidth,\r
- oneRowHeight));\r
- jButtonSkuAdd.setLocation(new java.awt.Point(valueCenter - buttonWidth - 5, rowEight));\r
- jButtonSkuAdd.setText("Add");\r
- jButtonSkuAdd.setVisible(true);\r
-\r
- jButtonSkuAdd.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- if (jTextFieldSkuId.getText().length() > 0) {\r
- String[] row = { jTextFieldSkuId.getText(), jTextFieldSkuName.getText() };\r
- skuInfoTableModel.addRow(row);\r
- docConsole.setSaved(false);\r
- ffc.genPlatformDefsSkuInfo(row[0], row[1]);\r
- }\r
- }\r
- });\r
- }\r
- return jButtonSkuAdd;\r
- }\r
-\r
- /**\r
- * This method initializes jButton1 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButtonSkuDel() {\r
- if (jButtonSkuDel == null) {\r
- jButtonSkuDel = new JButton();\r
- jButtonSkuDel.setPreferredSize(new Dimension(buttonWidth, oneRowHeight));\r
- jButtonSkuDel.setBounds(new java.awt.Rectangle(valueCenter + 5, rowEight, buttonWidth, oneRowHeight));\r
- jButtonSkuDel.setLocation(new java.awt.Point(valueCenter + 5, rowEight));\r
- jButtonSkuDel.setText("Delete");\r
- jButtonSkuDel.setVisible(true);\r
- jButtonSkuDel.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- if (jTableSkuInfo.isEditing()) {\r
- jTableSkuInfo.getCellEditor().stopCellEditing();\r
- }\r
- if (jTableSkuInfo.getSelectedRow() < 1) {\r
- return;\r
- }\r
- docConsole.setSaved(false);\r
- ffc.removePlatformDefsSkuInfo(jTableSkuInfo.getSelectedRow());\r
- skuInfoTableModel.removeRow(jTableSkuInfo.getSelectedRow());\r
- }\r
- });\r
- }\r
- return jButtonSkuDel;\r
- }\r
-\r
- /**\r
- * This method initializes jScrollPane3 \r
- * \r
- * @return javax.swing.JScrollPane \r
- */\r
- private JScrollPane getJScrollPaneSkuInfo() {\r
- if (jScrollPaneSkuInfo == null) {\r
- jScrollPaneSkuInfo = new JScrollPane();\r
- jScrollPaneSkuInfo.setPreferredSize(new Dimension(tableWidth - 20, tableHeight - 20));\r
- jScrollPaneSkuInfo.setBounds(new java.awt.Rectangle(valueColumn, rowNine, tableWidth - 5, tableHeight - 5));\r
- jScrollPaneSkuInfo.setLocation(new java.awt.Point(valueColumn, rowNine));\r
-\r
- jScrollPaneSkuInfo\r
- .setBorder(javax.swing.BorderFactory\r
- .createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
-\r
- jScrollPaneSkuInfo.setViewportView(getJTableSkuInfo());\r
- }\r
- return jScrollPaneSkuInfo;\r
- }\r
-\r
- /**\r
- * This method initializes jTable2 \r
- * \r
- * @return javax.swing.JTable \r
- */\r
- private JTable getJTableSkuInfo() {\r
- if (jTableSkuInfo == null) {\r
- skuInfoTableModel = new SkuInfoTableModel();\r
- skuInfoTableModel.addColumn("SKU ID");\r
- skuInfoTableModel.addColumn("Name");\r
- jTableSkuInfo = new JTable(skuInfoTableModel);\r
- jTableSkuInfo.setToolTipText("<html>SKU ID 0 must always be defined as the default.<br>"\r
- + "0 can mean either SKU disabled, or it can be the<br>"\r
- + "default value if more than one SKU is defined, and the<br>"\r
- + "platform is not jumpered to use one of the other SKU values.</html>");\r
-\r
- jTableSkuInfo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-\r
- jTableSkuInfo.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 name = m.getValueAt(row, 1) + "";\r
- docConsole.setSaved(false);\r
- ffc.updatePlatformDefsSkuInfo(row, id, name);\r
- }\r
- }\r
- });\r
- }\r
- return jTableSkuInfo;\r
- }\r
-\r
- /**\r
- * This method initializes jComboBox \r
- * \r
- * @return javax.swing.JComboBox \r
- */\r
- private JComboBox getJComboBoxInterDir() {\r
- if (jComboBoxInterDir == null) {\r
- jComboBoxInterDir = new JComboBox();\r
- jComboBoxInterDir.setPreferredSize(new Dimension(75, oneRowHeight));\r
- jComboBoxInterDir.setBounds(new java.awt.Rectangle(valueColumn + offsetWidth, rowEleven, 95, oneRowHeight));\r
- jComboBoxInterDir.setLocation(new java.awt.Point(valueColumn + offsetWidth, rowEleven));\r
- jComboBoxInterDir.addItem("UNIFIED");\r
- jComboBoxInterDir.addItem("MODULE");\r
- jComboBoxInterDir.setSelectedIndex(0);\r
- jComboBoxInterDir.setToolTipText("<html>Select UNIFIED to generate intermediate directories under<br>"\r
- + "under platform directory tree.<br>"\r
- + "Select MODULE to generate intermediate directories under the<br>"\r
- + "individual module directories.</html>");\r
- jComboBoxInterDir.addItemListener(new java.awt.event.ItemListener() {\r
- public void itemStateChanged(java.awt.event.ItemEvent e) {\r
- if (docConsole != null) {\r
- docConsole.setSaved(false);\r
- }\r
- ffc.setPlatformDefsInterDir(jComboBoxInterDir.getSelectedItem() + "");\r
- }\r
- });\r
- }\r
- return jComboBoxInterDir;\r
- }\r
-\r
- /**\r
- * This method initializes jTextField \r
- * \r
- * @return javax.swing.JTextField Row Twelve \r
- */\r
- private JTextField getJTextFieldOutputDir() {\r
- if (jTextFieldOutputDir == null) {\r
- jTextFieldOutputDir = new JTextField();\r
- jTextFieldOutputDir.setPreferredSize(new java.awt.Dimension(290, 20));\r
- jTextFieldOutputDir.setBounds(new java.awt.Rectangle(valueColumn + offsetWidth, rowTwelve, valueWidth - 30,\r
- oneRowHeight));\r
- jTextFieldOutputDir.setLocation(new java.awt.Point(valueColumn + offsetWidth, rowTwelve));\r
- jTextFieldOutputDir.setToolTipText("Select the name or URL for the output directory tree.");\r
- jTextFieldOutputDir.addFocusListener(new java.awt.event.FocusAdapter() {\r
- public void focusLost(java.awt.event.FocusEvent e) {\r
- docConsole.setSaved(false);\r
- ffc.setPlatformDefsOutputDir(jTextFieldOutputDir.getText());\r
- }\r
- });\r
- }\r
- return jTextFieldOutputDir;\r
- }\r
-\r
-} // @jve:decl-index=0:visual-constraint="10,10"\r
-\r
-class SkuInfoTableModel extends DefaultTableModel {\r
- private static final long serialVersionUID = 1L;\r
-\r
- public boolean isCellEditable(int row, int column) {\r
- if (row == 0) {\r
- return false;\r
- }\r
- return true;\r
- }\r
-}\r
-\r
-class TargetTableModel extends DefaultTableModel {\r
- private static final long serialVersionUID = 1L;\r
-\r
- public boolean isCellEditable(int row, int column) {\r
- if (row < 2) {\r
- return false;\r
- }\r
- return true;\r
- }\r
-}\r