import javax.swing.JTextArea;\r
import javax.swing.JTextField;\r
\r
+\r
import org.tianocore.PackageSurfaceAreaDocument;\r
import org.tianocore.frameworkwizard.common.DataValidation;\r
-import org.tianocore.frameworkwizard.common.Log;\r
import org.tianocore.frameworkwizard.common.Tools;\r
import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
+import javax.swing.JCheckBox;\r
\r
/**\r
The class is used to create, update spdHeader of Spd file\r
\r
private JLabel jLabel = null;\r
\r
- private JTextField jTextField = null;\r
+ private JTextField jTextFieldUrl = null;\r
+\r
+ private StarLabel starLabel = null;\r
+\r
+ private StarLabel starLabel1 = null;\r
+\r
+ private JCheckBox jCheckBoxRdOnly = null;\r
+\r
+ private JCheckBox jCheckBoxRePkg = null;\r
\r
/**\r
This method initializes jTextFieldBaseName \r
JOptionPane.showMessageDialog(frame, "Package Name is NOT UiNameType.");\r
return;\r
}\r
+ if (jTextFieldBaseName.getText().equals(sfc.getSpdHdrPkgName())) {\r
+ return;\r
+ }\r
docConsole.setSaved(false);\r
sfc.setSpdHdrPkgName(jTextFieldBaseName.getText());\r
}\r
JOptionPane.showMessageDialog(frame, "Guid is NOT GuidType.");\r
return;\r
}\r
+ if (jTextFieldGuid.getText().equals(sfc.getSpdHdrGuidValue())) {\r
+ return;\r
+ }\r
docConsole.setSaved(false);\r
sfc.setSpdHdrGuidValue(jTextFieldGuid.getText());\r
}\r
JOptionPane.showMessageDialog(frame, "Version is NOT version type.");\r
return;\r
}\r
+ if (jTextFieldVersion.getText().equals(sfc.getSpdHdrVer())){\r
+ return;\r
+ }\r
docConsole.setSaved(false);\r
sfc.setSpdHdrVer(jTextFieldVersion.getText());\r
} \r
if (jTextAreaLicense == null) {\r
jTextAreaLicense = new JTextArea();\r
jTextAreaLicense.setText("");\r
-// jTextAreaLicense.setPreferredSize(new java.awt.Dimension(317,77));\r
jTextAreaLicense.setLineWrap(true);\r
jTextAreaLicense.addFocusListener(new FocusAdapter(){\r
public void focusLost(FocusEvent e){\r
JOptionPane.showMessageDialog(frame, "License contents could NOT be empty.");\r
return;\r
}\r
+ if (jTextAreaLicense.getText().equals(sfc.getSpdHdrLicense())) {\r
+ return;\r
+ }\r
docConsole.setSaved(false);\r
sfc.setSpdHdrLicense(jTextAreaLicense.getText());\r
}\r
if (jTextAreaDescription == null) {\r
jTextAreaDescription = new JTextArea();\r
jTextAreaDescription.setLineWrap(true);\r
-// jTextAreaDescription.setPreferredSize(new java.awt.Dimension(317,77));\r
jTextAreaDescription.addFocusListener(new FocusAdapter(){\r
public void focusLost(FocusEvent e){\r
if (jTextAreaDescription.getText().length() == 0) {\r
JOptionPane.showMessageDialog(frame, "Description contents could NOT be empty.");\r
return;\r
}\r
+ if (jTextAreaDescription.getText().equals(sfc.getSpdHdrDescription())) {\r
+ return;\r
+ }\r
docConsole.setSaved(false);\r
sfc.setSpdHdrDescription(jTextAreaDescription.getText());\r
}\r
private JTextField getJTextFieldSpecification() {\r
if (jTextFieldSpecification == null) {\r
jTextFieldSpecification = new JTextField();\r
- jTextFieldSpecification.setBounds(new java.awt.Rectangle(160, 305, 320, 20));\r
+ jTextFieldSpecification.setBounds(new java.awt.Rectangle(161,369,320,20));\r
jTextFieldSpecification.setEditable(false);\r
jTextFieldSpecification.setPreferredSize(new java.awt.Dimension(320,20));\r
jTextFieldSpecification.addFocusListener(new FocusAdapter(){\r
private JScrollPane getJScrollPaneLicense() {\r
if (jScrollPaneLicense == null) {\r
jScrollPaneLicense = new JScrollPane();\r
- jScrollPaneLicense.setBounds(new java.awt.Rectangle(160, 85, 320, 80));\r
+ jScrollPaneLicense.setBounds(new java.awt.Rectangle(161,144,320,80));\r
jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
jScrollPaneLicense.setPreferredSize(new java.awt.Dimension(320,80));\r
jScrollPaneLicense.setViewportView(getJTextAreaLicense());\r
private JScrollPane getJScrollPaneDescription() {\r
if (jScrollPaneDescription == null) {\r
jScrollPaneDescription = new JScrollPane();\r
- jScrollPaneDescription.setBounds(new java.awt.Rectangle(160, 220, 320, 80));\r
+ jScrollPaneDescription.setBounds(new java.awt.Rectangle(160,280,320,80));\r
jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
jScrollPaneDescription.setViewportView(getJTextAreaDescription());\r
}\r
private JTextField getJTextFieldAbstract() {\r
if (jTextFieldAbstract == null) {\r
jTextFieldAbstract = new JTextField();\r
- jTextFieldAbstract.setBounds(new java.awt.Rectangle(160,195,320,20));\r
+ jTextFieldAbstract.setBounds(new java.awt.Rectangle(161,256,320,20));\r
jTextFieldAbstract.setPreferredSize(new java.awt.Dimension(320, 20));\r
jTextFieldAbstract.addFocusListener(new FocusAdapter(){\r
public void focusLost(FocusEvent e){\r
JOptionPane.showMessageDialog(frame, "Abstract could NOT be empty.");\r
return;\r
}\r
+ if (jTextFieldAbstract.getText().equals(sfc.getSpdHdrAbs())) {\r
+ return;\r
+ }\r
docConsole.setSaved(false);\r
sfc.setSpdHdrAbs(jTextFieldAbstract.getText());\r
}\r
private JTextField getJTextFieldCopyright() {\r
if (jTextFieldCopyright == null) {\r
jTextFieldCopyright = new JTextField();\r
- jTextFieldCopyright.setBounds(new java.awt.Rectangle(160,330,320, 20));\r
+ jTextFieldCopyright.setBounds(new java.awt.Rectangle(160,86,320,48));\r
jTextFieldCopyright.setPreferredSize(new java.awt.Dimension(320,20));\r
jTextFieldCopyright.addFocusListener(new FocusAdapter(){\r
public void focusLost(FocusEvent e){\r
JOptionPane.showMessageDialog(frame, "Copyright contents could not be empty.");\r
return;\r
}\r
+ if (jTextFieldCopyright.getText().equals(sfc.getSpdHdrCopyright())) {\r
+ return;\r
+ }\r
docConsole.setSaved(false);\r
sfc.setSpdHdrCopyright(jTextFieldCopyright.getText());\r
} \r
* \r
* @return javax.swing.JTextField \r
*/\r
- private JTextField getJTextField() {\r
- if (jTextField == null) {\r
- jTextField = new JTextField();\r
- jTextField.setBounds(new java.awt.Rectangle(160,170,320,20));\r
- jTextField.setPreferredSize(new java.awt.Dimension(320, 20));\r
- jTextField.addFocusListener(new FocusAdapter(){\r
+ private JTextField getJTextFieldUrl() {\r
+ if (jTextFieldUrl == null) {\r
+ jTextFieldUrl = new JTextField();\r
+ jTextFieldUrl.setBounds(new java.awt.Rectangle(161,231,320,20));\r
+ jTextFieldUrl.setPreferredSize(new java.awt.Dimension(320, 20));\r
+ jTextFieldUrl.addFocusListener(new FocusAdapter(){\r
public void focusLost(FocusEvent e){\r
+ if (jTextFieldUrl.getText().length() == 0 && sfc.getSpdHdrUrl() == null) {\r
+ return;\r
+ }\r
+ if (jTextFieldUrl.getText().equals(sfc.getSpdHdrUrl())) {\r
+ return;\r
+ }\r
sfc.setSpdHdrLicense(jTextAreaLicense.getText());\r
- sfc.setSpdHdrUrl(jTextField.getText());\r
+ sfc.setSpdHdrUrl(jTextFieldUrl.getText());\r
docConsole.setSaved(false);\r
} \r
});\r
}\r
- return jTextField;\r
+ return jTextFieldUrl;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jCheckBoxRdOnly \r
+ * \r
+ * @return javax.swing.JCheckBox \r
+ */\r
+ private JCheckBox getJCheckBoxRdOnly() {\r
+ if (jCheckBoxRdOnly == null) {\r
+ jCheckBoxRdOnly = new JCheckBox();\r
+ jCheckBoxRdOnly.setText("Read Only");\r
+ jCheckBoxRdOnly.setLocation(new java.awt.Point(17,408));\r
+ jCheckBoxRdOnly.setSize(new java.awt.Dimension(138,20));\r
+ jCheckBoxRdOnly.setPreferredSize(new java.awt.Dimension(150,20));\r
+ jCheckBoxRdOnly.addItemListener(new java.awt.event.ItemListener() {\r
+ public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+ if (docConsole != null) {\r
+ docConsole.setSaved(false);\r
+ }\r
+ sfc.setSpdPkgDefsRdOnly(jCheckBoxRdOnly.isSelected()+"");\r
+ }\r
+ });\r
+ }\r
+ return jCheckBoxRdOnly;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jCheckBoxRePkg \r
+ * \r
+ * @return javax.swing.JCheckBox \r
+ */\r
+ private JCheckBox getJCheckBoxRePkg() {\r
+ if (jCheckBoxRePkg == null) {\r
+ jCheckBoxRePkg = new JCheckBox();\r
+ jCheckBoxRePkg.setLocation(new java.awt.Point(16,444));\r
+ jCheckBoxRePkg.setText("RePackagable");\r
+ jCheckBoxRePkg.setSize(new java.awt.Dimension(140,20));\r
+ jCheckBoxRePkg.addItemListener(new java.awt.event.ItemListener() {\r
+ public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+ if (docConsole != null) {\r
+ docConsole.setSaved(false);\r
+ }\r
+ sfc.setSpdPkgDefsRePkg(jCheckBoxRePkg.isSelected()+"");\r
+ }\r
+ });\r
+ }\r
+ return jCheckBoxRePkg;\r
}\r
\r
public static void main(String[] args) {\r
jTextAreaLicense.setText(sfc.getSpdHdrLicense());\r
}\r
if (sfc.getSpdHdrUrl() != null) {\r
- jTextField.setText(sfc.getSpdHdrUrl());\r
+ jTextFieldUrl.setText(sfc.getSpdHdrUrl());\r
}\r
if (sfc.getSpdHdrCopyright() != null) {\r
jTextFieldCopyright.setText(sfc.getSpdHdrCopyright());\r
if (sfc.getSpdHdrSpec() != null) {\r
jTextFieldSpecification.setText(sfc.getSpdHdrSpec());\r
}\r
-\r
+ sfc.setSpdHdrSpec(jTextFieldSpecification.getText());\r
+ \r
+ if (!sfc.getSpdPkgDefsRdOnly().equals("true")) {\r
+ sfc.setSpdPkgDefsRdOnly("false");\r
+ jCheckBoxRdOnly.setSelected(false);\r
+ }\r
+ else{\r
+ jCheckBoxRdOnly.setSelected(true);\r
+ }\r
+ if (!sfc.getSpdPkgDefsRePkg().equals("true")) {\r
+ sfc.setSpdPkgDefsRePkg("false");\r
+ jCheckBoxRePkg.setSelected(false);\r
+ }\r
+ else{\r
+ jCheckBoxRePkg.setSelected(true);\r
+ }\r
+ \r
}\r
\r
/**\r
**/\r
private JPanel getJContentPane() {\r
if (jContentPane == null) {\r
+ starLabel1 = new StarLabel();\r
+ starLabel1.setBounds(new java.awt.Rectangle(2,443,10,20));\r
+ starLabel = new StarLabel();\r
+ starLabel.setBounds(new java.awt.Rectangle(2,407,10,20));\r
jLabel = new JLabel();\r
- jLabel.setBounds(new java.awt.Rectangle(15,170,140,20));\r
+ jLabel.setBounds(new java.awt.Rectangle(16,231,140,20));\r
jLabel.setText("URL");\r
jContentPane = new JPanel();\r
jContentPane.setLayout(null);\r
jContentPane.setLocation(new java.awt.Point(0, 0));\r
jContentPane.setPreferredSize(new java.awt.Dimension(500, 524));\r
jLabelAbstract = new JLabel();\r
- jLabelAbstract.setBounds(new java.awt.Rectangle(15, 220, 140, 20));\r
+ jLabelAbstract.setBounds(new java.awt.Rectangle(16,281,140,20));\r
jLabelAbstract.setText("Description");\r
jLabelSpecification = new JLabel();\r
jLabelSpecification.setText("Specification");\r
- jLabelSpecification.setBounds(new java.awt.Rectangle(15, 305, 140, 20));\r
+ jLabelSpecification.setBounds(new java.awt.Rectangle(16,369,140,20));\r
jLabelDescription = new JLabel();\r
jLabelDescription.setText("Abstract");\r
- jLabelDescription.setBounds(new java.awt.Rectangle(15, 195, 140, 20));\r
+ jLabelDescription.setBounds(new java.awt.Rectangle(16,256,140,20));\r
jLabelCopyright = new JLabel();\r
jLabelCopyright.setText("Copyright");\r
- jLabelCopyright.setBounds(new java.awt.Rectangle(15, 330, 140, 20));\r
+ jLabelCopyright.setBounds(new java.awt.Rectangle(15,86,140,20));\r
jLabelLicense = new JLabel();\r
jLabelLicense.setText("License");\r
- jLabelLicense.setBounds(new java.awt.Rectangle(15, 85, 140, 20));\r
+ jLabelLicense.setBounds(new java.awt.Rectangle(16,147,140,20));\r
jLabelVersion = new JLabel();\r
jLabelVersion.setText("Version");\r
jLabelVersion.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
jStarLabel3 = new StarLabel();\r
jStarLabel3.setLocation(new java.awt.Point(0, 60));\r
jStarLabel4 = new StarLabel();\r
- jStarLabel4.setLocation(new java.awt.Point(0, 85));\r
+ jStarLabel4.setLocation(new java.awt.Point(1,147));\r
jStarLabel5 = new StarLabel();\r
- jStarLabel5.setLocation(new java.awt.Point(0, 330));\r
+ jStarLabel5.setLocation(new java.awt.Point(0,86));\r
jStarLabel6 = new StarLabel();\r
- jStarLabel6.setLocation(new java.awt.Point(0, 195));\r
+ jStarLabel6.setLocation(new java.awt.Point(1,256));\r
jStarLabel7 = new StarLabel();\r
- jStarLabel7.setLocation(new java.awt.Point(0, 305));\r
+ jStarLabel7.setLocation(new java.awt.Point(1,369));\r
jStarLabel7.setEnabled(false);\r
jStarLabel9 = new StarLabel();\r
- jStarLabel9.setLocation(new java.awt.Point(0, 220));\r
+ jStarLabel9.setLocation(new java.awt.Point(1,281));\r
jContentPane.add(jStarLabel1, null);\r
jContentPane.add(jStarLabel2, null);\r
jContentPane.add(jStarLabel3, null);\r
jContentPane.add(getJTextFieldCopyright(), null);\r
\r
jContentPane.add(jLabel, null);\r
- jContentPane.add(getJTextField(), null);\r
+ jContentPane.add(getJTextFieldUrl(), null);\r
+ jContentPane.add(starLabel, null);\r
+ jContentPane.add(starLabel1, null);\r
+ jContentPane.add(getJCheckBoxRdOnly(), null);\r
+ jContentPane.add(getJCheckBoxRePkg(), null);\r
}\r
return jContentPane;\r
}\r
*\r
*/\r
public void actionPerformed(ActionEvent arg0) {\r
- docConsole.setSaved(false);\r
- if (arg0.getSource() == jButtonOk) {\r
- this.save();\r
- this.setEdited(true);\r
- }\r
- if (arg0.getSource() == jButtonCancel) {\r
- this.setEdited(false);\r
- }\r
+ \r
if (arg0.getSource() == jButtonGenerateGuid) {\r
//ToDo: invoke GuidValueEditor\r
jTextFieldGuid.setText(Tools.generateUuidString());\r
+ docConsole.setSaved(false);\r
sfc.setSpdHdrGuidValue(jTextFieldGuid.getText());\r
}\r
}\r
-\r
- /**\r
- Data validation for all fields\r
- \r
- @retval true - All datas are valid\r
- @retval false - At least one data is invalid\r
- \r
- **/\r
- public boolean check() {\r
- //\r
- // Check if all required fields are not empty\r
- //\r
- if (isEmpty(this.jTextFieldBaseName.getText())) {\r
- Log.err("Base Name couldn't be empty");\r
- return false;\r
- }\r
- if (isEmpty(this.jTextFieldGuid.getText())) {\r
- Log.err("Guid couldn't be empty");\r
- return false;\r
- }\r
- if (isEmpty(this.jTextFieldVersion.getText())) {\r
- Log.err("Version couldn't be empty");\r
- return false;\r
- }\r
- if (isEmpty(this.jTextAreaLicense.getText())) {\r
- Log.err("License couldn't be empty");\r
- return false;\r
- }\r
- if (isEmpty(this.jTextFieldCopyright.getText())) {\r
- Log.err("Copyright couldn't be empty");\r
- return false;\r
- }\r
- if (isEmpty(this.jTextAreaDescription.getText())) {\r
- Log.err("Description couldn't be empty");\r
- return false;\r
- }\r
- if (isEmpty(this.jTextFieldAbstract.getText())) {\r
- Log.err("Abstract couldn't be empty");\r
- return false;\r
- }\r
-\r
- //\r
- // Check if all fields have correct data types \r
- //\r
- if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {\r
- Log.err("Incorrect data type for Base Name");\r
- return false;\r
- }\r
- if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
- Log.err("Incorrect data type for Guid");\r
- return false;\r
- }\r
- if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
- Log.err("Incorrect data type for Abstract");\r
- return false;\r
- }\r
- if (!DataValidation.isCopyright(this.jTextFieldCopyright.getText())) {\r
- Log.err("Incorrect data type for Copyright");\r
- return false;\r
- }\r
- return true;\r
- }\r
-\r
- /**\r
- Save all components of Spd Header\r
- if exists spdHeader, set the value directly\r
- if not exists spdHeader, new an instance first\r
- \r
- **/\r
- public void save() {\r
- try {\r
- \r
- } catch (Exception e) {\r
- Log.err("Save Package", e.getMessage());\r
- }\r
- }\r
-\r
+ \r
/**\r
This method initializes Package type and Compontent type\r
\r
int intPreferredWidth = 500;\r
int intCurrentWidth = this.getJContentPane().getWidth();\r
\r
- resizeComponentWidth(this.jTextFieldBaseName, intCurrentWidth,intPreferredWidth);\r
- resizeComponentWidth(this.jTextFieldGuid, intCurrentWidth,intPreferredWidth);\r
- resizeComponentWidth(this.jTextFieldVersion, intCurrentWidth,intPreferredWidth);\r
- resizeComponentWidth(this.jTextField, intCurrentWidth,intPreferredWidth);\r
- resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth,intPreferredWidth);\r
- resizeComponentWidth(this.jTextFieldCopyright, intCurrentWidth,intPreferredWidth);\r
- resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth,intPreferredWidth);\r
- resizeComponentWidth(this.jTextFieldSpecification, intCurrentWidth,intPreferredWidth);\r
- resizeComponentWidth(this.jTextFieldAbstract, intCurrentWidth,intPreferredWidth);\r
- relocateComponentX(this.jButtonGenerateGuid, intCurrentWidth, jButtonGenerateGuid.getWidth(),30);\r
+ Tools.resizeComponentWidth(this.jTextFieldBaseName, intCurrentWidth,intPreferredWidth);\r
+ Tools.resizeComponentWidth(this.jTextFieldGuid, intCurrentWidth,intPreferredWidth);\r
+ Tools.resizeComponentWidth(this.jTextFieldVersion, intCurrentWidth,intPreferredWidth);\r
+ Tools.resizeComponentWidth(this.jTextFieldUrl, intCurrentWidth,intPreferredWidth);\r
+ Tools.resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth,intPreferredWidth);\r
+ Tools.resizeComponentWidth(this.jTextFieldCopyright, intCurrentWidth,intPreferredWidth);\r
+ Tools.resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth,intPreferredWidth);\r
+ Tools.resizeComponentWidth(this.jTextFieldSpecification, intCurrentWidth,intPreferredWidth);\r
+ Tools.resizeComponentWidth(this.jTextFieldAbstract, intCurrentWidth,intPreferredWidth);\r
+ Tools.relocateComponentX(this.jButtonGenerateGuid, intCurrentWidth, jButtonGenerateGuid.getWidth(),30);\r
}\r
\r
private JScrollPane getTopScrollPane() {\r