Fixed Absolute position of fields, Added ToolTipText and made HelpText a Scrolling Text Area

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1131 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lhauch 2006-07-28 02:02:09 +00:00
parent 9cf435c223
commit 5101eff919
3 changed files with 1302 additions and 1187 deletions
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/dialog

View File

@ -23,6 +23,7 @@ import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.JTextArea;
import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.DataType;
import org.tianocore.frameworkwizard.common.DataValidation; import org.tianocore.frameworkwizard.common.DataValidation;
@ -37,392 +38,433 @@ import org.tianocore.frameworkwizard.module.Identifications.Hobs.HobsIdentificat
import org.tianocore.frameworkwizard.workspace.WorkspaceTools; import org.tianocore.frameworkwizard.workspace.WorkspaceTools;
/** /**
The class is used to create, update Hob of MSA/MBD file * The class is used to create, update Hob of the MSA file It extends JDialog
It extends IInternalFrame *
*/
**/
public class HobsDlg extends IDialog { public class HobsDlg extends IDialog {
/// // /
/// Define class Serial Version UID // / Define class Serial Version UID
/// // /
private static final long serialVersionUID = -553473437579358325L; 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("<html><table><tr><td>PHIT</td><td>EFI_HOB_TYPE_HANDOFF</td></tr><tr><td>MEMORY_ALLOCATION</td><td>EFI_HOB_TYPE_MEMORY_ALLOCATION and $BaseName</td></tr><tr><td>RESOURCE_DESCRIPTOR</td><td>EFI_HOB_TYPE_RESOURCE_DESCRIPTOR</td></tr><tr><td>GUID_EXTENTION</td><td>EFI_HOB_TYPE_GUID_EXTENSION and BaseName of GUID</td></tr><tr><td>FIRMWARE_VOLUME</td><td>EFI_HOB_TYPE_FV</td></tr><tr><td>CPU</td><td>EFI_HOB_TYPE_CPU</td></tr><tr><td>POOL</td><td>EFI_HOB_TYPE_PEI_MEMORY_POOL</td></tr><tr><td>CAPSULE_VOLUME</td><td>EFI_HOB_TYPE_CV</td></tr></table></html>");
}
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("<html><table><tr><td>ALWAYS_CONSUMED</td><td>HOB must be present in the system</td></tr><tr><td>SOMETIMES_CONSUMED</td><td>HOB will be used if it's present</td></tr><tr><td>ALWAYS_PRODUCED</td><td>HOB is always produced</td></tr><tr><td>SOMETIMES_PRODUCED</td><td>HOB will sometimes be produced by the module</td></tr></table></html>");
}
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; if (!isEmpty(this.jComboBoxGuidC_Name.getSelectedItem().toString())) {
if (!DataValidation.isC_NameType(this.jComboBoxGuidC_Name
private JComboBox jComboBoxGuidC_Name = null; .getSelectedItem().toString())) {
Log.wrn("Update Hobs", "Incorrect data type for Hob Name");
private JLabel jLabelUsage = null; return false;
}
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;
// //
// Not used by UI // Check FeatureFlag
// //
private HobsIdentification id = null; if (!isEmpty(this.jTextFieldFeatureFlag.getText())) {
if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) {
private EnumerationData ed = new EnumerationData(); Log.wrn("Update Hobs", "Incorrect data type for Feature Flag");
return false;
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;
} }
/** return true;
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;
}
/** private HobsIdentification getCurrentHobs() {
This method initializes jComboBoxHobType String arg0 = this.jComboBoxGuidC_Name.getSelectedItem().toString();
String arg1 = this.jComboBoxHobType.getSelectedItem().toString();
@return javax.swing.JComboBox jComboBoxHobType String arg2 = this.jComboBoxUsage.getSelectedItem().toString();
**/
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;
}
/** String arg3 = this.jTextFieldFeatureFlag.getText();
This method initializes jScrollPane Vector<String> arg4 = this.jArchCheckBox.getSelectedItemsVector();
String arg5 = this.jTextAreaHelpText.getText();
@return javax.swing.JScrollPane id = new HobsIdentification(arg0, arg1, arg2, arg3, arg4, arg5);
*/ return id;
private JScrollPane getJScrollPane() { }
if (jScrollPane == null) {
jScrollPane = new JScrollPane(); public HobsIdentification getId() {
jScrollPane.setViewportView(getJContentPane()); return id;
} }
return jScrollPane;
}
/** public void setId(HobsIdentification id) {
* This method initializes jTextFieldFeatureFlag this.id = id;
* }
* @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<String> 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;
}
} }

View File

@ -40,495 +40,525 @@ import org.tianocore.frameworkwizard.module.Identifications.PcdCoded.PcdVector;
import org.tianocore.frameworkwizard.workspace.WorkspaceTools; import org.tianocore.frameworkwizard.workspace.WorkspaceTools;
/** /**
The class is used to create, update PCD of MSA/MBD file * The class is used to create, update PCD of MSA/MBD file It extends
It extends IInternalFrame * IInternalFrame
*
**/ */
public class PCDsDlg extends IDialog implements ItemListener { public class PCDsDlg extends IDialog implements ItemListener {
/// // /
/// Define class Serial Version UID // / Define class Serial Version UID
/// // /
private static final long serialVersionUID = 2227717658188438696L; private static final long serialVersionUID = 2227717658188438696L;
// //
//Define class members // Define class members
// //
private JPanel jContentPane = null; 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; private JScrollPane jScrollPaneHelpText = null;
//
// Not used by UI
//
private PcdCodedIdentification id = null;
private WorkspaceTools wt = new WorkspaceTools(); //
// Not used by UI
//
private PcdCodedIdentification id = null;
private PcdVector pcd = wt.getAllPcdDeclarationsFromWorkspace(); private WorkspaceTools wt = new WorkspaceTools();
/** private PcdVector pcd = wt.getAllPcdDeclarationsFromWorkspace();
This method initializes jComboBoxItemType
/**
@return javax.swing.JComboBox jComboBoxItemType * This method initializes jComboBoxItemType
*
**/ * @return javax.swing.JComboBox jComboBoxItemType
private JComboBox getJComboBoxItemType() { *
if (jComboBoxItemType == null) { */
jComboBoxItemType = new JComboBox(); private JComboBox getJComboBoxItemType() {
jComboBoxItemType.setBounds(new java.awt.Rectangle(160, 35, 320, 20)); if (jComboBoxItemType == null) {
jComboBoxItemType.setPreferredSize(new java.awt.Dimension(320, 20)); jComboBoxItemType = new JComboBox();
} jComboBoxItemType.setBounds(new java.awt.Rectangle(160, 35, 320, 20));
return jComboBoxItemType; 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));
} }
/** // Tools.generateComboBoxByVector(jComboBoxItemType, ed.getVPcdItemTypes());
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());
/*
* (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 * Data validation for all fields
*
@return javax.swing.JScrollPane * @retval true - All datas are valid
*/ * @retval false - At least one data is invalid
private JScrollPane getJScrollPane() { *
if (jScrollPane == null) { */
jScrollPane = new JScrollPane(); public boolean checkAdd() {
jScrollPane.setViewportView(getJContentPane()); //
} // Check if all fields have correct data types
return jScrollPane; //
//
// 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 // Check TokenSpaceGuid
* //
* @return javax.swing.JTextField if (!isEmpty(this.jTextFieldTokenSpaceGuid.getText())) {
*/ if (!DataValidation.isC_NameType(this.jTextFieldTokenSpaceGuid.getText())) {
private JTextField getJTextFieldTokenSpaceGuid() { Log
if (jTextFieldTokenSpaceGuid == null) { .wrn("Update PcdCoded",
jTextFieldTokenSpaceGuid = new JTextField(); "Incorrect data type for the selected pcd entry, please check in in spd file");
jTextFieldTokenSpaceGuid.setBounds(new java.awt.Rectangle(160, 60, 320, 20)); return false;
jTextFieldTokenSpaceGuid.setPreferredSize(new java.awt.Dimension(320, 20)); }
jTextFieldTokenSpaceGuid.setVisible(false);
}
return jTextFieldTokenSpaceGuid;
} }
/** //
* This method initializes jTextFieldFeatureFlag // Check DefaultValue
* //
* @return javax.swing.JTextField if (!isEmpty(this.jTextFieldDefaultValue.getText())) {
*/ if (!DataValidation.isDefaultValueType(this.jTextFieldDefaultValue
private JTextField getJTextFieldFeatureFlag() { .getText())) {
if (jTextFieldFeatureFlag == null) { Log.wrn("Update PcdCoded", "Incorrect data type for Default Value");
jTextFieldFeatureFlag = new JTextField(); return false;
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;
} }
/** //
This method initializes jButtonOk // Check HelpText
//
@return javax.swing.JButton if (isEmpty(this.jTextAreaHelpText.getText())) {
Log.wrn("Update PcdCoded", "Help Text should not be empty");
**/ return false;
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;
} }
/** //
This method initializes jButtonCancel // Check FeatureFlag
//
@return javax.swing.JButton if (!isEmpty(this.jTextFieldFeatureFlag.getText())) {
if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) {
**/ Log.wrn("Update PcdCoded", "Incorrect data type for Feature Flag");
private JButton getJButtonCancel() { return false;
if (jButtonCancel == null) { }
jButtonCancel = new JButton();
jButtonCancel.setBounds(new java.awt.Rectangle(390, 185, 90, 20));
jButtonCancel.setText("Cancel");
jButtonCancel.addActionListener(this);
}
return jButtonCancel;
} }
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<String> 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<String> 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);
}
}
}
} }

View File

@ -25,6 +25,7 @@ import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.JTextArea;
import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.DataType;
import org.tianocore.frameworkwizard.common.DataValidation; import org.tianocore.frameworkwizard.common.DataValidation;
@ -39,394 +40,436 @@ import org.tianocore.frameworkwizard.module.Identifications.Ppis.PpisIdentificat
import org.tianocore.frameworkwizard.workspace.WorkspaceTools; import org.tianocore.frameworkwizard.workspace.WorkspaceTools;
/** /**
The class is used to create, update Ppi of MSA/MBD file * The class is used to create, update Ppi of MSA/MBD file It extends
It extends IInternalFrame * IInternalFrame
*
**/ */
public class PpisDlg extends IDialog implements ItemListener { public class PpisDlg extends IDialog implements ItemListener {
/// // /
/// Define class Serial Version UID // / Define class Serial Version UID
/// // /
private static final long serialVersionUID = -4284901202357037724L; 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("<html>PPIs are named by GUID.<br>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("<html><table><tr><td colspan=2 align=center><b>PPI</b></td></tr><tr><td>ALWAYS_CONSUMED</td><td>Module always consumes the PPI</td></tr><tr><td>SOMETIMES_CONSUMED</td><td>Module sometimes consumes the PPI</td></tr><tr><td>ALWAYS_PRODUCED</td><td>Module always produces the PPI</td></tr><tr><td>SOMETIMES_PRODUCED</td><td>Module sometimes produces the PPI</td></tr><tr><td colspan=2 align=center><b>PPI Notify</b></td></tr><tr><td>SOMETIMES_CONSUMED</td><td>Module will consume the PPI if it is produced. Consumption<br>is defined by executing the PPI notify function</td></tr></table></html>");
}
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; if (!isEmpty(this.jComboBoxCName.getSelectedItem().toString())) {
if (!DataValidation.isC_NameType(this.jComboBoxCName.getSelectedItem()
private JLabel jLabelC_Name = null; .toString())) {
Log.wrn("Update Ppis", "Incorrect data type for Ppi/PpiNotify Name");
private JComboBox jComboBoxCName = null; return false;
}
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;
// //
// Not used by UI // Check FeatureFlag
// //
private PpisIdentification id = null; if (!isEmpty(this.jTextFieldFeatureFlag.getText())) {
if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) {
private WorkspaceTools wt = new WorkspaceTools(); Log.wrn("Update Ppis", "Incorrect data type for Feature Flag");
return false;
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;
} }
/** return true;
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;
}
/** private PpisIdentification getCurrentPpis() {
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() {
String arg0 = this.jComboBoxCName.getSelectedItem().toString(); String arg0 = this.jComboBoxCName.getSelectedItem().toString();
String arg1 = this.jComboBoxPpiType.getSelectedItem().toString(); String arg1 = this.jComboBoxPpiType.getSelectedItem().toString();
String arg2 = this.jComboBoxUsage.getSelectedItem().toString(); String arg2 = this.jComboBoxUsage.getSelectedItem().toString();
String arg3 = this.jTextFieldFeatureFlag.getText(); String arg3 = this.jTextFieldFeatureFlag.getText();
Vector<String> arg4 = this.jArchCheckBox.getSelectedItemsVector(); Vector<String> arg4 = this.jArchCheckBox.getSelectedItemsVector();
String arg5 = this.jTextFieldHelpText.getText(); String arg5 = this.jTextAreaHelpText.getText();
id = new PpisIdentification(arg0, arg1, arg2, arg3, arg4, arg5); id = new PpisIdentification(arg0, arg1, arg2, arg3, arg4, arg5);
return id; 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) public PpisIdentification getId() {
* @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent) return id;
* }
* 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() { public void setId(PpisIdentification id) {
return id; this.id = id;
} }
public void setId(PpisIdentification id) {
this.id = id;
}
} }