diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/HobsDlg.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/HobsDlg.java index fb9381c138..f6a76eed0c 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/HobsDlg.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/HobsDlg.java @@ -23,6 +23,7 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextField; +import javax.swing.JTextArea; import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.DataValidation; @@ -37,392 +38,433 @@ import org.tianocore.frameworkwizard.module.Identifications.Hobs.HobsIdentificat import org.tianocore.frameworkwizard.workspace.WorkspaceTools; /** - The class is used to create, update Hob of MSA/MBD file - It extends IInternalFrame - - **/ + * The class is used to create, update Hob of the MSA file It extends JDialog + * + */ public class HobsDlg extends IDialog { - /// - /// Define class Serial Version UID - /// - private static final long serialVersionUID = -553473437579358325L; + // / + // / Define class Serial Version UID + // / + private static final long serialVersionUID = -553473437579358325L; + + // + // Define class members + // + private JPanel jContentPane = null; + + private JLabel jLabelC_Name = null; + + private JComboBox jComboBoxGuidC_Name = null; + + private JLabel jLabelUsage = null; + + private JLabel jLabelHobType = null; + + private JComboBox jComboBoxUsage = null; + + private JComboBox jComboBoxHobType = null; + + private StarLabel jStarLabel1 = null; + + private StarLabel jStarLabel2 = null; + + private StarLabel jStarLabel3 = null; + + private JLabel jLabelArch = null; + + private JScrollPane jScrollPane = null; + + private JLabel jLabelFeatureFlag = null; + + private JTextField jTextFieldFeatureFlag = null; + + private JLabel jLabelHelpText = null; + + private JTextArea jTextAreaHelpText = null; + + private JScrollPane jScrollPaneHelpText = null; + + private ArchCheckBox jArchCheckBox = null; + + private JButton jButtonOk = null; + + private JButton jButtonCancel = null; + + // + // Not used by UI + // + private HobsIdentification id = null; + + private EnumerationData ed = new EnumerationData(); + + private WorkspaceTools wt = new WorkspaceTools(); + + /** + * This method initializes jTextField + * + * @return javax.swing.JTextField jTextFieldC_Name + * + */ + private JComboBox getJComboBoxGuidC_Name() { + if (jComboBoxGuidC_Name == null) { + jComboBoxGuidC_Name = new JComboBox(); + jComboBoxGuidC_Name.setBounds(new java.awt.Rectangle(160, 10, 320, 20)); + jComboBoxGuidC_Name.setPreferredSize(new java.awt.Dimension(320, 20)); + jComboBoxGuidC_Name.setToolTipText("Select the GUID C Name of the Hob"); + } + return jComboBoxGuidC_Name; + } + + /** + * This method initializes jComboBoxHobType + * + * @return javax.swing.JComboBox jComboBoxHobType + * + */ + private JComboBox getJComboBoxHobType() { + if (jComboBoxHobType == null) { + jComboBoxHobType = new JComboBox(); + jComboBoxHobType.setBounds(new java.awt.Rectangle(160, 35, 320, 20)); + jComboBoxHobType.setPreferredSize(new java.awt.Dimension(320, 20)); + jComboBoxHobType.setToolTipText("
PHITEFI_HOB_TYPE_HANDOFF
MEMORY_ALLOCATIONEFI_HOB_TYPE_MEMORY_ALLOCATION and $BaseName
RESOURCE_DESCRIPTOREFI_HOB_TYPE_RESOURCE_DESCRIPTOR
GUID_EXTENTIONEFI_HOB_TYPE_GUID_EXTENSION and BaseName of GUID
FIRMWARE_VOLUMEEFI_HOB_TYPE_FV
CPUEFI_HOB_TYPE_CPU
POOLEFI_HOB_TYPE_PEI_MEMORY_POOL
CAPSULE_VOLUMEEFI_HOB_TYPE_CV
"); + } + return jComboBoxHobType; + } + + /** + * This method initializes jComboBoxUsage + * + * @return javax.swing.JComboBox jComboBoxUsage + * + */ + private JComboBox getJComboBoxUsage() { + if (jComboBoxUsage == null) { + jComboBoxUsage = new JComboBox(); + jComboBoxUsage.setBounds(new java.awt.Rectangle(160, 60, 320, 20)); + jComboBoxUsage.setPreferredSize(new java.awt.Dimension(320, 20)); + jComboBoxUsage.setToolTipText("
ALWAYS_CONSUMEDHOB must be present in the system
SOMETIMES_CONSUMEDHOB will be used if it's present
ALWAYS_PRODUCEDHOB is always produced
SOMETIMES_PRODUCEDHOB will sometimes be produced by the module
"); + } + return jComboBoxUsage; + } + + /** + * This method initializes jScrollPane + * + * @return javax.swing.JScrollPane + */ + private JScrollPane getJScrollPane() { + if (jScrollPane == null) { + jScrollPane = new JScrollPane(); + jScrollPane.setViewportView(getJContentPane()); + } + return jScrollPane; + } + + /** + * 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.setPreferredSize(new java.awt.Dimension(320, 20)); + jTextFieldFeatureFlag.setToolTipText("Postfix expression that must evaluate to TRUE or FALSE"); + } + return jTextFieldFeatureFlag; + } + + /** + * This method initializes jTextFieldHelpText + * + * @return javax.swing.JTextField + * + */ + private JTextArea getJTextAreaHelpText() { + if (jTextAreaHelpText == null) { + jTextAreaHelpText = new JTextArea(); + jTextAreaHelpText.setLineWrap(true); + jTextAreaHelpText.setWrapStyleWord(true); + } + 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; + } + + /** + * This method initializes jButtonOk + * + * @return javax.swing.JButton + * + */ + private JButton getJButtonOk() { + if (jButtonOk == null) { + jButtonOk = new JButton(); + jButtonOk.setBounds(new java.awt.Rectangle(290, 182, 90, 20)); + jButtonOk.setText("Ok"); + jButtonOk.addActionListener(this); + } + return jButtonOk; + } + + /** + * This method initializes jButtonCancel + * + * @return javax.swing.JButton + * + */ + private JButton getJButtonCancel() { + if (jButtonCancel == null) { + jButtonCancel = new JButton(); + jButtonCancel.setBounds(new java.awt.Rectangle(390, 182, 90, 20)); + jButtonCancel.setText("Cancel"); + jButtonCancel.addActionListener(this); + } + return jButtonCancel; + } + + public static void main(String[] args) { + + } + + /** + * This method initializes this + * + */ + private void init() { + this.setSize(500, 255); + this.setContentPane(getJScrollPane()); + this.setTitle("Hobs"); + initFrame(); + this.setViewMode(false); + this.centerWindow(); + } + + /** + * This method initializes this Fill values to all fields if these values are + * not empty + * + * @param inHobsId + * + */ + private void init(HobsIdentification inHobsId) { + init(); + this.id = inHobsId; + + if (this.id != null) { + this.jComboBoxGuidC_Name.setSelectedItem(id.getName()); + this.jComboBoxHobType.setSelectedItem(id.getType()); + this.jComboBoxUsage.setSelectedItem(id.getUsage()); + this.jTextAreaHelpText.setText(id.getHelp()); + this.jTextFieldFeatureFlag.setText(id.getFeatureFlag()); + this.jArchCheckBox.setSelectedItems(id.getSupArchList()); + } + } + + /** + * This is the override edit constructor + * + * @param inHobsIdentification + * @param iFrame + * + */ + public HobsDlg(HobsIdentification inHobsIdentification, IFrame iFrame) { + super(iFrame, true); + init(inHobsIdentification); + } + + /** + * 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.jComboBoxGuidC_Name.setEnabled(!isView); + this.jComboBoxUsage.setEnabled(!isView); + this.jComboBoxHobType.setEnabled(!isView); + } + } + + /** + * This method initializes jContentPane + * + * @return javax.swing.JPanel jContentPane + * + */ + public JPanel getJContentPane() { + if (jContentPane == null) { + jStarLabel1 = new StarLabel(); + jStarLabel1.setLocation(new java.awt.Point(2, 10)); + jLabelC_Name = new JLabel(); + jLabelC_Name.setText("Hob's Guid C Name"); + jLabelC_Name.setBounds(new java.awt.Rectangle(15, 10, 145, 20)); + + jStarLabel2 = new StarLabel(); + jStarLabel2.setLocation(new java.awt.Point(2, 35)); + jLabelHobType = new JLabel(); + jLabelHobType.setText("Hob Type"); + jLabelHobType.setBounds(new java.awt.Rectangle(15, 35, 145, 20)); + + jStarLabel3 = new StarLabel(); + jStarLabel3.setLocation(new java.awt.Point(2, 60)); + jLabelUsage = new JLabel(); + jLabelUsage.setText("Usage"); + jLabelUsage.setBounds(new java.awt.Rectangle(15, 60, 145, 20)); + + jLabelHelpText = new JLabel(); + jLabelHelpText.setBounds(new java.awt.Rectangle(15, 85, 145, 20)); + jLabelHelpText.setText("Help Text"); + + jLabelFeatureFlag = new JLabel(); + jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 130, 145, 20)); + jLabelFeatureFlag.setText("Feature Flag Expression"); + + jLabelArch = new JLabel(); + jLabelArch.setBounds(new java.awt.Rectangle(15, 155, 145, 20)); + jLabelArch.setText("Supported Architectures"); + jArchCheckBox = new ArchCheckBox(); + jArchCheckBox.setBounds(new java.awt.Rectangle(160, 155, 320, 20)); + jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20)); + + jContentPane = new JPanel(); + jContentPane.setLayout(null); + jContentPane.setPreferredSize(new java.awt.Dimension(485, 210)); + + jContentPane.add(jStarLabel1, null); + jContentPane.add(jLabelC_Name, null); + jContentPane.add(getJComboBoxGuidC_Name(), null); + jContentPane.add(jStarLabel2, null); + jContentPane.add(jLabelHobType, null); + jContentPane.add(getJComboBoxHobType(), null); + jContentPane.add(jStarLabel3, null); + jContentPane.add(jLabelUsage, null); + jContentPane.add(getJComboBoxUsage(), null); + jContentPane.add(jLabelHelpText, null); + jContentPane.add(getJScrollPaneHelpText(), null); + jContentPane.add(jLabelFeatureFlag, null); + jContentPane.add(getJTextFieldFeatureFlag(), null); + jContentPane.add(jLabelArch, null); + jContentPane.add(jArchCheckBox, null); + jContentPane.add(getJButtonOk(), null); + jContentPane.add(getJButtonCancel(), null); + } + return jContentPane; + } + + /** + * This method initializes Usage type and Hob type + * + */ + private void initFrame() { + Tools.generateComboBoxByVector(jComboBoxUsage, ed.getVHobUsage()); + Tools.generateComboBoxByVector(jComboBoxHobType, ed.getVHobType()); + Tools.generateComboBoxByVector(jComboBoxGuidC_Name, wt + .getAllGuidDeclarationsFromWorkspace()); + } + + /* + * (non-Javadoc) + * + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + * + * Override actionPerformed to listen all actions + * + */ + public void actionPerformed(ActionEvent arg0) { + if (arg0.getSource() == jButtonOk) { + if (checkAdd()) { + getCurrentHobs(); + this.returnType = DataType.RETURN_TYPE_OK; + this.setVisible(false); + } + } + + if (arg0.getSource() == jButtonCancel) { + this.returnType = DataType.RETURN_TYPE_CANCEL; + this.setVisible(false); + } + } + + /** + * 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 + // // - //Define class members + // Check Name // - private JPanel jContentPane = null; + if (isEmpty(this.jComboBoxGuidC_Name.getSelectedItem().toString())) { + Log.wrn("Update Hobs", "Hob Guid C Name must not be empty"); + return false; + } - private JLabel jLabel = null; - - private JComboBox jComboBoxGuidC_Name = null; - - private JLabel jLabelUsage = null; - - private JLabel jLabelHobType = null; - - private JComboBox jComboBoxUsage = null; - - private JComboBox jComboBoxHobType = null; - - private StarLabel jStarLabel1 = null; - - private JLabel jLabelArch = null; - - private JScrollPane jScrollPane = null; - - private JLabel jLabelFeatureFlag = null; - - private JTextField jTextFieldFeatureFlag = null; - - private JLabel jLabelHelpText = null; - - private JTextField jTextFieldHelpText = null; - - private ArchCheckBox jArchCheckBox = null; - - private JButton jButtonOk = null; - - private JButton jButtonCancel = null; + if (!isEmpty(this.jComboBoxGuidC_Name.getSelectedItem().toString())) { + if (!DataValidation.isC_NameType(this.jComboBoxGuidC_Name + .getSelectedItem().toString())) { + Log.wrn("Update Hobs", "Incorrect data type for Hob Name"); + return false; + } + } // - // Not used by UI + // Check FeatureFlag // - private HobsIdentification id = null; - - private EnumerationData ed = new EnumerationData(); - - private WorkspaceTools wt = new WorkspaceTools(); - - /** - This method initializes jTextField - - @return javax.swing.JTextField jTextFieldC_Name - - **/ - private JComboBox getJComboBoxGuidC_Name() { - if (jComboBoxGuidC_Name == null) { - jComboBoxGuidC_Name = new JComboBox(); - jComboBoxGuidC_Name.setBounds(new java.awt.Rectangle(160, 10, 320, 20)); - jComboBoxGuidC_Name.setPreferredSize(new java.awt.Dimension(320, 20)); - jComboBoxGuidC_Name.setToolTipText("Select the GUID C Name of the Hob"); - } - return jComboBoxGuidC_Name; + if (!isEmpty(this.jTextFieldFeatureFlag.getText())) { + if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) { + Log.wrn("Update Hobs", "Incorrect data type for Feature Flag"); + return false; + } } - /** - This method initializes jComboBoxUsage - - @return javax.swing.JComboBox jComboBoxUsage - - **/ - private JComboBox getJComboBoxUsage() { - if (jComboBoxUsage == null) { - jComboBoxUsage = new JComboBox(); - jComboBoxUsage.setBounds(new java.awt.Rectangle(160, 60, 320, 20)); - jComboBoxUsage.setPreferredSize(new java.awt.Dimension(320, 20)); - } - return jComboBoxUsage; - } + return true; + } - /** - This method initializes jComboBoxHobType - - @return javax.swing.JComboBox jComboBoxHobType - - **/ - private JComboBox getJComboBoxHobType() { - if (jComboBoxHobType == null) { - jComboBoxHobType = new JComboBox(); - jComboBoxHobType.setBounds(new java.awt.Rectangle(160, 35, 320, 20)); - jComboBoxHobType.setPreferredSize(new java.awt.Dimension(320, 20)); - } - return jComboBoxHobType; - } + private HobsIdentification getCurrentHobs() { + String arg0 = this.jComboBoxGuidC_Name.getSelectedItem().toString(); + String arg1 = this.jComboBoxHobType.getSelectedItem().toString(); + String arg2 = this.jComboBoxUsage.getSelectedItem().toString(); - /** - This method initializes jScrollPane - - @return javax.swing.JScrollPane - */ - private JScrollPane getJScrollPane() { - if (jScrollPane == null) { - jScrollPane = new JScrollPane(); - jScrollPane.setViewportView(getJContentPane()); - } - return jScrollPane; - } + String arg3 = this.jTextFieldFeatureFlag.getText(); + Vector arg4 = this.jArchCheckBox.getSelectedItemsVector(); + String arg5 = this.jTextAreaHelpText.getText(); + id = new HobsIdentification(arg0, arg1, arg2, arg3, arg4, arg5); + return id; + } + + public HobsIdentification getId() { + return id; + } - /** - * This method initializes jTextFieldFeatureFlag - * - * @return javax.swing.JTextField - */ - private JTextField getJTextFieldFeatureFlag() { - if (jTextFieldFeatureFlag == null) { - jTextFieldFeatureFlag = new JTextField(); - jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 110, 320, 20)); - jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(320, 20)); - } - return jTextFieldFeatureFlag; - } - - /** - This method initializes jTextFieldHelpText - - @return javax.swing.JTextField - - **/ - private JTextField getJTextFieldHelpText() { - if (jTextFieldHelpText == null) { - jTextFieldHelpText = new JTextField(); - jTextFieldHelpText.setBounds(new java.awt.Rectangle(160, 85, 320, 20)); - jTextFieldHelpText.setPreferredSize(new java.awt.Dimension(320, 20)); - } - return jTextFieldHelpText; - } - - /** - This method initializes jButtonOk - - @return javax.swing.JButton - - **/ - private JButton getJButtonOk() { - if (jButtonOk == null) { - jButtonOk = new JButton(); - jButtonOk.setBounds(new java.awt.Rectangle(290, 165, 90, 20)); - jButtonOk.setText("Ok"); - jButtonOk.addActionListener(this); - } - return jButtonOk; - } - - /** - This method initializes jButtonCancel - - @return javax.swing.JButton - - **/ - private JButton getJButtonCancel() { - if (jButtonCancel == null) { - jButtonCancel = new JButton(); - jButtonCancel.setBounds(new java.awt.Rectangle(390, 165, 90, 20)); - jButtonCancel.setText("Cancel"); - jButtonCancel.addActionListener(this); - } - return jButtonCancel; - } - - public static void main(String[] args) { - - } - - /** - This method initializes this - - **/ - private void init() { - this.setSize(510, 240); - this.setContentPane(getJScrollPane()); - this.setTitle("Hobs"); - initFrame(); - this.setViewMode(false); - this.centerWindow(); - } - - /** - This method initializes this - Fill values to all fields if these values are not empty - - @param inHobsId - - **/ - private void init(HobsIdentification inHobsId) { - init(); - this.id = inHobsId; - - if (this.id != null) { - this.jComboBoxGuidC_Name.setSelectedItem(id.getName()); - this.jComboBoxHobType.setSelectedItem(id.getType()); - this.jComboBoxUsage.setSelectedItem(id.getUsage()); - this.jTextFieldHelpText.setText(id.getHelp()); - this.jTextFieldFeatureFlag.setText(id.getFeatureFlag()); - this.jArchCheckBox.setSelectedItems(id.getSupArchList()); - } - } - - /** - This is the override edit constructor - - @param inHobsIdentification - @param iFrame - - **/ - public HobsDlg(HobsIdentification inHobsIdentification, IFrame iFrame) { - super(iFrame, true); - init(inHobsIdentification); - } - - /** - 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.jComboBoxGuidC_Name.setEnabled(!isView); - this.jComboBoxUsage.setEnabled(!isView); - this.jComboBoxHobType.setEnabled(!isView); - } - } - - /** - This method initializes jContentPane - - @return javax.swing.JPanel jContentPane - - **/ - public JPanel getJContentPane() { - if (jContentPane == null) { - jArchCheckBox = new ArchCheckBox(); - jArchCheckBox.setBounds(new java.awt.Rectangle(160, 135, 320, 20)); - jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20)); - jLabelFeatureFlag = new JLabel(); - jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 110, 140, 20)); - jLabelFeatureFlag.setText("Feature Flag"); - jLabelArch = new JLabel(); - jLabelArch.setBounds(new java.awt.Rectangle(15, 135, 140, 20)); - jLabelArch.setText("Arch"); - jLabelHobType = new JLabel(); - jLabelHobType.setText("Hob Type"); - jLabelHobType.setBounds(new java.awt.Rectangle(15, 35, 140, 20)); - jLabelUsage = new JLabel(); - jLabelUsage.setText("Usage"); - jLabelUsage.setBounds(new java.awt.Rectangle(15, 60, 140, 20)); - jLabel = new JLabel(); - jLabel.setText("Guid C Name"); - jLabel.setBounds(new java.awt.Rectangle(15, 10, 140, 20)); - jLabelHelpText = new JLabel(); - jLabelHelpText.setBounds(new java.awt.Rectangle(14, 85, 140, 20)); - jLabelHelpText.setText("Help Text"); - - jContentPane = new JPanel(); - jContentPane.setLayout(null); - jContentPane.setPreferredSize(new java.awt.Dimension(490, 190)); - - jContentPane.add(jLabel, null); - jContentPane.add(getJComboBoxGuidC_Name(), null); - jContentPane.add(jLabelUsage, null); - jContentPane.add(jLabelHobType, null); - jContentPane.add(getJComboBoxUsage(), null); - jContentPane.add(getJComboBoxHobType(), null); - jStarLabel1 = new StarLabel(); - jStarLabel1.setLocation(new java.awt.Point(0, 10)); - jContentPane.add(jStarLabel1, null); - - jContentPane.add(jLabelArch, null); - - jContentPane.add(jLabelFeatureFlag, null); - jContentPane.add(getJTextFieldFeatureFlag(), null); - jContentPane.add(jLabelHelpText, null); - jContentPane.add(getJTextFieldHelpText(), null); - jContentPane.add(jArchCheckBox, null); - jContentPane.add(getJButtonOk(), null); - jContentPane.add(getJButtonCancel(), null); - } - return jContentPane; - } - - /** - This method initializes Usage type and Hob type - - **/ - private void initFrame() { - Tools.generateComboBoxByVector(jComboBoxUsage, ed.getVHobUsage()); - Tools.generateComboBoxByVector(jComboBoxHobType, ed.getVHobType()); - Tools.generateComboBoxByVector(jComboBoxGuidC_Name, wt.getAllGuidDeclarationsFromWorkspace()); - } - - /* (non-Javadoc) - * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) - * - * Override actionPerformed to listen all actions - * - */ - public void actionPerformed(ActionEvent arg0) { - if (arg0.getSource() == jButtonOk) { - if (checkAdd()) { - getCurrentHobs(); - this.returnType = DataType.RETURN_TYPE_OK; - this.setVisible(false); - } - } - - if (arg0.getSource() == jButtonCancel) { - this.returnType = DataType.RETURN_TYPE_CANCEL; - this.setVisible(false); - } - } - - /** - 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 Name - // - if (isEmpty(this.jComboBoxGuidC_Name.getSelectedItem().toString())) { - Log.wrn("Update Hobs", "Hob Name couldn't be empty"); - return false; - } - - if (!isEmpty(this.jComboBoxGuidC_Name.getSelectedItem().toString())) { - if (!DataValidation.isC_NameType(this.jComboBoxGuidC_Name.getSelectedItem().toString())) { - Log.wrn("Update Hobs", "Incorrect data type for Hob Name"); - return false; - } - } - - // - // Check FeatureFlag - // - if (!isEmpty(this.jTextFieldFeatureFlag.getText())) { - if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) { - Log.wrn("Update Hobs", "Incorrect data type for Feature Flag"); - return false; - } - } - - return true; - } - - private HobsIdentification getCurrentHobs() { - String arg0 = this.jComboBoxGuidC_Name.getSelectedItem().toString(); - String arg1 = this.jComboBoxHobType.getSelectedItem().toString(); - String arg2 = this.jComboBoxUsage.getSelectedItem().toString(); - - String arg3 = this.jTextFieldFeatureFlag.getText(); - Vector arg4 = this.jArchCheckBox.getSelectedItemsVector(); - String arg5 = this.jTextFieldHelpText.getText(); - id = new HobsIdentification(arg0, arg1, arg2, arg3, arg4, arg5); - return id; - } - - public HobsIdentification getId() { - return id; - } - - public void setId(HobsIdentification id) { - this.id = id; - } + public void setId(HobsIdentification id) { + this.id = id; + } } 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..753b0e2ed5 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 @@ -40,495 +40,525 @@ 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 PCD of MSA/MBD file It extends + * IInternalFrame + * + */ public class PCDsDlg extends IDialog implements ItemListener { - /// - /// Define class Serial Version UID - /// - private static final long serialVersionUID = 2227717658188438696L; + // / + // / Define class Serial Version UID + // / + private static final long serialVersionUID = 2227717658188438696L; - // - //Define class members - // - private JPanel jContentPane = null; + // + // Define class members + // + private JPanel jContentPane = null; - private JLabel jLabelItemType = null; + private JLabel jLabelItemType = null; - private JLabel jLabelC_Name = null; + private JLabel jLabelC_Name = null; - private JComboBox jComboBoxItemType = null; + private JComboBox jComboBoxItemType = null; - private JComboBox jComboBoxCName = null; + private JComboBox jComboBoxCName = null; - private JLabel jLabelDefaultValue = null; + private JLabel jLabelDefaultValue = null; - private JTextField jTextFieldDefaultValue = null; + private JTextField jTextFieldDefaultValue = null; - private StarLabel jStarLabel1 = null; + private StarLabel jStarLabel1 = null; - private StarLabel jStarLabel2 = null; + private StarLabel jStarLabel2 = null; - private StarLabel jStarLabel3 = null; + private StarLabel jStarLabel3 = null; - private JLabel jLabelHelpText = null; + private JLabel jLabelHelpText = null; - private JTextArea jTextAreaHelpText = null; + private JTextArea jTextAreaHelpText = null; - private JScrollPane jScrollPane = null; + private JScrollPane jScrollPane = null; - private JLabel jLabelTokenSpaceGuid = null; + private JLabel jLabelTokenSpaceGuid = null; - private JTextField jTextFieldTokenSpaceGuid = null; + private JTextField jTextFieldTokenSpaceGuid = null; - private JLabel jLabelFeatureFlag = null; + private JLabel jLabelFeatureFlag = null; - private JTextField jTextFieldFeatureFlag = null; + private JTextField jTextFieldFeatureFlag = null; - private JLabel jLabelArch = null; + private JLabel jLabelArch = null; - private ArchCheckBox jArchCheckBox = null; + private ArchCheckBox jArchCheckBox = null; - private JButton jButtonOk = null; + private JButton jButtonOk = null; - private JButton jButtonCancel = null; + private JButton jButtonCancel = null; - private JScrollPane jScrollPaneHelpText = null; - // - // Not used by UI - // - private PcdCodedIdentification id = null; + private JScrollPane jScrollPaneHelpText = null; - private WorkspaceTools wt = new WorkspaceTools(); + // + // Not used by UI + // + private PcdCodedIdentification id = null; - private PcdVector pcd = wt.getAllPcdDeclarationsFromWorkspace(); - - /** - 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.setPreferredSize(new java.awt.Dimension(320, 20)); - } - return jComboBoxItemType; + private WorkspaceTools wt = new WorkspaceTools(); + + private PcdVector pcd = wt.getAllPcdDeclarationsFromWorkspace(); + + /** + * 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.setPreferredSize(new java.awt.Dimension(320, 20)); + } + return jComboBoxItemType; + } + + /** + * 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.setPreferredSize(new java.awt.Dimension(320, 20)); + jComboBoxCName.addItemListener(this); + } + return jComboBoxCName; + } + + /** + * 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.setPreferredSize(new java.awt.Dimension(320, 20)); + } + return jTextFieldDefaultValue; + } + + /** + * This method initializes jTextAreaHelpText + * + * @return javax.swing.JTextArea + */ + private JTextArea getJTextAreaHelpText() { + if (jTextAreaHelpText == null) { + jTextAreaHelpText = new JTextArea(); + jTextAreaHelpText.setLineWrap(true); + jTextAreaHelpText.setWrapStyleWord(true); + } + 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; + } + + /** + * This method initializes jScrollPane + * + * @return javax.swing.JScrollPane + */ + private JScrollPane getJScrollPane() { + if (jScrollPane == null) { + jScrollPane = new JScrollPane(); + jScrollPane.setViewportView(getJContentPane()); + } + return jScrollPane; + } + + /** + * 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 + .setPreferredSize(new java.awt.Dimension(320, 20)); + jTextFieldTokenSpaceGuid.setVisible(false); + } + return jTextFieldTokenSpaceGuid; + } + + /** + * 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.setPreferredSize(new java.awt.Dimension(320, 20)); + jTextFieldFeatureFlag.setToolTipText("Postfix expression that must evaluate to TRUE or FALSE"); + } + return jTextFieldFeatureFlag; + } + + /** + * This method initializes jButtonOk + * + * @return javax.swing.JButton + * + */ + private JButton getJButtonOk() { + if (jButtonOk == null) { + jButtonOk = new JButton(); + jButtonOk.setBounds(new java.awt.Rectangle(290, 182, 90, 20)); + jButtonOk.setText("Ok"); + jButtonOk.addActionListener(this); + } + return jButtonOk; + } + + /** + * This method initializes jButtonCancel + * + * @return javax.swing.JButton + * + */ + private JButton getJButtonCancel() { + if (jButtonCancel == null) { + jButtonCancel = new JButton(); + jButtonCancel.setBounds(new java.awt.Rectangle(390, 182, 90, 20)); + jButtonCancel.setText("Cancel"); + jButtonCancel.addActionListener(this); + } + return jButtonCancel; + } + + public static void main(String[] args) { + + } + + /** + * This method initializes this + * + */ + private void init() { + this.setSize(500, 255); + this.setContentPane(getJScrollPane()); + this.setTitle("Pcd Coded"); + initFrame(); + this.setViewMode(false); + this.centerWindow(); + } + + /** + * 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()); + this.jTextFieldTokenSpaceGuid.setText(id.getGuid()); + this.jTextFieldDefaultValue.setText(id.getValue()); + this.jTextAreaHelpText.setText(id.getHelp()); + this.jComboBoxItemType.setSelectedItem(id.getType()); + this.jTextFieldFeatureFlag.setText(id.getFeatureFlag()); + this.jArchCheckBox.setSelectedItems(id.getSupArchList()); + } + } + + /** + * 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 + * + */ + public void setViewMode(boolean isView) { + if (isView) { + this.jTextFieldDefaultValue.setEnabled(!isView); + this.jComboBoxItemType.setEnabled(!isView); + } + } + + /** + * This method initializes jContentPane + * + * @return javax.swing.JPanel jContentPane + * + */ + private JPanel getJContentPane() { + if (jContentPane == null) { + jStarLabel1 = new StarLabel(); + jStarLabel1.setLocation(new java.awt.Point(2, 10)); + jLabelC_Name = new JLabel(); + jLabelC_Name.setText("PCD C Name"); + jLabelC_Name.setBounds(new java.awt.Rectangle(15, 10, 145, 20)); + + jStarLabel2 = new StarLabel(); + jStarLabel2.setLocation(new java.awt.Point(2, 35)); + jLabelItemType = new JLabel(); + jLabelItemType.setText("PCD Item Type"); + jLabelItemType.setBounds(new java.awt.Rectangle(15, 35, 145, 20)); + + jLabelDefaultValue = new JLabel(); + jLabelDefaultValue.setText("Default Value"); + jLabelDefaultValue.setBounds(new java.awt.Rectangle(15, 60, 145, 20)); + + jStarLabel3 = new StarLabel(); + jStarLabel3.setLocation(new java.awt.Point(2, 85)); + jLabelHelpText = new JLabel(); + jLabelHelpText.setText("Help Text"); + jLabelHelpText.setBounds(new java.awt.Rectangle(15, 85, 145, 20)); + + jLabelFeatureFlag = new JLabel(); + jLabelFeatureFlag.setText("Feature Flag Expression"); + jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 130, 140, 20)); + + jLabelTokenSpaceGuid = new JLabel(); + jLabelTokenSpaceGuid.setText("Token Space C Name"); + jLabelTokenSpaceGuid.setVisible(false); + + jLabelArch = new JLabel(); + jLabelArch.setText("Supported Architectures"); + jLabelArch.setBounds(new java.awt.Rectangle(15, 155, 145, 20)); + jArchCheckBox = new ArchCheckBox(); + jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20)); + jArchCheckBox.setBounds(new java.awt.Rectangle(160, 155, 320, 20)); + + // Hidden field + jLabelTokenSpaceGuid.setBounds(new java.awt.Rectangle(15, 60, 140, 20)); + + jContentPane = new JPanel(); + jContentPane.setLayout(null); + jContentPane.setPreferredSize(new java.awt.Dimension(485, 210)); + + 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(jStarLabel3, null); + jContentPane.add(jLabelHelpText, 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); + } + return jContentPane; + } + + /** + * 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)); } - /** - 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.setPreferredSize(new java.awt.Dimension(320, 20)); - jComboBoxCName.addItemListener(this); - //jComboBoxCName.addActionListener(this); - } - return jComboBoxCName; - } - - /** - 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.setPreferredSize(new java.awt.Dimension(320, 20)); - } - return jTextFieldDefaultValue; - } - - /** - * 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; - } - 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()); + // Tools.generateComboBoxByVector(jComboBoxItemType, ed.getVPcdItemTypes()); + } + + /* + * (non-Javadoc) + * + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + * + * Override actionPerformed to listen all actions + * + */ + public void actionPerformed(ActionEvent arg0) { + if (arg0.getSource() == jButtonOk) { + if (checkAdd()) { + getCurrentPcdCoded(); + this.returnType = DataType.RETURN_TYPE_OK; + this.setVisible(false); } - return jScrollPaneHelpText; } + if (arg0.getSource() == jButtonCancel) { + this.returnType = DataType.RETURN_TYPE_CANCEL; + this.setVisible(false); + } + } - /** - This method initializes jScrollPane - - @return javax.swing.JScrollPane - */ - private JScrollPane getJScrollPane() { - if (jScrollPane == null) { - jScrollPane = new JScrollPane(); - jScrollPane.setViewportView(getJContentPane()); - } - return jScrollPane; + /** + * 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 C_Name + // + if (!isEmpty(this.jComboBoxCName.getSelectedItem().toString())) { + if (!DataValidation.isC_NameType(this.jComboBoxCName.getSelectedItem() + .toString())) { + Log.wrn("Update PcdCoded", "Incorrect data type for C Name"); + return false; + } } - /** - * 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.setPreferredSize(new java.awt.Dimension(320, 20)); - jTextFieldTokenSpaceGuid.setVisible(false); - } - return jTextFieldTokenSpaceGuid; + // + // Check TokenSpaceGuid + // + 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"); + return false; + } } - /** - * 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.setPreferredSize(new java.awt.Dimension(320, 20)); - //jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 130, 140, 20)); - } - return jTextFieldFeatureFlag; + // + // Check DefaultValue + // + if (!isEmpty(this.jTextFieldDefaultValue.getText())) { + if (!DataValidation.isDefaultValueType(this.jTextFieldDefaultValue + .getText())) { + Log.wrn("Update PcdCoded", "Incorrect data type for Default Value"); + return false; + } } - /** - 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.setText("Ok"); - jButtonOk.addActionListener(this); - } - return jButtonOk; + // + // Check HelpText + // + if (isEmpty(this.jTextAreaHelpText.getText())) { + Log.wrn("Update PcdCoded", "Help Text should not be empty"); + return false; } - /** - 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.setText("Cancel"); - jButtonCancel.addActionListener(this); - } - return jButtonCancel; + // + // Check FeatureFlag + // + if (!isEmpty(this.jTextFieldFeatureFlag.getText())) { + if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) { + Log.wrn("Update PcdCoded", "Incorrect data type for Feature Flag"); + return false; + } } - public static void main(String[] args) { + return true; + } + private PcdCodedIdentification getCurrentPcdCoded() { + String arg0 = this.jComboBoxCName.getSelectedItem().toString(); + String arg1 = this.jTextFieldTokenSpaceGuid.getText(); + + String arg2 = this.jTextFieldFeatureFlag.getText(); + Vector arg3 = this.jArchCheckBox.getSelectedItemsVector(); + + 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); + return id; + } + + public PcdCodedIdentification getId() { + return id; + } + + public void setId(PcdCodedIdentification id) { + this.id = id; + } + + /* + * (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 (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"); + } else { + this.jTextFieldTokenSpaceGuid.setText(pcd.getPcd(index).getGuidCName()); + Tools.generateComboBoxByVector(this.jComboBoxItemType, pcd + .getPcd(index).getType()); + this.jTextAreaHelpText.setText(pcd.getPcd(index).getHelp()); + this.jTextAreaHelpText.setSelectionStart(0); + this.jTextAreaHelpText.setSelectionEnd(0); + } } - - /** - This method initializes this - - **/ - private void init() { - this.setSize(508, 260); - this.setContentPane(getJScrollPane()); - this.setTitle("Pcd Coded"); - initFrame(); - this.setViewMode(false); - this.centerWindow(); - } - - /** - 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()); - this.jTextFieldTokenSpaceGuid.setText(id.getGuid()); - this.jTextFieldDefaultValue.setText(id.getValue()); - this.jTextAreaHelpText.setText(id.getHelp()); - this.jComboBoxItemType.setSelectedItem(id.getType()); - this.jTextFieldFeatureFlag.setText(id.getFeatureFlag()); - this.jArchCheckBox.setSelectedItems(id.getSupArchList()); - } - } - - /** - 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 - - **/ - public void setViewMode(boolean isView) { - if (isView) { - this.jTextFieldDefaultValue.setEnabled(!isView); - this.jComboBoxItemType.setEnabled(!isView); - } - } - - /** - 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"); - jLabelFeatureFlag = new JLabel(); - jLabelFeatureFlag.setText("Feature Flag"); - 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)); - - jArchCheckBox.setBounds(new java.awt.Rectangle(160, 155, 320, 20)); - jLabelTokenSpaceGuid.setBounds(new java.awt.Rectangle(15, 60, 140, 20)); - - jContentPane = new JPanel(); - jContentPane.setLayout(null); - jContentPane.setPreferredSize(new java.awt.Dimension(490, 190)); - - jContentPane.add(jLabelItemType, null); - jContentPane.add(jLabelC_Name, null); - jContentPane.add(getJComboBoxCName(), 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(jLabelFeatureFlag, null); - jContentPane.add(getJTextFieldFeatureFlag(), null); - jContentPane.add(jLabelArch, null); - jContentPane.add(jArchCheckBox, null); - jContentPane.add(getJButtonOk(), null); - jContentPane.add(getJButtonCancel(), null); - } - return jContentPane; - } - - /** - 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()); - } - - /* (non-Javadoc) - * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) - * - * Override actionPerformed to listen all actions - * - */ - public void actionPerformed(ActionEvent arg0) { - if (arg0.getSource() == jButtonOk) { - if (checkAdd()) { - getCurrentPcdCoded(); - this.returnType = DataType.RETURN_TYPE_OK; - this.setVisible(false); - } - } - - if (arg0.getSource() == jButtonCancel) { - this.returnType = DataType.RETURN_TYPE_CANCEL; - this.setVisible(false); - } - } - - /** - 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 C_Name - // - if (!isEmpty(this.jComboBoxCName.getSelectedItem().toString())) { - if (!DataValidation.isC_NameType(this.jComboBoxCName.getSelectedItem().toString())) { - Log.wrn("Update PcdCoded", "Incorrect data type for C Name"); - return false; - } - } - - // - // Check TokenSpaceGuid - // - 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"); - return false; - } - } - - // - // Check DefaultValue - // - if (!isEmpty(this.jTextFieldDefaultValue.getText())) { - if (!DataValidation.isDefaultValueType(this.jTextFieldDefaultValue.getText())) { - Log.wrn("Update PcdCoded", "Incorrect data type for Default Value"); - return false; - } - } - - // - // Check HelpText - // - if (isEmpty(this.jTextAreaHelpText.getText())) { - Log.wrn("Update PcdCoded", "Help Text should not be empty"); - return false; - } - - // - // Check FeatureFlag - // - if (!isEmpty(this.jTextFieldFeatureFlag.getText())) { - if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) { - Log.wrn("Update PcdCoded", "Incorrect data type for Feature Flag"); - return false; - } - } - - return true; - } - - private PcdCodedIdentification getCurrentPcdCoded() { - String arg0 = this.jComboBoxCName.getSelectedItem().toString(); - String arg1 = this.jTextFieldTokenSpaceGuid.getText(); - - String arg2 = this.jTextFieldFeatureFlag.getText(); - Vector arg3 = this.jArchCheckBox.getSelectedItemsVector(); - - 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); - return id; - } - - public PcdCodedIdentification getId() { - return id; - } - - public void setId(PcdCodedIdentification id) { - this.id = id; - } - - /* (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 (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"); - } else { - this.jTextFieldTokenSpaceGuid.setText(pcd.getPcd(index).getGuidCName()); - Tools.generateComboBoxByVector(this.jComboBoxItemType, pcd.getPcd(index).getType()); - this.jTextAreaHelpText.setText(pcd.getPcd(index).getHelp()); - this.jTextAreaHelpText.setSelectionStart(0); - this.jTextAreaHelpText.setSelectionEnd(0); - } - } - } + } } diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PpisDlg.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PpisDlg.java index 4ad12ee76e..c4e4151422 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PpisDlg.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog/PpisDlg.java @@ -25,6 +25,7 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextField; +import javax.swing.JTextArea; import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.DataValidation; @@ -39,394 +40,436 @@ import org.tianocore.frameworkwizard.module.Identifications.Ppis.PpisIdentificat import org.tianocore.frameworkwizard.workspace.WorkspaceTools; /** - The class is used to create, update Ppi of MSA/MBD file - It extends IInternalFrame - - **/ + * The class is used to create, update Ppi of MSA/MBD file It extends + * IInternalFrame + * + */ public class PpisDlg extends IDialog implements ItemListener { - /// - /// Define class Serial Version UID - /// - private static final long serialVersionUID = -4284901202357037724L; + // / + // / Define class Serial Version UID + // / + private static final long serialVersionUID = -4284901202357037724L; + + // + // Define class members + // + private JPanel jContentPane = null; + + private JLabel jLabelC_Name = null; + + private JComboBox jComboBoxCName = null; + + private JTextField jTextFieldFeatureFlag = null; + + private JLabel jLabelFeatureFlag = null; + + private JLabel jLabelUsage = null; + + private JComboBox jComboBoxUsage = null; + + private JLabel jLabelPpiType = null; + + private StarLabel jStarLabel1 = null; + + private StarLabel jStarLabel2 = null; + + private StarLabel jStarLabel3 = null; + + private JComboBox jComboBoxPpiType = null; + + private JLabel jLabelArch = null; + + private JScrollPane jScrollPane = null; + + private JLabel jLabelHelpText = null; + + private JTextArea jTextAreaHelpText = null; + + private JScrollPane jScrollPaneHelpText = null; + + private ArchCheckBox jArchCheckBox = null; + + private JButton jButtonOk = null; + + private JButton jButtonCancel = null; + + // + // Not used by UI + // + private PpisIdentification id = null; + + private WorkspaceTools wt = new WorkspaceTools(); + + private EnumerationData ed = new EnumerationData(); + + /** + * This method initializes jComboBoxPpiType + * + * @return javax.swing.JComboBox + */ + private JComboBox getJComboBoxPpiType() { + if (jComboBoxPpiType == null) { + jComboBoxPpiType = new JComboBox(); + jComboBoxPpiType.setBounds(new java.awt.Rectangle(160, 10, 320, 20)); + jComboBoxPpiType.setPreferredSize(new java.awt.Dimension(320, 20)); + jComboBoxPpiType.addItemListener(this); + jComboBoxPpiType.setToolTipText("PPIs are named by GUID.
PPI Notify is consumed via a register PPI Notify mechanism"); + } + return jComboBoxPpiType; + } + + /** + * 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, 35, 320, 20)); + jComboBoxCName.setPreferredSize(new java.awt.Dimension(320, 20)); + jComboBoxCName.setToolTipText("Select Guid C Name of PPI"); + } + return jComboBoxCName; + } + + /** + * This method initializes jComboBoxUsage + * + * @return javax.swing.JComboBox jComboBoxUsage + * + */ + private JComboBox getJComboBoxUsage() { + if (jComboBoxUsage == null) { + jComboBoxUsage = new JComboBox(); + jComboBoxUsage.setBounds(new java.awt.Rectangle(160, 60, 320, 20)); + jComboBoxUsage.setPreferredSize(new java.awt.Dimension(320, 20)); + jComboBoxUsage.setToolTipText("
PPI
ALWAYS_CONSUMEDModule always consumes the PPI
SOMETIMES_CONSUMEDModule sometimes consumes the PPI
ALWAYS_PRODUCEDModule always produces the PPI
SOMETIMES_PRODUCEDModule sometimes produces the PPI
PPI Notify
SOMETIMES_CONSUMEDModule will consume the PPI if it is produced. Consumption
is defined by executing the PPI notify function
"); + } + return jComboBoxUsage; + } + + /** + * This method initializes jTextFieldFeatureFlag + * + * @return javax.swing.JTextField jTextFieldFeatureFlag + * + */ + private JTextField getJTextFieldFeatureFlag() { + if (jTextFieldFeatureFlag == null) { + jTextFieldFeatureFlag = new JTextField(); + jTextFieldFeatureFlag + .setBounds(new java.awt.Rectangle(160, 130, 320, 20)); + jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(320, 20)); + jTextFieldFeatureFlag + .setToolTipText("Postfix expression that must evaluate to TRUE or FALSE"); + } + return jTextFieldFeatureFlag; + } + + /** + * This method initializes jScrollPane + * + * @return javax.swing.JScrollPane + */ + private JScrollPane getJScrollPane() { + if (jScrollPane == null) { + jScrollPane = new JScrollPane(); + jScrollPane.setViewportView(getJContentPane()); + } + return jScrollPane; + } + + /** + * This method initializes jTextAreaHelpText + * + * @return javax.swing.JTextArea + * + */ + private JTextArea getJTextAreaHelpText() { + if (jTextAreaHelpText == null) { + jTextAreaHelpText = new JTextArea(); + jTextAreaHelpText.setLineWrap(true); + jTextAreaHelpText.setWrapStyleWord(true); + } + 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; + } + + /** + * This method initializes jButtonOk + * + * @return javax.swing.JButton + * + */ + private JButton getJButtonOk() { + if (jButtonOk == null) { + jButtonOk = new JButton(); + jButtonOk.setBounds(new java.awt.Rectangle(290, 182, 90, 20)); + jButtonOk.setText("Ok"); + jButtonOk.addActionListener(this); + } + return jButtonOk; + } + + /** + * This method initializes jButtonCancel + * + * @return javax.swing.JButton + * + */ + private JButton getJButtonCancel() { + if (jButtonCancel == null) { + jButtonCancel = new JButton(); + jButtonCancel.setBounds(new java.awt.Rectangle(390, 182, 90, 20)); + jButtonCancel.setText("Cancel"); + jButtonCancel.addActionListener(this); + } + return jButtonCancel; + } + + public static void main(String[] args) { + + } + + /** + * This method initializes this + * + */ + private void init() { + this.setSize(500, 255); + this.setContentPane(getJScrollPane()); + this.setTitle("PPI Definitions"); + initFrame(); + this.centerWindow(); + } + + /** + * This method initializes this Fill values to all fields if these values are + * not empty + * + * @param inProtocolsId + * + */ + private void init(PpisIdentification inPpisId) { + init(); + this.id = inPpisId; + + if (this.id != null) { + this.jComboBoxCName.setSelectedItem(id.getName()); + this.jComboBoxPpiType.setSelectedItem(id.getType()); + this.jComboBoxUsage.setSelectedItem(id.getUsage()); + this.jTextAreaHelpText.setText(id.getHelp()); + this.jTextFieldFeatureFlag.setText(id.getFeatureFlag()); + this.jArchCheckBox.setSelectedItems(id.getSupArchList()); + } + } + + /** + * This is the override edit constructor + * + * @param inProtocolsIdentification + * @param iFrame + * + */ + public PpisDlg(PpisIdentification inPpisIdentification, IFrame iFrame) { + super(iFrame, true); + init(inPpisIdentification); + } + + /** + * This method initializes jContentPane + * + * @return javax.swing.JPanel jContentPane + * + */ + private JPanel getJContentPane() { + if (jContentPane == null) { + jStarLabel1 = new StarLabel(); + jStarLabel1.setLocation(new java.awt.Point(2, 10)); + jLabelPpiType = new JLabel(); + jLabelPpiType.setBounds(new java.awt.Rectangle(15, 10, 145, 20)); + jLabelPpiType.setText("Ppi Type"); + + jStarLabel2 = new StarLabel(); + jStarLabel2.setLocation(new java.awt.Point(2, 35)); + jLabelC_Name = new JLabel(); + jLabelC_Name.setText("PPI GUID C Name"); + jLabelC_Name.setBounds(new java.awt.Rectangle(15, 35, 145, 20)); + + jStarLabel3 = new StarLabel(); + jStarLabel3.setLocation(new java.awt.Point(2, 60)); + jLabelUsage = new JLabel(); + jLabelUsage.setText("Usage"); + jLabelUsage.setBounds(new java.awt.Rectangle(15, 60, 145, 20)); + + jLabelHelpText = new JLabel(); + jLabelHelpText.setBounds(new java.awt.Rectangle(14, 85, 145, 20)); + jLabelHelpText.setText("Help Text"); + + jLabelFeatureFlag = new JLabel(); + jLabelFeatureFlag.setText("Feature Flag"); + jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 130, 145, 20)); + + jLabelArch = new JLabel(); + jLabelArch.setBounds(new java.awt.Rectangle(15, 155, 145, 20)); + jLabelArch.setText("Arch"); + jArchCheckBox = new ArchCheckBox(); + jArchCheckBox.setBounds(new java.awt.Rectangle(160, 155, 320, 20)); + jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20)); + + jContentPane = new JPanel(); + jContentPane.setLayout(null); + jContentPane.setPreferredSize(new java.awt.Dimension(485, 210)); + + jContentPane.add(jStarLabel1, null); + jContentPane.add(jLabelPpiType, null); + jContentPane.add(getJComboBoxPpiType(), null); + jContentPane.add(jStarLabel2, null); + jContentPane.add(jLabelC_Name, null); + jContentPane.add(getJComboBoxCName(), null); + jContentPane.add(jStarLabel3, null); + jContentPane.add(jLabelUsage, null); + jContentPane.add(getJComboBoxUsage(), null); + jContentPane.add(jLabelHelpText, null); + jContentPane.add(getJScrollPaneHelpText(), null); + jContentPane.add(jLabelFeatureFlag, null); + jContentPane.add(getJTextFieldFeatureFlag(), null); + jContentPane.add(jLabelArch, null); + jContentPane.add(jArchCheckBox, null); + jContentPane.add(getJButtonOk(), null); + jContentPane.add(getJButtonCancel(), null); + } + return jContentPane; + } + + /** + * This method initializes Usage type + * + */ + private void initFrame() { + Tools.generateComboBoxByVector(jComboBoxCName, wt + .getAllPpiDeclarationsFromWorkspace()); + Tools.generateComboBoxByVector(jComboBoxPpiType, ed.getVPpiType()); + Tools.generateComboBoxByVector(jComboBoxUsage, ed.getVPpiUsage()); + } + + /* + * (non-Javadoc) + * + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + * + * Override actionPerformed to listen all actions + * + */ + public void actionPerformed(ActionEvent arg0) { + if (arg0.getSource() == jButtonOk) { + if (checkAdd()) { + getCurrentPpis(); + this.returnType = DataType.RETURN_TYPE_OK; + this.setVisible(false); + } + } + + if (arg0.getSource() == jButtonCancel) { + this.returnType = DataType.RETURN_TYPE_CANCEL; + this.setVisible(false); + } + } + + /** + * 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 + // // - //Define class members + // Check Name // - private JPanel jContentPane = null; - - private JLabel jLabelC_Name = null; - - private JComboBox jComboBoxCName = null; - - private JTextField jTextFieldFeatureFlag = null; - - private JLabel jLabelFeatureFlag = null; - - private JLabel jLabelUsage = null; - - private JComboBox jComboBoxUsage = null; - - private JLabel jLabelPpiType = null; - - private StarLabel jStarLabel1 = null; - - private StarLabel jStarLabel2 = null; - - private JComboBox jComboBoxPpiType = null; - - private JLabel jLabelArch = null; - - private JScrollPane jScrollPane = null; - - private JLabel jLabelHelpText = null; - - private JTextField jTextFieldHelpText = null; - - private ArchCheckBox jArchCheckBox = null; - - private JButton jButtonOk = null; - - private JButton jButtonCancel = null; + if (!isEmpty(this.jComboBoxCName.getSelectedItem().toString())) { + if (!DataValidation.isC_NameType(this.jComboBoxCName.getSelectedItem() + .toString())) { + Log.wrn("Update Ppis", "Incorrect data type for Ppi/PpiNotify Name"); + return false; + } + } // - // Not used by UI + // Check FeatureFlag // - private PpisIdentification id = null; - - private WorkspaceTools wt = new WorkspaceTools(); - - private EnumerationData ed = new EnumerationData(); - - /** - 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, 35, 320, 20)); - jComboBoxCName.setPreferredSize(new java.awt.Dimension(320, 20)); - } - return jComboBoxCName; + if (!isEmpty(this.jTextFieldFeatureFlag.getText())) { + if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) { + Log.wrn("Update Ppis", "Incorrect data type for Feature Flag"); + return false; + } } - /** - This method initializes jTextFieldFeatureFlag - - @return javax.swing.JTextField jTextFieldFeatureFlag - - **/ - private JTextField getJTextFieldFeatureFlag() { - if (jTextFieldFeatureFlag == null) { - jTextFieldFeatureFlag = new JTextField(); - jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 110, 320, 20)); - jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(320, 20)); - } - return jTextFieldFeatureFlag; - } + return true; + } - /** - This method initializes jComboBox - - @return javax.swing.JComboBox jComboBoxUsage - - **/ - private JComboBox getJComboBox() { - if (jComboBoxUsage == null) { - jComboBoxUsage = new JComboBox(); - jComboBoxUsage.setBounds(new java.awt.Rectangle(160, 60, 320, 20)); - jComboBoxUsage.setPreferredSize(new java.awt.Dimension(320, 20)); - } - return jComboBoxUsage; - } - - /** - * This method initializes jComboBoxPpiType - * - * @return javax.swing.JComboBox - */ - private JComboBox getJComboBoxPpiType() { - if (jComboBoxPpiType == null) { - jComboBoxPpiType = new JComboBox(); - jComboBoxPpiType.setBounds(new java.awt.Rectangle(160, 10, 320, 20)); - jComboBoxPpiType.setPreferredSize(new java.awt.Dimension(320, 20)); - jComboBoxPpiType.addItemListener(this); - } - return jComboBoxPpiType; - } - - /** - This method initializes jScrollPane - - @return javax.swing.JScrollPane - */ - private JScrollPane getJScrollPane() { - if (jScrollPane == null) { - jScrollPane = new JScrollPane(); - jScrollPane.setViewportView(getJContentPane()); - } - return jScrollPane; - } - - /** - This method initializes jTextFieldHelpText - - @return javax.swing.JTextField - - **/ - private JTextField getJTextFieldHelpText() { - if (jTextFieldHelpText == null) { - jTextFieldHelpText = new JTextField(); - jTextFieldHelpText.setBounds(new java.awt.Rectangle(160, 85, 320, 20)); - jTextFieldHelpText.setPreferredSize(new java.awt.Dimension(320, 20)); - } - return jTextFieldHelpText; - } - - /** - This method initializes jButtonOk - - @return javax.swing.JButton - - **/ - private JButton getJButtonOk() { - if (jButtonOk == null) { - jButtonOk = new JButton(); - jButtonOk.setBounds(new java.awt.Rectangle(290, 165, 90, 20)); - jButtonOk.setText("Ok"); - jButtonOk.addActionListener(this); - } - return jButtonOk; - } - - /** - This method initializes jButtonCancel - - @return javax.swing.JButton - - **/ - private JButton getJButtonCancel() { - if (jButtonCancel == null) { - jButtonCancel = new JButton(); - jButtonCancel.setBounds(new java.awt.Rectangle(390, 165, 90, 20)); - jButtonCancel.setText("Cancel"); - jButtonCancel.addActionListener(this); - } - return jButtonCancel; - } - - public static void main(String[] args) { - - } - - /** - This method initializes this - - **/ - private void init() { - this.setSize(510, 240); - this.setContentPane(getJScrollPane()); - this.setTitle("Ppis"); - initFrame(); - this.centerWindow(); - } - - /** - This method initializes this - Fill values to all fields if these values are not empty - - @param inProtocolsId - - **/ - private void init(PpisIdentification inPpisId) { - init(); - this.id = inPpisId; - - if (this.id != null) { - this.jComboBoxCName.setSelectedItem(id.getName()); - this.jComboBoxPpiType.setSelectedItem(id.getType()); - this.jComboBoxUsage.setSelectedItem(id.getUsage()); - this.jTextFieldHelpText.setText(id.getHelp()); - this.jTextFieldFeatureFlag.setText(id.getFeatureFlag()); - this.jArchCheckBox.setSelectedItems(id.getSupArchList()); - } - } - - /** - This is the override edit constructor - - @param inProtocolsIdentification - @param iFrame - - **/ - public PpisDlg(PpisIdentification inPpisIdentification, IFrame iFrame) { - super(iFrame, true); - init(inPpisIdentification); - } - - /** - This method initializes jContentPane - - @return javax.swing.JPanel jContentPane - - **/ - private JPanel getJContentPane() { - if (jContentPane == null) { - jArchCheckBox = new ArchCheckBox(); - jArchCheckBox.setBounds(new java.awt.Rectangle(160, 135, 320, 20)); - jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20)); - jLabelArch = new JLabel(); - jLabelArch.setBounds(new java.awt.Rectangle(15, 135, 140, 20)); - jLabelArch.setText("Arch"); - jLabelPpiType = new JLabel(); - jLabelPpiType.setBounds(new java.awt.Rectangle(15, 10, 140, 20)); - jLabelPpiType.setText("Ppi Type"); - jLabelUsage = new JLabel(); - jLabelUsage.setText("Usage"); - jLabelUsage.setBounds(new java.awt.Rectangle(15, 60, 140, 20)); - jLabelFeatureFlag = new JLabel(); - jLabelFeatureFlag.setText("Feature Flag"); - jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 110, 140, 20)); - jLabelC_Name = new JLabel(); - jLabelC_Name.setText("C Name Type"); - jLabelC_Name.setBounds(new java.awt.Rectangle(15, 35, 140, 20)); - jLabelHelpText = new JLabel(); - jLabelHelpText.setBounds(new java.awt.Rectangle(14, 85, 140, 20)); - jLabelHelpText.setText("Help Text"); - - jContentPane = new JPanel(); - jContentPane.setLayout(null); - jContentPane.setPreferredSize(new java.awt.Dimension(490, 190)); - - jContentPane.add(jLabelC_Name, null); - jContentPane.add(getJComboBoxCName(), null); - jContentPane.add(getJTextFieldFeatureFlag(), null); - jContentPane.add(jLabelFeatureFlag, null); - jContentPane.add(jLabelUsage, null); - jContentPane.add(getJComboBox(), null); - jContentPane.add(getJComboBoxPpiType(), null); - jContentPane.add(jLabelArch, null); - jContentPane.add(jLabelPpiType, null); - jStarLabel1 = new StarLabel(); - jStarLabel1.setBounds(new java.awt.Rectangle(0, 10, 10, 20)); - jStarLabel2 = new StarLabel(); - jStarLabel2.setBounds(new java.awt.Rectangle(0, 35, 10, 20)); - - jContentPane.add(jStarLabel1, null); - jContentPane.add(jStarLabel2, null); - - jContentPane.add(jLabelHelpText, null); - jContentPane.add(getJTextFieldHelpText(), null); - jContentPane.add(jArchCheckBox, null); - jContentPane.add(getJButtonOk(), null); - jContentPane.add(getJButtonCancel(), null); - } - return jContentPane; - } - - /** - This method initializes Usage type - - **/ - private void initFrame() { - Tools.generateComboBoxByVector(jComboBoxCName, wt.getAllPpiDeclarationsFromWorkspace()); - Tools.generateComboBoxByVector(jComboBoxPpiType, ed.getVPpiType()); - Tools.generateComboBoxByVector(jComboBoxUsage, ed.getVPpiUsage()); - } - - /* (non-Javadoc) - * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) - * - * Override actionPerformed to listen all actions - * - */ - public void actionPerformed(ActionEvent arg0) { - if (arg0.getSource() == jButtonOk) { - if (checkAdd()) { - getCurrentPpis(); - this.returnType = DataType.RETURN_TYPE_OK; - this.setVisible(false); - } - } - - if (arg0.getSource() == jButtonCancel) { - this.returnType = DataType.RETURN_TYPE_CANCEL; - this.setVisible(false); - } - } - - /** - 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 Name - // - if (!isEmpty(this.jComboBoxCName.getSelectedItem().toString())) { - if (!DataValidation.isC_NameType(this.jComboBoxCName.getSelectedItem().toString())) { - Log.wrn("Update Ppis", "Incorrect data type for Ppi/PpiNotify Name"); - return false; - } - } - - // - // Check FeatureFlag - // - if (!isEmpty(this.jTextFieldFeatureFlag.getText())) { - if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) { - Log.wrn("Update Ppis", "Incorrect data type for Feature Flag"); - return false; - } - } - - return true; - } - - private PpisIdentification getCurrentPpis() { +private PpisIdentification getCurrentPpis() { String arg0 = this.jComboBoxCName.getSelectedItem().toString(); String arg1 = this.jComboBoxPpiType.getSelectedItem().toString(); String arg2 = this.jComboBoxUsage.getSelectedItem().toString(); String arg3 = this.jTextFieldFeatureFlag.getText(); Vector arg4 = this.jArchCheckBox.getSelectedItemsVector(); - String arg5 = this.jTextFieldHelpText.getText(); + String arg5 = this.jTextAreaHelpText.getText(); id = new PpisIdentification(arg0, arg1, arg2, arg3, arg4, arg5); return id; + } /* + * (non-Javadoc) + * + * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent) + * + * Reflesh the frame when selected item changed + * + */ + public void itemStateChanged(ItemEvent arg0) { + if (arg0.getSource() == this.jComboBoxPpiType + && arg0.getStateChange() == ItemEvent.SELECTED) { + if (this.jComboBoxPpiType.getSelectedItem().toString().equals( + ed.getVPpiType().get(0))) { + Tools.generateComboBoxByVector(this.jComboBoxUsage, ed.getVPpiUsage()); + } else { + Tools.generateComboBoxByVector(this.jComboBoxUsage, ed + .getVPpiNotifyUsage()); + } } + } - /* (non-Javadoc) - * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent) - * - * Reflesh the frame when selected item changed - * - */ - public void itemStateChanged(ItemEvent arg0) { - if (arg0.getSource() == this.jComboBoxPpiType && arg0.getStateChange() == ItemEvent.SELECTED) { - if (this.jComboBoxPpiType.getSelectedItem().toString().equals(ed.getVPpiType().get(0))) { - Tools.generateComboBoxByVector(this.jComboBoxUsage, ed.getVPpiUsage()); - } else { - Tools.generateComboBoxByVector(this.jComboBoxUsage, ed.getVPpiNotifyUsage()); - } - } - } + public PpisIdentification getId() { + return id; + } - public PpisIdentification getId() { - return id; - } - - public void setId(PpisIdentification id) { - this.id = id; - } + public void setId(PpisIdentification id) { + this.id = id; + } }