use of org.cytoscape.view.model.View in project cytoscape-impl by cytoscape.
the class NetworkViewMediator method reapplyLockedValues.
@SuppressWarnings({ "rawtypes", "unchecked" })
private boolean reapplyLockedValues(final String columnName, final Collection<CyNetworkView> networkViews) {
boolean result = false;
final CyColumnIdentifierFactory colIdfFactory = serviceRegistrar.getService(CyColumnIdentifierFactory.class);
final CyColumnIdentifier colId = colIdfFactory.createColumnIdentifier(columnName);
final Map<MappedVisualPropertyValueInfo, Set<View<?>>> mvpInfoMap = mappedValuesMap.get(colId);
if (mvpInfoMap != null) {
for (final MappedVisualPropertyValueInfo mvpInfo : mvpInfoMap.keySet()) {
if (networkViews == null || !networkViews.contains(mvpInfo.getNetworkView()))
continue;
final MappableVisualPropertyValue value = mvpInfo.getValue();
final VisualProperty vp = mvpInfo.getVisualProperty();
final Set<View<?>> viewSet = mvpInfoMap.get(mvpInfo);
for (final View<?> view : viewSet) {
if (view.isDirectlyLocked(vp) && value.equals(view.getVisualProperty(vp))) {
value.update();
view.setLockedValue(vp, value);
result = true;
}
}
}
}
return result;
}
use of org.cytoscape.view.model.View in project cytoscape-impl by cytoscape.
the class AbstractHideFromSelectionTaskFactory method isReady.
@Override
public boolean isReady(final CyNetworkView networkView) {
if (super.isReady(networkView)) {
if (networkView != null && !selectionValue) {
// Also check if there are any unselected elements that are also visible...
final CyNetwork network = networkView.getModel();
final List<CyIdentifiable> elements = new ArrayList<>();
if (hideNodes)
elements.addAll(CyTableUtil.getNodesInState(network, CyNetwork.SELECTED, false));
if (hideEdges)
elements.addAll(CyTableUtil.getEdgesInState(network, CyNetwork.SELECTED, false));
for (CyIdentifiable e : elements) {
if (e instanceof CyNode) {
final View<CyNode> nv = networkView.getNodeView((CyNode) e);
if (nv != null && nv.getVisualProperty(BasicVisualLexicon.NODE_VISIBLE) == Boolean.TRUE)
return true;
} else if (e instanceof CyEdge) {
final View<CyEdge> ev = networkView.getEdgeView((CyEdge) e);
if (ev != null && ev.getVisualProperty(BasicVisualLexicon.EDGE_VISIBLE) == Boolean.TRUE)
return true;
}
}
} else {
return true;
}
}
return false;
}
use of org.cytoscape.view.model.View in project cytoscape-impl by cytoscape.
the class AbstractPropertyTask method setPropertyValue.
public void setPropertyValue(CyNetwork network, CyIdentifiable target, VisualProperty vp, String value, boolean locked) {
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");
Object t = vp.parseSerializableString(value);
if (locked)
networkView.setLockedValue(vp, t);
else {
if (networkView.isValueLocked(vp))
networkView.clearValueLock(vp);
networkView.setVisualProperty(vp, t);
}
} 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);
Object t = vp.parseSerializableString(value);
if (locked)
nodeView.setLockedValue(vp, t);
else {
if (nodeView.isValueLocked(vp))
nodeView.clearValueLock(vp);
nodeView.setVisualProperty(vp, t);
}
} 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);
Object t = vp.parseSerializableString(value);
if (locked)
edgeView.setLockedValue(vp, t);
else {
if (edgeView.isValueLocked(vp))
edgeView.clearValueLock(vp);
edgeView.setVisualProperty(vp, t);
}
}
return;
}
use of org.cytoscape.view.model.View in project cytoscape-impl by cytoscape.
the class NodeLocations method undo.
public void undo() {
final Collection<CyNetworkView> views = networkViewManager.getNetworkViews(network);
CyNetworkView view = null;
if (views.size() != 0)
view = views.iterator().next();
networkCenterX = view.getVisualProperty(NETWORK_CENTER_X_LOCATION);
networkCenterY = view.getVisualProperty(NETWORK_CENTER_Y_LOCATION);
networkCenterZ = view.getVisualProperty(NETWORK_CENTER_Z_LOCATION);
networkScaleFactor = view.getVisualProperty(NETWORK_SCALE_FACTOR);
final Collection<View<CyNode>> nodeViews = view.getNodeViews();
nodesAndLocations = new WeakHashMap<CyNode, NodeLocations>(nodeViews.size());
for (final View<CyNode> nodeView : nodeViews) nodesAndLocations.put(nodeView.getModel(), new NodeLocations(nodeView));
networkViewManager.destroyNetworkView(view);
}
use of org.cytoscape.view.model.View in project cytoscape-impl by cytoscape.
the class SelectFirstNeighborsNodeViewTaskTest method testNullNetworkView.
@Test(expected = NullPointerException.class)
public void testNullNetworkView() throws Exception {
View<CyNode> nv = (View<CyNode>) mock(View.class);
// run the task
Task t = new SelectFirstNeighborsNodeViewTask(nv, null, CyEdge.Type.ANY, eventHelper);
t.run(tm);
}
Aggregations