package org.tianocore.frameworkwizard.module.ui.dialog;\r
\r
import java.awt.event.ActionEvent;\r
+import java.awt.event.ItemEvent;\r
+import java.awt.event.ItemListener;\r
import java.util.Vector;\r
\r
import javax.swing.JButton;\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.common.ui.IFrame;\r
import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdCodedIdentification;\r
+import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdVector;\r
import org.tianocore.frameworkwizard.workspace.WorkspaceTools;\r
\r
/**\r
The class is used to create, update PCD of MSA/MBD file\r
It extends IInternalFrame\r
\r
-\r
-\r
**/\r
-public class PCDsDlg extends IDialog {\r
+public class PCDsDlg extends IDialog implements ItemListener {\r
\r
///\r
/// Define class Serial Version UID\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
+ \r
/**\r
This method initializes jComboBoxItemType \r
\r
jComboBoxCName = new JComboBox();\r
jComboBoxCName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
jComboBoxCName.setPreferredSize(new java.awt.Dimension(320, 20));\r
+ jComboBoxCName.addItemListener(this);\r
+ //jComboBoxCName.addActionListener(this);\r
}\r
return jComboBoxCName;\r
}\r
\r
**/\r
private void initFrame() {\r
- Tools.generateComboBoxByVector(jComboBoxCName, wt.getAllPcdDeclarationsFromWorkspace());\r
- Tools.generateComboBoxByVector(jComboBoxItemType, ed.getVPcdItemTypes());\r
+ for (int index = 0; index < pcd.size(); index++) {\r
+ jComboBoxCName.addItem(pcd.getPcd(index));\r
+ }\r
+ \r
+ //Tools.generateComboBoxByVector(jComboBoxItemType, ed.getVPcdItemTypes());\r
}\r
\r
/* (non-Javadoc)\r
//\r
// Check TokenSpaceGuid\r
//\r
- // if (!isEmpty(this.jTextFieldTokenSpaceGuid.getText())) {\r
- // if (!DataValidation.isC_NameType(this.jTextFieldTokenSpaceGuid.getText())) {\r
- // Log.err("Incorrect data type for Token Space C_Name");\r
- // return false;\r
- // }\r
- // }\r
+ if (!isEmpty(this.jTextFieldTokenSpaceGuid.getText())) {\r
+ if (!DataValidation.isC_NameType(this.jTextFieldTokenSpaceGuid.getText())) {\r
+ Log.err("Incorrect data type for the selected pcd entry, please check in in spd file");\r
+ return false;\r
+ }\r
+ }\r
\r
//\r
// Check DefaultValue\r
public void setId(PcdCodedIdentification id) {\r
this.id = id;\r
}\r
+\r
+ /* (non-Javadoc)\r
+ * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)\r
+ *\r
+ * Reflesh the frame when selected item changed\r
+ * \r
+ */\r
+ public void itemStateChanged(ItemEvent arg0) {\r
+ int index = this.jComboBoxCName.getSelectedIndex();\r
+ if (arg0.getSource() == this.jComboBoxCName && arg0.getStateChange() == ItemEvent.SELECTED ) {\r
+ if (pcd.getPcd(index).getGuidCName() == null || isEmpty(pcd.getPcd(index).getGuidCName())\r
+ || pcd.getPcd(index).getType() == null || pcd.getPcd(index).getHelp() == null || isEmpty(pcd.getPcd(index).getHelp())) {\r
+ Log.err("select pcd entry when editing msa", "The selected is defined incorrectly.\r\nPlease check it in spd file");\r
+ } else {\r
+ this.jTextFieldTokenSpaceGuid.setText(pcd.getPcd(index).getGuidCName());\r
+ Tools.generateComboBoxByVector(this.jComboBoxItemType, pcd.getPcd(index).getType());\r
+ this.jTextFieldHelpText.setText(pcd.getPcd(index).getHelp());\r
+ this.jTextFieldHelpText.setSelectionStart(0);\r
+ this.jTextFieldHelpText.setSelectionEnd(0);\r
+ }\r
+ }\r
+ }\r
}\r