Author: scooter
Date: 2012-09-12 17:25:52 -0700 (Wed, 12 Sep 2012)
New Revision: 30363

Modified:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/CustomGraphicsManager.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/CustomGraphicsManagerImpl.java
Log:
CyCustomGraphicsFactory listeners are implemented.  


Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
 2012-09-13 00:18:41 UTC (rev 30362)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
 2012-09-13 00:25:52 UTC (rev 30363)
@@ -83,6 +83,7 @@
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.view.model.VisualLexicon;
 import org.cytoscape.view.presentation.RenderingEngineManager;
+import org.cytoscape.view.presentation.customgraphics.CyCustomGraphicsFactory;
 import org.cytoscape.view.presentation.property.values.BendFactory;
 import org.cytoscape.view.presentation.property.values.HandleFactory;
 import org.cytoscape.view.vizmap.VisualMappingManager;
@@ -477,17 +478,23 @@
                // TODO:  When the CustomGraphicsFactory service stuff is set 
up, just
                // register these as services
                NullCustomGraphicsFactory nullFactory = new 
NullCustomGraphicsFactory(customGraphicsManager);
-               customGraphicsManager.addCustomGraphicsFactory(nullFactory);
+               customGraphicsManager.addCustomGraphicsFactory(nullFactory, new 
Properties());
 
                URLImageCustomGraphicsFactory imageFactory = new 
URLImageCustomGraphicsFactory(customGraphicsManager);
-               customGraphicsManager.addCustomGraphicsFactory(imageFactory);
+               customGraphicsManager.addCustomGraphicsFactory(imageFactory, 
new Properties());
 
                GradientOvalFactory ovalFactory = new 
GradientOvalFactory(customGraphicsManager);
-               customGraphicsManager.addCustomGraphicsFactory(ovalFactory);
+               customGraphicsManager.addCustomGraphicsFactory(ovalFactory, new 
Properties());
 
                GradientRoundRectangleFactory rectangleFactory = 
                     new GradientRoundRectangleFactory(customGraphicsManager);
-               
customGraphicsManager.addCustomGraphicsFactory(rectangleFactory);
+               
customGraphicsManager.addCustomGraphicsFactory(rectangleFactory, new 
Properties());
+
+               // Now register our service listener so that app writers can
+               // provide their own CustomGraphics factory methods
+               registerServiceListener(bc, customGraphicsManager, 
+                                       "addCustomGraphicsFactory", 
"removeCustomGraphicsFactory", 
+                                       CyCustomGraphicsFactory.class);
        }
        
        /**

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/CustomGraphicsManager.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/CustomGraphicsManager.java
        2012-09-13 00:18:41 UTC (rev 30362)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphics/CustomGraphicsManager.java
        2012-09-13 00:25:52 UTC (rev 30363)
@@ -2,6 +2,7 @@
 
 import java.net.URL;
 import java.util.Collection;
+import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 import java.util.SortedSet;
@@ -11,8 +12,8 @@
 
 public interface CustomGraphicsManager {
 
-       void addCustomGraphicsFactory(CyCustomGraphicsFactory factory);
-       void removeCustomGraphicsFactory(CyCustomGraphicsFactory factory);
+       void addCustomGraphicsFactory(CyCustomGraphicsFactory factory, Map 
props);
+       void removeCustomGraphicsFactory(CyCustomGraphicsFactory factory, Map 
props);
        CyCustomGraphicsFactory getCustomGraphicsFactory(Class<? extends 
CyCustomGraphics> cls);
        CyCustomGraphicsFactory getCustomGraphicsFactory(String className);
        Collection<CyCustomGraphicsFactory> getAllCustomGraphicsFactories();

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/CustomGraphicsManagerImpl.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/CustomGraphicsManagerImpl.java
        2012-09-13 00:18:41 UTC (rev 30362)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/customgraphicsmgr/internal/CustomGraphicsManagerImpl.java
        2012-09-13 00:25:52 UTC (rev 30363)
@@ -57,6 +57,7 @@
        private final File imageHomeDirectory;
        private final Map<CyCustomGraphics, Boolean> isUsedCustomGraphics;
        private final Map<String, CyCustomGraphicsFactory> factoryMap;
+       private final Map<CyCustomGraphicsFactory, Map> factoryPropsMap;
        private final DialogTaskManager taskManager;
 
        private final CyEventHelper eventHelper;
@@ -83,7 +84,7 @@
                this.applicationManager = applicationManager;
                this.isUsedCustomGraphics = new HashMap<CyCustomGraphics, 
Boolean>();
                this.factoryMap = new HashMap<String, 
CyCustomGraphicsFactory>();
-               // Add build-in factories?
+               this.factoryPropsMap = new HashMap<CyCustomGraphicsFactory, 
Map>();
 
                if (properties == null)
                        throw new NullPointerException("Property object is 
null.");
@@ -110,14 +111,16 @@
 
        public static CustomGraphicsManagerImpl getInstance() { return 
instance; }
 
-       public void addCustomGraphicsFactory(CyCustomGraphicsFactory factory) {
+       public void addCustomGraphicsFactory(CyCustomGraphicsFactory factory, 
Map props) {
                if (factory == null) return;
                factoryMap.put(factory.getSupportedClass().getName(), factory);
+               factoryPropsMap.put(factory, props);
        }
 
-       public void removeCustomGraphicsFactory(CyCustomGraphicsFactory 
factory) {
+       public void removeCustomGraphicsFactory(CyCustomGraphicsFactory 
factory, Map props) {
                if (factory == null) return;
                factoryMap.remove(factory.getSupportedClass());
+               factoryPropsMap.remove(factory);
        }
 
        public CyCustomGraphicsFactory getCustomGraphicsFactory(Class<? extends 
CyCustomGraphics> cls) {

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