import java.awt.event.ActionEvent;\r
import java.awt.event.ComponentEvent;\r
import java.awt.event.FocusEvent;\r
+import java.awt.event.ItemEvent;\r
import java.util.Vector;\r
\r
import javax.swing.ButtonGroup;\r
private int dialogHeight = 630;\r
\r
private final int labelWidth = 155;\r
- \r
+\r
private int valueWidth = 320;\r
- \r
+\r
private final int labelCol = 12;\r
- \r
+\r
private final int valueCol = 168;\r
+\r
//\r
//Define class members\r
//\r
\r
private JCheckBox jCheckBoxPpc = null;\r
\r
- private JComboBox jComboBoxPcdIsDriver = null;\r
+ private JTextField jComboBoxPcdIsDriver = null;\r
\r
private JCheckBox jCheckBoxPcd = null;\r
\r
jCheckBoxIa32.setText("IA32");\r
jCheckBoxIa32.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
jCheckBoxIa32.addFocusListener(this);\r
+ jCheckBoxIa32.addItemListener(this);\r
}\r
return jCheckBoxIa32;\r
}\r
jCheckBoxX64.setText("X64");\r
jCheckBoxX64.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
jCheckBoxX64.addFocusListener(this);\r
+ jCheckBoxX64.addItemListener(this);\r
}\r
return jCheckBoxX64;\r
}\r
jCheckBoxIpf.setText("IPF");\r
jCheckBoxIpf.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
jCheckBoxIpf.addFocusListener(this);\r
+ jCheckBoxIpf.addItemListener(this);\r
}\r
return jCheckBoxIpf;\r
}\r
jCheckBoxEbc.setText("EBC");\r
jCheckBoxEbc.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
jCheckBoxEbc.addFocusListener(this);\r
+ jCheckBoxEbc.addItemListener(this);\r
}\r
return jCheckBoxEbc;\r
}\r
jCheckBoxArm.setText("ARM");\r
jCheckBoxArm.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
jCheckBoxArm.addFocusListener(this);\r
+ jCheckBoxArm.addItemListener(this);\r
}\r
return jCheckBoxArm;\r
}\r
jCheckBoxPpc.setText("PPC");\r
jCheckBoxPpc.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
jCheckBoxPpc.addFocusListener(this);\r
+ jCheckBoxPpc.addItemListener(this);\r
}\r
return jCheckBoxPpc;\r
}\r
jComboBoxModuleType.setBounds(new java.awt.Rectangle(valueCol, 35, valueWidth, 20));\r
jComboBoxModuleType.setPreferredSize(new java.awt.Dimension(valueWidth, 20));\r
jComboBoxModuleType.addFocusListener(this);\r
+ jComboBoxModuleType.addItemListener(this);\r
}\r
return jComboBoxModuleType;\r
}\r
* \r
* @return javax.swing.JComboBox \r
*/\r
- private JComboBox getJComboBoxPcdIsDriver() {\r
+ private JTextField getJComboBoxPcdIsDriver() {\r
if (jComboBoxPcdIsDriver == null) {\r
- jComboBoxPcdIsDriver = new JComboBox();\r
+ jComboBoxPcdIsDriver = new JTextField();\r
jComboBoxPcdIsDriver.setPreferredSize(new java.awt.Dimension(valueWidth, 20));\r
jComboBoxPcdIsDriver.setBounds(new java.awt.Rectangle(valueCol, 530, valueWidth, 20));\r
- jComboBoxPcdIsDriver.addItemListener(this);\r
+ //jComboBoxPcdIsDriver.addItemListener(this);\r
jComboBoxPcdIsDriver.addFocusListener(this);\r
jComboBoxPcdIsDriver.setEnabled(false);\r
- Tools.generateComboBoxByVector(jComboBoxPcdIsDriver, ed.getVPcdDriverTypes());\r
+ //Tools.generateComboBoxByVector(jComboBoxPcdIsDriver, ed.getVPcdDriverTypes());\r
jComboBoxPcdIsDriver.setVisible(false);\r
}\r
return jComboBoxPcdIsDriver;\r
this.ex = inEx;\r
if (ex.getPcdIsDriver() != null) {\r
this.jCheckBoxPcd.setSelected(true);\r
- this.jComboBoxPcdIsDriver.setEnabled(true);\r
- this.jComboBoxPcdIsDriver.setSelectedItem(ex.getPcdIsDriver());\r
- // TODO: If the module type is DXE_DRIVER, set PCD_DXE_DRIVER\r
- // If the module type is PEIM, set PCD_PEI_DRIVER\r
- // If the module type is anything else, unset this!\r
+ this.jCheckBoxPcd.setEnabled(true);\r
}\r
this.jCheckBoxFlashMap.setSelected(ex.getTianoR8FlashMapH());\r
}\r
*\r
*/\r
public void actionPerformed(ActionEvent arg0) {\r
- if (arg0.getSource() == jButtonOk) {\r
- if (this.check()) {\r
- this.save();\r
- } else {\r
- return;\r
- }\r
- this.setEdited(true);\r
- this.dispose();\r
- }\r
-\r
- if (arg0.getSource() == jButtonCancel) {\r
- this.setEdited(false);\r
- }\r
-\r
if (arg0.getSource() == jButtonGenerateGuid) {\r
jTextFieldGuid.setText(Tools.generateUuidString());\r
jTextFieldGuid.requestFocus();\r
jButtonGenerateGuid.requestFocus();\r
}\r
-\r
- if (arg0.getSource() == this.jCheckBoxPcd) {\r
- this.jComboBoxPcdIsDriver.setEnabled(this.jCheckBoxPcd.isSelected());\r
- }\r
}\r
\r
/**\r
// jTextFieldOutputFileBasename.addFocusListener(this);\r
return;\r
}\r
- \r
+\r
if (!DataValidation.isOutputFileBasename(this.jTextFieldOutputFileBasename.getText())) {\r
- Log.wrn("Update Msa Header", "Incorrect data type for Output File Basename, it must be a valid file name");\r
+ Log.wrn("Update Msa Header",\r
+ "Incorrect data type for Output File Basename, it must be a valid file name");\r
return;\r
}\r
- \r
+\r
if (!this.jTextFieldOutputFileBasename.getText().equals(md.getOutputFileBasename())) {\r
this.md.setOutputFileBasename(this.jTextFieldOutputFileBasename.getText());\r
} else {\r
}\r
}\r
\r
- //\r
- // Check Pcd is Driver\r
- //\r
- if (arg0.getSource() == this.jCheckBoxPcd || arg0.getSource() == this.jComboBoxPcdIsDriver) {\r
- if ((this.ex == null) && this.jCheckBoxPcd.isSelected()) {\r
- this.ex = ExternsDocument.Externs.Factory.newInstance();\r
- this.ex.setPcdIsDriver(PcdDriverTypes.Enum.forString(this.jComboBoxPcdIsDriver.getSelectedItem()\r
- .toString()));\r
- this.msa.setExterns(this.ex);\r
- } else if ((this.ex != null) && (this.ex.getPcdIsDriver() == null) && this.jCheckBoxPcd.isSelected()) {\r
- this.ex.setPcdIsDriver(PcdDriverTypes.Enum.forString(this.jComboBoxPcdIsDriver.getSelectedItem()\r
- .toString()));\r
- this.msa.setExterns(this.ex);\r
- } else if ((this.ex != null) && (this.ex.getPcdIsDriver() != null)) {\r
- if (this.jCheckBoxPcd.isSelected()\r
- && !this.jComboBoxPcdIsDriver.getSelectedItem().toString().equals(\r
- this.ex.getPcdIsDriver()\r
- .toString())) {\r
- this.ex.setPcdIsDriver(PcdDriverTypes.Enum.forString(this.jComboBoxPcdIsDriver.getSelectedItem()\r
- .toString()));\r
- this.msa.setExterns(this.ex);\r
- }\r
- if (!this.jCheckBoxPcd.isSelected()) {\r
- ExternsDocument.Externs newEx = ExternsDocument.Externs.Factory.newInstance();\r
- if (this.ex.getExternList() != null) {\r
- for (int index = 0; index < this.ex.getExternList().size(); index++) {\r
- newEx.addNewExtern();\r
- newEx.setExternArray(index, this.ex.getExternArray(index));\r
- }\r
- }\r
- if (this.ex.getSpecificationList() != null) {\r
- for (int index = 0; index < this.ex.getSpecificationList().size(); index++) {\r
- newEx.addNewSpecification();\r
- newEx.setSpecificationArray(index, this.ex.getSpecificationArray(index));\r
- }\r
- }\r
- if (this.ex.getTianoR8FlashMapH()) {\r
- newEx.setTianoR8FlashMapH(this.ex.getTianoR8FlashMapH());\r
- }\r
- this.ex = newEx;\r
- this.msa.setExterns(this.ex);\r
- }\r
- }\r
- }\r
-\r
//\r
// Check Flash Map\r
//\r
}\r
\r
private void setAllItemsSelected(boolean isSelected) {\r
- this.jCheckBoxIa32.setSelected(isSelected);\r
+ this.jCheckBoxIa32.setSelected(true);\r
this.jCheckBoxX64.setSelected(isSelected);\r
this.jCheckBoxIpf.setSelected(isSelected);\r
this.jCheckBoxEbc.setSelected(isSelected);\r
\r
private void setSelectedItems(Vector<String> v) {\r
setAllItemsSelected(false);\r
+ boolean isIA32Selected = false;\r
if (v != null) {\r
for (int index = 0; index < v.size(); index++) {\r
if (v.get(index).equals(this.jCheckBoxIa32.getText())) {\r
this.jCheckBoxIa32.setSelected(true);\r
+ isIA32Selected = true;\r
continue;\r
}\r
if (v.get(index).equals(this.jCheckBoxIpf.getText())) {\r
continue;\r
}\r
}\r
+ if (!isIA32Selected) {\r
+ this.jCheckBoxIa32.setSelected(false);\r
+ }\r
}\r
}\r
\r
jCheckBoxPcd.setText("Is this a PCD Driver?");\r
jCheckBoxPcd.addFocusListener(this);\r
jCheckBoxPcd.addActionListener(this);\r
+ jCheckBoxPcd.setEnabled(false);\r
+ jCheckBoxPcd.addItemListener(this);\r
}\r
return jCheckBoxPcd;\r
}\r
}\r
return jRadioButtonBinaryModuleFalse;\r
}\r
+\r
+ public void itemStateChanged(ItemEvent arg0) {\r
+ if (arg0.getSource() == this.jCheckBoxIa32 || arg0.getSource() == this.jCheckBoxIpf\r
+ || arg0.getSource() == this.jCheckBoxX64 || arg0.getSource() == this.jCheckBoxEbc\r
+ || arg0.getSource() == this.jCheckBoxArm || arg0.getSource() == this.jCheckBoxPpc) {\r
+ if (!this.jCheckBoxIa32.isSelected() && !this.jCheckBoxX64.isSelected() && !this.jCheckBoxIpf.isSelected()\r
+ && !this.jCheckBoxEbc.isSelected() && !this.jCheckBoxPpc.isSelected()\r
+ && !this.jCheckBoxArm.isSelected()) {\r
+ Log\r
+ .wrn("At lease one Supportted Architecture should be selected! IA32 is selected as default value!");\r
+ this.jCheckBoxIa32.setSelected(true);\r
+ }\r
+ }\r
+\r
+ if (arg0.getSource() == this.jComboBoxModuleType) {\r
+ if (this.jComboBoxModuleType.getSelectedItem().equals("PEIM")\r
+ || this.jComboBoxModuleType.getSelectedItem().equals("DXE_DRIVER")) {\r
+ this.jCheckBoxPcd.setEnabled(true);\r
+ if (this.jCheckBoxPcd.isSelected()) {\r
+ this.jCheckBoxPcd.setSelected(false);\r
+ this.jCheckBoxPcd.setSelected(true);\r
+ }\r
+ } else {\r
+ this.jCheckBoxPcd.setEnabled(false);\r
+ this.jCheckBoxPcd.setSelected(false);\r
+ }\r
+ }\r
+\r
+ //\r
+ // Check Pcd is Driver\r
+ //\r
+ if (arg0.getSource() == this.jCheckBoxPcd) {\r
+ if (this.jCheckBoxPcd.isSelected()) {\r
+ if (this.jComboBoxModuleType.getSelectedItem().toString().equals("DXE_DRIVER")) {\r
+ this.jComboBoxPcdIsDriver.setText("DXE_PCD_DRIVER");\r
+ this.jComboBoxPcdIsDriver.setEnabled(true);\r
+ } else if (this.jComboBoxModuleType.getSelectedItem().toString().equals("PEIM")) {\r
+ this.jComboBoxPcdIsDriver.setText("PEI_PCD_DRIVER");\r
+ this.jComboBoxPcdIsDriver.setEnabled(true);\r
+ }\r
+ }\r
+\r
+ if ((this.ex == null) && this.jCheckBoxPcd.isSelected()) {\r
+ this.ex = ExternsDocument.Externs.Factory.newInstance();\r
+ this.ex.setPcdIsDriver(PcdDriverTypes.Enum.forString(this.jComboBoxPcdIsDriver.getText()));\r
+ this.msa.setExterns(this.ex);\r
+ } else if ((this.ex != null) && (this.ex.getPcdIsDriver() == null) && this.jCheckBoxPcd.isSelected()) {\r
+ this.ex.setPcdIsDriver(PcdDriverTypes.Enum.forString(this.jComboBoxPcdIsDriver.getText()));\r
+ this.msa.setExterns(this.ex);\r
+ } else if ((this.ex != null) && (this.ex.getPcdIsDriver() != null)) {\r
+ if (this.jCheckBoxPcd.isSelected()\r
+ && !this.jComboBoxPcdIsDriver.getText().toString().equals(this.ex.getPcdIsDriver().toString())) {\r
+ this.ex.setPcdIsDriver(PcdDriverTypes.Enum.forString(this.jComboBoxPcdIsDriver.getText()));\r
+ this.msa.setExterns(this.ex);\r
+ }\r
+ if (!this.jCheckBoxPcd.isSelected()) {\r
+ ExternsDocument.Externs newEx = ExternsDocument.Externs.Factory.newInstance();\r
+ if (this.ex.getExternList() != null) {\r
+ for (int index = 0; index < this.ex.getExternList().size(); index++) {\r
+ newEx.addNewExtern();\r
+ newEx.setExternArray(index, this.ex.getExternArray(index));\r
+ }\r
+ }\r
+ if (this.ex.getSpecificationList() != null) {\r
+ for (int index = 0; index < this.ex.getSpecificationList().size(); index++) {\r
+ newEx.addNewSpecification();\r
+ newEx.setSpecificationArray(index, this.ex.getSpecificationArray(index));\r
+ }\r
+ }\r
+ if (this.ex.getTianoR8FlashMapH()) {\r
+ newEx.setTianoR8FlashMapH(this.ex.getTianoR8FlashMapH());\r
+ }\r
+ this.ex = newEx;\r
+ this.msa.setExterns(this.ex);\r
+ }\r
+ }\r
+ this.save();\r
+ }\r
+ }\r
}\r