Author: clopes
Date: 2012-07-25 14:57:46 -0700 (Wed, 25 Jul 2012)
New Revision: 29988
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/edit/ConnectSelectedNodesTask.java
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/edit/ConnectSelectedNodesTaskFactoryImpl.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AddEdgeNodeViewTaskFactoryImpl.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AddEdgeTask.java
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/AddNodeTask.java
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/CyActivator.java
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/SIFInterpreterTask.java
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/SIFInterpreterTaskFactory.java
Log:
Fixes #1304 (Add Edge/Connect selected nodes menu does not apply Visual Style)
Also fixes applying visual style after adding edge/nodes through the SIF
Interpreter panel.
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
2012-07-25 20:53:06 UTC (rev 29987)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
2012-07-25 21:57:46 UTC (rev 29988)
@@ -31,7 +31,6 @@
import org.cytoscape.session.CyNetworkNaming;
import org.cytoscape.session.CySessionManager;
import org.cytoscape.session.events.SessionLoadedListener;
-import org.cytoscape.task.DynamicTaskFactoryProvisioner;
import org.cytoscape.task.NetworkCollectionTaskFactory;
import org.cytoscape.task.NetworkTaskFactory;
import org.cytoscape.task.NetworkViewCollectionTaskFactory;
@@ -266,7 +265,7 @@
CopyValueToEntireColumnTaskFactoryImpl
copyValueToEntireColumnTaskFactory = new
CopyValueToEntireColumnTaskFactoryImpl(undoSupportServiceRef);
DeleteTableTaskFactoryImpl deleteTableTaskFactory = new
DeleteTableTaskFactoryImpl(cyTableManagerServiceRef);
ExportVizmapTaskFactoryImpl exportVizmapTaskFactory = new
ExportVizmapTaskFactoryImpl(vizmapWriterManagerServiceRef,visualMappingManagerServiceRef,
tunableSetterServiceRef);
- ConnectSelectedNodesTaskFactoryImpl
connectSelectedNodesTaskFactory = new
ConnectSelectedNodesTaskFactoryImpl(undoSupportServiceRef,cyEventHelperRef);
+ ConnectSelectedNodesTaskFactoryImpl
connectSelectedNodesTaskFactory = new
ConnectSelectedNodesTaskFactoryImpl(undoSupportServiceRef,cyEventHelperRef,visualMappingManagerServiceRef,cyNetworkViewManagerServiceRef);
MapGlobalToLocalTableTaskFactoryImpl mapGlobal = new
MapGlobalToLocalTableTaskFactoryImpl(cyTableManagerServiceRef,
cyNetworkManagerServiceRef, tunableSetterServiceRef);
DynamicTaskFactoryProvisionerImpl
dynamicTaskFactoryProvisionerImpl = new
DynamicTaskFactoryProvisionerImpl(cyApplicationManagerServiceRef);
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/edit/ConnectSelectedNodesTask.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/edit/ConnectSelectedNodesTask.java
2012-07-25 20:53:06 UTC (rev 29987)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/edit/ConnectSelectedNodesTask.java
2012-07-25 21:57:46 UTC (rev 29988)
@@ -12,6 +12,10 @@
import org.cytoscape.model.CyTable;
import org.cytoscape.model.CyIdentifiable;
import org.cytoscape.model.CyTableUtil;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.VisualStyle;
import org.cytoscape.work.AbstractTask;
import org.cytoscape.work.TaskMonitor;
import org.cytoscape.work.undo.UndoSupport;
@@ -23,15 +27,23 @@
private final UndoSupport undoSupport;
private final CyNetwork network;
private final CyEventHelper eventHelper;
+ private final VisualMappingManager vmm;
+ private final CyNetworkViewManager netViewMgr;
- public ConnectSelectedNodesTask(final UndoSupport undoSupport, final
CyNetwork network,
- final CyEventHelper eventHelper)
- {
+ public ConnectSelectedNodesTask(final UndoSupport undoSupport,
+ final
CyNetwork network,
+ final
CyEventHelper eventHelper,
+ final
VisualMappingManager vmm,
+ final
CyNetworkViewManager netViewMgr) {
this.undoSupport = undoSupport;
+
if (network == null)
throw new NullPointerException("Network is null.");
+
this.network = network;
this.eventHelper = eventHelper;
+ this.vmm = vmm;
+ this.netViewMgr = netViewMgr;
}
@Override
@@ -42,35 +54,45 @@
final List<CyNode> selectedNodes =
CyTableUtil.getNodesInState(network, CyNetwork.SELECTED, true);
taskMonitor.setProgress(0.1);
-
+
int selectedNodesCount = selectedNodes.size();
- int i=0;
-
+ int i = 0;
+
final List<CyEdge> newEdges = new ArrayList<CyEdge>();
+
for (final CyNode source : selectedNodes) {
for (final CyNode target : selectedNodes) {
if (source != target) {
final List<CyNode> sourceNeighborList =
network.getNeighborList(source, Type.ANY);
+
if
(!sourceNeighborList.contains(target)) {
// connect it
final CyEdge newEdge =
network.addEdge(source, target, false);
newEdges.add(newEdge);
network.getRow(newEdge).set(
- CyNetwork.NAME,
-
network.getRow(source).get(CyNetwork.NAME, String.class) + " (" + INTERACTION +
") "
- +
network.getRow(target).get(CyNetwork.NAME, String.class));
+ CyNetwork.NAME,
+
network.getRow(source).get(CyNetwork.NAME, String.class) + " (" + INTERACTION +
") "
+
+ network.getRow(target).get(CyNetwork.NAME, String.class));
network.getRow(newEdge).set(CyEdge.INTERACTION, INTERACTION);
}
}
}
-
+
i++;
-
taskMonitor.setProgress(0.1+i/(double)selectedNodesCount*0.9);
+ taskMonitor.setProgress(0.1 + i / (double)
selectedNodesCount * 0.9);
}
- undoSupport.postEdit(
- new ConnectSelectedNodesEdit(network, newEdges));
+ undoSupport.postEdit(new ConnectSelectedNodesEdit(network,
newEdges));
+
+ // Apply visual style
+ eventHelper.flushPayloadEvents(); // To make sure the edge
views are created before applying the style
+ for (final CyNetworkView view :
netViewMgr.getNetworkViews(network)) {
+ VisualStyle vs = vmm.getVisualStyle(view);
+ vs.apply(view);
+ view.updateView();
+ }
+
taskMonitor.setProgress(1.0);
}
}
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/edit/ConnectSelectedNodesTaskFactoryImpl.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/edit/ConnectSelectedNodesTaskFactoryImpl.java
2012-07-25 20:53:06 UTC (rev 29987)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/edit/ConnectSelectedNodesTaskFactoryImpl.java
2012-07-25 21:57:46 UTC (rev 29988)
@@ -1,29 +1,34 @@
package org.cytoscape.task.internal.edit;
-import org.cytoscape.application.CyApplicationManager;
import org.cytoscape.event.CyEventHelper;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.task.AbstractNetworkTaskFactory;
import org.cytoscape.task.edit.ConnectSelectedNodesTaskFactory;
-import org.cytoscape.task.AbstractNetworkTaskFactory;
+import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.TaskIterator;
import org.cytoscape.work.undo.UndoSupport;
-import org.cytoscape.model.CyNetwork;
public class ConnectSelectedNodesTaskFactoryImpl extends
AbstractNetworkTaskFactory implements ConnectSelectedNodesTaskFactory{
private final UndoSupport undoSupport;
private final CyEventHelper eventHelper;
+ private final VisualMappingManager vmm;
+ private final CyNetworkViewManager netViewMgr;
public ConnectSelectedNodesTaskFactoryImpl(final UndoSupport
undoSupport,
- final CyEventHelper eventHelper)
- {
+
final CyEventHelper eventHelper,
+
final VisualMappingManager vmm,
+
final CyNetworkViewManager netViewMgr) {
this.undoSupport = undoSupport;
this.eventHelper = eventHelper;
+ this.vmm = vmm;
+ this.netViewMgr = netViewMgr;
}
@Override
- public TaskIterator createTaskIterator(CyNetwork network) {
- return new TaskIterator( new
ConnectSelectedNodesTask(undoSupport, network, eventHelper));
+ public TaskIterator createTaskIterator(final CyNetwork network) {
+ return new TaskIterator(new
ConnectSelectedNodesTask(undoSupport, network, eventHelper, vmm, netViewMgr));
}
-
}
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
2012-07-25 20:53:06 UTC (rev 29987)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
2012-07-25 21:57:46 UTC (rev 29988)
@@ -62,8 +62,6 @@
import org.cytoscape.model.CyNetworkManager;
import org.cytoscape.model.CyNetworkTableManager;
import org.cytoscape.model.CyTableFactory;
-import org.cytoscape.model.events.SetNetworkPointerListener;
-import org.cytoscape.model.events.UnsetNetworkPointerListener;
import org.cytoscape.model.subnetwork.CyRootNetworkManager;
import org.cytoscape.property.CyProperty;
import org.cytoscape.property.PropertyUpdatedListener;
@@ -78,7 +76,6 @@
import org.cytoscape.view.model.CyNetworkViewFactory;
import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.model.VisualLexicon;
-import org.cytoscape.view.model.events.NetworkViewChangedListener;
import org.cytoscape.view.presentation.RenderingEngineManager;
import org.cytoscape.view.presentation.property.values.BendFactory;
import org.cytoscape.view.presentation.property.values.HandleFactory;
@@ -152,8 +149,7 @@
DingNavigationRenderingEngineFactory
dingNavigationRenderingEngineFactory = new DingNavigationRenderingEngineFactory(
cyServiceRegistrarServiceRef, dVisualLexicon,
renderingEngineManagerServiceRef,
applicationManagerServiceRef);
- AddEdgeNodeViewTaskFactoryImpl addEdgeNodeViewTaskFactory = new
AddEdgeNodeViewTaskFactoryImpl(
- cyNetworkManagerServiceRef);
+ AddEdgeNodeViewTaskFactoryImpl addEdgeNodeViewTaskFactory = new
AddEdgeNodeViewTaskFactoryImpl(vmmServiceRef, cyEventHelperServiceRef);
// Object Position Editor
ObjectPositionValueEditor objectPositionValueEditor = new
ObjectPositionValueEditor();
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AddEdgeNodeViewTaskFactoryImpl.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AddEdgeNodeViewTaskFactoryImpl.java
2012-07-25 20:53:06 UTC (rev 29987)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AddEdgeNodeViewTaskFactoryImpl.java
2012-07-25 21:57:46 UTC (rev 29988)
@@ -1,29 +1,32 @@
package org.cytoscape.ding.impl;
-import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.event.CyEventHelper;
import org.cytoscape.model.CyNode;
import org.cytoscape.task.NodeViewTaskFactory;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.View;
+import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.TaskIterator;
public class AddEdgeNodeViewTaskFactoryImpl implements NodeViewTaskFactory {
- private final CyNetworkManager netMgr;
- public AddEdgeNodeViewTaskFactoryImpl(CyNetworkManager netMgr) {
- this.netMgr = netMgr;
+ private final VisualMappingManager vmm;
+ private final CyEventHelper eh;
+
+ public AddEdgeNodeViewTaskFactoryImpl(final VisualMappingManager vmm,
final CyEventHelper eh) {
+ this.vmm = vmm;
+ this.eh = eh;
}
+
@Override
- public TaskIterator createTaskIterator(View<CyNode> nodeView,
- CyNetworkView networkView) {
- return new TaskIterator(new AddEdgeTask(nodeView, networkView));
+ public TaskIterator createTaskIterator(View<CyNode> nodeView,
CyNetworkView networkView) {
+ return new TaskIterator(new AddEdgeTask(nodeView, networkView,
vmm, eh));
}
@Override
public boolean isReady(View<CyNode> nodeView, CyNetworkView
networkView) {
- // TODO Auto-generated method stub
return true;
}
}
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AddEdgeTask.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AddEdgeTask.java
2012-07-25 20:53:06 UTC (rev 29987)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/AddEdgeTask.java
2012-07-25 21:57:46 UTC (rev 29988)
@@ -1,10 +1,8 @@
-
package org.cytoscape.ding.impl;
import java.awt.Point;
-import javax.swing.RootPaneContainer;
-
+import org.cytoscape.event.CyEventHelper;
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNode;
@@ -14,6 +12,8 @@
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.View;
import org.cytoscape.view.presentation.property.BasicVisualLexicon;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.VisualStyle;
import org.cytoscape.work.TaskMonitor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -21,45 +21,56 @@
public class AddEdgeTask extends AbstractNodeViewTask {
+ private final VisualMappingManager vmm;
+ private final CyEventHelper eh;
+
private static final Logger logger =
LoggerFactory.getLogger(AddEdgeTask.class);
- private static int numberofedges = 1;
-
- public AddEdgeTask(View<CyNode> nv, CyNetworkView view){
- super(nv,view);
+
+ public AddEdgeTask(final View<CyNode> nv,
+ final CyNetworkView view,
+ final VisualMappingManager vmm,
+ final CyEventHelper eh) {
+ super(nv, view);
+ this.vmm = vmm;
+ this.eh = eh;
}
@Override
public void run(TaskMonitor tm) throws Exception {
+ CyNode sourceNode = AddEdgeStateMonitor.getSourceNode(netView);
- CyNode sourceNode = AddEdgeStateMonitor.getSourceNode(netView);
- if ( sourceNode == null ) {
-
AddEdgeStateMonitor.setSourceNode(netView,nodeView.getModel());
+ if (sourceNode == null) {
+ AddEdgeStateMonitor.setSourceNode(netView,
nodeView.getModel());
double[] coords = new double[2];
coords[0] =
nodeView.getVisualProperty(BasicVisualLexicon.NODE_X_LOCATION);
coords[1] =
nodeView.getVisualProperty(BasicVisualLexicon.NODE_Y_LOCATION);
-
((DGraphView)netView).xformNodeToComponentCoords(coords);
+ ((DGraphView)
netView).xformNodeToComponentCoords(coords);
+
Point sourceP = new Point();
sourceP.setLocation(coords[0], coords[1]);
- AddEdgeStateMonitor.setSourcePoint(netView,sourceP);
+ AddEdgeStateMonitor.setSourcePoint(netView, sourceP);
} else {
-
// set the name attribute for the new node
-
CyNetwork net = netView.getModel();
CyNode targetNode = nodeView.getModel();
-
- CyEdge newEdge =
net.addEdge(sourceNode,targetNode,true);
+
+ final CyEdge newEdge = net.addEdge(sourceNode,
targetNode, true);
final String interaction = "interaction";
- String edgeName =
net.getRow(sourceNode).get(CyRootNetwork.SHARED_NAME, String.class);
- edgeName+=" (" + interaction + ") ";
- edgeName+=
net.getRow(targetNode).get(CyRootNetwork.SHARED_NAME, String.class);
-
- CyRow edgeRow = net.getRow(newEdge,
CyNetwork.DEFAULT_ATTRS);
+ String edgeName =
net.getRow(sourceNode).get(CyRootNetwork.SHARED_NAME, String.class);
+ edgeName += " (" + interaction + ") ";
+ edgeName +=
net.getRow(targetNode).get(CyRootNetwork.SHARED_NAME, String.class);
+
+ CyRow edgeRow = net.getRow(newEdge,
CyNetwork.DEFAULT_ATTRS);
edgeRow.set(CyNetwork.NAME, edgeName);
edgeRow.set(CyEdge.INTERACTION, interaction);
+
+ AddEdgeStateMonitor.setSourceNode(netView, null);
+ // Apply visual style
+ eh.flushPayloadEvents(); // To make sure the edge view
is created before applying the style
+ VisualStyle vs = vmm.getVisualStyle(netView);
+ vs.apply(netView);
netView.updateView();
- AddEdgeStateMonitor.setSourceNode(netView,null);
}
}
}
Modified:
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/AddNodeTask.java
===================================================================
---
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/AddNodeTask.java
2012-07-25 20:53:06 UTC (rev 29987)
+++
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/AddNodeTask.java
2012-07-25 21:57:46 UTC (rev 29988)
@@ -21,7 +21,10 @@
private final CyEventHelper eh;
private static int new_node_index =1;
- public AddNodeTask(final VisualMappingManager vmm, final CyNetworkView
view,final Point2D xformPt, final CyEventHelper eh) {
+ public AddNodeTask(final VisualMappingManager vmm,
+ final CyNetworkView view,
+ final Point2D xformPt,
+ final CyEventHelper eh) {
super(view);
this.vmm = vmm;
this.xformPt = xformPt;
@@ -30,24 +33,24 @@
@Override
public void run(TaskMonitor tm) throws Exception {
- final CyNetwork net = view.getModel();
+ final CyNetwork net = view.getModel();
final CyNode n = net.addNode();
// set the name attribute for the new node
- final String nodeName = "Node "+ new_node_index;
+ final String nodeName = "Node " + new_node_index;
new_node_index++;
-
+
final CyRow nodeRow = net.getRow(n);
nodeRow.set(CyNetwork.NAME, nodeName);
eh.flushPayloadEvents();
View<CyNode> nv = view.getNodeView(n);
-
nv.setVisualProperty(BasicVisualLexicon.NODE_X_LOCATION,xformPt.getX());
-
nv.setVisualProperty(BasicVisualLexicon.NODE_Y_LOCATION,xformPt.getY());
- view.updateView();
-
+ nv.setVisualProperty(BasicVisualLexicon.NODE_X_LOCATION,
xformPt.getX());
+ nv.setVisualProperty(BasicVisualLexicon.NODE_Y_LOCATION,
xformPt.getY());
+
// Apply visual style
VisualStyle vs = vmm.getVisualStyle(view);
vs.apply(view);
+ view.updateView();
}
}
Modified:
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/CyActivator.java
2012-07-25 20:53:06 UTC (rev 29987)
+++
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/CyActivator.java
2012-07-25 21:57:46 UTC (rev 29988)
@@ -36,7 +36,7 @@
CreateNetworkViewTaskFactory
createNetworkViewTaskFactoryServiceRef = getService(bc,
CreateNetworkViewTaskFactory.class);
// NetworkView (empty space) context menus
- SIFInterpreterTaskFactory sifInterpreterTaskFactory = new
SIFInterpreterTaskFactory();
+ SIFInterpreterTaskFactory sifInterpreterTaskFactory = new
SIFInterpreterTaskFactory(visualMappingManagerServiceRef,
cyEventHelperServiceRef);
Properties sifInterpreterTaskFactoryProps = new Properties();
sifInterpreterTaskFactoryProps.setProperty(ENABLE_FOR,
"networkAndView");
sifInterpreterTaskFactoryProps.setProperty(PREFERRED_ACTION,
"NEW");
Modified:
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/SIFInterpreterTask.java
===================================================================
---
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/SIFInterpreterTask.java
2012-07-25 20:53:06 UTC (rev 29987)
+++
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/SIFInterpreterTask.java
2012-07-25 21:57:46 UTC (rev 29988)
@@ -4,106 +4,117 @@
import java.util.ArrayList;
import java.util.List;
+import org.cytoscape.event.CyEventHelper;
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNode;
import org.cytoscape.task.AbstractNetworkViewTask;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.View;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.VisualStyle;
import org.cytoscape.work.ProvidesTitle;
import org.cytoscape.work.TaskMonitor;
import org.cytoscape.work.Tunable;
public class SIFInterpreterTask extends AbstractNetworkViewTask {
- private CyNetwork network;
@Tunable(description="Type in a nodes/edges expression in SIF format,
e.g. A inhibits B")
public String sifString;
+ private final VisualMappingManager vmm;
+ private final CyEventHelper eh;
+ private final CyNetwork network;
+
@ProvidesTitle
public String getTitle() {
return "SIF Interpreter";
}
- public SIFInterpreterTask(CyNetworkView v) {
- super(v);
+ public SIFInterpreterTask(final CyNetworkView view, final
VisualMappingManager vmm, final CyEventHelper eh) {
+ super(view);
+ this.vmm = vmm;
+ this.eh = eh;
network = view.getModel();
}
@Override
public void run(TaskMonitor tm) {
- if ( sifString == null )
+ if (sifString == null)
throw new NullPointerException("SIF input string is
null");
+
+ String[] terms = sifString.split("\\s");
- String[] terms = sifString.split("\\s");
if (terms != null) {
if (terms.length > 0) {
String name1 = terms[0].trim();
+
if (!name1.equals(null)) {
+ CyNode node1 = findNode(terms[0]);
- CyNode node1 = findNode(terms[0]);
if (node1 == null) {
-
node1 = network.addNode();
-
network.getRow(node1).set("name",terms[0]);
+
network.getRow(node1).set("name", terms[0]);
-
- //nv1 = view.getNodeView(node1);
-
- //double[] nextLocn = new
double[2];
- //nextLocn[0] = p.getX();
- //nextLocn[1] = p.getY();
-
//view.xformComponentToNodeCoords(nextLocn);
- //nv1.setOffset(nextLocn[0],
nextLocn[1]);
+ // nv1 =
view.getNodeView(node1);
+ // double[] nextLocn = new
double[2];
+ // nextLocn[0] = p.getX();
+ // nextLocn[1] = p.getY();
+ //
view.xformComponentToNodeCoords(nextLocn);
+ // nv1.setOffset(nextLocn[0],
nextLocn[1]);
} else {
- //nv1 = view.getNodeView(node1);
+ // nv1 =
view.getNodeView(node1);
}
- System.out.println("Node 1 = " + node1);
- //System.out.println("NodeView 1 = " +
nv1);
- // double spacing = 3.0
*view.getNodeView(node1).getWidth();
+ // double spacing = 3.0
*view.getNodeView(node1).getWidth();
- if (terms.length == 3) // simple case
of 'A interaction B'
- {
+ if (terms.length == 3) {
+ // simple case of 'A
interaction B'
CyNode node2 =
findNode(terms[2]);
+
if (node2 == null) {
node2 =
network.addNode();
-
network.getRow(node2).set("name",terms[2]);
+
network.getRow(node2).set("name", terms[2]);
- //nv2 =
view.getNodeView(node2);
-
-
//nv2.setOffset(nv1.getXPosition() + spacing, nv1
- //
.getYPosition());
+ // nv2 =
view.getNodeView(node2);
+ //
nv2.setOffset(nv1.getXPosition() + spacing, nv1.getYPosition());
}
CyEdge edge =
network.addEdge(node1, node2, true);
-
network.getRow(edge).set("name",terms[1]);
+
network.getRow(edge).set("name", terms[1]);
} else if (terms.length > 3) {
// process multiple targets and
one source
List<View<CyNode>> nodeViews =
new ArrayList<View<CyNode>>();
String interactionType =
terms[1];
- for (int i = 2; i <
terms.length; i++)
- {
+
+ for (int i = 2; i <
terms.length; i++) {
CyNode node2 =
findNode(terms[i]);
+
if (node2 == null) {
node2 =
network.addNode();
-
network.getRow(node2).set("name",terms[i]);
+
network.getRow(node2).set("name", terms[i]);
- //nv2 =
view.getNodeView(node2);
+ // nv2 =
view.getNodeView(node2);
-
//nv2.setOffset(nv1.getXPosition() + spacing, nv1
- //
.getYPosition());
+ //
nv2.setOffset(nv1.getXPosition() + spacing, nv1
+ //
.getYPosition());
}
CyEdge edge =
network.addEdge(node1, node2, true);
-
network.getRow(edge).set("name",terms[1]);
-
//doCircleLayout(nodeViews, nv1);
+
network.getRow(edge).set("name", terms[1]);
+ //
doCircleLayout(nodeViews, nv1);
+ }
}
}
+
+ // Apply visual style
+ eh.flushPayloadEvents(); // To make sure the
edge view is created before applying the style
+ VisualStyle vs = vmm.getVisualStyle(view);
+ vs.apply(view);
+ view.updateView();
}
}
- }
}
@Override
Modified:
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/SIFInterpreterTaskFactory.java
===================================================================
---
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/SIFInterpreterTaskFactory.java
2012-07-25 20:53:06 UTC (rev 29987)
+++
core3/impl/trunk/editor-impl/src/main/java/org/cytoscape/editor/internal/SIFInterpreterTaskFactory.java
2012-07-25 21:57:46 UTC (rev 29988)
@@ -1,14 +1,23 @@
package org.cytoscape.editor.internal;
-
import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.event.CyEventHelper;
import org.cytoscape.task.AbstractNetworkViewTaskFactory;
import org.cytoscape.work.TaskIterator;
+public class SIFInterpreterTaskFactory extends AbstractNetworkViewTaskFactory {
-public class SIFInterpreterTaskFactory extends AbstractNetworkViewTaskFactory {
- public TaskIterator createTaskIterator(CyNetworkView view) {
- return new TaskIterator(new SIFInterpreterTask(view));
+ private final VisualMappingManager vmm;
+ private final CyEventHelper eh;
+
+ public SIFInterpreterTaskFactory(final VisualMappingManager vmm, final
CyEventHelper eh) {
+ this.vmm = vmm;
+ this.eh = eh;
}
+
+ public TaskIterator createTaskIterator(final CyNetworkView view) {
+ return new TaskIterator(new SIFInterpreterTask(view, vmm, eh));
+ }
}
--
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.