use of org.cytoscape.model.CyEdge in project cytoscape-impl by cytoscape.
the class UnHideCommandTask method getResults.
public Object getResults(Class type) {
List<CyIdentifiable> identifiables = new ArrayList<>();
if (nodes != null)
identifiables.addAll(nodes);
if (edges != null)
identifiables.addAll(edges);
if (type.equals(List.class)) {
return identifiables;
} else if (type.equals(String.class)) {
if (identifiables.size() == 0)
return "<none>";
String ret = "";
if (nodes != null && nodes.size() > 0) {
ret += "Nodes unhidden: \n";
for (CyNode node : nodes) {
ret += " " + network.getRow(node).get(CyNetwork.NAME, String.class) + "\n";
}
}
if (edges != null && edges.size() > 0) {
ret += "Edges unhidden: \n";
for (CyEdge edge : edges) {
ret += " " + network.getRow(edge).get(CyNetwork.NAME, String.class) + "\n";
}
}
return ret;
} else if (type.equals(JSONResult.class)) {
JSONResult res = () -> {
if (identifiables == null || identifiables.size() == 0)
return "{}";
else {
CyJSONUtil cyJSONUtil = serviceRegistrar.getService(CyJSONUtil.class);
String result = "{\"nodes\":";
if (nodes == null || nodes.size() == 0)
result += "[]";
else
result += cyJSONUtil.cyIdentifiablesToJson(nodes);
result += ", \"edges\":";
if (edges == null || edges.size() == 0)
result += "[]";
else
result += cyJSONUtil.cyIdentifiablesToJson(edges);
result += "}";
return result;
}
};
return res;
}
return identifiables;
}
use of org.cytoscape.model.CyEdge in project cytoscape-impl by cytoscape.
the class PasteEdit method redo.
@Override
public void redo() {
List<CyIdentifiable> pastedObjects = null;
if (this.xformPt == null)
pastedObjects = clipboard.paste(view, 0.0, 0.0);
else
pastedObjects = clipboard.paste(view, xformPt.getX(), xformPt.getY());
// Apply visual style
final VisualMappingManager vmMgr = serviceRegistrar.getService(VisualMappingManager.class);
VisualStyle vs = vmMgr.getVisualStyle(view);
for (CyIdentifiable element : pastedObjects) {
View<? extends CyIdentifiable> elementView = null;
if (element instanceof CyNode)
elementView = view.getNodeView((CyNode) element);
else if (element instanceof CyEdge)
elementView = view.getEdgeView((CyEdge) element);
else
continue;
vs.apply(view.getModel().getRow(element), elementView);
}
view.updateView();
}
use of org.cytoscape.model.CyEdge in project cytoscape-impl by cytoscape.
the class SIFInterpreterTask method run.
@Override
public void run(TaskMonitor tm) {
if (sifString == null)
throw new NullPointerException("SIF input string is null");
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]);
if (node1 == null) {
node1 = network.addNode();
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]);
} else {
// nv1 = view.getNodeView(node1);
}
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]);
// 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]);
} 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++) {
CyNode node2 = findNode(terms[i]);
if (node2 == null) {
node2 = network.addNode();
network.getRow(node2).set("name", terms[i]);
// 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]);
// doCircleLayout(nodeViews, nv1);
}
}
}
// Apply visual style
final CyEventHelper eventHelper = serviceRegistrar.getService(CyEventHelper.class);
// To make sure the edge view is created before applying the style
eventHelper.flushPayloadEvents();
final VisualMappingManager vmMgr = serviceRegistrar.getService(VisualMappingManager.class);
VisualStyle vs = vmMgr.getVisualStyle(view);
vs.apply(view);
view.updateView();
}
}
}
use of org.cytoscape.model.CyEdge in project cytoscape-impl by cytoscape.
the class ClipboardImplTest method addEdge.
private CyEdge addEdge(CyNetwork net, CyNode n1, CyNode n2, String name) {
CyEdge edge = net.addEdge(n1, n2, true);
net.getRow(edge).set(CyNetwork.NAME, name);
return edge;
}
use of org.cytoscape.model.CyEdge in project cytoscape-impl by cytoscape.
the class ClipboardImplTest method testCopyNodes_SameRoot.
@Test
public void testCopyNodes_SameRoot() throws Exception {
CyNetworkView targetView = createNetworkAndView(sourceView.getModel());
Set<CyNode> nodes = new HashSet<>(Arrays.asList(new CyNode[] { n1, n3 }));
Set<CyEdge> edges = Collections.emptySet();
ClipboardImpl clipboard = new ClipboardImpl(sourceView, nodes, edges, false, lexicon, serviceRegistrar);
clipboard.paste(targetView, 0, 0);
assertEquals(2, targetView.getModel().getNodeCount());
assertEquals(0, targetView.getModel().getEdgeCount());
assertNotNull(getNodeByName(targetView.getModel(), "n1"));
assertNotNull(getNodeByName(targetView.getModel(), "n3"));
}
Aggregations