Author: clopes
Date: 2012-11-15 14:03:37 -0800 (Thu, 15 Nov 2012)
New Revision: 30791
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AbstractViewDefaultSupport.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/DNodeView.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/NodeViewDefaultSupport.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
Log:
Fixes #1552 (Hiding nodes/edges doesn't work)
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AbstractViewDefaultSupport.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AbstractViewDefaultSupport.java
2012-11-15 21:31:36 UTC (rev 30790)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AbstractViewDefaultSupport.java
2012-11-15 22:03:37 UTC (rev 30791)
@@ -3,10 +3,16 @@
import java.awt.Color;
import java.awt.Paint;
+import org.cytoscape.view.model.VisualProperty;
+
public abstract class AbstractViewDefaultSupport {
+ /**
+ * Set the default value for a visual property
+ */
+ protected abstract <V> void setViewDefault(VisualProperty<V> vp, V
value);
+
protected final Color getTransparentColor(final Paint p, final int
transparency) {
-
if (p != null && p instanceof Color)
return new Color(((Color) p).getRed(), ((Color)
p).getGreen(), ((Color) p).getBlue(), transparency);
else
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-11-15 21:31:36 UTC (rev 30790)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeDetails.java
2012-11-15 22:03:37 UTC (rev 30791)
@@ -137,7 +137,7 @@
defaultValues = new HashMap<VisualProperty<?>, Object>();
}
- void clearMappedValues() {
+ void clear() {
if (isCleared)
return;
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-11-15 21:31:36 UTC (rev 30790)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeView.java
2012-11-15 22:03:37 UTC (rev 30791)
@@ -56,7 +56,7 @@
public class DEdgeView extends AbstractDViewModel<CyEdge> implements EdgeView,
Label, EdgeAnchors {
// Parent network view. This view exists only in this network view.
- private final DGraphView dGraphView;
+ private final DGraphView graphView;
private final HandleFactory handleFacgtory;
// Since Fonts are created from size and font face, we need this local
value.
@@ -64,14 +64,14 @@
private LineType lineType;
private boolean selected;
- DEdgeView(final DGraphView dGraphView, final CyEdge model, final
HandleFactory handleFactory) {
+ DEdgeView(final DGraphView graphView, final CyEdge model, final
HandleFactory handleFactory) {
super(model);
- if (dGraphView == null)
+ if (graphView == null)
throw new IllegalArgumentException("Constructor needs
its parent DGraphView.");
this.handleFacgtory = handleFactory;
- this.dGraphView = dGraphView;
+ this.graphView = graphView;
this.selected = false;
this.fontSize =
DVisualLexicon.EDGE_LABEL_FONT_SIZE.getDefault();
}
@@ -84,24 +84,24 @@
@Override
public GraphView getGraphView() {
- return dGraphView;
+ return graphView;
}
@Override
public void setStrokeWidth(final float width) {
- synchronized (dGraphView.m_lock) {
-
dGraphView.m_edgeDetails.overrideSegmentThickness(model, width);
- dGraphView.m_contentChanged = true;
+ synchronized (graphView.m_lock) {
+ graphView.m_edgeDetails.overrideSegmentThickness(model,
width);
+ graphView.m_contentChanged = true;
}
}
@Override
public void setStroke(Stroke stroke) {
- synchronized (dGraphView.m_lock) {
- dGraphView.m_edgeDetails.overrideSegmentStroke(model,
stroke);
- dGraphView.m_contentChanged = true;
+ synchronized (graphView.m_lock) {
+ graphView.m_edgeDetails.overrideSegmentStroke(model,
stroke);
+ graphView.m_contentChanged = true;
}
}
@@ -109,9 +109,9 @@
@Override
public void setLineCurved(int lineType) {
if ((lineType == EdgeView.CURVED_LINES) || (lineType ==
EdgeView.STRAIGHT_LINES)) {
- synchronized (dGraphView.m_lock) {
-
dGraphView.m_edgeDetails.overrideLineCurved(model, lineType);
- dGraphView.m_contentChanged = true;
+ synchronized (graphView.m_lock) {
+
graphView.m_edgeDetails.overrideLineCurved(model, lineType);
+ graphView.m_contentChanged = true;
}
} else
throw new IllegalArgumentException("unrecognized line
type");
@@ -120,15 +120,15 @@
@Override
public void setUnselectedPaint(final Paint paint) {
- synchronized (dGraphView.m_lock) {
+ synchronized (graphView.m_lock) {
if (paint == null)
throw new NullPointerException("paint is null");
- final Paint transpColor = getTransparentColor(paint,
dGraphView.m_edgeDetails.getTransparency(model));
+ final Paint transpColor = getTransparentColor(paint,
graphView.m_edgeDetails.getTransparency(model));
if (!isSelected()) {
-
dGraphView.m_edgeDetails.setUnselectedPaint(model, transpColor);
- dGraphView.m_contentChanged = true;
+
graphView.m_edgeDetails.setUnselectedPaint(model, transpColor);
+ graphView.m_contentChanged = true;
}
}
}
@@ -136,73 +136,73 @@
@Override
public void setSelectedPaint(final Paint paint) {
- synchronized (dGraphView.m_lock) {
+ synchronized (graphView.m_lock) {
if (paint == null)
throw new NullPointerException("paint is null");
- final Paint transpColor = getTransparentColor(paint,
dGraphView.m_edgeDetails.getTransparency(model));
+ final Paint transpColor = getTransparentColor(paint,
graphView.m_edgeDetails.getTransparency(model));
if (isSelected()) {
-
dGraphView.m_edgeDetails.setSelectedPaint(model, transpColor);
- dGraphView.m_contentChanged = true;
+ graphView.m_edgeDetails.setSelectedPaint(model,
transpColor);
+ graphView.m_contentChanged = true;
}
}
}
@Override
public void setSourceEdgeEndSelectedPaint(Paint paint) {
- synchronized (dGraphView.m_lock) {
+ synchronized (graphView.m_lock) {
if (paint == null)
throw new NullPointerException("paint is null");
- final Paint transpColor = getTransparentColor(paint,
dGraphView.m_edgeDetails.getTransparency(model));
+ final Paint transpColor = getTransparentColor(paint,
graphView.m_edgeDetails.getTransparency(model));
if (isSelected()) {
-
dGraphView.m_edgeDetails.overrideSourceArrowSelectedPaint(model, transpColor);
- dGraphView.m_contentChanged = true;
+
graphView.m_edgeDetails.overrideSourceArrowSelectedPaint(model, transpColor);
+ graphView.m_contentChanged = true;
}
}
}
@Override
public void setTargetEdgeEndSelectedPaint(Paint paint) {
- synchronized (dGraphView.m_lock) {
+ synchronized (graphView.m_lock) {
if (paint == null)
throw new NullPointerException("paint is null");
- final Paint transpColor = getTransparentColor(paint,
dGraphView.m_edgeDetails.getTransparency(model));
+ final Paint transpColor = getTransparentColor(paint,
graphView.m_edgeDetails.getTransparency(model));
if (isSelected()) {
-
dGraphView.m_edgeDetails.overrideTargetArrowSelectedPaint(model, transpColor);
- dGraphView.m_contentChanged = true;
+
graphView.m_edgeDetails.overrideTargetArrowSelectedPaint(model, transpColor);
+ graphView.m_contentChanged = true;
}
}
}
@Override
public void setSourceEdgeEndPaint(final Paint paint) {
- synchronized (dGraphView.m_lock) {
+ synchronized (graphView.m_lock) {
if (paint == null)
throw new NullPointerException("paint is null");
- final Paint transpColor = getTransparentColor(paint,
dGraphView.m_edgeDetails.getTransparency(model));
+ final Paint transpColor = getTransparentColor(paint,
graphView.m_edgeDetails.getTransparency(model));
if (!isSelected()) {
-
dGraphView.m_edgeDetails.overrideSourceArrowPaint(model, transpColor);
- dGraphView.m_contentChanged = true;
+
graphView.m_edgeDetails.overrideSourceArrowPaint(model, transpColor);
+ graphView.m_contentChanged = true;
}
}
}
@Override
public void setTargetEdgeEndPaint(Paint paint) {
- synchronized (dGraphView.m_lock) {
+ synchronized (graphView.m_lock) {
if (paint == null)
throw new NullPointerException("paint is null");
- final Paint transpColor = getTransparentColor(paint,
dGraphView.m_edgeDetails.getTransparency(model));
-
dGraphView.m_edgeDetails.overrideTargetArrowPaint(model, transpColor);
+ final Paint transpColor = getTransparentColor(paint,
graphView.m_edgeDetails.getTransparency(model));
+ graphView.m_edgeDetails.overrideTargetArrowPaint(model,
transpColor);
if (!isSelected()) {
- dGraphView.m_contentChanged = true;
+ graphView.m_contentChanged = true;
}
}
}
@@ -210,11 +210,11 @@
private final void select() {
final boolean somethingChanged;
- synchronized (dGraphView.m_lock) {
+ synchronized (graphView.m_lock) {
somethingChanged = selectInternal(false);
if (somethingChanged)
- dGraphView.m_contentChanged = true;
+ graphView.m_contentChanged = true;
}
}
@@ -224,23 +224,23 @@
return false;
selected = true;
- dGraphView.m_edgeDetails.select(model);
- dGraphView.m_selectedEdges.insert(model.getSUID());
+ graphView.m_edgeDetails.select(model);
+ graphView.m_selectedEdges.insert(model.getSUID());
- List<Handle> handles =
dGraphView.m_edgeDetails.getBend(model).getAllHandles();
+ List<Handle> handles =
graphView.m_edgeDetails.getBend(model).getAllHandles();
for (int j = 0; j < handles.size(); j++) {
final Handle handle = handles.get(j);
- final Point2D newPoint =
handle.calculateHandleLocation(dGraphView.getViewModel(),this);
+ final Point2D newPoint =
handle.calculateHandleLocation(graphView.getViewModel(),this);
final double x = newPoint.getX();
final double y = newPoint.getY();
- final double halfSize = dGraphView.getAnchorSize() /
2.0;
+ final double halfSize = graphView.getAnchorSize() / 2.0;
- dGraphView.m_spacialA.insert((model.getSUID() << 6) | j,
+ graphView.m_spacialA.insert((model.getSUID() << 6) | j,
(float) (x - halfSize), (float) (y -
halfSize),
(float) (x + halfSize), (float) (y +
halfSize));
if (selectAnchors)
-
dGraphView.m_selectedAnchors.insert((model.getSUID() << 6) | j);
+
graphView.m_selectedAnchors.insert((model.getSUID() << 6) | j);
}
return true;
}
@@ -248,11 +248,11 @@
public void unselect() {
final boolean somethingChanged;
- synchronized (dGraphView.m_lock) {
+ synchronized (graphView.m_lock) {
somethingChanged = unselectInternal();
if (somethingChanged)
- dGraphView.m_contentChanged = true;
+ graphView.m_contentChanged = true;
}
}
@@ -262,13 +262,13 @@
return false;
selected = false;
- dGraphView.m_edgeDetails.unselect(model);
- dGraphView.m_selectedEdges.delete(model.getSUID());
+ graphView.m_edgeDetails.unselect(model);
+ graphView.m_selectedEdges.delete(model.getSUID());
- final int numHandles =
dGraphView.m_edgeDetails.getBend(model).getAllHandles().size();
+ final int numHandles =
graphView.m_edgeDetails.getBend(model).getAllHandles().size();
for (int j = 0; j < numHandles; j++) {
- dGraphView.m_selectedAnchors.delete((model.getSUID() <<
6) | j);
- dGraphView.m_spacialA.delete((model.getSUID() << 6) |
j);
+ graphView.m_selectedAnchors.delete((model.getSUID() <<
6) | j);
+ graphView.m_spacialA.delete((model.getSUID() << 6) | j);
}
return true;
}
@@ -291,92 +291,92 @@
@Override
public void setSourceEdgeEnd(final int rendererTypeID) {
- synchronized (dGraphView.m_lock) {
- dGraphView.m_edgeDetails.overrideSourceArrow(model,
(byte) rendererTypeID);
+ synchronized (graphView.m_lock) {
+ graphView.m_edgeDetails.overrideSourceArrow(model,
(byte) rendererTypeID);
}
- dGraphView.m_contentChanged = true;
+ graphView.m_contentChanged = true;
}
@Override
public void setTargetEdgeEnd(final int rendererTypeID) {
- synchronized (dGraphView.m_lock) {
- dGraphView.m_edgeDetails.overrideTargetArrow(model,
(byte) rendererTypeID);
+ synchronized (graphView.m_lock) {
+ graphView.m_edgeDetails.overrideTargetArrow(model,
(byte) rendererTypeID);
}
- dGraphView.m_contentChanged = true;
+ graphView.m_contentChanged = true;
}
@Override
public void setToolTip(String tip) {
- dGraphView.m_edgeDetails.m_edgeTooltips.put(model, tip);
+ graphView.m_edgeDetails.m_edgeTooltips.put(model, tip);
}
@Override
public Paint getTextPaint() {
- synchronized (dGraphView.m_lock) {
- return dGraphView.m_edgeDetails.getLabelPaint(model, 0);
+ synchronized (graphView.m_lock) {
+ return graphView.m_edgeDetails.getLabelPaint(model, 0);
}
}
@Override
public void setTextPaint(Paint textPaint) {
- synchronized (dGraphView.m_lock) {
- dGraphView.m_edgeDetails.overrideLabelPaint(model, 0,
textPaint);
- dGraphView.m_contentChanged = true;
+ synchronized (graphView.m_lock) {
+ graphView.m_edgeDetails.overrideLabelPaint(model, 0,
textPaint);
+ graphView.m_contentChanged = true;
}
}
@Override
public String getText() {
- synchronized (dGraphView.m_lock) {
- return dGraphView.m_edgeDetails.getLabelText(model, 0);
+ synchronized (graphView.m_lock) {
+ return graphView.m_edgeDetails.getLabelText(model, 0);
}
}
@Override
public void setText(final String text) {
- synchronized (dGraphView.m_lock) {
- dGraphView.m_edgeDetails.overrideLabelText(model, 0,
text);
+ synchronized (graphView.m_lock) {
+ graphView.m_edgeDetails.overrideLabelText(model, 0,
text);
- if
("".equals(dGraphView.m_edgeDetails.getLabelText(model, 0)))
-
dGraphView.m_edgeDetails.overrideLabelCount(model, 0); // TODO is this correct?
+ if
("".equals(graphView.m_edgeDetails.getLabelText(model, 0)))
+
graphView.m_edgeDetails.overrideLabelCount(model, 0); // TODO is this correct?
else
-
dGraphView.m_edgeDetails.overrideLabelCount(model, 1);
+
graphView.m_edgeDetails.overrideLabelCount(model, 1);
- dGraphView.m_contentChanged = true;
+ graphView.m_contentChanged = true;
}
}
@Override
public Font getFont() {
- synchronized (dGraphView.m_lock) {
- return dGraphView.m_edgeDetails.getLabelFont(model, 0);
+ synchronized (graphView.m_lock) {
+ return graphView.m_edgeDetails.getLabelFont(model, 0);
}
}
@Override
public void setFont(final Font font) {
- synchronized (dGraphView.m_lock) {
- dGraphView.m_edgeDetails.overrideLabelFont(model, 0,
font);
- dGraphView.m_contentChanged = true;
+ synchronized (graphView.m_lock) {
+ graphView.m_edgeDetails.overrideLabelFont(model, 0,
font);
+ graphView.m_contentChanged = true;
}
}
protected final void moveHandleInternal(final int inx, double x, double
y) {
- final Bend bend = dGraphView.m_edgeDetails.getBend(model);
+ final Bend bend = graphView.m_edgeDetails.getBend(model);
final HandleImpl handle = (HandleImpl)
bend.getAllHandles().get(inx);
- handle.defineHandle(dGraphView.getViewModel(), this, x, y);
+ handle.defineHandle(graphView.getViewModel(), this, x, y);
- if (dGraphView.m_spacialA.delete((model.getSUID() << 6) | inx))
- dGraphView.m_spacialA.insert((model.getSUID() << 6) |
inx,
- (float) (x -
(dGraphView.getAnchorSize() / 2.0d)),
- (float) (y -
(dGraphView.getAnchorSize() / 2.0d)),
- (float) (x +
(dGraphView.getAnchorSize() / 2.0d)),
- (float) (y +
(dGraphView.getAnchorSize() / 2.0d)));
+ if (graphView.m_spacialA.delete((model.getSUID() << 6) | inx))
+ graphView.m_spacialA.insert((model.getSUID() << 6) |
inx,
+ (float) (x - (graphView.getAnchorSize()
/ 2.0d)),
+ (float) (y - (graphView.getAnchorSize()
/ 2.0d)),
+ (float) (x + (graphView.getAnchorSize()
/ 2.0d)),
+ (float) (y + (graphView.getAnchorSize()
/ 2.0d)));
}
/**
@@ -386,10 +386,10 @@
* @return new handle index.
*/
protected int addHandlePoint(final Point2D pt) {
- synchronized (dGraphView.m_lock) {
+ synchronized (graphView.m_lock) {
// Obtain existing Bend object
- final Bend bend =
dGraphView.m_edgeDetails.getBend(model, true);
+ final Bend bend =
graphView.m_edgeDetails.getBend(model, true);
if (bend.getAllHandles().size() == 0) {
// anchors object is empty. Add first handle.
@@ -398,18 +398,18 @@
return 0;
}
- final Point2D sourcePt =
dGraphView.getDNodeView(getCyEdge().getSource()).getOffset();
- final Point2D targetPt =
dGraphView.getDNodeView(getCyEdge().getTarget()).getOffset();
+ final Point2D sourcePt =
graphView.getDNodeView(getCyEdge().getSource()).getOffset();
+ final Point2D targetPt =
graphView.getDNodeView(getCyEdge().getTarget()).getOffset();
final Handle firstHandle = bend.getAllHandles().get(0);
- final Point2D point =
firstHandle.calculateHandleLocation(dGraphView.getViewModel(),this);
+ final Point2D point =
firstHandle.calculateHandleLocation(graphView.getViewModel(),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.calculateHandleLocation(dGraphView.getViewModel(),this);
- final Point2D point2 =
handle2.calculateHandleLocation(dGraphView.getViewModel(),this);
+ final Point2D point1 =
handle1.calculateHandleLocation(graphView.getViewModel(),this);
+ final Point2D point2 =
handle2.calculateHandleLocation(graphView.getViewModel(),this);
final double distCand = (pt.distance(point2) +
pt.distance(point1)) - point1.distance(point2);
@@ -421,7 +421,7 @@
final int lastIndex = bend.getAllHandles().size() - 1;
final Handle lastHandle =
bend.getAllHandles().get(lastIndex);
- final Point2D lastPoint =
lastHandle.calculateHandleLocation(dGraphView.getViewModel(),this);
+ final Point2D lastPoint =
lastHandle.calculateHandleLocation(graphView.getViewModel(),this);
final double lastCand = (pt.distance(targetPt) +
pt.distance(lastPoint)) - targetPt.distance(lastPoint);
@@ -443,58 +443,58 @@
* @param handleLocation
*/
private void addHandleInternal(final int insertInx, final Point2D
handleLocation) {
- synchronized (dGraphView.m_lock) {
- final Bend bend =
dGraphView.m_edgeDetails.getBend(model);
- final Handle handle =
handleFacgtory.createHandle(dGraphView, this, handleLocation.getX(),
handleLocation.getY());
+ synchronized (graphView.m_lock) {
+ final Bend bend =
graphView.m_edgeDetails.getBend(model);
+ final Handle handle =
handleFacgtory.createHandle(graphView, this, handleLocation.getX(),
handleLocation.getY());
bend.insertHandleAt(insertInx, handle);
if (selected) {
for (int j = bend.getAllHandles().size() - 1; j
> insertInx; j--) {
-
dGraphView.m_spacialA.exists((model.getSUID() << 6) | (j - 1),
-
dGraphView.m_extentsBuff, 0);
-
dGraphView.m_spacialA.delete((model.getSUID() << 6) | (j - 1));
-
dGraphView.m_spacialA.insert((model.getSUID() << 6) | j,
-
dGraphView.m_extentsBuff[0], dGraphView.m_extentsBuff[1],
-
dGraphView.m_extentsBuff[2], dGraphView.m_extentsBuff[3]);
+
graphView.m_spacialA.exists((model.getSUID() << 6) | (j - 1),
+
graphView.m_extentsBuff, 0);
+
graphView.m_spacialA.delete((model.getSUID() << 6) | (j - 1));
+
graphView.m_spacialA.insert((model.getSUID() << 6) | j,
+
graphView.m_extentsBuff[0], graphView.m_extentsBuff[1],
+
graphView.m_extentsBuff[2], graphView.m_extentsBuff[3]);
- if
(dGraphView.m_selectedAnchors.delete((model.getSUID() << 6) | (j - 1)))
-
dGraphView.m_selectedAnchors.insert((model.getSUID() << 6) | j);
+ if
(graphView.m_selectedAnchors.delete((model.getSUID() << 6) | (j - 1)))
+
graphView.m_selectedAnchors.insert((model.getSUID() << 6) | j);
}
- dGraphView.m_spacialA.insert((model.getSUID()
<< 6) | insertInx,
- (float) (handleLocation.getX()
- (dGraphView.getAnchorSize() / 2.0d)),
- (float) (handleLocation.getY()
- (dGraphView.getAnchorSize() / 2.0d)),
- (float) (handleLocation.getX()
+ (dGraphView.getAnchorSize() / 2.0d)),
- (float) (handleLocation.getY()
+ (dGraphView.getAnchorSize() / 2.0d)));
+ graphView.m_spacialA.insert((model.getSUID() <<
6) | insertInx,
+ (float) (handleLocation.getX()
- (graphView.getAnchorSize() / 2.0d)),
+ (float) (handleLocation.getY()
- (graphView.getAnchorSize() / 2.0d)),
+ (float) (handleLocation.getX()
+ (graphView.getAnchorSize() / 2.0d)),
+ (float) (handleLocation.getY()
+ (graphView.getAnchorSize() / 2.0d)));
}
- dGraphView.m_contentChanged = true;
+ graphView.m_contentChanged = true;
}
}
void removeHandle(int inx) {
- synchronized (dGraphView.m_lock) {
- final Bend bend =
dGraphView.m_edgeDetails.getBend(model);
+ synchronized (graphView.m_lock) {
+ final Bend bend =
graphView.m_edgeDetails.getBend(model);
bend.removeHandleAt(inx);
//m_anchors.remove(inx);
if (selected) {
- dGraphView.m_spacialA.delete((model.getSUID()
<< 6) | inx);
-
dGraphView.m_selectedAnchors.delete((model.getSUID() << 6) | inx);
+ graphView.m_spacialA.delete((model.getSUID() <<
6) | inx);
+
graphView.m_selectedAnchors.delete((model.getSUID() << 6) | inx);
for (int j = inx; j <
bend.getAllHandles().size(); j++) {
-
dGraphView.m_spacialA.exists((model.getSUID() << 6) | (j + 1),
-
dGraphView.m_extentsBuff, 0);
-
dGraphView.m_spacialA.delete((model.getSUID() << 6) | (j + 1));
-
dGraphView.m_spacialA.insert((model.getSUID() << 6) | j,
-
dGraphView.m_extentsBuff[0], dGraphView.m_extentsBuff[1],
-
dGraphView.m_extentsBuff[2], dGraphView.m_extentsBuff[3]);
+
graphView.m_spacialA.exists((model.getSUID() << 6) | (j + 1),
+
graphView.m_extentsBuff, 0);
+
graphView.m_spacialA.delete((model.getSUID() << 6) | (j + 1));
+
graphView.m_spacialA.insert((model.getSUID() << 6) | j,
+
graphView.m_extentsBuff[0], graphView.m_extentsBuff[1],
+
graphView.m_extentsBuff[2], graphView.m_extentsBuff[3]);
- if
(dGraphView.m_selectedAnchors.delete((model.getSUID() << 6) | (j + 1)))
-
dGraphView.m_selectedAnchors.insert((model.getSUID() << 6) | j);
+ if
(graphView.m_selectedAnchors.delete((model.getSUID() << 6) | (j + 1)))
+
graphView.m_selectedAnchors.insert((model.getSUID() << 6) | j);
}
}
- dGraphView.m_contentChanged = true;
+ graphView.m_contentChanged = true;
}
}
@@ -505,14 +505,14 @@
if(isValueLocked(DVisualLexicon.EDGE_BEND))
bend = this.getVisualProperty(DVisualLexicon.EDGE_BEND);
else
- bend = dGraphView.m_edgeDetails.getBend(model);
+ bend = graphView.m_edgeDetails.getBend(model);
final int numHandles = bend.getAllHandles().size();
if (numHandles == 0)
return 0;
- if (dGraphView.m_edgeDetails.getLineCurved(model) ==
EdgeView.CURVED_LINES)
+ if (graphView.m_edgeDetails.getLineCurved(model) ==
EdgeView.CURVED_LINES)
return numHandles;
else
return 2 * numHandles;
@@ -527,30 +527,30 @@
if(isValueLocked(DVisualLexicon.EDGE_BEND))
bend = this.getVisualProperty(DVisualLexicon.EDGE_BEND);
else
- bend = dGraphView.m_edgeDetails.getBend(model);
+ bend = graphView.m_edgeDetails.getBend(model);
final Handle handle;
- if (dGraphView.m_edgeDetails.getLineCurved(model) ==
EdgeView.CURVED_LINES)
+ if (graphView.m_edgeDetails.getLineCurved(model) ==
EdgeView.CURVED_LINES)
handle = bend.getAllHandles().get(anchorIndex);
else
handle = bend.getAllHandles().get(anchorIndex/2);
- final Point2D newPoint =
handle.calculateHandleLocation(dGraphView.getViewModel(),this);
+ final Point2D newPoint =
handle.calculateHandleLocation(graphView.getViewModel(),this);
anchorArr[offset] = (float) newPoint.getX();
anchorArr[offset + 1] = (float) newPoint.getY();
}
public void setLabelWidth(double width) {
- synchronized (dGraphView.m_lock) {
- dGraphView.m_edgeDetails.overrideLabelWidth(model,
width);
- dGraphView.m_contentChanged = true;
+ synchronized (graphView.m_lock) {
+ graphView.m_edgeDetails.overrideLabelWidth(model,
width);
+ graphView.m_contentChanged = true;
}
}
@Override
public void setTransparency(final int trans) {
- synchronized (dGraphView.m_lock) {
+ synchronized (graphView.m_lock) {
Integer transparency;
if (trans < 0 || trans > 255) {
// If out of range, use default value.
@@ -558,20 +558,20 @@
} else {
transparency = trans;
}
- dGraphView.m_edgeDetails.overrideTransparency(model,
transparency);
+ graphView.m_edgeDetails.overrideTransparency(model,
transparency);
-
setUnselectedPaint(dGraphView.m_edgeDetails.getUnselectedPaint(model));
-
setSelectedPaint(dGraphView.m_edgeDetails.getSelectedPaint(model));
-
setTargetEdgeEndPaint(dGraphView.m_edgeDetails.getTargetArrowPaint(model));
-
setSourceEdgeEndPaint(dGraphView.m_edgeDetails.getSourceArrowPaint(model));
+
setUnselectedPaint(graphView.m_edgeDetails.getUnselectedPaint(model));
+
setSelectedPaint(graphView.m_edgeDetails.getSelectedPaint(model));
+
setTargetEdgeEndPaint(graphView.m_edgeDetails.getTargetArrowPaint(model));
+
setSourceEdgeEndPaint(graphView.m_edgeDetails.getSourceArrowPaint(model));
- dGraphView.m_contentChanged = true;
+ graphView.m_contentChanged = true;
}
}
@Override
public void setLabelTransparency(final int trans) {
- synchronized (dGraphView.m_lock) {
+ synchronized (graphView.m_lock) {
Integer transparency;
if (trans < 0 || trans > 255) {
// If out of range, use default value.
@@ -580,28 +580,43 @@
transparency = trans;
}
-
dGraphView.m_edgeDetails.overrideLabelTransparency(model, transparency);
-
setTextPaint(dGraphView.m_edgeDetails.getLabelPaint(model, 0));
+
graphView.m_edgeDetails.overrideLabelTransparency(model, transparency);
+
setTextPaint(graphView.m_edgeDetails.getLabelPaint(model, 0));
- dGraphView.m_contentChanged = true;
+ graphView.m_contentChanged = true;
}
}
@Override
public void setBend(final Bend bend) {
- synchronized (dGraphView.m_lock) {
- dGraphView.m_edgeDetails.m_edgeBends.put(model, bend);
+ synchronized (graphView.m_lock) {
+ graphView.m_edgeDetails.m_edgeBends.put(model, bend);
}
- dGraphView.m_contentChanged = true;
+ graphView.m_contentChanged = true;
}
@Override
public Bend getBend() {
- synchronized (dGraphView.m_lock) {
- return dGraphView.m_edgeDetails.getBend(model);
+ synchronized (graphView.m_lock) {
+ return graphView.m_edgeDetails.getBend(model);
}
}
+ @Override
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ public void clearValueLock(final VisualProperty<?> vp) {
+ final boolean isDefault = !visualProperties.containsKey(vp);
+ super.clearValueLock(vp);
+
+ // Reset to the visual style default if visualProperties map
doesn't contain this vp
+ if (isDefault) {
+ if (vp == BasicVisualLexicon.EDGE_VISIBLE)
+ applyVisualProperty((VisualProperty) vp,
vp.getDefault());
+ else
+
graphView.edgeViewDefaultSupport.setViewDefault((VisualProperty) vp,
+
graphView.m_edgeDetails.getDefaultValue(vp));
+ }
+ }
/**
* This method sets a mapped value. NOT Defaults.
@@ -626,7 +641,7 @@
} else if (vp == DVisualLexicon.EDGE_UNSELECTED_PAINT) {
setUnselectedPaint((Paint) value);
} else if (vp == DVisualLexicon.EDGE_WIDTH) {
- final float currentWidth =
dGraphView.m_edgeDetails.getWidth(model);
+ final float currentWidth =
graphView.m_edgeDetails.getWidth(model);
final float newWidth = ((Number) value).floatValue();
if (currentWidth != newWidth) {
@@ -635,7 +650,7 @@
}
} else if (vp == DVisualLexicon.EDGE_LINE_TYPE) {
lineType = (LineType) value;
- final Stroke newStroke =
DLineType.getDLineType(lineType).getStroke(dGraphView.m_edgeDetails.getWidth(model));
+ final Stroke newStroke =
DLineType.getDLineType(lineType).getStroke(graphView.m_edgeDetails.getWidth(model));
setStroke(newStroke);
} else if (vp == DVisualLexicon.EDGE_TRANSPARENCY) {
setTransparency(((Number) value).intValue());
@@ -679,9 +694,9 @@
setTextPaint((Paint) value);
} else if (vp == BasicVisualLexicon.EDGE_VISIBLE) {
if (((Boolean) value).booleanValue())
- dGraphView.showGraphObject(this);
+ graphView.showGraphObject(this);
else
- dGraphView.hideGraphObject(this);
+ graphView.hideGraphObject(this);
} else if (vp == DVisualLexicon.EDGE_CURVED) {
final Boolean curved = (Boolean) value;
if (curved)
@@ -695,6 +710,6 @@
@Override
protected <T, V extends T> V getDefaultValue(VisualProperty<T> vp) {
- return dGraphView.m_edgeDetails.getDefaultValue(vp);
+ return graphView.m_edgeDetails.getDefaultValue(vp);
}
}
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-11-15 21:31:36 UTC (rev 30790)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-11-15 22:03:37 UTC (rev 30791)
@@ -204,7 +204,7 @@
* Holds the NodeView data for the nodes that are visible. This will
change
* as nodes are hidden from the view.
*/
- CySubNetwork m_drawPersp;
+ final CySubNetwork m_drawPersp;
/**
* RTree used for querying node positions.
@@ -216,10 +216,11 @@
* DEdgeView, and InnerCanvas.
*/
SpacialIndex2D m_spacialA;
-
- DNodeDetails m_nodeDetails;
- DEdgeDetails m_edgeDetails;
+ final DNodeDetails m_nodeDetails;
+ final DEdgeDetails m_edgeDetails;
+ final NodeViewDefaultSupport nodeViewDefaultSupport;
+ final EdgeViewDefaultSupport edgeViewDefaultSupport;
/**
* Level of detail specific to printing. Not used for rendering.
@@ -229,29 +230,11 @@
private final Map<CyNode, NodeView> m_nodeViewMap;
private final Map<CyEdge, EdgeView> m_edgeViewMap;
- /**
- *
- */
Long m_identifier;
- /**
- *
- */
final float m_defaultNodeXMin;
-
- /**
- *
- */
final float m_defaultNodeYMin;
-
- /**
- *
- */
final float m_defaultNodeXMax;
-
- /**
- *
- */
final float m_defaultNodeYMax;
/**
@@ -374,12 +357,10 @@
final VisualLexicon dingLexicon;
private final Properties props;
-
- private final NodeViewDefaultSupport m_nodeViewDefaultSupport;// TODO
delete?
- private final EdgeViewDefaultSupport m_edgeViewDefaultSupport;// TODO
delete?
+
private final CyAnnotator cyAnnotator;
- private boolean annotationsLoaded = false;
+ private boolean annotationsLoaded;
private boolean servicesRegistered;
private final VisualMappingManager vmm;
@@ -468,8 +449,8 @@
m_spacialA = spacialFactory.createSpacialIndex2D();
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);
+ nodeViewDefaultSupport = new
NodeViewDefaultSupport(m_nodeDetails, m_lock);
+ edgeViewDefaultSupport = new
EdgeViewDefaultSupport(m_edgeDetails, m_lock);
m_nodeViewMap = new ConcurrentHashMap<CyNode, NodeView>();
m_edgeViewMap = new ConcurrentHashMap<CyEdge, EdgeView>();
m_printLOD = new PrintLOD();
@@ -2646,6 +2627,7 @@
}
@Override
+ @SuppressWarnings("unchecked")
public <T, V extends T> void setViewDefault(VisualProperty<? extends T>
vp, V defaultValue) {
if (vp.shouldIgnoreDefault())
return;
@@ -2678,10 +2660,10 @@
if (targetType == CyNode.class) {
m_nodeDetails.clear();
-
m_nodeViewDefaultSupport.setNodeViewDefault(vp,defaultValue);
+
nodeViewDefaultSupport.setViewDefault((VisualProperty<V>)vp, defaultValue);
} else if (targetType == CyEdge.class) {
- m_edgeDetails.clearMappedValues();
-
m_edgeViewDefaultSupport.setEdgeViewDefault(vp,defaultValue);
+ m_edgeDetails.clear();
+
edgeViewDefaultSupport.setViewDefault((VisualProperty<V>)vp, defaultValue);
} else if (targetType == CyNetwork.class) {
// For networks, just set as regular visual property
value. (No defaults)
this.setVisualProperty(vp, defaultValue);
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-11-15 21:31:36 UTC (rev 30790)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
2012-11-15 22:03:37 UTC (rev 30791)
@@ -1039,6 +1039,22 @@
}
@Override
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ public void clearValueLock(final VisualProperty<?> vp) {
+ final boolean isDefault = !visualProperties.containsKey(vp);
+ super.clearValueLock(vp);
+
+ // Reset to the visual style default if visualProperties map
doesn't contain this vp
+ if (isDefault) {
+ if (vp == BasicVisualLexicon.NODE_VISIBLE) // TODO:
what if the default value of the visual style is different (e.g. invisible)?
+ applyVisualProperty((VisualProperty) vp,
vp.getDefault());
+ else
+
graphView.nodeViewDefaultSupport.setViewDefault((VisualProperty) vp,
+
graphView.m_nodeDetails.getDefaultValue(vp));
+ }
+ }
+
+ @Override
protected <T, V extends T> void applyVisualProperty(final
VisualProperty<? extends T> vpOriginal, V value) {
VisualProperty<?> vp = vpOriginal;
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-11-15 21:31:36 UTC (rev 30790)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/EdgeViewDefaultSupport.java
2012-11-15 22:03:37 UTC (rev 30791)
@@ -54,15 +54,10 @@
this.lock = lock;
}
- /**
- * Set default value for visual properties
- *
- * @param vp
- * @param value
- */
- void setEdgeViewDefault(VisualProperty<?> vp, Object value) {
+ @Override
+ protected <V> void setViewDefault(final VisualProperty<V> vp, V value) {
if (value == null)
- value = vp.getDefault();
+ value = (V) vp.getDefault();
// // Type check:
//
if(vp.getRange().getType().isAssignableFrom(value.getClass()) ==
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-11-15 21:31:36 UTC (rev 30790)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
2012-11-15 22:03:37 UTC (rev 30791)
@@ -30,9 +30,7 @@
import java.awt.Color;
import java.awt.Font;
import java.awt.Paint;
-import java.awt.Stroke;
-import org.cytoscape.ding.DNodeShape;
import org.cytoscape.ding.DVisualLexicon;
import org.cytoscape.ding.ObjectPosition;
import org.cytoscape.view.model.VisualProperty;
@@ -51,12 +49,13 @@
this.lock = lock;
}
- <V> void setNodeViewDefault(final VisualProperty<?> vpOriginal, V
value) {
- final VisualProperty<?> vp = vpOriginal;
+ @Override
+ protected <V> void setViewDefault(final VisualProperty<V> vpOriginal, V
value) {
+ final VisualProperty<V> vp = vpOriginal;
// Null means set value to VP's default.
if (value == null)
- value = (V) vp.getDefault();
+ value = vp.getDefault();
if (vp == DVisualLexicon.NODE_SHAPE) {
setShape(((NodeShape) value));
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
2012-11-15 21:31:36 UTC (rev 30790)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
2012-11-15 22:03:37 UTC (rev 30791)
@@ -139,7 +139,7 @@
// build a menu of actions if more than factory exists
if ( usableTFs.size() > 1) {
- String nodeLabel =
network.getRow(nv.getModel()).get("name",String.class);
+ String nodeLabel =
network.getRow(nv.getModel()).get(CyNetwork.NAME, String.class);
JPopupMenu menu = createMenu(nodeLabel);
JMenuTracker tracker = new JMenuTracker(menu);
--
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.