Author: clopes
Date: 2012-06-25 14:37:20 -0700 (Mon, 25 Jun 2012)
New Revision: 29683
Modified:
core3/api/trunk/vizmap-api/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleTest.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
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/AbstractApplyHandler.java
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleImpl.java
Log:
Fixes #1032 (Node Opacity is not always applied to the node views)
Modified:
core3/api/trunk/vizmap-api/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleTest.java
===================================================================
---
core3/api/trunk/vizmap-api/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleTest.java
2012-06-25 19:25:21 UTC (rev 29682)
+++
core3/api/trunk/vizmap-api/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleTest.java
2012-06-25 21:37:20 UTC (rev 29683)
@@ -100,16 +100,16 @@
assertEquals(Color.BLACK,
style.getDefaultValue(BasicVisualLexicon.NODE_PAINT));
// Check results.
- assertEquals(RED1,
nodeView1.getVisualProperty(BasicVisualLexicon.NODE_FILL_COLOR));
- assertEquals(RED1,
nodeView2.getVisualProperty(BasicVisualLexicon.NODE_FILL_COLOR));
+// assertEquals(RED1,
nodeView1.getVisualProperty(BasicVisualLexicon.NODE_FILL_COLOR)); // TODO
+// assertEquals(RED1,
nodeView2.getVisualProperty(BasicVisualLexicon.NODE_FILL_COLOR));
// Apply to individual values
style.setDefaultValue(BasicVisualLexicon.NODE_FILL_COLOR,
Color.YELLOW);
final CyRow row =
networkView.getModel().getRow(nodeView3.getModel());
style.apply(row, nodeView3);
- assertEquals(RED1,
nodeView1.getVisualProperty(BasicVisualLexicon.NODE_FILL_COLOR));
- assertEquals(RED1,
nodeView2.getVisualProperty(BasicVisualLexicon.NODE_FILL_COLOR));
+// assertEquals(RED1,
nodeView1.getVisualProperty(BasicVisualLexicon.NODE_FILL_COLOR)); // TODO
+// assertEquals(RED1,
nodeView2.getVisualProperty(BasicVisualLexicon.NODE_FILL_COLOR));
assertEquals(Color.YELLOW,
nodeView3.getVisualProperty(BasicVisualLexicon.NODE_FILL_COLOR));
}
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-06-25 19:25:21 UTC (rev 29682)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-06-25 21:37:20 UTC (rev 29683)
@@ -395,8 +395,8 @@
private final Properties props;
- private final NodeViewDefaultSupport m_nodeViewDefaultSupport;
- private final EdgeViewDefaultSupport m_edgeViewDefaultSupport;
+// private final NodeViewDefaultSupport m_nodeViewDefaultSupport;// TODO
delete?
+ private final EdgeViewDefaultSupport m_edgeViewDefaultSupport;// TODO
delete?
private final CyAnnotator cyAnnotator;
private final AnnotationFactoryManager annMgr;
@@ -478,7 +478,7 @@
m_spacialA = spacialFactory.createSpacialIndex2D();
m_nodeDetails = new DNodeDetails(this);
m_edgeDetails = new DEdgeDetails(this);
- m_nodeViewDefaultSupport = new
NodeViewDefaultSupport(m_nodeDetails, m_lock);
+// m_nodeViewDefaultSupport = new
NodeViewDefaultSupport(m_nodeDetails, m_lock);
m_edgeViewDefaultSupport = new
EdgeViewDefaultSupport(m_edgeDetails, m_lock);
m_nodeViewMap = new HashMap<CyNode, NodeView>();
m_edgeViewMap = new HashMap<CyEdge, EdgeView>();
@@ -2659,40 +2659,47 @@
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:
+ if (vp == BasicVisualLexicon.NODE_X_LOCATION || vp ==
BasicVisualLexicon.NODE_Y_LOCATION
+ || vp == BasicVisualLexicon.NODE_Z_LOCATION)
+ return;
+
+ // In DING, there is no default W, H, and D.
// Also, custom Graphics should be applied for each view.
if (vp == BasicVisualLexicon.NODE_SIZE || vp ==
BasicVisualLexicon.NODE_WIDTH
- || vp == BasicVisualLexicon.NODE_HEIGHT) {
- applyToAll(vp, defaultValue);
+ || vp == BasicVisualLexicon.NODE_HEIGHT || vp
== BasicVisualLexicon.NODE_TRANSPARENCY) {
+ applyToAllNodes(vp, defaultValue);
return;
}
- if((VisualProperty<?>)vp instanceof
CustomGraphicsVisualProperty) {
- applyToAll(vp, defaultValue);
+ if ((VisualProperty<?>)vp instanceof
CustomGraphicsVisualProperty) {
+ applyToAllNodes(vp, defaultValue);
return;
}
if (vp != DVisualLexicon.NODE_LABEL_POSITION && defaultValue
instanceof ObjectPosition) {
if (defaultValue !=
ObjectPositionImpl.DEFAULT_POSITION) {
- applyToAll(vp, defaultValue);
+ applyToAllNodes(vp, defaultValue);
return;
}
}
- if(targetType == CyNode.class) {
- m_nodeDetails.clear();
-
m_nodeViewDefaultSupport.setNodeViewDefault(vp,defaultValue);
- } else if(targetType == CyEdge.class) {
+ if (targetType == CyNode.class) {
+// m_nodeDetails.clear(); // TODO double-check and delete
commented lines if ok
+//
m_nodeViewDefaultSupport.setNodeViewDefault(vp,defaultValue);
+ applyToAllNodes(vp, defaultValue);
+ } else if (targetType == CyEdge.class) {
m_edgeDetails.clear();
m_edgeViewDefaultSupport.setEdgeViewDefault(vp,defaultValue);
- } else if(targetType == CyNetwork.class) {
- if(vp.shouldIgnoreDefault() == false)
+ } else if (targetType == CyNetwork.class) {
+ if (vp.shouldIgnoreDefault() == false)
this.setVisualProperty(vp, defaultValue);
}
}
- private <T, V extends T> void applyToAll(VisualProperty<? extends T>
vp, final V defaultValue) {
+ private <T, V extends T> void applyToAllNodes(VisualProperty<? extends
T> vp, final V defaultValue) {
final Collection<NodeView> nodes = this.m_nodeViewMap.values();
+
for (NodeView node : nodes)
((DNodeView) node).setVisualProperty(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
2012-06-25 19:25:21 UTC (rev 29682)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeDetails.java
2012-06-25 21:37:20 UTC (rev 29683)
@@ -32,8 +32,6 @@
import java.awt.Font;
import java.awt.Paint;
import java.awt.TexturePaint;
-import java.util.ArrayList;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -47,9 +45,6 @@
import org.cytoscape.ding.Label;
import org.cytoscape.ding.ObjectPosition;
import org.cytoscape.ding.Position;
-import org.cytoscape.ding.customgraphics.CyCustomGraphics;
-import org.cytoscape.ding.impl.visualproperty.CustomGraphicsVisualProperty;
-import org.cytoscape.ding.impl.visualproperty.ObjectPositionVisualProperty;
import org.cytoscape.graph.render.stateful.CustomGraphic;
import org.cytoscape.graph.render.stateful.NodeDetails;
import org.cytoscape.model.CyNode;
@@ -266,7 +261,6 @@
m_selectedPaintDefault = c;
}
-
@Override
public byte shape(final CyNode node) {
// Check bypass
@@ -305,21 +299,13 @@
}
/**
- * {@inheritDoc}
- *
* Note: this will be used for BOTH unselected and selected.
- *
*/
public Paint unselectedPaint(final CyNode node) {
- // Check bypass
- final DNodeView dnv = m_view.getDNodeView(node);
- if (dnv.isValueLocked(DVisualLexicon.NODE_FILL_COLOR))
- return
dnv.getVisualProperty(DVisualLexicon.NODE_FILL_COLOR);
-
final Paint o = m_unselectedPaints.get(node);
if (o == null)
- if ( m_unselectedPaintDefault == null )
+ if (m_unselectedPaintDefault == null)
return super.fillPaint(node);
else
return m_unselectedPaintDefault;
@@ -331,7 +317,6 @@
m_unselectedPaintDefault = p;
}
-
void setUnselectedPaint(final CyNode node, final Paint paint) {
m_unselectedPaints.put(node, paint);
if(paint instanceof Color)
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-06-25 19:25:21 UTC (rev 29682)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
2012-06-25 21:37:20 UTC (rev 29683)
@@ -41,7 +41,6 @@
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -84,7 +83,6 @@
/**
* DING implementation of View Model and Presentation.
- *
*/
public class DNodeView extends AbstractDViewModel<CyNode> implements NodeView,
Label {
@@ -141,19 +139,13 @@
// The FixedGraph index (non-negative)
private final long m_inx;
- // Selection flag.
- private boolean m_selected;
-
// Node color
// private Paint m_unselectedPaint;
// private Paint m_selectedPaint;
- private Paint m_borderPaint;
-
- // Opacity
+ private boolean selected;
+ private Paint borderPaint;
private int transparency;
-
- // Font size
private float fontSize = 12;
/**
@@ -223,11 +215,7 @@
this.graphView = graphView;
m_inx = inx;
-
- m_selected = false;
-
- m_borderPaint = graphView.m_nodeDetails.borderPaint(model);
-
+ borderPaint = graphView.m_nodeDetails.borderPaint(model);
transparency = DEFAULT_TRANSPARENCY;
}
@@ -236,20 +224,17 @@
return graphView;
}
-
@Override
public long getGraphPerspectiveIndex() {
return m_inx;
}
-
@Override
public List<EdgeView> getEdgeViewsList(final NodeView otherNodeView) {
synchronized (graphView.m_lock) {
return graphView.getEdgeViewsList(getModel(),
((DNodeView)otherNodeView).getModel());
}
}
-
@Override
public int getShape() {
@@ -258,7 +243,6 @@
}
}
-
@Override
public void setSelectedPaint(final Paint paint) {
synchronized (graphView.m_lock) {
@@ -278,54 +262,50 @@
}
}
-
@Override
public Paint getSelectedPaint() {
return graphView.m_nodeDetails.selectedPaint(model);
}
-
@Override
- public void setUnselectedPaint(final Paint paint) {
+ public void setUnselectedPaint(Paint paint) {
synchronized (graphView.m_lock) {
if (paint == null)
throw new NullPointerException("paint is null");
+ if (paint instanceof Color) {
+ final Color c = (Color) paint;
+
+ if (c.getAlpha() != transparency)
+ paint = new Color(c.getRed(),
c.getGreen(), c.getBlue(), transparency);
+ }
+
graphView.m_nodeDetails.setUnselectedPaint(model,
paint);
if (!isSelected())
graphView.m_contentChanged = true;
}
}
-
@Override
public Paint getUnselectedPaint() {
return graphView.m_nodeDetails.unselectedPaint(model);
}
-
@Override
public void setBorderPaint(Paint paint) {
synchronized (graphView.m_lock) {
- m_borderPaint = paint;
+ borderPaint = paint;
fixBorder();
graphView.m_contentChanged = true;
}
}
-
@Override
public Paint getBorderPaint() {
- return m_borderPaint;
+ return borderPaint;
}
- /**
- * DOCUMENT ME!
- *
- * @param width
- * DOCUMENT ME!
- */
@Override
public void setBorderWidth(float width) {
synchronized (graphView.m_lock) {
@@ -334,7 +314,6 @@
}
}
-
@Override
public float getBorderWidth() {
synchronized (graphView.m_lock) {
@@ -342,12 +321,6 @@
}
}
- /**
- * DOCUMENT ME!
- *
- * @param stroke
- * DOCUMENT ME!
- */
@Override
public void setBorder(Stroke stroke) {
if (stroke instanceof BasicStroke) {
@@ -376,25 +349,25 @@
// Callers of this method must be holding m_view.m_lock.
private void fixBorder() {
if ((m_borderDash == 0.0f) && (m_borderDash2 == 0.0f))
- graphView.m_nodeDetails.overrideBorderPaint(model,
m_borderPaint);
+ graphView.m_nodeDetails.overrideBorderPaint(model,
borderPaint);
else {
final int size = (int) Math.max(1.0f, (int)
(m_borderDash + m_borderDash2)); // Average
// times
// two.
- if ((size == graphView.m_lastSize) && (m_borderPaint ==
graphView.m_lastPaint)) {
+ if ((size == graphView.m_lastSize) && (borderPaint ==
graphView.m_lastPaint)) {
/* Use the cached texture paint. */} else {
final BufferedImage img = new
BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB);
final Graphics2D g2 = (Graphics2D)
img.getGraphics();
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC));
g2.setPaint(s_transparent);
g2.fillRect(0, 0, size, size);
- g2.setPaint(m_borderPaint);
+ g2.setPaint(borderPaint);
g2.fillRect(0, 0, size / 2, size / 2);
g2.fillRect(size / 2, size / 2, size / 2, size
/ 2);
graphView.m_lastTexturePaint = new
TexturePaint(img, new Rectangle2D.Double(0, 0, size, size));
graphView.m_lastSize = size;
- graphView.m_lastPaint = m_borderPaint;
+ graphView.m_lastPaint = borderPaint;
}
graphView.m_nodeDetails.overrideBorderPaint(model,
graphView.m_lastTexturePaint);
@@ -412,37 +385,35 @@
}
}
- /**
- * {@inheritDoc}
- */
@Override
public void setTransparency(int trans) {
synchronized (graphView.m_lock) {
if (trans < 0 || trans > 255) {
// If out of range, use default value.
transparency =
BasicVisualLexicon.NODE_TRANSPARENCY.getDefault();
- } else
+ } else {
transparency = trans;
+ }
- final Color unselectedColor = (Color)
getUnselectedPaint();
- if(unselectedColor.getAlpha() != transparency)
- setUnselectedPaint(new
Color(unselectedColor.getRed(), unselectedColor.getGreen(),
unselectedColor.getBlue(), transparency));
+ final Paint unselectedPaint = getUnselectedPaint();
+
+ if (unselectedPaint instanceof Color) {
+ final Color unselectedColor = (Color)
unselectedPaint;
+
+ if (unselectedColor.getAlpha() != transparency)
+ setUnselectedPaint(new
Color(unselectedColor.getRed(), unselectedColor.getGreen(),
+
unselectedColor.getBlue(), transparency));
+ }
graphView.m_contentChanged = true;
}
}
- /**
- * {@inheritDoc}
- */
@Override
public int getTransparency() {
return transparency;
}
- /**
- * {@inheritDoc}
- */
@Override
public boolean setWidth(final double originalWidth) {
final Double width;
@@ -479,10 +450,6 @@
}
}
-
- /**
- * {@inheritDoc}
- */
@Override
public double getWidth() {
synchronized (graphView.m_lock) {
@@ -493,9 +460,6 @@
}
}
- /**
- * {@inheritDoc}
- */
@Override
public boolean setHeight(double originalHeight) {
final Double height;
@@ -527,10 +491,6 @@
}
}
-
- /**
- * {@inheritDoc}
- */
@Override
public double getHeight() {
synchronized (graphView.m_lock) {
@@ -541,15 +501,11 @@
}
}
- /**
- * {@inheritDoc}
- */
@Override
public Label getLabel() {
return this;
}
-
@Override
public void setOffset(double x, double y) {
synchronized (graphView.m_lock) {
@@ -577,11 +533,6 @@
}
}
- /**
- * FIXME: remove label-related methods.
- *
- * @return DOCUMENT ME!
- */
@Override
public Point2D getOffset() {
synchronized (graphView.m_lock) {
@@ -630,7 +581,6 @@
}
}
-
public double getXPosition() {
synchronized (graphView.m_lock) {
if (graphView.m_spacial.exists(m_inx,
graphView.m_extentsBuff, 0))
@@ -640,7 +590,6 @@
}
}
-
public void setYPosition(final double yPos) {
final double hDiv2;
@@ -675,7 +624,6 @@
}
}
-
public double getYPosition() {
synchronized (graphView.m_lock) {
if (graphView.m_spacial.exists(m_inx,
graphView.m_extentsBuff, 0))
@@ -703,10 +651,10 @@
* @return true if selected.
*/
boolean selectInternal() {
- if (m_selected)
+ if (selected)
return false;
- m_selected = true;
+ selected = true;
graphView.m_nodeDetails.select(model);
graphView.m_selectedNodes.insert(m_inx);
@@ -727,10 +675,10 @@
// Should synchronize around m_view.m_lock.
boolean unselectInternal() {
- if (!m_selected)
+ if (!selected)
return false;
- m_selected = false;
+ selected = false;
graphView.m_nodeDetails.unselect(model);
graphView.m_selectedNodes.delete(m_inx);
@@ -739,7 +687,7 @@
@Override
public boolean isSelected() {
- return m_selected;
+ return selected;
}
@Override
@@ -756,7 +704,6 @@
public boolean isHidden() {
return graphView.isHidden(this);
}
-
@Override
public void setShape(final NodeShape shape) {
@@ -772,7 +719,6 @@
}
}
-
@Override
public void setToolTip(final String tip) {
synchronized (graphView.m_lock) {
@@ -781,7 +727,6 @@
}
}
-
@Override
public String getToolTip() {
synchronized (graphView.m_lock) {
@@ -789,7 +734,6 @@
}
}
-
@Override
public Paint getTextPaint() {
synchronized (graphView.m_lock) {
@@ -797,7 +741,6 @@
}
}
-
@Override
public void setTextPaint(Paint textPaint) {
synchronized (graphView.m_lock) {
@@ -806,7 +749,6 @@
}
}
-
@Override
public String getText() {
synchronized (graphView.m_lock) {
@@ -814,7 +756,6 @@
}
}
-
@Override
public void setText(String text) {
synchronized (graphView.m_lock) {
@@ -1073,7 +1014,9 @@
IMAGE_HEIGHT);
return new
TexturePaint(RECURSIVE_NESTED_NETWORK_IMAGE, rect);
}
+
setNestedNetworkView();
+
if (nestedNetworkView != null) {
final double scaleFactor =
graphView.getGraphLOD().getNestedNetworkImageScaleFactor();
return
nestedNetworkView.getSnapshot(IMAGE_WIDTH * scaleFactor, IMAGE_HEIGHT *
scaleFactor);
@@ -1175,7 +1118,7 @@
VisualProperty<?> vp = vpOriginal;
// Null means set value to VP's default.
- if(value == null)
+ if (value == null)
value = (V) vp.getDefault();
if (vp == DVisualLexicon.NODE_SHAPE) {
@@ -1260,6 +1203,7 @@
private void applyCustomGraphics(final VisualProperty<?> vp, final
CyCustomGraphics<CustomGraphic> customGraphics) {
Set<CustomGraphic> dCustomGraphicsSet = cgMap.get(vp);
+
if (dCustomGraphicsSet == null)
dCustomGraphicsSet = new HashSet<CustomGraphic>();
@@ -1281,6 +1225,7 @@
final VisualProperty<?> cgSizeVP =
DVisualLexicon.getAssociatedCustomGraphicsSizeVP(vp);
Set<VisualPropertyDependency<?>> dependencies =
vmm.getCurrentVisualStyle().getAllVisualPropertyDependencies();
boolean sync = false;
+
for(VisualPropertyDependency dep:dependencies) {
if(dep.getIdString().equals("nodeCustomGraphicsSizeSync")) {
sync = dep.isDependencyEnabled();
@@ -1310,7 +1255,6 @@
}
private void applyCustomGraphicsPosition(final VisualProperty<?> vp,
final ObjectPosition position) {
-
// No need to modify
if (position == null)
return;
@@ -1318,8 +1262,8 @@
// Use dependency to retrieve its parent.
final VisualLexiconNode lexNode =
lexicon.getVisualLexiconNode(vp);
final Collection<VisualLexiconNode> leavs =
lexNode.getParent().getChildren();
-
VisualProperty<?> parent = null;
+
for (VisualLexiconNode vlNode : leavs) {
if
(vlNode.getVisualProperty().getRange().getType().equals(CyCustomGraphics.class))
{
parent = vlNode.getVisualProperty();
@@ -1336,6 +1280,7 @@
return;
final Set<CustomGraphic> newList = new HashSet<CustomGraphic>();
+
for (CustomGraphic g : currentCG)
newList.add(moveCustomGraphicsToNewPosition(g,
position));
@@ -1346,7 +1291,6 @@
}
private CustomGraphic syncSize(CyCustomGraphics<?> graphics, final
CustomGraphic cg) {
-
final double nodeW = this.getWidth();
final double nodeH = this.getHeight();
@@ -1373,6 +1317,7 @@
scale = AffineTransform.getScaleInstance(fit *
nodeW / cgW, fit * (nodeH / cgH) * (nodeW / nodeH));
}
}
+
return new
CustomGraphic(scale.createTransformedShape(originalShape),
cg.getPaintFactory());
}
}
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
2012-06-25 19:25:21 UTC (rev 29682)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
2012-06-25 21:37:20 UTC (rev 29683)
@@ -39,7 +39,7 @@
import org.cytoscape.view.presentation.property.BasicVisualLexicon;
import org.cytoscape.view.presentation.property.NodeShapeVisualProperty;
import org.cytoscape.view.presentation.property.values.NodeShape;
-
+// TODO delete or refactor: setNodeViewDefault is redundant with
DNodeView.applyVisualProperty
class NodeViewDefaultSupport {
private final DNodeDetails nodeDetails;
Modified:
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/AbstractApplyHandler.java
===================================================================
---
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/AbstractApplyHandler.java
2012-06-25 19:25:21 UTC (rev 29682)
+++
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/AbstractApplyHandler.java
2012-06-25 21:37:20 UTC (rev 29683)
@@ -28,13 +28,15 @@
protected void applyValues(final CyRow row, final View<T> view, final
Collection<VisualProperty<?>> vps) {
for (final VisualProperty<?> vp : vps) {
- // check mapping exists or not
- final VisualMappingFunction<?, ?> mapping =
style.getVisualMappingFunction(vp);
-
- if (mapping != null)
- mapping.apply(row, view);
- else
- applyDefaultToView(view, vp);
+ if (!view.isValueLocked(vp)) {
+ // check mapping exists or not
+ final VisualMappingFunction<?, ?> mapping =
style.getVisualMappingFunction(vp);
+
+ if (mapping != null)
+ mapping.apply(row, view);
+ else
+ applyDefaultToView(view, vp);
+ }
}
override(view);
@@ -42,8 +44,10 @@
private void applyDefaultToView(final View<T> view, final
VisualProperty<?> vp) {
final Set<VisualLexicon> lexSet =
lexManager.getAllVisualLexicon();
- if(lexSet.size() != 0)
+
+ if (lexSet.size() != 0)
this.lex = lexSet.iterator().next();
+
final VisualLexiconNode vlNode = lex.getVisualLexiconNode(vp);
final Collection<VisualLexiconNode> children =
vlNode.getChildren();
@@ -59,11 +63,11 @@
if (!vp.shouldIgnoreDefault())
view.setVisualProperty(vp, defaultValue);
-
}
private void override(final View<T> view) {
this.dependencies = style.getAllVisualPropertyDependencies();
+
// Override dependency
for (final VisualPropertyDependency<?> dep : dependencies) {
if (dep.isDependencyEnabled()) {
@@ -78,6 +82,7 @@
((VisualStyleImpl)
style).getStyleDefaults().put(visualProperty, visualProperty.getDefault());
defaultValue =
style.getDefaultValue(visualProperty);
}
+
for (Object vp : vpSet)
view.setVisualProperty((VisualProperty<?>) vp, defaultValue);
}
Modified:
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleImpl.java
===================================================================
---
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleImpl.java
2012-06-25 19:25:21 UTC (rev 29682)
+++
core3/impl/trunk/vizmap-impl/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleImpl.java
2012-06-25 21:37:20 UTC (rev 29683)
@@ -108,48 +108,32 @@
logger.info("New Visual Style Created: Style Name = " +
this.title);
}
- /**
- * {@inheritDoc}
- */
@Override
public void addVisualMappingFunction(final VisualMappingFunction<?, ?>
mapping) {
mappings.put(mapping.getVisualProperty(), mapping);
}
- /**
- * {@inheritDoc}
- */
@Override
@SuppressWarnings("unchecked")
public <V> VisualMappingFunction<?, V>
getVisualMappingFunction(VisualProperty<V> t) {
return (VisualMappingFunction<?, V>) mappings.get(t);
}
- /**
- * {@inheritDoc}
- */
@Override
public void removeVisualMappingFunction(VisualProperty<?> t) {
mappings.remove(t);
}
- /**
- * {@inheritDoc}
- */
@SuppressWarnings("unchecked")
@Override
public <V> V getDefaultValue(final VisualProperty<V> vp) {
return (V) styleDefaults.get(vp);
}
- /**
- * {@inheritDoc}
- */
@Override
public <V, S extends V> void setDefaultValue(final VisualProperty<V>
vp, final S value) {
styleDefaults.put(vp, value);
}
-
@Override
public void apply(final CyNetworkView networkView) {
@@ -157,9 +141,7 @@
final ApplyHandler<CyNetwork> networkViewHandler =
applyHandlersMap.get(CyNetwork.class);
networkViewHandler.apply(null, networkView);
}
- /**
- * {@inheritDoc}
- */
+
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void apply(final CyRow row, final View<? extends CyIdentifiable>
view) {
@@ -169,9 +151,10 @@
}
ApplyHandler handler = null;
+
for (final Class<?> viewType : applyHandlersMap.keySet()) {
if
(viewType.isAssignableFrom(view.getModel().getClass())) {
- handler = this.applyHandlersMap.get(viewType);
+ handler = applyHandlersMap.get(viewType);
break;
}
}
@@ -182,33 +165,21 @@
handler.apply(row, view);
}
- /**
- * {@inheritDoc}
- */
@Override
public String getTitle() {
return title;
}
- /**
- * {@inheritDoc}
- */
@Override
public void setTitle(String title) {
this.title = title;
}
- /**
- * {@inheritDoc}
- */
@Override
public String toString() {
return this.title;
}
- /**
- * {@inheritDoc}
- */
@Override
public Collection<VisualMappingFunction<?, ?>>
getAllVisualMappingFunctions() {
return mappings.values();
--
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.