Author: kono
Date: 2011-10-11 15:24:04 -0700 (Tue, 11 Oct 2011)
New Revision: 27134

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/DNodeDetails.java
Log:
Clear method for nodes had been added.

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
     2011-10-11 21:53:23 UTC (rev 27133)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
     2011-10-11 22:24:04 UTC (rev 27134)
@@ -2974,9 +2974,10 @@
                        return;
                }
                
-               if(targetType == CyNode.class)
+               if(targetType == CyNode.class) {
+                       m_nodeDetails.clear();
                        
m_nodeViewDefaultSupport.setNodeViewDefault(vp,defaultValue);
-               else if(targetType == CyEdge.class) {
+               } else if(targetType == CyEdge.class) {
                        m_edgeDetails.clear();
                        
m_edgeViewDefaultSupport.setEdgeViewDefault(vp,defaultValue);
                }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeDetails.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeDetails.java
   2011-10-11 21:53:23 UTC (rev 27133)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeDetails.java
   2011-10-11 22:24:04 UTC (rev 27134)
@@ -50,31 +50,29 @@
 class DNodeDetails extends IntermediateNodeDetails {
        
        final DGraphView m_view;
-       final IntObjHash m_colorsLowDetail = new IntObjHash();
+       
        final Object m_deletedEntry = new Object();
 
-       // The values are Byte objects; the bytes are shapes defined in
-       // cytoscape.render.immed.GraphGraphics.
-       final Map<Integer, Byte> m_shapes = new HashMap<Integer, Byte>();
-       final Map<Integer, Paint> m_fillPaints = new HashMap<Integer, Paint>();
-       final Map<Integer, Float> m_borderWidths = new HashMap<Integer, 
Float>();
-       final Map<Integer, Paint> m_borderPaints = new HashMap<Integer, 
Paint>();
-       final Map<Integer, Integer> m_labelCounts = new HashMap<Integer, 
Integer>();
-       final Map<Long, String> m_labelTexts = new HashMap<Long, String>();
-       final Map<Long, Font> m_labelFonts = new HashMap<Long, Font>();
-       final Map<Long, Paint> m_labelPaints = new HashMap<Long, Paint>();
-       final Map<Integer, Double> m_labelWidths = new HashMap<Integer, 
Double>();
+       IntObjHash m_colorsLowDetail = new IntObjHash();
+       Map<Integer, Byte> m_shapes = new HashMap<Integer, Byte>();
+       Map<Integer, Paint> m_fillPaints = new HashMap<Integer, Paint>();
+       Map<Integer, Float> m_borderWidths = new HashMap<Integer, Float>();
+       Map<Integer, Paint> m_borderPaints = 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>();
+       Map<Long, Paint> m_labelPaints = new HashMap<Long, Paint>();
+       Map<Integer, Double> m_labelWidths = new HashMap<Integer, Double>();
        
-       final Map<Integer, Integer> m_labelTextAnchors = new HashMap<Integer, 
Integer>();
-       final Map<Integer, Integer> m_labelNodeAnchors = new HashMap<Integer, 
Integer>();
-       final Map<Integer, Integer> m_labelJustifys = new HashMap<Integer, 
Integer>();
-       final Map<Integer, Double> m_labelOffsetXs = new HashMap<Integer, 
Double>();
-       final Map<Integer, Double> m_labelOffsetYs = new HashMap<Integer, 
Double>();
+       Map<Integer, Integer> m_labelTextAnchors = new HashMap<Integer, 
Integer>();
+       Map<Integer, Integer> m_labelNodeAnchors = new HashMap<Integer, 
Integer>();
+       Map<Integer, Integer> m_labelJustifys = new HashMap<Integer, Integer>();
+       Map<Integer, Double> m_labelOffsetXs = new HashMap<Integer, Double>();
+       Map<Integer, Double> m_labelOffsetYs = new HashMap<Integer, Double>();
        
+       Map<Integer, Double> m_width = new HashMap<Integer, Double>();
        
-       final Map<Integer, Double> m_width = new HashMap<Integer, Double>();
-       
-       final Map<Integer, Paint> m_selectedPaints = new HashMap<Integer, 
Paint>();
+       Map<Integer, Paint> m_selectedPaints = new HashMap<Integer, Paint>();
 
        // Default values
        private Color m_colorLowDetailDefault;
@@ -97,9 +95,38 @@
        private Double m_labelWidthDefault; 
        
 
+       private boolean isCleared = false;
+       
        DNodeDetails(final DGraphView view) {
                m_view = view;
        }
+       
+       void clear() {
+               if(isCleared)
+                       return;
+               
+               m_colorsLowDetail = new IntObjHash();
+               m_shapes = new HashMap<Integer, Byte>();
+               m_fillPaints = new HashMap<Integer, Paint>();
+               m_borderWidths = new HashMap<Integer, Float>();
+               m_borderPaints = new HashMap<Integer, Paint>();
+               m_labelCounts = new HashMap<Integer, Integer>();
+               m_labelTexts = new HashMap<Long, String>();
+               m_labelFonts = new HashMap<Long, Font>();
+               m_labelPaints = new HashMap<Long, Paint>();
+               m_labelWidths = new HashMap<Integer, Double>();
+               
+               m_labelTextAnchors = new HashMap<Integer, Integer>();
+               m_labelNodeAnchors = new HashMap<Integer, Integer>();
+               m_labelJustifys = new HashMap<Integer, Integer>();
+               m_labelOffsetXs = new HashMap<Integer, Double>();
+               m_labelOffsetYs = new HashMap<Integer, Double>();
+               m_width = new HashMap<Integer, Double>();
+               
+               m_selectedPaints = new HashMap<Integer, Paint>();
+               
+               isCleared = true;
+       }
 
        void unregisterNode(final int nodeIdx) {
                final Object o = m_colorsLowDetail.get(nodeIdx);
@@ -164,9 +191,8 @@
        void setSelectedPaintDefault(Paint c) {
                m_selectedPaintDefault = c;
        }
-       
-       
 
+
        /*
         * A null color has the special meaning to remove overridden color.
         */
@@ -176,8 +202,10 @@
 
                        if ((val != null) && (val != m_deletedEntry))
                                m_colorsLowDetail.put(node, m_deletedEntry);
-               } else
+               } else {
                        m_colorsLowDetail.put(node, color);
+                       isCleared = false;
+               }
        }
 
        @Override
@@ -203,6 +231,7 @@
         */
        void overrideShape(int node, DNodeShape shape) {
                m_shapes.put(node, shape.getNativeShape());
+               isCleared = false;
        }
 
        /**
@@ -236,6 +265,7 @@
                        m_fillPaints.remove(node);
                else {
                        m_fillPaints.put(node, paint);
+                       isCleared = false;
                }
        }
        
@@ -264,8 +294,10 @@
        void overrideBorderWidth(final int node, final float width) {
                if ((width < 0.0f) || (width == super.borderWidth(node)))
                        m_borderWidths.remove(node);
-               else
+               else {
                        m_borderWidths.put(node, width);
+                       isCleared = false;
+               }
        }
 
        @Override
@@ -291,8 +323,10 @@
        void overrideBorderPaint(final int node, final Paint paint) {
                if ((paint == null) || paint.equals(super.borderPaint(node)))
                        m_borderPaints.remove(node);
-               else
+               else {
                        m_borderPaints.put(node, paint);
+                       isCleared = false;
+               }
        }
 
        @Override
@@ -318,8 +352,10 @@
        void overrideLabelCount(final int node, final int labelCount) {
                if ((labelCount < 0) || (labelCount == super.labelCount(node)))
                        m_labelCounts.remove(node);
-               else
+               else {
                        m_labelCounts.put(node, labelCount);
+                       isCleared = false;
+               }
        }
 
        @Override
@@ -348,8 +384,10 @@
 
                if ((text == null) || text.equals(super.labelText(node, 
labelInx)))
                        m_labelTexts.remove(key);
-               else
+               else {
                        m_labelTexts.put(key, text);
+                       isCleared = false;
+               }
        }
 
        @Override
@@ -378,8 +416,10 @@
 
                if ((font == null) || font.equals(super.labelFont(node, 
labelInx)))
                        m_labelFonts.remove(key);
-               else
+               else {
                        m_labelFonts.put(key, font);
+                       isCleared = false;
+               }
        }
 
        @Override
@@ -408,8 +448,10 @@
 
                if ((paint == null) || paint.equals(super.labelPaint(node, 
labelInx)))
                        m_labelPaints.remove(Long.valueOf(key));
-               else
+               else {
                        m_labelPaints.put(Long.valueOf(key), paint);
+                       isCleared = false;
+               }
        }
 
        // overrides NodeDetails.customGraphicCount():
@@ -457,8 +499,10 @@
        void overrideLabelTextAnchor(final int node, final int inx, final int 
anchor) {
                if (convertG2ND(anchor) == super.labelTextAnchor(node, inx))
                        m_labelTextAnchors.remove(Integer.valueOf(node));
-               else
+               else {
                        m_labelTextAnchors.put(Integer.valueOf(node), 
Integer.valueOf(anchor));
+                       isCleared = false;
+               }
        }
 
        /**
@@ -488,8 +532,10 @@
        void overrideLabelNodeAnchor(final int node, final int inx, final int 
anchor) {
                if (convertG2ND(anchor) == super.labelNodeAnchor(node, inx))
                        m_labelNodeAnchors.remove(Integer.valueOf(node));
-               else
+               else {
                        m_labelNodeAnchors.put(Integer.valueOf(node), 
Integer.valueOf(anchor));
+                       isCleared = false;
+               }
        }
 
        /**
@@ -519,8 +565,10 @@
        void overrideLabelOffsetVectorX(final int node, final int inx, final 
double x) {
                if (((float) x) == super.labelOffsetVectorX(node, inx))
                        m_labelOffsetXs.remove(Integer.valueOf(node));
-               else
+               else {
                        m_labelOffsetXs.put(Integer.valueOf(node), new 
Double(x));
+                       isCleared = false;
+               }
        }
 
        /**
@@ -550,8 +598,10 @@
        void overrideLabelOffsetVectorY(final int node, final int inx, final 
double y) {
                if (((float) y) == super.labelOffsetVectorY(node, inx))
                        m_labelOffsetYs.remove(Integer.valueOf(node));
-               else
+               else {
                        m_labelOffsetYs.put(Integer.valueOf(node), new 
Double(y));
+                       isCleared = false;
+               }
        }
 
        /**
@@ -581,8 +631,10 @@
        void overrideLabelJustify(final int node, final int inx, final int 
justify) {
                if (convertG2ND(justify) == super.labelJustify(node, inx))
                        m_labelJustifys.remove(Integer.valueOf(node));
-               else
+               else {
                        m_labelJustifys.put(Integer.valueOf(node), 
Integer.valueOf(justify));
+                       isCleared = false;
+               }
        }
 
        /**
@@ -605,7 +657,7 @@
        }
 
        void setLabelWidthDefault(double width) {
-               m_labelWidthDefault = Double.valueOf(width);
+               m_labelWidthDefault = width;
        }
        
        /*
@@ -614,8 +666,10 @@
        void overrideLabelWidth(final int node, final double width) {
                if ((width < 0.0) || (width == super.labelWidth(node)))
                        m_labelWidths.remove(node);
-               else
+               else {
                        m_labelWidths.put(node, width);
+                       isCleared = false;
+               }
        }
 
        @Override

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