[222258] problems with XML and text fields
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/utility/swt/TextFieldModelBinding.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/utility/swt/TextFieldModelBinding.java
index a2a8c86..5bb0c4e 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/utility/swt/TextFieldModelBinding.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/utility/swt/TextFieldModelBinding.java
@@ -59,6 +59,11 @@
*/
private final DisposeListener textFieldDisposeListener;
+ /**
+ * Hmm...
+ */
+ private boolean settingTextFieldText = false;
+
// ********** constructor **********
@@ -139,11 +144,21 @@
private void setTextFieldText(String text) {
// the text model can be null, but the text field cannot
- if (text == null) {
- text = "";
- }
+ this.setTextFieldText_((text == null) ? "" : text);
+ }
+
+ private void setTextFieldText_(String text) {
if ( ! text.equals(this.textField.getText())) { // ???
+ this.setTextFieldText__(text);
+ }
+ }
+
+ private void setTextFieldText__(String text) {
+ this.settingTextFieldText = true;
+ try {
this.textField.setText(text);
+ } finally {
+ this.settingTextFieldText = false;
}
}
@@ -151,7 +166,9 @@
// ********** text field events **********
/* private */ void textFieldModified() {
- this.setTextModelText(this.textField.getText());
+ if ( ! this.settingTextFieldText) {
+ this.setTextModelText(this.textField.getText());
+ }
}
private void setTextModelText(String text) {