Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/java/org/gvsig/legend/heatmap/lib/impl/DefaultHeatmapLegendManager.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/java/org/gvsig/legend/heatmap/lib/impl/DefaultHeatmapLegendManager.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/java/org/gvsig/legend/heatmap/lib/impl/DefaultHeatmapLegendManager.java	(revision 2889)
@@ -0,0 +1,41 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2015 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.legend.heatmap.lib.impl;
+
+import org.gvsig.legend.heatmap.lib.api.HeatmapLegend;
+import org.gvsig.legend.heatmap.lib.api.HeatmapLegendManager;
+
+
+public class DefaultHeatmapLegendManager implements HeatmapLegendManager {
+
+    @Override
+    public HeatmapLegend create() {
+        return new DefaultHeatmapLegend();
+    }
+
+    @Override
+    public Class<? extends HeatmapLegend> getLegendClass() {
+        return DefaultHeatmapLegend.class;
+    }
+
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/java/org/gvsig/legend/heatmap/lib/impl/DefaultHeatmapLegend.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/java/org/gvsig/legend/heatmap/lib/impl/DefaultHeatmapLegend.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/java/org/gvsig/legend/heatmap/lib/impl/DefaultHeatmapLegend.java	(revision 2889)
@@ -0,0 +1,624 @@
+package org.gvsig.legend.heatmap.lib.impl;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.image.BufferedImage;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+import org.cresques.cts.ICoordTrans;
+import org.gvsig.compat.print.PrintAttributes;
+
+import org.gvsig.fmap.dal.exception.DataException;
+import org.gvsig.fmap.dal.feature.Feature;
+import org.gvsig.fmap.dal.feature.FeatureQuery;
+import org.gvsig.fmap.dal.feature.FeatureSelection;
+import org.gvsig.fmap.dal.feature.FeatureSet;
+import org.gvsig.fmap.dal.feature.FeatureStore;
+import org.gvsig.fmap.dal.feature.FeatureType;
+import org.gvsig.fmap.geom.Geometry;
+import org.gvsig.fmap.geom.GeometryUtils;
+import org.gvsig.fmap.geom.primitive.Point;
+import org.gvsig.fmap.mapcontext.MapContextException;
+import org.gvsig.fmap.mapcontext.ViewPort;
+import org.gvsig.fmap.mapcontext.layers.operations.IHasImageLegend;
+import org.gvsig.fmap.mapcontext.rendering.legend.LegendException;
+import org.gvsig.fmap.mapcontext.rendering.legend.events.SymbolLegendEvent;
+import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
+import org.gvsig.gui.ColorTablePainter;
+import org.gvsig.gui.DefaultColorTablePainter;
+import org.gvsig.legend.heatmap.lib.api.HeatmapLegend;
+import org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend;
+import org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.DefaultFeatureDrawnNotification;
+import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.text.impl.SimpleTextSymbol;
+import org.gvsig.tools.exception.BaseException;
+import org.gvsig.tools.persistence.PersistentState;
+import org.gvsig.tools.persistence.exception.PersistenceException;
+import org.gvsig.tools.swing.api.ToolsSwingLocator;
+import org.gvsig.tools.swing.api.ToolsSwingManager;
+import org.gvsig.tools.task.Cancellable;
+import org.gvsig.tools.visitor.VisitCanceledException;
+import org.gvsig.tools.visitor.Visitor;
+
+public class DefaultHeatmapLegend extends AbstractVectorialLegend implements HeatmapLegend, IHasImageLegend {
+
+    private class DensityAlgorithm {
+
+        private double[][] grid;
+        private double[][] kernel;
+        private int distance;
+        private int height;
+        private int with;
+        private double maxValue;
+        private double minValue;
+
+        public DensityAlgorithm(int distance) {
+            this.setDistance(distance);
+        }
+
+        public void setDistance(int distance) {
+            if( this.distance == distance ) {
+                return;
+            }
+            this.distance = distance;
+            this.kernel = new double[2 * this.distance + 1][2 * this.distance + 1];
+            for( int y = -this.distance; y < this.distance + 1; y++ ) {
+                for( int x = -this.distance; x < this.distance + 1; x++ ) {
+                    final double dDist = Math.sqrt(x * x + y * y);
+                    if( dDist < this.distance ) {
+                        this.kernel[x + this.distance][y + this.distance] = Math.pow(1 - (dDist * dDist) / (this.distance * this.distance), 2);
+                    } else {
+                        this.kernel[x + this.distance][y + this.distance] = 0;
+                    }
+                }
+            }
+        }
+
+        public int getDistance() {
+            return this.distance;
+        }
+
+        public void init(int with, int height) {
+            this.with = with;
+            this.height = height;
+            this.grid = new double[with][height];
+            this.maxValue = 0;
+            this.minValue = 0;
+        }
+
+        public void add(int px, int py) {
+            add(px, py, 1);
+        }
+
+        public void add(int px, int py, double value) {
+            for( int y = -this.distance; y < this.distance + 1; y++ ) {
+                for( int x = -this.distance; x < this.distance + 1; x++ ) {
+                    if( this.kernel[x + this.distance][y + this.distance] != 0 ) {
+                        addValue(px + x, py + y, value * this.kernel[x + this.distance][y + this.distance]);
+                    }
+                }
+            }
+        }
+
+        private void addValue(int px, int py, double value) {
+            if( px < 0 || py < 0 || px >= with || py >= height ) {
+                return;
+            }
+            value += this.grid[px][py];
+            this.grid[px][py] = value;
+            if( value > this.maxValue ) {
+                this.maxValue = value;
+            }
+            if( value < this.minValue ) {
+                this.minValue = value;
+            }
+        }
+
+        public void drawWithOpaqueColors(BufferedImage img, Graphics2D g, Color[] colorTable, Cancellable cancel, Geometry roi) {
+            try {
+                ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
+                Color c;
+                int maxIndexColor = colorTable.length-1;
+                for( int x = 0; x < with; x++ ) {
+                    for( int y = 0; y < height; y++ ) {
+                        if( cancel.isCanceled() ) {
+                            return;
+                        }
+                        if (roi!=null) {
+                            Point point = GeometryUtils.createPoint(x, y);
+                            if (!roi.intersects(point)) {
+                                continue;
+                            }
+                        }
+                        double value = this.grid[x][y];
+                        if( value > 0 ) {
+                            int icolor = (int) (value * maxIndexColor / maxValue);
+                            c = toolsSwingManager.alphaBlendingWithOpaqueBackground(
+                                    new Color(img.getRGB(x, y)),
+                                    colorTable[icolor]
+                            );
+                            img.setRGB(x, y, c.getRGB());
+                        }
+                    }
+                }
+            } catch (Exception ex) {
+                LOG.warn("Problems drawing heatmap", ex);
+            }
+        }
+
+        public void drawWithAlphaColors(BufferedImage img, Graphics2D g, Color[] colorTable, Cancellable cancel, Geometry roi) {
+            try {
+                Color c;
+                int maxIndexColor = colorTable.length-1;
+                for( int x = 0; x < with; x++ ) {
+                    for( int y = 0; y < height; y++ ) {
+                        if( cancel.isCanceled() ) {
+                            return;
+                        }
+                        if (roi!=null) {
+                            Point point = GeometryUtils.createPoint(x, y);
+                            if (!roi.intersects(point)) {
+                                continue;
+                            }
+                        }
+                        double value = this.grid[x][y];
+                        if( value > 0 ) {
+                            int icolor = (int) (value * maxIndexColor / maxValue);
+                            c = colorTable[icolor];
+                            img.setRGB(x, y, c.getRGB());
+                        }
+                    }
+                }
+            } catch (Exception ex) {
+                LOG.warn("Problems drawing heatmap", ex);
+            }
+        }
+    }
+
+    private ISymbol defaultSymbol;
+    private DensityAlgorithm algorithm;
+    private boolean isRamp;
+    private Color[] sourceColorTable;
+    private int colorTableHotColorAlpha;
+    private int colorTableColdColorAlpha;
+    private boolean useAlphaInColorTable;
+    private String fieldName;
+    private Image imageLegend;
+    private HeatmapColorTable hmColorTable;
+    private Color rampColdColor;
+    private Color rampHotColor;
+    private int rampNumColors;
+    private Geometry roi;
+    
+    public DefaultHeatmapLegend() {
+        
+        this.defaultSymbol = new SimpleTextSymbol();
+        this.algorithm = new DensityAlgorithm(30);
+        this.colorTableHotColorAlpha = 255;
+        this.colorTableColdColorAlpha = 0;
+        this.useAlphaInColorTable = false;
+        this.setColorTable(100, new Color(0, 0, 255, 0), new Color(255, 0, 0, 255));
+        this.imageLegend = null;
+        this.hmColorTable = null;
+        this.fieldName = null;
+    }
+
+    @Override
+    protected String[] getRequiredFeatureAttributeNames(FeatureStore featureStore) throws DataException {
+        FeatureType ftype = featureStore.getDefaultFeatureType();
+        if( StringUtils.isEmpty(this.fieldName) ) {
+            return new String[]{
+                ftype.getDefaultGeometryAttributeName()
+            };
+        }
+        return new String[]{
+            ftype.getDefaultGeometryAttributeName(),
+            this.fieldName
+        };
+    }
+
+    @Override
+    public ISymbol getDefaultSymbol() {
+        return this.defaultSymbol;
+    }
+
+    @Override
+    public void setDefaultSymbol(ISymbol is) {
+    }
+
+    @Override
+    public ISymbol getSymbolByFeature(Feature ftr) throws MapContextException {
+        return this.defaultSymbol;
+    }
+
+    @Override
+    public int getShapeType() {
+        return Geometry.TYPES.GEOMETRY;
+    }
+
+    @Override
+    public void setShapeType(int i) {
+    }
+
+    @Override
+    public boolean isUseDefaultSymbol() {
+        return true;
+    }
+
+    @Override
+    public void useDefaultSymbol(boolean bln) {
+    }
+
+    @Override
+    public boolean isSuitableForShapeType(int shapeType) {
+        return true;
+    }
+
+    @Override
+    protected void draw(BufferedImage image, Graphics2D g, ViewPort viewPort, Cancellable cancel, double scale, Map queryParameters, ICoordTrans coordTrans, FeatureStore featureStore, FeatureQuery featureQuery, double dpi) throws LegendException {
+        int saved_distance = this.algorithm.getDistance();
+        try {
+            int distance = (int) (this.algorithm.getDistance() * (dpi / 72));
+            Geometry theROI = null;
+            if (this.roi!=null) {
+                theROI = this.roi.cloneGeometry();
+                theROI.transform(viewPort.getAffineTransform());
+            }
+            this.algorithm.setDistance(distance);
+            this.algorithm.init(image.getWidth(), image.getHeight());
+            super.draw(image, g, viewPort, cancel, scale, queryParameters, coordTrans, featureStore, featureQuery, dpi);
+            if( !cancel.isCanceled() ) {
+                this.algorithm.drawWithOpaqueColors(image, g, this.getHeatMapColorTable().getColorTable(), cancel, theROI);
+            }
+        } finally {
+            this.algorithm.setDistance(saved_distance);
+
+        }
+    }
+    
+    @Override
+    public void print(Graphics2D g, ViewPort viewPort, Cancellable cancel,
+            double scale, Map queryParameters, ICoordTrans coordTrans,
+            FeatureStore featureStore, FeatureQuery featureQuery, PrintAttributes properties)
+            throws LegendException {
+        int saved_distance = this.algorithm.getDistance();
+        try {
+            double dpi = viewPort.getDPI();
+            // Ver CartographicSupportToolkit.getCartographicLength
+            int distance = (int) (this.algorithm.getDistance() * (dpi / 72));
+            Geometry theROI = null;
+            if (this.roi!=null) {
+                theROI = this.roi.cloneGeometry();
+                theROI.transform(viewPort.getAffineTransform());
+            }
+            this.algorithm.setDistance(distance);
+            this.algorithm.init(viewPort.getImageWidth(), viewPort.getImageHeight());
+            BufferedImage image = new BufferedImage(viewPort.getImageWidth(), viewPort.getImageHeight(), BufferedImage.TYPE_INT_ARGB);
+            super.draw(image, g, viewPort, cancel, scale, queryParameters, coordTrans, featureStore, featureQuery, dpi);
+            if (!cancel.isCanceled()) {
+                this.algorithm.drawWithAlphaColors(image, g, this.getHeatMapColorTable().getColorTable(), cancel, theROI);
+                g.drawImage(image, 0, 0, null);
+            }
+        } finally {
+            this.algorithm.setDistance(saved_distance);
+
+        }
+    }
+
+    @Override
+    protected void drawFeatures(
+        BufferedImage image,
+        Graphics2D g,
+        final ViewPort viewPort,
+        final Cancellable cancel,
+        final ICoordTrans coordTrans,
+        double dpi,
+        DefaultFeatureDrawnNotification drawnNotification,
+        FeatureSet featureSet,
+        FeatureSelection selection
+    ) throws BaseException {
+        int x = -1;
+        if( !StringUtils.isEmpty(this.fieldName) ) {
+            x = featureSet.getDefaultFeatureType().getIndex(this.fieldName);
+        }
+        final int n = x;
+        featureSet.accept(new Visitor() {
+            @Override
+            public void visit(Object o) throws VisitCanceledException, BaseException {
+                if( cancel.isCanceled() ) {
+                    throw new VisitCanceledException();
+                }
+                Feature feature = (Feature) o;
+                Geometry geom = feature.getDefaultGeometry();
+                if( geom != null ) {
+                    Point pointGeo = geom.centroid();
+                    if( coordTrans != null ) {
+                        pointGeo.reProject(coordTrans);
+                    }
+                    Point pointPixels = (Point) pointGeo.cloneGeometry();
+                    pointPixels.transform(viewPort.getAffineTransform());
+                    if( n >= 0 ) {
+                        double value = 0;
+                        try {
+                            value = feature.getDouble(n);
+                        } catch(Exception ex) {
+                        }
+                        if( value >0 ) {
+                            algorithm.add((int) pointPixels.getX(), (int) pointPixels.getY(), value);
+                        }
+                    } else {
+                        algorithm.add((int) pointPixels.getX(), (int) pointPixels.getY());
+                    }
+                }
+            }
+        });
+    }
+
+    /**
+     * @return the distance
+     */
+    @Override
+    public int getDistance() {
+        return this.algorithm.getDistance();
+    }
+
+    /**
+     * @param distance the distance to set
+     */
+    @Override
+    public void setDistance(int distance) {
+        this.algorithm.setDistance(distance);
+    }
+
+    @Override
+    public void setColorTable(Color[] colorTable) {
+        this.isRamp = false;
+        this.sourceColorTable = colorTable;
+        this.imageLegend = null;
+        this.hmColorTable = null;
+        this.fireDefaultSymbolChangedEvent(new SymbolLegendEvent(null,null));
+    }
+
+    @Override
+    public void setColorTable(int numColors, Color coldColor, Color hotColor) {
+        this.isRamp = true;
+        this.rampColdColor = coldColor;
+        this.rampHotColor = hotColor;
+        this.rampNumColors = numColors;
+        this.imageLegend = null;
+        this.hmColorTable = null;
+        this.fireDefaultSymbolChangedEvent(new SymbolLegendEvent(null,null));
+    }
+
+    @Override
+    public Color[] getSourceColorTable() {
+        return this.sourceColorTable;
+    }
+
+    @Override
+    public Color[] getTargetColorTable() {
+        return this.getHeatMapColorTable().getColorTable();
+    }
+
+    private HeatmapColorTable getHeatMapColorTable() {
+        if (this.hmColorTable == null) {
+            if (this.useRamp()) {
+                this.hmColorTable = new HeatmapColorTable(this.rampColdColor, this.rampHotColor, this.rampNumColors);
+            } else {
+                if(useAlphaInColorTable) {
+                    this.hmColorTable = new HeatmapColorTable(this.getSourceColorTable(), colorTableColdColorAlpha, colorTableHotColorAlpha);
+                } else {
+                this.hmColorTable =
+                    this.hmColorTable = new HeatmapColorTable(this.getSourceColorTable());
+                }
+            }
+        }
+        return this.hmColorTable;
+    }
+
+
+    @Override
+    public boolean useRamp() {
+        return this.isRamp;
+    }
+
+    @Override
+    public String getFieldName() {
+        return this.fieldName;
+    }
+
+    @Override
+    public void setFieldName(String fieldName) {
+        this.fieldName = fieldName;
+    }
+
+    @Override
+    public int getColorTableHotColorAlpha() {
+        return colorTableHotColorAlpha;
+    }
+
+    @Override
+    public void setColorTableHotColorAlpha(int colorTableHotColorAlpha) {
+        this.colorTableHotColorAlpha = colorTableHotColorAlpha;
+        this.imageLegend = null;
+        this.hmColorTable = null;
+    }
+
+    @Override
+    public int getColorTableColdColorAlpha() {
+        return colorTableColdColorAlpha;
+    }
+
+    @Override
+    public void setColorTableColdColorAlpha(int colorTableColdColorAlpha) {
+        this.colorTableColdColorAlpha = colorTableColdColorAlpha;
+        this.imageLegend = null;
+        this.hmColorTable = null;
+    }
+
+    @Override
+    public boolean useAlphaInColorTable() {
+        return this.useAlphaInColorTable;
+    }
+
+    @Override
+    public boolean setUseAlphaInColorTable(boolean use) {
+        boolean x = this.useAlphaInColorTable;
+        this.useAlphaInColorTable = use;
+        this.hmColorTable = null;
+
+        return x;
+    }
+    @Override
+    public void setROI(Geometry roi) {
+        this.roi = roi;
+    }
+
+    @Override
+    public Geometry getROI() {
+        return this.roi;
+    }
+    
+    @Override
+    public Image getImageLegend() {
+        if( this.imageLegend==null ) {
+            BufferedImage img = new BufferedImage(80, 20, BufferedImage.TYPE_INT_RGB);
+            ColorTablePainter painter = new DefaultColorTablePainter(this.getTargetColorTable(),"");
+            Graphics2D g = img.createGraphics();
+            g.setClip(0, 0, 80, 20);
+            g.setBackground(Color.WHITE);
+            g.fillRect(0, 0, 80, 20);
+            painter.paint(g, false);
+            this.imageLegend = img;
+        }
+        return this.imageLegend;
+    }
+
+    @Override
+    public String getPathImage() {
+        return null;
+    }
+
+    @Override
+    public void loadFromState(PersistentState state) throws PersistenceException {
+        this.defaultSymbol = new SimpleTextSymbol();
+        this.imageLegend = null;
+        this.hmColorTable = null;
+
+        super.loadFromState(state);
+        this.isRamp = state.getBoolean("isRamp");
+        this.sourceColorTable = (Color[]) state.getArray("sourceColorTable",Color.class);
+        this.colorTableHotColorAlpha = state.getInt("colorTableHotColorAlpha");
+        this.colorTableColdColorAlpha = state.getInt("colorTableColdColorAlpha");
+        this.useAlphaInColorTable = state.getBoolean("useAlphaInColorTable");
+        this.fieldName = state.getString("fieldName");
+        this.rampNumColors = state.getInt("rampNumColors");
+        this.rampColdColor = (Color)state.get("rampColdColor");
+        this.rampHotColor = (Color)state.get("rampHotColor");
+
+        this.algorithm = new DensityAlgorithm(state.getInt("distance"));
+    }
+
+    @Override
+    public int getRampNumColors() {
+        return this.rampNumColors;
+    }
+
+    @Override
+    public Color getRampColdColor() {
+        return this.rampColdColor;
+    }
+
+    @Override
+    public Color getRampHotColor() {
+        return this.rampHotColor;
+    }
+
+    @Override
+    public void saveToState(PersistentState state) throws PersistenceException {
+        super.saveToState(state);
+        state.set("isRamp", isRamp);
+        state.set("sourceColorTable", sourceColorTable);
+        state.set("colorTableHotColorAlpha", colorTableHotColorAlpha);
+        state.set("colorTableColdColorAlpha", colorTableColdColorAlpha);
+        state.set("useAlphaInColorTable", useAlphaInColorTable);
+        state.set("fieldName", fieldName);
+        state.set("distance", algorithm.distance);
+
+        state.set("rampNumColors", rampNumColors);
+        state.set("rampColdColor", rampColdColor);
+        state.set("rampHotColor", rampHotColor);
+    }
+
+
+    private static class HeatmapColorTable {
+
+        private Color[] sourceColorTable = null;
+        private int coldAlpha = -1;
+        private int hotAlpha = -1;
+        private Color coldColor = null;
+        private Color hotColor = null;
+        private Color[] targetColorTable = null;
+        private int length = -1;
+
+        public HeatmapColorTable(Color[] sourceColorTable){
+            this.sourceColorTable  = sourceColorTable;
+        }
+
+        public HeatmapColorTable(Color[] sourceColorTable, int coldAlpha, int hotAlpha){
+            this.sourceColorTable  = sourceColorTable;
+            this.coldAlpha = coldAlpha;
+            this.hotAlpha = hotAlpha;
+        }
+
+        public HeatmapColorTable(Color coldColor, Color hotColor, int length){
+            this.coldColor = coldColor;
+            this.hotColor = hotColor;
+            this.length = length;
+        }
+
+        public Color[] getColorTable(){
+            if(targetColorTable==null){
+                if(sourceColorTable!=null){ //Tenemos tabla de color
+                    if (coldAlpha >= 0 || hotAlpha >= 0) { //Se usa alpha para la tabla de color
+                        double alphaDelta = getDelta(coldAlpha, hotAlpha, sourceColorTable.length);
+                        targetColorTable = new Color[sourceColorTable.length];
+                        for (int i = 0; i < sourceColorTable.length; i++) {
+                            Color sourceColor = sourceColorTable[i];
+                            if (coldAlpha >= 0 && hotAlpha >= 0) {
+                                targetColorTable[i] =
+                                    new Color(sourceColor.getRed(), sourceColor.getGreen(), sourceColor.getBlue(),
+                                        coldAlpha + (int) (i * alphaDelta));
+                            } else {
+                                targetColorTable[i] = sourceColor;
+                            }
+                        }
+                    } else { //No se usa alpha para la tabla de color
+                        targetColorTable = sourceColorTable;
+                    }
+                } else { // Tenemos gradiente
+                    targetColorTable = new Color[length];
+
+                    double deltaRed = (hotColor.getRed() - coldColor.getRed()) / length;
+                    double deltaGreen = (hotColor.getGreen() - coldColor.getGreen()) / length;
+                    double deltaBlue = (hotColor.getBlue() - coldColor.getBlue()) / length;
+                    double deltaAlpha = (hotColor.getAlpha() - coldColor.getAlpha()) / length;
+                    for (int i = 0; i < length; i++) {
+                        targetColorTable[i] =
+                            new Color(
+                                (int) (coldColor.getRed() + i * deltaRed),
+                                (int) (coldColor.getGreen() + i * deltaGreen),
+                                (int) (coldColor.getBlue() + i * deltaBlue),
+                                (int) (coldColor.getAlpha() + i * deltaAlpha));
+                    }
+                }
+            }
+            return targetColorTable;
+        }
+
+        private double getDelta(int x1, int x2, int lenght){
+            return (x2-x1)/((double)lenght-1);
+        }
+    }
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/java/org/gvsig/legend/heatmap/lib/impl/HeatmapLegendLibraryImpl.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/java/org/gvsig/legend/heatmap/lib/impl/HeatmapLegendLibraryImpl.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/java/org/gvsig/legend/heatmap/lib/impl/HeatmapLegendLibraryImpl.java	(revision 2889)
@@ -0,0 +1,64 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2015 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+
+package org.gvsig.legend.heatmap.lib.impl;
+
+import org.gvsig.fmap.mapcontext.MapContextLibrary;
+import org.gvsig.fmap.mapcontext.MapContextLocator;
+import org.gvsig.fmap.mapcontext.MapContextManager;
+import org.gvsig.legend.heatmap.lib.api.HeatmapLegendLibrary;
+import org.gvsig.legend.heatmap.lib.api.HeatmapLegendLocator;
+import org.gvsig.symbology.impl.SymbologyDefaultImplLibrary;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+import org.gvsig.tools.persistence.PersistenceManager;
+
+public class HeatmapLegendLibraryImpl extends AbstractLibrary {
+
+    @Override
+    public void doRegistration() {
+        registerAsImplementationOf(HeatmapLegendLibrary.class);
+        this.require(MapContextLibrary.class);
+        this.require(SymbologyDefaultImplLibrary.class);
+    }
+
+    @Override
+    protected void doInitialize() throws LibraryException {
+        HeatmapLegendLocator.registerHeatmapLegendManager(DefaultHeatmapLegendManager.class);
+        MapContextManager mcmanager = MapContextLocator.getMapContextManager();
+        mcmanager.registerLegend("HeatmapLegend", DefaultHeatmapLegend.class);
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+        PersistenceManager persistenceManager = ToolsLocator.getPersistenceManager();
+        persistenceManager.addDefinition(
+            DefaultHeatmapLegend.class, 
+            "DefaultHeatmapLegend", 
+            "/org/gvsig/legend/heatmap/lib/impl/DefaultHeatmapLegend.persistence.xml"
+        );
+    }
+
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/resources/org/gvsig/legend/heatmap/lib/impl/DefaultHeatmapLegend.persistence.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/resources/org/gvsig/legend/heatmap/lib/impl/DefaultHeatmapLegend.persistence.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/resources/org/gvsig/legend/heatmap/lib/impl/DefaultHeatmapLegend.persistence.xml	(revision 2889)
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<definitions>
+  <version>1.0.0</version>
+  <classes>
+    <class name="DefaultHeatmapLegend">
+      <extends>
+        <class>VectorialLegend</class>
+      </extends>
+      <fields>
+        <field name="isRamp" type="boolean" defaultValue="true">
+          <description></description>
+        </field>
+        <field name="sourceColorTable" type="list" classOfItems="java.awt.Color">
+          <description></description>
+        </field>
+        <field name="colorTableHotColorAlpha" type="integer" defaultValue="255">
+          <description></description>
+        </field>
+        <field name="colorTableColdColorAlpha" type="integer" defaultValue="255">
+          <description></description>
+        </field>
+        <field name="useAlphaInColorTable" type="boolean" defaultValue="false">
+          <description></description>
+        </field>
+        <field name="distance" type="integer" defaultValue="30">
+          <description></description>
+        </field>
+        <field name="fieldName" type="String" defaultValue="">
+          <description></description>
+        </field>
+        <field name="rampColdColor" type="Object" classOfValue="java.awt.Color">
+          <description></description>
+        </field>
+        <field name="rampHotColor" type="Object" classOfValue="java.awt.Color">
+          <description></description>
+        </field>
+        <field name="rampNumColors" type="integer" defaultValue="100">
+          <description></description>
+        </field>
+      </fields>
+    </class>
+
+  </classes>
+</definitions>

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/resources/org/gvsig/legend/heatmap/lib/impl
___________________________________________________________________
Added: svn:ignore
   + .directory


Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 2889)
@@ -0,0 +1 @@
+org.gvsig.legend.heatmap.lib.impl.HeatmapLegendLibraryImpl
\ No newline at end of file
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/pom.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/pom.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl/pom.xml	(revision 2889)
@@ -0,0 +1,33 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.gvsig.legend.heatmap.lib.impl</artifactId>
+  <name>org.gvsig.legend.heatmap.lib.impl</name>
+  <parent>
+    <groupId>org.gvsig</groupId>
+    <artifactId>org.gvsig.legend.heatmap.lib</artifactId>
+    <version>1.0.30</version>
+  </parent>
+  <groupId>org.gvsig</groupId>
+  <dependencies>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.legend.heatmap.lib.api</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.fmap.dal.api</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.symbology.lib.impl</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.ui</artifactId>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.impl
___________________________________________________________________
Added: svn:ignore
   + target


Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/pom.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/pom.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/pom.xml	(revision 2889)
@@ -0,0 +1,15 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.gvsig</groupId>
+    <artifactId>org.gvsig.legend.heatmap</artifactId>
+    <version>1.0.30</version>
+  </parent>
+  <groupId>org.gvsig</groupId>
+  <artifactId>org.gvsig.legend.heatmap.lib</artifactId>
+  <packaging>pom</packaging>
+  <modules>
+    <module>org.gvsig.legend.heatmap.lib.api</module>
+    <module>org.gvsig.legend.heatmap.lib.impl</module>
+  </modules>
+</project>
\ No newline at end of file
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 2889)
@@ -0,0 +1 @@
+org.gvsig.legend.heatmap.lib.api.HeatmapLegendLibrary
\ No newline at end of file
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegend.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegend.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegend.java	(revision 2889)
@@ -0,0 +1,49 @@
+package org.gvsig.legend.heatmap.lib.api;
+
+import java.awt.Color;
+import org.gvsig.fmap.geom.Geometry;
+import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
+
+public interface HeatmapLegend extends IVectorLegend {
+
+    public int getDistance();
+
+    public void setDistance(int distance);
+
+    public void setColorTable(Color[] colorTable);
+
+    public void setColorTable(int numColors, Color coldColor, Color hotColor);
+
+    public Color[] getSourceColorTable();
+
+    public Color[] getTargetColorTable();
+    
+    public Geometry getROI();
+    
+    public void setROI(Geometry roi);
+
+    public boolean useRamp();
+
+    public String getFieldName();
+
+    public void setFieldName(String fieldName);
+
+    public int getColorTableHotColorAlpha();
+
+    public void setColorTableHotColorAlpha(int colorTableHotColorAlpha);
+
+    public int getColorTableColdColorAlpha();
+
+    public void setColorTableColdColorAlpha(int colorTableColdColorAlpha);
+
+    public boolean useAlphaInColorTable();
+
+    public boolean setUseAlphaInColorTable(boolean use);
+
+    public int getRampNumColors();
+
+    public Color getRampColdColor();
+
+    public Color getRampHotColor();
+
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegendLocator.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegendLocator.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegendLocator.java	(revision 2889)
@@ -0,0 +1,99 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2015 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.legend.heatmap.lib.api;
+
+import org.gvsig.tools.locator.AbstractLocator;
+import org.gvsig.tools.locator.Locator;
+import org.gvsig.tools.locator.LocatorException;
+
+
+public class HeatmapLegendLocator extends AbstractLocator {
+
+    /**
+     * HeatmapLegend locator name
+     */
+    private static final String LOCATOR_NAME = "HeatmapLegendLocator";
+
+    /**
+     * HeatmapLegend manager name
+     */
+    public static final String MANAGER_NAME = "HeatmapLegendManager";
+
+    /**
+     * HeatmapLegend manager description
+     */
+    private static final String MANAGER_DESCRIPTION =
+        "HeatmapLegend Manager of gvSIG";
+
+
+    /**
+     * Unique instance
+     */
+    private static final HeatmapLegendLocator instance = new HeatmapLegendLocator();
+
+    @Override
+    public String getLocatorName() {
+        return LOCATOR_NAME;
+    }
+
+    /**
+     * Registers the Class implementing the HeatmapLegendManager interface.
+     *
+     * @param clazz
+     *            implementing the HeatmapLegendManager interface
+     */
+    public static void registerHeatmapLegendManager(Class clazz){
+        getInstance().register(MANAGER_NAME, MANAGER_DESCRIPTION, clazz);
+    }
+
+    /**
+     * Registers the default Class implementing the HeatmapLegendManager interface
+     *
+     * @param clazz
+     *            implementing the HeatmapLegendManager interface
+     */
+    public static void registerDefaultHeatmapLegendManager(Class clazz){
+        getInstance().registerDefault(MANAGER_NAME, MANAGER_DESCRIPTION, clazz);
+    }
+
+    /**
+     * Return a reference to HeatmapLegendManager.
+     *
+     * @return a reference to HeatmapLegendManager
+     * @throws LocatorException
+     *             if there is no access to the class or the class
+     *             cannot be instantiated
+     * @see Locator#get(String)
+     */
+    public static HeatmapLegendManager getHeatmapLegendManager() throws LocatorException {
+        return (HeatmapLegendManager) getInstance().get(MANAGER_NAME);
+    }
+
+    /**
+     * @return
+     */
+    public static Locator getInstance() {
+        return instance;
+    }
+
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegendLibrary.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegendLibrary.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegendLibrary.java	(revision 2889)
@@ -0,0 +1,62 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2015 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.legend.heatmap.lib.api;
+
+import org.gvsig.fmap.mapcontext.MapContextLocator;
+import org.gvsig.fmap.mapcontext.MapContextManager;
+import org.gvsig.fmap.mapcontext.rendering.legend.driver.ILegendWriter;
+import org.gvsig.fmap.mapcontext.rendering.symbols.SymbolManager;
+import org.gvsig.symbology.SymbologyLocator;
+import org.gvsig.symbology.SymbologyManager;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+import org.gvsig.tools.locator.ReferenceNotRegisteredException;
+
+
+public class HeatmapLegendLibrary extends AbstractLibrary {
+
+    @Override
+    protected void doInitialize() throws LibraryException {
+        registerAsAPI(HeatmapLegendLibrary.class);
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+        // Validate there is any implementation registered.
+        HeatmapLegendManager manager = HeatmapLegendLocator.getHeatmapLegendManager();
+        if (manager == null) {
+            throw new ReferenceNotRegisteredException(
+                HeatmapLegendLocator.MANAGER_NAME, HeatmapLegendLocator.getInstance());
+        }
+
+        SymbologyManager symbolManager = SymbologyLocator.getSymbologyManager();
+        ILegendWriter legendWriter = symbolManager.getDefaultLegendWriter();
+
+        MapContextManager mcoman = MapContextLocator.getMapContextManager();
+        mcoman.registerLegendWriter(
+            HeatmapLegend.class,
+            SymbolManager.LEGEND_FILE_EXTENSION.substring(1),
+            legendWriter.getClass());
+    }
+
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegendManager.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegendManager.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/src/main/java/org/gvsig/legend/heatmap/lib/api/HeatmapLegendManager.java	(revision 2889)
@@ -0,0 +1,36 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2015 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.legend.heatmap.lib.api;
+
+
+public interface HeatmapLegendManager {
+
+    /**
+     * Creates an aggregate legend
+     *
+     * @return the aggregate legend
+     */
+    public HeatmapLegend create();
+
+    public Class<? extends HeatmapLegend> getLegendClass();
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/pom.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/pom.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api/pom.xml	(revision 2889)
@@ -0,0 +1,47 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.gvsig</groupId>
+  <artifactId>org.gvsig.legend.heatmap.lib.api</artifactId>
+  <name>org.gvsig.legend.heatmap.lib.api</name>
+  <parent>
+    <groupId>org.gvsig</groupId>
+    <artifactId>org.gvsig.legend.heatmap.lib</artifactId>
+    <version>1.0.30</version>
+  </parent>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+        </configuration>
+        <executions>
+          <!-- Generates a jar file only with the test classes -->
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.tools.lib</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.symbology.lib.api</artifactId>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.lib/org.gvsig.legend.heatmap.lib.api
___________________________________________________________________
Added: svn:ignore
   + target


Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/pom.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/pom.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/pom.xml	(revision 2889)
@@ -0,0 +1,16 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.gvsig</groupId>
+    <artifactId>org.gvsig.legend.heatmap</artifactId>
+    <version>1.0.30</version>
+  </parent>
+  <groupId>org.gvsig</groupId>
+  <artifactId>org.gvsig.legend.heatmap.swing</artifactId>
+  <packaging>pom</packaging>
+  <name>org.gvsig.legend.heatmap.swing</name>
+  <modules>
+    <module>org.gvsig.legend.heatmap.swing.api</module>
+    <module>org.gvsig.legend.heatmap.swing.impl</module>
+  </modules>
+</project>
\ No newline at end of file
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 2889)
@@ -0,0 +1 @@
+org.gvsig.legend.heatmap.swing.api.HeatmapLegendSwingLibrary
\ No newline at end of file
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendEditor.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendEditor.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendEditor.java	(revision 2889)
@@ -0,0 +1,9 @@
+
+package org.gvsig.legend.heatmap.swing.api;
+
+import org.gvsig.app.project.documents.view.legend.gui.ILegendPanel;
+
+
+public interface HeatmapLegendEditor extends ILegendPanel {
+
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendSwingLocator.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendSwingLocator.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendSwingLocator.java	(revision 2889)
@@ -0,0 +1,92 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2015 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.legend.heatmap.swing.api;
+
+import org.gvsig.tools.locator.AbstractLocator;
+import org.gvsig.tools.locator.Locator;
+import org.gvsig.tools.locator.LocatorException;
+
+
+public class HeatmapLegendSwingLocator extends AbstractLocator {
+
+    private static final String LOCATOR_NAME = "HeatmapLegendSwingLocator";
+
+    public static final String MANAGER_NAME = "HeatmapLegendSwingManager";
+
+    private static final String MANAGER_DESCRIPTION =
+        "Swing Heatmap Manager of gvSIG";
+
+
+    /**
+     * Unique instance
+     */
+    private static final HeatmapLegendSwingLocator instance = new HeatmapLegendSwingLocator();
+
+
+    @Override
+    public String getLocatorName() {
+        return LOCATOR_NAME;
+    }
+
+
+    /**
+     * Registers the Class implementing the HeatmapSwingManager interface.
+     *
+     * @param clazz
+     *            implementing the HeatmapSwingManager interface
+     */
+    public static void registerHeatmapLegendSwingManager(Class clazz){
+        getInstance().register(MANAGER_NAME, MANAGER_DESCRIPTION, clazz);
+    }
+
+    /**
+     * Registers the default Class implementing the HeatmapSwingManager interface
+     *
+     * @param clazz
+     *            implementing the HeatmapSwingManager interface
+     */
+    public static void registerDefaultHeatmapLegendSwingManager(Class clazz){
+        getInstance().registerDefault(MANAGER_NAME, MANAGER_DESCRIPTION, clazz);
+    }
+
+    /**
+     * Return a reference to HeatmapLegendSwingManager.
+     *
+     * @return a reference to HeatmapLegendSwingManager
+     * @throws LocatorException
+     *             if there is no access to the class or the class
+     *             cannot be instantiated
+     * @see Locator#get(String)
+     */
+    public static HeatmapLegendSwingManager getHeatmapLegendSwingManager() throws LocatorException {
+        return (HeatmapLegendSwingManager)(getInstance().get(MANAGER_NAME));
+    }
+
+    /**
+     * @return
+     */
+    public static Locator getInstance() {
+        return instance;
+    }
+
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendSwingLibrary.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendSwingLibrary.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendSwingLibrary.java	(revision 2889)
@@ -0,0 +1,54 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2015 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.legend.heatmap.swing.api;
+
+import org.gvsig.legend.heatmap.lib.api.HeatmapLegendLibrary;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+import org.gvsig.tools.locator.ReferenceNotRegisteredException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+public class HeatmapLegendSwingLibrary extends AbstractLibrary {
+
+	private static final Logger LOG = LoggerFactory.getLogger(HeatmapLegendSwingLibrary.class);
+	
+	@Override
+	protected void doInitialize() throws LibraryException {
+		registerAsAPI(HeatmapLegendSwingLibrary.class);	
+        require(HeatmapLegendLibrary.class);
+	}
+	
+	@Override
+	protected void doPostInitialize() throws LibraryException {
+		// Validate there is any implementation registered.
+		HeatmapLegendSwingManager manager = HeatmapLegendSwingLocator.getHeatmapLegendSwingManager();
+		if (manager == null) {
+			throw new ReferenceNotRegisteredException(
+					HeatmapLegendSwingLocator.MANAGER_NAME, HeatmapLegendSwingLocator.getInstance());
+		}
+	}
+
+
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendSwingManager.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendSwingManager.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/src/main/java/org/gvsig/legend/heatmap/swing/api/HeatmapLegendSwingManager.java	(revision 2889)
@@ -0,0 +1,28 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2015 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.legend.heatmap.swing.api;
+
+public interface HeatmapLegendSwingManager {
+
+    public HeatmapLegendEditor createHeatmapdLegendEditor();
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/pom.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/pom.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api/pom.xml	(revision 2889)
@@ -0,0 +1,29 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.gvsig</groupId>
+    <artifactId>org.gvsig.legend.heatmap.swing</artifactId>
+    <version>1.0.30</version>
+  </parent>
+  <groupId>org.gvsig</groupId>
+  <artifactId>org.gvsig.legend.heatmap.swing.api</artifactId>
+  <name>org.gvsig.legend.heatmap.swing.api</name>
+  <dependencies>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.tools.swing.api</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.legend.heatmap.lib.api</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.symbology.swing.api</artifactId>
+      <version>2.0.199</version>
+      <type>jar</type>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.api
___________________________________________________________________
Added: svn:ignore
   + target


Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 2889)
@@ -0,0 +1 @@
+org.gvsig.legend.heatmap.swing.impl.HeatmapLegendSwingLibrary
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendEditorView.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendEditorView.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendEditorView.xml	(revision 2889)
@@ -0,0 +1,2393 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<object classname="com.jeta.forms.store.memento.FormPackage">
+ <at name="fileversion">
+  <object classname="com.jeta.forms.store.memento.FormsVersion2">
+   <at name="major">2</at>
+   <at name="minor">0</at>
+   <at name="sub">0</at>
+  </object>
+ </at>
+ <at name="form">
+  <object classname="com.jeta.forms.store.memento.FormMemento">
+   <super classname="com.jeta.forms.store.memento.ComponentMemento">
+    <at name="cellconstraints">
+     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+      <at name="column">1</at>
+      <at name="row">1</at>
+      <at name="colspan">1</at>
+      <at name="rowspan">1</at>
+      <at name="halign">default</at>
+      <at name="valign">default</at>
+      <at name="insets" object="insets">0,0,0,0</at>
+     </object>
+    </at>
+    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+   </super>
+   <at name="id">/home/jjdelcerro/data/devel/org.gvsig.legend.heatmap/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendEditorView.xml</at>
+   <at name="rowspecs">CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE</at>
+   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
+   <at name="components">
+    <object classname="java.util.LinkedList">
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.FormMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">4</at>
+           <at name="row">2</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+        </super>
+        <at name="id">embedded.1761555303</at>
+        <at name="rowspecs">CENTER:DEFAULT:NONE</at>
+        <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
+        <at name="components">
+         <object classname="java.util.LinkedList">
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">3</at>
+                <at name="row">1</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name">lblPixels</at>
+                 <at name="width">33</at>
+                 <at name="text">pixels</at>
+                 <at name="fill">
+                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                   <at name="name">fill</at>
+                  </object>
+                 </at>
+                 <at name="height">14</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">1</at>
+                <at name="row">1</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">javax.swing.JSpinner</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">javax.swing.JSpinner</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="name">spnDistance</at>
+                 <at name="width">726</at>
+                 <at name="height">20</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+         </object>
+        </at>
+        <at name="properties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.gui.form.GridView</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList"/>
+              </at>
+             </object>
+            </at>
+            <at name="name"/>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="scollBars">
+             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+              <at name="name">scollBars</at>
+              <at name="verticalpolicy">21</at>
+              <at name="horizontalpolicy">31</at>
+              <at name="border">
+               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+                <at name="borders">
+                 <object classname="java.util.LinkedList">
+                  <item >
+                   <at name="value">
+                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                    </object>
+                   </at>
+                  </item>
+                 </object>
+                </at>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="cellpainters">
+         <object classname="com.jeta.forms.store.support.Matrix">
+          <at name="rows">
+           <object classname="[Ljava.lang.Object;" size="1">
+            <at name="item" index="0">
+             <object classname="[Ljava.lang.Object;" size="3"/>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="rowgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+        <at name="colgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">4</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JRadioButton</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JRadioButton</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="actionCommand">Use color ramp</at>
+            <at name="buttonGroup">
+             <object classname="com.jeta.forms.store.properties.ButtonGroupProperty">
+              <at name="name">buttonGroup</at>
+              <at name="groupname">1</at>
+             </object>
+            </at>
+            <at name="name">rdbUseColorRamp</at>
+            <at name="width">117</at>
+            <at name="text">_Use_color_ramp</at>
+            <at name="height">16</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">2</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">lblDistance</at>
+            <at name="width">117</at>
+            <at name="text">_Distance</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="height">14</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.FormMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">6</at>
+           <at name="colspan">3</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+        </super>
+        <at name="id">embedded.1329759412</at>
+        <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE</at>
+        <at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0)</at>
+        <at name="components">
+         <object classname="java.util.LinkedList">
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">2</at>
+                <at name="row">3</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name">lblHotColor</at>
+                 <at name="width">109</at>
+                 <at name="text">_Hot_color</at>
+                 <at name="fill">
+                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                   <at name="name">fill</at>
+                  </object>
+                 </at>
+                 <at name="height">14</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">2</at>
+                <at name="row">5</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name">lblColdColor</at>
+                 <at name="width">109</at>
+                 <at name="text">_Cold_color</at>
+                 <at name="fill">
+                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                   <at name="name">fill</at>
+                  </object>
+                 </at>
+                 <at name="height">14</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.FormMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">4</at>
+                <at name="row">3</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+             </super>
+             <at name="id">embedded.1433828143</at>
+             <at name="rowspecs">CENTER:DEFAULT:NONE</at>
+             <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,LEFT:DEFAULT:NONE</at>
+             <at name="components">
+              <object classname="java.util.LinkedList">
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">1</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JTextField</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JTextField</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="horizontalAlignment">4</at>
+                      <at name="background" object="color">236,233,216</at>
+                      <at name="editable">false</at>
+                      <at name="name">txtHotColorLabel</at>
+                      <at name="width">449</at>
+                      <at name="height">20</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">3</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JButton</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JButton</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="actionCommand">...</at>
+                      <at name="name">btnHotColor</at>
+                      <at name="width">44</at>
+                      <at name="text">...</at>
+                      <at name="height">22</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">5</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="name">lblHotColorAlpha</at>
+                      <at name="width">31</at>
+                      <at name="text">Alpha</at>
+                      <at name="fill">
+                       <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                        <at name="name">fill</at>
+                       </object>
+                      </at>
+                      <at name="height">14</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">7</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JSlider</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JSlider</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="name">sldHotColorAlpha</at>
+                      <at name="width">200</at>
+                      <at name="maximum">255</at>
+                      <at name="majorTickSpacing">20</at>
+                      <at name="value">255</at>
+                      <at name="height">16</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+              </object>
+             </at>
+             <at name="properties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">com.jeta.forms.gui.form.GridView</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList"/>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name"/>
+                 <at name="fill">
+                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                   <at name="name">fill</at>
+                  </object>
+                 </at>
+                 <at name="scollBars">
+                  <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+                   <at name="name">scollBars</at>
+                   <at name="verticalpolicy">21</at>
+                   <at name="horizontalpolicy">31</at>
+                   <at name="border">
+                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                     <at name="borders">
+                      <object classname="java.util.LinkedList">
+                       <item >
+                        <at name="value">
+                         <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                          <super classname="com.jeta.forms.store.properties.BorderProperty">
+                           <at name="name">border</at>
+                          </super>
+                         </object>
+                        </at>
+                       </item>
+                      </object>
+                     </at>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                </object>
+               </at>
+              </object>
+             </at>
+             <at name="cellpainters">
+              <object classname="com.jeta.forms.store.support.Matrix">
+               <at name="rows">
+                <object classname="[Ljava.lang.Object;" size="1">
+                 <at name="item" index="0">
+                  <object classname="[Ljava.lang.Object;" size="7"/>
+                 </at>
+                </object>
+               </at>
+              </object>
+             </at>
+             <at name="rowgroups">
+              <object classname="com.jeta.forms.store.memento.FormGroupSet">
+               <at name="groups">
+                <object classname="java.util.HashMap"/>
+               </at>
+              </object>
+             </at>
+             <at name="colgroups">
+              <object classname="com.jeta.forms.store.memento.FormGroupSet">
+               <at name="groups">
+                <object classname="java.util.HashMap"/>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.FormMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">4</at>
+                <at name="row">5</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+             </super>
+             <at name="id">embedded.1993136119</at>
+             <at name="rowspecs">CENTER:DEFAULT:NONE</at>
+             <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,LEFT:DEFAULT:NONE</at>
+             <at name="components">
+              <object classname="java.util.LinkedList">
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">3</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JButton</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JButton</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="actionCommand">...</at>
+                      <at name="name">btnColdColor</at>
+                      <at name="width">44</at>
+                      <at name="text">...</at>
+                      <at name="height">22</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">5</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="name">lblColdColorAlpha</at>
+                      <at name="width">31</at>
+                      <at name="text">Alpha</at>
+                      <at name="fill">
+                       <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                        <at name="name">fill</at>
+                       </object>
+                      </at>
+                      <at name="height">14</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">7</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JSlider</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JSlider</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="name">sldColdColorAlpha</at>
+                      <at name="width">200</at>
+                      <at name="maximum">255</at>
+                      <at name="majorTickSpacing">20</at>
+                      <at name="value">0</at>
+                      <at name="height">16</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">1</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JTextField</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JTextField</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="horizontalAlignment">4</at>
+                      <at name="background" object="color">236,233,216</at>
+                      <at name="editable">false</at>
+                      <at name="name">txtColdColorLabel</at>
+                      <at name="width">449</at>
+                      <at name="height">20</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+              </object>
+             </at>
+             <at name="properties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">com.jeta.forms.gui.form.GridView</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList"/>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name"/>
+                 <at name="fill">
+                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                   <at name="name">fill</at>
+                  </object>
+                 </at>
+                 <at name="scollBars">
+                  <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+                   <at name="name">scollBars</at>
+                   <at name="verticalpolicy">21</at>
+                   <at name="horizontalpolicy">31</at>
+                   <at name="border">
+                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                     <at name="borders">
+                      <object classname="java.util.LinkedList">
+                       <item >
+                        <at name="value">
+                         <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                          <super classname="com.jeta.forms.store.properties.BorderProperty">
+                           <at name="name">border</at>
+                          </super>
+                         </object>
+                        </at>
+                       </item>
+                      </object>
+                     </at>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                </object>
+               </at>
+              </object>
+             </at>
+             <at name="cellpainters">
+              <object classname="com.jeta.forms.store.support.Matrix">
+               <at name="rows">
+                <object classname="[Ljava.lang.Object;" size="1">
+                 <at name="item" index="0">
+                  <object classname="[Ljava.lang.Object;" size="7"/>
+                 </at>
+                </object>
+               </at>
+              </object>
+             </at>
+             <at name="rowgroups">
+              <object classname="com.jeta.forms.store.memento.FormGroupSet">
+               <at name="groups">
+                <object classname="java.util.HashMap"/>
+               </at>
+              </object>
+             </at>
+             <at name="colgroups">
+              <object classname="com.jeta.forms.store.memento.FormGroupSet">
+               <at name="groups">
+                <object classname="java.util.HashMap"/>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">2</at>
+                <at name="row">1</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name">lblNumberOfColors</at>
+                 <at name="width">109</at>
+                 <at name="text">_Number_of_colors</at>
+                 <at name="fill">
+                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                   <at name="name">fill</at>
+                  </object>
+                 </at>
+                 <at name="height">14</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">4</at>
+                <at name="row">1</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">javax.swing.JSpinner</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">javax.swing.JSpinner</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="name">spnNumberOfColors</at>
+                 <at name="width">762</at>
+                 <at name="height">20</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+         </object>
+        </at>
+        <at name="properties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.gui.form.GridView</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList"/>
+              </at>
+             </object>
+            </at>
+            <at name="name"/>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="scollBars">
+             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+              <at name="name">scollBars</at>
+              <at name="verticalpolicy">21</at>
+              <at name="horizontalpolicy">31</at>
+              <at name="border">
+               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+                <at name="borders">
+                 <object classname="java.util.LinkedList">
+                  <item >
+                   <at name="value">
+                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                    </object>
+                   </at>
+                  </item>
+                 </object>
+                </at>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="cellpainters">
+         <object classname="com.jeta.forms.store.support.Matrix">
+          <at name="rows">
+           <object classname="[Ljava.lang.Object;" size="5">
+            <at name="item" index="0">
+             <object classname="[Ljava.lang.Object;" size="4"/>
+            </at>
+            <at name="item" index="1">
+             <object classname="[Ljava.lang.Object;" size="4"/>
+            </at>
+            <at name="item" index="2">
+             <object classname="[Ljava.lang.Object;" size="4"/>
+            </at>
+            <at name="item" index="3">
+             <object classname="[Ljava.lang.Object;" size="4"/>
+            </at>
+            <at name="item" index="4">
+             <object classname="[Ljava.lang.Object;" size="4"/>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="rowgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+        <at name="colgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">8</at>
+           <at name="colspan">3</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JRadioButton</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JRadioButton</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="actionCommand">Use color table</at>
+            <at name="buttonGroup">
+             <object classname="com.jeta.forms.store.properties.ButtonGroupProperty">
+              <at name="name">buttonGroup</at>
+              <at name="groupname">1</at>
+             </object>
+            </at>
+            <at name="name">rdbUseColorTable</at>
+            <at name="width">912</at>
+            <at name="text">_Use_color_table</at>
+            <at name="height">16</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.FormMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">10</at>
+           <at name="colspan">3</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+        </super>
+        <at name="id">embedded.545552911</at>
+        <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE</at>
+        <at name="colspecs">FILL:8DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
+        <at name="components">
+         <object classname="java.util.LinkedList">
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">4</at>
+                <at name="row">1</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">javax.swing.JComboBox</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">javax.swing.JComboBox</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name">cboColorTable</at>
+                 <at name="width">738</at>
+                 <at name="items">
+                  <object classname="com.jeta.forms.store.properties.ItemsProperty">
+                   <at name="name">items</at>
+                  </object>
+                 </at>
+                 <at name="height">20</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">2</at>
+                <at name="row">1</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name">lblColorTable</at>
+                 <at name="width">128</at>
+                 <at name="text">_Color_table</at>
+                 <at name="fill">
+                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                   <at name="name">fill</at>
+                  </object>
+                 </at>
+                 <at name="height">14</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">2</at>
+                <at name="row">3</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">javax.swing.JCheckBox</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">javax.swing.JCheckBox</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="actionCommand">Use transparency</at>
+                 <at name="name">chkColorTableUseAlpha</at>
+                 <at name="width">128</at>
+                 <at name="text">_Use_transparency</at>
+                 <at name="selected">true</at>
+                 <at name="height">16</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.FormMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">2</at>
+                <at name="row">5</at>
+                <at name="colspan">3</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+             </super>
+             <at name="id">embedded.705588808</at>
+             <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE</at>
+             <at name="colspecs">FILL:8DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0)</at>
+             <at name="components">
+              <object classname="java.util.LinkedList">
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">2</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="name">lblHotColorTransparency</at>
+                      <at name="width">146</at>
+                      <at name="text">_Hot_color_transparency</at>
+                      <at name="fill">
+                       <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                        <at name="name">fill</at>
+                       </object>
+                      </at>
+                      <at name="height">14</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">2</at>
+                     <at name="row">3</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="name">lblColdColorTransparency</at>
+                      <at name="width">146</at>
+                      <at name="text">_Cold_color_transparency</at>
+                      <at name="fill">
+                       <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                        <at name="name">fill</at>
+                       </object>
+                      </at>
+                      <at name="height">14</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">4</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JSlider</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JSlider</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="name">sldColorTableHotAlpha</at>
+                      <at name="width">701</at>
+                      <at name="maximum">255</at>
+                      <at name="majorTickSpacing">20</at>
+                      <at name="value">126</at>
+                      <at name="height">16</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">4</at>
+                     <at name="row">3</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JSlider</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JSlider</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="name">sldColorTableColdAlpha</at>
+                      <at name="width">701</at>
+                      <at name="maximum">255</at>
+                      <at name="majorTickSpacing">20</at>
+                      <at name="value">126</at>
+                      <at name="height">16</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+              </object>
+             </at>
+             <at name="properties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">com.jeta.forms.gui.form.GridView</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList"/>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name"/>
+                 <at name="fill">
+                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                   <at name="name">fill</at>
+                  </object>
+                 </at>
+                 <at name="scollBars">
+                  <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+                   <at name="name">scollBars</at>
+                   <at name="verticalpolicy">21</at>
+                   <at name="horizontalpolicy">31</at>
+                   <at name="border">
+                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                     <at name="borders">
+                      <object classname="java.util.LinkedList">
+                       <item >
+                        <at name="value">
+                         <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                          <super classname="com.jeta.forms.store.properties.BorderProperty">
+                           <at name="name">border</at>
+                          </super>
+                         </object>
+                        </at>
+                       </item>
+                      </object>
+                     </at>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                </object>
+               </at>
+              </object>
+             </at>
+             <at name="cellpainters">
+              <object classname="com.jeta.forms.store.support.Matrix">
+               <at name="rows">
+                <object classname="[Ljava.lang.Object;" size="3">
+                 <at name="item" index="0">
+                  <object classname="[Ljava.lang.Object;" size="4"/>
+                 </at>
+                 <at name="item" index="1">
+                  <object classname="[Ljava.lang.Object;" size="4"/>
+                 </at>
+                 <at name="item" index="2">
+                  <object classname="[Ljava.lang.Object;" size="4"/>
+                 </at>
+                </object>
+               </at>
+              </object>
+             </at>
+             <at name="rowgroups">
+              <object classname="com.jeta.forms.store.memento.FormGroupSet">
+               <at name="groups">
+                <object classname="java.util.HashMap"/>
+               </at>
+              </object>
+             </at>
+             <at name="colgroups">
+              <object classname="com.jeta.forms.store.memento.FormGroupSet">
+               <at name="groups">
+                <object classname="java.util.HashMap"/>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+         </object>
+        </at>
+        <at name="properties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.gui.form.GridView</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList"/>
+              </at>
+             </object>
+            </at>
+            <at name="name"/>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="scollBars">
+             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+              <at name="name">scollBars</at>
+              <at name="verticalpolicy">21</at>
+              <at name="horizontalpolicy">31</at>
+              <at name="border">
+               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+                <at name="borders">
+                 <object classname="java.util.LinkedList">
+                  <item >
+                   <at name="value">
+                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                    </object>
+                   </at>
+                  </item>
+                 </object>
+                </at>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="cellpainters">
+         <object classname="com.jeta.forms.store.support.Matrix">
+          <at name="rows">
+           <object classname="[Ljava.lang.Object;" size="6">
+            <at name="item" index="0">
+             <object classname="[Ljava.lang.Object;" size="5"/>
+            </at>
+            <at name="item" index="1">
+             <object classname="[Ljava.lang.Object;" size="5"/>
+            </at>
+            <at name="item" index="2">
+             <object classname="[Ljava.lang.Object;" size="5"/>
+            </at>
+            <at name="item" index="3">
+             <object classname="[Ljava.lang.Object;" size="5"/>
+            </at>
+            <at name="item" index="4">
+             <object classname="[Ljava.lang.Object;" size="5"/>
+            </at>
+            <at name="item" index="5">
+             <object classname="[Ljava.lang.Object;" size="5"/>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="rowgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+        <at name="colgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">12</at>
+           <at name="colspan">3</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JCheckBox</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JCheckBox</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="actionCommand">Use a field to calculate the heat map.</at>
+            <at name="name">chkUseField</at>
+            <at name="width">912</at>
+            <at name="text">_Use_a_field_to_weight_the_heat_map</at>
+            <at name="height">16</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.FormMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">14</at>
+           <at name="colspan">3</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+        </super>
+        <at name="id">embedded.1720094921</at>
+        <at name="rowspecs">CENTER:DEFAULT:NONE</at>
+        <at name="colspecs">FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0)</at>
+        <at name="components">
+         <object classname="java.util.LinkedList">
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">2</at>
+                <at name="row">1</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">javax.swing.JComboBox</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">javax.swing.JComboBox</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name">cboFields</at>
+                 <at name="width">893</at>
+                 <at name="items">
+                  <object classname="com.jeta.forms.store.properties.ItemsProperty">
+                   <at name="name">items</at>
+                  </object>
+                 </at>
+                 <at name="height">20</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+         </object>
+        </at>
+        <at name="properties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.gui.form.GridView</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList"/>
+              </at>
+             </object>
+            </at>
+            <at name="name"/>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="scollBars">
+             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+              <at name="name">scollBars</at>
+              <at name="verticalpolicy">21</at>
+              <at name="horizontalpolicy">31</at>
+              <at name="border">
+               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+                <at name="borders">
+                 <object classname="java.util.LinkedList">
+                  <item >
+                   <at name="value">
+                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                    </object>
+                   </at>
+                  </item>
+                 </object>
+                </at>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="cellpainters">
+         <object classname="com.jeta.forms.store.support.Matrix">
+          <at name="rows">
+           <object classname="[Ljava.lang.Object;" size="1">
+            <at name="item" index="0">
+             <object classname="[Ljava.lang.Object;" size="2"/>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="rowgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+        <at name="colgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+    </object>
+   </at>
+   <at name="properties">
+    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+     <at name="classname">com.jeta.forms.gui.form.GridView</at>
+     <at name="properties">
+      <object classname="com.jeta.forms.store.support.PropertyMap">
+       <at name="border">
+        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+         <super classname="com.jeta.forms.store.properties.BorderProperty">
+          <at name="name">border</at>
+         </super>
+         <at name="borders">
+          <object classname="java.util.LinkedList"/>
+         </at>
+        </object>
+       </at>
+       <at name="name"/>
+       <at name="fill">
+        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+         <at name="name">fill</at>
+        </object>
+       </at>
+       <at name="scollBars">
+        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+         <at name="name">scollBars</at>
+         <at name="verticalpolicy">21</at>
+         <at name="horizontalpolicy">31</at>
+         <at name="border">
+          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+           <super classname="com.jeta.forms.store.properties.BorderProperty">
+            <at name="name">border</at>
+           </super>
+           <at name="borders">
+            <object classname="java.util.LinkedList">
+             <item >
+              <at name="value">
+               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+               </object>
+              </at>
+             </item>
+            </object>
+           </at>
+          </object>
+         </at>
+        </object>
+       </at>
+      </object>
+     </at>
+    </object>
+   </at>
+   <at name="cellpainters">
+    <object classname="com.jeta.forms.store.support.Matrix">
+     <at name="rows">
+      <object classname="[Ljava.lang.Object;" size="15">
+       <at name="item" index="0">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="1">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="2">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="3">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="4">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="5">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="6">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="7">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="8">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="9">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="10">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="11">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="12">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="13">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="14">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+      </object>
+     </at>
+    </object>
+   </at>
+   <at name="rowgroups">
+    <object classname="com.jeta.forms.store.memento.FormGroupSet">
+     <at name="groups">
+      <object classname="java.util.HashMap"/>
+     </at>
+    </object>
+   </at>
+   <at name="colgroups">
+    <object classname="com.jeta.forms.store.memento.FormGroupSet">
+     <at name="groups">
+      <object classname="java.util.HashMap"/>
+     </at>
+    </object>
+   </at>
+  </object>
+ </at>
+</object>
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendEditorView.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendEditorView.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendEditorView.java	(revision 2889)
@@ -0,0 +1,369 @@
+package org.gvsig.legend.heatmap.swing.impl;
+
+import com.jeta.open.i18n.I18NUtils;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.ComponentOrientation;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ButtonGroup;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.JSlider;
+import javax.swing.JSpinner;
+import javax.swing.JTextField;
+
+
+public class DefaultHeatmapLegendEditorView extends JPanel
+{
+   JLabel lblPixels = new JLabel();
+   JSpinner spnDistance = new JSpinner();
+   JRadioButton rdbUseColorRamp = new JRadioButton();
+   ButtonGroup buttongroup1 = new ButtonGroup();
+   JLabel lblDistance = new JLabel();
+   JLabel lblHotColor = new JLabel();
+   JLabel lblColdColor = new JLabel();
+   JTextField txtHotColorLabel = new JTextField();
+   JButton btnHotColor = new JButton();
+   JLabel lblHotColorAlpha = new JLabel();
+   JSlider sldHotColorAlpha = new JSlider();
+   JButton btnColdColor = new JButton();
+   JLabel lblColdColorAlpha = new JLabel();
+   JSlider sldColdColorAlpha = new JSlider();
+   JTextField txtColdColorLabel = new JTextField();
+   JLabel lblNumberOfColors = new JLabel();
+   JSpinner spnNumberOfColors = new JSpinner();
+   JRadioButton rdbUseColorTable = new JRadioButton();
+   JComboBox cboColorTable = new JComboBox();
+   JLabel lblColorTable = new JLabel();
+   JCheckBox chkColorTableUseAlpha = new JCheckBox();
+   JLabel lblHotColorTransparency = new JLabel();
+   JLabel lblColdColorTransparency = new JLabel();
+   JSlider sldColorTableHotAlpha = new JSlider();
+   JSlider sldColorTableColdAlpha = new JSlider();
+   JCheckBox chkUseField = new JCheckBox();
+   JComboBox cboFields = new JComboBox();
+
+   /**
+    * Default constructor
+    */
+   public DefaultHeatmapLegendEditorView()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   /**
+    * Method for recalculating the component orientation for 
+    * right-to-left Locales.
+    * @param orientation the component orientation to be applied
+    */
+   public void applyComponentOrientation( ComponentOrientation orientation )
+   {
+      // Not yet implemented...
+      // I18NUtils.applyComponentOrientation(this, orientation);
+      super.applyComponentOrientation(orientation);
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      jpanel1.add(createPanel1(),cc.xy(4,2));
+      rdbUseColorRamp.setActionCommand("Use color ramp");
+      rdbUseColorRamp.setName("rdbUseColorRamp");
+      rdbUseColorRamp.setText("_Use_color_ramp");
+      buttongroup1.add(rdbUseColorRamp);
+      jpanel1.add(rdbUseColorRamp,cc.xy(2,4));
+
+      lblDistance.setName("lblDistance");
+      lblDistance.setText("_Distance");
+      jpanel1.add(lblDistance,cc.xy(2,2));
+
+      jpanel1.add(createPanel2(),cc.xywh(2,6,3,1));
+      rdbUseColorTable.setActionCommand("Use color table");
+      rdbUseColorTable.setName("rdbUseColorTable");
+      rdbUseColorTable.setText("_Use_color_table");
+      buttongroup1.add(rdbUseColorTable);
+      jpanel1.add(rdbUseColorTable,cc.xywh(2,8,3,1));
+
+      jpanel1.add(createPanel5(),cc.xywh(2,10,3,1));
+      chkUseField.setActionCommand("Use a field to calculate the heat map.");
+      chkUseField.setName("chkUseField");
+      chkUseField.setText("_Use_a_field_to_weight_the_heat_map");
+      jpanel1.add(chkUseField,cc.xywh(2,12,3,1));
+
+      jpanel1.add(createPanel7(),cc.xywh(2,14,3,1));
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 });
+      return jpanel1;
+   }
+
+   public JPanel createPanel1()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      lblPixels.setName("lblPixels");
+      lblPixels.setText("pixels");
+      jpanel1.add(lblPixels,cc.xy(3,1));
+
+      spnDistance.setName("spnDistance");
+      jpanel1.add(spnDistance,cc.xy(1,1));
+
+      addFillComponents(jpanel1,new int[]{ 2 },new int[0]);
+      return jpanel1;
+   }
+
+   public JPanel createPanel2()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0)","CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      lblHotColor.setName("lblHotColor");
+      lblHotColor.setText("_Hot_color");
+      jpanel1.add(lblHotColor,cc.xy(2,3));
+
+      lblColdColor.setName("lblColdColor");
+      lblColdColor.setText("_Cold_color");
+      jpanel1.add(lblColdColor,cc.xy(2,5));
+
+      jpanel1.add(createPanel3(),cc.xy(4,3));
+      jpanel1.add(createPanel4(),cc.xy(4,5));
+      lblNumberOfColors.setName("lblNumberOfColors");
+      lblNumberOfColors.setText("_Number_of_colors");
+      jpanel1.add(lblNumberOfColors,cc.xy(2,1));
+
+      spnNumberOfColors.setName("spnNumberOfColors");
+      jpanel1.add(spnNumberOfColors,cc.xy(4,1));
+
+      addFillComponents(jpanel1,new int[]{ 1,3 },new int[]{ 1,2,3,4,5 });
+      return jpanel1;
+   }
+
+   public JPanel createPanel3()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,LEFT:DEFAULT:NONE","CENTER:DEFAULT:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      txtHotColorLabel.setBackground(new Color(236,233,216));
+      txtHotColorLabel.setEditable(false);
+      txtHotColorLabel.setName("txtHotColorLabel");
+      txtHotColorLabel.setHorizontalAlignment(JTextField.RIGHT);
+      jpanel1.add(txtHotColorLabel,cc.xy(1,1));
+
+      btnHotColor.setActionCommand("...");
+      btnHotColor.setName("btnHotColor");
+      btnHotColor.setText("...");
+      jpanel1.add(btnHotColor,cc.xy(3,1));
+
+      lblHotColorAlpha.setName("lblHotColorAlpha");
+      lblHotColorAlpha.setText("Alpha");
+      jpanel1.add(lblHotColorAlpha,cc.xy(5,1));
+
+      sldHotColorAlpha.setMajorTickSpacing(20);
+      sldHotColorAlpha.setMaximum(255);
+      sldHotColorAlpha.setName("sldHotColorAlpha");
+      sldHotColorAlpha.setValue(255);
+      jpanel1.add(sldHotColorAlpha,cc.xy(7,1));
+
+      addFillComponents(jpanel1,new int[]{ 2,4,6 },new int[0]);
+      return jpanel1;
+   }
+
+   public JPanel createPanel4()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,LEFT:DEFAULT:NONE","CENTER:DEFAULT:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      btnColdColor.setActionCommand("...");
+      btnColdColor.setName("btnColdColor");
+      btnColdColor.setText("...");
+      jpanel1.add(btnColdColor,cc.xy(3,1));
+
+      lblColdColorAlpha.setName("lblColdColorAlpha");
+      lblColdColorAlpha.setText("Alpha");
+      jpanel1.add(lblColdColorAlpha,cc.xy(5,1));
+
+      sldColdColorAlpha.setMajorTickSpacing(20);
+      sldColdColorAlpha.setMaximum(255);
+      sldColdColorAlpha.setName("sldColdColorAlpha");
+      sldColdColorAlpha.setValue(0);
+      jpanel1.add(sldColdColorAlpha,cc.xy(7,1));
+
+      txtColdColorLabel.setBackground(new Color(236,233,216));
+      txtColdColorLabel.setEditable(false);
+      txtColdColorLabel.setName("txtColdColorLabel");
+      txtColdColorLabel.setHorizontalAlignment(JTextField.RIGHT);
+      jpanel1.add(txtColdColorLabel,cc.xy(1,1));
+
+      addFillComponents(jpanel1,new int[]{ 2,4,6 },new int[0]);
+      return jpanel1;
+   }
+
+   public JPanel createPanel5()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:8DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      cboColorTable.setName("cboColorTable");
+      jpanel1.add(cboColorTable,cc.xy(4,1));
+
+      lblColorTable.setName("lblColorTable");
+      lblColorTable.setText("_Color_table");
+      jpanel1.add(lblColorTable,cc.xy(2,1));
+
+      chkColorTableUseAlpha.setActionCommand("Use transparency");
+      chkColorTableUseAlpha.setName("chkColorTableUseAlpha");
+      chkColorTableUseAlpha.setSelected(true);
+      chkColorTableUseAlpha.setText("_Use_transparency");
+      jpanel1.add(chkColorTableUseAlpha,cc.xy(2,3));
+
+      jpanel1.add(createPanel6(),cc.xywh(2,5,3,1));
+      addFillComponents(jpanel1,new int[]{ 1,3,5 },new int[]{ 1,2,3,4,5,6 });
+      return jpanel1;
+   }
+
+   public JPanel createPanel6()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:8DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0)","CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      lblHotColorTransparency.setName("lblHotColorTransparency");
+      lblHotColorTransparency.setText("_Hot_color_transparency");
+      jpanel1.add(lblHotColorTransparency,cc.xy(2,1));
+
+      lblColdColorTransparency.setName("lblColdColorTransparency");
+      lblColdColorTransparency.setText("_Cold_color_transparency");
+      jpanel1.add(lblColdColorTransparency,cc.xy(2,3));
+
+      sldColorTableHotAlpha.setMajorTickSpacing(20);
+      sldColorTableHotAlpha.setMaximum(255);
+      sldColorTableHotAlpha.setName("sldColorTableHotAlpha");
+      sldColorTableHotAlpha.setValue(126);
+      jpanel1.add(sldColorTableHotAlpha,cc.xy(4,1));
+
+      sldColorTableColdAlpha.setMajorTickSpacing(20);
+      sldColorTableColdAlpha.setMaximum(255);
+      sldColorTableColdAlpha.setName("sldColorTableColdAlpha");
+      sldColorTableColdAlpha.setValue(126);
+      jpanel1.add(sldColorTableColdAlpha,cc.xy(4,3));
+
+      addFillComponents(jpanel1,new int[]{ 1,3 },new int[]{ 1,2,3 });
+      return jpanel1;
+   }
+
+   public JPanel createPanel7()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0)","CENTER:DEFAULT:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      cboFields.setName("cboFields");
+      jpanel1.add(cboFields,cc.xy(2,1));
+
+      addFillComponents(jpanel1,new int[]{ 1 },new int[]{ 1 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendSwingManager.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendSwingManager.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendSwingManager.java	(revision 2889)
@@ -0,0 +1,38 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2015 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.legend.heatmap.swing.impl;
+
+import org.gvsig.legend.heatmap.swing.api.HeatmapLegendEditor;
+import org.gvsig.legend.heatmap.swing.api.HeatmapLegendSwingManager;
+
+
+
+public class DefaultHeatmapLegendSwingManager implements HeatmapLegendSwingManager {
+
+    @Override
+    public HeatmapLegendEditor createHeatmapdLegendEditor() {
+        return new DefaultHeatmapLegendEditor();
+    }
+
+
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendEditor.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendEditor.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/DefaultHeatmapLegendEditor.java	(revision 2889)
@@ -0,0 +1,270 @@
+
+package org.gvsig.legend.heatmap.swing.impl;
+
+import java.awt.Color;
+import javax.swing.AbstractButton;
+import javax.swing.ImageIcon;
+import javax.swing.JFormattedTextField;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import org.apache.commons.lang3.StringUtils;
+import org.gvsig.app.gui.styling.ColorSchemeSelector;
+import org.gvsig.app.project.documents.view.legend.gui.Features;
+import org.gvsig.fmap.dal.exception.DataException;
+import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
+import org.gvsig.fmap.dal.feature.FeatureStore;
+import org.gvsig.fmap.dal.feature.FeatureType;
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
+import org.gvsig.fmap.mapcontext.rendering.legend.ILegend;
+import org.gvsig.legend.heatmap.lib.api.HeatmapLegend;
+import org.gvsig.legend.heatmap.lib.api.HeatmapLegendLocator;
+import org.gvsig.legend.heatmap.swing.api.HeatmapLegendEditor;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+import org.gvsig.tools.swing.api.ToolsSwingLocator;
+import org.gvsig.tools.swing.api.ToolsSwingManager;
+import org.gvsig.tools.swing.api.ColorChooserController;
+import org.gvsig.tools.swing.icontheme.IconTheme;
+
+
+public class DefaultHeatmapLegendEditor extends DefaultHeatmapLegendEditorView implements HeatmapLegendEditor {
+
+    private static final long serialVersionUID = 4307714097793669675L;
+
+    private HeatmapLegend legend;
+    private FLayer layer;
+    private final Class<? extends HeatmapLegend> legendClass;
+    private ColorChooserController hotColorChooser;
+    private ColorChooserController coldColorChooser;
+    private ColorSchemeSelector colorSchemaSelector;
+
+    public DefaultHeatmapLegendEditor() {
+        this.legendClass = HeatmapLegendLocator.getHeatmapLegendManager().getLegendClass();
+        initComponents();
+    }
+
+    private void initComponents(){
+        ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
+        this.hotColorChooser = toolsSwingManager.createColorChooserController(txtHotColorLabel, btnHotColor, sldHotColorAlpha);
+        this.coldColorChooser = toolsSwingManager.createColorChooserController(txtColdColorLabel, btnColdColor, sldColdColorAlpha);
+        this.colorSchemaSelector = new ColorSchemeSelector(cboColorTable, false);
+        this.rdbUseColorRamp.addChangeListener(new ChangeListener() {
+            @Override
+            public void stateChanged(ChangeEvent e) {
+                useColorModeChanged();
+            }
+        });
+        this.chkUseField.addChangeListener(new ChangeListener() {
+            @Override
+            public void stateChanged(ChangeEvent e) {
+                useFieldChanged();
+            }
+        });
+        this.chkColorTableUseAlpha.addChangeListener(new ChangeListener() {
+            @Override
+            public void stateChanged(ChangeEvent e) {
+                useAlphaInColorTableChanged();
+            }
+        });
+        translateAll();
+    }
+
+    private void translateAll() {
+        this.translate(this.lblDistance);
+        this.translate(this.lblPixels);
+        this.translate(this.rdbUseColorRamp);
+        this.translate(this.lblNumberOfColors);
+        this.translate(this.lblHotColor);
+        this.translate(this.lblHotColorAlpha);
+        this.translate(this.lblColdColor);
+        this.translate(this.lblColdColorAlpha);
+        this.translate(this.rdbUseColorTable);
+        this.translate(this.lblColorTable);
+        this.translate(this.chkColorTableUseAlpha);
+        this.translate(this.lblHotColorTransparency);
+        this.translate(this.lblColdColorTransparency);
+        this.translate(this.chkUseField);
+    }
+
+    private void translate(AbstractButton component) {
+        I18nManager i18n = ToolsLocator.getI18nManager();
+        component.setText(i18n.getTranslation(component.getText()));
+    }
+
+    private void translate(JLabel component) {
+        I18nManager i18n = ToolsLocator.getI18nManager();
+        component.setText(i18n.getTranslation(component.getText()));
+    }
+
+    @Override
+    public void setData(FLayer layer, ILegend legend) {
+        if( layer == this.layer && legend == this.legend ) {
+            return;
+        }
+        this.layer = layer;
+        if( this.getLegendClass().isInstance(legend) ) {
+            this.legend = (HeatmapLegend) legend;
+        } else {
+            this.legend = HeatmapLegendLocator.getHeatmapLegendManager().create();
+        }
+        this.spnDistance.setValue(this.legend.getDistance());
+        if( this.legend.useRamp() ) {
+            this.rdbUseColorRamp.setSelected(true);
+        } else {
+            this.rdbUseColorTable.setSelected(true);
+        }
+        if( this.legend.useAlphaInColorTable() ) {
+            this.chkColorTableUseAlpha.setSelected(true);
+            this.coldColorChooser.set(this.legend.getRampColdColor());
+            this.hotColorChooser.set(this.legend.getRampHotColor());
+            this.spnNumberOfColors.setValue(this.legend.getRampNumColors());
+
+        } else {
+            this.chkColorTableUseAlpha.setSelected(false);
+        }
+        this.sldColorTableColdAlpha.setValue(this.legend.getColorTableColdColorAlpha());
+        this.sldColorTableHotAlpha.setValue(this.legend.getColorTableHotColorAlpha());
+
+
+        this.chkUseField.setEnabled(false);
+        this.chkUseField.setSelected(false);
+        this.cboFields.setEnabled(false);
+        this.cboFields.removeAllItems();
+        if( layer instanceof FLyrVect ) {
+            FeatureStore store = ((FLyrVect) layer).getFeatureStore();
+            if( store != null ) {
+                try {
+                    FeatureType ftype = store.getDefaultFeatureType();
+                    for( FeatureAttributeDescriptor attr : ftype ) {
+                        this.cboFields.addItem(attr.getName());
+                    }
+                    if( this.cboFields.getItemCount()>0 ) {
+                        this.chkUseField.setEnabled(true);
+                        if( !StringUtils.isEmpty(this.legend.getFieldName()) ) {
+                            this.chkUseField.setSelected(true);
+                            this.cboFields.setSelectedItem(this.legend.getFieldName());
+                            this.cboFields.setEnabled(true);
+                        }
+                    }
+                } catch (Exception ex) {
+
+                }
+            }
+        }
+    }
+
+    private void useColorModeChanged() {
+        if( this.rdbUseColorRamp.isSelected() ) {
+            this.hotColorChooser.setEnabled(true);
+            this.coldColorChooser.setEnabled(true);
+            this.spnNumberOfColors.setEnabled(true);
+            this.cboColorTable.setEnabled(false);
+            this.chkColorTableUseAlpha.setEnabled(false);
+            this.sldColorTableColdAlpha.setEnabled(false);
+            this.sldColorTableHotAlpha.setEnabled(false);
+            this.spnNumberOfColors.setValue(this.legend.getRampNumColors());
+            this.coldColorChooser.set(this.legend.getRampColdColor());
+            this.hotColorChooser.set(this.legend.getRampHotColor());
+        } else {
+            this.hotColorChooser.setEnabled(false);
+            this.coldColorChooser.setEnabled(false);
+            this.spnNumberOfColors.setEnabled(false);
+            this.cboColorTable.setEnabled(true);
+            this.chkColorTableUseAlpha.setEnabled(true);
+            this.sldColorTableColdAlpha.setEnabled(true);
+            this.sldColorTableHotAlpha.setEnabled(true);
+            this.colorSchemaSelector.setSelectedColors(this.legend.getSourceColorTable());
+        }
+    }
+
+    private void useFieldChanged() {
+        this.cboFields.setEnabled(this.chkUseField.isSelected());
+    }
+
+    private void useAlphaInColorTableChanged() {
+        boolean x = this.chkColorTableUseAlpha.isSelected();
+        this.sldColorTableColdAlpha.setEnabled(x);
+        this.sldColorTableHotAlpha.setEnabled(x);
+    }
+
+    @Override
+    public ILegend getLegend() {
+        legend.setDistance((int) spnDistance.getValue());
+        if( this.rdbUseColorRamp.isSelected() ) {
+            legend.setColorTable(
+                (int) spnNumberOfColors.getValue(),
+                coldColorChooser.get(),
+                hotColorChooser.get()
+            );
+        } else {
+            legend.setColorTable( this.colorSchemaSelector.getSelectedColors());
+        }
+        if( this.chkUseField.isSelected() ) {
+            String fieldName = (String) this.cboFields.getSelectedItem();
+            if( fieldName != null ) {
+                this.legend.setFieldName(fieldName);
+            }
+        }
+        this.legend.setColorTableColdColorAlpha(this.sldColorTableColdAlpha.getValue());
+        this.legend.setColorTableHotColorAlpha(this.sldColorTableHotAlpha.getValue());
+        this.legend.setUseAlphaInColorTable(this.chkColorTableUseAlpha.isSelected());
+
+        return legend;
+    }
+
+    @Override
+    public String getDescription() {
+        I18nManager i18n = ToolsLocator.getI18nManager();
+        return i18n.getTranslation( "_Heatmap_legend_description");
+    }
+
+    @Override
+    public ImageIcon getIcon() {
+        IconTheme theme = ToolsSwingLocator.getIconThemeManager().getCurrent();
+        return theme.get("legend-overview-vectorial-heatmap");
+    }
+
+    @Override
+	public Class getParentClass() {
+		return Features.class;
+	}
+
+    @Override
+    public String getTitle() {
+        I18nManager i18n = ToolsLocator.getI18nManager();
+        return i18n.getTranslation( "_Heatmap_legend");
+    }
+
+    @Override
+    public JPanel getPanel() {
+        return this;
+    }
+
+    @Override
+    public Class getLegendClass() {
+        return this.legendClass;
+    }
+
+    @Override
+    public boolean isSuitableFor(FLayer layer) {
+        return true;
+    }
+
+    private int getIntValue(JFormattedTextField text, int defaultValue) {
+        String s = text.getText();
+        if( StringUtils.isEmpty(s) ) {
+            return defaultValue;
+        }
+        int value = defaultValue;
+        try {
+            value = Integer.parseInt(s);
+        } catch(Throwable th) {
+
+        }
+        return value;
+    }
+
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/HeatmapLegendSwingLibrary.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/HeatmapLegendSwingLibrary.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl/HeatmapLegendSwingLibrary.java	(revision 2889)
@@ -0,0 +1,56 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2015 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+
+package org.gvsig.legend.heatmap.swing.impl;
+
+import org.gvsig.legend.heatmap.swing.api.HeatmapLegendSwingLocator;
+import org.gvsig.symbology.swing.SymbologySwingLibrary;
+import org.gvsig.symbology.swing.SymbologySwingLocator;
+import org.gvsig.symbology.swing.SymbologySwingManager;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+
+
+public class HeatmapLegendSwingLibrary extends AbstractLibrary {
+
+
+
+	@Override
+    public void doRegistration() {
+        registerAsImplementationOf(HeatmapLegendSwingLibrary.class);
+        require(SymbologySwingLibrary.class);
+    }
+
+    @Override
+    protected void doInitialize() throws LibraryException {
+        HeatmapLegendSwingLocator.registerHeatmapLegendSwingManager(DefaultHeatmapLegendSwingManager.class);
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+        SymbologySwingManager symmnager = SymbologySwingLocator.getSwingManager();
+        symmnager.registerLegendEditor(DefaultHeatmapLegendEditor.class);
+	}
+
+}

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/src/main/java/org/gvsig/legend/heatmap/swing/impl
___________________________________________________________________
Added: svn:ignore
   + .directory


Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/pom.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/pom.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl/pom.xml	(revision 2889)
@@ -0,0 +1,38 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.gvsig</groupId>
+    <artifactId>org.gvsig.legend.heatmap.swing</artifactId>
+    <version>1.0.30</version>
+  </parent>
+  <groupId>org.gvsig</groupId>
+  <artifactId>org.gvsig.legend.heatmap.swing.impl</artifactId>
+  <dependencies>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.legend.heatmap.swing.api</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.tools.lib</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.legend.heatmap.lib.api</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.tools.swing.api</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.symbology.lib.api</artifactId>
+      <scope>compile</scope>
+    </dependency>
+
+  </dependencies>
+</project>
\ No newline at end of file

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.swing/org.gvsig.legend.heatmap.swing.impl
___________________________________________________________________
Added: svn:ignore
   + target


Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/pom.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/pom.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/pom.xml	(revision 2889)
@@ -0,0 +1,94 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.gvsig</groupId>
+  <artifactId>org.gvsig.legend.heatmap</artifactId>
+  <version>1.0.30</version>
+  <packaging>pom</packaging>
+  <name>${project.artifactId}</name>
+  <description>Legend for heat maps.</description>
+  <parent>
+    <groupId>org.gvsig</groupId>
+    <artifactId>org.gvsig.desktop</artifactId>
+    <version>2.0.251</version>
+  </parent>
+
+  <url>https://devel.gvsig.org/sites/org.gvsig.legend.heatmap/${project.version}</url>
+  <scm>
+    <connection>scm:svn:https://devel.gvsig.org/svn/gvsig-base-legends/org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30</connection>
+    <developerConnection>scm:svn:https://devel.gvsig.org/svn/gvsig-base-legends/org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30</developerConnection>
+    <url>https://devel.gvsig.org/redmine/projects/gvsig-base-legends/repository/show/org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30</url>
+  </scm>
+  <repositories>
+    <repository>
+      <id>gvsig-public-http-repository</id>
+      <name>gvSIG maven public HTTP repository</name>
+      <url>http://devel.gvsig.org/m2repo/j2se</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>daily</updatePolicy>
+        <checksumPolicy>warn</checksumPolicy>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>daily</updatePolicy>
+        <checksumPolicy>warn</checksumPolicy>
+      </snapshots>
+    </repository>
+  </repositories>
+
+  <distributionManagement>
+    <site>
+      <id>gvsig-repository</id>
+      <url>dav:https://devel.gvsig.org/download/projects/gvsig-base-legends/pool/${project.artifactId}/${project.version}</url>
+    </site>
+  </distributionManagement>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-release-plugin</artifactId>
+        <configuration>
+          <tagBase>https://devel.gvsig.org/svn/gvsig-base-legends/org.gvsig.legend.heatmap/tags</tagBase>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+
+
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.legend.heatmap.lib.api</artifactId>
+        <version>1.0.30</version>
+      </dependency>
+      <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.legend.heatmap.lib.impl</artifactId>
+        <version>1.0.30</version>
+      </dependency>
+      <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.legend.heatmap.swing.api</artifactId>
+        <version>1.0.30</version>
+      </dependency>
+      <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.legend.heatmap.swing.impl</artifactId>
+        <version>1.0.30</version>
+      </dependency>
+      <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.legend.heatmap.app.mainplugin</artifactId>
+        <version>1.0.30</version>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <modules>
+    <module>org.gvsig.legend.heatmap.lib</module>
+    <module>org.gvsig.legend.heatmap.swing</module>
+    <module>org.gvsig.legend.heatmap.app</module>
+  </modules>
+</project>
\ No newline at end of file
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/pom.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/pom.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/pom.xml	(revision 2889)
@@ -0,0 +1,17 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.gvsig</groupId>
+    <artifactId>org.gvsig.legend.heatmap</artifactId>
+    <version>1.0.30</version>
+  </parent>
+  <groupId>org.gvsig</groupId>
+  <artifactId>org.gvsig.legend.heatmap.app</artifactId>
+  <packaging>pom</packaging>
+  <name>org.gvsig.legend.heatmap.app</name>
+
+  <modules>
+    <module>org.gvsig.legend.heatmap.app.mainplugin</module>
+  </modules>
+
+</project>
\ No newline at end of file
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/buildNumber.properties
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/buildNumber.properties	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/buildNumber.properties	(revision 2889)
@@ -0,0 +1,2 @@
+#Tue Oct 22 14:29:35 CEST 2019
+buildNumber=33
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml	(revision 2889)
@@ -0,0 +1,52 @@
+<!-- gvSIG. Desktop Geographic Information System. Copyright (C) 2007-2013 gvSIG
+  Association. This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by the Free Software
+  Foundation; either version 3 of the License, or (at your option) any later version.
+  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+  PURPOSE. See the GNU General Public License for more details. You should have received
+  a copy of the GNU General Public License along with this program; if not, write to
+  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+  USA. For any additional information, do not hesitate to contact us at info AT gvsig.com,
+  or visit our website www.gvsig.com. -->
+<assembly>
+  <id>gvsig-plugin-package</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <baseDirectory>${project.artifactId}</baseDirectory>
+  <includeBaseDirectory>true</includeBaseDirectory>
+  <files>
+    <file>
+      <source>target/${project.artifactId}-${project.version}.jar</source>
+      <outputDirectory>lib</outputDirectory>
+    </file>
+    <file>
+      <source>target/package.info</source>
+    </file>
+  </files>
+
+  <fileSets>
+    <fileSet>
+      <directory>src/main/resources-plugin</directory>
+      <outputDirectory>.</outputDirectory>
+    </fileSet>
+  </fileSets>
+
+
+  <dependencySets>
+    <dependencySet>
+      <useProjectArtifact>false</useProjectArtifact>
+      <useTransitiveDependencies>false</useTransitiveDependencies>
+      <outputDirectory>lib</outputDirectory>
+      <includes>
+        <include>org.gvsig:org.gvsig.legend.heatmap.lib.api</include>
+        <include>org.gvsig:org.gvsig.legend.heatmap.lib.impl</include>
+        <include>org.gvsig:org.gvsig.legend.heatmap.swing.api</include>
+        <include>org.gvsig:org.gvsig.legend.heatmap.swing.impl</include>
+      </includes>
+    </dependencySet>
+  </dependencySets>
+
+</assembly>
+
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/java/org/gvsig/legend/heatmap/app/HeatmapLegendExtension.java
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/java/org/gvsig/legend/heatmap/app/HeatmapLegendExtension.java	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/java/org/gvsig/legend/heatmap/app/HeatmapLegendExtension.java	(revision 2889)
@@ -0,0 +1,29 @@
+
+package org.gvsig.legend.heatmap.app;
+
+import org.gvsig.andami.IconThemeHelper;
+import org.gvsig.andami.plugins.Extension;
+
+
+public class HeatmapLegendExtension extends Extension {
+
+    @Override
+    public void initialize() {
+        IconThemeHelper.registerIcon("legend", "legend-overview-vectorial-heatmap", this);
+    }
+
+    @Override
+    public void execute(String string) {
+    }
+
+    @Override
+    public boolean isEnabled() {
+        return true;
+    }
+
+    @Override
+    public boolean isVisible() {
+        return true;
+    }
+    
+}
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/i18n/text.properties
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 2889)
@@ -0,0 +1,16 @@
+_Heatmap_legend_description=Mapa de calor que representa la densidad de puntos en un mapa.
+_Heatmap_legend=Mapa de calor
+_Distance=Distancia
+pixels=pixels
+_Use_color_ramp=Usar un gradiente de color
+_Number_of_colors=Numero de colores
+_Hot_color=Color caliente
+Alpha=Alpha
+_Cold_color=Color frio
+_Use_color_table=Usar tabla de color
+_Color_table=Tabla de color
+_Use_transparency=Usar transparencia
+_Hot_color_transparency=Transparencia del color caliente
+_Cold_color_transparency=Transparencia del color frio
+_Use_a_field_to_weight_the_heat_map=Usar un campo para ponderar el mapa de calor
+
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 2889)
@@ -0,0 +1,16 @@
+_Heatmap_legend_description=heat map for representing the density of dots in a map.
+_Heatmap_legend=heat map
+_Distance=Distance
+pixels=pixels
+_Use_color_ramp=Use a color ramp
+_Number_of_colors=Number of colors
+_Hot_color=Hot color
+Alpha=Alpha
+_Cold_color=Cold color
+_Use_color_table=Use a color table
+_Color_table=Color table
+_Use_transparency=Use transparencia
+_Hot_color_transparency=Hot color transparency
+_Cold_color_transparency=Cold color transparency
+_Use_a_field_to_weight_the_heat_map=Use a field to weight the heat map
+
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/config.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/config.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/config.xml	(revision 2889)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- gvSIG. Desktop Geographic Information System. Copyright (C) 2007-2013 gvSIG
+  Association. This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by the Free Software
+  Foundation; either version 3 of the License, or (at your option) any later version.
+  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+  PURPOSE. See the GNU General Public License for more details. You should have received
+  a copy of the GNU General Public License along with this program; if not, write to
+  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+  USA. For any additional information, do not hesitate to contact us at info AT gvsig.com,
+  or visit our website www.gvsig.com. -->
+<plugin-config>
+  <depends plugin-name="org.gvsig.app.mainplugin" />
+  <resourceBundle name="text" />
+  <libraries library-dir="lib" />
+  <extensions>
+    <extension class-name="org.gvsig.legend.heatmap.app.HeatmapLegendExtension"
+      description="" active="true" priority="1">
+
+    </extension>
+
+  </extensions>
+</plugin-config>
\ No newline at end of file
Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/images/legend/legend-overview-vectorial-heatmap.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/images/legend/legend-overview-vectorial-heatmap.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/symbols/99.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/symbols/99.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/symbols/99_sel.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/symbols/99_sel.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/symbols/99.gvssym
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/symbols/99.gvssym
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/plugin-persistence.def
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/plugin-persistence.def	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin/plugin-persistence.def	(revision 2889)
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<!--
+Definitions of plugin persistence org.gvsig.aggregatelegend.app.mainplugin
+ -->
+<definitions>
+  <version>1.0.0</version>
+  <classes>
+    <class name="org.gvsig.legend.aggregate.app.mainplugin">
+      <extends>
+      </extends>
+      <description>Persistence of the legend of aggregate texts</description>
+      <fields>
+      </fields>
+    </class>
+  </classes>
+</definitions>  

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/src/main/resources-plugin
___________________________________________________________________
Added: svn:ignore
   + .directory


Index: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/pom.xml
===================================================================
--- org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/pom.xml	(revision 0)
+++ org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin/pom.xml	(revision 2889)
@@ -0,0 +1,57 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.gvsig</groupId>
+    <artifactId>org.gvsig.legend.heatmap.app</artifactId>
+    <version>1.0.30</version>
+  </parent>
+  <groupId>org.gvsig</groupId>
+  <artifactId>org.gvsig.legend.heatmap.app.mainplugin</artifactId>
+  <version>1.0.30</version>
+  <name>org.gvsig.legend.heatmap.app.mainplugin</name>
+
+    <properties>
+    <!-- Package info property values -->
+    <gvsig.package.info.state>testing</gvsig.package.info.state>
+    <gvsig.package.info.dependencies>required: org.gvsig.app.mainplugin -ge 2.4.0-A</gvsig.package.info.dependencies>
+    <gvsig.package.info.official>true</gvsig.package.info.official>
+    <gvsig.package.info.name>Vector legend: heat map</gvsig.package.info.name>
+    <gvsig.package.info.description>Legend for aggregate text symbols that are near.</gvsig.package.info.description>
+    <gvsig.package.info.categories>View,Vector,Symbology</gvsig.package.info.categories>
+    <gvsig.package.info.javaVM>j1_7</gvsig.package.info.javaVM>
+    <gvsig.package.info.poolURL>https://devel.gvsig.org/download/projects/gvsig-base-legends/pool</gvsig.package.info.poolURL>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.andami</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.legend.heatmap.swing.api</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.legend.heatmap.lib.api</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.legend.heatmap.lib.impl</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.legend.heatmap.swing.impl</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.app.mainplugin</artifactId>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>

Property changes on: org.gvsig.legend.heatmap/tags/org.gvsig.legend.heatmap-1.0.30/org.gvsig.legend.heatmap.app/org.gvsig.legend.heatmap.app.mainplugin
___________________________________________________________________
Added: svn:ignore
   + target


