Author: kono
Date: 2012-01-05 14:28:50 -0800 (Thu, 05 Jan 2012)
New Revision: 27931

Modified:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/EdgeView.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Handle.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Label.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/dependency/EdgePaintToArrowHeadPaintDependency.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeDetails.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeView.java
   
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/EdgeViewDefaultSupport.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/HandleImpl.java
Log:
fixes #473 Edge/Arrow color dependency problem fixed.  Also, edge related code 
had been cleaned up.

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/EdgeView.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/EdgeView.java
    2012-01-05 22:09:14 UTC (rev 27930)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/EdgeView.java
    2012-01-05 22:28:50 UTC (rev 27931)
@@ -159,47 +159,6 @@
        public boolean isHidden();
 
        /**
-        * Add a PHandle to the edge at the point specified.
-        *
-        * @param pt The point at which to draw the PHandle and to which the
-        *        PHandle will be attached via the locator.
-        */
-       //  public void addHandle ( Point2D pt );
-
-       /**
-        * Removes the PHandle at the specified point.
-        *
-        * @param pt If this point intersects an existing PHandle, then remove 
that
-        *        PHandle.
-        */
-       // public void removeHandle ( Point2D pt );
-
-       /**
-        * Checks to see if a PHandle already exists for the given point.
-        *
-        * @param pt If this point intersects a currently existing PHandle, then
-        *        return true, else return false.
-        */
-       //public boolean handleAlreadyExists ( Point2D pt );
-
-       /**
-        * This is the main method called to update the drawing of the edge.
-        */
-       public void updateEdgeView ();
-
-       /**
-        * Draws the EdgeEnd, also sets the Source/Target Points to values such
-        * that the edge does not "go through" the end
-        */
-       public void updateTargetArrow ();
-
-       /**
-        * Draws the EdgeEnd, also sets the Source/Target Points to values such
-        * that the edge does not "go through" the end
-        */
-       public void updateSourceArrow ();
-
-       /**
         * Sets the Drawing style for the edge end.
         */
        public void setSourceEdgeEnd(int type);
@@ -220,43 +179,23 @@
         */
        public int getTargetEdgeEnd();
 
-       /**
-        * Draws the Edge
-        */
-       public void updateLine();
 
        /**
-        * Draws the edge as red and draws any handles previously added.
-        */
-       public void drawSelected();
-
-       /**
-        * Draws the edge as black and removes any handles from the display.
-        */
-       public void drawUnselected();
-
-       /**
         * @return the Bend used 
         */
-       public Bend getBend ();
-  
-       public void clearBends ();
+       Bend getBend ();
+       void setBend(final Bend bend);
+       
+       void clearBends ();
 
        public Label getLabel();
 
        /**
         * Sets what the tooltip will be for this EdgeView
         */
-       public void setToolTip ( String tip );
+       void setToolTip ( String tip );
+       String getToolTip();
 
-       public void setLabelOffsetX(double x);
-       public void setLabelOffsetY(double y);
-       public void setEdgeLabelAnchor(int position);
-
-       public double getLabelOffsetX();
-       public double getLabelOffsetY();
-       public int getEdgeLabelAnchor();
-
        
        int getTransparency();
        void setTransparency(final int transparency);

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Handle.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Handle.java
      2012-01-05 22:09:14 UTC (rev 27930)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Handle.java
      2012-01-05 22:28:50 UTC (rev 27931)
@@ -3,7 +3,6 @@
 import java.awt.geom.Point2D;
 
 import org.cytoscape.ding.impl.DEdgeView;
-import org.cytoscape.ding.impl.DGraphView;
 
 
 /**
@@ -20,7 +19,7 @@
         * 
         * @return Absolute position of this handle in the network view.
         */
-       Point2D getPoint(final DGraphView graphView, final DEdgeView edgeView);
+       Point2D getPoint(final DEdgeView edgeView);
        
        /**
         * Set a new position of this handle.
@@ -33,5 +32,5 @@
         * @param x Absolute value for X-location.
         * @param y Absolute value for Y-location.
         */
-       void setPoint(final DGraphView graphView, final DEdgeView edgeView, 
final double x, final double y);
+       void setPoint(final DEdgeView edgeView, final double x, final double y);
 }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Label.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Label.java
       2012-01-05 22:09:14 UTC (rev 27930)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Label.java
       2012-01-05 22:28:50 UTC (rev 27931)
@@ -66,26 +66,5 @@
         * very large font sizes can slow performance.
         */
        void setFont(Font aFont) ;
-
-
-//     /**
-//      *
-//      */
-//     public void setTextAnchor ( int position );
-//
-//     /**
-//      *
-//      */
-//     public int getTextAnchor ( );
-//
-//     /**
-//      *
-//      */
-//     public void setJustify ( int justify );
-//
-//     /**
-//      *
-//      */
-//     public int getJustify ( );
-
+       
 }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/dependency/EdgePaintToArrowHeadPaintDependency.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/dependency/EdgePaintToArrowHeadPaintDependency.java
      2012-01-05 22:09:14 UTC (rev 27930)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/dependency/EdgePaintToArrowHeadPaintDependency.java
      2012-01-05 22:28:50 UTC (rev 27931)
@@ -15,6 +15,7 @@
                group.add(DVisualLexicon.EDGE_TARGET_ARROW_SELECTED_PAINT);
                group.add(DVisualLexicon.EDGE_SOURCE_ARROW_UNSELECTED_PAINT);
                group.add(DVisualLexicon.EDGE_TARGET_ARROW_UNSELECTED_PAINT);
+               
                group.add(DVisualLexicon.EDGE_STROKE_SELECTED_PAINT);
                group.add(DVisualLexicon.EDGE_STROKE_UNSELECTED_PAINT);
        }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeDetails.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeDetails.java
   2012-01-05 22:09:14 UTC (rev 27930)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeDetails.java
   2012-01-05 22:28:50 UTC (rev 27931)
@@ -447,16 +447,15 @@
         */
        @Override
        public Paint segmentPaint(final int edge) {
-               boolean isSelected = selected.contains(edge);
+               final boolean isSelected = selected.contains(edge);
 
                if (isSelected)
                        return selectedPaint(edge);
-               else {
+               else
                        return unselectedPaint(edge);
-               }
        }
 
-       void setSegmentPaintDefault(Paint p) {
+       void setSegmentPaintDefault(final Paint p) {
                m_unselectedPaintDefault = p;
        }
 
@@ -469,7 +468,6 @@
                        else
                                return m_unselectedPaintDefault;
                }
-
                return paint;
        }
 

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeView.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeView.java
      2012-01-05 22:09:14 UTC (rev 27930)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeView.java
      2012-01-05 22:28:50 UTC (rev 27931)
@@ -34,7 +34,6 @@
 import java.awt.Paint;
 import java.awt.Stroke;
 import java.awt.geom.Point2D;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
@@ -47,7 +46,6 @@
 import org.cytoscape.graph.render.immed.EdgeAnchors;
 import org.cytoscape.graph.render.immed.GraphGraphics;
 import org.cytoscape.model.CyEdge;
-import org.cytoscape.util.intr.IntEnumerator;
 import org.cytoscape.view.model.View;
 import org.cytoscape.view.model.VisualLexicon;
 import org.cytoscape.view.model.VisualLexiconNode;
@@ -73,6 +71,7 @@
        static final Font DEFAULT_LABEL_FONT = new Font("SansSerif", 
Font.PLAIN, 12);
        static final Paint DEFAULT_LABEL_PAINT = Color.black;
        
+       // Parent network view.  This view exists only in this network view.
        final DGraphView m_view;
        
        final int m_inx; // Positive index of this edge view.
@@ -86,19 +85,22 @@
        Paint m_targetSelectedPaint;
        int m_sourceEdgeEnd; // One of the EdgeView edge end constants.
        int m_targetEdgeEnd; // Ditto.
+               
+       private String m_toolTipText;
        
-       //List<Point2D> m_anchors; // A list of Point2D objects.
-       
-       String m_toolTipText = null;
-       
        private LineType lineType;
        private Float fontSize = 
DVisualLexicon.EDGE_LABEL_FONT_SIZE.getDefault().floatValue();
        
        // Visual Properties used in this node view.
        private final VisualLexicon lexicon;
 
-       /*
-        * @param inx the RootGraph index of edge (a negative number).
+       
+       /**
+        * 
+        * @param lexicon
+        * @param view
+        * @param inx
+        * @param model
         */
        DEdgeView(final VisualLexicon lexicon, final DGraphView view, final int 
inx, final CyEdge model) {
                super(model);
@@ -117,7 +119,6 @@
                m_targetSelectedPaint = Color.red;
                m_sourceEdgeEnd = GraphGraphics.ARROW_NONE;
                m_targetEdgeEnd = GraphGraphics.ARROW_NONE;
-               //m_anchors = null;
        }
 
        @Override
@@ -243,57 +244,33 @@
                }
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
+       
+       @Override
        public Paint getSelectedPaint() {
                return m_view.m_edgeDetails.selectedPaint(m_inx);
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
+       @Override
        public Paint getSourceEdgeEndPaint() {
                return m_sourceUnselectedPaint;
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
+       @Override
        public Paint getSourceEdgeEndSelectedPaint() {
                return m_sourceSelectedPaint;
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
+       @Override
        public Paint getTargetEdgeEndPaint() {
                return m_targetUnselectedPaint;
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
+       @Override
        public Paint getTargetEdgeEndSelectedPaint() {
                return m_targetSelectedPaint;
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @param paint
-        *            DOCUMENT ME!
-        */
+       @Override
        public void setSourceEdgeEndSelectedPaint(Paint paint) {
                synchronized (m_view.m_lock) {
                        if (paint == null)
@@ -309,12 +286,8 @@
                }
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @param paint
-        *            DOCUMENT ME!
-        */
+
+       @Override
        public void setTargetEdgeEndSelectedPaint(Paint paint) {
                
                synchronized (m_view.m_lock) {
@@ -332,12 +305,7 @@
        }
 
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @param paint
-        *            DOCUMENT ME!
-        */
+       @Override
        public void setSourceEdgeEndPaint(Paint paint) {
                synchronized (m_view.m_lock) {
                        if (paint == null)
@@ -351,12 +319,7 @@
                }
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @param paint
-        *            DOCUMENT ME!
-        */
+       @Override
        public void setTargetEdgeEndPaint(Paint paint) {
                synchronized (m_view.m_lock) {
                        if (paint == null)
@@ -388,27 +351,19 @@
                        return false;
 
                m_selected = true;
-               m_view.m_edgeDetails.select(m_inx);
-               
+               m_view.m_edgeDetails.select(m_inx);             
                m_view.m_selectedEdges.insert(m_inx);
 
                for (int j = 0; j < numHandles(); j++) {
                        getHandleInternal(j, m_view.m_anchorsBuff);
-                       m_view.m_spacialA
-                                       .insert((m_inx << 6) | j,
-                                                       (float) 
(m_view.m_anchorsBuff[0] - (m_view
-                                                                       
.getAnchorSize() / 2.0d)),
-                                                       (float) 
(m_view.m_anchorsBuff[1] - (m_view
-                                                                       
.getAnchorSize() / 2.0d)),
-                                                       (float) 
(m_view.m_anchorsBuff[0] + (m_view
-                                                                       
.getAnchorSize() / 2.0d)),
-                                                       (float) 
(m_view.m_anchorsBuff[1] + (m_view
-                                                                       
.getAnchorSize() / 2.0d)));
-
+                       m_view.m_spacialA.insert((m_inx << 6) | j,
+                                       (float) (m_view.m_anchorsBuff[0] - 
(m_view.getAnchorSize() / 2.0d)),
+                                       (float) (m_view.m_anchorsBuff[1] - 
(m_view.getAnchorSize() / 2.0d)),
+                                       (float) (m_view.m_anchorsBuff[0] + 
(m_view.getAnchorSize() / 2.0d)),
+                                       (float) (m_view.m_anchorsBuff[1] + 
(m_view.getAnchorSize() / 2.0d)));
                        if (selectAnchors)
                                m_view.m_selectedAnchors.insert((m_inx << 6) | 
j);
                }
-
                return true;
        }
 
@@ -431,14 +386,12 @@
 
                m_selected = false;
                m_view.m_edgeDetails.unselect(m_inx);
-               
                m_view.m_selectedEdges.delete(m_inx);
 
                for (int j = 0; j < numHandles(); j++) {
                        m_view.m_selectedAnchors.delete((m_inx << 6) | j);
                        m_view.m_spacialA.delete((m_inx << 6) | j);
                }
-
                return true;
        }
 
@@ -462,22 +415,12 @@
                return m_selected;
        }
 
+       
+       @Override
        final public boolean isHidden() {
                return m_view.isHidden(this);
        }
 
-       @Override
-       public void updateEdgeView() {
-       }
-
-       @Override
-       public void updateTargetArrow() {
-       }
-
-       @Override
-       public void updateSourceArrow() {
-       }
-
        
        @Override
        public void setSourceEdgeEnd(final int rendererTypeID) {
@@ -510,23 +453,6 @@
                return m_targetEdgeEnd;
        }
 
-       
-       @Override public void drawSelected() {
-               select();
-       }
-
-
-       @Override public void drawUnselected() {
-               unselect();
-       }
-
-       
-//     public Bend getBend() {
-//             synchronized (m_view.m_lock) {
-//                     return m_view.m_edgeDetails.bend(m_inx);
-//             }
-//     }
-
        @Override
        public void clearBends() {
                removeAllHandles();
@@ -542,11 +468,11 @@
                m_toolTipText = tip;
        }
 
+       @Override
        public String getToolTip() {
                return m_toolTipText;
        }
 
-       // Interface org.cytoscape.ding.Label:
        
        /**
         * {@inheritDoc}
@@ -606,11 +532,6 @@
        
        public int numHandles() {
                synchronized (m_view.m_lock) {
-//                     if (m_anchors == null)
-//                             return 0;
-//
-//                     return m_anchors.size();
-                       
                        // Extract number of bends from bend object.
                        return 
m_view.m_edgeDetails.bend(m_inx).getAllHandles().size();
                }
@@ -628,46 +549,11 @@
                }
        }
 
-       
-//     public List<Point2D> getHandles() {
-//             synchronized (m_view.m_lock) {
-//                     final ArrayList<Point2D> returnThis = new 
ArrayList<Point2D>();
-//
-//                     if (m_anchors == null)
-//                             return returnThis;
-//
-//                     for (int i = 0; i < m_anchors.size(); i++) {
-//                             final Point2D addThis = new Point2D.Float();
-//                             addThis.setLocation((Point2D) m_anchors.get(i));
-//                             returnThis.add(addThis);
-//                     }
-//
-//                     return returnThis;
-//             }
-//     }
 
-//     /**
-//      * DOCUMENT ME!
-//      * 
-//      * @param inx
-//      *            DOCUMENT ME!
-//      * @param pt
-//      *            DOCUMENT ME!
-//      */
-//     public void moveHandle(int inx, Point2D pt) {
-//             synchronized (m_view.m_lock) {
-//                     moveHandleInternal(inx, pt.getX(), pt.getY());
-//                     m_view.m_contentChanged = true;
-//             }
-//     }
-
        final void moveHandleInternal(final int inx, double x, double y) {
                final Bend bend = m_view.m_edgeDetails.bend(m_inx);
                final Handle handle = bend.getAllHandles().get(inx);
-               
-//             final Point2D movePt = (Point2D) m_anchors.get(inx);
-//             movePt.setLocation(x, y);
-               handle.setPoint(m_view, this, x, y);
+               handle.setPoint(this, x, y);
 
                if (m_view.m_spacialA.delete((m_inx << 6) | inx))
                        m_view.m_spacialA.insert((m_inx << 6) | inx,
@@ -678,55 +564,15 @@
        }
 
        final void getHandleInternal(int inx, float[] buff) {
-               //final Point2D.Float pt = (Point2D.Float) m_anchors.get(inx);
                
                final Bend bend = m_view.m_edgeDetails.bend(m_inx);
                final Handle handle = bend.getAllHandles().get(inx);
-               final Point2D newPoint = handle.getPoint(m_view, this);
+               final Point2D newPoint = handle.getPoint(this);
                buff[0] = (float) newPoint.getX();
                buff[1] = (float) newPoint.getY();
        }
 
-//     /**
-//      * DOCUMENT ME!
-//      * 
-//      * @return DOCUMENT ME!
-//      */
-//     public Point2D getSourceHandlePoint() {
-//             synchronized (m_view.m_lock) {
-//                     if ((m_anchors == null) || (m_anchors.size() == 0))
-//                             return null;
-//
-//                     final Point2D returnThis = new Point2D.Float();
-//                     returnThis.setLocation((Point2D) m_anchors.get(0));
-//
-//                     return returnThis;
-//             }
-//     }
 
-//     /**
-//      * DOCUMENT ME!
-//      * 
-//      * @return DOCUMENT ME!
-//      */
-//     public Point2D getTargetHandlePoint() {
-//             synchronized (m_view.m_lock) {
-//                     if ((m_anchors == null) || (m_anchors.size() == 0))
-//                             return null;
-//
-//                     final Point2D returnThis = new Point2D.Float();
-//                     returnThis
-//                                     .setLocation((Point2D) 
m_anchors.get(m_anchors.size() - 1));
-//
-//                     return returnThis;
-//             }
-//     }
-
-       
-//     public void addHandle(Point2D pt) {
-//             addHandleFoo(pt);
-//     }
-
        /**
         * Add a new handle and returns its index.
         * 
@@ -748,26 +594,16 @@
                        final Point2D sourcePt = 
m_view.getDNodeView(getEdge().getSource()).getOffset();
                        final Point2D targetPt = 
m_view.getDNodeView(getEdge().getTarget()).getOffset();
                        final Handle firstHandle = bend.getAllHandles().get(0); 
-                       final Point2D point = firstHandle.getPoint(m_view, 
this);
-                       //point.setLocation(firstHandle.getXFraction(), 
firstHandle.getYFraction());
-                       
-//                     double bestDist = (pt.distance(sourcePt) + 
pt.distance((Point2D) m_anchors.get(0)))
-//                                     - sourcePt.distance((Point2D) 
m_anchors.get(0));
+                       final Point2D point = firstHandle.getPoint(this);
                        double bestDist = (pt.distance(sourcePt) + 
pt.distance(point)) - sourcePt.distance(point);
                        int bestInx = 0;
 
                        for (int i = 1; i < bend.getAllHandles().size(); i++) {
                                final Handle handle1 = 
bend.getAllHandles().get(i);
                                final Handle handle2 = 
bend.getAllHandles().get(i-1);
-                               final Point2D point1 = handle1.getPoint(m_view, 
this);
-                               final Point2D point2 = handle2.getPoint(m_view, 
this);
-//                             point1.setLocation(handle1.getXFraction(), 
handle1.getYFraction());
-//                             point2.setLocation(handle2.getXFraction(), 
handle2.getYFraction());
-                               
-//                             final double distCand = (pt.distance((Point2D) 
m_anchors
-//                                             .get(i - 1)) + 
pt.distance((Point2D) m_anchors.get(i)))
-//                                             - ((Point2D) m_anchors.get(i))
-//                                                             
.distance((Point2D) m_anchors.get(i - 1));
+                               final Point2D point1 = handle1.getPoint(this);
+                               final Point2D point2 = handle2.getPoint(this);
+
                                final double distCand = (pt.distance(point2) + 
pt.distance(point1)) - point1.distance(point2);
 
                                if (distCand < bestDist) {
@@ -776,12 +612,9 @@
                                }
                        }
 
-//                     final double lastCand = (pt.distance(targetPt) + 
pt.distance((Point2D) m_anchors.get(m_anchors.size() - 1)))
-//                                     - targetPt.distance((Point2D) 
m_anchors.get(m_anchors.size() - 1));
                        final int lastIndex = bend.getAllHandles().size() - 1;
                        final Handle lastHandle = 
bend.getAllHandles().get(lastIndex);
-                       final Point2D lastPoint = lastHandle.getPoint(m_view, 
this);
-                       //lastPoint.setLocation(lastHandle.getXFraction(), 
lastHandle.getYFraction());
+                       final Point2D lastPoint = lastHandle.getPoint(this);
                        
                        final double lastCand = (pt.distance(targetPt) + 
pt.distance(lastPoint)) - targetPt.distance(lastPoint);
 
@@ -808,16 +641,6 @@
                        final Bend bend = m_view.m_edgeDetails.bend(m_inx);
                        final Handle handle = new 
HandleImpl(handleLocation.getX(), handleLocation.getY());
                        
-                       //final Point2D.Float addThis = new Point2D.Float();
-                       //addThis.setLocation(handleLocation);
-
-                       // This is the first time to use this data structure.
-//                     if (m_anchors == null) {
-//                             System.out.println("manc is null.  Create 
arraylist");
-//                             m_anchors = new ArrayList<Point2D>();
-//                     }
-                               
-                       //m_anchors.add(insertInx, addThis);
                        bend.insertHandleAt(insertInx, handle);
 
                        if (m_selected) {
@@ -833,7 +656,7 @@
                                                
m_view.m_selectedAnchors.insert((m_inx << 6) | j);
                                }
 
-                               final Point2D newPoint = 
handle.getPoint(m_view, this);
+                               final Point2D newPoint = handle.getPoint(this);
                                
                                m_view.m_spacialA.insert((m_inx << 6) | 
insertInx,
                                                (float) (newPoint.getX() - 
(m_view.getAnchorSize() / 2.0d)),
@@ -847,28 +670,7 @@
        }
 
        
-//     public void removeHandle(Point2D pt) {
-//             synchronized (m_view.m_lock) {
-//                     final float x = (float) pt.getX();
-//                     final float y = (float) pt.getY();
-//
-//                     if (m_anchors == null)
-//                             return;
-//
-//                     for (int i = 0; i < m_anchors.size(); i++) {
-//                             final Point2D.Float currPt = (Point2D.Float) 
m_anchors.get(i);
-//
-//                             if ((x == currPt.x) && (y == currPt.y)) {
-//                                     removeHandle(i);
-//
-//                                     break;
-//                             }
-//                     }
-//             }
-//     }
-
-       
-       public void removeHandle(int inx) {
+       void removeHandle(int inx) {
                synchronized (m_view.m_lock) {
                        final Bend bend = m_view.m_edgeDetails.bend(m_inx);
                        bend.removeHandleAt(inx);
@@ -890,10 +692,6 @@
                                                
m_view.m_selectedAnchors.insert((m_inx << 6) | j);
                                }
                        }
-
-//                     if (m_anchors.size() == 0)
-//                             m_anchors = null;
-
                        m_view.m_contentChanged = true;
                }
        }
@@ -901,9 +699,6 @@
        
        void removeAllHandles() {
                synchronized (m_view.m_lock) {
-//                     if (m_anchors == null)
-//                             return;
-
                        final Bend bend = m_view.m_edgeDetails.bend(m_inx);
                        
                        if (m_selected) {
@@ -912,46 +707,11 @@
                                        m_view.m_selectedAnchors.delete((m_inx 
<< 6) | j);
                                }
                        }
-
-//                     m_anchors = null;
                        m_view.m_contentChanged = true;
                }
        }
 
-       
-//     public boolean handleAlreadyExists(Point2D pt) {
-//             synchronized (m_view.m_lock) {
-//                     final float x = (float) pt.getX();
-//                     final float y = (float) pt.getY();
-//
-//                     if (m_anchors == null)
-//                             return false;
-//
-//                     for (int i = 0; i < m_anchors.size(); i++) {
-//                             final Point2D.Float currPt = (Point2D.Float) 
m_anchors.get(i);
-//
-//                             if ((x == currPt.x) && (y == currPt.y))
-//                                     return true;
-//                     }
-//
-//                     return false;
-//             }
-//     }
 
-//     public Point2D[] getDrawPoints() {
-//             synchronized (m_view.m_lock) {
-//                     final Point2D[] returnThis = new Point2D[(m_anchors == 
null) ? 0
-//                                     : m_anchors.size()];
-//
-//                     for (int i = 0; i < returnThis.length; i++) {
-//                             returnThis[i] = new Point2D.Float();
-//                             returnThis[i].setLocation((Point2D) 
m_anchors.get(i));
-//                     }
-//
-//                     return returnThis;
-//             }
-//     }
-
        // Interface org.cytoscape.graph.render.immed.EdgeAnchors:
        @Override
        public int numAnchors() {
@@ -970,80 +730,19 @@
        @Override
        public void getAnchor(int anchorIndex, float[] anchorArr, int offset) {
                final Bend bend = m_view.m_edgeDetails.bend(m_inx);
-               
-//             final Point2D.Float anchor;
 
                final Handle handle;
                if (m_view.m_edgeDetails.lineType(m_inx) == 
EdgeView.CURVED_LINES)
                        handle = bend.getAllHandles().get(anchorIndex);
-//                     anchor = (Point2D.Float) m_anchors.get(anchorIndex);
                else
                        handle = bend.getAllHandles().get(anchorIndex/2);
-//                     anchor = (Point2D.Float) m_anchors.get(anchorIndex / 2);
 
-               final Point2D newPoint = handle.getPoint(m_view, this);
+               final Point2D newPoint = handle.getPoint(this);
                anchorArr[offset] = (float) newPoint.getX();
                anchorArr[offset + 1] = (float) newPoint.getY();
        }
 
-//     // TODO: Can we remove this?
-//     public void setTextAnchor(int position) {
-//             // System.out.println("setTextAnchor");
-//     }
-//
-//     
-//     public void setJustify(int justify) {
-//             // System.out.println("setJustify");
-//     }
-//
-//     public int getTextAnchor() {
-//             // System.out.println("getTextAnchor");
-//
-//             return 0;
-//     }
-//
-//     
-//     public int getJustify() {
-//             // System.out.println("getJustify");
-//
-//             return 0;
-//     }
 
-       @Override
-       public void setLabelOffsetX(double x) {
-               // System.out.println("setLabelOffsetX");
-       }
-
-       @Override
-       public void setLabelOffsetY(double y) {
-               // System.out.println("setLabelOffsetY");
-       }
-
-       @Override
-       public void setEdgeLabelAnchor(int position) {
-               // System.out.println("setEdgeLabelAnchor");
-       }
-
-       
-       public double getLabelOffsetX() {
-               // System.out.println("getLabelOffsetX");
-
-               return 0.0;
-       }
-
-       
-       public double getLabelOffsetY() {
-               // System.out.println("getLabelOffsetY");
-
-               return 0.0;
-       }
-
-       public int getEdgeLabelAnchor() {
-               // System.out.println("getEdgeLabelAnchor");
-
-               return 0;
-       }
-
        public void setLabelWidth(double width) {
                synchronized (m_view.m_lock) {
                        m_view.m_edgeDetails.overrideLabelWidth(m_inx, width);
@@ -1101,9 +800,6 @@
        public void setBend(final Bend bend) {
                synchronized (m_view.m_lock) {
                        m_view.m_edgeDetails.m_edgeBends.put(m_inx, bend);
-
-                       // TODO: move bends here!
-
                }
                m_view.m_contentChanged = true;
        }
@@ -1122,7 +818,9 @@
        public <T, V extends T> void setVisualProperty(VisualProperty<? extends 
T> vpOriginal, V value) {
                
                final VisualProperty<?> vp;
-               VisualLexiconNode treeNode = 
lexicon.getVisualLexiconNode(vpOriginal);
+               final VisualLexiconNode treeNode = 
lexicon.getVisualLexiconNode(vpOriginal);
+               
+               // TODO: This should not happen.  Maybe this should throw an 
exception?
                if(treeNode == null)
                        return;
                
@@ -1243,10 +941,4 @@
                
                visualProperties.put(vp, value);
        }
-
-       @Override
-       public void updateLine() {
-               // TODO Auto-generated method stub
-               
-       }
 }

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-01-05 22:09:14 UTC (rev 27930)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
     2012-01-05 22:28:50 UTC (rev 27931)
@@ -476,7 +476,7 @@
                m_nodeDetails = new DNodeDetails(this);
                m_edgeDetails = new DEdgeDetails(this);
                m_nodeViewDefaultSupport = new 
NodeViewDefaultSupport(m_nodeDetails, m_lock);
-               m_edgeViewDefaultSupport = new 
EdgeViewDefaultSupport(m_edgeDetails, m_lock);
+               m_edgeViewDefaultSupport = new 
EdgeViewDefaultSupport(dingLexicon, m_edgeDetails, m_lock);
                m_nodeViewMap = new HashMap<Integer, NodeView>();
                m_edgeViewMap = new HashMap<Integer, EdgeView>();
                m_printLOD = new PrintLOD();

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/EdgeViewDefaultSupport.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/EdgeViewDefaultSupport.java
 2012-01-05 22:09:14 UTC (rev 27930)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/EdgeViewDefaultSupport.java
 2012-01-05 22:28:50 UTC (rev 27931)
@@ -32,10 +32,13 @@
 import java.awt.Font;
 import java.awt.Paint;
 import java.awt.Stroke;
+import java.util.Collection;
 
 import org.cytoscape.ding.Bend;
 import org.cytoscape.ding.DArrowShape;
 import org.cytoscape.ding.EdgeView;
+import org.cytoscape.view.model.VisualLexicon;
+import org.cytoscape.view.model.VisualLexiconNode;
 import org.cytoscape.view.model.VisualProperty;
 import org.cytoscape.view.presentation.property.MinimalVisualLexicon;
 import org.cytoscape.view.presentation.property.RichVisualLexicon;
@@ -47,10 +50,12 @@
 
        private final Object lock;
        private final DEdgeDetails edgeDetails;
+       private final VisualLexicon lexicon;
        
-       EdgeViewDefaultSupport(DEdgeDetails edgeDetails, Object lock) {
+       EdgeViewDefaultSupport(final VisualLexicon lexicon, DEdgeDetails 
edgeDetails, Object lock) {
                this.edgeDetails = edgeDetails;
                this.lock = lock;
+               this.lexicon = lexicon;
        }
 
        private Font font;
@@ -67,17 +72,47 @@
        private Color labelColor;
        
 
-       <T, V extends T> void setEdgeViewDefault(VisualProperty<? extends T> 
vp, V value) {
+       <T, V extends T> void setEdgeViewDefault(VisualProperty<? extends T> 
vpOriginal, V value) {
                
+               final VisualProperty<?> vp;
+               final VisualLexiconNode treeNode = 
lexicon.getVisualLexiconNode(vpOriginal);
+               
+               if(treeNode == null)
+                       return;
+               
+               if(treeNode.getChildren().size() != 0) {
+                       final Collection<VisualLexiconNode> children = 
treeNode.getChildren();
+                       boolean shouldApply = false;
+                       for(VisualLexiconNode node: children) {
+                               if(node.isDepend()) {
+                                       shouldApply = true;
+                                       break;
+                               }
+                       }
+                       if(shouldApply == false)
+                               return;
+               }
+               
+               if(treeNode.isDepend())
+                       return;
+               else
+                       vp = vpOriginal;
+               
                if(value == null)
                        value = (V) vp.getDefault();
                
                if (vp == DVisualLexicon.EDGE_STROKE_SELECTED_PAINT) {
                        setSelectedPaint((Paint) value);
+               } else if (vp == DVisualLexicon.EDGE_STROKE_UNSELECTED_PAINT) {
+                       setUnselectedPaint((Paint) value);
+               } else if (vp == DVisualLexicon.EDGE_UNSELECTED_PAINT) {
+                       // This is the parent of unselected color related 
visual property.
+                       // Will be called if dependency exists.
+                       setUnselectedPaint((Paint) value);
+                       setSourceEdgeEndUnselectedPaint((Paint) value);
+                       setTargetEdgeEndUnselectedPaint((Paint) value);
                } else if (vp == DVisualLexicon.EDGE_TRANSPARENCY) {
                        setTransparency(((Number) value).intValue());
-               } else if (vp == DVisualLexicon.EDGE_STROKE_UNSELECTED_PAINT) {
-                       setUnselectedPaint((Paint) value);
                } else if (vp == DVisualLexicon.EDGE_WIDTH) {
                        final float newWidth = ((Number) value).floatValue();   
                        if(strokeWidth != newWidth) {
@@ -89,10 +124,6 @@
                        lineType = (LineType) value;
                        final Stroke newStroke = 
DLineType.getDLineType(lineType).getStroke(strokeWidth);
                        setStroke(newStroke);
-               } else if (vp == 
DVisualLexicon.EDGE_SOURCE_ARROW_SELECTED_PAINT) {
-                       //setSourceEdgeEndSelectedPaint((Paint) value);
-               } else if (vp == 
DVisualLexicon.EDGE_TARGET_ARROW_SELECTED_PAINT) {
-                       //setTargetEdgeEndSelectedPaint((Paint) value);
                } else if (vp == 
DVisualLexicon.EDGE_SOURCE_ARROW_UNSELECTED_PAINT) {
                        setSourceEdgeEndUnselectedPaint((Paint) value);
                } else if (vp == 
DVisualLexicon.EDGE_TARGET_ARROW_UNSELECTED_PAINT) {
@@ -158,7 +189,7 @@
                }
        }
 
-       void setUnselectedPaint(final Paint paint) {
+       void setUnselectedPaint(final Paint paint) {            
                synchronized (lock) {
                        unselectedPaint = paint;
                        final Paint transColor = getTransparentColor(paint);
@@ -189,7 +220,7 @@
                }
        }
 
-       public void setSourceEdgeEndUnselectedPaint(Paint paint) {
+       public void setSourceEdgeEndUnselectedPaint(final Paint paint) {
                synchronized (lock) {
                        edgeDetails.setSourceArrowPaintDefault(paint);
                }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/HandleImpl.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/HandleImpl.java
     2012-01-05 22:09:14 UTC (rev 27930)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/HandleImpl.java
     2012-01-05 22:28:50 UTC (rev 27931)
@@ -26,8 +26,9 @@
        }
 
        @Override
-       public Point2D getPoint(final DGraphView graphView, final DEdgeView 
view) {
+       public Point2D getPoint(final DEdgeView view) {
 
+               final DGraphView graphView = (DGraphView) view.getGraphView();
                final CyNode source = view.getModel().getSource();
                final CyNode target = view.getModel().getTarget();
                final View<CyNode> sourceView = graphView.getNodeView(source);
@@ -63,7 +64,8 @@
        }
        
        @Override
-       public void setPoint(DGraphView graphView, DEdgeView view, double x, 
double y) {
+       public void setPoint(final DEdgeView view, double x, double y) {
+               final DGraphView graphView = (DGraphView) view.getGraphView();
                this.x = x;
                this.y = y;
 

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