Author: mes
Date: 2012-03-09 11:24:36 -0800 (Fri, 09 Mar 2012)
New Revision: 28467
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Handle.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/HandleImpl.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
Log:
tweaked the Handle API to avoid other ding dependencies
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Handle.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Handle.java
2012-03-09 15:55:50 UTC (rev 28466)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/Handle.java
2012-03-09 19:24:36 UTC (rev 28467)
@@ -2,7 +2,9 @@
import java.awt.geom.Point2D;
-import org.cytoscape.ding.impl.DEdgeView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.model.CyEdge;
/**
@@ -14,12 +16,12 @@
/**
* Calculate absolute position of this handle for the given edge view.
*
- * @param graphView graph view for this handle
+ * @param netView graph view for this handle
* @param edgeView The handle belongs to this edge view.
*
* @return Absolute position of this handle in the network view.
*/
- Point2D calculateHandleLocation(final DEdgeView edgeView);
+ Point2D calculateHandleLocation(final CyNetworkView netView, final
View<CyEdge> edgeView);
/**
* Define this handle. Handle will be described as a relative location
from source and target node.
@@ -27,12 +29,12 @@
* NOTE: in the implementation, the given (x, y) values will be
converted to relative position.
* The conversion equation is exchangeable.
*
- * @param graphView graph view for this handle
+ * @param netView graph view for this handle
* @param edgeView The handle belongs to this edge view.
* @param x Absolute value for X-location.
* @param y Absolute value for Y-location.
*/
- void defineHandle(final DEdgeView edgeView, final double x, final
double y);
+ void defineHandle(final CyNetworkView netView, final View<CyEdge>
edgeView, final double x, final double y);
/**
* Create string representation of this object for parsing.
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-03-09 15:55:50 UTC (rev 28466)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeView.java
2012-03-09 19:24:36 UTC (rev 28467)
@@ -359,7 +359,7 @@
for (int j = 0; j < numHandles; j++) {
final Bend bend = m_view.m_edgeDetails.bend(model);
final Handle handle = bend.getAllHandles().get(j);
- final Point2D newPoint =
handle.calculateHandleLocation(this);
+ final Point2D newPoint =
handle.calculateHandleLocation(m_view.getViewModel(),this);
m_view.handleLocationBuffer[0] = (float)
newPoint.getX();
m_view.handleLocationBuffer[1] = (float)
newPoint.getY();
@@ -541,7 +541,7 @@
protected final void moveHandleInternal(final int inx, double x, double
y) {
final Bend bend = m_view.m_edgeDetails.bend(model);
final Handle handle = bend.getAllHandles().get(inx);
- handle.defineHandle(this, x, y);
+ handle.defineHandle(m_view.getViewModel(),this, x, y);
if (m_view.m_spacialA.delete((m_inx << 6) | inx))
m_view.m_spacialA.insert((m_inx << 6) | inx,
@@ -573,15 +573,15 @@
final Point2D sourcePt =
m_view.getDNodeView(getEdge().getSource()).getOffset();
final Point2D targetPt =
m_view.getDNodeView(getEdge().getTarget()).getOffset();
final Handle firstHandle = bend.getAllHandles().get(0);
- final Point2D point =
firstHandle.calculateHandleLocation(this);
+ final Point2D point =
firstHandle.calculateHandleLocation(m_view.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(this);
- final Point2D point2 =
handle2.calculateHandleLocation(this);
+ final Point2D point1 =
handle1.calculateHandleLocation(m_view.getViewModel(),this);
+ final Point2D point2 =
handle2.calculateHandleLocation(m_view.getViewModel(),this);
final double distCand = (pt.distance(point2) +
pt.distance(point1)) - point1.distance(point2);
@@ -593,7 +593,7 @@
final int lastIndex = bend.getAllHandles().size() - 1;
final Handle lastHandle =
bend.getAllHandles().get(lastIndex);
- final Point2D lastPoint =
lastHandle.calculateHandleLocation(this);
+ final Point2D lastPoint =
lastHandle.calculateHandleLocation(m_view.getViewModel(),this);
final double lastCand = (pt.distance(targetPt) +
pt.distance(lastPoint)) - targetPt.distance(lastPoint);
@@ -717,7 +717,7 @@
else
handle = bend.getAllHandles().get(anchorIndex/2);
- final Point2D newPoint = handle.calculateHandleLocation(this);
+ final Point2D newPoint =
handle.calculateHandleLocation(m_view.getViewModel(),this);
anchorArr[offset] = (float) newPoint.getX();
anchorArr[offset + 1] = (float) newPoint.getY();
}
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/HandleImpl.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/HandleImpl.java
2012-03-09 15:55:50 UTC (rev 28466)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/HandleImpl.java
2012-03-09 19:24:36 UTC (rev 28467)
@@ -6,7 +6,9 @@
import org.cytoscape.ding.Handle;
import org.cytoscape.ding.impl.editor.EditMode;
import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyEdge;
import org.cytoscape.view.model.View;
+import org.cytoscape.view.model.CyNetworkView;
/**
* A simple implementation of edge handle.
@@ -31,8 +33,7 @@
@Override
- public Point2D calculateHandleLocation(final DEdgeView view) {
- final DGraphView graphView = (DGraphView) view.getGraphView();
+ public Point2D calculateHandleLocation(final CyNetworkView graphView,
final View<CyEdge> view) {
final CyNode source = view.getModel().getSource();
final CyNode target = view.getModel().getTarget();
final View<CyNode> sourceView = graphView.getNodeView(source);
@@ -81,14 +82,13 @@
@Override
- public void defineHandle(final DEdgeView view, double x, double y) {
- final DGraphView graphView = (DGraphView) view.getGraphView();
+ public void defineHandle(final CyNetworkView graphView, final
View<CyEdge> view, double x, double y) {
this.x = x;
this.y = y;
convertToRatio(graphView, view, new Point2D.Double(x, y));
}
- private void convertToRatio(DGraphView graphView, DEdgeView view, final
Point2D absolutePoint) {
+ private void convertToRatio(final CyNetworkView graphView, View<CyEdge>
view, final Point2D absolutePoint) {
final CyNode source = view.getModel().getSource();
final CyNode target = view.getModel().getTarget();
final View<CyNode> sourceView = graphView.getNodeView(source);
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
2012-03-09 15:55:50 UTC (rev 28466)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
2012-03-09 19:24:36 UTC (rev 28467)
@@ -998,7 +998,7 @@
final Bend bend = ev.getBend();
final Handle handle =
bend.getAllHandles().get(anchorInx);
- final Point2D newPoint =
handle.calculateHandleLocation(ev);
+ final Point2D newPoint =
handle.calculateHandleLocation(m_view.getViewModel(),ev);
m_floatBuff1[0] = (float) newPoint.getX();
m_floatBuff1[1] = (float) newPoint.getY();
@@ -1343,7 +1343,7 @@
final Bend bend = ev.getBend();
final Handle handle =
bend.getAllHandles().get(anchorInx);
- final Point2D newPoint =
handle.calculateHandleLocation(ev);
+ final Point2D newPoint =
handle.calculateHandleLocation(m_view.getViewModel(),ev);
m_floatBuff1[0] = (float)
newPoint.getX();
m_floatBuff1[1] = (float)
newPoint.getY();
--
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.