Search in sources :

Example 26 with View

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;
}
Also used : Set(java.util.Set) HashSet(java.util.HashSet) LinkedHashSet(java.util.LinkedHashSet) MappableVisualPropertyValue(org.cytoscape.view.presentation.property.values.MappableVisualPropertyValue) CyColumnIdentifierFactory(org.cytoscape.view.presentation.property.values.CyColumnIdentifierFactory) VisualProperty(org.cytoscape.view.model.VisualProperty) CyColumnIdentifier(org.cytoscape.view.presentation.property.values.CyColumnIdentifier) View(org.cytoscape.view.model.View) CyNetworkView(org.cytoscape.view.model.CyNetworkView)

Example 27 with View

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;
}
Also used : ArrayList(java.util.ArrayList) CyNetwork(org.cytoscape.model.CyNetwork) CyNode(org.cytoscape.model.CyNode) CyEdge(org.cytoscape.model.CyEdge) View(org.cytoscape.view.model.View) CyNetworkView(org.cytoscape.view.model.CyNetworkView) CyIdentifiable(org.cytoscape.model.CyIdentifiable)

Example 28 with View

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;
}
Also used : CyNetwork(org.cytoscape.model.CyNetwork) CyNode(org.cytoscape.model.CyNode) CyNetworkView(org.cytoscape.view.model.CyNetworkView) View(org.cytoscape.view.model.View) CyNetworkView(org.cytoscape.view.model.CyNetworkView) CyEdge(org.cytoscape.model.CyEdge)

Example 29 with View

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);
}
Also used : CyNode(org.cytoscape.model.CyNode) CyNetworkView(org.cytoscape.view.model.CyNetworkView) View(org.cytoscape.view.model.View) CyNetworkView(org.cytoscape.view.model.CyNetworkView)

Example 30 with 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);
}
Also used : Task(org.cytoscape.work.Task) CyNode(org.cytoscape.model.CyNode) View(org.cytoscape.view.model.View) CyNetworkView(org.cytoscape.view.model.CyNetworkView) Test(org.junit.Test)

Aggregations

CyNetworkView (org.cytoscape.view.model.CyNetworkView)35 View (org.cytoscape.view.model.View)35 CyNode (org.cytoscape.model.CyNode)24 CyEdge (org.cytoscape.model.CyEdge)17 CyNetwork (org.cytoscape.model.CyNetwork)15 ArrayList (java.util.ArrayList)12 HashSet (java.util.HashSet)11 VisualProperty (org.cytoscape.view.model.VisualProperty)8 VisualStyle (org.cytoscape.view.vizmap.VisualStyle)8 List (java.util.List)7 VisualMappingManager (org.cytoscape.view.vizmap.VisualMappingManager)6 HashMap (java.util.HashMap)5 Set (java.util.Set)5 CyEventHelper (org.cytoscape.event.CyEventHelper)5 BasicVisualLexicon (org.cytoscape.view.presentation.property.BasicVisualLexicon)5 Paint (java.awt.Paint)4 CyApplicationManager (org.cytoscape.application.CyApplicationManager)4 CyIdentifiable (org.cytoscape.model.CyIdentifiable)4 VisualLexicon (org.cytoscape.view.model.VisualLexicon)4 Collectors (java.util.stream.Collectors)3