Author: pwang
Date: 2011-10-04 14:47:12 -0700 (Tue, 04 Oct 2011)
New Revision: 27057
Added:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/action/
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/action/GraphicsDetailAction.java
Log:
Original creation
Added:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/action/GraphicsDetailAction.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/action/GraphicsDetailAction.java
(rev 0)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/action/GraphicsDetailAction.java
2011-10-04 21:47:12 UTC (rev 27057)
@@ -0,0 +1,84 @@
+package org.cytoscape.ding.action;
+
+
+import java.awt.event.ActionEvent;
+import java.util.Properties;
+import javax.swing.Action;
+import javax.swing.event.MenuEvent;
+import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.application.swing.AbstractCyAction;
+import org.cytoscape.ding.impl.DGraphView;
+import org.cytoscape.ding.impl.DingGraphLODAll;
+import org.cytoscape.graph.render.stateful.GraphLOD;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.property.CyProperty;
+import org.cytoscape.view.presentation.RenderingEngine;
+import org.cytoscape.work.TaskManager;
+import org.cytoscape.ding.impl.SwitchGraphicsDetailTaskFactory;
+
+public class GraphicsDetailAction extends AbstractCyAction {
+
+ private final static long serialVersionUID = 1202323129387651L;
+
+ private static String GraphicsDetails = "Graphics Details";
+
+ protected static String SHOW = "Show";
+ protected static String HIDE = "Hide";
+
+ private final CyProperty<Properties> defaultProps;
+ private final CyApplicationManager applicationManager;
+ private final TaskManager taskManagerServiceRef;
+
+
+ public GraphicsDetailAction(final CyApplicationManager
applicationManager, final TaskManager taskManagerServiceRef,
+ final CyProperty<Properties> defaultProps)
+ {
+ super(SHOW + " " + GraphicsDetails, applicationManager);
+
+ setPreferredMenu("View");
+ setMenuGravity(5.0f);
+ this.enableForNetworkAndView();
+
+ this.applicationManager = applicationManager;
+ this.defaultProps = defaultProps;
+ this.taskManagerServiceRef = taskManagerServiceRef;
+ }
+
+ /**
+ * Toggles the Show/Hide state.
+ *
+ * @param ev Triggering event - not used.
+ */
+ public void actionPerformed(ActionEvent ev) {
+
+ SwitchGraphicsDetailTaskFactory tf = new
SwitchGraphicsDetailTaskFactory(applicationManager, defaultProps);
+ taskManagerServiceRef.execute(tf);
+ }
+
+ /**
+ * This dynamically sets the title of the menu based on the state of
the graphics detail.
+ */
+ public void menuSelected(MenuEvent me) {
+
+ if (isDetailShown()) {
+ putValue(Action.NAME, HIDE + " " + GraphicsDetails);
+ } else {
+ putValue(Action.NAME, SHOW + " " + GraphicsDetails);
+ }
+ }
+
+ public boolean isDetailShown(){
+
+ final RenderingEngine<CyNetwork> engine =
applicationManager.getCurrentRenderingEngine();
+
+ if(engine instanceof DGraphView == false)
+ return false;
+
+ final GraphLOD lod = ((DGraphView) engine).getGraphLOD();
+
+ if (lod instanceof DingGraphLODAll)
+ return true;
+ else
+ return false;
+ }
+}
--
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.