import org.tianocore.frameworkwizard.common.ui.ArchCheckBox;\r
import org.tianocore.frameworkwizard.common.ui.IDialog;\r
import org.tianocore.frameworkwizard.common.ui.IFrame;\r
+import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
import org.tianocore.frameworkwizard.module.Identifications.Externs.ExternsIdentification;\r
\r
/**\r
\r
private JScrollPane jScrollPane = null;\r
\r
- private JComboBox jComboBoxPcdIsDriver = null;\r
+ private JLabel jLabelSpecification = null;\r
\r
- private JLabel jLabelC_Name = null;\r
-\r
- private JTextField jTextFieldC_Name = null;\r
+ private JTextField jTextFieldSpecification = null;\r
\r
private JLabel jLabelFeatureFlag = null;\r
\r
\r
private JButton jButtonCancel = null;\r
\r
+ private StarLabel jStarLabel1 = null;\r
+\r
+ private JPanel jPanelSpecification = null;\r
+\r
+ private JPanel jPanelImage = null;\r
+\r
+ private JPanel jPanelDriver = null;\r
+\r
+ private JPanel jPanelLibrary = null;\r
+\r
+ private JPanel jPanelCallBack = null;\r
+\r
+ private JLabel jLabelModuleEntryPoint = null;\r
+\r
+ private JTextField jTextFieldModuleEntryPoint = null;\r
+\r
+ private JLabel jLabelModuleUnloadImage = null;\r
+\r
+ private JTextField jTextFieldModuleUnloadImage = null;\r
+\r
+ private JLabel jLabelDriverBinding = null;\r
+\r
+ private JTextField jTextFieldDriverBinding = null;\r
+\r
+ private JLabel jLabelComponentName = null;\r
+\r
+ private JTextField jTextFieldComponentName = null;\r
+\r
+ private JLabel jLabelDriverConfig = null;\r
+\r
+ private JTextField jTextFieldDriverConfig = null;\r
+\r
+ private JLabel jLabelDriverDiagnostic = null;\r
+\r
+ private JTextField jTextFieldDriverDiagnostic = null;\r
+\r
+ private JLabel jLabelConstructor = null;\r
+\r
+ private JTextField jTextFieldConstructor = null;\r
+\r
+ private JLabel jLabelDestructor = null;\r
+\r
+ private JTextField jTextFieldDestructor = null;\r
+\r
+ private JLabel jLabelVirtualAddressMap = null;\r
+\r
+ private JTextField jTextFieldVirtualAddressMap = null;\r
+\r
+ private JLabel jLabelExitBootServices = null;\r
+\r
+ private JTextField jTextFieldExitBootServices = null;\r
+\r
//\r
// Not used by UI\r
//\r
return jScrollPane;\r
}\r
\r
- /**\r
- * This method initializes jComboBoxPcdIsDriver \r
- * \r
- * @return javax.swing.JComboBox \r
- */\r
- private JComboBox getJComboBoxPcdIsDriver() {\r
- if (jComboBoxPcdIsDriver == null) {\r
- jComboBoxPcdIsDriver = new JComboBox();\r
- jComboBoxPcdIsDriver.setLocation(new java.awt.Point(168, 37));\r
- jComboBoxPcdIsDriver.setPreferredSize(new java.awt.Dimension(320, 20));\r
- jComboBoxPcdIsDriver.setSize(new java.awt.Dimension(320, 20));\r
- jComboBoxPcdIsDriver.addItemListener(this);\r
- }\r
- return jComboBoxPcdIsDriver;\r
- }\r
-\r
/**\r
This method initializes jTextFieldC_Name \r
\r
@return javax.swing.JTextField \r
\r
**/\r
- private JTextField getJTextFieldC_Name() {\r
- if (jTextFieldC_Name == null) {\r
- jTextFieldC_Name = new JTextField();\r
- jTextFieldC_Name.setBounds(new java.awt.Rectangle(168, 37, 320, 20));\r
- jTextFieldC_Name.setPreferredSize(new java.awt.Dimension(320, 20));\r
+ private JTextField getJTextFieldSpecification() {\r
+ if (jTextFieldSpecification == null) {\r
+ jTextFieldSpecification = new JTextField();\r
+ jTextFieldSpecification.setPreferredSize(new java.awt.Dimension(320, 20));\r
+ jTextFieldSpecification.setBounds(new java.awt.Rectangle(168, 0, 320, 20));\r
}\r
- return jTextFieldC_Name;\r
+ return jTextFieldSpecification;\r
}\r
\r
/**\r
private JButton getJButtonOk() {\r
if (jButtonOk == null) {\r
jButtonOk = new JButton();\r
- jButtonOk.setBounds(new java.awt.Rectangle(300, 122, 90, 20));\r
+ jButtonOk.setBounds(new java.awt.Rectangle(300, 187, 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(400, 122, 90, 20));\r
+ jButtonCancel.setBounds(new java.awt.Rectangle(400, 187, 90, 20));\r
jButtonCancel.setText("Cancel");\r
jButtonCancel.addActionListener(this);\r
}\r
return jButtonCancel;\r
}\r
\r
+ /**\r
+ * This method initializes jPanelSpecification \r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+ private JPanel getJPanelSpecification() {\r
+ if (jPanelSpecification == null) {\r
+ jPanelSpecification = new JPanel();\r
+ jPanelSpecification.setBounds(new java.awt.Rectangle(0, 37, 505, 20));\r
+ jPanelSpecification.setLayout(null);\r
+\r
+ jLabelSpecification = new JLabel();\r
+ jLabelSpecification.setBounds(new java.awt.Rectangle(12, 0, 140, 20));\r
+ jLabelSpecification.setText("Specification Name");\r
+\r
+ jPanelSpecification.add(jLabelSpecification, null);\r
+ jPanelSpecification.add(getJTextFieldSpecification(), null);\r
+ }\r
+ return jPanelSpecification;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jPanelImage \r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+ private JPanel getJPanelImage() {\r
+ if (jPanelImage == null) {\r
+ jLabelModuleUnloadImage = new JLabel();\r
+ jLabelModuleUnloadImage.setBounds(new java.awt.Rectangle(12, 25, 140, 20));\r
+ jLabelModuleUnloadImage.setText("Module Unload Image");\r
+ jLabelModuleEntryPoint = new JLabel();\r
+ jLabelModuleEntryPoint.setBounds(new java.awt.Rectangle(12, 0, 140, 20));\r
+ jLabelModuleEntryPoint.setText("Module Entry Point");\r
+ jPanelImage = new JPanel();\r
+ jPanelImage.setBounds(new java.awt.Rectangle(0, 37, 505, 45));\r
+ jPanelImage.setLayout(null);\r
+ jPanelImage.add(jLabelModuleEntryPoint, null);\r
+ jPanelImage.add(getJTextFieldModuleEntryPoint(), null);\r
+ jPanelImage.add(jLabelModuleUnloadImage, null);\r
+ jPanelImage.add(getJTextFieldModuleUnloadImage(), null);\r
+ }\r
+ return jPanelImage;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jPanelDriver \r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+ private JPanel getJPanelDriver() {\r
+ if (jPanelDriver == null) {\r
+ jStarLabel1 = new StarLabel();\r
+ jStarLabel1.setLocation(new java.awt.Point(0, 0));\r
+ jLabelDriverDiagnostic = new JLabel();\r
+ jLabelDriverDiagnostic.setBounds(new java.awt.Rectangle(12, 75, 140, 20));\r
+ jLabelDriverDiagnostic.setText("Driver Diagnostic");\r
+ jLabelDriverConfig = new JLabel();\r
+ jLabelDriverConfig.setBounds(new java.awt.Rectangle(12, 50, 140, 20));\r
+ jLabelDriverConfig.setText("Driver Config");\r
+ jLabelComponentName = new JLabel();\r
+ jLabelComponentName.setBounds(new java.awt.Rectangle(12, 25, 140, 20));\r
+ jLabelComponentName.setText("Component Name");\r
+ jLabelDriverBinding = new JLabel();\r
+ jLabelDriverBinding.setBounds(new java.awt.Rectangle(12, 0, 140, 20));\r
+ jLabelDriverBinding.setText("Driver Binding");\r
+ jPanelDriver = new JPanel();\r
+ jPanelDriver.setBounds(new java.awt.Rectangle(0, 37, 505, 95));\r
+ jPanelDriver.setLayout(null);\r
+ jPanelDriver.add(jStarLabel1, null);\r
+ jPanelDriver.add(jLabelDriverBinding, null);\r
+ jPanelDriver.add(getJTextFieldDriverBinding(), null);\r
+ jPanelDriver.add(jLabelComponentName, null);\r
+ jPanelDriver.add(getJTextFieldComponentName(), null);\r
+ jPanelDriver.add(jLabelDriverConfig, null);\r
+ jPanelDriver.add(getJTextFieldDriverConfig(), null);\r
+ jPanelDriver.add(jLabelDriverDiagnostic, null);\r
+ jPanelDriver.add(getJTextFieldDriverDiagnostic(), null);\r
+ }\r
+ return jPanelDriver;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jPanelLibrary \r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+ private JPanel getJPanelLibrary() {\r
+ if (jPanelLibrary == null) {\r
+ jLabelDestructor = new JLabel();\r
+ jLabelDestructor.setBounds(new java.awt.Rectangle(12, 25, 140, 20));\r
+ jLabelDestructor.setText("Destructor");\r
+ jLabelConstructor = new JLabel();\r
+ jLabelConstructor.setBounds(new java.awt.Rectangle(12, 0, 140, 20));\r
+ jLabelConstructor.setText("Constructor");\r
+ jPanelLibrary = new JPanel();\r
+ jPanelLibrary.setBounds(new java.awt.Rectangle(0, 37, 505, 45));\r
+ jPanelLibrary.setLayout(null);\r
+ jPanelLibrary.add(jLabelConstructor, null);\r
+ jPanelLibrary.add(getJTextFieldConstructor(), null);\r
+ jPanelLibrary.add(jLabelDestructor, null);\r
+ jPanelLibrary.add(getJTextFieldDestructor(), null);\r
+ }\r
+ return jPanelLibrary;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jPanelCallBack \r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+ private JPanel getJPanelCallBack() {\r
+ if (jPanelCallBack == null) {\r
+ jLabelExitBootServices = new JLabel();\r
+ jLabelExitBootServices.setBounds(new java.awt.Rectangle(12, 25, 140, 20));\r
+ jLabelExitBootServices.setText("Exit Boot Services");\r
+ jLabelVirtualAddressMap = new JLabel();\r
+ jLabelVirtualAddressMap.setBounds(new java.awt.Rectangle(12, 0, 140, 20));\r
+ jLabelVirtualAddressMap.setText("Virtual Address Map");\r
+ jPanelCallBack = new JPanel();\r
+ jPanelCallBack.setBounds(new java.awt.Rectangle(0, 37, 505, 45));\r
+ jPanelCallBack.setLayout(null);\r
+ jPanelCallBack.add(jLabelVirtualAddressMap, null);\r
+ jPanelCallBack.add(getJTextFieldVirtualAddressMap(), null);\r
+ jPanelCallBack.add(jLabelExitBootServices, null);\r
+ jPanelCallBack.add(getJTextFieldExitBootServices(), null);\r
+ }\r
+ return jPanelCallBack;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextFieldModuleEntryPoint \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextFieldModuleEntryPoint() {\r
+ if (jTextFieldModuleEntryPoint == null) {\r
+ jTextFieldModuleEntryPoint = new JTextField();\r
+ jTextFieldModuleEntryPoint.setBounds(new java.awt.Rectangle(168, 0, 320, 20));\r
+ }\r
+ return jTextFieldModuleEntryPoint;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextFieldModuleUnloadImage \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextFieldModuleUnloadImage() {\r
+ if (jTextFieldModuleUnloadImage == null) {\r
+ jTextFieldModuleUnloadImage = new JTextField();\r
+ jTextFieldModuleUnloadImage.setBounds(new java.awt.Rectangle(168, 25, 320, 20));\r
+ }\r
+ return jTextFieldModuleUnloadImage;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextFieldDriverBinding \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextFieldDriverBinding() {\r
+ if (jTextFieldDriverBinding == null) {\r
+ jTextFieldDriverBinding = new JTextField();\r
+ jTextFieldDriverBinding.setBounds(new java.awt.Rectangle(168, 0, 320, 20));\r
+ }\r
+ return jTextFieldDriverBinding;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextFieldComponentName \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextFieldComponentName() {\r
+ if (jTextFieldComponentName == null) {\r
+ jTextFieldComponentName = new JTextField();\r
+ jTextFieldComponentName.setBounds(new java.awt.Rectangle(168, 25, 320, 20));\r
+ }\r
+ return jTextFieldComponentName;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextFieldDriverConfig \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextFieldDriverConfig() {\r
+ if (jTextFieldDriverConfig == null) {\r
+ jTextFieldDriverConfig = new JTextField();\r
+ jTextFieldDriverConfig.setBounds(new java.awt.Rectangle(168, 50, 320, 20));\r
+ }\r
+ return jTextFieldDriverConfig;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextFieldDriverDiagnostic \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextFieldDriverDiagnostic() {\r
+ if (jTextFieldDriverDiagnostic == null) {\r
+ jTextFieldDriverDiagnostic = new JTextField();\r
+ jTextFieldDriverDiagnostic.setBounds(new java.awt.Rectangle(168, 75, 320, 20));\r
+ }\r
+ return jTextFieldDriverDiagnostic;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextFieldConstructor \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextFieldConstructor() {\r
+ if (jTextFieldConstructor == null) {\r
+ jTextFieldConstructor = new JTextField();\r
+ jTextFieldConstructor.setBounds(new java.awt.Rectangle(168, 0, 320, 20));\r
+ }\r
+ return jTextFieldConstructor;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextFieldDestructor \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextFieldDestructor() {\r
+ if (jTextFieldDestructor == null) {\r
+ jTextFieldDestructor = new JTextField();\r
+ jTextFieldDestructor.setBounds(new java.awt.Rectangle(168, 25, 320, 20));\r
+ }\r
+ return jTextFieldDestructor;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextFieldVirtualAddressMap \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextFieldVirtualAddressMap() {\r
+ if (jTextFieldVirtualAddressMap == null) {\r
+ jTextFieldVirtualAddressMap = new JTextField();\r
+ jTextFieldVirtualAddressMap.setBounds(new java.awt.Rectangle(168, 0, 320, 20));\r
+ }\r
+ return jTextFieldVirtualAddressMap;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextFieldExitBootServices \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextFieldExitBootServices() {\r
+ if (jTextFieldExitBootServices == null) {\r
+ jTextFieldExitBootServices = new JTextField();\r
+ jTextFieldExitBootServices.setBounds(new java.awt.Rectangle(168, 25, 320, 20));\r
+ }\r
+ return jTextFieldExitBootServices;\r
+ }\r
+\r
public static void main(String[] args) {\r
\r
}\r
\r
**/\r
private void init() {\r
- this.setSize(515, 200);\r
+ this.setSize(515, 250);\r
this.setContentPane(getJScrollPane());\r
this.setTitle("Externs");\r
initFrame();\r
this.id = inExternsId;\r
\r
if (this.id != null) {\r
- if (id.getType().equals(EnumerationData.EXTERNS_PCD_IS_DRIVER)) {\r
- this.jComboBoxPcdIsDriver.setSelectedItem(id.getName());\r
- } else {\r
- this.jTextFieldC_Name.setText(id.getName());\r
- }\r
- this.jComboBoxType.setSelectedItem(id.getType());\r
+ String type = id.getType();\r
+ //\r
+ // Filter the type to lock down the type\r
+ //\r
+ this.jComboBoxType.removeAllItems();\r
+ this.jComboBoxType.addItem(type);\r
+\r
this.jTextFieldFeatureFlag.setText(id.getFeatureFlag());\r
this.jArchCheckBox.setSelectedItems(id.getSupArchList());\r
+\r
+ //\r
+ // Init specification\r
+ //\r
+ if (type.equals(EnumerationData.EXTERNS_SPECIFICATION)) {\r
+ this.jTextFieldSpecification.setText(id.getName0());\r
+ }\r
+\r
+ //\r
+ // Init image\r
+ //\r
+ if (type.equals(EnumerationData.EXTERNS_IMAGE)) {\r
+ this.jTextFieldModuleEntryPoint.setText(id.getName0());\r
+ this.jTextFieldModuleUnloadImage.setText(id.getName1());\r
+ }\r
+\r
+ //\r
+ // Init library\r
+ //\r
+ if (type.equals(EnumerationData.EXTERNS_LIBRARY)) {\r
+ this.jTextFieldConstructor.setText(id.getName0());\r
+ this.jTextFieldDestructor.setText(id.getName1());\r
+ }\r
+\r
+ //\r
+ // Init driver\r
+ //\r
+ if (type.equals(EnumerationData.EXTERNS_DRIVER)) {\r
+ this.jTextFieldDriverBinding.setText(id.getName0());\r
+ this.jTextFieldComponentName.setText(id.getName1());\r
+ this.jTextFieldDriverConfig.setText(id.getName2());\r
+ this.jTextFieldDriverDiagnostic.setText(id.getName3());\r
+ }\r
+\r
+ //\r
+ // Init library\r
+ //\r
+ if (type.equals(EnumerationData.EXTERNS_CALL_BACK)) {\r
+ this.jTextFieldVirtualAddressMap.setText(id.getName0());\r
+ this.jTextFieldExitBootServices.setText(id.getName1());\r
+ }\r
}\r
}\r
\r
jArchCheckBox = new ArchCheckBox();\r
jArchCheckBox.setBounds(new java.awt.Rectangle(168, 62, 320, 20));\r
jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20));\r
- jLabelC_Name = new JLabel();\r
- jLabelC_Name.setBounds(new java.awt.Rectangle(12, 37, 140, 20));\r
- jLabelC_Name.setText("Enter Value");\r
+\r
jLabelName = new JLabel();\r
jLabelName.setText("Choose Extern Type");\r
- jLabelName.setBounds(new java.awt.Rectangle(12, 12, 168, 20));\r
+ jLabelName.setBounds(new java.awt.Rectangle(12, 12, 155, 20));\r
jLabelArch = new JLabel();\r
- jLabelArch.setBounds(new java.awt.Rectangle(12, 62, 168, 20));\r
+ jLabelArch.setBounds(new java.awt.Rectangle(12, 62, 155, 20));\r
jLabelArch.setText("Supported Architectures");\r
jLabelFeatureFlag = new JLabel();\r
- jLabelFeatureFlag.setBounds(new java.awt.Rectangle(12, 87, 168, 20));\r
+ jLabelFeatureFlag.setBounds(new java.awt.Rectangle(12, 87, 155, 20));\r
jLabelFeatureFlag.setText("Feature Flag Expression");\r
jLabelFeatureFlag.setEnabled(false);\r
\r
jContentPane = new JPanel();\r
jContentPane.setLayout(null);\r
- jContentPane.setPreferredSize(new java.awt.Dimension(505, 155));\r
+ jContentPane.setPreferredSize(new java.awt.Dimension(505, 200));\r
\r
jContentPane.add(jLabelName, null);\r
jContentPane.add(getJComboBoxType(), null);\r
jContentPane.add(jLabelArch, null);\r
jContentPane.add(getJTextFieldFeatureFlag(), null);\r
\r
- jContentPane.add(getJComboBoxPcdIsDriver(), null);\r
- jContentPane.add(jLabelC_Name, null);\r
- jContentPane.add(getJTextFieldC_Name(), null);\r
jContentPane.add(jArchCheckBox, null);\r
jContentPane.add(getJButtonOk(), null);\r
jContentPane.add(getJButtonCancel(), null);\r
+\r
+ jContentPane.add(getJPanelSpecification(), null);\r
+ jContentPane.add(getJPanelImage(), null);\r
+ jContentPane.add(getJPanelDriver(), null);\r
+ jContentPane.add(getJPanelLibrary(), null);\r
+ jContentPane.add(getJPanelCallBack(), null);\r
}\r
return jContentPane;\r
}\r
**/\r
private void initFrame() {\r
Tools.generateComboBoxByVector(this.jComboBoxType, ed.getVExternTypes());\r
- Tools.generateComboBoxByVector(this.jComboBoxPcdIsDriver, ed.getVPcdDriverTypes());\r
+ this.jPanelSpecification.setVisible(true);\r
+ this.jPanelImage.setVisible(false);\r
+ this.jPanelLibrary.setVisible(false);\r
+ this.jPanelDriver.setVisible(false);\r
+ this.jPanelCallBack.setVisible(false);\r
}\r
\r
/* (non-Javadoc)\r
public void actionPerformed(ActionEvent arg0) {\r
if (arg0.getSource() == jButtonOk) {\r
if (checkAdd()) {\r
- getCurrentExterns();\r
+ this.getCurrentExterns();\r
this.returnType = DataType.RETURN_TYPE_OK;\r
this.setVisible(false);\r
}\r
//\r
\r
//\r
- // When and only When type is not "Pcd Is Driver"\r
+ // Check specification\r
//\r
- if (!this.jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_PCD_IS_DRIVER)) {\r
+ if (this.jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_SPECIFICATION)) {\r
+ if (isEmpty(this.jTextFieldSpecification.getText())) {\r
+ Log.wrn("Update Externs", "Please type specification's name");\r
+ return false;\r
+ }\r
+ if (!DataValidation.isSentence(this.jTextFieldSpecification.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for Specification");\r
+ return false;\r
+ }\r
+\r
//\r
- // Check CName \r
+ // No need to check feature flag, return true directly here.\r
//\r
- if (isEmpty(this.jTextFieldC_Name.getText())) {\r
- Log.wrn("Update Externs", "Value couldn't be empty");\r
+ return true;\r
+ }\r
+\r
+ //\r
+ // Check image\r
+ //\r
+ if (this.jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_IMAGE)) {\r
+ if (isEmpty(this.jTextFieldModuleEntryPoint.getText())\r
+ && isEmpty(this.jTextFieldModuleUnloadImage.getText())) {\r
+ Log.wrn("Update Externs", "At least one of ModuleEntryPoint or ModuleUnloadImage should have a value");\r
return false;\r
}\r
+ if (!isEmpty(this.jTextFieldModuleEntryPoint.getText())) {\r
+ if (!DataValidation.isC_NameType(this.jTextFieldModuleEntryPoint.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for Module Entry Point");\r
+ return false;\r
+ }\r
+ }\r
+ if (!isEmpty(this.jTextFieldModuleUnloadImage.getText())) {\r
+ if (!DataValidation.isC_NameType(this.jTextFieldModuleUnloadImage.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for Module Unload Image");\r
+ return false;\r
+ }\r
+ }\r
+ }\r
\r
- if (!isEmpty(this.jTextFieldC_Name.getText())) {\r
- if (this.jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_SPECIFICATION)) {\r
- if (!DataValidation.isSentence(this.jTextFieldC_Name.getText())) {\r
- Log.wrn("Update Externs", "Incorrect data type for Specification");\r
- return false;\r
- }\r
- } else {\r
- if (!DataValidation.isC_NameType(this.jTextFieldC_Name.getText())) {\r
- Log.wrn("Update Externs", "Incorrect data type for C Name");\r
- return false;\r
- }\r
+ //\r
+ // Check library\r
+ //\r
+ if (this.jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_LIBRARY)) {\r
+ if (isEmpty(this.jTextFieldConstructor.getText()) && isEmpty(this.jTextFieldDestructor.getText())) {\r
+ Log.wrn("Update Externs", "At least one of Constructor or Destructor should have a value");\r
+ return false;\r
+ }\r
+ if (!isEmpty(this.jTextFieldConstructor.getText())) {\r
+ if (!DataValidation.isC_NameType(this.jTextFieldConstructor.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for Constructor");\r
+ return false;\r
}\r
}\r
+ if (!isEmpty(this.jTextFieldDestructor.getText())) {\r
+ if (!DataValidation.isC_NameType(this.jTextFieldDestructor.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for Destructor");\r
+ return false;\r
+ }\r
+ }\r
+ }\r
\r
- //\r
- // Check FeatureFlag\r
- //\r
- if (!isEmpty(this.jTextFieldFeatureFlag.getText())) {\r
- if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) {\r
- Log.wrn("Update Externs", "Incorrect data type for Feature Flag");\r
+ //\r
+ // Check driver\r
+ //\r
+ if (this.jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_DRIVER)) {\r
+ if (isEmpty(this.jTextFieldDriverBinding.getText())) {\r
+ Log.wrn("Update Externs", "DriverBinding must have a value");\r
+ return false;\r
+ }\r
+ if (!isEmpty(this.jTextFieldDriverBinding.getText())) {\r
+ if (!DataValidation.isC_NameType(this.jTextFieldDriverBinding.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for DriverBinding");\r
+ return false;\r
+ }\r
+ }\r
+ if (!isEmpty(this.jTextFieldComponentName.getText())) {\r
+ if (!DataValidation.isC_NameType(this.jTextFieldComponentName.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for ComponentName");\r
+ return false;\r
+ }\r
+ }\r
+ if (!isEmpty(this.jTextFieldDriverConfig.getText())) {\r
+ if (!DataValidation.isC_NameType(this.jTextFieldDriverConfig.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for DriverConfig");\r
+ return false;\r
+ }\r
+ }\r
+ if (!isEmpty(this.jTextFieldDriverDiagnostic.getText())) {\r
+ if (!DataValidation.isC_NameType(this.jTextFieldDriverDiagnostic.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for DriverDiagnostic");\r
return false;\r
}\r
}\r
- } else {\r
- if (this.jComboBoxPcdIsDriver.getSelectedItem().toString().equals(DataType.EMPTY_SELECT_ITEM)) {\r
- Log.wrn("Update Externs", "You must select one PCD DRIVER type");\r
+ }\r
+\r
+ //\r
+ // Check call back\r
+ //\r
+ if (this.jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_CALL_BACK)) {\r
+ if (isEmpty(this.jTextFieldVirtualAddressMap.getText())\r
+ && isEmpty(this.jTextFieldExitBootServices.getText())) {\r
+ Log.wrn("Update Externs", "At least one of VirtualAddressMap or ExitBootServices should have a value");\r
+ return false;\r
+ }\r
+ if (!isEmpty(this.jTextFieldVirtualAddressMap.getText())) {\r
+ if (!DataValidation.isC_NameType(this.jTextFieldVirtualAddressMap.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for Virtual Address Map");\r
+ return false;\r
+ }\r
+ }\r
+ if (!isEmpty(this.jTextFieldExitBootServices.getText())) {\r
+ if (!DataValidation.isC_NameType(this.jTextFieldExitBootServices.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for Exit Boot Services");\r
+ return false;\r
+ }\r
+ }\r
+ }\r
+\r
+ //\r
+ // Check FeatureFlag\r
+ //\r
+ if (!isEmpty(this.jTextFieldFeatureFlag.getText())) {\r
+ if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) {\r
+ Log.wrn("Update Externs", "Incorrect data type for Feature Flag");\r
return false;\r
}\r
}\r
\r
private ExternsIdentification getCurrentExterns() {\r
String arg0 = "";\r
- if (this.jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_PCD_IS_DRIVER)) {\r
- arg0 = this.jComboBoxPcdIsDriver.getSelectedItem().toString();\r
- } else {\r
- arg0 = this.jTextFieldC_Name.getText();\r
+ String arg1 = "";\r
+ String arg2 = "";\r
+ String arg3 = "";\r
+\r
+ String type = this.jComboBoxType.getSelectedItem().toString();\r
+ String featureFlag = this.jTextFieldFeatureFlag.getText();\r
+ Vector<String> arch = this.jArchCheckBox.getSelectedItemsVector();\r
+\r
+ if (type.equals(EnumerationData.EXTERNS_SPECIFICATION)) {\r
+ arg0 = this.jTextFieldSpecification.getText();\r
+ id = new ExternsIdentification(arg0, type);\r
}\r
- String arg1 = this.jComboBoxType.getSelectedItem().toString();\r
\r
- String arg2 = this.jTextFieldFeatureFlag.getText();\r
- Vector<String> arg3 = this.jArchCheckBox.getSelectedItemsVector();\r
+ if (type.equals(EnumerationData.EXTERNS_IMAGE)) {\r
+ arg0 = this.jTextFieldModuleEntryPoint.getText();\r
+ arg1 = this.jTextFieldModuleUnloadImage.getText();\r
+ id = new ExternsIdentification(arg0, arg1, type, featureFlag, arch);\r
+ }\r
+\r
+ if (type.equals(EnumerationData.EXTERNS_LIBRARY)) {\r
+ arg0 = this.jTextFieldConstructor.getText();\r
+ arg1 = this.jTextFieldDestructor.getText();\r
+ id = new ExternsIdentification(arg0, arg1, type, featureFlag, arch);\r
+ }\r
+\r
+ if (type.equals(EnumerationData.EXTERNS_DRIVER)) {\r
+ arg0 = this.jTextFieldDriverBinding.getText();\r
+ arg1 = this.jTextFieldComponentName.getText();\r
+ arg2 = this.jTextFieldDriverConfig.getText();\r
+ arg3 = this.jTextFieldDriverDiagnostic.getText();\r
+ id = new ExternsIdentification(arg0, arg1, arg2, arg3, type, featureFlag, arch);\r
+ }\r
+\r
+ if (type.equals(EnumerationData.EXTERNS_CALL_BACK)) {\r
+ arg0 = this.jTextFieldVirtualAddressMap.getText();\r
+ arg1 = this.jTextFieldExitBootServices.getText();\r
+ id = new ExternsIdentification(arg0, arg1, type, featureFlag, arch);\r
+ }\r
\r
- id = new ExternsIdentification(arg0, arg1, arg2, arg3);\r
return id;\r
}\r
\r
*/\r
public void itemStateChanged(ItemEvent arg0) {\r
if (arg0.getSource() == jComboBoxType && arg0.getStateChange() == ItemEvent.SELECTED) {\r
- if (jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_PCD_IS_DRIVER)) {\r
- this.jComboBoxPcdIsDriver.setVisible(true);\r
- this.jTextFieldC_Name.setVisible(false);\r
- this.jLabelArch.setEnabled(false);\r
- this.jArchCheckBox.setAllItemsEnabled(false);\r
- } else if (jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_SPECIFICATION)) {\r
+ if (jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_SPECIFICATION)) {\r
+ this.jPanelSpecification.setVisible(true);\r
+ this.jPanelImage.setVisible(false);\r
+ this.jPanelLibrary.setVisible(false);\r
+ this.jPanelDriver.setVisible(false);\r
+ this.jPanelCallBack.setVisible(false);\r
this.jLabelArch.setEnabled(false);\r
this.jArchCheckBox.setAllItemsEnabled(false);\r
- } else {\r
- this.jComboBoxPcdIsDriver.setVisible(false);\r
- this.jTextFieldC_Name.setVisible(true);\r
+ this.jLabelArch.setLocation(12, 62);\r
+ this.jArchCheckBox.setLocation(168, 62);\r
+ this.jLabelFeatureFlag.setLocation(12, 87);\r
+ this.jTextFieldFeatureFlag.setLocation(168, 87);\r
+ } else if (jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_IMAGE)) {\r
+ this.jPanelSpecification.setVisible(false);\r
+ this.jPanelImage.setVisible(true);\r
+ this.jPanelLibrary.setVisible(false);\r
+ this.jPanelDriver.setVisible(false);\r
+ this.jPanelCallBack.setVisible(false);\r
+ this.jLabelArch.setEnabled(true);\r
+ this.jArchCheckBox.setAllItemsEnabled(true);\r
+ this.jLabelArch.setLocation(12, 87);\r
+ this.jArchCheckBox.setLocation(168, 87);\r
+ this.jLabelFeatureFlag.setLocation(12, 112);\r
+ this.jTextFieldFeatureFlag.setLocation(168, 112);\r
+ } else if (jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_LIBRARY)) {\r
+ this.jPanelSpecification.setVisible(false);\r
+ this.jPanelImage.setVisible(false);\r
+ this.jPanelLibrary.setVisible(true);\r
+ this.jPanelDriver.setVisible(false);\r
+ this.jPanelCallBack.setVisible(false);\r
+ this.jLabelArch.setEnabled(true);\r
+ this.jArchCheckBox.setAllItemsEnabled(true);\r
+ this.jLabelArch.setLocation(12, 87);\r
+ this.jArchCheckBox.setLocation(168, 87);\r
+ this.jLabelFeatureFlag.setLocation(12, 112);\r
+ this.jTextFieldFeatureFlag.setLocation(168, 112);\r
+ } else if (jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_DRIVER)) {\r
+ this.jPanelSpecification.setVisible(false);\r
+ this.jPanelImage.setVisible(false);\r
+ this.jPanelLibrary.setVisible(false);\r
+ this.jPanelDriver.setVisible(true);\r
+ this.jPanelCallBack.setVisible(false);\r
+ this.jLabelArch.setEnabled(true);\r
+ this.jArchCheckBox.setAllItemsEnabled(true);\r
+ this.jLabelArch.setLocation(12, 137);\r
+ this.jArchCheckBox.setLocation(168, 137);\r
+ this.jLabelFeatureFlag.setLocation(12, 162);\r
+ this.jTextFieldFeatureFlag.setLocation(168, 162);\r
+ } else if (jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_CALL_BACK)) {\r
+ this.jPanelSpecification.setVisible(false);\r
+ this.jPanelImage.setVisible(false);\r
+ this.jPanelLibrary.setVisible(false);\r
+ this.jPanelDriver.setVisible(false);\r
+ this.jPanelCallBack.setVisible(true);\r
this.jLabelArch.setEnabled(true);\r
this.jArchCheckBox.setAllItemsEnabled(true);\r
+ this.jLabelArch.setLocation(12, 87);\r
+ this.jArchCheckBox.setLocation(168, 87);\r
+ this.jLabelFeatureFlag.setLocation(12, 112);\r
+ this.jTextFieldFeatureFlag.setLocation(168, 112);\r
}\r
}\r
}\r