X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=Tools%2FJava%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fpackaging%2Fui%2FSpdHeader.java;h=8ee2da170cc81007a286be2141b7bc7f79ff9c8e;hb=e4f1ff6cf9c37627f59d099d650e2c3972f9ecaa;hp=f0b337b38382ae21d83e98206cc1d0f4ac41485f;hpb=feccee87a78e68d575dbdf44b34ca0cb5a21ea8d;p=mirror_edk2.git diff --git a/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdHeader.java b/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdHeader.java index f0b337b383..8ee2da170c 100644 --- a/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdHeader.java +++ b/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdHeader.java @@ -36,6 +36,8 @@ import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType; import org.tianocore.frameworkwizard.common.ui.IInternalFrame; import org.tianocore.frameworkwizard.common.ui.StarLabel; import javax.swing.JCheckBox; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; /** The class is used to create, update spdHeader of Spd file @@ -44,7 +46,7 @@ import javax.swing.JCheckBox; @since PackageEditor 1.0 **/ -public class SpdHeader extends IInternalFrame { +public class SpdHeader extends IInternalFrame implements DocumentListener{ private int dialogWidth = 560; @@ -185,6 +187,7 @@ public class SpdHeader extends IInternalFrame { jPackageNameTextField = new JTextField(); jPackageNameTextField.setBounds(new java.awt.Rectangle(valueColumn, rowOne, valueWidth, oneRowHeight)); jPackageNameTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight)); + jPackageNameTextField.getDocument().addDocumentListener(this); jPackageNameTextField.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { if (!DataValidation.isUiNameType(jPackageNameTextField.getText())) { @@ -194,7 +197,6 @@ public class SpdHeader extends IInternalFrame { if (jPackageNameTextField.getText().equals(sfc.getSpdHdrPkgName())) { return; } - docConsole.setSaved(false); sfc.setSpdHdrPkgName(jPackageNameTextField.getText()); } }); @@ -213,6 +215,7 @@ public class SpdHeader extends IInternalFrame { jGuidTextField = new JTextField(); jGuidTextField.setBounds(new java.awt.Rectangle(valueColumn, rowTwo, shortValueWidth, oneRowHeight)); jGuidTextField.setPreferredSize(new java.awt.Dimension(shortValueWidth, oneRowHeight)); + jGuidTextField.getDocument().addDocumentListener(this); jGuidTextField.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { if (!DataValidation.isGuid(jGuidTextField.getText())) { @@ -222,7 +225,6 @@ public class SpdHeader extends IInternalFrame { if (jGuidTextField.getText().equals(sfc.getSpdHdrGuidValue())) { return; } - docConsole.setSaved(false); sfc.setSpdHdrGuidValue(jGuidTextField.getText()); } }); @@ -241,6 +243,7 @@ public class SpdHeader extends IInternalFrame { jVersionTextField = new JTextField(); jVersionTextField.setBounds(new java.awt.Rectangle(valueColumn, rowThree, valueWidth, oneRowHeight)); jVersionTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight)); + jVersionTextField.getDocument().addDocumentListener(this); jVersionTextField.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { if (!DataValidation.isVersion(jVersionTextField.getText())) { @@ -250,7 +253,6 @@ public class SpdHeader extends IInternalFrame { if (jVersionTextField.getText().equals(sfc.getSpdHdrVer())) { return; } - docConsole.setSaved(false); sfc.setSpdHdrVer(jVersionTextField.getText()); } }); @@ -283,8 +285,8 @@ public class SpdHeader extends IInternalFrame { private JTextArea getJLicenseTextArea() { if (jLicenseTextArea == null) { jLicenseTextArea = new JTextArea(); - // jLicenseTextArea.setText(""); jLicenseTextArea.setLineWrap(true); + jLicenseTextArea.getDocument().addDocumentListener(this); jLicenseTextArea.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { if (jLicenseTextArea.getText().length() == 0) { @@ -294,7 +296,6 @@ public class SpdHeader extends IInternalFrame { if (jLicenseTextArea.getText().equals(sfc.getSpdHdrLicense())) { return; } - docConsole.setSaved(false); sfc.setSpdHdrLicense(jLicenseTextArea.getText()); } }); @@ -312,6 +313,7 @@ public class SpdHeader extends IInternalFrame { if (jDescriptionTextArea == null) { jDescriptionTextArea = new JTextArea(); jDescriptionTextArea.setLineWrap(true); + jDescriptionTextArea.getDocument().addDocumentListener(this); jDescriptionTextArea.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { if (jDescriptionTextArea.getText().length() == 0) { @@ -323,7 +325,6 @@ public class SpdHeader extends IInternalFrame { if (jDescriptionTextArea.getText().equals(sfc.getSpdHdrDescription())) { return; } - docConsole.setSaved(false); sfc.setSpdHdrDescription(jDescriptionTextArea.getText()); } }); @@ -400,6 +401,7 @@ public class SpdHeader extends IInternalFrame { jAbstractTextField = new JTextField(); jAbstractTextField.setBounds(new java.awt.Rectangle(valueColumn, rowSeven, valueWidth, oneRowHeight)); jAbstractTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight)); + jAbstractTextField.getDocument().addDocumentListener(this); jAbstractTextField.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { if (!DataValidation.isAbstract(jAbstractTextField.getText())) { @@ -409,7 +411,6 @@ public class SpdHeader extends IInternalFrame { if (jAbstractTextField.getText().equals(sfc.getSpdHdrAbs())) { return; } - docConsole.setSaved(false); sfc.setSpdHdrAbs(jAbstractTextField.getText()); } }); @@ -437,6 +438,8 @@ public class SpdHeader extends IInternalFrame { if (jCopyrightTextArea == null) { jCopyrightTextArea = new JTextArea(); jCopyrightTextArea.setWrapStyleWord(true); + jCopyrightTextArea.setLineWrap(true); + jCopyrightTextArea.getDocument().addDocumentListener(this); jCopyrightTextArea.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { if (!DataValidation.isCopyright(jCopyrightTextArea.getText())) { @@ -446,7 +449,6 @@ public class SpdHeader extends IInternalFrame { if (jCopyrightTextArea.getText().equals(sfc.getSpdHdrCopyright())) { return; } - docConsole.setSaved(false); sfc.setSpdHdrCopyright(jCopyrightTextArea.getText()); } }); @@ -464,6 +466,7 @@ public class SpdHeader extends IInternalFrame { jUrlTextField = new JTextField(); jUrlTextField.setBounds(new java.awt.Rectangle(valueColumn, rowSix, valueWidth, oneRowHeight)); jUrlTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight)); + jUrlTextField.getDocument().addDocumentListener(this); jUrlTextField.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { if (jUrlTextField.getText().length() == 0 && sfc.getSpdHdrUrl() == null) { @@ -474,7 +477,6 @@ public class SpdHeader extends IInternalFrame { } sfc.setSpdHdrLicense(jLicenseTextArea.getText()); sfc.setSpdHdrUrl(jUrlTextField.getText()); - docConsole.setSaved(false); } }); } @@ -492,13 +494,13 @@ public class SpdHeader extends IInternalFrame { jCheckBoxRdOnly.setText("Read Only"); jCheckBoxRdOnly.setLocation(new java.awt.Point(labelColumn, rowNine)); jCheckBoxRdOnly.setSize(new java.awt.Dimension(labelWidth, oneRowHeight)); - // jCheckBoxRdOnly.setPreferredSize(new java.awt.Dimension(150, oneRowHeight)); jCheckBoxRdOnly.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(java.awt.event.ItemEvent e) { if (docConsole != null) { docConsole.setSaved(false); } - sfc.setSpdPkgDefsRdOnly(jCheckBoxRdOnly.isSelected() + ""); + sfc.setSpdPkgDefsRdOnly(jCheckBoxRdOnly.isSelected()+""); + initFrame(); } }); } @@ -521,7 +523,7 @@ public class SpdHeader extends IInternalFrame { if (docConsole != null) { docConsole.setSaved(false); } - sfc.setSpdPkgDefsRePkg(jCheckBoxRePkg.isSelected() + ""); + sfc.setSpdPkgDefsRePkg(jCheckBoxRePkg.isSelected()+""); } }); } @@ -557,6 +559,7 @@ public class SpdHeader extends IInternalFrame { public SpdHeader(OpeningPackageType opt) { this(opt.getXmlSpd()); docConsole = opt; + initFrame(); } /** @@ -566,7 +569,6 @@ public class SpdHeader extends IInternalFrame { private void init() { this.setContentPane(getTopScrollPane()); this.setTitle("Package Surface Area Header"); - initFrame(); } /** @@ -645,9 +647,11 @@ public class SpdHeader extends IInternalFrame { jStarLabel7.setLocation(new java.awt.Point(2, rowEight)); jStarLabel8 = new StarLabel(); jStarLabel8.setLocation(new java.awt.Point(2, rowNine)); + jStarLabel8.setVisible(false); jStarLabel9 = new StarLabel(); jStarLabel9.setLocation(new java.awt.Point(2, rowTen)); + jStarLabel9.setVisible(false); jPackageNameLabel = new JLabel(); jPackageNameLabel.setText("Package Name"); jPackageNameLabel.setBounds(new java.awt.Rectangle(labelColumn, rowOne, labelWidth, oneRowHeight)); @@ -728,7 +732,6 @@ public class SpdHeader extends IInternalFrame { if (arg0.getSource() == jGenerateGuidButton) { //ToDo: invoke GuidValueEditor jGuidTextField.setText(Tools.generateUuidString()); - docConsole.setSaved(false); sfc.setSpdHdrGuidValue(jGuidTextField.getText()); } } @@ -738,7 +741,20 @@ public class SpdHeader extends IInternalFrame { **/ private void initFrame() { - + boolean editable = true; + if (sfc.getSpdPkgDefsRdOnly().equals("true")) { + editable = false; + } + jPackageNameTextField.setEditable(editable); + jGuidTextField.setEditable(editable); + jGenerateGuidButton.setEnabled(editable); + jVersionTextField.setEditable(editable); + jCopyrightTextArea.setEditable(editable); + jLicenseTextArea.setEditable(editable); + jUrlTextField.setEditable(editable); + jAbstractTextField.setEditable(editable); + jDescriptionTextArea.setEditable(editable); + jCheckBoxRePkg.setEnabled(editable); } /* (non-Javadoc) @@ -769,4 +785,32 @@ public class SpdHeader extends IInternalFrame { } return topScrollPane; } + + /* (non-Javadoc) + * @see javax.swing.event.DocumentListener#changedUpdate(javax.swing.event.DocumentEvent) + */ + public void changedUpdate(DocumentEvent arg0) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see javax.swing.event.DocumentListener#insertUpdate(javax.swing.event.DocumentEvent) + */ + public void insertUpdate(DocumentEvent arg0) { + // TODO Auto-generated method stub + if (docConsole != null) { + docConsole.setSaved(false); + } + } + + /* (non-Javadoc) + * @see javax.swing.event.DocumentListener#removeUpdate(javax.swing.event.DocumentEvent) + */ + public void removeUpdate(DocumentEvent arg0) { + // TODO Auto-generated method stub + if (docConsole != null) { + docConsole.setSaved(false); + } + } }