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));
}
Aggregations