use of org.cytoscape.task.internal.network.RegisterNetworkTask in project cytoscape-impl by cytoscape.
the class CreateNetworkViewTask method run.
@Override
public void run(TaskMonitor tm) throws Exception {
tm.setProgress(0.0);
final Collection<CyNetwork> netList = network != null ? Collections.singletonList(network) : networks;
final int total = netList.size();
tm.setTitle("Creating Network View" + (total == 1 ? "" : "s"));
tm.setStatusMessage("Creating " + total + " network view" + (total == 1 ? "" : "s") + "...");
if (viewFactory == null && viewRenderers.size() > 1) {
// Let the user choose the network view renderer first
final ChooseViewRendererTask chooseRendererTask = new ChooseViewRendererTask(netList);
insertTasksAfterCurrentTask(chooseRendererTask);
} else {
final CyNetwork curNet = appMgr.getCurrentNetwork();
CyNetworkView curView = appMgr.getCurrentNetworkView();
final VisualStyle style = vmMgr.getCurrentVisualStyle();
int i = 0;
int viewCount = netList.size();
for (final CyNetwork n : netList) {
// TODO Remove this check when multiple views per network is supported
if (netViewMgr.viewExists(n))
continue;
final CyNetworkView view = createView(n, style, tm);
networkViews.add(view);
if (curView == null && n.equals(curNet))
curView = view;
tm.setStatusMessage("Network view successfully created for: " + n.getRow(n).get(CyNetwork.NAME, String.class));
i++;
tm.setProgress((i / (double) viewCount));
}
final List<CyNetwork> selectedNetworks = appMgr.getSelectedNetworks();
final List<CyNetworkView> selectedViews = new ArrayList<>(appMgr.getSelectedNetworkViews());
boolean setSelectedViews = false;
if (layoutMgr == null) {
// Create network from selection?
insertTasksAfterCurrentTask(new RegisterNetworkTask(networkViews.get(0), style, netMgr, vmMgr, appMgr, netViewMgr));
} else {
insertTasksAfterCurrentTask(new RegisterNetworkTask(networkViews, style, netMgr, vmMgr, appMgr, netViewMgr));
}
}
tm.setProgress(1.0);
}
Aggregations