Author: paperwing
Date: 2012-02-14 08:28:32 -0800 (Tue, 14 Feb 2012)
New Revision: 28259

Added:
   
csplugins/trunk/toronto/yuedong/multi_renderer/impl/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingRenderer.java
Modified:
   
csplugins/trunk/toronto/yuedong/multi_renderer/impl/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
Log:
Added implementation of ExternalRenderer interface into ding implementation

Modified: 
csplugins/trunk/toronto/yuedong/multi_renderer/impl/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/multi_renderer/impl/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
      2012-02-14 15:44:55 UTC (rev 28258)
+++ 
csplugins/trunk/toronto/yuedong/multi_renderer/impl/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
      2012-02-14 16:28:32 UTC (rev 28259)
@@ -10,6 +10,7 @@
 import org.cytoscape.ding.impl.AddEdgeNodeViewTaskFactoryImpl;
 import org.cytoscape.ding.impl.DVisualLexicon;
 import org.cytoscape.ding.impl.DingNavigationRenderingEngineFactory;
+import org.cytoscape.ding.impl.DingRenderer;
 import org.cytoscape.ding.impl.DingRenderingEngineFactory;
 import org.cytoscape.ding.impl.DingViewModelFactory;
 import org.cytoscape.ding.impl.ViewTaskFactoryListener;
@@ -44,6 +45,8 @@
 import org.cytoscape.view.model.CyNetworkViewFactory;
 import org.cytoscape.view.model.VisualLexicon;
 import org.cytoscape.view.model.events.UpdateNetworkPresentationEventListener;
+import org.cytoscape.view.presentation.ExternalRenderer;
+import org.cytoscape.view.presentation.ExternalRendererManager;
 import org.cytoscape.view.presentation.RenderingEngineFactory;
 import org.cytoscape.view.presentation.RenderingEngineManager;
 import org.cytoscape.view.vizmap.gui.editor.ValueEditor;
@@ -80,6 +83,9 @@
                
                CyNetworkFactory cyNetworkFactory = 
getService(bc,CyNetworkFactory.class);
                
+               // Renderer manager
+               ExternalRendererManager rendererManagerServiceRef = 
getService(bc,ExternalRendererManager.class);
+               
                DVisualLexicon dVisualLexicon = new 
DVisualLexicon(customGraphicsManagerServiceRef);
                
                ViewTaskFactoryListener vtfListener = new 
ViewTaskFactoryListener();
@@ -98,6 +104,10 @@
                CustomGraphicsSizeDependency nodeCustomGraphicsSizeDependency = 
new CustomGraphicsSizeDependency();
                DingViewModelFactory dingNetworkViewFactory = new 
DingViewModelFactory(cyDataTableFactoryServiceRef,cyRootNetworkFactoryServiceRef,undoSupportServiceRef,spacialIndex2DFactoryServiceRef,dVisualLexicon,dialogTaskManager,submenuTaskManager,cyServiceRegistrarRef,cyNetworkTableManagerServiceRef,cyEventHelperServiceRef,
 vtfListener,annotationFactoryManager);
 
+               // Renderer interface
+               DingRenderer dingRenderer = new 
DingRenderer(rendererManagerServiceRef, dVisualLexicon, 
dingRenderingEngineFactory, dingNavigationRenderingEngineFactory, 
dingNetworkViewFactory);
+               registerService(bc, dingRenderer, ExternalRenderer.class, new 
Properties());
+               
                // Edge Bend editor
                EdgeBendValueEditor edgeBendValueEditor = new 
EdgeBendValueEditor(cyNetworkFactory, 
dingNetworkViewFactory,dingRenderingEngineFactory);
                EdgeBendEditor edgeBendEditor = new 
EdgeBendEditor(edgeBendValueEditor);

Added: 
csplugins/trunk/toronto/yuedong/multi_renderer/impl/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingRenderer.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/multi_renderer/impl/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingRenderer.java
                                (rev 0)
+++ 
csplugins/trunk/toronto/yuedong/multi_renderer/impl/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingRenderer.java
        2012-02-14 16:28:32 UTC (rev 28259)
@@ -0,0 +1,69 @@
+package org.cytoscape.ding.impl;
+
+import org.cytoscape.view.model.CyNetworkViewFactory;
+import org.cytoscape.view.model.VisualLexicon;
+import org.cytoscape.view.presentation.ExternalRenderer;
+import org.cytoscape.view.presentation.ExternalRendererManager;
+import org.cytoscape.view.presentation.RenderingEngineFactory;
+
+public class DingRenderer implements ExternalRenderer {
+
+       private static final String RENDERER_ID = "org.cytoscape.ding";
+       
+       private VisualLexicon visualLexicon;
+       private RenderingEngineFactory<?> mainRenderingEngineFactory;
+       private RenderingEngineFactory<?> birdEyeRenderingEngineFactory;
+       private CyNetworkViewFactory networkViewFactory;
+       
+       public DingRenderer(ExternalRendererManager rendererManager,
+                       VisualLexicon dingVisualLexicon, 
+                       RenderingEngineFactory<?> 
dingMainRenderingEngineFactory,
+                       RenderingEngineFactory<?> 
dingBirdEyeRenderingEngineFactory,
+                       CyNetworkViewFactory dingNetworkViewFactory) {
+               
+               // Add this renderer to the manager
+               rendererManager.installRenderer(this);
+               
+               visualLexicon = dingVisualLexicon;
+               mainRenderingEngineFactory = dingMainRenderingEngineFactory;
+               birdEyeRenderingEngineFactory = 
dingBirdEyeRenderingEngineFactory;
+               networkViewFactory = dingNetworkViewFactory;
+       }
+       
+       @Override
+       public String getRendererID() {
+               return RENDERER_ID;
+       }
+
+       @Override
+       public RenderingEngineFactory<?> getRenderingEngineFactory(
+                       RenderPurpose renderPurpose) {
+               
+               switch (renderPurpose) {
+                       case BIRDS_EYE_VIEW:
+                               return birdEyeRenderingEngineFactory;
+                       case DETAIL_VIEW:
+                               return mainRenderingEngineFactory;
+                       case VISUAL_STYLE_PREVIEW:
+                               return mainRenderingEngineFactory;
+                       default:
+                               return null;
+               }
+       }
+
+       @Override
+       public CyNetworkViewFactory getNetworkViewFactory(
+                       RenderPurpose renderPurpose) {
+               
+               // Ding currently uses the same CyNetworkViewFactory for all 
network views
+               return networkViewFactory;
+       }
+
+       @Override
+       public VisualLexicon getVisualLexicon(RenderPurpose renderPurpose) {
+               
+               // Use the same visual lexicon for all rendering purposes
+               return visualLexicon;
+       }
+
+}


Property changes on: 
csplugins/trunk/toronto/yuedong/multi_renderer/impl/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingRenderer.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

-- 
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.

Reply via email to