Author: kono
Date: 2009-11-30 15:39:19 -0800 (Mon, 30 Nov 2009)
New Revision: 18607

Modified:
   corelibs/trunk/ding/lib/cytoscape-render-stateful.jar
   corelibs/trunk/ding/lib/giny.jar
   corelibs/trunk/ding/src/ding/view/DGraphView.java
   corelibs/trunk/ding/src/ding/view/DNodeDetails.java
   corelibs/trunk/ding/src/ding/view/DNodeView.java
Log:
Methods to create Nested Network Node texture has been added.

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

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

Modified: corelibs/trunk/ding/src/ding/view/DGraphView.java
===================================================================
--- corelibs/trunk/ding/src/ding/view/DGraphView.java   2009-11-30 23:35:46 UTC 
(rev 18606)
+++ corelibs/trunk/ding/src/ding/view/DGraphView.java   2009-11-30 23:39:19 UTC 
(rev 18607)
@@ -53,6 +53,8 @@
 
 import giny.model.Edge;
 import giny.model.GraphPerspective;
+import giny.model.NestedNetworkChangeEvent;
+import giny.model.NestedNetworkChangeEventListener;
 import giny.model.Node;
 import giny.model.RootGraph;
 
@@ -69,11 +71,15 @@
 import java.awt.Paint;
 import java.awt.Shape;
 import java.awt.Dimension;
+import java.awt.TexturePaint;
 import java.awt.geom.GeneralPath;
 import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
 import java.awt.print.PageFormat;
 import java.awt.print.Printable;
 import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -81,7 +87,9 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.imageio.ImageIO;
 
+
 /**
  * DING implementation of the GINY view.
  *
@@ -306,7 +314,7 @@
         * 
         * This is used by a new nested network feature from 2.7.
         */
-       private Image snapshotImage;
+       private TexturePaint snapshotImage;
        
        /**
         * Represents current snapshot is latest version or not.
@@ -2543,17 +2551,23 @@
         * Returns the current snapshot image of this view.
         * 
         * <p>
-        * This will be used nested network manager.
         * No unnecessary image object will be created if networks in the 
current
         * session does not contain any nested network, i.e., should not have 
         * performance/memory issue. 
         *  
         * @return Image of this view.  It is always up-to-date.
         */
-       public Image getSnapshot() {
-               if(!latest) {
+       public TexturePaint getSnapshot(int width, int height) {
+               if (!latest) {
                        // Need to update snapshot.
-                       snapshotImage = createImage(DEF_SNAPSHOT_SIZE, 
DEF_SNAPSHOT_SIZE, 1);
+                       final Rectangle2D rect = new 
Rectangle2D.Double(-width/2, -height/2, width, height);
+                       snapshotImage = new TexturePaint((BufferedImage) 
createImage(width, height, 1), rect);
+//                     try {
+//                             snapshotImage = new 
TexturePaint(ImageIO.read(new 
File("/Users/kono/Documents/workspace/cytoscape/images/default_network.png")), 
rect);
+//                     } catch (IOException e) {
+//                             // TODO Auto-generated catch block
+//                             e.printStackTrace();
+//                     }
                        latest = true;
                } 
                

Modified: corelibs/trunk/ding/src/ding/view/DNodeDetails.java
===================================================================
--- corelibs/trunk/ding/src/ding/view/DNodeDetails.java 2009-11-30 23:35:46 UTC 
(rev 18606)
+++ corelibs/trunk/ding/src/ding/view/DNodeDetails.java 2009-11-30 23:39:19 UTC 
(rev 18607)
@@ -41,12 +41,16 @@
 
 import cytoscape.util.intr.IntObjHash;
 
+import giny.model.GraphPerspective;
 import giny.view.Label;
+import giny.view.NodeView;
 
 import java.awt.Color;
 import java.awt.Font;
+import java.awt.Image;
 import java.awt.Paint;
 import java.awt.Shape;
+import java.awt.TexturePaint;
 
 import java.util.HashMap;
 import java.util.Iterator;
@@ -570,6 +574,18 @@
 
                return ((Double) o).doubleValue();
        }
+       
+       
+       @Override
+       public TexturePaint getNestedNetworkTexturePaint(final int node) {
+               final DNodeView dNodeView = (DNodeView) 
m_view.getNodeView(~node);
+               final GraphPerspective nestedNetwork = 
dNodeView.getNode().getNestedNetwork();
+               if (nestedNetwork == null) {
+                       return null;
+               }
+               
+               return dNodeView.getNestedNetworkTexturePaint();
+       }
 
        /*
         * A negative width value has the special meaning to remove overridden 
width.

Modified: corelibs/trunk/ding/src/ding/view/DNodeView.java
===================================================================
--- corelibs/trunk/ding/src/ding/view/DNodeView.java    2009-11-30 23:35:46 UTC 
(rev 18606)
+++ corelibs/trunk/ding/src/ding/view/DNodeView.java    2009-11-30 23:39:19 UTC 
(rev 18607)
@@ -36,12 +36,7 @@
 
 package ding.view;
 
-import cytoscape.render.immed.GraphGraphics;
-import cytoscape.render.stateful.CustomGraphic;
-import cytoscape.render.stateful.NodeDetails;
-
 import giny.model.Node;
-
 import giny.view.GraphView;
 import giny.view.GraphViewChangeListener;
 import giny.view.Label;
@@ -59,14 +54,16 @@
 import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
 import java.awt.image.BufferedImage;
-
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
 
+import cytoscape.render.immed.GraphGraphics;
+import cytoscape.render.stateful.CustomGraphic;
 
+
 /**
  * DOCUMENT ME!
  *
@@ -113,6 +110,8 @@
     private final static HashSet<CustomGraphic> EMPTY_CUSTOM_GRAPHICS = new 
LinkedHashSet<CustomGraphic>(0);
        // AJK: 04/26/06 for tooltip
        String m_toolTipText = null;
+       
+       private DGraphView nestedNetworkView;
 
        /*
         * @param inx the RootGraph index of node (a negative number).
@@ -126,6 +125,8 @@
                m_borderPaint = m_view.m_nodeDetails.borderPaint(m_inx);
                m_graphicShapes = null;
                m_graphicPaints = null;
+               
+               nestedNetworkView = null;
        }
 
        /**
@@ -1398,4 +1399,17 @@
                        m_view.m_contentChanged = true;
                }
        }
+
+       public TexturePaint getNestedNetworkTexturePaint() {
+               synchronized (m_view.m_lock) {
+                       if (this.getNode().getNestedNetwork() != null && 
nestedNetworkView != null)
+                               return 
nestedNetworkView.getSnapshot((int)this.getWidth(), (int)this.getHeight());
+                       else
+                               return null;
+               }
+       }
+       
+       public void setNestedNetworkView(final DGraphView nestedNetworkView) {
+               this.nestedNetworkView = nestedNetworkView;
+       }
 }

--

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