import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
import javax.swing.JCheckBox;\r
+import javax.swing.event.DocumentEvent;\r
+import javax.swing.event.DocumentListener;\r
\r
/**\r
The class is used to create, update spdHeader of Spd file\r
@since PackageEditor 1.0\r
\r
**/\r
-public class SpdHeader extends IInternalFrame {\r
+public class SpdHeader extends IInternalFrame implements DocumentListener{\r
\r
private int dialogWidth = 560;\r
\r
jPackageNameTextField = new JTextField();\r
jPackageNameTextField.setBounds(new java.awt.Rectangle(valueColumn, rowOne, valueWidth, oneRowHeight));\r
jPackageNameTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight));\r
+ jPackageNameTextField.getDocument().addDocumentListener(this);\r
jPackageNameTextField.addFocusListener(new FocusAdapter() {\r
public void focusLost(FocusEvent e) {\r
if (!DataValidation.isUiNameType(jPackageNameTextField.getText())) {\r
if (jPackageNameTextField.getText().equals(sfc.getSpdHdrPkgName())) {\r
return;\r
}\r
- docConsole.setSaved(false);\r
sfc.setSpdHdrPkgName(jPackageNameTextField.getText());\r
}\r
});\r
jGuidTextField = new JTextField();\r
jGuidTextField.setBounds(new java.awt.Rectangle(valueColumn, rowTwo, shortValueWidth, oneRowHeight));\r
jGuidTextField.setPreferredSize(new java.awt.Dimension(shortValueWidth, oneRowHeight));\r
+ jGuidTextField.getDocument().addDocumentListener(this);\r
jGuidTextField.addFocusListener(new FocusAdapter() {\r
public void focusLost(FocusEvent e) {\r
if (!DataValidation.isGuid(jGuidTextField.getText())) {\r
if (jGuidTextField.getText().equals(sfc.getSpdHdrGuidValue())) {\r
return;\r
}\r
- docConsole.setSaved(false);\r
sfc.setSpdHdrGuidValue(jGuidTextField.getText());\r
}\r
});\r
jVersionTextField = new JTextField();\r
jVersionTextField.setBounds(new java.awt.Rectangle(valueColumn, rowThree, valueWidth, oneRowHeight));\r
jVersionTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight));\r
+ jVersionTextField.getDocument().addDocumentListener(this);\r
jVersionTextField.addFocusListener(new FocusAdapter() {\r
public void focusLost(FocusEvent e) {\r
if (!DataValidation.isVersion(jVersionTextField.getText())) {\r
if (jVersionTextField.getText().equals(sfc.getSpdHdrVer())) {\r
return;\r
}\r
- docConsole.setSaved(false);\r
sfc.setSpdHdrVer(jVersionTextField.getText());\r
}\r
});\r
private JTextArea getJLicenseTextArea() {\r
if (jLicenseTextArea == null) {\r
jLicenseTextArea = new JTextArea();\r
- // jLicenseTextArea.setText("");\r
jLicenseTextArea.setLineWrap(true);\r
+ jLicenseTextArea.getDocument().addDocumentListener(this);\r
jLicenseTextArea.addFocusListener(new FocusAdapter() {\r
public void focusLost(FocusEvent e) {\r
if (jLicenseTextArea.getText().length() == 0) {\r
if (jLicenseTextArea.getText().equals(sfc.getSpdHdrLicense())) {\r
return;\r
}\r
- docConsole.setSaved(false);\r
sfc.setSpdHdrLicense(jLicenseTextArea.getText());\r
}\r
});\r
if (jDescriptionTextArea == null) {\r
jDescriptionTextArea = new JTextArea();\r
jDescriptionTextArea.setLineWrap(true);\r
+ jDescriptionTextArea.getDocument().addDocumentListener(this);\r
jDescriptionTextArea.addFocusListener(new FocusAdapter() {\r
public void focusLost(FocusEvent e) {\r
if (jDescriptionTextArea.getText().length() == 0) {\r
if (jDescriptionTextArea.getText().equals(sfc.getSpdHdrDescription())) {\r
return;\r
}\r
- docConsole.setSaved(false);\r
sfc.setSpdHdrDescription(jDescriptionTextArea.getText());\r
}\r
});\r
jAbstractTextField = new JTextField();\r
jAbstractTextField.setBounds(new java.awt.Rectangle(valueColumn, rowSeven, valueWidth, oneRowHeight));\r
jAbstractTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight));\r
+ jAbstractTextField.getDocument().addDocumentListener(this);\r
jAbstractTextField.addFocusListener(new FocusAdapter() {\r
public void focusLost(FocusEvent e) {\r
if (!DataValidation.isAbstract(jAbstractTextField.getText())) {\r
if (jAbstractTextField.getText().equals(sfc.getSpdHdrAbs())) {\r
return;\r
}\r
- docConsole.setSaved(false);\r
sfc.setSpdHdrAbs(jAbstractTextField.getText());\r
}\r
});\r
jCopyrightTextArea = new JTextArea();\r
jCopyrightTextArea.setWrapStyleWord(true);\r
jCopyrightTextArea.setLineWrap(true);\r
+ jCopyrightTextArea.getDocument().addDocumentListener(this);\r
jCopyrightTextArea.addFocusListener(new FocusAdapter() {\r
public void focusLost(FocusEvent e) {\r
if (!DataValidation.isCopyright(jCopyrightTextArea.getText())) {\r
if (jCopyrightTextArea.getText().equals(sfc.getSpdHdrCopyright())) {\r
return;\r
}\r
- docConsole.setSaved(false);\r
sfc.setSpdHdrCopyright(jCopyrightTextArea.getText());\r
}\r
});\r
jUrlTextField = new JTextField();\r
jUrlTextField.setBounds(new java.awt.Rectangle(valueColumn, rowSix, valueWidth, oneRowHeight));\r
jUrlTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight));\r
+ jUrlTextField.getDocument().addDocumentListener(this);\r
jUrlTextField.addFocusListener(new FocusAdapter() {\r
public void focusLost(FocusEvent e) {\r
if (jUrlTextField.getText().length() == 0 && sfc.getSpdHdrUrl() == null) {\r
}\r
sfc.setSpdHdrLicense(jLicenseTextArea.getText());\r
sfc.setSpdHdrUrl(jUrlTextField.getText());\r
- docConsole.setSaved(false);\r
}\r
});\r
}\r
if (arg0.getSource() == jGenerateGuidButton) {\r
//ToDo: invoke GuidValueEditor\r
jGuidTextField.setText(Tools.generateUuidString());\r
- docConsole.setSaved(false);\r
sfc.setSpdHdrGuidValue(jGuidTextField.getText());\r
}\r
}\r
}\r
return topScrollPane;\r
}\r
+\r
+ /* (non-Javadoc)\r
+ * @see javax.swing.event.DocumentListener#changedUpdate(javax.swing.event.DocumentEvent)\r
+ */\r
+ public void changedUpdate(DocumentEvent arg0) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see javax.swing.event.DocumentListener#insertUpdate(javax.swing.event.DocumentEvent)\r
+ */\r
+ public void insertUpdate(DocumentEvent arg0) {\r
+ // TODO Auto-generated method stub\r
+ if (docConsole != null) {\r
+ docConsole.setSaved(false);\r
+ }\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see javax.swing.event.DocumentListener#removeUpdate(javax.swing.event.DocumentEvent)\r
+ */\r
+ public void removeUpdate(DocumentEvent arg0) {\r
+ // TODO Auto-generated method stub\r
+ if (docConsole != null) {\r
+ docConsole.setSaved(false); \r
+ }\r
+ }\r
}\r