Author: clopes
Date: 2012-03-02 12:09:26 -0800 (Fri, 02 Mar 2012)
New Revision: 28415

Modified:
   
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
Log:
Fixes #716 - Filters: the backback panel does not refresh after network is 
destroyed

Modified: 
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
===================================================================
--- 
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
  2012-03-02 19:15:12 UTC (rev 28414)
+++ 
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
  2012-03-02 20:09:26 UTC (rev 28415)
@@ -66,8 +66,8 @@
 import javax.swing.table.DefaultTableModel;
 
 import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.application.events.SetCurrentNetworkViewEvent;
-import org.cytoscape.application.events.SetCurrentNetworkViewListener;
+import org.cytoscape.application.events.SetCurrentNetworkEvent;
+import org.cytoscape.application.events.SetCurrentNetworkListener;
 import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.filter.internal.filters.event.FiltersChangedEvent;
 import org.cytoscape.filter.internal.filters.event.FiltersChangedListener;
@@ -103,13 +103,12 @@
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.model.events.NetworkViewAddedEvent;
 import org.cytoscape.view.model.events.NetworkViewAddedListener;
-import org.cytoscape.view.presentation.RenderingEngine;
 import org.cytoscape.work.TaskManager;
 
 
 @SuppressWarnings("serial")
 public class FilterMainPanel extends JPanel implements ActionListener,
-                                                      ItemListener, 
SetCurrentNetworkViewListener, NetworkAddedListener,
+                                                      ItemListener, 
SetCurrentNetworkListener, NetworkAddedListener,
                                                       
NetworkAboutToBeDestroyedListener, SessionLoadedListener, RowsSetListener,
                                                       RowsCreatedListener, 
NetworkViewAddedListener, FiltersChangedListener {
        
@@ -150,19 +149,20 @@
        private final CyApplicationManager applicationManager;
        private final CyNetworkManager networkManager;
        private final CyEventHelper eventHelper;
-       private final TaskManager taskManager;
+       private final TaskManager<?, ?> taskManager;
        
-       public FilterMainPanel(final QuickFind quickFind, final 
FilterModelLocator modelLocator,
+       public FilterMainPanel(final QuickFind quickFind,
+                                                  final FilterModelLocator 
modelLocator,
                                                   final CyApplicationManager 
applicationManager,
                               final CyNetworkManager networkManager,
                               final CyEventHelper eventHelper,
-                              final TaskManager taskManager) {
+                              final TaskManager<?, ?> taskManager) {
                this.modelLocator       = modelLocator;
                this.applicationManager = applicationManager;
                this.networkManager     = networkManager;
                this.eventHelper        = eventHelper;
                this.taskManager        = taskManager;
-               this.quickFind = quickFind;
+               this.quickFind          = quickFind;
                
                modelLocator.addListener(this);
 
@@ -216,7 +216,7 @@
        @Override
        public void handleEvent(RowsSetEvent e) {
                // Handle selection events
-               if (this.applicationManager.getCurrentNetworkView() == null){
+               if (this.applicationManager.getCurrentNetwork() == null){
                        return;
                }
                
@@ -246,10 +246,11 @@
                updateFeedbackTableModel();
        }
        
-       public void handleNetworkFocused(final CyNetworkView view) {
+       public void handleNetworkFocused(final CyNetwork net) {
                SwingUtilities.invokeLater(new Runnable() {
+                       @Override
                        public void run() {
-                               if (view == null) {
+                               if (net == null) {
                                        return;
                                }
                                
@@ -260,7 +261,7 @@
                                                        
                                //Refresh indices for UI widgets after network 
switch                   
                                CompositeFilter selectedFilter = 
(CompositeFilter) cmbFilters.getSelectedItem();
-                               selectedFilter.setNetwork(view.getModel());
+                               selectedFilter.setNetwork(net);
                                FilterSettingPanel theSettingPanel= 
filter2SettingPanelMap.get(selectedFilter);
                                
                                if (theSettingPanel != null) {
@@ -270,10 +271,10 @@
                        }
                });
        }
-       
+
        @Override
-       public void handleEvent(SetCurrentNetworkViewEvent e) {
-               handleNetworkFocused(e.getNetworkView());
+       public void handleEvent(SetCurrentNetworkEvent e) {
+               handleNetworkFocused(e.getNetwork());
        }
 
        @Override
@@ -308,23 +309,22 @@
 
        public void updateFeedbackTableModel(){         
                SwingUtilities.invokeLater(new Runnable() {
+                       @Override
                        public void run() {
-                               CyNetwork cyNetwork = 
applicationManager.getCurrentNetwork();
-                               CyNetworkView view = 
applicationManager.getCurrentNetworkView();
-                               RenderingEngine<CyNetwork> engine = 
applicationManager.getCurrentRenderingEngine();
-                               if (cyNetwork == null || view == null || engine 
== null) {
-                                       return;
+                               String netName = null;
+                               String nodeCount = null;
+                               String edgeCount = null;
+                               final CyNetwork net = 
applicationManager.getCurrentNetwork();
+                               
+                               if (net != null) {
+                                       netName = 
net.getRow(net).get(CyNetwork.NAME, String.class);
+                                       nodeCount = net.getNodeCount() + "(" + 
net.getDefaultNodeTable().countMatchingRows(CyNetwork.SELECTED, true) + ")";
+                                       edgeCount = net.getEdgeCount() + "(" + 
net.getDefaultEdgeTable().countMatchingRows(CyNetwork.SELECTED, true) + ")";
                                }
-               
-                               //VisualLexicon lexicon = 
engine.getVisualLexicon();
-                               //String title = 
VisualPropertyUtil.get(lexicon, view, "NETWORK_TITLE", 
MinimalVisualLexicon.NETWORK, String.class);
-                               
tblFeedBack.getModel().setValueAt(cyNetwork.getRow(cyNetwork).get("name", 
String.class), 0, 0);
-
-                               String nodeStr = "" + cyNetwork.getNodeCount() 
+ "(" + 
cyNetwork.getDefaultNodeTable().countMatchingRows(CyNetwork.SELECTED,true) + 
")";
-                               tblFeedBack.getModel().setValueAt(nodeStr, 0, 
1);
-
-                               String edgeStr = "" + cyNetwork.getEdgeCount() 
+ "(" + 
cyNetwork.getDefaultEdgeTable().countMatchingRows(CyNetwork.SELECTED,true) + 
")";
-                               tblFeedBack.getModel().setValueAt(edgeStr, 0, 
2);                               
+                               
+                               tblFeedBack.getModel().setValueAt(netName, 0, 
0);
+                               tblFeedBack.getModel().setValueAt(nodeCount, 0, 
1);
+                               tblFeedBack.getModel().setValueAt(edgeCount, 0, 
2);                             
                }});
        }
        
@@ -851,6 +851,7 @@
                return  cmbAttributes;
        }
        
+       @Override
        public void itemStateChanged(ItemEvent e) {
                Object source = e.getSource();
                
@@ -906,6 +907,7 @@
                }       
        }
 
+       @Override
        public void actionPerformed(ActionEvent e) {
                Object _actionObject = e.getSource();
 
@@ -916,8 +918,10 @@
                        if (_btn == btnApplyFilter) {
                                CompositeFilter theFilterToApply = 
(CompositeFilter) cmbFilters.getSelectedItem();
                                final CyNetwork currentNetwork = 
applicationManager.getCurrentNetwork();
+                               
                                if (currentNetwork == null)
                                        return;
+                               
                                theFilterToApply.setNetwork(currentNetwork);
                                FilterUtil.doSelection(theFilterToApply, 
applicationManager);
                        }
@@ -928,6 +932,7 @@
 
                                if (cmbAttributes.getSelectedItem() instanceof 
String) {
                                        String selectItem = (String) 
cmbAttributes.getSelectedItem();
+                                       
                                        if 
(selectItem.equalsIgnoreCase(filtersSeparator) 
||selectItem.equalsIgnoreCase(attributesSeperator)) {
                                                return;
                                        }
@@ -936,10 +941,9 @@
                                String attributeType = 
cmbAttributes.getSelectedItem().toString().substring(0,4);// "node" or "edge"
                                String attributeName = 
cmbAttributes.getSelectedItem().toString().substring(5);
 
-                               
if(CyAttributesUtil.isNullAttribute(applicationManager.getCurrentNetwork(), 
attributeType, attributeName)){
+                               if 
(CyAttributesUtil.isNullAttribute(applicationManager.getCurrentNetwork(), 
attributeType, attributeName)){
                                        JOptionPane.showMessageDialog(this, 
"All the values for this attribute are NULL!", "Can not create filter", 
JOptionPane.ERROR_MESSAGE); 
-                               }
-                               else {
+                               } else {
                                        
theSettingPanel.addNewWidget(cmbAttributes.getSelectedItem());                  
                
                                }
                        }
@@ -1191,7 +1195,6 @@
                cmbFilters.setSelectedItem(newFilter);
        }       
        
-       
        private void renameFilter(){
                CompositeFilter theFilter = 
(CompositeFilter)cmbFilters.getSelectedItem();
                String oldFilterName = theFilter.getName();
@@ -1281,6 +1284,7 @@
                        setOpaque(true);
                }
 
+               @Override
                public Component getListCellRendererComponent(JList list, 
Object value,
                                                              int index, 
boolean isSelected, boolean cellHasFocus) {
                        if (value != null) {
@@ -1314,6 +1318,7 @@
                        setOpaque(true);
                }
 
+               @Override
                public Component getListCellRendererComponent(JList list, 
Object value,
                                                              int index, 
boolean isSelected, boolean cellHasFocus) {
                        if (value != null) {
@@ -1351,7 +1356,7 @@
                }
 
                @Override
-                       protected String getLabel(Object anObject) {
+               protected String getLabel(Object anObject) {
                        return (anObject != null) ? 
((CompositeFilter)anObject).getLabel() : "";
                }
        }

-- 
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