Revision: 18298
          http://sourceforge.net/p/gate/code/18298
Author:   markagreenwood
Date:     2014-09-08 15:57:28 +0000 (Mon, 08 Sep 2014)
Log Message:
-----------
update the PR list refresh code so that the focus stays on the selected PR when 
you use the up/down buttons

Modified Paths:
--------------
    gate/trunk/src/main/gate/gui/SerialControllerEditor.java

Modified: gate/trunk/src/main/gate/gui/SerialControllerEditor.java
===================================================================
--- gate/trunk/src/main/gate/gui/SerialControllerEditor.java    2014-09-08 
01:19:45 UTC (rev 18297)
+++ gate/trunk/src/main/gate/gui/SerialControllerEditor.java    2014-09-08 
15:57:28 UTC (rev 18298)
@@ -1123,14 +1123,32 @@
     SerialControllerEditor.this.repaint(100);
   }
 
+  /*
+   * Utility method to refresh the PR lists on the EDT but making sure
+   * that if we are on the EDT we don't wait we do it right now
+   */
+  private void refreshPRLists() {
+    if(SwingUtilities.isEventDispatchThread()) {
+      loadedPRsTableModel.fireTableDataChanged();
+      memberPRsTableModel.fireTableDataChanged();
+    } else {
+      SwingUtilities.invokeLater(new Runnable() {
 
+        @Override
+        public void run() {
+          loadedPRsTableModel.fireTableDataChanged();
+          memberPRsTableModel.fireTableDataChanged();
+        }
+      });
+    }
+  }
+
   //CreoleListener implementation
   @Override
   public void resourceLoaded(CreoleEvent e) {
     if(Gate.getHiddenAttribute(e.getResource().getFeatures())) return;
     if(e.getResource() instanceof ProcessingResource){
-      loadedPRsTableModel.fireTableDataChanged();
-      memberPRsTableModel.fireTableDataChanged();
+      refreshPRLists();
 //      repaint(100);
     }else if(e.getResource() instanceof LanguageResource){
       if(e.getResource() instanceof Corpus && corpusControllerMode){
@@ -1147,14 +1165,7 @@
       if(controller != null && controller.getPRs().contains(pr)){
         controller.remove(pr);
       }
-      SwingUtilities.invokeLater(new Runnable() {
-
-        @Override
-        public void run() {
-          loadedPRsTableModel.fireTableDataChanged();
-          memberPRsTableModel.fireTableDataChanged();
-        }        
-      });      
+      refreshPRLists();
     }
     else if(e.getResource() instanceof LanguageResource) {
       if(e.getResource() instanceof Corpus && corpusControllerMode) {
@@ -1209,15 +1220,7 @@
    */
   @Override
   public void resourceAdded(ControllerEvent evt){
-    SwingUtilities.invokeLater(new Runnable() {
-      
-      @Override
-      public void run() {
-        loadedPRsTableModel.fireTableDataChanged();
-        memberPRsTableModel.fireTableDataChanged();
-      }
-    });
-    
+    refreshPRLists();    
   }
   
   /* (non-Javadoc)
@@ -1225,15 +1228,7 @@
    */
   @Override
   public void resourceRemoved(ControllerEvent evt){
-    SwingUtilities.invokeLater(new Runnable() {
-      
-      @Override
-      public void run() {
-        loadedPRsTableModel.fireTableDataChanged();
-        memberPRsTableModel.fireTableDataChanged();
-      }
-    });
-    
+    refreshPRLists();
   }
 
   public synchronized void addStatusListener(StatusListener l) {

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
GATE-cvs mailing list
GATE-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to