X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fmodule%2Fui%2Fdialog%2FPCDsDlg.java;h=81a4dfe3daa3a96b5ccbb01375f80f9368cc6687;hp=ecd4ee30a01086714f6346cd9e77062f6beb349a;hb=623db5caebe9ecf6ef8f78a46a0495761fe1912b;hpb=747e1504f1fd1be7960fd7b39edfed2e838ae0d6 diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PCDsDlg.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PCDsDlg.java index ecd4ee30a0..81a4dfe3da 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PCDsDlg.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PCDsDlg.java @@ -1,6 +1,6 @@ /** @file - The file is used to create, update PCD of MSA/MBD file + The file is used to create, update PcdCode section of the MSA file Copyright (c) 2006, Intel Corporation All rights reserved. This program and the accompanying materials @@ -29,6 +29,7 @@ import javax.swing.JTextArea; import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.DataValidation; +import org.tianocore.frameworkwizard.common.EnumerationData; import org.tianocore.frameworkwizard.common.Log; import org.tianocore.frameworkwizard.common.Tools; import org.tianocore.frameworkwizard.common.ui.ArchCheckBox; @@ -40,19 +41,20 @@ import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdVector; import org.tianocore.frameworkwizard.workspace.WorkspaceTools; /** - The class is used to create, update PCD of MSA/MBD file - It extends IInternalFrame - - **/ + * The class is used to create, update PcdCoded section of the MSA file + * + * It extends IDialog + * + */ public class PCDsDlg extends IDialog implements ItemListener { - /// - /// Define class Serial Version UID - /// + // / + // / Define class Serial Version UID + // / private static final long serialVersionUID = 2227717658188438696L; // - //Define class members + // Define class members // private JPanel jContentPane = null; @@ -97,95 +99,104 @@ public class PCDsDlg extends IDialog implements ItemListener { private JButton jButtonCancel = null; private JScrollPane jScrollPaneHelpText = null; + + private JLabel jLabelUsage = null; + + private JComboBox jComboBoxUsage = null; + // // Not used by UI // private PcdCodedIdentification id = null; + private EnumerationData ed = new EnumerationData(); + private WorkspaceTools wt = new WorkspaceTools(); private PcdVector pcd = wt.getAllPcdDeclarationsFromWorkspace(); - + /** - This method initializes jComboBoxItemType - - @return javax.swing.JComboBox jComboBoxItemType - - **/ + * This method initializes jComboBoxItemType + * + * @return javax.swing.JComboBox jComboBoxItemType + * + */ private JComboBox getJComboBoxItemType() { if (jComboBoxItemType == null) { jComboBoxItemType = new JComboBox(); - jComboBoxItemType.setBounds(new java.awt.Rectangle(160, 35, 320, 20)); + jComboBoxItemType.setBounds(new java.awt.Rectangle(168, 37, 320, 20)); jComboBoxItemType.setPreferredSize(new java.awt.Dimension(320, 20)); } return jComboBoxItemType; } /** - This method initializes jTextFieldC_Name - - @return javax.swing.JTextField jTextFieldC_Name - - **/ + * This method initializes jTextFieldC_Name + * + * @return javax.swing.JTextField jTextFieldC_Name + * + */ private JComboBox getJComboBoxCName() { if (jComboBoxCName == null) { jComboBoxCName = new JComboBox(); - jComboBoxCName.setBounds(new java.awt.Rectangle(160, 10, 320, 20)); + jComboBoxCName.setBounds(new java.awt.Rectangle(168, 12, 320, 20)); jComboBoxCName.setPreferredSize(new java.awt.Dimension(320, 20)); jComboBoxCName.addItemListener(this); - //jComboBoxCName.addActionListener(this); } return jComboBoxCName; } /** - This method initializes jTextFieldDefaultValue - - @return javax.swing.JTextField jTextFieldDefaultValue - - **/ + * This method initializes jTextFieldDefaultValue + * + * @return javax.swing.JTextField jTextFieldDefaultValue + * + */ private JTextField getJTextFieldDefaultValue() { if (jTextFieldDefaultValue == null) { jTextFieldDefaultValue = new JTextField(); - jTextFieldDefaultValue.setBounds(new java.awt.Rectangle(160, 60, 320, 20)); + jTextFieldDefaultValue.setBounds(new java.awt.Rectangle(168, 62, 320, 20)); jTextFieldDefaultValue.setPreferredSize(new java.awt.Dimension(320, 20)); } return jTextFieldDefaultValue; } /** - * This method initializes jTextAreaHelpText - * - * @return javax.swing.JTextArea + * This method initializes jTextAreaHelpText + * + * @return javax.swing.JTextArea */ private JTextArea getJTextAreaHelpText() { if (jTextAreaHelpText == null) { jTextAreaHelpText = new JTextArea(); jTextAreaHelpText.setLineWrap(true); jTextAreaHelpText.setWrapStyleWord(true); -// jTextAreaHelpText.setBounds(new java.awt.Rectangle(160, 85, 320, 20)); -// jTextAreaHelpText.setPreferredSize(new java.awt.Dimension(320, 20)); } return jTextAreaHelpText; } + + /** + * This method initializes jScrollPaneHelpText + * + * @return javax.swing.JScrollPane + * + */ private JScrollPane getJScrollPaneHelpText() { - if (jScrollPaneHelpText == null ) { - jScrollPaneHelpText = new JScrollPane(); - jScrollPaneHelpText.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); - jScrollPaneHelpText.setSize(new java.awt.Dimension(320, 40)); - jScrollPaneHelpText.setPreferredSize(new java.awt.Dimension(320, 40)); - jScrollPaneHelpText.setLocation(new java.awt.Point(160, 85)); - jScrollPaneHelpText.setViewportView(getJTextAreaHelpText()); - - } - return jScrollPaneHelpText; + if (jScrollPaneHelpText == null) { + jScrollPaneHelpText = new JScrollPane(); + jScrollPaneHelpText.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + jScrollPaneHelpText.setSize(new java.awt.Dimension(320, 40)); + jScrollPaneHelpText.setPreferredSize(new java.awt.Dimension(320, 40)); + jScrollPaneHelpText.setLocation(new java.awt.Point(168, 112)); + jScrollPaneHelpText.setViewportView(getJTextAreaHelpText()); + } + return jScrollPaneHelpText; } - /** - This method initializes jScrollPane - - @return javax.swing.JScrollPane + * This method initializes jScrollPane + * + * @return javax.swing.JScrollPane */ private JScrollPane getJScrollPane() { if (jScrollPane == null) { @@ -196,14 +207,14 @@ public class PCDsDlg extends IDialog implements ItemListener { } /** - * This method initializes jTextFieldTokenSpaceGuid - * - * @return javax.swing.JTextField + * This method initializes jTextFieldTokenSpaceGuid + * + * @return javax.swing.JTextField */ private JTextField getJTextFieldTokenSpaceGuid() { if (jTextFieldTokenSpaceGuid == null) { jTextFieldTokenSpaceGuid = new JTextField(); - jTextFieldTokenSpaceGuid.setBounds(new java.awt.Rectangle(160, 60, 320, 20)); + jTextFieldTokenSpaceGuid.setBounds(new java.awt.Rectangle(168, 62, 320, 20)); jTextFieldTokenSpaceGuid.setPreferredSize(new java.awt.Dimension(320, 20)); jTextFieldTokenSpaceGuid.setVisible(false); } @@ -211,30 +222,31 @@ public class PCDsDlg extends IDialog implements ItemListener { } /** - * This method initializes jTextFieldFeatureFlag - * - * @return javax.swing.JTextField + * This method initializes jTextFieldFeatureFlag + * + * @return javax.swing.JTextField */ private JTextField getJTextFieldFeatureFlag() { if (jTextFieldFeatureFlag == null) { jTextFieldFeatureFlag = new JTextField(); - jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 130, 320, 20)); + jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(168, 182, 320, 20)); jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(320, 20)); - //jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 130, 140, 20)); + jTextFieldFeatureFlag.setToolTipText("Postfix expression that must evaluate to TRUE or FALSE"); + jTextFieldFeatureFlag.setEnabled(false); } return jTextFieldFeatureFlag; } /** - This method initializes jButtonOk - - @return javax.swing.JButton - - **/ + * This method initializes jButtonOk + * + * @return javax.swing.JButton + * + */ private JButton getJButtonOk() { if (jButtonOk == null) { jButtonOk = new JButton(); - jButtonOk.setBounds(new java.awt.Rectangle(290, 185, 90, 20)); + jButtonOk.setBounds(new java.awt.Rectangle(290, 212, 90, 20)); jButtonOk.setText("Ok"); jButtonOk.addActionListener(this); } @@ -242,31 +254,45 @@ public class PCDsDlg extends IDialog implements ItemListener { } /** - This method initializes jButtonCancel - - @return javax.swing.JButton - - **/ + * This method initializes jButtonCancel + * + * @return javax.swing.JButton + * + */ private JButton getJButtonCancel() { if (jButtonCancel == null) { jButtonCancel = new JButton(); - jButtonCancel.setBounds(new java.awt.Rectangle(390, 185, 90, 20)); + jButtonCancel.setBounds(new java.awt.Rectangle(390, 212, 90, 20)); jButtonCancel.setText("Cancel"); jButtonCancel.addActionListener(this); } return jButtonCancel; } + /** + * This method initializes jComboBoxUsage + * + * @return javax.swing.JComboBox + */ + private JComboBox getJComboBoxUsage() { + if (jComboBoxUsage == null) { + jComboBoxUsage = new JComboBox(); + jComboBoxUsage.setBounds(new java.awt.Rectangle(168, 87, 320, 20)); + jComboBoxUsage.setPreferredSize(new java.awt.Dimension(320, 20)); + } + return jComboBoxUsage; + } + public static void main(String[] args) { } /** - This method initializes this - - **/ + * This method initializes this + * + */ private void init() { - this.setSize(508, 260); + this.setSize(505, 280); this.setContentPane(getJScrollPane()); this.setTitle("Pcd Coded"); initFrame(); @@ -275,20 +301,26 @@ public class PCDsDlg extends IDialog implements ItemListener { } /** - This method initializes this - Fill values to all fields if these values are not empty - - @param inPcdCodedId - - **/ + * This method initializes this Fill values to all fields if these values are + * not empty + * + * @param inPcdCodedId + * + */ private void init(PcdCodedIdentification inPcdCodedId) { init(); this.id = inPcdCodedId; if (this.id != null) { - this.jComboBoxCName.setSelectedItem(id.getName()); + for (int index = 0; index < this.jComboBoxCName.getItemCount(); index++) { + if (this.jComboBoxCName.getItemAt(index).toString().equals(id.getName())) { + this.jComboBoxCName.setSelectedIndex(index); + break; + } + } this.jTextFieldTokenSpaceGuid.setText(id.getGuid()); this.jTextFieldDefaultValue.setText(id.getValue()); + this.jComboBoxUsage.setSelectedItem(id.getUsage()); this.jTextAreaHelpText.setText(id.getHelp()); this.jComboBoxItemType.setSelectedItem(id.getType()); this.jTextFieldFeatureFlag.setText(id.getFeatureFlag()); @@ -297,23 +329,24 @@ public class PCDsDlg extends IDialog implements ItemListener { } /** - This is the override edit constructor - - @param inPcdCodedId - @param iFrame - - **/ + * This is the override edit constructor + * + * @param inPcdCodedId + * @param iFrame + * + */ public PCDsDlg(PcdCodedIdentification inPcdCodedId, IFrame iFrame) { super(iFrame, true); init(inPcdCodedId); } /** - Disable all components when the mode is view - - @param isView true - The view mode; false - The non-view mode - - **/ + * Disable all components when the mode is view + * + * @param isView + * true - The view mode; false - The non-view mode + * + */ public void setViewMode(boolean isView) { if (isView) { this.jTextFieldDefaultValue.setEnabled(!isView); @@ -322,91 +355,104 @@ public class PCDsDlg extends IDialog implements ItemListener { } /** - This method initializes jContentPane - - @return javax.swing.JPanel jContentPane - - **/ + * This method initializes jContentPane + * + * @return javax.swing.JPanel jContentPane + * + */ private JPanel getJContentPane() { if (jContentPane == null) { - jArchCheckBox = new ArchCheckBox(); - jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20)); - jLabelArch = new JLabel(); - jLabelArch.setText("Sup Arch List"); + jLabelUsage = new JLabel(); + jLabelUsage.setBounds(new java.awt.Rectangle(12, 87, 168, 20)); + jLabelUsage.setText("Usge"); + jStarLabel1 = new StarLabel(); + jStarLabel1.setLocation(new java.awt.Point(2, 12)); + jLabelC_Name = new JLabel(); + jLabelC_Name.setText("PCD C Name"); + jLabelC_Name.setBounds(new java.awt.Rectangle(12, 12, 168, 20)); + + jStarLabel2 = new StarLabel(); + jStarLabel2.setLocation(new java.awt.Point(2, 37)); + jLabelItemType = new JLabel(); + jLabelItemType.setText("PCD Item Type"); + jLabelItemType.setBounds(new java.awt.Rectangle(12, 37, 168, 20)); + + jLabelDefaultValue = new JLabel(); + jLabelDefaultValue.setText("Default Value"); + jLabelDefaultValue.setBounds(new java.awt.Rectangle(12, 62, 168, 20)); + + jStarLabel3 = new StarLabel(); + jStarLabel3.setLocation(new java.awt.Point(2, 112)); + jLabelHelpText = new JLabel(); + jLabelHelpText.setText("Help Text"); + jLabelHelpText.setBounds(new java.awt.Rectangle(12, 112, 168, 20)); + jLabelFeatureFlag = new JLabel(); - jLabelFeatureFlag.setText("Feature Flag"); + jLabelFeatureFlag.setText("Feature Flag Expression"); + jLabelFeatureFlag.setBounds(new java.awt.Rectangle(12, 182, 168, 20)); + jLabelFeatureFlag.setEnabled(false); + jLabelTokenSpaceGuid = new JLabel(); jLabelTokenSpaceGuid.setText("Token Space C Name"); jLabelTokenSpaceGuid.setVisible(false); - jLabelHelpText = new JLabel(); - jLabelHelpText.setText("Help Text"); - jLabelC_Name = new JLabel(); - jLabelC_Name.setText("C Name"); - jLabelDefaultValue = new JLabel(); - jLabelDefaultValue.setText("Default Value"); - jLabelItemType = new JLabel(); - jLabelItemType.setText("Item Type"); - jLabelC_Name.setBounds(new java.awt.Rectangle(15, 10, 140, 20)); - jLabelItemType.setBounds(new java.awt.Rectangle(15, 35, 140, 20)); - jLabelDefaultValue.setBounds(new java.awt.Rectangle(15, 60, 140, 20)); - jLabelHelpText.setBounds(new java.awt.Rectangle(15, 85, 140, 20)); - jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 130, 140, 20)); - jLabelArch.setBounds(new java.awt.Rectangle(15, 155, 140, 20)); + jLabelArch = new JLabel(); + jLabelArch.setText("Supported Architectures"); + jLabelArch.setBounds(new java.awt.Rectangle(12, 157, 168, 20)); + jArchCheckBox = new ArchCheckBox(); + jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20)); + jArchCheckBox.setBounds(new java.awt.Rectangle(168, 157, 320, 20)); - jArchCheckBox.setBounds(new java.awt.Rectangle(160, 155, 320, 20)); - jLabelTokenSpaceGuid.setBounds(new java.awt.Rectangle(15, 60, 140, 20)); + // Hidden field + jLabelTokenSpaceGuid.setBounds(new java.awt.Rectangle(12, 62, 140, 20)); jContentPane = new JPanel(); jContentPane.setLayout(null); - jContentPane.setPreferredSize(new java.awt.Dimension(490, 190)); + jContentPane.setPreferredSize(new java.awt.Dimension(485, 235)); - jContentPane.add(jLabelItemType, null); + jContentPane.add(jStarLabel1, null); jContentPane.add(jLabelC_Name, null); jContentPane.add(getJComboBoxCName(), null); + jContentPane.add(jStarLabel2, null); + jContentPane.add(jLabelItemType, null); + jContentPane.add(getJComboBoxItemType(), null); jContentPane.add(jLabelDefaultValue, null); jContentPane.add(getJTextFieldDefaultValue(), null); - jContentPane.add(getJScrollPaneHelpText(), null); - jContentPane.add(getJComboBoxItemType(), null); - jStarLabel1 = new StarLabel(); - jStarLabel1.setLocation(new java.awt.Point(0, 10)); - jStarLabel2 = new StarLabel(); - jStarLabel2.setLocation(new java.awt.Point(0, 35)); - jStarLabel3 = new StarLabel(); - jStarLabel3.setLocation(new java.awt.Point(0, 85)); - jContentPane.add(jStarLabel1, null); - jContentPane.add(jStarLabel2, null); jContentPane.add(jStarLabel3, null); jContentPane.add(jLabelHelpText, null); -// jContentPane.add(getJTextFieldHelpText(), null); - - jContentPane.add(jLabelTokenSpaceGuid, null); - jContentPane.add(getJTextFieldTokenSpaceGuid(), null); + jContentPane.add(getJScrollPaneHelpText(), null); jContentPane.add(jLabelFeatureFlag, null); jContentPane.add(getJTextFieldFeatureFlag(), null); jContentPane.add(jLabelArch, null); jContentPane.add(jArchCheckBox, null); + // Hidden + jContentPane.add(getJTextFieldTokenSpaceGuid(), null); + jContentPane.add(jLabelTokenSpaceGuid, null); jContentPane.add(getJButtonOk(), null); jContentPane.add(getJButtonCancel(), null); + jContentPane.add(jLabelUsage, null); + jContentPane.add(getJComboBoxUsage(), null); } return jContentPane; } /** - This method initializes Usage type, Item type and Datum type - - **/ + * This method initializes Usage type, Item type and Datum type + * + */ private void initFrame() { for (int index = 0; index < pcd.size(); index++) { jComboBoxCName.addItem(pcd.getPcd(index)); } - - //Tools.generateComboBoxByVector(jComboBoxItemType, ed.getVPcdItemTypes()); + + Tools.generateComboBoxByVector(jComboBoxUsage, ed.getVPcdUsage()); } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) - * + * * Override actionPerformed to listen all actions * */ @@ -426,19 +472,19 @@ public class PCDsDlg extends IDialog implements ItemListener { } /** - Data validation for all fields - - @retval true - All datas are valid - @retval false - At least one data is invalid - - **/ + * Data validation for all fields + * + * @retval true - All datas are valid + * @retval false - At least one data is invalid + * + */ public boolean checkAdd() { // - // Check if all fields have correct data types + // Check if all fields have correct data types // // - // Check C_Name + // Check C_Name // if (!isEmpty(this.jComboBoxCName.getSelectedItem().toString())) { if (!DataValidation.isC_NameType(this.jComboBoxCName.getSelectedItem().toString())) { @@ -452,7 +498,8 @@ public class PCDsDlg extends IDialog implements ItemListener { // if (!isEmpty(this.jTextFieldTokenSpaceGuid.getText())) { if (!DataValidation.isC_NameType(this.jTextFieldTokenSpaceGuid.getText())) { - Log.wrn("Update PcdCoded", "Incorrect data type for the selected pcd entry, please check in in spd file"); + Log.wrn("Update PcdCoded", + "Incorrect data type for the selected pcd entry, please check the datatype specified in the spd file"); return false; } } @@ -498,7 +545,12 @@ public class PCDsDlg extends IDialog implements ItemListener { String arg4 = this.jTextFieldDefaultValue.getText(); String arg5 = this.jTextAreaHelpText.getText(); String arg6 = this.jComboBoxItemType.getSelectedItem().toString(); - id = new PcdCodedIdentification(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + String arg7 = this.jComboBoxUsage.getSelectedItem().toString(); + if (arg7.equals(DataType.EMPTY_SELECT_ITEM)) { + arg7 = ""; + } + + id = new PcdCodedIdentification(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); return id; } @@ -510,18 +562,22 @@ public class PCDsDlg extends IDialog implements ItemListener { this.id = id; } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent) - * + * * Reflesh the frame when selected item changed * */ public void itemStateChanged(ItemEvent arg0) { int index = this.jComboBoxCName.getSelectedIndex(); - if (arg0.getSource() == this.jComboBoxCName && arg0.getStateChange() == ItemEvent.SELECTED ) { + if (arg0.getSource() == this.jComboBoxCName && arg0.getStateChange() == ItemEvent.SELECTED) { if (pcd.getPcd(index).getGuidCName() == null || isEmpty(pcd.getPcd(index).getGuidCName()) - || pcd.getPcd(index).getType() == null || pcd.getPcd(index).getHelp() == null || isEmpty(pcd.getPcd(index).getHelp())) { - Log.wrn("select pcd entry when editing msa", "The selected is defined incorrectly.\r\nPlease check it in spd file"); + || pcd.getPcd(index).getType() == null || pcd.getPcd(index).getHelp() == null + || isEmpty(pcd.getPcd(index).getHelp())) { + Log.wrn("select pcd entry when editing msa", + "The selected value is defined incorrectly.\r\nPlease check it in the spd file"); } else { this.jTextFieldTokenSpaceGuid.setText(pcd.getPcd(index).getGuidCName()); Tools.generateComboBoxByVector(this.jComboBoxItemType, pcd.getPcd(index).getType());