Author: kono
Date: 2009-11-30 15:42:56 -0800 (Mon, 30 Nov 2009)
New Revision: 18609

Modified:
   cytoscape/trunk/lib/cytoscape-render-stateful.jar
   cytoscape/trunk/lib/ding.jar
   cytoscape/trunk/lib/giny.jar
   cytoscape/trunk/src/cytoscape/Cytoscape.java
   cytoscape/trunk/src/cytoscape/util/NestedNetworkImageManager.java
Log:
New design for nested network renderer has been applied.  Need to remove 
NestedNetworkImageManager.

Modified: cytoscape/trunk/lib/cytoscape-render-stateful.jar
===================================================================
(Binary files differ)

Modified: cytoscape/trunk/lib/ding.jar
===================================================================
(Binary files differ)

Modified: cytoscape/trunk/lib/giny.jar
===================================================================
(Binary files differ)

Modified: cytoscape/trunk/src/cytoscape/Cytoscape.java
===================================================================
--- cytoscape/trunk/src/cytoscape/Cytoscape.java        2009-11-30 23:41:46 UTC 
(rev 18608)
+++ cytoscape/trunk/src/cytoscape/Cytoscape.java        2009-11-30 23:42:56 UTC 
(rev 18609)
@@ -39,8 +39,10 @@
 package cytoscape;
 
 import giny.model.Edge;
+import giny.model.GraphPerspective;
 import giny.model.Node;
 import giny.view.GraphView;
+import giny.view.NodeView;
 
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeSupport;
@@ -86,6 +88,8 @@
 import cytoscape.visual.VisualMappingManager;
 import cytoscape.visual.VisualStyle;
 import cytoscape.logger.CyLogger;
+import ding.view.DGraphView;
+import ding.view.DNodeView;
 
 
 /**
@@ -1708,6 +1712,15 @@
                }
 
                final DingNetworkView view = new DingNetworkView(network, 
title);
+               for (final NodeView nv: 
(List<NodeView>)view.getNodeViewsList()) {
+                       final GraphPerspective nestedNetwork = 
nv.getNode().getNestedNetwork();
+                       if (nestedNetwork != null) {
+                               final CyNetworkView nestedNetworkView = 
Cytoscape.getNetworkView(((CyNetwork)nestedNetwork).getIdentifier());
+                               if 
(!nestedNetworkView.equals(Cytoscape.getNullNetworkView()))
+                                       
((DNodeView)nv).setNestedNetworkView((DGraphView) nestedNetworkView);
+                       }
+               }
+               
                view.setGraphLOD(new CyGraphLOD());
                view.setIdentifier(network.getIdentifier());
                view.setTitle(network.getTitle());

Modified: cytoscape/trunk/src/cytoscape/util/NestedNetworkImageManager.java
===================================================================
--- cytoscape/trunk/src/cytoscape/util/NestedNetworkImageManager.java   
2009-11-30 23:41:46 UTC (rev 18608)
+++ cytoscape/trunk/src/cytoscape/util/NestedNetworkImageManager.java   
2009-11-30 23:42:56 UTC (rev 18609)
@@ -42,8 +42,8 @@
        
        private static NestedNetworkImageManager theNestedNetworkImageManager = 
null;
        private static Map<CyNetwork, ImageAndReferenceCount> networkToImageMap;
-
        
+       
        public static void instantiateNestedNetworkImageManagerSingleton() {
                try {
                        if (theNestedNetworkImageManager == null)
@@ -91,23 +91,26 @@
                        if (imageAndRefCount.getRefCount() == 0) {
                                this.networkToImageMap.remove(network);
                        }
-               } else if 
(CytoscapeDesktop.NETWORK_VIEW_CREATED.equals(evt.getPropertyName())) {
+               } else if 
(Cytoscape.NETWORK_MODIFIED.equals(evt.getPropertyName())) {
+                       System.out.println("----------- Got NETWORK_MODIFIED: " 
+ ((CyNetwork)evt.getNewValue()).getTitle());
                        // Here we have to do 2 things:
                        // 1) if the newly created view is that of a network 
that is a nested network of any node, we need to recreate an image for
                        //    this network based on the newly created view and 
then rerender all the views that contain parent nodes of this nested
                        //    network
                        // 2) We may have to rerender the newly created view if 
any of its nodes have a nested network and therefore need custom
                        //    graphics
-                       
-                       final CyNetworkView view = 
(CyNetworkView)evt.getNewValue();
+                       if (!(evt.getOldValue() instanceof CyNetworkView)) {
+                               return;
+                       }
+                       final CyNetworkView view = 
(CyNetworkView)evt.getOldValue();
                        final CyNetwork viewNetwork = view.getNetwork();
-                       if (networkToImageMap.containsKey(viewNetwork)) {
+//                     if (networkToImageMap.containsKey(viewNetwork)) {
                                // implement 1)
                                updateImage(viewNetwork, view);
                                refreshViews(viewNetwork);
-                       }
-
-                       // implement 2)
+//                     }
+//
+//                     // implement 2)
                        refreshView(viewNetwork, view);
                }
        }
@@ -128,7 +131,7 @@
                        }
                }
                if (updateView) {
-                       networkView.updateView();
+                       networkView.redrawGraph(false, false);
                }
        }
        
@@ -171,6 +174,7 @@
                } else {
                        // Create image from this view.
                        
//view.applyLayout(CyLayouts.getLayout("force-directed"));
+                       view.redrawGraph(false, false);
                        final DGraphView dView = (DGraphView) view;
                        final DingCanvas bCanvas = 
dView.getCanvas(Canvas.BACKGROUND_CANVAS);
                        bCanvas.setOpaque(false);

--

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