Author: kono
Date: 2012-06-18 14:35:37 -0700 (Mon, 18 Jun 2012)
New Revision: 29607
Added:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassMenuBuilder.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/EdgeBypassContextMenuFactory.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/NodeBypassContextMenuFactory.java
core3/impl/trunk/vizmap-gui-impl/src/main/resources/images/icons/CrystalClearIcons_Action-lock-silver-icon.png
Removed:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassTask.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ClearBypassTask.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/EdgeBypassMenuTaskFactory.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/NodeBypassMenuTaskFactory.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetBypassTask.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetEdgeBypassTaskFactory.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetNodeBypassTaskFactory.java
Modified:
core3/api/trunk/viewmodel-api/src/main/java/org/cytoscape/view/model/VisualLexiconNode.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassManager.java
Log:
fixes #1118 Bypass menu refactored. Menu appearance is state sensitive.
Modified:
core3/api/trunk/viewmodel-api/src/main/java/org/cytoscape/view/model/VisualLexiconNode.java
===================================================================
---
core3/api/trunk/viewmodel-api/src/main/java/org/cytoscape/view/model/VisualLexiconNode.java
2012-06-18 21:35:07 UTC (rev 29606)
+++
core3/api/trunk/viewmodel-api/src/main/java/org/cytoscape/view/model/VisualLexiconNode.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -12,7 +12,7 @@
*
* @CyAPI.Final.Class
*/
-public final class VisualLexiconNode {
+public final class VisualLexiconNode implements Comparable<VisualLexiconNode> {
private final VisualProperty<?> vp;
@@ -69,4 +69,14 @@
return children;
}
+
+ /**
+ * {@inheritDoc}
+ * Compare by display name of this Visual Property.
+ */
+ @Override
+ public int compareTo(final VisualLexiconNode other) {
+ return
this.getVisualProperty().getDisplayName().compareTo(other.getVisualProperty().getDisplayName());
+ }
+
}
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
2012-06-18 21:35:07 UTC (rev 29606)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -143,7 +143,7 @@
DefaultTableCellRenderer emptyBoxRenderer = new
DefaultTableCellRenderer();
DefaultTableCellRenderer filledBoxRenderer = new
DefaultTableCellRenderer();
VizMapEventHandlerManagerImpl vizMapEventHandlerManager = new
VizMapEventHandlerManagerImpl(vmmServiceRef,
editorManager,vizMapPropertySheetBuilder,propertySheetPanel,vizMapperMainPanel,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,attributeSetManager,vizMapperUtil);
- BypassManager bypassManager = new
BypassManager(cyServiceRegistrarServiceRef,editorManager, vmmServiceRef,
cyApplicationManagerServiceRef);
+ BypassManager bypassManager = new
BypassManager(cyServiceRegistrarServiceRef,editorManager, vmmServiceRef);
// Context menu for edge bend
BendFactory bf = getService(bc, BendFactory.class);
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassManager.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassManager.java
2012-06-18 21:35:07 UTC (rev 29606)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassManager.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -1,20 +1,11 @@
package org.cytoscape.view.vizmap.gui.internal.bypass;
-import static org.cytoscape.work.ServiceProperties.MENU_GRAVITY;
-
-import java.util.Collection;
-import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
-import java.util.Vector;
-import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.model.CyIdentifiable;
-import org.cytoscape.model.CyNode;
+import org.cytoscape.application.swing.CyEdgeViewContextMenuFactory;
+import org.cytoscape.application.swing.CyNodeViewContextMenuFactory;
import org.cytoscape.service.util.CyServiceRegistrar;
-import org.cytoscape.task.EdgeViewTaskFactory;
-import org.cytoscape.task.NodeViewTaskFactory;
import org.cytoscape.view.model.VisualLexicon;
import org.cytoscape.view.model.VisualLexiconNode;
import org.cytoscape.view.model.VisualProperty;
@@ -22,32 +13,22 @@
import org.cytoscape.view.presentation.property.BasicVisualLexicon;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.view.vizmap.gui.editor.EditorManager;
-import org.cytoscape.view.vizmap.gui.util.PropertySheetUtil;
-import org.cytoscape.work.ServiceProperties;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Creates Visual Style Bypass menu.
*
*/
public final class BypassManager {
-
- private static final Logger logger =
LoggerFactory.getLogger(BypassManager.class);
-
- private static final String PARENT_MENU_ITEM = "Visual Bypass";
-
+
private final CyServiceRegistrar registrar;
private final EditorManager editorManager;
private final VisualMappingManager vmm;
- private final CyApplicationManager appManager;
public BypassManager(final CyServiceRegistrar registrar, final
EditorManager editorManager,
- final VisualMappingManager vmm, final
CyApplicationManager appManager) {
+ final VisualMappingManager vmm) {
this.registrar = registrar;
this.editorManager = editorManager;
this.vmm = vmm;
- this.appManager = appManager;
}
public void addBypass(RenderingEngineFactory<?> factory, Map props) {
@@ -63,113 +44,24 @@
// Tree traversal
final VisualLexiconNode nodeRootNode =
lexicon.getVisualLexiconNode(nodeRoot);
final VisualLexiconNode edgeRootNode =
lexicon.getVisualLexiconNode(edgeRoot);
-
- registerResetTask(CyNode.class);
- registerResetTask(CyEdge.class);
- depthFirst(PARENT_MENU_ITEM, nodeRootNode);
- depthFirst(PARENT_MENU_ITEM, edgeRootNode);
-
+ buildMenu(nodeRootNode, edgeRootNode, lexicon);
}
public void removeBypass(RenderingEngineFactory<?> factory, Map props) {
// TODO: implement this
}
- private void registerResetTask(Class<? extends CyIdentifiable> type) {
- final Properties vpProp = new Properties();
+ private void buildMenu(final VisualLexiconNode rootNode, final
VisualLexiconNode rootEdge,
+ final VisualLexicon lexicon) {
+ // Create root menu
+ final Properties nodeProp = new Properties();
+ nodeProp.setProperty("preferredTaskManager", "menu");
+ final NodeBypassContextMenuFactory ntf = new
NodeBypassContextMenuFactory(rootNode, editorManager, vmm, lexicon);
+ registrar.registerService(ntf,
CyNodeViewContextMenuFactory.class, nodeProp);
- if (type.equals(CyNode.class)) {
- vpProp.put(ServiceProperties.PREFERRED_MENU,
PARENT_MENU_ITEM + ".Reset All Node Bypass");
- final NodeViewTaskFactory ntf = new
ResetNodeBypassTaskFactory(appManager);
- registrar.registerService(ntf,
NodeViewTaskFactory.class, vpProp);
- } else if (type.equals(CyEdge.class)) {
- vpProp.put(ServiceProperties.PREFERRED_MENU,
PARENT_MENU_ITEM + ".Reset All Edge Bypass");
- final EdgeViewTaskFactory etf = new
ResetEdgeBypassTaskFactory(appManager);
- registrar.registerService(etf,
EdgeViewTaskFactory.class, vpProp);
- }
+ final Properties edgeProp = new Properties();
+ edgeProp.setProperty("preferredTaskManager", "menu");
+ final EdgeBypassContextMenuFactory etf = new
EdgeBypassContextMenuFactory(rootEdge, editorManager, vmm, lexicon);
+ registrar.registerService(etf,
CyEdgeViewContextMenuFactory.class, edgeProp);
}
-
- private void depthFirst(String menuText, final VisualLexiconNode node) {
-
- double menu_gravity = 1.0;
- HashMap<String, String> vpMap = new HashMap<String, String>();
- Vector<String> vp_names = new Vector<String>();
-
- final Collection<VisualLexiconNode> children =
node.getChildren();
-
- // get the list of VP
- for (VisualLexiconNode child : children) {
- final VisualProperty<?> vp = child.getVisualProperty();
-
- // Ignore incompatible VP
- if (PropertySheetUtil.isCompatible(vp) == false)
- continue;
-
- if (child.getChildren().size() == 0) {
- // Leaf
- vp_names.add(vp.getDisplayName());
- }
- }
-
- // do sorting
- Object[] names = vp_names.toArray();
- java.util.Arrays.sort(names);
-
- // Assign the menu_gravity for each VP
- for (int i = 0; i < names.length; i++) {
- menu_gravity += 1.0;
- vpMap.put(names[i].toString(),
Double.toString(menu_gravity));
- }
-
- //
- for (VisualLexiconNode child : children) {
- final VisualProperty<?> vp = child.getVisualProperty();
-
- // Ignore incompatible VP
- if (PropertySheetUtil.isCompatible(vp) == false)
- continue;
-
- final String baseString = menuText + "." +
vp.getDisplayName();
- if (child.getChildren().size() == 0) {
- final String newMenu = baseString + ".Set
Value";
- final String clearMenu = baseString + ".Clear";
- // Leaf
- final Properties vpProp = new Properties();
- vpProp.put(ServiceProperties.PREFERRED_MENU,
newMenu);
- vpProp.put("useCheckBoxMenuItem", "true");
- vpProp.put("targetVP", vp.getIdString());
- vpProp.put(MENU_GRAVITY,
vpMap.get(vp.getDisplayName()));
-
- final Properties clearProp = new Properties();
- clearProp.put(ServiceProperties.PREFERRED_MENU,
clearMenu);
- // clearProp.put("useCheckBoxMenuItem", "true");
- clearProp.put("targetVP", vp.getIdString());
- clearProp.put(MENU_GRAVITY,
vpMap.get(vp.getDisplayName()));
-
- if
(vp.getTargetDataType().equals(CyNode.class)) {
- final NodeViewTaskFactory ntf = new
NodeBypassMenuTaskFactory(null, vp,
-
editorManager.getValueEditor(vp.getRange().getType()), vmm, false);
- registrar.registerService(ntf,
NodeViewTaskFactory.class, vpProp);
-
- final NodeViewTaskFactory clearNtf =
new NodeBypassMenuTaskFactory(null, vp,
-
editorManager.getValueEditor(vp.getRange().getType()), vmm, true);
- registrar.registerService(clearNtf,
NodeViewTaskFactory.class, clearProp);
-
- } else if
(vp.getTargetDataType().equals(CyEdge.class)) {
- final EdgeViewTaskFactory etf = new
EdgeBypassMenuTaskFactory(null, vp,
-
editorManager.getValueEditor(vp.getRange().getType()), vmm, false);
- registrar.registerService(etf,
EdgeViewTaskFactory.class, vpProp);
-
- final EdgeViewTaskFactory clearEtf =
new EdgeBypassMenuTaskFactory(null, vp,
-
editorManager.getValueEditor(vp.getRange().getType()), vmm, true);
- registrar.registerService(clearEtf,
EdgeViewTaskFactory.class, clearProp);
- }
-
- logger.debug("Bypass context menu registered: "
+ vp.getDisplayName());
- } else {
- depthFirst(baseString, child);
- }
- }
- }
-
}
Added:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassMenuBuilder.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassMenuBuilder.java
(rev 0)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassMenuBuilder.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -0,0 +1,192 @@
+package org.cytoscape.view.vizmap.gui.internal.bypass;
+
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.PriorityQueue;
+import java.util.Queue;
+import java.util.Set;
+
+import javax.swing.Icon;
+import javax.swing.ImageIcon;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JSeparator;
+
+import org.cytoscape.application.swing.CyMenuItem;
+import org.cytoscape.model.CyIdentifiable;
+import org.cytoscape.model.CyRow;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.view.model.VisualLexiconNode;
+import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.gui.editor.EditorManager;
+import org.cytoscape.view.vizmap.gui.editor.ValueEditor;
+import org.cytoscape.view.vizmap.gui.util.PropertySheetUtil;
+
+final class BypassMenuBuilder {
+ private static final String ROOT_MENU_LABEL = "Bypass Visual Style";
+
+ // Try to set it at the bottom of context menu
+ private static final float ROOT_GRAVITY = 1000000f;
+
+ private static final Font ENABLED_FONT = new Font("Helvatica",
Font.BOLD, 14);
+ private static final Icon ENABLED_ICON = new ImageIcon(
+
BypassMenuBuilder.class.getResource("/images/icons/CrystalClearIcons_Action-lock-silver-icon.png"));
+ private static final Color ENABLED_COLOR = Color.RED;
+
+ private final VisualLexiconNode root;
+ private final EditorManager editorManager;
+ private final VisualMappingManager vmm;
+ private final Collection<VisualProperty<?>> vpSet;
+
+ public BypassMenuBuilder(final VisualLexiconNode root, final
EditorManager editorManager,
+ final VisualMappingManager vmm, final
Collection<VisualProperty<?>> vpSet) {
+ this.root = root;
+ this.editorManager = editorManager;
+ this.vmm = vmm;
+ this.vpSet = vpSet;
+ }
+
+ public CyMenuItem build(final CyNetworkView netView, final View<?
extends CyIdentifiable> nodeView) {
+ final Queue<VisualLexiconNode> queue = new
PriorityQueue<VisualLexiconNode>(50,
+ new VisualLexiconNodeComparator());
+ final Map<VisualLexiconNode, JMenuItem> menuMap = new
HashMap<VisualLexiconNode, JMenuItem>();
+
+ final JMenu rootJMenu = new JMenu(ROOT_MENU_LABEL);
+
+ final CyMenuItem rootMenu = new CyMenuItem(rootJMenu,
ROOT_GRAVITY);
+ queue.addAll(root.getChildren());
+ menuMap.put(root, rootMenu.getMenuItem());
+
+ final Set<VisualLexiconNode> nextNodes = new
HashSet<VisualLexiconNode>();
+
+ while (!queue.isEmpty()) {
+ final VisualLexiconNode curretNode = queue.poll();
+ final VisualProperty<?> vp =
curretNode.getVisualProperty();
+
+ final Collection<VisualLexiconNode> children =
curretNode.getChildren();
+ nextNodes.addAll(children);
+
+ final JMenuItem menu;
+ if (children.size() == 0 &&
PropertySheetUtil.isCompatible(vp)) {
+ final boolean lock = nodeView.isValueLocked(vp);
+ if (lock) {
+ menu = new JMenu(vp.getDisplayName());
+ final JMenuItem clear = new
JMenuItem("Clear");
+ clear.addActionListener(new
ActionListener() {
+ @Override
+ public void
actionPerformed(ActionEvent e) {
+
nodeView.clearValueLock(vp);
+ netView.updateView();
+ }
+ });
+ final JMenuItem edit = new
JMenuItem("Edit Bypass");
+ edit.addActionListener(new
ActionListener() {
+ @Override
+ public void
actionPerformed(ActionEvent e) {
+ editValue(netView,
nodeView, vp);
+ }
+ });
+ menu.add(clear);
+ menu.add(edit);
+
+ // Update color
+ menu.setForeground(ENABLED_COLOR);
+ menu.setIcon(ENABLED_ICON);
+ menu.setFont(ENABLED_FONT);
+ VisualLexiconNode parent =
curretNode.getParent();
+ while (parent != root) {
+ JMenuItem enabledPath =
menuMap.get(parent);
+
enabledPath.setForeground(ENABLED_COLOR);
+
enabledPath.setIcon(ENABLED_ICON);
+
enabledPath.setFont(ENABLED_FONT);
+ parent = parent.getParent();
+ }
+ rootJMenu.setIcon(ENABLED_ICON);
+ rootJMenu.setForeground(ENABLED_COLOR);
+ rootJMenu.setFont(ENABLED_FONT);
+
+ } else {
+ menu = new
JMenuItem(vp.getDisplayName());
+ menu.addActionListener(new
ActionListener() {
+ @Override
+ public void
actionPerformed(ActionEvent e) {
+ editValue(netView,
nodeView, vp);
+ }
+ });
+ }
+
+ } else {
+ menu = new JMenu(vp.getDisplayName());
+ }
+
+ if(PropertySheetUtil.isCompatible(vp)) {
+ menuMap.get(curretNode.getParent()).add(menu);
+ menuMap.put(curretNode, menu);
+ }
+
+ if (queue.isEmpty()) {
+ queue.addAll(nextNodes);
+ nextNodes.clear();
+ }
+ }
+
+ final JSeparator separator = new JSeparator();
+ final JMenuItem resetMenu = new JMenuItem("Reset All");
+ resetMenu.addActionListener(new ActionListener() {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ clearAll(netView, nodeView);
+
+ }
+ });
+
+ rootJMenu.add(separator);
+ rootJMenu.add(resetMenu);
+
+ return rootMenu;
+ }
+
+ private final void editValue(final CyNetworkView netView, final View<?
extends CyIdentifiable> nodeView,
+ VisualProperty<?> vp) {
+ final ValueEditor<Object> editor = (ValueEditor<Object>)
editorManager.getValueEditor(vp.getRange().getType());
+ final Object newValue = editor.showEditor(null,
nodeView.getVisualProperty(vp));
+ nodeView.setLockedValue(vp, newValue);
+ final CyRow row =
netView.getModel().getRow(nodeView.getModel());
+ vmm.getCurrentVisualStyle().apply(row, nodeView);
+ netView.updateView();
+ }
+
+ private final void clearAll(final CyNetworkView netView, final View<?
extends CyIdentifiable> nodeView) {
+ boolean needToUpdateView = false;
+
+ for (VisualProperty<?> vp : vpSet) {
+ final boolean lock = nodeView.isValueLocked(vp);
+ if (lock) {
+ nodeView.clearValueLock(vp);
+ needToUpdateView = true;
+ }
+ }
+
+ if (needToUpdateView)
+ netView.updateView();
+ }
+
+ private static final class VisualLexiconNodeComparator implements
Comparator<VisualLexiconNode> {
+ @Override
+ public int compare(final VisualLexiconNode node1, final
VisualLexiconNode node2) {
+ return node1.compareTo(node2);
+ }
+
+ }
+
+}
Deleted:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassTask.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassTask.java
2012-06-18 21:35:07 UTC (rev 29606)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassTask.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -1,75 +0,0 @@
-package org.cytoscape.view.vizmap.gui.internal.bypass;
-
-import static org.cytoscape.work.ServiceProperties.MENU_GRAVITY;
-
-import java.awt.Component;
-import java.util.Properties;
-
-import javax.swing.SwingUtilities;
-
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.model.CyIdentifiable;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.model.CyRow;
-import org.cytoscape.service.util.CyServiceRegistrar;
-import org.cytoscape.task.EdgeViewTaskFactory;
-import org.cytoscape.task.NodeViewTaskFactory;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.VisualProperty;
-import org.cytoscape.view.vizmap.VisualMappingManager;
-import org.cytoscape.view.vizmap.gui.editor.ValueEditor;
-import org.cytoscape.work.AbstractTask;
-import org.cytoscape.work.ServiceProperties;
-import org.cytoscape.work.TaskMonitor;
-
-/**
- * Task to execute visual style bypass.
- *
- * @param <T>
- * Type of Graph object: CyNode or CyEdge.
- */
-public class BypassTask<T extends CyIdentifiable> extends AbstractTask {
-
- // Target view object. Node or Edge.
- private final View<T> view;
- private final VisualProperty<Object> vp;
- private final ValueEditor<Object> editor;
-
- private final Component parent;
- private final CyNetworkView networkView;
- private final VisualMappingManager vmm;
-
- @SuppressWarnings("unchecked")
- BypassTask(Component parent, ValueEditor<?> editor, final
VisualProperty<?> vp, final View<T> view,
- final CyNetworkView networkView, final
VisualMappingManager vmm) {
- this.view = view;
- this.vp = (VisualProperty<Object>) vp;
- this.editor = (ValueEditor<Object>) editor;
- this.parent = parent;
- this.vmm = vmm;
-
- this.networkView = networkView;
- }
-
- @Override
- public void run(TaskMonitor taskMonitor) throws Exception {
- final boolean lock = view.isValueLocked(vp);
-
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- update(lock);
- }
- });
-
- }
-
- private final void update(final boolean lock) {
- final Object newValue = editor.showEditor(parent,
view.getVisualProperty(vp));
- view.setLockedValue(vp, newValue);
- final CyRow row =
networkView.getModel().getRow(view.getModel());
- vmm.getCurrentVisualStyle().apply(row, view);
- networkView.updateView();
- }
-}
Deleted:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ClearBypassTask.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ClearBypassTask.java
2012-06-18 21:35:07 UTC (rev 29606)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ClearBypassTask.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -1,34 +0,0 @@
-package org.cytoscape.view.vizmap.gui.internal.bypass;
-
-import org.cytoscape.model.CyIdentifiable;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.VisualProperty;
-import org.cytoscape.work.AbstractTask;
-import org.cytoscape.work.TaskMonitor;
-
-public class ClearBypassTask extends AbstractTask {
-
- private final View<? extends CyIdentifiable> view;
- private final VisualProperty<Object> vp;
-
- private final CyNetworkView networkView;
-
- public ClearBypassTask(final VisualProperty<?> vp, final View<? extends
CyIdentifiable> view,
- final CyNetworkView networkView) {
- this.view = view;
- this.vp = (VisualProperty<Object>) vp;
- this.networkView = networkView;
- }
-
- @Override
- public void run(TaskMonitor taskMonitor) throws Exception {
-
- final boolean lock = view.isValueLocked(vp);
- if (lock) {
- view.clearValueLock(vp);
- networkView.updateView();
- }
- }
-
-}
\ No newline at end of file
Added:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/EdgeBypassContextMenuFactory.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/EdgeBypassContextMenuFactory.java
(rev 0)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/EdgeBypassContextMenuFactory.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -0,0 +1,37 @@
+package org.cytoscape.view.vizmap.gui.internal.bypass;
+
+import java.util.Collection;
+
+import org.cytoscape.application.swing.CyEdgeViewContextMenuFactory;
+import org.cytoscape.application.swing.CyMenuItem;
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.view.model.VisualLexicon;
+import org.cytoscape.view.model.VisualLexiconNode;
+import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.presentation.property.BasicVisualLexicon;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.gui.editor.EditorManager;
+
+public class EdgeBypassContextMenuFactory implements
CyEdgeViewContextMenuFactory {
+
+ private final VisualLexiconNode root;
+ private final EditorManager editorManager;
+ private final VisualMappingManager vmm;
+ private Collection<VisualProperty<?>> vpSet;
+
+ EdgeBypassContextMenuFactory(final VisualLexiconNode root, final
EditorManager editorManager,
+ final VisualMappingManager vmm, final VisualLexicon
lexicon) {
+ this.root = root;
+ this.editorManager = editorManager;
+ this.vmm = vmm;
+ this.vpSet = lexicon.getAllDescendants(BasicVisualLexicon.EDGE);
+ }
+
+ @Override
+ public CyMenuItem createMenuItem(final CyNetworkView netView, final
View<CyEdge> edgeView) {
+ final BypassMenuBuilder menuBuilder = new
BypassMenuBuilder(root, editorManager, vmm, vpSet);
+ return menuBuilder.build(netView, edgeView);
+ }
+}
Deleted:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/EdgeBypassMenuTaskFactory.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/EdgeBypassMenuTaskFactory.java
2012-06-18 21:35:07 UTC (rev 29606)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/EdgeBypassMenuTaskFactory.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -1,39 +0,0 @@
-package org.cytoscape.view.vizmap.gui.internal.bypass;
-
-import java.awt.Component;
-
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.task.AbstractEdgeViewTaskFactory;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.VisualProperty;
-import org.cytoscape.view.vizmap.VisualMappingManager;
-import org.cytoscape.view.vizmap.gui.editor.ValueEditor;
-import org.cytoscape.work.TaskIterator;
-
-public class EdgeBypassMenuTaskFactory extends AbstractEdgeViewTaskFactory {
-
- private final VisualProperty<?> vp;
- private final ValueEditor<?> editor;
-
- private final Component parent;
- private final VisualMappingManager vmm;
- private final boolean clearOnly;
-
- public EdgeBypassMenuTaskFactory(final Component parent, final
VisualProperty<?> vp, final ValueEditor<?> editor,
- final VisualMappingManager vmm, final boolean
clearOnly) {
- this.vp = vp;
- this.editor = editor;
- this.parent = parent;
- this.vmm = vmm;
- this.clearOnly = clearOnly;
- }
-
- @Override
- public TaskIterator createTaskIterator(View<CyEdge> edgeView,
CyNetworkView netView) {
- if(clearOnly)
- return new TaskIterator(new ClearBypassTask(vp,
edgeView, netView));
- else
- return new TaskIterator(new BypassTask<CyEdge>(parent,
editor, vp, edgeView, netView, vmm));
- }
-}
Copied:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/NodeBypassContextMenuFactory.java
(from rev 29594,
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/NodeBypassMenuTaskFactory.java)
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/NodeBypassContextMenuFactory.java
(rev 0)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/NodeBypassContextMenuFactory.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -0,0 +1,37 @@
+package org.cytoscape.view.vizmap.gui.internal.bypass;
+
+import java.util.Collection;
+
+import org.cytoscape.application.swing.CyMenuItem;
+import org.cytoscape.application.swing.CyNodeViewContextMenuFactory;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.view.model.VisualLexicon;
+import org.cytoscape.view.model.VisualLexiconNode;
+import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.presentation.property.BasicVisualLexicon;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.gui.editor.EditorManager;
+
+final class NodeBypassContextMenuFactory implements
CyNodeViewContextMenuFactory {
+
+ private final VisualLexiconNode root;
+ private final EditorManager editorManager;
+ private final VisualMappingManager vmm;
+ private Collection<VisualProperty<?>> vpSet;
+
+ NodeBypassContextMenuFactory(final VisualLexiconNode root, final
EditorManager editorManager,
+ final VisualMappingManager vmm, final VisualLexicon
lexicon) {
+ this.root = root;
+ this.editorManager = editorManager;
+ this.vmm = vmm;
+ this.vpSet = lexicon.getAllDescendants(BasicVisualLexicon.NODE);
+ }
+
+ @Override
+ public CyMenuItem createMenuItem(final CyNetworkView netView, final
View<CyNode> nodeView) {
+ final BypassMenuBuilder menuBuilder = new
BypassMenuBuilder(root, editorManager, vmm, vpSet);
+ return menuBuilder.build(netView, nodeView);
+ }
+}
Deleted:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/NodeBypassMenuTaskFactory.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/NodeBypassMenuTaskFactory.java
2012-06-18 21:35:07 UTC (rev 29606)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/NodeBypassMenuTaskFactory.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -1,41 +0,0 @@
-package org.cytoscape.view.vizmap.gui.internal.bypass;
-
-import java.awt.Component;
-
-import org.cytoscape.model.CyNode;
-import org.cytoscape.task.AbstractNodeViewTaskFactory;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.VisualProperty;
-import org.cytoscape.view.vizmap.VisualMappingManager;
-import org.cytoscape.view.vizmap.gui.editor.ValueEditor;
-import org.cytoscape.work.TaskIterator;
-
-public class NodeBypassMenuTaskFactory extends AbstractNodeViewTaskFactory {
-
- private final VisualProperty<?> vp;
- private final ValueEditor<?> editor;
-
- private final Component parent;
- private final VisualMappingManager vmm;
-
- final boolean clearOnly;
-
- NodeBypassMenuTaskFactory(final Component parent, final
VisualProperty<?> vp, final ValueEditor<?> editor,
- final VisualMappingManager vmm, final boolean
clearOnly) {
- this.vp = vp;
- this.editor = editor;
- this.parent = parent;
- this.vmm = vmm;
-
- this.clearOnly = clearOnly;
- }
-
- @Override
- public TaskIterator createTaskIterator(View<CyNode> nodeView,
CyNetworkView netView) {
- if(clearOnly) {
- return new TaskIterator(new ClearBypassTask(vp,
nodeView, netView));
- } else
- return new TaskIterator(new BypassTask<CyNode>(parent,
editor, vp, nodeView, netView, vmm));
- }
-}
Deleted:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetBypassTask.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetBypassTask.java
2012-06-18 21:35:07 UTC (rev 29606)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetBypassTask.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -1,52 +0,0 @@
-package org.cytoscape.view.vizmap.gui.internal.bypass;
-
-import java.util.Collection;
-
-import org.cytoscape.model.CyIdentifiable;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.VisualLexicon;
-import org.cytoscape.view.model.VisualProperty;
-import org.cytoscape.view.presentation.property.BasicVisualLexicon;
-import org.cytoscape.work.AbstractTask;
-import org.cytoscape.work.TaskMonitor;
-
-public class ResetBypassTask extends AbstractTask {
-
- private final View<? extends CyIdentifiable> view;
- private final CyNetworkView networkView;
-
- private final Collection<VisualProperty<?>> vpSet;
-
- public ResetBypassTask(final VisualLexicon lexicon, final View<?
extends CyIdentifiable> view,
- final CyNetworkView networkView) {
- this.view = view;
- this.networkView = networkView;
-
- final CyIdentifiable model = view.getModel();
- if (model instanceof CyNode) {
- vpSet =
lexicon.getAllDescendants(BasicVisualLexicon.NODE);
- } else {
- vpSet =
lexicon.getAllDescendants(BasicVisualLexicon.EDGE);
- }
- }
-
- @Override
- public void run(TaskMonitor taskMonitor) throws Exception {
-
- boolean needToUpdateView = false;
-
- for (VisualProperty<?> vp : vpSet) {
- final boolean lock = view.isValueLocked(vp);
- if (lock) {
- view.clearValueLock(vp);
- needToUpdateView = true;
- }
- }
-
- if(needToUpdateView)
- networkView.updateView();
- }
-
-}
Deleted:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetEdgeBypassTaskFactory.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetEdgeBypassTaskFactory.java
2012-06-18 21:35:07 UTC (rev 29606)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetEdgeBypassTaskFactory.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -1,25 +0,0 @@
-package org.cytoscape.view.vizmap.gui.internal.bypass;
-
-import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.task.AbstractEdgeViewTaskFactory;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.view.vizmap.VisualMappingManager;
-import org.cytoscape.work.TaskIterator;
-
-public class ResetEdgeBypassTaskFactory extends AbstractEdgeViewTaskFactory {
-
- private final CyApplicationManager applicationManager;
-
- public ResetEdgeBypassTaskFactory(final CyApplicationManager
applicationManager) {
- this.applicationManager = applicationManager;
- }
-
- @Override
- public TaskIterator createTaskIterator(View<CyEdge> edgeView,
CyNetworkView networkView) {
- return new TaskIterator(new
ResetBypassTask(applicationManager.getCurrentRenderingEngine().getVisualLexicon(),
- edgeView, networkView));
- }
-
-}
Deleted:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetNodeBypassTaskFactory.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetNodeBypassTaskFactory.java
2012-06-18 21:35:07 UTC (rev 29606)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/ResetNodeBypassTaskFactory.java
2012-06-18 21:35:37 UTC (rev 29607)
@@ -1,24 +0,0 @@
-package org.cytoscape.view.vizmap.gui.internal.bypass;
-
-import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.task.AbstractNodeViewTaskFactory;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.work.TaskIterator;
-
-public class ResetNodeBypassTaskFactory extends AbstractNodeViewTaskFactory {
-
- private final CyApplicationManager applicationManager;
-
- public ResetNodeBypassTaskFactory(final CyApplicationManager
applicationManager) {
- this.applicationManager = applicationManager;
- }
-
- @Override
- public TaskIterator createTaskIterator(View<CyNode> nodeView,
CyNetworkView networkView) {
- return new TaskIterator(new
ResetBypassTask(applicationManager.getCurrentRenderingEngine().getVisualLexicon(),
- nodeView, networkView));
- }
-
-}
\ No newline at end of file
Added:
core3/impl/trunk/vizmap-gui-impl/src/main/resources/images/icons/CrystalClearIcons_Action-lock-silver-icon.png
===================================================================
(Binary files differ)
Property changes on:
core3/impl/trunk/vizmap-gui-impl/src/main/resources/images/icons/CrystalClearIcons_Action-lock-silver-icon.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.