Search in sources :

Example 1 with GroupNodesRemovedEvent

use of org.cytoscape.group.events.GroupNodesRemovedEvent in project cytoscape-impl by cytoscape.

the class CyGroupImpl method removeNodes.

/**
 * @see org.cytoscape.group.CyGroup#removeNodes()
 */
@Override
public void removeNodes(List<CyNode> nodes) {
    synchronized (lock) {
        List<CyEdge> netEdges = new ArrayList<CyEdge>();
        for (CyNode node : nodes) {
            List<CyEdge> edges = rootNetwork.getAdjacentEdgeList(node, CyEdge.Type.ANY);
            for (CyEdge edge : edges) {
                if (externalEdges.contains(edge))
                    externalEdges.remove(edge);
                else if (memberEdges.contains(edge))
                    memberEdges.remove(edge);
                else {
                    netEdges.add(edge);
                }
            }
        }
        if (netEdges.size() > 0)
            getGroupNetwork().removeEdges(netEdges);
        getGroupNetwork().removeNodes(nodes);
        updateMetaEdges(false);
        for (CyNetwork net : networkSet) {
            updateCountAttributes(net);
        }
    }
    cyEventHelper.fireEvent(new GroupNodesRemovedEvent(CyGroupImpl.this, nodes));
}
Also used : GroupNodesRemovedEvent(org.cytoscape.group.events.GroupNodesRemovedEvent) ArrayList(java.util.ArrayList) CyNetwork(org.cytoscape.model.CyNetwork) CyNode(org.cytoscape.model.CyNode) CyEdge(org.cytoscape.model.CyEdge)

Aggregations

ArrayList (java.util.ArrayList)1 GroupNodesRemovedEvent (org.cytoscape.group.events.GroupNodesRemovedEvent)1 CyEdge (org.cytoscape.model.CyEdge)1 CyNetwork (org.cytoscape.model.CyNetwork)1 CyNode (org.cytoscape.model.CyNode)1