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