Search in sources :

Example 16 with CyEdge

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;
}
Also used : JSONResult(org.cytoscape.work.json.JSONResult) ArrayList(java.util.ArrayList) CyNode(org.cytoscape.model.CyNode) CyEdge(org.cytoscape.model.CyEdge) CyIdentifiable(org.cytoscape.model.CyIdentifiable) CyJSONUtil(org.cytoscape.util.json.CyJSONUtil)

Example 17 with CyEdge

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();
}
Also used : CyNode(org.cytoscape.model.CyNode) VisualMappingManager(org.cytoscape.view.vizmap.VisualMappingManager) VisualStyle(org.cytoscape.view.vizmap.VisualStyle) CyEdge(org.cytoscape.model.CyEdge) CyIdentifiable(org.cytoscape.model.CyIdentifiable)

Example 18 with CyEdge

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();
        }
    }
}
Also used : CyEventHelper(org.cytoscape.event.CyEventHelper) CyNode(org.cytoscape.model.CyNode) ArrayList(java.util.ArrayList) List(java.util.List) VisualMappingManager(org.cytoscape.view.vizmap.VisualMappingManager) VisualStyle(org.cytoscape.view.vizmap.VisualStyle) CyEdge(org.cytoscape.model.CyEdge) View(org.cytoscape.view.model.View) CyNetworkView(org.cytoscape.view.model.CyNetworkView)

Example 19 with CyEdge

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;
}
Also used : CyEdge(org.cytoscape.model.CyEdge)

Example 20 with CyEdge

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"));
}
Also used : CyNode(org.cytoscape.model.CyNode) CyNetworkView(org.cytoscape.view.model.CyNetworkView) CyEdge(org.cytoscape.model.CyEdge) HashSet(java.util.HashSet) Test(org.junit.Test)

Aggregations

CyEdge (org.cytoscape.model.CyEdge)302 CyNode (org.cytoscape.model.CyNode)231 CyNetwork (org.cytoscape.model.CyNetwork)103 ArrayList (java.util.ArrayList)77 Test (org.junit.Test)71 CyNetworkView (org.cytoscape.view.model.CyNetworkView)55 HashSet (java.util.HashSet)42 CyRow (org.cytoscape.model.CyRow)41 CyIdentifiable (org.cytoscape.model.CyIdentifiable)29 HashMap (java.util.HashMap)26 CySubNetwork (org.cytoscape.model.subnetwork.CySubNetwork)25 CyTable (org.cytoscape.model.CyTable)21 DummyCyEdge (org.cytoscape.model.DummyCyEdge)21 VisualStyle (org.cytoscape.view.vizmap.VisualStyle)18 DummyCyNode (org.cytoscape.model.DummyCyNode)17 View (org.cytoscape.view.model.View)16 List (java.util.List)13 CyEventHelper (org.cytoscape.event.CyEventHelper)12 CyGroup (org.cytoscape.group.CyGroup)12 VisualMappingManager (org.cytoscape.view.vizmap.VisualMappingManager)12