Revision: 3863
Author: [email protected]
Date: Tue Aug 10 09:55:27 2010
Log: Fixed a bug where the profile results viewer was replacing the notes
field with "Select a Table" every time the selection of the tables to view
was changed to All and back to a table.
Also improved synchronization of the dirty flag in the timed document
listener and improved logging.
http://code.google.com/p/power-architect/source/detail?r=3863
Modified:
/trunk/src/main/java/ca/sqlpower/architect/swingui/ProfileGraphPanel.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/ProfileResultsViewer.java
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/ProfileGraphPanel.java
Thu Aug 5 09:12:42 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/ProfileGraphPanel.java
Tue Aug 10 09:55:27 2010
@@ -267,13 +267,14 @@
}
};
cr.addSPListener(notesListener);
- notesFieldListener = new TimedDocumentListener(2500) {
+ notesFieldListener = new
TimedDocumentListener(cr.getProfiledObject().getName(), 2500) {
@Override
public void textChanged() {
+ final String notesText = notesField.getText();
profilePanel.getProfileManager().getRunnableDispatcher().runInForeground(new
Runnable() {
@Override
public void run() {
- cr.setNotes(notesField.getText());
+ cr.setNotes(notesText);
}
});
}
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/ProfileResultsViewer.java
Thu Aug 5 09:12:42 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/ProfileResultsViewer.java
Tue Aug 10 09:55:27 2010
@@ -415,13 +415,14 @@
}
};
tpr.addSPListener(tableNotesListener);
- tableNotesFieldListener = new
TimedDocumentListener(2500) {
+ tableNotesFieldListener = new
TimedDocumentListener(tpr.getProfiledObject().getName(), 2500) {
@Override
public void textChanged() {
+ final String notesText =
notesField.getText();
profileManager.getRunnableDispatcher().runInForeground(new Runnable() {
public void run() {
- if
(!tpr.getNotes().equals(notesField.getText())) {
-
tpr.setNotes(notesField.getText());
+ if
(!tpr.getNotes().equals(notesText)) {
+
tpr.setNotes(notesText);
}
}
});
@@ -431,8 +432,11 @@
} else {
notesField.setEnabled(false);
notesField.setText("Select a Table");
- }
-
notesField.getDocument().addDocumentListener(tableNotesFieldListener);
+ tableNotesFieldListener = null;
+ }
+ if (tableNotesFieldListener != null) {
+
notesField.getDocument().addDocumentListener(tableNotesFieldListener);
+ }
}
}
});