Author: kono
Date: 2012-03-05 16:54:36 -0800 (Mon, 05 Mar 2012)
New Revision: 28431

Modified:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/AbstractDCustomGraphics.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/NullCustomGraphics.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/DNodeDetails.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
Log:
fixes #712 Custom Graphics will be reset when user set NullCustomGraphics 
object.

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/AbstractDCustomGraphics.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/AbstractDCustomGraphics.java
      2012-03-06 00:05:51 UTC (rev 28430)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/AbstractDCustomGraphics.java
      2012-03-06 00:54:36 UTC (rev 28431)
@@ -35,11 +35,6 @@
 
        // For tags
        protected final SortedSet<String> tags;
-
-
-//     public AbstractDCustomGraphics(final String displayName) {
-//             this(IDGenerator.getIDGenerator().getNextId(), displayName);
-//     }
        
        
        /**
@@ -101,15 +96,6 @@
        }
 
 
-//     public ObjectPosition getPosition() {
-//             return position;
-//     }
-//
-//     public void setPosition(final ObjectPosition position) {
-//             this.position = position;
-//     }
-       
-
        // This will be used prop file.
        public String toString() {
                String tagStr = "";

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/NullCustomGraphics.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/NullCustomGraphics.java
   2012-03-06 00:05:51 UTC (rev 28430)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/NullCustomGraphics.java
   2012-03-06 00:54:36 UTC (rev 28431)
@@ -7,13 +7,12 @@
 import javax.imageio.ImageIO;
 
 import org.cytoscape.ding.customgraphics.bitmap.URLImageCustomGraphics;
+import org.cytoscape.graph.render.stateful.CustomGraphic;
 
 /**
  * Null object for Custom Graphics. This is used to reset custom graphics on
  * node views.
  * 
- * @author kono
- * 
  */
 public class NullCustomGraphics extends AbstractDCustomGraphics {
        
@@ -29,12 +28,13 @@
                }
        }
 
-       static final CyCustomGraphics NULL = new NullCustomGraphics();
+       static final CyCustomGraphics<CustomGraphic> NULL = new 
NullCustomGraphics();
 
-       public static CyCustomGraphics getNullObject() {
+       public static CyCustomGraphics<CustomGraphic> getNullObject() {
                return NULL;
        }
 
+       // Human readable name of this null object.
        private static final String NAME = "[ Remove Graphics ]";
 
        public NullCustomGraphics() {

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-03-06 00:05:51 UTC (rev 28430)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
     2012-03-06 00:54:36 UTC (rev 28431)
@@ -2949,20 +2949,12 @@
        public <T, V extends T> void setViewDefault(VisualProperty<? extends T> 
vp, V defaultValue) {
                final Class<?> targetType = vp.getTargetDataType();
                
-               // Filter some special cases here: In DING, there is no default 
W, H, and D.
+               // Filter some special cases here: In DING, there is no default 
W, H, and D.  Also, Custm Graphics should be applied for each view.
                if (vp == BasicVisualLexicon.NODE_SIZE || vp == 
BasicVisualLexicon.NODE_WIDTH
-                               || vp == BasicVisualLexicon.NODE_HEIGHT) {
+                               || vp == BasicVisualLexicon.NODE_HEIGHT || 
(VisualProperty<?>)vp instanceof CustomGraphicsVisualProperty) {
                        applyToAll(vp, defaultValue);
                        return;
                }
-               // The following is a bit hacky, and we need to remove this 
when we refactor DING.
-               // Special case: Custom Graphics
-               if((VisualProperty<?>)vp instanceof 
CustomGraphicsVisualProperty) {
-                       if(defaultValue != NullCustomGraphics.getNullObject()) {
-                               applyToAll(vp, defaultValue);
-                               return;
-                       }
-               }
                
                if (vp != DVisualLexicon.NODE_LABEL_POSITION && defaultValue 
instanceof ObjectPosition) {
                        if (defaultValue != 
ObjectPositionImpl.DEFAULT_POSITION) {

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
   2012-03-06 00:05:51 UTC (rev 28430)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeDetails.java
   2012-03-06 00:54:36 UTC (rev 28431)
@@ -44,7 +44,6 @@
 import org.cytoscape.ding.DVisualLexicon;
 import org.cytoscape.ding.Justification;
 import org.cytoscape.ding.Label;
-import org.cytoscape.ding.NodeView;
 import org.cytoscape.ding.ObjectPosition;
 import org.cytoscape.ding.Position;
 import org.cytoscape.ding.customgraphics.CyCustomGraphics;
@@ -53,7 +52,6 @@
 import org.cytoscape.graph.render.stateful.CustomGraphic;
 import org.cytoscape.graph.render.stateful.NodeDetails;
 import org.cytoscape.model.CyNode;
-import org.cytoscape.util.intr.IntObjHash;
 import org.cytoscape.view.model.View;
 import org.cytoscape.view.presentation.property.NodeShapeVisualProperty;
 import org.cytoscape.view.presentation.property.values.NodeShape;

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
      2012-03-06 00:05:51 UTC (rev 28430)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
      2012-03-06 00:54:36 UTC (rev 28431)
@@ -74,7 +74,6 @@
 import org.cytoscape.view.model.VisualProperty;
 import org.cytoscape.view.presentation.property.BasicVisualLexicon;
 import org.cytoscape.view.presentation.property.NodeShapeVisualProperty;
-import org.cytoscape.view.presentation.property.BasicVisualLexicon;
 import org.cytoscape.view.presentation.property.values.LineType;
 import org.cytoscape.view.presentation.property.values.NodeShape;
 
@@ -1248,14 +1247,12 @@
        }
 
        private void applyCustomGraphics(final VisualProperty<?> vp, final 
CyCustomGraphics<CustomGraphic> customGraphics) {
-
                Set<CustomGraphic> dCustomGraphicsSet = cgMap.get(vp);
                if (dCustomGraphicsSet == null)
                        dCustomGraphicsSet = new HashSet<CustomGraphic>();
 
-               for (final CustomGraphic cg : dCustomGraphicsSet) {
+               for (final CustomGraphic cg : dCustomGraphicsSet)
                        removeCustomGraphic(cg);
-               }
 
                dCustomGraphicsSet.clear();
 

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