Author: pwang
Date: 2012-03-06 15:00:55 -0800 (Tue, 06 Mar 2012)
New Revision: 28443

Modified:
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
Log:
Fixed bug#695

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
  2012-03-06 21:59:18 UTC (rev 28442)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/AbstractTableBrowser.java
  2012-03-06 23:00:55 UTC (rev 28443)
@@ -30,6 +30,7 @@
 import org.cytoscape.task.TableTaskFactory;
 import org.cytoscape.util.swing.OpenBrowser;
 import org.cytoscape.work.swing.DialogTaskManager;
+import javax.swing.table.DefaultTableModel;
 
 
 /**
@@ -121,6 +122,18 @@
        @Override
        public Icon getIcon() { return null; }
        
+       // Delete the given table from the JTable
+       public void DeleteTable(CyTable cyTable){
+               
+               if (this.currentTable != cyTable){
+                       return;
+               }
+
+               browserTableModels.get(cyTable).getBrowserTable().setModel(new 
DefaultTableModel());                            
+               this.browserTableModels.remove(cyTable);
+       }
+       
+       
        synchronized void showSelectedTable() {
                final BrowserTableModel currentBrowserTableModel = 
getCurrentBrowserTableModel();
                final JScrollPane newScrollPane = 
getScrollPane(currentBrowserTableModel);

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
     2012-03-06 21:59:18 UTC (rev 28442)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
     2012-03-06 23:00:55 UTC (rev 28443)
@@ -319,7 +319,12 @@
                        SwingUtilities.invokeLater(new Runnable() {
                                @Override
                                public void run() {
-                                       bulkUpdate(rows);
+                                       try {
+                                               bulkUpdate(rows);               
                                
+                                       }
+                                       catch (Exception e){
+                                               // do nothing, ignore this 
exception
+                                       }
                                }
                        });
                }

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
   2012-03-06 21:59:18 UTC (rev 28442)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
   2012-03-06 23:00:55 UTC (rev 28443)
@@ -26,6 +26,7 @@
 import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.model.CyNetworkTableManager;
 import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableEntry;
 import org.cytoscape.model.CyTableManager;
 import org.cytoscape.model.events.NetworkAboutToBeDestroyedEvent;
@@ -36,9 +37,12 @@
 import org.cytoscape.task.TableTaskFactory;
 import org.cytoscape.util.swing.OpenBrowser;
 import org.cytoscape.work.swing.DialogTaskManager;
+import org.cytoscape.model.events.TableAboutToBeDeletedEvent;
+import org.cytoscape.model.events.TableAboutToBeDeletedListener;
 
+
 public class DefaultTableBrowser extends AbstractTableBrowser implements 
SetCurrentNetworkListener,
-               NetworkAddedListener, NetworkAboutToBeDestroyedListener {
+               NetworkAddedListener, NetworkAboutToBeDestroyedListener, 
TableAboutToBeDeletedListener {
 
        private static final long serialVersionUID = 627394119637512735L;
 
@@ -179,6 +183,14 @@
                });
        }
        
+       
+       @Override
+       public void handleEvent(final TableAboutToBeDeletedEvent e) {
+               final CyTable cyTable = e.getTable();
+               DeleteTable(cyTable);
+       }
+       
+       
        private static final class NetworkChooserCustomRenderer extends JLabel 
implements ListCellRenderer {
 
                private static final long serialVersionUID = 
7103666112352192698L;

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to