Author: kono
Date: 2012-01-09 10:50:28 -0800 (Mon, 09 Jan 2012)
New Revision: 27951
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassManager.java
Log:
fixes #556 Visual Property filter applied to the Bypass Context menu.
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-01-07 00:54:04 UTC (rev 27950)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/bypass/BypassManager.java
2012-01-09 18:50:28 UTC (rev 27951)
@@ -17,30 +17,23 @@
import org.cytoscape.view.presentation.property.MinimalVisualLexicon;
import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
import org.cytoscape.view.vizmap.gui.editor.EditorManager;
+import org.cytoscape.view.vizmap.gui.internal.util.VisualPropertyFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class BypassManager {
+public final class BypassManager {
- private static final Logger logger = LoggerFactory
- .getLogger(BypassManager.class);
+ private static final Logger logger =
LoggerFactory.getLogger(BypassManager.class);
- // TODO: how can we display compatible VP only?
- private static final String DEF_RENDERER = "ding";
-
// TODO: this should be a public string or enum managed in swing app.
private static final String MENU_KEY = "preferredMenu";
-
private static final String PARENT_MENU_ITEM = "Visual Bypass";
private final CyServiceRegistrar registrar;
-
private final EditorManager editorManager;
-
private final SelectedVisualStyleManager selectedManager;
- public BypassManager(final CyServiceRegistrar registrar,
- final EditorManager editorManager,
+ public BypassManager(final CyServiceRegistrar registrar, final
EditorManager editorManager,
final SelectedVisualStyleManager selectedManager) {
this.registrar = registrar;
this.editorManager = editorManager;
@@ -57,10 +50,8 @@
final VisualProperty<?> edgeRoot = MinimalVisualLexicon.EDGE;
// Tree traversal
- final VisualLexiconNode nodeRootNode = lexicon
- .getVisualLexiconNode(nodeRoot);
- final VisualLexiconNode edgeRootNode = lexicon
- .getVisualLexiconNode(edgeRoot);
+ final VisualLexiconNode nodeRootNode =
lexicon.getVisualLexiconNode(nodeRoot);
+ final VisualLexiconNode edgeRootNode =
lexicon.getVisualLexiconNode(edgeRoot);
depthFirst(PARENT_MENU_ITEM, nodeRootNode);
depthFirst(PARENT_MENU_ITEM, edgeRootNode);
}
@@ -69,6 +60,11 @@
final Collection<VisualLexiconNode> children =
node.getChildren();
for (VisualLexiconNode child : children) {
final VisualProperty<?> vp = child.getVisualProperty();
+
+ // Ignore incompatible VP
+ if(VisualPropertyFilter.isCompatible(vp) == false)
+ continue;
+
final String newMenu = menuText + "." +
vp.getDisplayName();
if (child.getChildren().size() == 0) {
// Leaf
@@ -78,17 +74,15 @@
vpProp.put("targetVP", vp);
if
(vp.getTargetDataType().equals(CyNode.class)) {
- final NodeViewTaskFactory ntf = new
NodeBypassMenuTaskFactory(
- null, vp,
editorManager.getValueEditor(vp
-
.getRange().getType()), selectedManager);
+ final NodeViewTaskFactory ntf = new
NodeBypassMenuTaskFactory(null, vp,
+
editorManager.getValueEditor(vp.getRange().getType()), selectedManager);
registrar.registerService(ntf,
NodeViewTaskFactory.class, vpProp);
} else if
(vp.getTargetDataType().equals(CyEdge.class)) {
- final EdgeViewTaskFactory etf = new
EdgeBypassMenuTaskFactory(null, vp, editorManager.getValueEditor(vp
- .getRange().getType()),
selectedManager);
+ final EdgeViewTaskFactory etf = new
EdgeBypassMenuTaskFactory(null, vp,
+
editorManager.getValueEditor(vp.getRange().getType()), selectedManager);
registrar.registerService(etf,
EdgeViewTaskFactory.class, vpProp);
}
- logger.debug("Bypass context menu registered: "
- + vp.getDisplayName());
+ logger.debug("Bypass context menu registered: "
+ vp.getDisplayName());
} else {
depthFirst(newMenu, child);
}
--
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.