Author: kono
Date: 2010-11-17 18:23:18 -0800 (Wed, 17 Nov 2010)
New Revision: 22898

Added:
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/cellrenderer/ColorContinuousMappingCellRenderer.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/GradientEditor.java
Modified:
   core3/default-mappingcalculators/trunk/pom.xml
   
core3/default-mappingcalculators/trunk/src/main/java/org/cytoscape/view/vizmap/mappings/ContinuousMapping.java
   
core3/default-mappingcalculators/trunk/src/main/java/org/cytoscape/view/vizmap/mappings/ContinuousMappingFactory.java
   core3/vizmap-gui-api/trunk/pom.xml
   
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/editor/EditorManager.java
   
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/editor/VisualPropertyEditor.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/AbstractVisualPropertyEditor.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/ColorVisualPropertyEditor.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/DoubleVisualPropertyEditor.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/EditorManagerImpl.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/BelowAndAbovePanel.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2CMappingEditor.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2DMappingEditor.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/ContinuousMappingEditorPanel.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/EditorValueRangeTracer.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/GradientEditorPanel.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/event/CellEditorEventHandler.java
   
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
Log:
Continuous editor is partially working (color only.)

Modified: core3/default-mappingcalculators/trunk/pom.xml
===================================================================
--- core3/default-mappingcalculators/trunk/pom.xml      2010-11-18 02:05:10 UTC 
(rev 22897)
+++ core3/default-mappingcalculators/trunk/pom.xml      2010-11-18 02:23:18 UTC 
(rev 22898)
@@ -6,7 +6,7 @@
        <parent>
                <artifactId>parent</artifactId>
                <groupId>org.cytoscape</groupId>
-               <version>1.0-SNAPSHOT</version>
+               <version>3.0.0-alpha4-SNAPSHOT</version>
        </parent>
 
        <properties>

Modified: 
core3/default-mappingcalculators/trunk/src/main/java/org/cytoscape/view/vizmap/mappings/ContinuousMapping.java
===================================================================
--- 
core3/default-mappingcalculators/trunk/src/main/java/org/cytoscape/view/vizmap/mappings/ContinuousMapping.java
      2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/default-mappingcalculators/trunk/src/main/java/org/cytoscape/view/vizmap/mappings/ContinuousMapping.java
      2010-11-18 02:23:18 UTC (rev 22898)
@@ -157,7 +157,10 @@
        @Override
        public void apply(final View<? extends CyTableEntry> view) {
                if (view == null)
-                       return; // empty list, nothing to do
+                       return;
+               
+               if(this.points.size() == 0)
+                       return;
 
                doMap(view);
        }
@@ -180,7 +183,7 @@
         */
        private void doMap(final View<? extends CyTableEntry> view) {
 
-               CyRow row = view.getModel().getCyRow();
+               final CyRow row = view.getModel().getCyRow();
 
                if (row.isSet(attrName, attrType)) {
                        // skip Views where source attribute is not defined;

Modified: 
core3/default-mappingcalculators/trunk/src/main/java/org/cytoscape/view/vizmap/mappings/ContinuousMappingFactory.java
===================================================================
--- 
core3/default-mappingcalculators/trunk/src/main/java/org/cytoscape/view/vizmap/mappings/ContinuousMappingFactory.java
       2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/default-mappingcalculators/trunk/src/main/java/org/cytoscape/view/vizmap/mappings/ContinuousMappingFactory.java
       2010-11-18 02:23:18 UTC (rev 22898)
@@ -11,7 +11,7 @@
                        Class<K> attrValueType, VisualProperty<V> vp) {
                
                // Validate attribute type: Continuous Mapping is compatible 
with Numbers only.
-               if(Number.class.isAssignableFrom(attrValueType))
+               if(attrValueType.isAssignableFrom(Number.class))
                        throw new IllegalArgumentException("ContinuousMapping 
can be used for numerical attributes only.");
                
                return new ContinuousMapping<K, V>(attributeName, 
attrValueType,  vp);

Modified: core3/vizmap-gui-api/trunk/pom.xml
===================================================================
--- core3/vizmap-gui-api/trunk/pom.xml  2010-11-18 02:05:10 UTC (rev 22897)
+++ core3/vizmap-gui-api/trunk/pom.xml  2010-11-18 02:23:18 UTC (rev 22898)
@@ -6,7 +6,7 @@
        <parent>
                <artifactId>parent</artifactId>
                <groupId>org.cytoscape</groupId>
-               <version>1.0-SNAPSHOT</version>
+               <version>3.0.0-alpha4-SNAPSHOT</version>
        </parent>
 
        <properties>

Modified: 
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/editor/EditorManager.java
===================================================================
--- 
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/editor/EditorManager.java
    2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/editor/EditorManager.java
    2010-11-18 02:23:18 UTC (rev 22898)
@@ -129,52 +129,8 @@
        
        PropertyEditor getMappingFunctionSelector();
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @param type
-        *            DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
-       public PropertyEditor getDiscreteCellEditor(VisualProperty<?> type);
 
        /**
-        * DOCUMENT ME!
-        * 
-        * @param type
-        *            DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
-       public TableCellRenderer getDiscreteCellRenderer(VisualProperty<?> 
type);
-
-       /**
-        * DOCUMENT ME!
-        * 
-        * @param type
-        *            DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
-       public PropertyEditor getContinuousCellEditor(VisualProperty<?> type);
-
-       /**
-        * DOCUMENT ME!
-        * 
-        * @param type
-        *            DOCUMENT ME!
-        * @param w
-        *            DOCUMENT ME!
-        * @param h
-        *            DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
-       public TableCellRenderer getContinuousCellRenderer(VisualProperty<?> 
type,
-                       int w, int h);
-
-       /**
         *  DOCUMENT ME!
         *
         * @param editorName DOCUMENT ME!

Modified: 
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/editor/VisualPropertyEditor.java
===================================================================
--- 
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/editor/VisualPropertyEditor.java
     2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/editor/VisualPropertyEditor.java
     2010-11-18 02:23:18 UTC (rev 22898)
@@ -61,7 +61,7 @@
         * @param parent
         * @param type
         */
-       Component getContinuousMappingEditor() throws IllegalArgumentException;
+       PropertyEditor getContinuousMappingEditor();
 
        /**
         * Returns Property Editor object for this data type.
@@ -93,7 +93,9 @@
         * 
         * @return
         */
-       TableCellRenderer getTableCellRenderer();
+       TableCellRenderer getDiscreteTableCellRenderer();
+       
+       TableCellRenderer getContinuousTableCellRenderer();
 
        /**
         * This is for default view editor.

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
 2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
 2010-11-18 02:23:18 UTC (rev 22898)
@@ -64,7 +64,6 @@
 import com.l2fprod.common.propertysheet.PropertySheetPanel;
 import com.l2fprod.common.propertysheet.PropertySheetTable;
 
-
 /**
  * Create property for the Property Sheet object.
  */
@@ -76,7 +75,7 @@
        private DefaultTableCellRenderer filledBoxRenderer;
 
        private EditorManager editorManager;
-       
+
        private CyNetworkManager cyNetworkManager;
        private CyTableManager tableMgr;
 
@@ -99,9 +98,11 @@
        public <K, V> VizMapperProperty<VisualProperty<V>, String, 
VisualMappingFunctionFactory> buildProperty(
                        final VisualMappingFunction<K, V> visualMapping,
                        final String categoryName,
-                       final PropertySheetPanel propertySheetPanel, final 
VisualMappingFunctionFactory factory) {
+                       final PropertySheetPanel propertySheetPanel,
+                       final VisualMappingFunctionFactory factory) {
 
-               logger.debug("\n\n\nbuildProp called: Root VP = " + 
categoryName);
+               logger.debug("\n\n\n************************* buildProp called: 
Root VP = "
+                               + categoryName);
 
                // Mapping is empty
                if (visualMapping == null)
@@ -113,18 +114,19 @@
                        throw new NullPointerException("PropertySheet is 
null.");
 
                final VisualProperty<V> vp = visualMapping.getVisualProperty();
-               final VizMapperProperty<VisualProperty<V>, String, 
VisualMappingFunctionFactory> topProperty 
-                       = new VizMapperProperty<VisualProperty<V>, String, 
VisualMappingFunctionFactory>(CellType.VISUAL_PROPERTY_TYPE, vp, String.class);
+               final VizMapperProperty<VisualProperty<V>, String, 
VisualMappingFunctionFactory> topProperty = new 
VizMapperProperty<VisualProperty<V>, String, VisualMappingFunctionFactory>(
+                               CellType.VISUAL_PROPERTY_TYPE, vp, 
String.class);
 
                // Build Property object
                topProperty.setCategory(categoryName);
                topProperty.setDisplayName(vp.getDisplayName());
                topProperty.setInternalValue(factory);
-               
+
                final String attrName = visualMapping.getMappingAttributeName();
-               final VizMapperProperty<String, VisualMappingFunctionFactory, 
VisualMappingFunction<K, V>> mappingHeader 
-                       = new VizMapperProperty<String, 
VisualMappingFunctionFactory, VisualMappingFunction<K, 
V>>(CellType.MAPPING_TYPE, "Mapping Type", VisualMappingFunctionFactory.class);
-               
+               final VizMapperProperty<String, VisualMappingFunctionFactory, 
VisualMappingFunction<K, V>> mappingHeader = new VizMapperProperty<String, 
VisualMappingFunctionFactory, VisualMappingFunction<K, V>>(
+                               CellType.MAPPING_TYPE, "Mapping Type",
+                               VisualMappingFunctionFactory.class);
+
                if (attrName == null) {
                        topProperty.setValue("Select Attribute");
                        ((PropertyRendererRegistry) 
propertySheetPanel.getTable()
@@ -159,8 +161,12 @@
                        Iterator<? extends CyTableEntry> it = null;
 
                        ((PropertyEditorRegistry) propertySheetPanel.getTable()
-                                       
.getEditorFactory()).registerEditor(topProperty,
-                                       
editorManager.getDataTableComboBoxEditor((Class<? extends CyTableEntry>) 
vp.getTargetDataType()));
+                                       .getEditorFactory())
+                                       .registerEditor(
+                                                       topProperty,
+                                                       editorManager
+                                                                       
.getDataTableComboBoxEditor((Class<? extends CyTableEntry>) vp
+                                                                               
        .getTargetDataType()));
                        if (vp.getTargetDataType().equals(CyNode.class)) {
                                it = targetNetwork.getNodeList().iterator();
                        } else if (vp.getTargetDataType().equals(CyEdge.class)) 
{
@@ -168,37 +174,43 @@
                        } else if 
(vp.getTargetDataType().equals(CyNetwork.class)) {
                                it = 
cyNetworkManager.getNetworkSet().iterator();
                        } else {
-                               throw new IllegalArgumentException("Data type 
not supported: " + vp.getTargetDataType());
+                               throw new IllegalArgumentException("Data type 
not supported: "
+                                               + vp.getTargetDataType());
                        }
 
                        while (it.hasNext())
                                graphObjectSet.add(it.next());
                }
 
-               /*
-                * Discrete Mapping
-                */
+               
+               
+               final VisualPropertyEditor<V> vpEditor = 
editorManager.getVisualPropertyEditor(vp);
+               logger.debug("vpEditor is " + vpEditor);
+               
                if (visualMapping instanceof DiscreteMapping && (attrName != 
null)) {
-
+                       
+                       // Discrete Mapping
                        final SortedSet<K> attrSet = new TreeSet<K>();
                        for (CyTableEntry go : graphObjectSet) {
                                final Class<?> attrClass = 
go.getCyRow().getDataTable()
                                                
.getColumnTypeMap().get(attrName);
 
                                Object id = go.getCyRow().get(attrName, 
attrClass);
-                               if(id != null)
+                               if (id != null)
                                        attrSet.add((K) id);
                        }
 
                        // FIXME
                        setDiscreteProps(vp, visualMapping, attrSet,
-                                       
editorManager.getVisualPropertyEditor(vp),
-                                       topProperty, propertySheetPanel);
+                                       vpEditor, topProperty,
+                                       propertySheetPanel);
+
                } else if (visualMapping instanceof ContinuousMapping
                                && (attrName != null)) {
 
-                       final VizMapperProperty<String, String, 
VisualMappingFunction<K, V>> graphicalView 
-                               = new VizMapperProperty<String, String, 
VisualMappingFunction<K, V>>(CellType.CONTINUOUS, 
AbstractVizMapperPanel.GRAPHICAL_MAP_VIEW, String.class);
+                       final VizMapperProperty<String, String, 
VisualMappingFunction<K, V>> graphicalView = new VizMapperProperty<String, 
String, VisualMappingFunction<K, V>>(
+                                       CellType.CONTINUOUS,
+                                       
AbstractVizMapperPanel.GRAPHICAL_MAP_VIEW, String.class);
                        graphicalView.setValue(visualMapping);
                        graphicalView
                                        
.setDisplayName(AbstractVizMapperPanel.GRAPHICAL_MAP_VIEW);
@@ -206,12 +218,19 @@
                        topProperty.addSubProperty(graphicalView);
 
                        // FIXME
-                       // TableCellRenderer crenderer = editorFactory
-                       // 
.getVisualPropertyEditor(vp).getContinuousMappingEditor();
-                       //
-                       // ((PropertyRendererRegistry) 
propertySheetPanel.getTable()
-                       // 
.getRendererFactory()).registerRenderer(graphicalView,
-                       // crenderer);
+                       final TableCellRenderer continuousRenderer = 
vpEditor.getContinuousTableCellRenderer();
+
+                       final PropertySheetTable table = 
propertySheetPanel.getTable();
+                       ((PropertyRendererRegistry) table
+                                       
.getRendererFactory()).registerRenderer(graphicalView,
+                                                       continuousRenderer);
+                       
+                       final PropertyEditorRegistry cellEditorFactory = 
(PropertyEditorRegistry) table.getEditorFactory();
+                       final PropertyEditor continuousCellEditor = 
editorManager.getVisualPropertyEditor(vp).getContinuousMappingEditor();
+                       
+                       if (continuousCellEditor != null)
+                               cellEditorFactory.registerEditor(graphicalView, 
continuousCellEditor);
+                       
                } else if (visualMapping instanceof PassthroughMapping
                                && (attrName != null)) {
 
@@ -235,8 +254,8 @@
                                else
                                        stringVal = null;
 
-                               final VizMapperProperty<String, V, 
VisualMappingFunction<K, V>> oneProperty 
-                                       = new VizMapperProperty<String, V, 
VisualMappingFunction<K, V>>(CellType.DISCRETE, id, (Class<V>) 
value.getClass());
+                               final VizMapperProperty<String, V, 
VisualMappingFunction<K, V>> oneProperty = new VizMapperProperty<String, V, 
VisualMappingFunction<K, V>>(
+                                               CellType.DISCRETE, id, 
(Class<V>) value.getClass());
                                oneProperty.setInternalValue(visualMapping);
                                oneProperty.setValue(stringVal);
 
@@ -250,7 +269,8 @@
                        }
 
                } else {
-                       throw new IllegalArgumentException("Unsupported mapping 
type: " + visualMapping);
+                       throw new IllegalArgumentException("Unsupported mapping 
type: "
+                                       + visualMapping);
                }
 
                propertySheetPanel.addProperty(0, topProperty);
@@ -262,28 +282,32 @@
         * Set value, title, and renderer for each property in the category. 
This
         * list should be created against all available attribute values.
         */
-       private <K, V> void setDiscreteProps(VisualProperty<V> vp, 
VisualMappingFunction<K, V> mapping,
-                       SortedSet<K> attrSet,
+       private <K, V> void setDiscreteProps(VisualProperty<V> vp,
+                       VisualMappingFunction<K, V> mapping, SortedSet<K> 
attrSet,
                        VisualPropertyEditor<V> visualPropertyEditor,
                        DefaultProperty parent, PropertySheetPanel 
propertySheetPanel) {
                if (attrSet == null)
                        return;
 
                final Map<K, V> discMapping = ((DiscreteMapping<K, V>) mapping)
-               .getAll();
-               
+                               .getAll();
+
                V val = null;
                VizMapperProperty<K, V, VisualMappingFunction<K, V>> valProp;
                String strVal;
 
                final List<VizMapperProperty<K, V, VisualMappingFunction<K, 
V>>> children = new ArrayList<VizMapperProperty<K, V, VisualMappingFunction<K, 
V>>>();
                final PropertySheetTable table = propertySheetPanel.getTable();
-               final PropertyRendererRegistry cellRendererFactory = 
(PropertyRendererRegistry) table.getRendererFactory();
-               final PropertyEditorRegistry cellEditorFactory = 
(PropertyEditorRegistry) table.getEditorFactory();
-               
+               final PropertyRendererRegistry cellRendererFactory = 
(PropertyRendererRegistry) table
+                               .getRendererFactory();
+               final PropertyEditorRegistry cellEditorFactory = 
(PropertyEditorRegistry) table
+                               .getEditorFactory();
+
                for (K key : attrSet) {
-                       
-                       valProp = new VizMapperProperty<K, V, 
VisualMappingFunction<K, V>>(CellType.DISCRETE, key, 
mapping.getVisualProperty().getType());
+
+                       valProp = new VizMapperProperty<K, V, 
VisualMappingFunction<K, V>>(
+                                       CellType.DISCRETE, key, 
mapping.getVisualProperty()
+                                                       .getType());
                        strVal = key.toString();
                        valProp.setDisplayName(strVal);
                        valProp.setParentProperty(parent);
@@ -296,12 +320,13 @@
 
                        children.add(valProp);
 
-                       final TableCellRenderer renderer = 
editorManager.getDiscreteCellRenderer(vp);
-                       if(renderer != null)
+                       final TableCellRenderer renderer = 
editorManager.getVisualPropertyEditor(vp).getDiscreteTableCellRenderer();
+                       if (renderer != null)
                                cellRendererFactory.registerRenderer(valProp, 
renderer);
 
-                       final PropertyEditor cellEditor = 
editorManager.getDiscreteCellEditor(vp);
-                       if(cellEditor != null)
+                       final PropertyEditor cellEditor = 
editorManager.getVisualPropertyEditor(vp).getPropertyEditor();
+                       
+                       if (cellEditor != null)
                                cellEditorFactory.registerEditor(valProp, 
cellEditor);
 
                        valProp.setValue(val);

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java
    2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java
    2010-11-18 02:23:18 UTC (rev 22898)
@@ -303,6 +303,7 @@
                        
prop.setCategory(AbstractVizMapperPanel.CATEGORY_UNUSED);
                        prop.setDisplayName(type.getDisplayName());
                        prop.setValue("Double-Click to create...");
+                       prop.setEditable(false);
                        propertySheetPanel.addProperty(prop);
                        propList.add(prop);
                }

Added: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/cellrenderer/ColorContinuousMappingCellRenderer.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/cellrenderer/ColorContinuousMappingCellRenderer.java
                               (rev 0)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/cellrenderer/ColorContinuousMappingCellRenderer.java
       2010-11-18 02:23:18 UTC (rev 22898)
@@ -0,0 +1,49 @@
+package org.cytoscape.view.vizmap.gui.internal.cellrenderer;
+
+import java.awt.Component;
+import java.awt.Paint;
+
+import javax.swing.JTable;
+
+import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
+
+import com.l2fprod.common.swing.renderer.DefaultCellRenderer;
+
+/**
+ * Cell renderer for Continuous Color mapping
+ * 
+ */
+public class ColorContinuousMappingCellRenderer extends DefaultCellRenderer {
+
+       private static final long serialVersionUID = -6734053848878359286L;
+       
+       
+       public ColorContinuousMappingCellRenderer() {
+               
+       }
+
+       @Override public Component getTableCellRendererComponent(JTable table, 
Object value,
+                       boolean isSelected, boolean hasFocus, int row, int 
column) {
+               
+               if(value == null || value instanceof ContinuousMapping == 
false) {
+                       this.setText("!");
+                       return this;
+               }
+               
+               //ContinuousMapping<? extends Number, Paint> cm = 
(ContinuousMapping<? extends Number, Paint>) value;
+               
+               if (isSelected) {
+                       setBackground(table.getSelectionBackground());
+                       setForeground(table.getSelectionForeground());
+               } else {
+                       setBackground(table.getBackground());
+                       setForeground(table.getForeground());
+               }
+
+               
+               this.setText("Map type = " + value.toString());
+
+               return this;
+       }
+
+}

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/AbstractVisualPropertyEditor.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/AbstractVisualPropertyEditor.java
   2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/AbstractVisualPropertyEditor.java
   2010-11-18 02:23:18 UTC (rev 22898)
@@ -63,10 +63,11 @@
        
        protected final Class<T> type;
        protected final PropertyEditor propertyEditor;
-       protected Component continuousEditor;
+       protected PropertyEditor continuousEditor;
        protected Window vpValueEditor;
        
-       protected TableCellRenderer tableCellRenderer;
+       protected TableCellRenderer discreteTableCellRenderer;
+       protected TableCellRenderer continuousTableCellRenderer;
 
        /**
         * Creates a new AbstractVisualPropertyEditor object.
@@ -114,9 +115,13 @@
         *
         * @return  DOCUMENT ME!
         */
-       @Override public TableCellRenderer getTableCellRenderer() {
-               return tableCellRenderer;
+       @Override public TableCellRenderer getDiscreteTableCellRenderer() {
+               return discreteTableCellRenderer;
        }
+       
+       @Override public TableCellRenderer getContinuousTableCellRenderer() {
+               return continuousTableCellRenderer;
+       }
 
        /**
         *  DOCUMENT ME!
@@ -125,7 +130,7 @@
         *
         * @throws IllegalArgumentException DOCUMENT ME!
         */
-       @Override public Component getContinuousMappingEditor() throws 
IllegalArgumentException {
+       @Override public PropertyEditor getContinuousMappingEditor() throws 
IllegalArgumentException {
                return continuousEditor;
        }
 

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/ColorVisualPropertyEditor.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/ColorVisualPropertyEditor.java
      2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/ColorVisualPropertyEditor.java
      2010-11-18 02:23:18 UTC (rev 22898)
@@ -38,14 +38,15 @@
 import java.awt.Paint;
 
 import javax.swing.Icon;
-import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.TableCellRenderer;
 
+import org.cytoscape.model.CyTableManager;
+import org.cytoscape.session.CyApplicationManager;
+import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
+import 
org.cytoscape.view.vizmap.gui.internal.cellrenderer.ColorContinuousMappingCellRenderer;
+import 
org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor.GradientEditor;
 import 
org.cytoscape.view.vizmap.gui.internal.editor.propertyeditor.CyColorPropertyEditor;
 
-import com.l2fprod.common.propertysheet.PropertyRendererRegistry;
 
-
 /**
  * Manages editors for Color Visual Properties. This object can be used with 
any
  * VisualProperty using Color as its type.
@@ -57,33 +58,16 @@
        /**
         * Constructor. Should instantiate one editor per VisualProperty.
         */
-       public ColorVisualPropertyEditor(final Class<Paint> type) {
+       public ColorVisualPropertyEditor(final Class<Paint> type, final 
CyTableManager manager, final CyApplicationManager appManager, final 
SelectedVisualStyleManager selectedManager) {
                super(type, new CyColorPropertyEditor());
-               tableCellRenderer = REG.getRenderer(Color.class);
                
-               //FIXME
-               //continuousEditor = new GradientEditorPanel(this.vp, null, 
attr);
+               discreteTableCellRenderer = REG.getRenderer(Color.class);
+               continuousTableCellRenderer = new 
ColorContinuousMappingCellRenderer();
+               
+               continuousEditor = new GradientEditor(manager, appManager, 
selectedManager);
        }
 
-       /**
-        * DOCUMENT ME!
-        *
-        * @param type
-        *            DOCUMENT ME!
-        * @param width
-        *            DOCUMENT ME!
-        * @param height
-        *            DOCUMENT ME!
-        *
-        * @return DOCUMENT ME!
-        */
-       @Override public TableCellRenderer getTableCellRenderer() {
-               //FIXME
-               //((JLabel) 
tableCellRenderer).setIcon(GradientEditorPanel.getIcon(width, height, vp));
 
-               return tableCellRenderer;
-       }
-
        /**
         * DOCUMENT ME!
         *

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/DoubleVisualPropertyEditor.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/DoubleVisualPropertyEditor.java
     2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/DoubleVisualPropertyEditor.java
     2010-11-18 02:23:18 UTC (rev 22898)
@@ -52,7 +52,7 @@
        public DoubleVisualPropertyEditor(Class<Double> type,
                        final SelectedVisualStyleManager manager) {
                super(type, new CyDoublePropertyEditor(null));
-               tableCellRenderer = REG.getRenderer(Double.class);
+               discreteTableCellRenderer = REG.getRenderer(Double.class);
                // continuousEditor = new C2CMappingEditor<Number, 
Number>(this.vp,
                // manager, attr);
        }

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/EditorManagerImpl.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/EditorManagerImpl.java
      2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/EditorManagerImpl.java
      2010-11-18 02:23:18 UTC (rev 22898)
@@ -228,7 +228,7 @@
        @SuppressWarnings("unchecked")
        public <V> VisualPropertyEditor<V> getVisualPropertyEditor(
                        final VisualProperty<V> vp) {
-               return (VisualPropertyEditor<V>) editors.get(vp);
+               return (VisualPropertyEditor<V>) editors.get(vp.getType());
        }
 
        /*
@@ -247,25 +247,6 @@
        }
 
        
-       @Override public PropertyEditor getDiscreteCellEditor(VisualProperty<?> 
type) {
-               VisualPropertyEditor<?> editor = editors.get(type.getType());
-               if (editor == null)
-                       return null;
-
-               return editor.getPropertyEditor();
-       }
-
-       @Override
-       public TableCellRenderer getDiscreteCellRenderer(
-                       final VisualProperty<?> type) {
-               
-               final VisualPropertyEditor<?> editor = 
editors.get(type.getType());
-               if(editor == null)
-                       return null;
-               else
-                       return editor.getTableCellRenderer();
-       }
-
        /*
         * (non-Javadoc)
         * 

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/BelowAndAbovePanel.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/BelowAndAbovePanel.java
       2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/BelowAndAbovePanel.java
       2010-11-18 02:23:18 UTC (rev 22898)
@@ -74,7 +74,7 @@
                
        private EditorManager editorManager;
 
-       private final SelectedVisualStyleManager manager; 
+       private final ContinuousMapping<?, ?> mapping; 
        
        /**
         * DOCUMENT ME!
@@ -90,11 +90,11 @@
         * @param below
         *            DOCUMENT ME!
         */
-       public BelowAndAbovePanel(VisualProperty<?> type, Color color, boolean 
below, final SelectedVisualStyleManager manager) {
+       public BelowAndAbovePanel(Color color, boolean below, final 
ContinuousMapping<?, ?> mapping) {
                this.boxColor = color;
                this.below = below;
-               this.type = type;
-               this.manager = manager;
+               this.mapping = mapping;
+               this.type = mapping.getVisualProperty();
 
                if (below)
                        this.setToolTipText("Double-click triangle to set below 
color...");
@@ -110,8 +110,8 @@
         * @param type DOCUMENT ME!
         * @param below DOCUMENT ME!
         */
-       public BelowAndAbovePanel(VisualProperty<Number> type, boolean below, 
final SelectedVisualStyleManager manager) {
-               this(type, Color.DARK_GRAY, below, manager);
+       public BelowAndAbovePanel(boolean below, ContinuousMapping<?, ?> 
mapping) {
+               this(Color.DARK_GRAY, below, mapping);
        }
 
        /**
@@ -194,26 +194,26 @@
                                        return;
                                }
 
-                               final VisualStyle vs = 
manager.getCurrentVisualStyle();
-                               final ContinuousMapping<?, ?> cMapping = 
(ContinuousMapping<?,?>) vs.getVisualMappingFunction(type);
+                               
+                               
 
                                BoundaryRangeValues brv;
                                BoundaryRangeValues original;
 
                                if (below) {
-                                       original = 
cMapping.getPoint(0).getRange();
+                                       original = 
mapping.getPoint(0).getRange();
                                        brv = new BoundaryRangeValues(newValue, 
original.equalValue,
                                                                      
original.greaterValue);
-                                       cMapping.getPoint(0).setRange(brv);
+                                       mapping.getPoint(0).setRange(brv);
                                } else {
-                                       original = 
cMapping.getPoint(cMapping.getPointCount() - 1).getRange();
+                                       original = 
mapping.getPoint(mapping.getPointCount() - 1).getRange();
 
                                        brv = new 
BoundaryRangeValues(original.lesserValue, original.equalValue,
                                                                      newValue);
-                                       
cMapping.getPoint(cMapping.getPointCount() - 1).setRange(brv);
+                                       
mapping.getPoint(mapping.getPointCount() - 1).setRange(brv);
                                }
 
-                               //cMapping.fireStateChanged();
+                               //mapping.fireStateChanged();
 
                                // Update view.
                                //Cytoscape.redrawGraph(vmm.getNetworkView());

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2CMappingEditor.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2CMappingEditor.java
 2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2CMappingEditor.java
 2010-11-18 02:23:18 UTC (rev 22898)
@@ -43,9 +43,11 @@
 import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableManager;
 import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.vizmap.VisualStyle;
 import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
 import org.cytoscape.view.vizmap.gui.VizMapGUI;
 import org.cytoscape.view.vizmap.mappings.BoundaryRangeValues;
+import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
 import org.cytoscape.view.vizmap.mappings.ContinuousMappingPoint;
 import org.jdesktop.swingx.multislider.TrackRenderer;
 
@@ -78,8 +80,8 @@
         * @param type
         *            DOCUMENT ME!
         */
-       public C2CMappingEditor(VisualProperty<V> type, final 
SelectedVisualStyleManager manager, final CyTable attr) {
-               super(type, manager, attr);
+       public C2CMappingEditor(final VisualStyle style, final 
ContinuousMapping<K, V> mapping, final CyTable attr) {
+               super(style, mapping, attr);
                abovePanel.setVisible(false);
                belowPanel.setVisible(false);
 

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2DMappingEditor.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2DMappingEditor.java
 2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2DMappingEditor.java
 2010-11-18 02:23:18 UTC (rev 22898)
@@ -45,10 +45,12 @@
 
 import org.cytoscape.model.CyTable;
 import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.vizmap.VisualStyle;
 import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
 import org.cytoscape.view.vizmap.gui.VizMapGUI;
 import org.cytoscape.view.vizmap.gui.editor.EditorManager;
 import org.cytoscape.view.vizmap.mappings.BoundaryRangeValues;
+import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
 import org.cytoscape.view.vizmap.mappings.ContinuousMappingPoint;
 import org.jdesktop.swingx.multislider.Thumb;
 
@@ -71,13 +73,11 @@
 
        private EditorManager editorFactory;
 
-       public C2DMappingEditor(VisualProperty<V> type,
-                       EditorManager editorFactory, final 
SelectedVisualStyleManager manager, CyTable attr) {
-               super(type, manager, attr);
+       public C2DMappingEditor(final VisualStyle style, final 
ContinuousMapping<K, V> mapping, CyTable attr) {
+               super(style, mapping, attr);
                this.iconPanel.setVisible(false);
                this.belowPanel.setVisible(false);
                this.abovePanel.setVisible(false);
-               this.editorFactory = editorFactory;
                //FIXME
                //setSlider();
        }

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/ContinuousMappingEditorPanel.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/ContinuousMappingEditorPanel.java
     2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/ContinuousMappingEditorPanel.java
     2010-11-18 02:23:18 UTC (rev 22898)
@@ -49,9 +49,8 @@
 import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.model.CyTable;
 import org.cytoscape.view.model.VisualProperty;
-import org.cytoscape.view.vizmap.VisualMappingFunction;
 import org.cytoscape.view.vizmap.VisualMappingManager;
-import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
+import org.cytoscape.view.vizmap.VisualStyle;
 import org.cytoscape.view.vizmap.mappings.BoundaryRangeValues;
 import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
 import org.cytoscape.view.vizmap.mappings.ContinuousMappingPoint;
@@ -66,26 +65,19 @@
  * @param T
  *            type of the value associated with the thumb.
  * 
- * 
- * @version 0.5
- * @since Cytoscape 2.5
- * @author kono
  */
 public abstract class ContinuousMappingEditorPanel<K, V> extends JPanel 
implements
                PropertyChangeListener {
        private static final long serialVersionUID = 2077889066171872186L;
 
-       /*
-        * Used by track renderers.
-        */
        protected static final String BELOW_VALUE_CHANGED = 
"BELOW_VALUE_CHANGED";
        protected static final String ABOVE_VALUE_CHANGED = 
"ABOVE_VALUE_CHANGED";
 
-       // Continuous mapping only accepts numerical attributes.
-       protected VisualProperty<V> type;
-
        // Only accepts Continuous Mapping
-       protected ContinuousMapping<K, V> mapping;
+       protected final ContinuousMapping<K, V> mapping;
+       protected final VisualProperty<V> type;
+       private final CyTable attr;
+       
        protected List<ContinuousMappingPoint<K, V>> allPoints;
        private SpinnerNumberModel spinnerModel;
 
@@ -98,24 +90,31 @@
        protected VisualMappingManager vmm;
 
        // This should be injected.
-       protected EditorValueRangeTracer tracer;
-
-       protected final SelectedVisualStyleManager manager;
+       private final EditorValueRangeTracer tracer;
        
-       private final CyTable attrs;
-
        /**
         * 
         * Creates new form ContinuousMapperEditorPanel Accepts only one visual
         * property type T.
         * 
         * */
-       public ContinuousMappingEditorPanel(final VisualProperty<V> type,
-                       final SelectedVisualStyleManager manager, final CyTable 
attrs) {
-               this.type = type;
-               this.manager = manager;
-               this.attrs = attrs;
-
+       public ContinuousMappingEditorPanel(final VisualStyle style, final 
ContinuousMapping<K, V> mapping, final CyTable attr) {
+               if(mapping == null)
+                       throw new NullPointerException("ContinuousMapping 
should not be null.");
+               if(attr == null)
+                       throw new NullPointerException("Data table should not 
be null.");
+               
+               this.tracer = new 
EditorValueRangeTracer(style.getVisualLexicon());
+               this.mapping = mapping;
+               this.type = mapping.getVisualProperty();
+               
+               final String controllingAttrName = 
mapping.getMappingAttributeName();
+               final Class<?> attrType = 
attr.getColumnTypeMap().get(controllingAttrName);
+               if (attrType != Double.class)
+                       throw new IllegalArgumentException("Cannot support 
attribute data type: " + attrType);
+               
+               this.attr = attr;
+               
                initComponents();
                setVisualPropLabel();
 
@@ -157,12 +156,12 @@
 
        // <editor-fold defaultstate="collapsed" desc=" Generated Code ">
        private void initComponents() {
-               JPanel mainPanel = new JPanel();
+               
+               final JPanel mainPanel = new JPanel();
 
-               abovePanel = new BelowAndAbovePanel(type, Color.yellow, false,
-                               manager);
+               abovePanel = new BelowAndAbovePanel(Color.yellow, false, 
mapping);
                abovePanel.setName("abovePanel");
-               belowPanel = new BelowAndAbovePanel(type, Color.white, true, 
manager);
+               belowPanel = new BelowAndAbovePanel(Color.white, true, mapping);
                belowPanel.setName("belowPanel");
 
                abovePanel.setPreferredSize(new Dimension(16, 1));
@@ -374,28 +373,12 @@
 
        private void initRangeValues() {
 
-               VisualMappingFunction<?, V> map = 
manager.getCurrentVisualStyle()
-                               .getVisualMappingFunction(type);
-
-               if (map == null || map instanceof ContinuousMapping == false)
-                       return;
-
-               // TODO: fix the following section
-               // Assume this calc only returns cont. mapping.
-               mapping = (ContinuousMapping<K, V>) map;
-
-               final String controllingAttrName = 
mapping.getMappingAttributeName();
-
-               if (attrs.getColumnTypeMap().get(controllingAttrName) != 
Double.class)
-                       return;
-
                // Set range values
                if (tracer.getRange(type) == 0) {
                        Double maxValue = Double.NEGATIVE_INFINITY;
                        Double minValue = Double.POSITIVE_INFINITY;
-
-                       for (Double val : 
attrs.getColumnValues(controllingAttrName,
-                                       Double.class)) {
+                       final List<Double> valueList = 
attr.getColumnValues(mapping.getMappingAttributeName(), Double.class);
+                       for (Double val : valueList) {
                                if (val > maxValue)
                                        maxValue = val;
 

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/EditorValueRangeTracer.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/EditorValueRangeTracer.java
   2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/EditorValueRangeTracer.java
   2010-11-18 02:23:18 UTC (rev 22898)
@@ -44,6 +44,7 @@
  *
  */
 public class EditorValueRangeTracer {
+       
        private Map<VisualProperty<?>, Range> rangeMap;
 
        /**

Added: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/GradientEditor.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/GradientEditor.java
                           (rev 0)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/GradientEditor.java
   2010-11-18 02:23:18 UTC (rev 22898)
@@ -0,0 +1,59 @@
+package org.cytoscape.view.vizmap.gui.internal.editor.mappingeditor;
+
+import java.awt.Color;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+
+import javax.swing.JDialog;
+import javax.swing.JPanel;
+
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyTable;
+import org.cytoscape.model.CyTableManager;
+import org.cytoscape.session.CyApplicationManager;
+import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
+import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
+
+import com.l2fprod.common.beans.editor.AbstractPropertyEditor;
+
+public class GradientEditor extends AbstractPropertyEditor {
+       
+       
+       
+       private ContinuousMapping<Double, Color> mapping;
+       
+       
+       public GradientEditor(final CyTableManager manager, final 
CyApplicationManager appManager, final SelectedVisualStyleManager 
selectedManager) {
+       
+               editor = new JPanel();
+               this.editor.addMouseListener(new MouseAdapter() {
+
+                       @Override
+                       public void mouseClicked(MouseEvent arg0) {
+                               final CyTable attr = 
manager.getTableMap(mapping.getVisualProperty().getTargetDataType(), 
appManager.getCurrentNetwork()).get(CyNetwork.DEFAULT_ATTRS);
+                               GradientEditorPanel editorPanel = new 
GradientEditorPanel(selectedManager.getCurrentVisualStyle(), mapping, attr);
+                               JDialog editorDialog = new JDialog();
+                               editorDialog.add(editorPanel);
+                               editorDialog.pack();
+                               
+                               editorDialog.setTitle("Discrete Mapping Editor: 
Mapping for " + mapping.getVisualProperty().getDisplayName());
+                               editorDialog.setLocationRelativeTo(editor);
+                               editorDialog.setVisible(true);
+                       }
+               });
+       }
+       
+       
+       @Override public Object getValue() {
+               return mapping;
+       }
+
+       
+       @Override public void setValue(Object value) {
+               if(value instanceof ContinuousMapping == false)
+                       throw new IllegalArgumentException("Value should be 
ContinuousMapping: this is " + value);
+               
+               mapping = (ContinuousMapping<Double, Color>) value;
+       }
+       
+}

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/GradientEditorPanel.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/GradientEditorPanel.java
      2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/GradientEditorPanel.java
      2010-11-18 02:23:18 UTC (rev 22898)
@@ -49,6 +49,7 @@
 import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableManager;
 import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.vizmap.VisualStyle;
 import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
 import org.cytoscape.view.vizmap.gui.VizMapGUI;
 import org.cytoscape.view.vizmap.gui.editor.EditorManager;
@@ -65,7 +66,7 @@
  * @since Cytoscpae 2.5
  * @author kono
  */
-public class GradientEditorPanel<K> extends ContinuousMappingEditorPanel<K, 
Color>
+public class GradientEditorPanel extends ContinuousMappingEditorPanel<Double, 
Color>
     implements PropertyChangeListener {
        private final static long serialVersionUID = 1202339877433771L;
 
@@ -81,8 +82,9 @@
         * @param type
         *            DOCUMENT ME!
         */
-       public GradientEditorPanel(VisualProperty<Color> type, final 
SelectedVisualStyleManager manager, CyTable attr) {
-               super(type, manager, attr);
+       public GradientEditorPanel(final VisualStyle style, final 
ContinuousMapping<Double, Color> mapping, final CyTable attr) {
+               super(style, mapping, attr);
+               
                iconPanel.setVisible(false);
                initSlider();
 
@@ -106,8 +108,7 @@
         * @return DOCUMENT ME!
         */
        public ImageIcon getLegend(final int width, final int height) {
-               final CyGradientTrackRenderer rend = (CyGradientTrackRenderer) 
slider
-                                                                               
                                 .getTrackRenderer();
+               final CyGradientTrackRenderer rend = (CyGradientTrackRenderer) 
slider.getTrackRenderer();
                rend.getRendererComponent(slider);
 
                return rend.getLegend(width, height);

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/event/CellEditorEventHandler.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/event/CellEditorEventHandler.java
  2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/event/CellEditorEventHandler.java
  2010-11-18 02:23:18 UTC (rev 22898)
@@ -589,23 +589,24 @@
                        final VisualMappingFunctionFactory factory,
                        final String controllingAttrName) {
 
+               // This is the currently selected Visual Style.
                final VisualStyle style = manager.getCurrentVisualStyle();
                
                logger.debug("Mapping combo box clicked: " + style.getTitle());
                logger.debug("Mapping Category: " + prop.getCategory());
                
                
-                       
-               
                final VisualProperty<Visualizable> startVP = 
util.getCategory((Class<? extends CyTableEntry>) vp.getTargetDataType());
-               
                final VisualMappingFunction<?, ?> currentMapping = 
style.getVisualMappingFunction(vp);
                
                logger.debug("Current Mapping for " + vp.getDisplayName() + " 
is: " + currentMapping);
                
                final VisualMappingFunction<?, ?> newMapping;
-               if(currentMapping == null) {
-
+               logger.debug("!! New factory Category: " + 
factory.getMappingFunctionType());
+               logger.debug("!! Current Mapping type: " + currentMapping);
+               
+               if(currentMapping == null || currentMapping.getClass() != 
factory.getMappingFunctionType()) {
+                       // Mapping does not exist.
                        final AttributeSet attrSet = 
attrManager.getAttributeSet(applicationManager.getCurrentNetwork(), (Class<? 
extends CyTableEntry>) vp.getTargetDataType());
                        final Class<?> attributeDataType = 
attrSet.getAttrMap().get(controllingAttrName);
                        newMapping = 
factory.createVisualMappingFunction(controllingAttrName, attributeDataType,vp);
@@ -625,7 +626,6 @@
                propertySheetPanel.removeProperty(parent);
 
                final VizMapperProperty<?, ?, VisualMappingFunctionFactory> 
newRootProp;
-
                
                newRootProp = vizMapPropertySheetBuilder.getPropertyBuilder()
                                .buildProperty(newMapping, 
startVP.getDisplayName(),

Modified: 
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
 2010-11-18 02:05:10 UTC (rev 22897)
+++ 
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
 2010-11-18 02:23:18 UTC (rev 22898)
@@ -133,6 +133,9 @@
        <bean id="colorPropertyEditor"
                
class="org.cytoscape.view.vizmap.gui.internal.editor.ColorVisualPropertyEditor">
                <constructor-arg ref="paintClass" />
+               <constructor-arg ref="cyTableManagerServiceRef" />
+               <constructor-arg ref="cyApplicationManagerServiceRef" />
+               <constructor-arg ref="selectedVisualStyleManager" />
        </bean>
        <bean id="doublePropertyEditor"
                
class="org.cytoscape.view.vizmap.gui.internal.editor.DoubleVisualPropertyEditor">
@@ -140,9 +143,6 @@
                <constructor-arg ref="selectedVisualStyleManager" />
        </bean>
 
-
-
-
        <!-- Main Panel Configurations -->
        <bean id="colorMgr"
                
class="org.cytoscape.view.vizmap.gui.internal.theme.ColorManager"

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