Author: pwang
Date: 2011-10-12 13:03:43 -0700 (Wed, 12 Oct 2011)
New Revision: 27144

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/DEdgeView.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/EdgeViewDefaultSupport.java
Log:
support edit default target arrow color

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
   2011-10-12 16:07:37 UTC (rev 27143)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeDetails.java
   2011-10-12 20:03:43 UTC (rev 27144)
@@ -53,6 +53,9 @@
        Map<Integer, Byte> m_targetArrows = new HashMap<Integer, Byte>();
        Map<Integer, Paint> m_targetArrowPaints = new HashMap<Integer, Paint>();
        
+       Map<Integer, Paint> m_targetArrowSelectedPaints = new HashMap<Integer, 
Paint>();
+       
+       
        Map<Integer, Integer> m_labelCounts = new HashMap<Integer, Integer>();
        Map<Long, String> m_labelTexts = new HashMap<Long, String>();
        Map<Long, Font> m_labelFonts = new HashMap<Long, Font>();
@@ -67,6 +70,8 @@
        private Paint m_sourceArrowPaintDefault ;
        private Byte m_targetArrowDefault ;
        private Paint m_targetArrowPaintDefault ;
+       private Paint m_targetArrowSelectedPaintDefault;
+
        private Float m_segmentThicknessDefault ;
        private Stroke m_segmentStrokeDefault ;
        private Paint m_segmentPaintDefault ;
@@ -96,7 +101,7 @@
                m_sourceArrowPaints = new HashMap<Integer, Paint>();
                m_targetArrows = new HashMap<Integer, Byte>();
                m_targetArrowPaints = new HashMap<Integer, Paint>();
-               
+               m_targetArrowSelectedPaints = new HashMap<Integer, Paint>();
                m_labelCounts = new HashMap<Integer, Integer>();
                m_labelTexts = new HashMap<Long, String>();
                m_labelFonts = new HashMap<Long, Font>();
@@ -122,6 +127,7 @@
                m_sourceArrowPaints.remove(edgeIdx);
                m_targetArrows.remove(edgeIdx);
                m_targetArrowPaints.remove(edgeIdx);
+               m_targetArrowSelectedPaints.remove(edgeIdx);
                m_segmentPaints.remove(edgeIdx);
                m_labelCounts.remove(edgeIdx);
                m_labelTexts.remove(edgeIdx);
@@ -285,7 +291,48 @@
                }
        }
 
+       
+       
 
+//     //@Override
+       public Paint targetArrowSelectedPaint(final int edge) {
+               
+               
//System.out.println("DEdgeDetails.targetArrowSelectedPaint()...ZZZZ");
+               
+               final Paint arrowPaint = 
this.m_targetArrowSelectedPaints.get(edge);
+               if (arrowPaint == null)
+                       if ( m_targetArrowSelectedPaintDefault == null )
+                               return super.targetArrowPaint(edge);
+                       else
+                               return m_targetArrowSelectedPaintDefault;
+
+               return arrowPaint;
+       }
+//
+//     
+       void setTargetArrowSelectedPaintDefault(Paint p) {
+               m_targetArrowSelectedPaintDefault = p;
+       }
+//
+//
+//     /*
+//      * A null paint has the special meaning to remove overridden paint.
+//      */
+       void overrideTargetArrowSelectedPaint(final int edge, final Paint 
paint) {
+
+               
System.out.println("DEdgeDetails.overrideTargetArrowSelectedPaint()...");
+
+               if ((paint == null) || 
paint.equals(super.targetArrowPaint(edge)))
+                       this.m_targetArrowSelectedPaints.remove(edge);
+               else {
+                       m_targetArrowSelectedPaints.put(edge, paint);
+                       isCleared = false;
+               }
+       }
+//     
+//     
+//=================
+       
        /**
         * {@inheritDoc}
         */

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
      2011-10-12 16:07:37 UTC (rev 27143)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeView.java
      2011-10-12 20:03:43 UTC (rev 27144)
@@ -75,6 +75,8 @@
        Paint m_sourceSelectedPaint;
        Paint m_targetUnselectedPaint;
        Paint m_targetSelectedPaint;
+       Paint m_targetArrowSelectedPaint;
+       Paint m_targetArrowUnselectedPaint;
        int m_sourceEdgeEnd; // One of the EdgeView edge end constants.
        int m_targetEdgeEnd; // Ditto.
        ArrayList<Point2D> m_anchors; // A list of Point2D objects.
@@ -102,6 +104,8 @@
                m_sourceSelectedPaint = Color.red;
                m_targetUnselectedPaint = 
m_view.m_edgeDetails.targetArrowPaint(m_inx);
                m_targetSelectedPaint = Color.red;
+               m_targetArrowSelectedPaint = 
m_view.m_edgeDetails.targetArrowSelectedPaint(m_inx);;
+               m_targetArrowUnselectedPaint = 
m_view.m_edgeDetails.targetArrowPaint(m_inx);;
                m_sourceEdgeEnd = GraphGraphics.ARROW_NONE;
                m_targetEdgeEnd = GraphGraphics.ARROW_NONE;
                m_anchors = null;
@@ -301,7 +305,9 @@
         * @return DOCUMENT ME!
         */
        public Paint getTargetEdgeEndPaint() {
-               return m_targetUnselectedPaint;
+               //System.out.println("\n\nDEdgeView.getTargetArrorPaint()...");
+
+               return m_targetArrowUnselectedPaint;
        }
 
        /**
@@ -310,7 +316,10 @@
         * @return DOCUMENT ME!
         */
        public Paint getTargetEdgeEndSelectedPaint() {
-               return m_targetSelectedPaint;
+               
+               
//System.out.println("\n\nDEdgeView.getTargetArrowSelectedPaint()...ABC");
+
+               return m_targetArrowSelectedPaint;
        }
 
        /**
@@ -341,15 +350,20 @@
         *            DOCUMENT ME!
         */
        public void setTargetEdgeEndSelectedPaint(Paint paint) {
+               
+               
//System.out.println("\n\nDEdgeView.setTargetEdgeEndSelectedPaint()...");
+               
                synchronized (m_view.m_lock) {
                        if (paint == null)
                                throw new NullPointerException("paint is null");
 
-                       m_targetSelectedPaint = paint;
+                       //System.out.println("\tAAAAAAAA\n");
 
+                       m_targetArrowSelectedPaint = paint;
+
                        if (isSelected()) {
-                               
m_view.m_edgeDetails.overrideTargetArrowPaint(m_inx,
-                                               m_targetSelectedPaint);
+                               
m_view.m_edgeDetails.overrideTargetArrowSelectedPaint(m_inx,
+                                               m_targetArrowSelectedPaint);
                                m_view.m_contentChanged = true;
                        }
                }
@@ -1397,10 +1411,10 @@
                } else if (vp == DVisualLexicon.EDGE_SELECTED_PAINT) {
                        if(value == null)
                                return;
-                       
+                       setSelectedPaint((Paint) value);                        
                        setSourceEdgeEndSelectedPaint((Paint) value);
                        setTargetEdgeEndSelectedPaint((Paint) value);
-                       setSelectedPaint((Paint) value);
+
                } else if (vp == DVisualLexicon.EDGE_UNSELECTED_PAINT) {
                        if(value == null)
                                return;
@@ -1427,11 +1441,17 @@
                } else if (vp == 
DVisualLexicon.EDGE_SOURCE_ARROW_SELECTED_PAINT) {
                        setSourceEdgeEndSelectedPaint((Paint) value);
                } else if (vp == 
DVisualLexicon.EDGE_TARGET_ARROW_SELECTED_PAINT) {
+                       
+                       
//System.out.println("\nDEdgeView.setVisualProperty()...vp == 
DVisualLexicon.EDGE_TARGET_ARROW_SELECTED_PAINT");
+                       
                        setTargetEdgeEndSelectedPaint((Paint) value);
                } else if (vp == 
DVisualLexicon.EDGE_SOURCE_ARROW_UNSELECTED_PAINT) {
                        setSourceEdgeEndPaint((Paint) value);
                } else if (vp == 
DVisualLexicon.EDGE_TARGET_ARROW_UNSELECTED_PAINT) {
+                       
//System.out.println("\nDEdgeView.setVisualProperty()...DVisualLexicon.EDGE_TARGET_ARROW_UNSELECTED_PAINT");
+
                        setTargetEdgeEndPaint((Paint) value);
+                       
                } else if (vp == MinimalVisualLexicon.EDGE_SELECTED) {
                        setSelected((Boolean) value);
                } else if (vp == DVisualLexicon.EDGE_TARGET_ARROW_SHAPE) {

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
 2011-10-12 16:07:37 UTC (rev 27143)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/EdgeViewDefaultSupport.java
 2011-10-12 20:03:43 UTC (rev 27144)
@@ -64,6 +64,9 @@
                        setUnselectedPaint((Paint) value);
                } else if (vp == DVisualLexicon.EDGE_SELECTED_PAINT) {
                        setSourceEdgeEndSelectedPaint((Paint) value);
+                       
+                       //System.out.println("EdgeViewDefaultSupport: vp == 
DVisualLexicon.EDGE_SELECTED_PAINT");
+                       
                        setTargetEdgeEndSelectedPaint((Paint) value);
                        setSelectedPaint((Paint) value);
                } else if (vp == DVisualLexicon.EDGE_UNSELECTED_PAINT) {
@@ -84,11 +87,14 @@
                } else if (vp == 
DVisualLexicon.EDGE_SOURCE_ARROW_SELECTED_PAINT) {
                        setSourceEdgeEndSelectedPaint((Paint) value);
                } else if (vp == 
DVisualLexicon.EDGE_TARGET_ARROW_SELECTED_PAINT) {
+                       
+                       //System.out.println("EdgeViewDefaultSupport: vp == 
DVisualLexicon.EDGE_TARGET_ARROW_SELECTED_PAINT");
+
                        setTargetEdgeEndSelectedPaint((Paint) value);
                } else if (vp == 
DVisualLexicon.EDGE_SOURCE_ARROW_UNSELECTED_PAINT) {
                        setSourceEdgeEndPaint((Paint) value);
                } else if (vp == 
DVisualLexicon.EDGE_TARGET_ARROW_UNSELECTED_PAINT) {
-                       setTargetEdgeEndPaint((Paint) value);
+                       setTargetEdgeEndUnselectedPaint((Paint) value);
                } else if (vp == DVisualLexicon.EDGE_TARGET_ARROW_SHAPE) {
                        setTargetEdgeEnd(((ArrowShape) 
value).getRendererTypeID());
                } else if (vp == DVisualLexicon.EDGE_SOURCE_ARROW_SHAPE) {
@@ -140,11 +146,16 @@
 
        public void setTargetEdgeEndSelectedPaint(Paint paint) {
                synchronized (lock) {
+                       edgeDetails.setTargetArrowSelectedPaintDefault(paint);
+               }
+       }
+
+       public void setTargetEdgeEndUnselectedPaint(Paint paint) {
+               synchronized (lock) {
                        edgeDetails.setTargetArrowPaintDefault(paint);
                }
        }
 
-
        public void setSourceEdgeEndPaint(Paint paint) {
                synchronized (lock) {
                        edgeDetails.setSourceArrowPaintDefault(paint);

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