/** @file\r
\r
- The file is used to create, update PCD of MSA/MBD file\r
+ The file is used to create, update PcdCode section of the MSA file\r
\r
Copyright (c) 2006, Intel Corporation\r
All rights reserved. This program and the accompanying materials\r
\r
import org.tianocore.frameworkwizard.common.DataType;\r
import org.tianocore.frameworkwizard.common.DataValidation;\r
+import org.tianocore.frameworkwizard.common.EnumerationData;\r
import org.tianocore.frameworkwizard.common.Log;\r
import org.tianocore.frameworkwizard.common.Tools;\r
import org.tianocore.frameworkwizard.common.ui.ArchCheckBox;\r
import org.tianocore.frameworkwizard.workspace.WorkspaceTools;\r
\r
/**\r
- * The class is used to create, update PCD of MSA/MBD file It extends\r
- * IInternalFrame\r
+ * The class is used to create, update PcdCoded section of the MSA file\r
+ * \r
+ * It extends IDialog\r
* \r
*/\r
public class PCDsDlg extends IDialog implements ItemListener {\r
\r
private JScrollPane jScrollPaneHelpText = null;\r
\r
+ private JLabel jLabelUsage = null;\r
+\r
+ private JComboBox jComboBoxUsage = null;\r
+\r
//\r
// Not used by UI\r
//\r
private PcdCodedIdentification id = null;\r
\r
+ private EnumerationData ed = new EnumerationData();\r
+\r
private WorkspaceTools wt = new WorkspaceTools();\r
\r
private PcdVector pcd = wt.getAllPcdDeclarationsFromWorkspace();\r
private JComboBox getJComboBoxItemType() {\r
if (jComboBoxItemType == null) {\r
jComboBoxItemType = new JComboBox();\r
- jComboBoxItemType.setBounds(new java.awt.Rectangle(160, 35, 320, 20));\r
+ jComboBoxItemType.setBounds(new java.awt.Rectangle(168, 37, 320, 20));\r
jComboBoxItemType.setPreferredSize(new java.awt.Dimension(320, 20));\r
}\r
return jComboBoxItemType;\r
private JComboBox getJComboBoxCName() {\r
if (jComboBoxCName == null) {\r
jComboBoxCName = new JComboBox();\r
- jComboBoxCName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
+ jComboBoxCName.setBounds(new java.awt.Rectangle(168, 12, 320, 20));\r
jComboBoxCName.setPreferredSize(new java.awt.Dimension(320, 20));\r
jComboBoxCName.addItemListener(this);\r
}\r
private JTextField getJTextFieldDefaultValue() {\r
if (jTextFieldDefaultValue == null) {\r
jTextFieldDefaultValue = new JTextField();\r
- jTextFieldDefaultValue.setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
+ jTextFieldDefaultValue.setBounds(new java.awt.Rectangle(168, 62, 320, 20));\r
jTextFieldDefaultValue.setPreferredSize(new java.awt.Dimension(320, 20));\r
}\r
return jTextFieldDefaultValue;\r
jScrollPaneHelpText.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
jScrollPaneHelpText.setSize(new java.awt.Dimension(320, 40));\r
jScrollPaneHelpText.setPreferredSize(new java.awt.Dimension(320, 40));\r
- jScrollPaneHelpText.setLocation(new java.awt.Point(160, 85));\r
+ jScrollPaneHelpText.setLocation(new java.awt.Point(168, 112));\r
jScrollPaneHelpText.setViewportView(getJTextAreaHelpText());\r
}\r
return jScrollPaneHelpText;\r
private JTextField getJTextFieldTokenSpaceGuid() {\r
if (jTextFieldTokenSpaceGuid == null) {\r
jTextFieldTokenSpaceGuid = new JTextField();\r
- jTextFieldTokenSpaceGuid.setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
+ jTextFieldTokenSpaceGuid.setBounds(new java.awt.Rectangle(168, 62, 320, 20));\r
jTextFieldTokenSpaceGuid.setPreferredSize(new java.awt.Dimension(320, 20));\r
jTextFieldTokenSpaceGuid.setVisible(false);\r
}\r
private JTextField getJTextFieldFeatureFlag() {\r
if (jTextFieldFeatureFlag == null) {\r
jTextFieldFeatureFlag = new JTextField();\r
- jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 130, 320, 20));\r
+ jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(168, 182, 320, 20));\r
jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(320, 20));\r
jTextFieldFeatureFlag.setToolTipText("Postfix expression that must evaluate to TRUE or FALSE");\r
+ jTextFieldFeatureFlag.setEnabled(false);\r
}\r
return jTextFieldFeatureFlag;\r
}\r
private JButton getJButtonOk() {\r
if (jButtonOk == null) {\r
jButtonOk = new JButton();\r
- jButtonOk.setBounds(new java.awt.Rectangle(290, 182, 90, 20));\r
+ jButtonOk.setBounds(new java.awt.Rectangle(290, 212, 90, 20));\r
jButtonOk.setText("Ok");\r
jButtonOk.addActionListener(this);\r
}\r
private JButton getJButtonCancel() {\r
if (jButtonCancel == null) {\r
jButtonCancel = new JButton();\r
- jButtonCancel.setBounds(new java.awt.Rectangle(390, 182, 90, 20));\r
+ jButtonCancel.setBounds(new java.awt.Rectangle(390, 212, 90, 20));\r
jButtonCancel.setText("Cancel");\r
jButtonCancel.addActionListener(this);\r
}\r
return jButtonCancel;\r
}\r
\r
+ /**\r
+ * This method initializes jComboBoxUsage \r
+ * \r
+ * @return javax.swing.JComboBox \r
+ */\r
+ private JComboBox getJComboBoxUsage() {\r
+ if (jComboBoxUsage == null) {\r
+ jComboBoxUsage = new JComboBox();\r
+ jComboBoxUsage.setBounds(new java.awt.Rectangle(168, 87, 320, 20));\r
+ jComboBoxUsage.setPreferredSize(new java.awt.Dimension(320, 20));\r
+ }\r
+ return jComboBoxUsage;\r
+ }\r
+\r
public static void main(String[] args) {\r
\r
}\r
* \r
*/\r
private void init() {\r
- this.setSize(500, 255);\r
+ this.setSize(505, 280);\r
this.setContentPane(getJScrollPane());\r
this.setTitle("Pcd Coded");\r
initFrame();\r
this.id = inPcdCodedId;\r
\r
if (this.id != null) {\r
- this.jComboBoxCName.setSelectedItem(id.getName());\r
+ for (int index = 0; index < this.jComboBoxCName.getItemCount(); index++) {\r
+ if (this.jComboBoxCName.getItemAt(index).toString().equals(id.getName())) {\r
+ this.jComboBoxCName.setSelectedIndex(index);\r
+ break;\r
+ }\r
+ }\r
this.jTextFieldTokenSpaceGuid.setText(id.getGuid());\r
this.jTextFieldDefaultValue.setText(id.getValue());\r
+ this.jComboBoxUsage.setSelectedItem(id.getUsage());\r
this.jTextAreaHelpText.setText(id.getHelp());\r
this.jComboBoxItemType.setSelectedItem(id.getType());\r
this.jTextFieldFeatureFlag.setText(id.getFeatureFlag());\r
*/\r
private JPanel getJContentPane() {\r
if (jContentPane == null) {\r
+ jLabelUsage = new JLabel();\r
+ jLabelUsage.setBounds(new java.awt.Rectangle(12, 87, 168, 20));\r
+ jLabelUsage.setText("Usge");\r
jStarLabel1 = new StarLabel();\r
- jStarLabel1.setLocation(new java.awt.Point(2, 10));\r
+ jStarLabel1.setLocation(new java.awt.Point(2, 12));\r
jLabelC_Name = new JLabel();\r
jLabelC_Name.setText("PCD C Name");\r
- jLabelC_Name.setBounds(new java.awt.Rectangle(15, 10, 145, 20));\r
+ jLabelC_Name.setBounds(new java.awt.Rectangle(12, 12, 168, 20));\r
\r
jStarLabel2 = new StarLabel();\r
- jStarLabel2.setLocation(new java.awt.Point(2, 35));\r
+ jStarLabel2.setLocation(new java.awt.Point(2, 37));\r
jLabelItemType = new JLabel();\r
jLabelItemType.setText("PCD Item Type");\r
- jLabelItemType.setBounds(new java.awt.Rectangle(15, 35, 145, 20));\r
+ jLabelItemType.setBounds(new java.awt.Rectangle(12, 37, 168, 20));\r
\r
jLabelDefaultValue = new JLabel();\r
jLabelDefaultValue.setText("Default Value");\r
- jLabelDefaultValue.setBounds(new java.awt.Rectangle(15, 60, 145, 20));\r
+ jLabelDefaultValue.setBounds(new java.awt.Rectangle(12, 62, 168, 20));\r
\r
jStarLabel3 = new StarLabel();\r
- jStarLabel3.setLocation(new java.awt.Point(2, 85));\r
+ jStarLabel3.setLocation(new java.awt.Point(2, 112));\r
jLabelHelpText = new JLabel();\r
jLabelHelpText.setText("Help Text");\r
- jLabelHelpText.setBounds(new java.awt.Rectangle(15, 85, 145, 20));\r
+ jLabelHelpText.setBounds(new java.awt.Rectangle(12, 112, 168, 20));\r
\r
jLabelFeatureFlag = new JLabel();\r
jLabelFeatureFlag.setText("Feature Flag Expression");\r
- jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 130, 140, 20));\r
+ jLabelFeatureFlag.setBounds(new java.awt.Rectangle(12, 182, 168, 20));\r
+ jLabelFeatureFlag.setEnabled(false);\r
\r
jLabelTokenSpaceGuid = new JLabel();\r
jLabelTokenSpaceGuid.setText("Token Space C Name");\r
\r
jLabelArch = new JLabel();\r
jLabelArch.setText("Supported Architectures");\r
- jLabelArch.setBounds(new java.awt.Rectangle(15, 155, 145, 20));\r
+ jLabelArch.setBounds(new java.awt.Rectangle(12, 157, 168, 20));\r
jArchCheckBox = new ArchCheckBox();\r
jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20));\r
- jArchCheckBox.setBounds(new java.awt.Rectangle(160, 155, 320, 20));\r
+ jArchCheckBox.setBounds(new java.awt.Rectangle(168, 157, 320, 20));\r
\r
// Hidden field\r
- jLabelTokenSpaceGuid.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
+ jLabelTokenSpaceGuid.setBounds(new java.awt.Rectangle(12, 62, 140, 20));\r
\r
jContentPane = new JPanel();\r
jContentPane.setLayout(null);\r
- jContentPane.setPreferredSize(new java.awt.Dimension(485, 210));\r
+ jContentPane.setPreferredSize(new java.awt.Dimension(485, 235));\r
\r
jContentPane.add(jStarLabel1, null);\r
jContentPane.add(jLabelC_Name, null);\r
jContentPane.add(jLabelTokenSpaceGuid, null);\r
jContentPane.add(getJButtonOk(), null);\r
jContentPane.add(getJButtonCancel(), null);\r
+ jContentPane.add(jLabelUsage, null);\r
+ jContentPane.add(getJComboBoxUsage(), null);\r
}\r
return jContentPane;\r
}\r
jComboBoxCName.addItem(pcd.getPcd(index));\r
}\r
\r
- // Tools.generateComboBoxByVector(jComboBoxItemType, ed.getVPcdItemTypes());\r
+ Tools.generateComboBoxByVector(jComboBoxUsage, ed.getVPcdUsage());\r
}\r
\r
/*\r
if (!isEmpty(this.jTextFieldTokenSpaceGuid.getText())) {\r
if (!DataValidation.isC_NameType(this.jTextFieldTokenSpaceGuid.getText())) {\r
Log.wrn("Update PcdCoded",\r
- "Incorrect data type for the selected pcd entry, please check in in spd file");\r
+ "Incorrect data type for the selected pcd entry, please check the datatype specified in the spd file");\r
return false;\r
}\r
}\r
String arg4 = this.jTextFieldDefaultValue.getText();\r
String arg5 = this.jTextAreaHelpText.getText();\r
String arg6 = this.jComboBoxItemType.getSelectedItem().toString();\r
- id = new PcdCodedIdentification(arg0, arg1, arg2, arg3, arg4, arg5, arg6);\r
+ String arg7 = this.jComboBoxUsage.getSelectedItem().toString();\r
+ if (arg7.equals(DataType.EMPTY_SELECT_ITEM)) {\r
+ arg7 = "";\r
+ }\r
+\r
+ id = new PcdCodedIdentification(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);\r
return id;\r
}\r
\r
|| pcd.getPcd(index).getType() == null || pcd.getPcd(index).getHelp() == null\r
|| isEmpty(pcd.getPcd(index).getHelp())) {\r
Log.wrn("select pcd entry when editing msa",\r
- "The selected is defined incorrectly.\r\nPlease check it in spd file");\r
+ "The selected value is defined incorrectly.\r\nPlease check it in the spd file");\r
} else {\r
this.jTextFieldTokenSpaceGuid.setText(pcd.getPcd(index).getGuidCName());\r
Tools.generateComboBoxByVector(this.jComboBoxItemType, pcd.getPcd(index).getType());\r