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);
+                            }
                         }
                     }
                 });

Reply via email to