Author: clopes
Date: 2012-06-07 12:23:12 -0700 (Thu, 07 Jun 2012)
New Revision: 29499

Modified:
   
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
   
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/BirdsEyeViewHandler.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
Log:
Fixed a couple of bugs that could prevent the Bird's-Eye View from being 
updated when importing networks or creating a new empty session.

Modified: 
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
===================================================================
--- 
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
    2012-06-07 17:44:10 UTC (rev 29498)
+++ 
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
    2012-06-07 19:23:12 UTC (rev 29499)
@@ -276,7 +276,6 @@
        @Override
        public void setCurrentRenderingEngine(RenderingEngine<CyNetwork> 
engine) {
                boolean changed = (engine == null && currentRenderer != null)
-                               || (engine != null && currentRenderer == null)
                                || (engine != null && 
!engine.equals(currentRenderer));
                
                this.currentRenderer = engine;

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
     2012-06-07 17:44:10 UTC (rev 29498)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
     2012-06-07 19:23:12 UTC (rev 29499)
@@ -97,7 +97,6 @@
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkTableManager;
 import org.cytoscape.model.CyNode;
-import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableFactory;
 import org.cytoscape.model.events.AboutToRemoveEdgesEvent;
 import org.cytoscape.model.events.AboutToRemoveEdgesListener;

Modified: 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
===================================================================
--- 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   2012-06-07 17:44:10 UTC (rev 29498)
+++ 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   2012-06-07 19:23:12 UTC (rev 29499)
@@ -484,7 +484,8 @@
                // Clear undo stack
                undo.reset();
                
-               // Reset current table
+               // Reset current table and rendering engine
                appMgr.setCurrentTable(null);
+               appMgr.setCurrentRenderingEngine(null);
        }
 }

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
       2012-06-07 17:44:10 UTC (rev 29498)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
       2012-06-07 19:23:12 UTC (rev 29499)
@@ -108,13 +108,11 @@
 import org.cytoscape.task.NetworkViewCollectionTaskFactory;
 import org.cytoscape.task.NetworkViewTaskFactory;
 import org.cytoscape.task.TableTaskFactory;
-import org.cytoscape.task.visualize.ApplyVisualStyleTaskFactory;
 import org.cytoscape.task.write.SaveSessionAsTaskFactory;
 import org.cytoscape.util.swing.OpenBrowser;
 import org.cytoscape.view.layout.CyLayoutAlgorithm;
 import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
 import org.cytoscape.view.model.CyNetworkViewManager;
-import org.cytoscape.view.model.events.NetworkViewChangedListener;
 import org.cytoscape.view.model.events.NetworkViewDestroyedListener;
 import org.cytoscape.view.presentation.RenderingEngineFactory;
 import org.cytoscape.view.presentation.RenderingEngineManager;
@@ -199,7 +197,8 @@
                                                                               
cytoscapePropertiesServiceRef,
                                                                               
cyHelpBroker);
                BirdsEyeViewHandler birdsEyeViewHandler = new 
BirdsEyeViewHandler(cyApplicationManagerServiceRef,
-                                                                               
  dingNavigationPresentationFactoryServiceRef);
+                                                                               
  dingNavigationPresentationFactoryServiceRef,
+                                                                               
  cyNetworkViewManagerServiceRef);
                NetworkPanel networkPanel = new 
NetworkPanel(cyApplicationManagerServiceRef,
                                                             
cyNetworkManagerServiceRef,
                                                             
cyNetworkViewManagerServiceRef,

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/BirdsEyeViewHandler.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/BirdsEyeViewHandler.java
  2012-06-07 17:44:10 UTC (rev 29498)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/BirdsEyeViewHandler.java
  2012-06-07 19:23:12 UTC (rev 29499)
@@ -77,6 +77,7 @@
        private final JPanel bevPanel;
        private final Map<CyNetworkView, RenderingEngine<?>> viewToEngineMap;
        private final CyApplicationManager appManager;
+       private final CyNetworkViewManager netViewManager;
        private final Map<CyNetworkView, JPanel> presentationMap;
 
        /**
@@ -86,13 +87,16 @@
         * @param defaultFactory
         */
        public BirdsEyeViewHandler(final CyApplicationManager appManager,
-                       final RenderingEngineFactory<CyNetwork> defaultFactory) 
{
+                                                          final 
RenderingEngineFactory<CyNetwork> defaultFactory,
+                                                          final 
CyNetworkViewManager netViewManager) {
 
                this.appManager = appManager;
+               this.netViewManager = netViewManager;
                this.viewToEngineMap = new WeakHashMap<CyNetworkView, 
RenderingEngine<?>>();
-               presentationMap = new WeakHashMap<CyNetworkView, JPanel>();
+               this.presentationMap = new WeakHashMap<CyNetworkView, JPanel>();
 
                this.bevPanel = new JPanel();
+               this.bevPanel.setLayout(new BorderLayout());
                this.bevPanel.setPreferredSize(DEF_PANEL_SIZE);
                this.bevPanel.setSize(DEF_PANEL_SIZE);
                this.bevPanel.setBackground(DEF_BACKGROUND_COLOR);
@@ -112,7 +116,7 @@
        @Override
        public void handleEvent(final SetCurrentRenderingEngineEvent e) {
                final RenderingEngine<CyNetwork> newEngine = 
e.getRenderingEngine();
-
+               
                SwingUtilities.invokeLater(new Runnable() {
                        @Override
                        public void run() {
@@ -121,57 +125,61 @@
                });
        }
 
+       @Override
+       public void handleEvent(final NetworkViewDestroyedEvent e) {
+               final CyNetworkViewManager manager = e.getSource();
+               
+               SwingUtilities.invokeLater(new Runnable() {
+                       @Override
+                       public void run() {
+                               removeView(manager);
+                       }
+               });
+       }
+       
        private final void updateBEV(final RenderingEngine<CyNetwork> 
newEngine) {
                JPanel presentationPanel = null;
                
                if (newEngine != null) {
-                       final CyNetworkView newViewModel = (CyNetworkView) 
newEngine.getViewModel();
-                       presentationPanel = presentationMap.get(newViewModel);
-       
-                       if (presentationPanel == null) {
-                               logger.debug("Creating new BEV for network 
SUID: " + newViewModel.getModel().getSUID());
-                               presentationPanel = new JPanel();
-                               viewToEngineMap.put(newViewModel, 
bevFactory.createRenderingEngine(presentationPanel, newViewModel));
-                               presentationMap.put((CyNetworkView) 
newViewModel, presentationPanel);
+                       final CyNetworkView newView = (CyNetworkView) 
newEngine.getViewModel();
+                       
+                       if 
(netViewManager.getNetworkViewSet().contains(newView)) {
+                               presentationPanel = 
presentationMap.get(newView);
+               
+                               if (presentationPanel == null) {
+                                       logger.debug("Creating new BEV for: " + 
newView);
+                                       presentationPanel = new JPanel();
+                                       viewToEngineMap.put(newView, 
bevFactory.createRenderingEngine(presentationPanel, newView));
+                                       presentationMap.put((CyNetworkView) 
newView, presentationPanel);
+                               }
+                               
+                               final Dimension currentPanelSize = 
bevPanel.getSize();
+                               presentationPanel.setSize(currentPanelSize);
+                               
presentationPanel.setPreferredSize(currentPanelSize);
                        }
-                       
-                       final Dimension currentPanelSize = bevPanel.getSize();
-                       bevPanel.setLayout(new BorderLayout());
-                       presentationPanel.setSize(currentPanelSize);
-                       presentationPanel.setPreferredSize(currentPanelSize);
                }
 
                bevPanel.removeAll();
                
-               if (presentationPanel != null)
+               if (presentationPanel != null) {
                        bevPanel.add(presentationPanel, BorderLayout.CENTER);
+                       bevPanel.revalidate(); // without this, the BEV might 
not be updated right away
+               }
                
                bevPanel.repaint();
        }
 
-       @Override
-       public void handleEvent(final NetworkViewDestroyedEvent e) {
-               final CyNetworkViewManager manager = e.getSource();
-               SwingUtilities.invokeLater(new Runnable() {
-                       @Override
-                       public void run() {
-                               removeView(manager);
-                       }
-               });
-       }
-
        private final void removeView(final CyNetworkViewManager manager) {
                Set<CyNetworkView> toBeRemoved = new HashSet<CyNetworkView>();
-               for (CyNetworkView view : this.presentationMap.keySet()) {
+               
+               for (CyNetworkView view : presentationMap.keySet()) {
                        if (manager.getNetworkViewSet().contains(view) == false)
                                toBeRemoved.add(view);
                }
 
                for (CyNetworkView view : toBeRemoved) {
-                       JPanel panel = presentationMap.remove(view);
-                       RenderingEngine<?> engine = 
viewToEngineMap.remove(view);
-                       panel = null;
-                       engine = null;
+                       presentationMap.remove(view);
+                       viewToEngineMap.remove(view);
                }
 
                toBeRemoved.clear();

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
   2012-06-07 17:44:10 UTC (rev 29498)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
   2012-06-07 19:23:12 UTC (rev 29499)
@@ -222,11 +222,13 @@
                if (view != null) {
                        final RenderingEngine<CyNetwork> currentEngine = 
appMgr.getCurrentRenderingEngine();
                        
-                       if (netViewMgr.getNetworkViewSet().contains(view) && 
!view.equals(appMgr.getCurrentNetworkView()))
-                               appMgr.setCurrentNetworkView(view);
+                       if (netViewMgr.getNetworkViewSet().contains(view)) {
+                               if 
(!view.equals(appMgr.getCurrentNetworkView()))
+                                       appMgr.setCurrentNetworkView(view);
        
-                       if (currentEngine == null || 
currentEngine.getViewModel() != view)
-                               
appMgr.setCurrentRenderingEngine(presentationMap.get(view));
+                               if (currentEngine == null || 
currentEngine.getViewModel() != view)
+                                       
appMgr.setCurrentRenderingEngine(presentationMap.get(view));
+                       }
                }
        }
 

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