use of org.cytoscape.model.CyEdge in project cytoscape-impl by cytoscape.
the class NewNetworkCommandTask method getNodes.
/**
* Returns the selected nodes plus all nodes that connect the selected edges
*/
@Override
Set<CyNode> getNodes(final CyNetwork net) {
if (nodes == null) {
nodes = new HashSet<CyNode>(nodeList.getValue());
if (edgeList != null && edgeList.getValue() != null) {
final Collection<CyEdge> selectedEdges = edgeList.getValue();
for (final CyEdge e : selectedEdges) {
nodes.add(e.getSource());
nodes.add(e.getTarget());
}
}
}
return nodes;
}
use of org.cytoscape.model.CyEdge in project cytoscape-impl by cytoscape.
the class NewNetworkSelectedNodesEdgesTask method getNodes.
/**
* Returns the selected nodes plus all nodes that connect the selected edges
*/
@Override
Set<CyNode> getNodes(final CyNetwork net) {
if (nodes == null) {
nodes = new HashSet<>(CyTableUtil.getNodesInState(net, CyNetwork.SELECTED, true));
final Collection<CyEdge> selectedEdges = getEdges(net);
for (final CyEdge e : selectedEdges) {
nodes.add(e.getSource());
nodes.add(e.getTarget());
}
}
return nodes;
}
use of org.cytoscape.model.CyEdge in project cytoscape-impl by cytoscape.
the class AbstractPropertyTask method getPropertyValue.
public Object getPropertyValue(CyNetwork network, CyIdentifiable target, VisualProperty vp) {
CyNetworkView networkView = getViewForNetwork(network);
Class<? extends CyIdentifiable> vpTargetType = vp.getTargetDataType();
if (target instanceof CyNetwork) {
if (vpTargetType != CyNetwork.class)
throw new RuntimeException("Property '" + vp.getDisplayName() + "' not available for networks");
return networkView.getVisualProperty(vp);
} else if (target instanceof CyNode) {
if (vpTargetType != CyNode.class)
throw new RuntimeException("Property '" + vp.getDisplayName() + "' not available for nodes");
View<CyNode> nodeView = networkView.getNodeView((CyNode) target);
return nodeView.getVisualProperty(vp);
} else if (target instanceof CyEdge) {
if (vpTargetType != CyEdge.class)
throw new RuntimeException("Property '" + vp.getDisplayName() + "' not available for edges");
View<CyEdge> edgeView = networkView.getEdgeView((CyEdge) target);
return edgeView.getVisualProperty(vp);
}
return null;
}
use of org.cytoscape.model.CyEdge in project cytoscape-impl by cytoscape.
the class GetEdgePropertiesTask method run.
@Override
public void run(final TaskMonitor taskMonitor) {
edgePropertiesMap = new HashMap<CyEdge, Map<String, VisualPropertyObjectTuple>>();
CyNetwork network = edgeTunable.getNetwork();
if (propertyList == null || propertyList.length() == 0) {
taskMonitor.showMessage(TaskMonitor.Level.ERROR, "Property list must be specified");
return;
}
// Get the list of properties
String[] props = propertyList.split(",");
for (CyEdge edge : edgeTunable.getEdgeList()) {
taskMonitor.showMessage(TaskMonitor.Level.INFO, " Edge property values for edge " + DataUtils.getEdgeName(network.getDefaultEdgeTable(), edge) + ":");
Map<String, VisualPropertyObjectTuple> propertyMap = new HashMap<String, VisualPropertyObjectTuple>();
for (String property : props) {
try {
VisualProperty vp = getProperty(network, edge, property.trim());
Object value = getPropertyValue(network, edge, vp);
if (value != null) {
taskMonitor.showMessage(TaskMonitor.Level.INFO, " " + vp.getDisplayName() + "=" + value.toString());
propertyMap.put(vp.getIdString(), new VisualPropertyObjectTuple(vp, value));
}
} catch (Exception e) {
taskMonitor.showMessage(TaskMonitor.Level.ERROR, e.getMessage());
return;
}
}
edgePropertiesMap.put(edge, propertyMap);
}
}
use of org.cytoscape.model.CyEdge in project cytoscape-impl by cytoscape.
the class InvertSelectedEdgesTask method run.
@Override
public void run(final TaskMonitor tm) {
tm.setTitle("Invert Edge Selection");
tm.setProgress(0.0);
final Collection<CyNetworkView> views = networkViewManager.getNetworkViews(network);
CyNetworkView view = null;
if (views.size() != 0)
view = views.iterator().next();
undoSupport.postEdit(new SelectionEdit(eventHelper, "Invert Selected Edges", network, view, SelectionEdit.SelectionFilter.EDGES_ONLY));
tm.setStatusMessage("Inverting Edge Selection...");
tm.setProgress(0.2);
for (final CyEdge e : network.getEdgeList()) {
if (network.getRow(e).get(CyNetwork.SELECTED, Boolean.class))
network.getRow(e).set(CyNetwork.SELECTED, false);
else
network.getRow(e).set(CyNetwork.SELECTED, true);
}
tm.setStatusMessage("Updating View...");
tm.setProgress(0.6);
eventHelper.flushPayloadEvents();
tm.setProgress(0.8);
updateView();
tm.setProgress(1.0);
}
Aggregations