Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/java/org/gvsig/topology/app/mainplugin/AppTopologyServices.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/java/org/gvsig/topology/app/mainplugin/AppTopologyServices.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/java/org/gvsig/topology/app/mainplugin/AppTopologyServices.java	(revision 727)
@@ -23,30 +23,55 @@
  */
 package org.gvsig.topology.app.mainplugin;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import javax.swing.ImageIcon;
 import javax.swing.tree.TreeModel;
 import org.apache.commons.lang3.mutable.Mutable;
 import org.apache.commons.lang3.mutable.MutableObject;
+import org.gvsig.andami.IconThemeHelper;
+import org.gvsig.andami.PluginsLocator;
 import org.gvsig.app.ApplicationLocator;
 import org.gvsig.app.ApplicationManager;
 import org.gvsig.app.project.Project;
 import org.gvsig.app.project.documents.Document;
 import org.gvsig.app.project.documents.view.ViewDocument;
 import org.gvsig.app.project.documents.view.ViewManager;
+import org.gvsig.fmap.dal.EditingNotification;
+import org.gvsig.fmap.dal.EditingNotificationManager;
 import org.gvsig.fmap.dal.feature.FeatureStore;
+import org.gvsig.fmap.dal.swing.DALSwingLocator;
+import org.gvsig.fmap.geom.Geometry;
+import org.gvsig.fmap.geom.aggregate.MultiCurve;
+import org.gvsig.fmap.geom.aggregate.MultiPoint;
+import org.gvsig.fmap.geom.aggregate.MultiSurface;
+import org.gvsig.fmap.geom.primitive.Curve;
 import org.gvsig.fmap.geom.primitive.Envelope;
 import org.gvsig.fmap.geom.primitive.Point;
+import org.gvsig.fmap.geom.primitive.Surface;
+import org.gvsig.fmap.mapcontext.MapContext;
+import org.gvsig.fmap.mapcontext.MapContextLocator;
 import org.gvsig.fmap.mapcontext.ViewPort;
 import org.gvsig.fmap.mapcontext.events.ColorEvent;
 import org.gvsig.fmap.mapcontext.events.ExtentEvent;
 import org.gvsig.fmap.mapcontext.events.ProjectionEvent;
 import org.gvsig.fmap.mapcontext.events.listeners.ViewPortListener;
+import org.gvsig.fmap.mapcontext.layers.FLayer;
 import org.gvsig.fmap.mapcontext.layers.FLayers;
 import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
+import org.gvsig.fmap.mapcontext.layers.vectorial.GraphicLayer;
+import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
+import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol_v2;
+import org.gvsig.fmap.mapcontrol.MapControlLocator;
+import org.gvsig.fmap.mapcontrol.swing.dynobject.DynObjectEditor;
+import org.gvsig.tools.dynobject.DynObject;
 import org.gvsig.tools.exception.BaseException;
+import org.gvsig.tools.observer.Observable;
+import org.gvsig.tools.observer.Observer;
+import org.gvsig.tools.swing.api.ListElement;
 import org.gvsig.tools.visitor.VisitCanceledException;
 import org.gvsig.tools.visitor.Visitor;
 import org.gvsig.topology.lib.api.TopologyDataSet;
@@ -62,12 +87,12 @@
 public class AppTopologyServices implements TopologySwingServices {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(AppTopologyServices.class);
- 
+
     private class WorkingAreaViewPortListener implements ViewPortListener {
-    
+
         private WorkingAreaChangedListener workingAreaChangedListener;
         private ViewPort viewPort;
-        
+
         public WorkingAreaViewPortListener(ViewPort viewPort, WorkingAreaChangedListener workingAreaChangedListener) {
             this.workingAreaChangedListener = workingAreaChangedListener;
             this.viewPort = viewPort;
@@ -76,7 +101,7 @@
         public ViewPort getViewPort() {
             return this.viewPort;
         }
-        
+
         @Override
         public void extentChanged(ExtentEvent e) {
             this.workingAreaChangedListener.workingAreaChanged(e.getNewExtent());
@@ -91,12 +116,43 @@
         }
     }
 
+    private class EditingNotificationObserver implements Observer {
+
+        public EditingNotificationObserver() {
+
+        }
+
+        @Override
+        public void update(Observable o, Object notification) {
+            EditingNotification n = (EditingNotification) notification;
+            if (n.isCancelable() && n.getFeature() != null) {
+                try {
+                    DynObject data = n.getFeature().getAsDynObject();
+                    DynObjectEditor editor = new DynObjectEditor(data);
+                    editor.setTitle("Topology - " + n.getFeature().getType().getName());
+                    editor.editObject(true);
+                    if (editor.isCanceled()) {
+                        n.cancel();
+                    } else {
+                        editor.getData(data);
+                    }
+                } catch (Exception ex) {
+                    LOGGER.warn("Problems showing the feature in a form.", ex);
+                }
+            }
+        }
+    }
+
     private Map<WorkingAreaChangedListener, WorkingAreaViewPortListener> workingAreaListener;
-    
+    private ISymbol errorPolygonSymbol = null;
+    private ISymbol errorPointSymbol = null;
+    private ISymbol errorLineSymbol = null;
+    private EditingNotificationObserver editingNotificationObserver = null;
+
     public AppTopologyServices() {
         this.workingAreaListener = new HashMap<>();
     }
-    
+
     @Override
     public TreeModel getDataSetTreeModel() {
         ApplicationManager application = ApplicationLocator.getManager();
@@ -108,26 +164,26 @@
     public FeatureStore getFeatureStore(final TopologyDataSet dataSet) {
         final Mutable<FeatureStore> store = new MutableObject<>();
         store.setValue(null);
-        
+
         ApplicationManager application = ApplicationLocator.getManager();
         Project project = application.getCurrentProject();
-        
+
         List<Document> views = new ArrayList<>();
         views.add(project.getActiveDocument(ViewManager.TYPENAME));
 //        views.addAll(project.getDocuments(ViewManager.TYPENAME));
 
         for (Document view : views) {
-            if( view == null ) {
+            if (view == null) {
                 continue;
             }
-            FLayers layers = ((ViewDocument)view).getMapContext().getLayers();
+            FLayers layers = ((ViewDocument) view).getMapContext().getLayers();
             try {
                 layers.accept(new Visitor() {
                     @Override
                     public void visit(Object o) throws VisitCanceledException, BaseException {
-                        if( o instanceof FLyrVect ) {
+                        if (o instanceof FLyrVect) {
                             FLyrVect layer = (FLyrVect) o;
-                            if( dataSet.isThisStore(layer.getFeatureStore()) ) {
+                            if (dataSet.isThisStore(layer.getFeatureStore())) {
                                 store.setValue(layer.getFeatureStore());
                                 throw new VisitCanceledException();
                             }
@@ -147,7 +203,7 @@
     public void zoomTo(Envelope envelope) {
         ApplicationManager application = ApplicationLocator.getManager();
         ViewDocument viewdoc = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
-        if( viewdoc == null ) {
+        if (viewdoc == null) {
             return;
         }
         ViewPort viewPort = viewdoc.getMapContext().getViewPort();
@@ -159,7 +215,7 @@
         try {
             ApplicationManager application = ApplicationLocator.getManager();
             ViewDocument viewdoc = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
-            if( viewdoc == null ) {
+            if (viewdoc == null) {
                 return;
             }
             viewdoc.getMapContext().invalidate();
@@ -167,13 +223,13 @@
             LOGGER.warn("Cant refresh view", ex);
         }
     }
-    
+
     @Override
     public void centerTo(Point point) {
         try {
             ApplicationManager application = ApplicationLocator.getManager();
             ViewDocument viewdoc = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
-            if( viewdoc == null ) {
+            if (viewdoc == null) {
                 return;
             }
             ViewPort viewPort = viewdoc.getMapContext().getViewPort();
@@ -189,7 +245,7 @@
     public Envelope getWorkingArea() {
         ApplicationManager application = ApplicationLocator.getManager();
         ViewDocument viewdoc = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
-        if( viewdoc == null ) {
+        if (viewdoc == null) {
             return null;
         }
         ViewPort viewPort = viewdoc.getMapContext().getViewPort();
@@ -200,16 +256,16 @@
     public void addWorkingAreaChangedListener(WorkingAreaChangedListener listener) {
         ApplicationManager application = ApplicationLocator.getManager();
         ViewDocument viewdoc = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
-        if( viewdoc == null ) {
+        if (viewdoc == null) {
             return;
         }
         ViewPort viewPort = viewdoc.getMapContext().getViewPort();
         WorkingAreaViewPortListener viewPortListener = this.workingAreaListener.get(listener);
-        if( viewPortListener==null ) {
+        if (viewPortListener == null) {
             viewPortListener = new WorkingAreaViewPortListener(viewPort, listener);
             this.workingAreaListener.put(listener, viewPortListener);
         } else {
-            if( viewPort != viewPortListener.getViewPort() ) {
+            if (viewPort != viewPortListener.getViewPort()) {
                 viewPortListener.getViewPort().removeViewPortListener(viewPortListener);
                 viewPortListener = new WorkingAreaViewPortListener(viewPort, listener);
                 this.workingAreaListener.put(listener, viewPortListener);
@@ -221,11 +277,80 @@
     @Override
     public void removeWorkingAreaChangedListener(WorkingAreaChangedListener listener) {
         WorkingAreaViewPortListener viewPortListener = this.workingAreaListener.get(listener);
-        if( viewPortListener==null ) {
+        if (viewPortListener == null) {
             return;
         }
-        viewPortListener.getViewPort().removeViewPortListener(viewPortListener);     
+        viewPortListener.getViewPort().removeViewPortListener(viewPortListener);
     }
-    
-    
+
+    @Override
+    public void addError(Geometry geom) {
+        if (this.errorPointSymbol == null) {
+            try {
+                File pluginfolder = PluginsLocator.getManager().getPlugin(this).getPluginDirectory();
+                File folder = new File(pluginfolder, "symbols");
+                ISymbol[] symbols = MapContextLocator.getSymbolManager().loadSymbols(folder);
+                for (ISymbol symbol : symbols) {
+                    if (symbol instanceof ISymbol_v2) {
+                        String symbolid = ((ISymbol_v2) symbol).getID();
+                        switch(symbolid) {
+                            case "topology-error-polygon":
+                                this.errorPolygonSymbol = symbol;
+                                break;
+                            case "topology-error-line":
+                                this.errorLineSymbol = symbol;
+                                break;
+                            case "topology-error-point":
+                                this.errorPointSymbol = symbol;
+                                break;
+                        }
+                    }
+                }
+            } catch (Exception ex) {
+            }
+        }
+        ApplicationManager application = ApplicationLocator.getManager();
+        ViewDocument viewdoc = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
+        MapContext mapContext = viewdoc.getMapContext();
+        GraphicLayer gl = mapContext.getGraphicsLayer();
+        gl.removeGraphics("topology-errors");
+        if ( geom!=null ) {
+            ISymbol symbol = null;
+            if( geom instanceof Point || geom instanceof MultiPoint) {
+                symbol = this.errorPointSymbol;
+            } else if( geom instanceof Curve || geom instanceof MultiCurve ) {
+                symbol = this.errorLineSymbol;
+            } else if( geom instanceof Surface || geom instanceof MultiSurface ) {
+                symbol = this.errorPolygonSymbol;
+            }
+            if (symbol != null) {
+                int symbolid = gl.getSymbolId(symbol);
+                if (symbolid < 0) {
+                    gl.addSymbol(symbol);
+                    symbolid = gl.getSymbolId(symbol);
+                }
+                gl.addGraphic("topology-errors", geom, symbolid);
+            }
+        }
+        mapContext.invalidate();
+    }
+
+    @Override
+    public void setShowFormWhenEdit(boolean showFormWhenEdit) {
+        if (this.editingNotificationObserver == null) {
+            this.editingNotificationObserver = new EditingNotificationObserver();
+        }
+        EditingNotificationManager editingNotificationManager = DALSwingLocator.getEditingNotificationManager();
+        if (showFormWhenEdit) {
+            editingNotificationManager.addObserver(this.editingNotificationObserver);
+        } else {
+            editingNotificationManager.deleteObserver(this.editingNotificationObserver);
+        }
+    }
+
+    @Override
+    public ImageIcon getTreeIcon(TreeModel model, Object item) {
+        return ((DataSetsTreeModel)model).getTreeIcon(item);
+    }
+
 }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/java/org/gvsig/topology/app/mainplugin/DataSetsTreeModel.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/java/org/gvsig/topology/app/mainplugin/DataSetsTreeModel.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/java/org/gvsig/topology/app/mainplugin/DataSetsTreeModel.java	(revision 727)
@@ -23,15 +23,20 @@
  */
 package org.gvsig.topology.app.mainplugin;
 
+import javax.swing.ImageIcon;
 import javax.swing.event.TreeModelListener;
 import javax.swing.tree.TreeModel;
 import javax.swing.tree.TreePath;
+import org.gvsig.andami.IconThemeHelper;
 import org.gvsig.app.project.documents.view.ViewDocument;
-import org.gvsig.fmap.dal.feature.FeatureStore;
-import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
+import org.gvsig.fmap.dal.DataStore;
+import org.gvsig.fmap.mapcontext.MapContextLocator;
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.fmap.mapcontext.layers.operations.SingleLayer;
 import org.gvsig.fmap.mapcontrol.CompoundLayersTreeModel;
 import org.gvsig.fmap.mapcontrol.MapControlLocator;
 import org.gvsig.tools.swing.api.ListElement;
+import org.gvsig.topology.lib.api.TopologyDataSet;
 import org.gvsig.topology.lib.api.TopologyLocator;
 import org.gvsig.topology.swing.api.TopologySwingServices;
 
@@ -72,9 +77,9 @@
     public Object getChild(Object parent, int index) {
         parent = this.getNode(parent);
         Object x = this.deletaged.getChild(parent, index);
-        if( x instanceof FLyrVect ) {
-            FLyrVect layer = (FLyrVect)x;
-            FeatureStore store = layer.getFeatureStore();
+        if( x instanceof SingleLayer ) {
+            SingleLayer layer = (SingleLayer)x;
+            DataStore store = layer.getDataStore();
             x = TopologyLocator.getTopologyManager().createDataSet(
                     layer.getName(),
                     store
@@ -115,5 +120,27 @@
     public void removeTreeModelListener(TreeModelListener l) {
         this.deletaged.removeTreeModelListener(l);
     }
+
+    public ImageIcon getTreeIcon(Object item) {
+        if( this.getRoot()==item ) {
+            return IconThemeHelper.getImageIcon("topology-tree-project");
+        }
+        if (item instanceof ListElement) {
+            item = ((ListElement) item).getValue();
+        }
+        if( this.view.getMapContext().getLayers()==item ) {
+            return IconThemeHelper.getImageIcon("document-view-tree-icon");
+        }
+        if (item instanceof TopologyDataSet) {
+            DataStore store = ((TopologyDataSet)item).getStore();
+            String iconName = MapContextLocator.getMapContextManager().getIconLayer(store);
+            return IconThemeHelper.getImageIcon(iconName);
+        }
+        if (item instanceof FLayer) {
+            String iconName = ((FLayer) item).getTocImageIcon();
+            return IconThemeHelper.getImageIcon(iconName);
+        }
+        return IconThemeHelper.getImageIcon("topology-tree-folder");
+    }
     
 }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/java/org/gvsig/topology/app/mainplugin/TopologyExtension.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/java/org/gvsig/topology/app/mainplugin/TopologyExtension.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/java/org/gvsig/topology/app/mainplugin/TopologyExtension.java	(revision 727)
@@ -26,6 +26,7 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import org.apache.commons.lang.StringUtils;
+import org.gvsig.andami.IconThemeHelper;
 import org.gvsig.andami.plugins.Extension;
 import org.gvsig.app.ApplicationLocator;
 import org.gvsig.app.ApplicationManager;
@@ -66,7 +67,10 @@
         
         TopologySwingManager swingManager = TopologySwingLocator.getTopologySwingManager();
         swingManager.setDefaultServices(services);
-        
+  
+        IconThemeHelper.registerIcon("document", "document-view-tree-icon", this);
+        IconThemeHelper.registerIcon("topology", "topology-tree-folder", this);
+        IconThemeHelper.registerIcon("topology", "topology-tree-project", this);
     }
 
     
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/images/topology/topology-tree-project.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/images/topology/topology-tree-project.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/images/topology/topology-tree-folder.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/images/topology/topology-tree-folder.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/images/document/document-view-tree-icon.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/images/document/document-view-tree-icon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/symbols/topology-error-line.gvssym
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/symbols/topology-error-line.gvssym
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/symbols/topology-error-polygon.gvssym
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/symbols/topology-error-polygon.gvssym
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/symbols/topology-error-point.gvssym
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/symbols/topology-error-point.gvssym
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/i18n/text.properties
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 727)
@@ -9,8 +9,10 @@
 _Show_errors=Mostrar errores
 _Show_exceptions=Mostrar excepciones
 _Show_only_in_visible_extent=Mostrar solo en el area visible
+_Show_form_when_modify_geometry=Mostrar formulario al modificar la geometria
 _Zoom=Zoom
-_Center=Centrar
+Center_geometry=Centrar geometria
+_Center_error=Centrar error
 _Actions=Acciones
 _Action=Acci\u00f3n
 _Update=Actualizar
@@ -24,6 +26,7 @@
 _Add_dataset=A\u00f1adir conjunto de datos
 _Remove_rule=Eliminar regla
 _Add_rule=A\u00f1adir regla
+_Edit_rule=Modificar regla
 _Contains_Point=Contiene punto
 _Primary_dataset=Conjunto de datos primario
 _Secondary_dataset=Conjunto de datos secundario
@@ -35,3 +38,5 @@
 _Accept=Aceptar
 _Execute=Ejecutar
 _Any_rule=Cualquier regla
+_Erase_error_marks=Eliminar marcas de errores
+_Select_a_dataset=Seleccione un conjunto de datos
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.app/org.gvsig.topology.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 727)
@@ -9,8 +9,10 @@
 _Show_errors=Show errors
 _Show_exceptions=Show exceptions
 _Show_only_in_visible_extent=Show only in visible extent
+_Show_form_when_modify_geometry=Show form when modify geometry
 _Zoom=Zoom
-_Center=Center
+_Center_geometry=Center geometry
+_Center_error=Center error
 _Actions=Actions
 _Action=Action
 _Update=Update
@@ -24,6 +26,7 @@
 _Add_dataset=Add dataset
 _Remove_rule=Remove rule
 _Add_rule=Add rule
+_Edit_rule=Edit rule
 _Primary_dataset=Primary dataset
 _Secondary_dataset=Secondary dataset
 _Rule=Rule
@@ -34,3 +37,5 @@
 _Accept=Accept
 _Execute=Execute
 _Any_rule=Any rule
+_Erase_error_marks=Erase error marks
+_Select_a_dataset=Select a dataset
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyManager.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyManager.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyManager.java	(revision 727)
@@ -27,6 +27,7 @@
 import java.util.Collections;
 import java.util.List;
 import org.apache.commons.lang3.StringUtils;
+import org.gvsig.fmap.dal.DataStore;
 import org.gvsig.fmap.dal.feature.FeatureStore;
 import org.gvsig.topology.lib.api.TopologyDataSet;
 import org.gvsig.topology.lib.api.TopologyManager;
@@ -85,7 +86,7 @@
     }
 
     @Override
-    public TopologyDataSet createDataSet(String name, FeatureStore store) {
+    public TopologyDataSet createDataSet(String name, DataStore store) {
         TopologyDataSet dataSet = new DefaultTopologyDataSet(this.services, name, store);
         return dataSet;
     }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyPlan.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyPlan.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyPlan.java	(revision 727)
@@ -30,6 +30,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.gvsig.fmap.dal.DataStore;
 import org.gvsig.fmap.dal.feature.FeatureStore;
 import org.gvsig.fmap.geom.GeometryLocator;
 import org.gvsig.fmap.geom.GeometryManager;
@@ -165,7 +166,7 @@
     }
 
     @Override
-    public TopologyDataSet addDataSet(String name, FeatureStore store) {
+    public TopologyDataSet addDataSet(String name, DataStore store) {
         TopologyDataSet dataSet = manager.createDataSet(name, store);
         return this.addDataSet(dataSet);
     }
@@ -313,7 +314,7 @@
         for (Object o : jsonRules) {
             JSONObject jsonRule = (JSONObject) o;
             TopologyRuleFactory factory = this.manager.getRulefactory(jsonRule.getString("__factoryId"));
-            TopologyRule rule = factory.createRule(this);
+            TopologyRule rule = factory.createRule(this,null, null, -1);
             rule.fromJSON(jsonRule);
             this.addRule(rule);
         }        
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyReport.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyReport.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyReport.java	(revision 727)
@@ -30,15 +30,12 @@
 import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
 import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
 import org.gvsig.expressionevaluator.MutableSymbolTable;
-import org.gvsig.expressionevaluator.spi.AbstractSymbolTable;
 import org.gvsig.fmap.dal.feature.FeatureReference;
 import org.gvsig.fmap.geom.Geometry;
 import org.gvsig.tools.task.SimpleTaskStatus;
 import org.gvsig.topology.lib.api.TopologyDataSet;
 import org.gvsig.topology.lib.api.TopologyPlan;
 import org.gvsig.topology.lib.api.TopologyReport;
-import static org.gvsig.topology.lib.api.TopologyReport.IS_ERROR;
-import static org.gvsig.topology.lib.api.TopologyReport.RULE_ID;
 import org.gvsig.topology.lib.api.TopologyReportLine;
 import org.gvsig.topology.lib.api.TopologyReportLineSet;
 import org.gvsig.topology.lib.api.TopologyRule;
@@ -72,6 +69,7 @@
             }
             SimpleTaskStatus theTaskStatus = plan.getTaskStatus();
             try {
+                theTaskStatus.push();
                 theTaskStatus.restart();
                 theTaskStatus.message("Preparing filter");
                 theTaskStatus.setAutoremove(true);
@@ -105,6 +103,7 @@
                 if (theTaskStatus.isRunning()) {
                     theTaskStatus.terminate();
                 }
+                theTaskStatus.pop();
                 this.completed = true;
             }
         }
@@ -121,13 +120,13 @@
 
     @Override
     public TopologyReportLine addLine(TopologyRule rule, TopologyDataSet dataSet1,
-            TopologyDataSet dataSet2, Geometry geometry,
+            TopologyDataSet dataSet2, Geometry geometry, Geometry error,
             FeatureReference feature1, FeatureReference feature2,
             boolean exception, String description
     ) {
         TopologyReportLine line = new DefaultTopologyReportLine(
-                this, rule, dataSet1, dataSet2, geometry, feature1, feature2,
-                exception, description
+                this, rule, dataSet1, dataSet2, geometry, error, feature1, 
+                feature2, exception, description
         );
         this.lines.add(line);
         this.changeListenerHelper.fireEvent();
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyReportLine.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyReportLine.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyReportLine.java	(revision 727)
@@ -45,12 +45,14 @@
     private final FeatureReference feature2;
     private boolean exception;
     private final String description;
+    private Geometry errorGeometry;
     
     DefaultTopologyReportLine(DefaultTopologyReport report, 
             TopologyRule rule, 
             TopologyDataSet dataSet1, 
             TopologyDataSet dataSet2, 
             Geometry geometry,
+            Geometry error,
             FeatureReference feature1, 
             FeatureReference feature2, 
             boolean exception,
@@ -65,6 +67,7 @@
         this.feature2 = feature2;
         this.exception = exception;
         this.description = description;
+        this.errorGeometry = error;
     }
 
     @Override
@@ -110,4 +113,9 @@
     public String getDescription() {
         return description;
     }
+
+    @Override
+    public Geometry getError() {
+        return this.errorGeometry;
+    }
 }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyDataSet.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyDataSet.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/lib/impl/DefaultTopologyDataSet.java	(revision 727)
@@ -29,6 +29,7 @@
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.mutable.MutableObject;
 import org.gvsig.expressionevaluator.Expression;
+import org.gvsig.fmap.dal.DataStore;
 import org.gvsig.fmap.dal.EditingNotification;
 import org.gvsig.fmap.dal.EditingNotificationManager;
 import org.gvsig.fmap.dal.exception.DataException;
@@ -70,7 +71,7 @@
     
     private TopologyServices services;
     private String name;
-    private FeatureStore store;
+    private DataStore store;
     private boolean needFinishEditing;
     private String fullName;
     private PropertiesSupportHelper propertiesHelper;
@@ -85,7 +86,7 @@
         this.propertiesHelper = new PropertiesSupportHelper();
     }
 
-    public DefaultTopologyDataSet(TopologyServices services, String name, FeatureStore store) {
+    public DefaultTopologyDataSet(TopologyServices services, String name, DataStore store) {
         this.services = services;
         this.name = name;
         this.store = store;
@@ -128,7 +129,7 @@
     @Override
     public String toString() {
         try {
-            FeatureAttributeDescriptor attr = this.getStore().getDefaultFeatureType().getDefaultGeometryAttribute();
+            FeatureAttributeDescriptor attr = this.getFeatureStore().getDefaultFeatureType().getDefaultGeometryAttribute();
             String geomType = attr.getGeomType().getName();
             return this.name + " ("+ geomType + ")";
         } catch(Exception ex) {
@@ -137,7 +138,7 @@
     }
 
     @Override
-    public FeatureStore getStore() {
+    public DataStore getStore() {
         if (this.store == null) {
             this.store = this.services.getFeatureStore(this);
         }
@@ -145,9 +146,17 @@
     }
 
     @Override
+    public FeatureStore getFeatureStore() {
+        if (this.store == null) {
+            this.store = this.services.getFeatureStore(this);
+        }
+        return (FeatureStore) this.store;
+    }
+
+    @Override
     public long getSize() {
         try {
-            long size = this.getStore().getFeatureCount();
+            long size = this.getFeatureStore().getFeatureCount();
             return size;
         } catch (DataException ex) {
             // TODO: mensage al log
@@ -166,7 +175,7 @@
     @Override
     public int getGeometryType() {
         try {
-            FeatureStore theStore = this.getStore();
+            FeatureStore theStore = this.getFeatureStore();
             FeatureType featureType = theStore.getDefaultFeatureType();
             FeatureAttributeDescriptor attr = featureType.getDefaultGeometryAttribute();
             GeometryType geomType = attr.getGeomType();
@@ -178,7 +187,7 @@
 
     @Override
     public void accept(Visitor visitor) throws VisitCanceledException {
-        FeatureStore st = this.getStore();
+        FeatureStore st = this.getFeatureStore();
         try {
             st.accept(visitor);
         } catch(VisitCanceledException ex) {
@@ -190,7 +199,7 @@
 
     @Override
     public void edit() throws DataException {
-        FeatureStore theStore = this.getStore();
+        FeatureStore theStore = this.getFeatureStore();
         if (!theStore.isEditing()) {
             theStore.edit();
             this.needFinishEditing = true;
@@ -200,13 +209,13 @@
     @Override
     public void finishEditing() throws DataException {
         if (this.needFinishEditing) {
-            this.getStore().finishEditing();
+            this.getFeatureStore().finishEditing();
         }
     }
 
     @Override
     public EditableFeature createNewFeature() throws DataException {
-        EditableFeature f = this.getStore().createNewFeature();
+        EditableFeature f = this.getFeatureStore().createNewFeature();
         return f;
     }
 
@@ -218,7 +227,7 @@
 
         EditingNotificationManager editingNotificationManager
                 = DALSwingLocator.getEditingNotificationManager();
-        FeatureStore theStore = this.getStore();
+        FeatureStore theStore = this.getFeatureStore();
         
         EditingNotification notification
                 = editingNotificationManager.notifyObservers(this, // source
@@ -344,7 +353,7 @@
     public SpatialIndex getSpatialIndex() {
         if( this.spatialIndex == null ) {
             this.spatialIndex = new MutableObject<>();
-            FeatureStore theStore = this.getStore();
+            FeatureStore theStore = this.getFeatureStore();
             FeatureStoreProviderFactory storeFactory = (FeatureStoreProviderFactory) theStore.getProviderFactory();
             if( storeFactory.useLocalIndexesCanImprovePerformance()==FeatureStoreProviderFactory.YES ) {
                 try {
@@ -396,7 +405,7 @@
     @Override
     public Feature findFirst(Expression filter) {
         try {
-            return this.getStore().findFirst(filter);
+            return this.getFeatureStore().findFirst(filter);
         } catch (Exception ex) {
             return null;
         }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustBeLargerThanToleranceLineRule.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustBeLargerThanToleranceLineRule.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustBeLargerThanToleranceLineRule.java	(revision 727)
@@ -69,14 +69,6 @@
     
     public MustBeLargerThanToleranceLineRule( 
             TopologyPlan plan,
-            TopologyRuleFactory factory
-    ) {
-        super(plan, factory);
-        this.actions.add(new DeleteAction());
-    }
-    
-    public MustBeLargerThanToleranceLineRule( 
-            TopologyPlan plan,
             TopologyRuleFactory factory,
             double tolerance,
             String dataSet1,
@@ -91,8 +83,8 @@
     public void check(SimpleTaskStatus taskStatus, TopologyReport report, Feature feature) throws Exception {
         Geometry geom = feature.getDefaultGeometry();
         if( geom.perimeter()<this.getTolerance() ) {
-            report.addLine(this, this.getDataSet1(), null, 
-                    geom, feature.getReference(), null, false, 
+            report.addLine(this, this.getDataSet1(), null,
+                    geom, null, feature.getReference(), null, false, 
                     "The length of the line is less than the specified tolerance"
             );
         }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsPointRuleFactory.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsPointRuleFactory.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsPointRuleFactory.java	(revision 727)
@@ -58,9 +58,4 @@
         return rule;
     }    
 
-    @Override
-    public TopologyRule createRule(TopologyPlan plan) {
-        TopologyRule rule = new ContainsPointRule(plan, this);
-        return rule;
-    }
 }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsNullRuleFactory.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsNullRuleFactory.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsNullRuleFactory.java	(revision 727)
@@ -55,9 +55,4 @@
         return rule;
     }    
 
-    @Override
-    public TopologyRule createRule(TopologyPlan plan) {
-        TopologyRule rule = new ContainsNullRule(plan, this);
-        return rule;
-    }
 }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustNotOverlapPolygonRuleFactory.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustNotOverlapPolygonRuleFactory.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustNotOverlapPolygonRuleFactory.java	(revision 727)
@@ -56,9 +56,4 @@
         return rule;
     }    
 
-    @Override
-    public TopologyRule createRule(TopologyPlan plan) {
-        TopologyRule rule = new MustNotOverlapPolygonRule(plan, this);
-        return rule;
-    }
 }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/PointMustBeProperlyInsidePolygonRuleFactory.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/PointMustBeProperlyInsidePolygonRuleFactory.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/PointMustBeProperlyInsidePolygonRuleFactory.java	(revision 727)
@@ -58,9 +58,4 @@
         return rule;
     }    
 
-    @Override
-    public TopologyRule createRule(TopologyPlan plan) {
-        TopologyRule rule = new PointMustBeProperlyInsidePolygonRule(plan, this);
-        return rule;
-    }
 }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustBeLargerThanToleranceLineRuleFactory.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustBeLargerThanToleranceLineRuleFactory.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustBeLargerThanToleranceLineRuleFactory.java	(revision 727)
@@ -49,12 +49,6 @@
     }
     
     @Override
-    public TopologyRule createRule(TopologyPlan plan) {
-        TopologyRule rule = new MustBeLargerThanToleranceLineRule(plan, this);
-        return rule;
-    }
-    
-    @Override
     public TopologyRule createRule(TopologyPlan plan, String dataSet1, String dataSet2, double tolerance) {
         TopologyRule rule = new MustBeLargerThanToleranceLineRule(plan, this, tolerance, dataSet1, dataSet2);
         return rule;
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsPointRule.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsPointRule.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsPointRule.java	(revision 727)
@@ -34,7 +34,6 @@
 import org.gvsig.fmap.dal.feature.FeatureStore;
 import org.gvsig.fmap.geom.Geometry;
 import org.gvsig.fmap.geom.primitive.Point;
-import org.gvsig.fmap.geom.primitive.Polygon;
 import org.gvsig.tools.dynobject.DynObject;
 import org.gvsig.tools.task.SimpleTaskStatus;
 import org.gvsig.topology.lib.spi.AbstractTopologyRule;
@@ -92,14 +91,6 @@
 
     public ContainsPointRule(
             TopologyPlan plan,
-            TopologyRuleFactory factory
-    ) {
-        super(plan, factory);
-        this.actions.add(new CreateFetureAction());
-    }
-
-    public ContainsPointRule(
-            TopologyPlan plan,
             TopologyRuleFactory factory,
             double tolerance,
             String dataSet1,
@@ -114,7 +105,7 @@
     protected void check(SimpleTaskStatus taskStatus, TopologyReport report, Feature feature1) throws Exception {
         FeatureSet set = null;
         try {
-            FeatureStore store2 = this.getDataSet2().getStore();
+            FeatureStore store2 = this.getDataSet2().getFeatureStore();
             if (this.expression == null) {
                 ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
                 this.expression = manager.createExpression();
@@ -124,19 +115,21 @@
             Geometry polygon = feature1.getDefaultGeometry();
             TopologyDataSet theDataSet = this.getDataSet2();
             if (theDataSet.getSpatialIndex() != null) {
-                boolean ok = false;
+                boolean contains = false;
                 for (FeatureReference featureReference : theDataSet.query(polygon)) {
                     Feature feature2 = featureReference.getFeature();
-                    if( polygon.contains(feature2.getDefaultGeometry()) ) {
-                        ok = true;
+                    Geometry otherPoint = feature2.getDefaultGeometry();
+                    if( otherPoint!=null && polygon.contains(otherPoint) ) {
+                        contains = true;
                         break;
                     }
                 }
-                if( !ok ) {
+                if( !contains ) {
                     report.addLine(this,
                             this.getDataSet1(),
                             this.getDataSet2(),
                             polygon,
+                            polygon,
                             feature1.getReference(),
                             null,
                             false,
@@ -159,6 +152,7 @@
                             this.getDataSet1(),
                             this.getDataSet2(),
                             polygon,
+                            polygon,
                             feature1.getReference(),
                             null,
                             false,
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsNullRule.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsNullRule.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/ContainsNullRule.java	(revision 727)
@@ -40,13 +40,6 @@
 
     public ContainsNullRule(
             TopologyPlan plan,
-            TopologyRuleFactory factory
-    ) {
-        super(plan, factory);
-    }
-    
-    public ContainsNullRule(
-            TopologyPlan plan,
             TopologyRuleFactory factory,
             double tolerance,
             String dataSet1,
@@ -64,6 +57,7 @@
                         this.getDataSet1(),
                         this.getDataSet2(),
                         feature1.getDefaultGeometry(),
+                        null,
                         feature1.getReference(),
                         null,
                         false,
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustNotOverlapPolygonRule.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustNotOverlapPolygonRule.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/MustNotOverlapPolygonRule.java	(revision 727)
@@ -134,16 +134,6 @@
 
     public MustNotOverlapPolygonRule(
             TopologyPlan plan,
-            TopologyRuleFactory factory
-    ) {
-        super(plan, factory);
-        this.addAction(new CreateFetureAction());
-        this.addAction(new MergeAction());
-        this.addAction(new SubtractAction());
-    }
-
-    public MustNotOverlapPolygonRule(
-            TopologyPlan plan,
             TopologyRuleFactory factory,
             double tolerance,
             String dataSet1
@@ -174,11 +164,14 @@
                         continue;
                     }
                     Feature feature = reference.getFeature();
-                    if (polygon.overlaps(feature.getDefaultGeometry())) {
+                    Geometry otherPolygon = feature.getDefaultGeometry();
+                    if (otherPolygon!=null && polygon.overlaps(otherPolygon)) {;
+                        Geometry error = otherPolygon.difference(polygon);
                         report.addLine(this,
                                 theDataSet,
                                 null,
                                 polygon,
+                                error,
                                 feature1.getReference(),
                                 null,
                                 false,
@@ -198,11 +191,18 @@
                                 )
                         ).toString()
                 );
-                if (theDataSet.findFirst(this.expression) != null) {
+                Feature feature = theDataSet.findFirst(this.expression);
+                if ( feature != null) {
+                    Geometry otherPolygon = feature.getDefaultGeometry();
+                    Geometry error = null;
+                    if( otherPolygon!=null ) {
+                        error = polygon.difference(otherPolygon);
+                    }
                     report.addLine(this,
                             theDataSet,
                             null,
                             polygon,
+                            error,
                             feature1.getReference(),
                             null,
                             false,
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/PointMustBeProperlyInsidePolygonRule.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/PointMustBeProperlyInsidePolygonRule.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.impl/src/main/java/org/gvsig/topology/rule/PointMustBeProperlyInsidePolygonRule.java	(revision 727)
@@ -82,14 +82,6 @@
 
     public PointMustBeProperlyInsidePolygonRule(
             TopologyPlan plan,
-            TopologyRuleFactory factory
-    ) {
-        super(plan, factory);
-        this.actions.add(new DeleteAction());
-    }
-
-    public PointMustBeProperlyInsidePolygonRule(
-            TopologyPlan plan,
             TopologyRuleFactory factory,
             double tolerance,
             String dataSet1,
@@ -104,7 +96,7 @@
     protected void check(SimpleTaskStatus taskStatus, TopologyReport report, Feature feature1) throws Exception {
         FeatureSet set = null;
         try {
-            FeatureStore store2 = this.getDataSet2().getStore();
+            FeatureStore store2 = this.getDataSet2().getFeatureStore();
             if (this.expression == null) {
                 ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
                 this.expression = manager.createExpression();
@@ -113,32 +105,34 @@
             }
             Geometry point = feature1.getDefaultGeometry();
             TopologyDataSet theDataSet = this.getDataSet2();
-//            if (theDataSet.getSpatialIndex() != null) {
-//                boolean ok = false;
-//                for (FeatureReference featureReference : theDataSet.query(point)) {
-//                    Feature feature2 = featureReference.getFeature();
-//                    if( feature2.getDefaultGeometry().overlaps(point) ) {
-//                        ok = true;
-//                        break;
-//                    }
-//                }
-//                if( !ok ) {
-//                    report.addLine(this,
-//                            this.getDataSet1(),
-//                            this.getDataSet2(),
-//                            point,
-//                            feature1.getReference(),
-//                            null,
-//                            false,
-//                            "The point are error where are not inside a polygon."
-//                    );
-//                }
-//            } else {
+            if (theDataSet.getSpatialIndex() != null) {
+                boolean contained = false;
+                for (FeatureReference featureReference : theDataSet.query(point)) {
+                    Feature feature2 = featureReference.getFeature();
+                    Geometry otherPolygon = feature2.getDefaultGeometry();
+                    if( otherPolygon!=null && otherPolygon.contains(point) ) {
+                        contained = true;
+                        break;
+                    }
+                }
+                if( !contained ) {
+                    report.addLine(this,
+                            this.getDataSet1(),
+                            this.getDataSet2(),
+                            point,
+                            point,
+                            feature1.getReference(),
+                            null,
+                            false,
+                            "The point are error where are not inside a polygon."
+                    );
+                }
+            } else {
                 this.expression.setPhrase(
                         this.expressionBuilder.ifnull(
                                 this.expressionBuilder.column(this.geomName),
                                 this.expressionBuilder.constant(false),
-                                this.expressionBuilder.ST_Overlaps(
+                                this.expressionBuilder.ST_Contains(
                                         this.expressionBuilder.column(this.geomName),
                                         this.expressionBuilder.geometry(point)
                                 )
@@ -149,13 +143,14 @@
                             this.getDataSet1(),
                             this.getDataSet2(),
                             point,
+                            point,
                             feature1.getReference(),
                             null,
                             false,
                             "The point are error where are not inside a polygon."
                     );
                 }
-//            }
+            }
         } catch (Exception ex) {
             LOGGER.warn("Can't check feature.", ex);
         } finally {
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyRuleFactory.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyRuleFactory.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyRuleFactory.java	(revision 727)
@@ -44,8 +44,6 @@
     
     public TopologyRule createRule(TopologyPlan plan, String dataSet1, String dataSet2, double tolerance);
 
-    public TopologyRule createRule(TopologyPlan plan);
-
     public boolean hasSecondaryDataSet();
 
     public boolean canApplyToDataSet(TopologyDataSet dataSet);
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyManager.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyManager.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyManager.java	(revision 727)
@@ -24,7 +24,7 @@
 package org.gvsig.topology.lib.api;
 
 import java.util.List;
-import org.gvsig.fmap.dal.feature.FeatureStore;
+import org.gvsig.fmap.dal.DataStore;
 
 /**
  *
@@ -42,7 +42,7 @@
 
     public void addRuleFactories(TopologyRuleFactory factory);
 
-    public TopologyDataSet createDataSet(String name, FeatureStore store);
+    public TopologyDataSet createDataSet(String name, DataStore store);
     
     public void setDefaultServices(TopologyServices services);
 
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyReport.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyReport.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyReport.java	(revision 727)
@@ -44,6 +44,7 @@
             TopologyDataSet dataSet1,
             TopologyDataSet dataSet2,
             Geometry geometry,
+            Geometry error,
             FeatureReference feature1,
             FeatureReference feature2,
             boolean exception,
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyReportLine.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyReportLine.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyReportLine.java	(revision 727)
@@ -40,6 +40,8 @@
     
     public Geometry getGeometry();
     
+    public Geometry getError();
+    
     public FeatureReference getFeature1();
 
     public FeatureReference getFeature2();
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyDataSet.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyDataSet.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyDataSet.java	(revision 727)
@@ -24,6 +24,7 @@
 package org.gvsig.topology.lib.api;
 
 import org.gvsig.expressionevaluator.Expression;
+import org.gvsig.fmap.dal.DataStore;
 import org.gvsig.fmap.dal.exception.DataException;
 import org.gvsig.fmap.dal.feature.EditableFeature;
 import org.gvsig.fmap.dal.feature.Feature;
@@ -49,8 +50,10 @@
 
     public String getName();
     
-    public FeatureStore getStore();
+    public DataStore getStore();
 
+    public FeatureStore getFeatureStore();
+
     public boolean isThisStore(FeatureStore featureStore);
 
     public int getGeometryType() ;
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyPlan.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyPlan.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/api/TopologyPlan.java	(revision 727)
@@ -24,6 +24,7 @@
 package org.gvsig.topology.lib.api;
 
 import java.util.Collection;
+import org.gvsig.fmap.dal.DataStore;
 import org.gvsig.fmap.dal.feature.FeatureStore;
 import org.gvsig.tools.task.SimpleTaskStatus;
 
@@ -52,7 +53,7 @@
     
     public void execute();
     
-    public TopologyDataSet addDataSet(String name, FeatureStore store);
+    public TopologyDataSet addDataSet(String name, DataStore store);
 
     public TopologyDataSet addDataSet(TopologyDataSet dataSet);
     
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/spi/AbstractTopologyRule.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/spi/AbstractTopologyRule.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.lib/org.gvsig.topology.lib.api/src/main/java/org/gvsig/topology/lib/spi/AbstractTopologyRule.java	(revision 727)
@@ -56,34 +56,21 @@
     private String dataSet1;
     private String dataSet2;
 
-//    protected TopologyReport report;
     protected List<TopologyRuleAction> actions;
 
     protected AbstractTopologyRule(
             TopologyPlan plan,
-            TopologyRuleFactory factory
-    ) {
-        this.plan = plan;
-        this.factory = factory;
-
-        this.tolerance = plan.getTolerance();
-        this.dataSet1 = null;
-        this.dataSet2 = null;
-//        this.report = null;
-        this.actions = new ArrayList<>();
-    }
-    
-    protected AbstractTopologyRule(
-            TopologyPlan plan,
             TopologyRuleFactory factory,
             double tolerance,
             String dataSet1,
             String dataSet2
     ) {
-        this(plan,factory);
+        this.plan = plan;
+        this.factory = factory;
         this.tolerance = tolerance;
         this.dataSet1 = dataSet1;
         this.dataSet2 = dataSet2;
+        this.actions = new ArrayList<>();
     }
 
     protected AbstractTopologyRule(
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanPropertiesView.xml
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanPropertiesView.xml	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanPropertiesView.xml	(revision 727)
@@ -24,7 +24,7 @@
     </at>
     <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
    </super>
-   <at name="id">/home/jjdelcerro/datos/devel/prototipo-topologia/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanPropertiesView.xml</at>
+   <at name="id">/home/jjdelcerro/datos/devel/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanPropertiesView.xml</at>
    <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
    <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
    <at name="components">
@@ -222,7 +222,7 @@
                       </at>
                       <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
                      </super>
-                     <at name="id">embedded.1535098908</at>
+                     <at name="id">embedded.536063130</at>
                      <at name="rowspecs">CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
                      <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
                      <at name="components">
@@ -332,7 +332,7 @@
                            </at>
                            <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
                           </super>
-                          <at name="id">embedded.963242669</at>
+                          <at name="id">embedded.535055035</at>
                           <at name="rowspecs">CENTER:DEFAULT:NONE</at>
                           <at name="colspecs">FILL:8DLU:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
                           <at name="components">
@@ -388,8 +388,8 @@
                                    <at name="icon">
                                     <object classname="com.jeta.forms.store.properties.IconProperty">
                                      <at name="embedded">false</at>
-                                     <at name="path">org/gvsig/topology/swing/impl/images/dataset_add.png</at>
-                                     <at name="description">dataset_add.png</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-plan-dataset-add.png</at>
+                                     <at name="description">topology-plan-dataset-add.png</at>
                                      <at name="width">16</at>
                                      <at name="height">16</at>
                                     </object>
@@ -456,8 +456,8 @@
                                    <at name="icon">
                                     <object classname="com.jeta.forms.store.properties.IconProperty">
                                      <at name="embedded">false</at>
-                                     <at name="path">org/gvsig/topology/swing/impl/images/dataset_remove.png</at>
-                                     <at name="description">dataset_remove.png</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-plan-dataset-remove.png</at>
+                                     <at name="description">topology-plan-dataset-remove.png</at>
                                      <at name="width">16</at>
                                      <at name="height">16</at>
                                     </object>
@@ -679,7 +679,7 @@
                       </at>
                       <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
                      </super>
-                     <at name="id">embedded.2016354724</at>
+                     <at name="id">embedded.586608407</at>
                      <at name="rowspecs">CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
                      <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
                      <at name="components">
@@ -789,9 +789,9 @@
                            </at>
                            <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
                           </super>
-                          <at name="id">embedded.877338052</at>
+                          <at name="id">embedded.82125976</at>
                           <at name="rowspecs">CENTER:DEFAULT:NONE</at>
-                          <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
+                          <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
                           <at name="components">
                            <object classname="java.util.LinkedList">
                             <item >
@@ -800,7 +800,7 @@
                                <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="column">7</at>
                                   <at name="row">1</at>
                                   <at name="colspan">1</at>
                                   <at name="rowspan">1</at>
@@ -845,8 +845,8 @@
                                    <at name="icon">
                                     <object classname="com.jeta.forms.store.properties.IconProperty">
                                      <at name="embedded">false</at>
-                                     <at name="path">org/gvsig/topology/swing/impl/images/rule_add.png</at>
-                                     <at name="description">rule_add.png</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-plan-rule-add.png</at>
+                                     <at name="description">topology-plan-rule-add.png</at>
                                      <at name="width">16</at>
                                      <at name="height">16</at>
                                     </object>
@@ -913,8 +913,8 @@
                                    <at name="icon">
                                     <object classname="com.jeta.forms.store.properties.IconProperty">
                                      <at name="embedded">false</at>
-                                     <at name="path">org/gvsig/topology/swing/impl/images/rule_remove.png</at>
-                                     <at name="description">rule_remove.png</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-plan-rule-remove.png</at>
+                                     <at name="description">topology-plan-rule-remove.png</at>
                                      <at name="width">16</at>
                                      <at name="height">16</at>
                                     </object>
@@ -930,6 +930,74 @@
                               </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">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.EmptyBorderProperty">
+                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
+                                           <at name="name">border</at>
+                                          </super>
+                                          <at name="top">2</at>
+                                          <at name="left">2</at>
+                                          <at name="bottom">2</at>
+                                          <at name="right">2</at>
+                                         </object>
+                                        </at>
+                                       </item>
+                                      </object>
+                                     </at>
+                                    </object>
+                                   </at>
+                                   <at name="icon">
+                                    <object classname="com.jeta.forms.store.properties.IconProperty">
+                                     <at name="embedded">false</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-plan-rule-edit.png</at>
+                                     <at name="description">topology-plan-rule-edit.png</at>
+                                     <at name="width">16</at>
+                                     <at name="height">16</at>
+                                    </object>
+                                   </at>
+                                   <at name="name">btnEditRule</at>
+                                   <at name="width">20</at>
+                                   <at name="toolTipText">_Edit_rule</at>
+                                   <at name="height">20</at>
+                                  </object>
+                                 </at>
+                                </object>
+                               </at>
+                              </object>
+                             </at>
+                            </item>
                            </object>
                           </at>
                           <at name="properties">
@@ -989,7 +1057,7 @@
                             <at name="rows">
                              <object classname="[Ljava.lang.Object;" size="1">
                               <at name="item" index="0">
-                               <object classname="[Ljava.lang.Object;" size="5"/>
+                               <object classname="[Ljava.lang.Object;" size="7"/>
                               </at>
                              </object>
                             </at>
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanPropertiesView.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanPropertiesView.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanPropertiesView.java	(revision 727)
@@ -31,6 +31,7 @@
    JList lstRules = new JList();
    JButton btnAddRule = new JButton();
    JButton btnRemoveRule = new JButton();
+   JButton btnEditRule = new JButton();
    JLabel lblTolerance = new JLabel();
    JTextField txtTolerance = new JTextField();
 
@@ -178,14 +179,14 @@
       CellConstraints cc = new CellConstraints();
       jpanel1.setLayout(formlayout1);
 
-      btnAddDataSet.setIcon(loadImage("org/gvsig/topology/swing/impl/images/dataset_add.png"));
+      btnAddDataSet.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-plan-dataset-add.png"));
       btnAddDataSet.setName("btnAddDataSet");
       btnAddDataSet.setToolTipText("_Add_dataset");
       EmptyBorder emptyborder1 = new EmptyBorder(2,2,2,2);
       btnAddDataSet.setBorder(emptyborder1);
       jpanel1.add(btnAddDataSet,cc.xy(6,1));
 
-      btnRemoveDataSet.setIcon(loadImage("org/gvsig/topology/swing/impl/images/dataset_remove.png"));
+      btnRemoveDataSet.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-plan-dataset-remove.png"));
       btnRemoveDataSet.setName("btnRemoveDataSet");
       btnRemoveDataSet.setToolTipText("_Remove_dataset");
       EmptyBorder emptyborder2 = new EmptyBorder(2,2,2,2);
@@ -218,25 +219,32 @@
    public JPanel createPanel4()
    {
       JPanel jpanel1 = new JPanel();
-      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE");
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE");
       CellConstraints cc = new CellConstraints();
       jpanel1.setLayout(formlayout1);
 
-      btnAddRule.setIcon(loadImage("org/gvsig/topology/swing/impl/images/rule_add.png"));
+      btnAddRule.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-plan-rule-add.png"));
       btnAddRule.setName("btnAddRule");
       btnAddRule.setToolTipText("_Add_rule");
       EmptyBorder emptyborder1 = new EmptyBorder(2,2,2,2);
       btnAddRule.setBorder(emptyborder1);
-      jpanel1.add(btnAddRule,cc.xy(5,1));
+      jpanel1.add(btnAddRule,cc.xy(7,1));
 
-      btnRemoveRule.setIcon(loadImage("org/gvsig/topology/swing/impl/images/rule_remove.png"));
+      btnRemoveRule.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-plan-rule-remove.png"));
       btnRemoveRule.setName("btnRemoveRule");
       btnRemoveRule.setToolTipText("_Remove_rule");
       EmptyBorder emptyborder2 = new EmptyBorder(2,2,2,2);
       btnRemoveRule.setBorder(emptyborder2);
       jpanel1.add(btnRemoveRule,cc.xy(3,1));
 
-      addFillComponents(jpanel1,new int[]{ 1,2,4 },new int[]{ 1 });
+      btnEditRule.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-plan-rule-edit.png"));
+      btnEditRule.setName("btnEditRule");
+      btnEditRule.setToolTipText("_Edit_rule");
+      EmptyBorder emptyborder3 = new EmptyBorder(2,2,2,2);
+      btnEditRule.setBorder(emptyborder3);
+      jpanel1.add(btnEditRule,cc.xy(5,1));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,4,6 },new int[]{ 1 });
       return jpanel1;
    }
 
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyReportView.xml
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyReportView.xml	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyReportView.xml	(revision 727)
@@ -24,7 +24,7 @@
     </at>
     <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
    </super>
-   <at name="id">/home/jjdelcerro/datos/devel/prototipo-topologia/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyReportView.xml</at>
+   <at name="id">/home/jjdelcerro/datos/devel/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyReportView.xml</at>
    <at name="rowspecs">CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE</at>
    <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
    <at name="components">
@@ -88,7 +88,6 @@
                    <at name="icon">
                     <object classname="com.jeta.forms.store.properties.IconProperty">
                      <at name="embedded">false</at>
-                     <at name="description"></at>
                      <at name="width">0</at>
                      <at name="height">0</at>
                     </object>
@@ -109,7 +108,7 @@
                       </at>
                       <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
                      </super>
-                     <at name="id">embedded.I5d4583f6A16842ecedd0BY7ff8</at>
+                     <at name="id">embedded.1967681505</at>
                      <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
                      <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
                      <at name="components">
@@ -212,9 +211,9 @@
                            </at>
                            <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
                           </super>
-                          <at name="id">embedded.468849015</at>
+                          <at name="id">embedded.1447955211</at>
                           <at name="rowspecs">CENTER:DEFAULT:NONE</at>
-                          <at name="colspecs">FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE</at>
+                          <at name="colspecs">FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:8DLU:NONE,FILL:DEFAULT:NONE,FILL:8DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE</at>
                           <at name="components">
                            <object classname="java.util.LinkedList">
                             <item >
@@ -322,7 +321,7 @@
                                     </object>
                                    </at>
                                    <at name="name">cboRules</at>
-                                   <at name="width">611</at>
+                                   <at name="width">464</at>
                                    <at name="items">
                                     <object classname="com.jeta.forms.store.properties.ItemsProperty">
                                      <at name="name">items</at>
@@ -387,8 +386,8 @@
                                    <at name="icon">
                                     <object classname="com.jeta.forms.store.properties.IconProperty">
                                      <at name="embedded">false</at>
-                                     <at name="path">org/gvsig/topology/swing/impl/images/visible_extent.png</at>
-                                     <at name="description">visible_extent.png</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-report-filter-visible-extent.png</at>
+                                     <at name="description">topology-report-filter-visible-extent.png</at>
                                      <at name="width">16</at>
                                      <at name="height">16</at>
                                     </object>
@@ -410,7 +409,7 @@
                                <super classname="com.jeta.forms.store.memento.ComponentMemento">
                                 <at name="cellconstraints">
                                  <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
-                                  <at name="column">11</at>
+                                  <at name="column">13</at>
                                   <at name="row">1</at>
                                   <at name="colspan">1</at>
                                   <at name="rowspan">1</at>
@@ -455,13 +454,13 @@
                                    <at name="icon">
                                     <object classname="com.jeta.forms.store.properties.IconProperty">
                                      <at name="embedded">false</at>
-                                     <at name="path">org/gvsig/topology/swing/impl/images/zoom.png</at>
-                                     <at name="description">zoom.png</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-report-zoom-geometry.png</at>
+                                     <at name="description">topology-report-zoom-geometry.png</at>
                                      <at name="width">16</at>
                                      <at name="height">16</at>
                                     </object>
                                    </at>
-                                   <at name="name">btnZoom</at>
+                                   <at name="name">btnZoomGeometry</at>
                                    <at name="width">20</at>
                                    <at name="toolTipText">_Zoom</at>
                                    <at name="height">20</at>
@@ -478,7 +477,7 @@
                                <super classname="com.jeta.forms.store.memento.ComponentMemento">
                                 <at name="cellconstraints">
                                  <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
-                                  <at name="column">13</at>
+                                  <at name="column">23</at>
                                   <at name="row">1</at>
                                   <at name="colspan">1</at>
                                   <at name="rowspan">1</at>
@@ -523,15 +522,15 @@
                                    <at name="icon">
                                     <object classname="com.jeta.forms.store.properties.IconProperty">
                                      <at name="embedded">false</at>
-                                     <at name="path">org/gvsig/topology/swing/impl/images/center_view.png</at>
-                                     <at name="description">center_view.png</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-report-actions.png</at>
+                                     <at name="description">topology-report-actions.png</at>
                                      <at name="width">16</at>
                                      <at name="height">16</at>
                                     </object>
                                    </at>
-                                   <at name="name">btnCenter</at>
+                                   <at name="name">btnActions</at>
                                    <at name="width">20</at>
-                                   <at name="toolTipText">_Center</at>
+                                   <at name="toolTipText">_Actions</at>
                                    <at name="height">20</at>
                                   </object>
                                  </at>
@@ -546,7 +545,7 @@
                                <super classname="com.jeta.forms.store.memento.ComponentMemento">
                                 <at name="cellconstraints">
                                  <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
-                                  <at name="column">15</at>
+                                  <at name="column">25</at>
                                   <at name="row">1</at>
                                   <at name="colspan">1</at>
                                   <at name="rowspan">1</at>
@@ -591,15 +590,15 @@
                                    <at name="icon">
                                     <object classname="com.jeta.forms.store.properties.IconProperty">
                                      <at name="embedded">false</at>
-                                     <at name="path">org/gvsig/topology/swing/impl/images/show_actions.png</at>
-                                     <at name="description">show_actions.png</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-report-refresh.png</at>
+                                     <at name="description">topology-report-refresh.png</at>
                                      <at name="width">16</at>
                                      <at name="height">16</at>
                                     </object>
                                    </at>
-                                   <at name="name">btnActions</at>
+                                   <at name="name">btnRefresh</at>
                                    <at name="width">20</at>
-                                   <at name="toolTipText">_Actions</at>
+                                   <at name="toolTipText">_Update</at>
                                    <at name="height">20</at>
                                   </object>
                                  </at>
@@ -614,7 +613,7 @@
                                <super classname="com.jeta.forms.store.memento.ComponentMemento">
                                 <at name="cellconstraints">
                                  <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
-                                  <at name="column">17</at>
+                                  <at name="column">5</at>
                                   <at name="row">1</at>
                                   <at name="colspan">1</at>
                                   <at name="rowspan">1</at>
@@ -626,10 +625,10 @@
                                 <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="beanclass">javax.swing.JToggleButton</at>
                                <at name="beanproperties">
                                 <object classname="com.jeta.forms.store.memento.PropertiesMemento">
-                                 <at name="classname">javax.swing.JButton</at>
+                                 <at name="classname">javax.swing.JToggleButton</at>
                                  <at name="properties">
                                   <object classname="com.jeta.forms.store.support.PropertyMap">
                                    <at name="border">
@@ -659,15 +658,15 @@
                                    <at name="icon">
                                     <object classname="com.jeta.forms.store.properties.IconProperty">
                                      <at name="embedded">false</at>
-                                     <at name="path">org/gvsig/topology/swing/impl/images/refresh.png</at>
-                                     <at name="description">refresh.png</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-report-filter-errors.png</at>
+                                     <at name="description">topology-report-filter-errors.png</at>
                                      <at name="width">16</at>
                                      <at name="height">16</at>
                                     </object>
                                    </at>
-                                   <at name="name">btnRefresh</at>
+                                   <at name="name">btnShowErrors</at>
                                    <at name="width">20</at>
-                                   <at name="toolTipText">_Update</at>
+                                   <at name="toolTipText">_Show_errors</at>
                                    <at name="height">20</at>
                                   </object>
                                  </at>
@@ -682,7 +681,7 @@
                                <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="column">7</at>
                                   <at name="row">1</at>
                                   <at name="colspan">1</at>
                                   <at name="rowspan">1</at>
@@ -727,15 +726,15 @@
                                    <at name="icon">
                                     <object classname="com.jeta.forms.store.properties.IconProperty">
                                      <at name="embedded">false</at>
-                                     <at name="path">org/gvsig/topology/swing/impl/images/show_errors.png</at>
-                                     <at name="description">show_errors.png</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-report-filter-exceptions.png</at>
+                                     <at name="description">topology-report-filter-exceptions.png</at>
                                      <at name="width">16</at>
                                      <at name="height">16</at>
                                     </object>
                                    </at>
-                                   <at name="name">btnShowErrors</at>
+                                   <at name="name">btnShowExceptions</at>
                                    <at name="width">20</at>
-                                   <at name="toolTipText">_Show_only_in_visible_extent</at>
+                                   <at name="toolTipText">_Show_exceptions</at>
                                    <at name="height">20</at>
                                   </object>
                                  </at>
@@ -750,7 +749,7 @@
                                <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="column">11</at>
                                   <at name="row">1</at>
                                   <at name="colspan">1</at>
                                   <at name="rowspan">1</at>
@@ -795,15 +794,15 @@
                                    <at name="icon">
                                     <object classname="com.jeta.forms.store.properties.IconProperty">
                                      <at name="embedded">false</at>
-                                     <at name="path">org/gvsig/topology/swing/impl/images/show_exceptions.png</at>
-                                     <at name="description">show_exceptions.png</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-report-show-form.png</at>
+                                     <at name="description">topology-report-show-form.png</at>
                                      <at name="width">16</at>
                                      <at name="height">16</at>
                                     </object>
                                    </at>
-                                   <at name="name">btnShowExceptions</at>
+                                   <at name="name">btnShowForm</at>
                                    <at name="width">20</at>
-                                   <at name="toolTipText">_Show_only_in_visible_extent</at>
+                                   <at name="toolTipText">_Show_form_when_modify_geometry</at>
                                    <at name="height">20</at>
                                   </object>
                                  </at>
@@ -812,6 +811,278 @@
                               </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">19</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.EmptyBorderProperty">
+                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
+                                           <at name="name">border</at>
+                                          </super>
+                                          <at name="top">2</at>
+                                          <at name="left">2</at>
+                                          <at name="bottom">2</at>
+                                          <at name="right">2</at>
+                                         </object>
+                                        </at>
+                                       </item>
+                                      </object>
+                                     </at>
+                                    </object>
+                                   </at>
+                                   <at name="icon">
+                                    <object classname="com.jeta.forms.store.properties.IconProperty">
+                                     <at name="embedded">false</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-report-center-error.png</at>
+                                     <at name="description">topology-report-center-error.png</at>
+                                     <at name="width">16</at>
+                                     <at name="height">16</at>
+                                    </object>
+                                   </at>
+                                   <at name="name">btnCenterError</at>
+                                   <at name="width">20</at>
+                                   <at name="toolTipText">_Center_error</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">15</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.EmptyBorderProperty">
+                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
+                                           <at name="name">border</at>
+                                          </super>
+                                          <at name="top">2</at>
+                                          <at name="left">2</at>
+                                          <at name="bottom">2</at>
+                                          <at name="right">2</at>
+                                         </object>
+                                        </at>
+                                       </item>
+                                      </object>
+                                     </at>
+                                    </object>
+                                   </at>
+                                   <at name="icon">
+                                    <object classname="com.jeta.forms.store.properties.IconProperty">
+                                     <at name="embedded">false</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-report-center-geometry.png</at>
+                                     <at name="description">topology-report-center-geometry.png</at>
+                                     <at name="width">16</at>
+                                     <at name="height">16</at>
+                                    </object>
+                                   </at>
+                                   <at name="name">btnCenterGeometry</at>
+                                   <at name="width">20</at>
+                                   <at name="toolTipText">_Center_geometry</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">17</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.EmptyBorderProperty">
+                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
+                                           <at name="name">border</at>
+                                          </super>
+                                          <at name="top">2</at>
+                                          <at name="left">2</at>
+                                          <at name="bottom">2</at>
+                                          <at name="right">2</at>
+                                         </object>
+                                        </at>
+                                       </item>
+                                      </object>
+                                     </at>
+                                    </object>
+                                   </at>
+                                   <at name="icon">
+                                    <object classname="com.jeta.forms.store.properties.IconProperty">
+                                     <at name="embedded">false</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-report-zoom-error.png</at>
+                                     <at name="description">topology-report-zoom-error.png</at>
+                                     <at name="width">16</at>
+                                     <at name="height">16</at>
+                                    </object>
+                                   </at>
+                                   <at name="name">btnZoomError</at>
+                                   <at name="width">20</at>
+                                   <at name="toolTipText">_Zoom</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">21</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.EmptyBorderProperty">
+                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
+                                           <at name="name">border</at>
+                                          </super>
+                                          <at name="top">2</at>
+                                          <at name="left">2</at>
+                                          <at name="bottom">2</at>
+                                          <at name="right">2</at>
+                                         </object>
+                                        </at>
+                                       </item>
+                                      </object>
+                                     </at>
+                                    </object>
+                                   </at>
+                                   <at name="icon">
+                                    <object classname="com.jeta.forms.store.properties.IconProperty">
+                                     <at name="embedded">false</at>
+                                     <at name="path">org/gvsig/topology/swing/impl/images/topology-report-erase-errors.png</at>
+                                     <at name="description">topology-report-erase-errors.png</at>
+                                     <at name="width">16</at>
+                                     <at name="height">16</at>
+                                    </object>
+                                   </at>
+                                   <at name="name">btnEraseErrorMarks</at>
+                                   <at name="width">20</at>
+                                   <at name="toolTipText">_Erase_error_marks</at>
+                                   <at name="height">20</at>
+                                  </object>
+                                 </at>
+                                </object>
+                               </at>
+                              </object>
+                             </at>
+                            </item>
                            </object>
                           </at>
                           <at name="properties">
@@ -829,7 +1100,7 @@
                                 </at>
                                </object>
                               </at>
-                              <at name="name"></at>
+                              <at name="name"/>
                               <at name="fill">
                                <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
                                 <at name="name">fill</at>
@@ -871,7 +1142,7 @@
                             <at name="rows">
                              <object classname="[Ljava.lang.Object;" size="1">
                               <at name="item" index="0">
-                               <object classname="[Ljava.lang.Object;" size="17"/>
+                               <object classname="[Ljava.lang.Object;" size="25"/>
                               </at>
                              </object>
                             </at>
@@ -911,7 +1182,7 @@
                            </at>
                           </object>
                          </at>
-                         <at name="name"></at>
+                         <at name="name"/>
                          <at name="fill">
                           <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
                            <at name="name">fill</at>
@@ -922,6 +1193,26 @@
                            <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>
@@ -981,7 +1272,6 @@
                    <at name="icon">
                     <object classname="com.jeta.forms.store.properties.IconProperty">
                      <at name="embedded">false</at>
-                     <at name="description"></at>
                      <at name="width">0</at>
                      <at name="height">0</at>
                     </object>
@@ -1002,7 +1292,7 @@
                       </at>
                       <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
                      </super>
-                     <at name="id">embedded.O5d4583f6Q16842ecedd0UK7ff6</at>
+                     <at name="id">embedded.2138351478</at>
                      <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
                      <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
                      <at name="components">
@@ -1043,6 +1333,124 @@
                        </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">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">lblActionDescription</at>
+                              <at name="width">908</at>
+                              <at name="fill">
+                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                                <at name="name">fill</at>
+                               </object>
+                              </at>
+                              <at name="height">12</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">lblActionTitle</at>
+                              <at name="width">908</at>
+                              <at name="fill">
+                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                                <at name="name">fill</at>
+                               </object>
+                              </at>
+                              <at name="height">12</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">
@@ -1058,7 +1466,7 @@
                            </at>
                            <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
                           </super>
-                          <at name="id">embedded.D5d4583f6H16842ecedd0AL7ff2</at>
+                          <at name="id">embedded.1789563886</at>
                           <at name="rowspecs">CENTER:DEFAULT:NONE</at>
                           <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
                           <at name="components">
@@ -1192,7 +1600,7 @@
                                 </at>
                                </object>
                               </at>
-                              <at name="name"></at>
+                              <at name="name"/>
                               <at name="fill">
                                <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
                                 <at name="name">fill</at>
@@ -1203,6 +1611,26 @@
                                 <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>
@@ -1237,124 +1665,6 @@
                          </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">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">lblActionDescription</at>
-                              <at name="width">908</at>
-                              <at name="fill">
-                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
-                                <at name="name">fill</at>
-                               </object>
-                              </at>
-                              <at name="height">12</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">lblActionTitle</at>
-                              <at name="width">908</at>
-                              <at name="fill">
-                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
-                                <at name="name">fill</at>
-                               </object>
-                              </at>
-                              <at name="height">12</at>
-                             </object>
-                            </at>
-                           </object>
-                          </at>
-                         </object>
-                        </at>
-                       </item>
                       </object>
                      </at>
                      <at name="properties">
@@ -1372,7 +1682,7 @@
                            </at>
                           </object>
                          </at>
-                         <at name="name"></at>
+                         <at name="name"/>
                          <at name="fill">
                           <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
                            <at name="name">fill</at>
@@ -1383,6 +1693,26 @@
                            <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>
@@ -1474,7 +1804,7 @@
          </at>
          <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
         </super>
-        <at name="id">embedded.V5d4583f6K16842ecedd0BS7ffe</at>
+        <at name="id">embedded.1162152160</at>
         <at name="rowspecs">CENTER:DEFAULT:NONE</at>
         <at name="colspecs">FILL:DEFAULT:GROW(0.3),FILL:4DLU:NONE,FILL:DEFAULT:GROW(0.7),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
         <at name="components">
@@ -1731,7 +2061,7 @@
               </at>
              </object>
             </at>
-            <at name="name"></at>
+            <at name="name"/>
             <at name="fill">
              <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
               <at name="name">fill</at>
@@ -1742,6 +2072,26 @@
               <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>
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyReportView.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyReportView.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyReportView.java	(revision 727)
@@ -29,17 +29,21 @@
    JLabel lblShow = new JLabel();
    JComboBox cboRules = new JComboBox();
    JToggleButton btnVisibleExtentOnly = new JToggleButton();
-   JButton btnZoom = new JButton();
-   JButton btnCenter = new JButton();
+   JButton btnZoomGeometry = new JButton();
    JButton btnActions = new JButton();
    JButton btnRefresh = new JButton();
    JToggleButton btnShowErrors = new JToggleButton();
    JToggleButton btnShowExceptions = new JToggleButton();
+   JToggleButton btnShowForm = new JToggleButton();
+   JButton btnCenterError = new JButton();
+   JButton btnCenterGeometry = new JButton();
+   JButton btnZoomError = new JButton();
+   JButton btnEraseErrorMarks = new JButton();
    JPanel pnlParameters = new JPanel();
+   JLabel lblActionDescription = new JLabel();
+   JLabel lblActionTitle = new JLabel();
    JButton btnParametersCancel = new JButton();
    JButton btnParametersAccept = new JButton();
-   JLabel lblActionDescription = new JLabel();
-   JLabel lblActionTitle = new JLabel();
    JLabel lblTaskStatusMessage = new JLabel();
    JProgressBar pbTaskStatusProgress = new JProgressBar();
    JButton btnTaskStatusCancel = new JButton();
@@ -171,7 +175,7 @@
    public JPanel createPanel2()
    {
       JPanel jpanel1 = new JPanel();
-      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE");
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:8DLU:NONE,FILL:DEFAULT:NONE,FILL:8DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE");
       CellConstraints cc = new CellConstraints();
       jpanel1.setLayout(formlayout1);
 
@@ -182,56 +186,84 @@
       cboRules.setName("cboRules");
       jpanel1.add(cboRules,cc.xy(3,1));
 
-      btnVisibleExtentOnly.setIcon(loadImage("org/gvsig/topology/swing/impl/images/visible_extent.png"));
+      btnVisibleExtentOnly.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-report-filter-visible-extent.png"));
       btnVisibleExtentOnly.setName("btnVisibleExtentOnly");
       btnVisibleExtentOnly.setToolTipText("_Show_only_in_visible_extent");
       EmptyBorder emptyborder1 = new EmptyBorder(2,2,2,2);
       btnVisibleExtentOnly.setBorder(emptyborder1);
       jpanel1.add(btnVisibleExtentOnly,cc.xy(9,1));
 
-      btnZoom.setIcon(loadImage("org/gvsig/topology/swing/impl/images/zoom.png"));
-      btnZoom.setName("btnZoom");
-      btnZoom.setToolTipText("_Zoom");
+      btnZoomGeometry.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-report-zoom-geometry.png"));
+      btnZoomGeometry.setName("btnZoomGeometry");
+      btnZoomGeometry.setToolTipText("_Zoom");
       EmptyBorder emptyborder2 = new EmptyBorder(2,2,2,2);
-      btnZoom.setBorder(emptyborder2);
-      jpanel1.add(btnZoom,cc.xy(11,1));
+      btnZoomGeometry.setBorder(emptyborder2);
+      jpanel1.add(btnZoomGeometry,cc.xy(13,1));
 
-      btnCenter.setIcon(loadImage("org/gvsig/topology/swing/impl/images/center_view.png"));
-      btnCenter.setName("btnCenter");
-      btnCenter.setToolTipText("_Center");
-      EmptyBorder emptyborder3 = new EmptyBorder(2,2,2,2);
-      btnCenter.setBorder(emptyborder3);
-      jpanel1.add(btnCenter,cc.xy(13,1));
-
-      btnActions.setIcon(loadImage("org/gvsig/topology/swing/impl/images/show_actions.png"));
+      btnActions.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-report-actions.png"));
       btnActions.setName("btnActions");
       btnActions.setToolTipText("_Actions");
-      EmptyBorder emptyborder4 = new EmptyBorder(2,2,2,2);
-      btnActions.setBorder(emptyborder4);
-      jpanel1.add(btnActions,cc.xy(15,1));
+      EmptyBorder emptyborder3 = new EmptyBorder(2,2,2,2);
+      btnActions.setBorder(emptyborder3);
+      jpanel1.add(btnActions,cc.xy(23,1));
 
-      btnRefresh.setIcon(loadImage("org/gvsig/topology/swing/impl/images/refresh.png"));
+      btnRefresh.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-report-refresh.png"));
       btnRefresh.setName("btnRefresh");
       btnRefresh.setToolTipText("_Update");
-      EmptyBorder emptyborder5 = new EmptyBorder(2,2,2,2);
-      btnRefresh.setBorder(emptyborder5);
-      jpanel1.add(btnRefresh,cc.xy(17,1));
+      EmptyBorder emptyborder4 = new EmptyBorder(2,2,2,2);
+      btnRefresh.setBorder(emptyborder4);
+      jpanel1.add(btnRefresh,cc.xy(25,1));
 
-      btnShowErrors.setIcon(loadImage("org/gvsig/topology/swing/impl/images/show_errors.png"));
+      btnShowErrors.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-report-filter-errors.png"));
       btnShowErrors.setName("btnShowErrors");
-      btnShowErrors.setToolTipText("_Show_only_in_visible_extent");
-      EmptyBorder emptyborder6 = new EmptyBorder(2,2,2,2);
-      btnShowErrors.setBorder(emptyborder6);
+      btnShowErrors.setToolTipText("_Show_errors");
+      EmptyBorder emptyborder5 = new EmptyBorder(2,2,2,2);
+      btnShowErrors.setBorder(emptyborder5);
       jpanel1.add(btnShowErrors,cc.xy(5,1));
 
-      btnShowExceptions.setIcon(loadImage("org/gvsig/topology/swing/impl/images/show_exceptions.png"));
+      btnShowExceptions.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-report-filter-exceptions.png"));
       btnShowExceptions.setName("btnShowExceptions");
-      btnShowExceptions.setToolTipText("_Show_only_in_visible_extent");
-      EmptyBorder emptyborder7 = new EmptyBorder(2,2,2,2);
-      btnShowExceptions.setBorder(emptyborder7);
+      btnShowExceptions.setToolTipText("_Show_exceptions");
+      EmptyBorder emptyborder6 = new EmptyBorder(2,2,2,2);
+      btnShowExceptions.setBorder(emptyborder6);
       jpanel1.add(btnShowExceptions,cc.xy(7,1));
 
-      addFillComponents(jpanel1,new int[]{ 2,4,6,8,10,12,14,16 },new int[0]);
+      btnShowForm.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-report-show-form.png"));
+      btnShowForm.setName("btnShowForm");
+      btnShowForm.setToolTipText("_Show_form_when_modify_geometry");
+      EmptyBorder emptyborder7 = new EmptyBorder(2,2,2,2);
+      btnShowForm.setBorder(emptyborder7);
+      jpanel1.add(btnShowForm,cc.xy(11,1));
+
+      btnCenterError.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-report-center-error.png"));
+      btnCenterError.setName("btnCenterError");
+      btnCenterError.setToolTipText("_Center_error");
+      EmptyBorder emptyborder8 = new EmptyBorder(2,2,2,2);
+      btnCenterError.setBorder(emptyborder8);
+      jpanel1.add(btnCenterError,cc.xy(19,1));
+
+      btnCenterGeometry.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-report-center-geometry.png"));
+      btnCenterGeometry.setName("btnCenterGeometry");
+      btnCenterGeometry.setToolTipText("_Center_geometry");
+      EmptyBorder emptyborder9 = new EmptyBorder(2,2,2,2);
+      btnCenterGeometry.setBorder(emptyborder9);
+      jpanel1.add(btnCenterGeometry,cc.xy(15,1));
+
+      btnZoomError.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-report-zoom-error.png"));
+      btnZoomError.setName("btnZoomError");
+      btnZoomError.setToolTipText("_Zoom");
+      EmptyBorder emptyborder10 = new EmptyBorder(2,2,2,2);
+      btnZoomError.setBorder(emptyborder10);
+      jpanel1.add(btnZoomError,cc.xy(17,1));
+
+      btnEraseErrorMarks.setIcon(loadImage("org/gvsig/topology/swing/impl/images/topology-report-erase-errors.png"));
+      btnEraseErrorMarks.setName("btnEraseErrorMarks");
+      btnEraseErrorMarks.setToolTipText("_Erase_error_marks");
+      EmptyBorder emptyborder11 = new EmptyBorder(2,2,2,2);
+      btnEraseErrorMarks.setBorder(emptyborder11);
+      jpanel1.add(btnEraseErrorMarks,cc.xy(21,1));
+
+      addFillComponents(jpanel1,new int[]{ 2,4,6,8,10,12,14,16,18,20,22,24 },new int[0]);
       return jpanel1;
    }
 
@@ -245,13 +277,13 @@
       pnlParameters.setName("pnlParameters");
       jpanel1.add(pnlParameters,cc.xy(2,6));
 
-      jpanel1.add(createPanel4(),cc.xy(2,8));
       lblActionDescription.setName("lblActionDescription");
       jpanel1.add(lblActionDescription,cc.xy(2,4));
 
       lblActionTitle.setName("lblActionTitle");
       jpanel1.add(lblActionTitle,cc.xy(2,2));
 
+      jpanel1.add(createPanel4(),cc.xy(2,8));
       addFillComponents(jpanel1,new int[]{ 1,2,3 },new int[]{ 1,2,3,4,5,6,7,8,9 });
       return jpanel1;
    }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanProperties.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanProperties.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanProperties.java	(revision 727)
@@ -3,10 +3,14 @@
 import java.awt.Dimension;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.net.URL;
+import java.util.List;
 import javax.swing.DefaultListModel;
+import javax.swing.ImageIcon;
 import javax.swing.JComponent;
 import javax.swing.event.ListSelectionEvent;
 import javax.swing.event.ListSelectionListener;
+import org.apache.commons.io.FilenameUtils;
 import org.gvsig.tools.ToolsLocator;
 import org.gvsig.tools.i18n.I18nManager;
 import org.gvsig.tools.swing.api.ListElement;
@@ -14,6 +18,7 @@
 import org.gvsig.tools.swing.api.ToolsSwingManager;
 import org.gvsig.tools.swing.api.windowmanager.Dialog;
 import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
+import org.gvsig.tools.swing.icontheme.IconTheme;
 import org.gvsig.topology.lib.api.TopologyDataSet;
 import org.gvsig.topology.lib.api.TopologyLocator;
 import org.gvsig.topology.lib.api.TopologyPlan;
@@ -80,6 +85,19 @@
         this.setPreferredSize(new Dimension(450, 300));
     }
 
+    @Override
+    public ImageIcon loadImage(String imageName) {
+        String name = FilenameUtils.getBaseName(imageName);
+        IconTheme theme = ToolsSwingLocator.getIconThemeManager().getDefault();
+        if (theme.exists(name)) {
+            return theme.get(name);
+        }
+        URL url = this.getClass().getResource("/"+imageName);
+        if (url == null) {
+            return null;
+        }
+        return new ImageIcon(url);
+    }
     
     private void translate() {
         ToolsSwingManager tsm = ToolsSwingLocator.getToolsSwingManager();
@@ -162,22 +180,25 @@
     }
 
     private void performAddDataSet() {
+        I18nManager i18n = ToolsLocator.getI18nManager();
         WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
         SelectDataSetDialog panel = new SelectDataSetDialog();
         Dialog dlg = winManager.createDialog(
                 panel,
-                "_Select_a_dataset",
+                i18n.getTranslation("_Select_a_dataset"),
                 null, 
                 WindowManager_v2.BUTTONS_OK_CANCEL
         );
         panel.setDialog(dlg);
         dlg.show(WindowManager_v2.MODE.DIALOG);
         if( dlg.getAction()==WindowManager_v2.BUTTON_OK) {
-            TopologyDataSet dataSet = panel.getDataSet();
-            if( dataSet != null ) {
-                this.plan.addDataSet(dataSet);
-                DefaultListModel model = (DefaultListModel) this.lstDataSets.getModel();
-                model.addElement(dataSet);
+            List<TopologyDataSet> dataSets = panel.getDataSets();
+            if( dataSets != null ) {
+                for (TopologyDataSet dataSet : dataSets) {
+                    this.plan.addDataSet(dataSet);
+                    DefaultListModel model = (DefaultListModel) this.lstDataSets.getModel();
+                    model.addElement(dataSet);
+                }
             }
         }
     }
@@ -189,9 +210,10 @@
         if( lstDataSets.isSelectionEmpty() ) {
             return;
         }
+        int index = lstRules.getSelectedIndex();
         TopologyDataSet dataSet = (TopologyDataSet) lstDataSets.getSelectedValue();
         this.plan.removeDataSet(dataSet);
-        lstDataSets.remove(lstDataSets.getSelectedIndex());
+        ((DefaultListModel)(lstRules.getModel())).remove(index);
     }
 
     private void performAddRule() {
@@ -230,7 +252,7 @@
         int index = lstRules.getSelectedIndex();
         TopologyRule rule = (TopologyRule) ListElement.getSelected(lstRules);
         this.plan.removeRule(rule);
-        lstRules.remove(index);
+        ((DefaultListModel)(lstRules.getModel())).remove(index);
     }
 
 }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/SelectDataSetDialog.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/SelectDataSetDialog.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/SelectDataSetDialog.java	(revision 727)
@@ -1,9 +1,17 @@
 package org.gvsig.topology.swing.impl;
 
 import java.awt.Dimension;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
 import javax.swing.JTree;
 import javax.swing.event.TreeSelectionEvent;
 import javax.swing.event.TreeSelectionListener;
+import javax.swing.tree.DefaultTreeCellRenderer;
 import javax.swing.tree.TreePath;
 import org.apache.commons.lang3.StringUtils;
 import org.gvsig.tools.swing.api.ToolsSwingLocator;
@@ -37,6 +45,24 @@
                 performDataSetSelected();
             }
         });
+        this.treeDataSets.setCellRenderer(new DefaultTreeCellRenderer() {
+            @Override
+            public java.awt.Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
+                JLabel label = (JLabel) super.getTreeCellRendererComponent(tree,value, selected, expanded, leaf, row, hasFocus);
+                ImageIcon icon = services.getTreeIcon(tree.getModel(),value);
+                label.setIcon(icon);
+                label.setText(Objects.toString(value, ""));
+                return label;
+            }
+        });
+        this.treeDataSets.addMouseListener(new MouseAdapter() {
+            @Override
+            public void mouseClicked(MouseEvent e) {
+                if( e.getButton()==MouseEvent.BUTTON1 && e.getClickCount()==2 ) {
+                    setVisible(false);
+                }
+            }
+        });
         this.setPreferredSize(new Dimension(350, 400));
         this.translate();
     }
@@ -65,35 +91,40 @@
         this.dialog.setButtonEnabled(WindowManager_v2.BUTTONS_OK, enabled);
     }
 
-    private TopologyDataSet getSelectedDataSet() {
-        TreePath path = treeDataSets.getSelectionPath();
-        Object element = path.getLastPathComponent();
-        if (element instanceof TopologyDataSet) {
-            TopologyDataSet dataSet = (TopologyDataSet) element;
-            return dataSet;
+    private List<TopologyDataSet> getSelectedDataSets() {
+        TreePath[] paths = treeDataSets.getSelectionPaths();
+        List<TopologyDataSet> datasets = new ArrayList<>();
+        for (TreePath path : paths) {
+            Object element = path.getLastPathComponent();
+            if (element instanceof TopologyDataSet) {
+                TopologyDataSet dataSet = (TopologyDataSet) element;
+                datasets.add(dataSet);
+            }
         }
-        return null;
+        return datasets;
     }
 
-    public TopologyDataSet getDataSet() {
-        TopologyDataSet dataSet = this.getSelectedDataSet();
-        if (dataSet == null) {
+    public List<TopologyDataSet> getDataSets() {
+        List<TopologyDataSet> dataSets = this.getSelectedDataSets();
+        if (dataSets == null || dataSets.isEmpty()) {
             return null;
         }
-        String name = this.txtName.getText();
-        if (!StringUtils.isEmpty(name)) {
-            dataSet.setName(name);
+        if( dataSets.size()==1 ) {
+            String name = this.txtName.getText();
+            if (!StringUtils.isEmpty(name)) {
+                dataSets.get(0).setName(name);
+            }
         }
-        return dataSet;
+        return dataSets;
     }
 
     public void performDataSetSelected() {
-        TopologyDataSet dataSet = this.getSelectedDataSet();
-        if (dataSet == null) {
+        List<TopologyDataSet> dataSets = this.getSelectedDataSets();
+        if (dataSets == null || dataSets.isEmpty()) {
             this.txtName.setText("");
             this.setOkButtonEnabled(false);
         } else {
-            this.txtName.setText(dataSet.getName());
+            this.txtName.setText(dataSets.get(0).getName());
             this.setOkButtonEnabled(true);
         }
     }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyReport.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyReport.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyReport.java	(revision 727)
@@ -6,10 +6,13 @@
 import java.awt.event.ActionListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
+import java.net.URL;
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import javax.swing.DefaultComboBoxModel;
+import javax.swing.ImageIcon;
 import javax.swing.JComponent;
 import javax.swing.JMenuItem;
 import javax.swing.JPopupMenu;
@@ -22,6 +25,7 @@
 import javax.swing.event.TableModelEvent;
 import javax.swing.event.TableModelListener;
 import javax.swing.table.TableModel;
+import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.gvsig.expressionevaluator.ExpressionBuilder;
 import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
@@ -39,6 +43,7 @@
 import org.gvsig.tools.swing.api.ToolsSwingLocator;
 import org.gvsig.tools.swing.api.ToolsSwingManager;
 import org.gvsig.tools.swing.api.task.TaskStatusController;
+import org.gvsig.tools.swing.icontheme.IconTheme;
 import org.gvsig.tools.task.TaskStatus;
 import org.gvsig.topology.lib.api.TopologyLocator;
 import org.gvsig.topology.lib.api.TopologyPlan;
@@ -70,25 +75,25 @@
     private class TopologyRuleActionParametersListener implements ActionListener {
 
         private final TopologyRule rule;
-        private final TopologyReportLine line;
+        private final List<TopologyReportLine> lines;
         private final TopologyRuleAction action;
         private final JDynForm form;
 
         public TopologyRuleActionParametersListener(
                 TopologyRule rule,
-                TopologyReportLine line,
+                List<TopologyReportLine> lines,
                 TopologyRuleAction action,
                 JDynForm form
         ) {
             this.action = action;
-            this.line = line;
+            this.lines = lines;
             this.rule = rule;
             this.form = form;
         }
 
         @Override
         public void actionPerformed(ActionEvent e) {
-            doExecuteRuleAction(rule, line, action, form);
+            doExecuteRuleAction(rule, lines, action, form);
         }
     }
 
@@ -96,25 +101,25 @@
     private class TopologyRuleActionListener implements ActionListener {
 
         private final TopologyRule rule;
-        private final TopologyReportLine line;
+        private final List<TopologyReportLine> lines;
         private final TopologyRuleAction action;
 
         public TopologyRuleActionListener(
                 TopologyRule rule,
-                TopologyReportLine line,
+                List<TopologyReportLine> lines,
                 TopologyRuleAction action
         ) {
             this.action = action;
-            this.line = line;
+            this.lines = lines;
             this.rule = rule;
         }
 
         @Override
         public void actionPerformed(ActionEvent e) {
             if ( this.action.hasParameters() ) {
-                doShowActionParametersPanel(this.rule, this.line, this.action);
+                doShowActionParametersPanel(this.rule, this.lines, this.action);
             } else {
-                doExecuteRuleAction(rule, line, action, null);
+                doExecuteRuleAction(rule, lines, action, null);
             }
         }
     }
@@ -141,18 +146,30 @@
         };
         this.tblErrors.setModel(this.linesModel);
         this.tblErrors.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
-        this.btnZoom.addActionListener(new ActionListener() {
+        this.btnZoomGeometry.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
-                doZoom();
+                doZoomGeometry();
             }
         });
-        this.btnCenter.addActionListener(new ActionListener() {
+        this.btnZoomError.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
-                doCenter();
+                doZoomError();
             }
         });
+        this.btnCenterGeometry.addActionListener(new ActionListener() {
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                doCenterGeometry();
+            }
+        });
+        this.btnCenterError.addActionListener(new ActionListener() {
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                doCenterError();
+            }
+        });
         this.btnRefresh.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
@@ -169,7 +186,7 @@
             @Override
             public void mouseClicked(MouseEvent e) {
                 if( e.getButton()==MouseEvent.BUTTON1 && e.getClickCount()==2 ) {
-                    doCenter();
+                    doCenterError();
                 }
             }
         });
@@ -207,6 +224,18 @@
                 doUpdateFilter();
             }
         });
+        this.btnShowForm.addActionListener(new ActionListener() {
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                services.setShowFormWhenEdit(btnShowForm.isSelected());
+            }
+        });
+        this.btnEraseErrorMarks.addActionListener(new ActionListener() {
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                services.addError(null);
+            }
+        });
         DefaultComboBoxModel<ListElement<TopologyRuleFactory>> modelRules = new DefaultComboBoxModel<>();
         modelRules.addElement(new ListElement<>(i18n.getTranslation("_Any_rule"), (TopologyRuleFactory)null));
         List<TopologyRuleFactory> factories = TopologyLocator.getTopologyManager().getRuleFactories();
@@ -244,18 +273,36 @@
         this.tabData.setEnabledAt(1, false);
 
     }
+    
+    @Override
+    public ImageIcon loadImage(String imageName) {
+        String name = FilenameUtils.getBaseName(imageName);
+        IconTheme theme = ToolsSwingLocator.getIconThemeManager().getDefault();
+        if (theme.exists(name)) {
+            return theme.get(name);
+        }
+        URL url = this.getClass().getResource("/"+imageName);
+        if (url == null) {
+            return null;
+        }
+        return new ImageIcon(url);
+    }
 
     private void translate() {
         ToolsSwingManager tsm = ToolsSwingLocator.getToolsSwingManager();
         tsm.translate(this.btnActions);
-        tsm.translate(this.btnCenter);
+        tsm.translate(this.btnCenterError);
+        tsm.translate(this.btnCenterGeometry);
         tsm.translate(this.btnRefresh);
         tsm.translate(this.btnShowErrors);
         tsm.translate(this.btnShowExceptions);
-        tsm.translate(this.btnZoom);
+        tsm.translate(this.btnZoomError);
+        tsm.translate(this.btnZoomGeometry);
+        tsm.translate(this.btnEraseErrorMarks);
         tsm.translate(this.btnVisibleExtentOnly);
         tsm.translate(this.btnParametersAccept);
         tsm.translate(this.btnParametersCancel);
+        tsm.translate(this.btnShowForm);
         tsm.translate(this.lblShow);
         tsm.translate(this.tabData);
     }
@@ -383,11 +430,18 @@
         if (n < 0) {
             return;
         }
-        TopologyReportLine line = this.linesModel.getLine(n);
-        TopologyRule rule = line.getRule();
+        int[] selectedRows = this.tblErrors.getSelectedRows();
+        TopologyRule rule = this.linesModel.getLine(selectedRows[0]).getRule();
         List<TopologyRuleAction> actions = rule.getActions();
         if (actions == null || actions.isEmpty()) {
             return;
+        }        
+        List<TopologyReportLine>lines = new ArrayList<>();
+        for (int selectedRow : selectedRows) {
+            TopologyReportLine line = this.linesModel.getLine(selectedRow);
+            if( line.getRule()==rule ) {
+                lines.add(line);
+            }
         }
         JPopupMenu menu = new JPopupMenu();
         for (TopologyRuleAction action : actions) {
@@ -397,7 +451,10 @@
             } else {
                 item = new JMenuItem(action.getName()); 
             }
-            item.addActionListener(new TopologyRuleActionListener(rule, line, action));
+            item.addActionListener(new TopologyRuleActionListener(rule, lines, action));
+            if( lines.size()>1 && action.hasParameters() ) {
+                item.setEnabled(false);
+            }
             menu.add(item);
         }
         menu.show(this.btnActions, 0, this.btnActions.getHeight());
@@ -405,7 +462,7 @@
 
     private void doExecuteRuleAction(
             TopologyRule rule,
-            TopologyReportLine line,
+            List<TopologyReportLine> lines,
             TopologyRuleAction action,
             JDynForm form
     ) {
@@ -416,17 +473,19 @@
                 form.getValues(parameters);
             }
         }
-        action.execute(rule, line, parameters);
+        for (TopologyReportLine line : lines) {
+            action.execute(rule, line, parameters);
+        }
         this.tabData.setEnabledAt(0, true);
         this.tabData.setEnabledAt(1, false);
         this.tabData.setSelectedIndex(0);
         this.pnlParameters.removeAll();
-        this.services.refreshView();
+        this.services.addError(null);
     }
 
     private void doShowActionParametersPanel(
             TopologyRule rule,
-            TopologyReportLine line,
+            List<TopologyReportLine> lines,
             TopologyRuleAction action
     ) {
         I18nManager i18n = ToolsLocator.getI18nManager();
@@ -456,14 +515,14 @@
                 }
             }
             this.btnParametersAccept.addActionListener(
-                new TopologyRuleActionParametersListener(rule, line, action, form)
+                new TopologyRuleActionParametersListener(rule, lines, action, form)
             );
         } catch (Exception ex) {
             LOGGER.warn("Can't show action parameters panel.",ex);
         }
     }
 
-    private void doZoom() {
+    private void doZoomGeometry() {
         int n = this.tblErrors.getSelectedRow();
         if (n < 0) {
             return;
@@ -473,7 +532,23 @@
         this.services.zoomTo(geom.getEnvelope());
     }
 
-    private void doCenter() {
+    private void doZoomError() {
+        int n = this.tblErrors.getSelectedRow();
+        if (n < 0) {
+            return;
+        }
+        TopologyReportLine line = this.linesModel.getLine(n);
+        Geometry geom = line.getError();
+        if( geom == null ) {
+            geom = line.getGeometry();
+            services.addError(null);
+        } else {
+            services.addError(geom);
+        }
+        this.services.zoomTo(geom.getEnvelope());
+    }
+
+    private void doCenterGeometry() {
         try {
             int n = this.tblErrors.getSelectedRow();
             if (n < 0) {
@@ -487,6 +562,26 @@
         }
     }
 
+    private void doCenterError() {
+        try {
+            int n = this.tblErrors.getSelectedRow();
+            if (n < 0) {
+                return;
+            }
+            TopologyReportLine line = this.linesModel.getLine(n);
+            Geometry geom = line.getError();
+            if( geom == null ) {
+                geom = line.getGeometry();
+                services.addError(null);
+            } else {
+                services.addError(geom);
+            }
+            this.services.centerTo(geom.centroid());
+        } catch (Exception ex) {
+            LOGGER.warn("Can't center topology error", ex);
+        }
+    }
+
     private void doRowSelected() {
         try {
             int n = this.tblErrors.getSelectedRow();
@@ -497,7 +592,8 @@
             if (line.getFeature1() == null) {
                 return;
             }
-            FeatureSelection selection = line.getDataSet1().getStore().getFeatureSelection();
+            this.services.addError(null);
+            FeatureSelection selection = line.getDataSet1().getFeatureStore().getFeatureSelection();
             selection.deselectAll();
             selection.select(line.getFeature1());
         } catch (Exception ex) {
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/CreateRuleDialog.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/CreateRuleDialog.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/CreateRuleDialog.java	(revision 727)
@@ -5,16 +5,29 @@
  */
 package org.gvsig.topology.swing.impl;
 
+import java.awt.Component;
 import java.awt.Dimension;
 import java.awt.event.ItemEvent;
 import java.awt.event.ItemListener;
+import java.util.Objects;
 import javax.swing.DefaultComboBoxModel;
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
 import javax.swing.event.DocumentEvent;
 import javax.swing.event.DocumentListener;
+import org.gvsig.fmap.dal.DataStore;
+import org.gvsig.fmap.dal.exception.DataException;
+import org.gvsig.fmap.dal.feature.FeatureStore;
+import org.gvsig.fmap.geom.Geometry;
+import org.gvsig.fmap.geom.GeometryUtils;
 import org.gvsig.tools.swing.api.ToolsSwingLocator;
 import org.gvsig.tools.swing.api.ToolsSwingManager;
 import org.gvsig.tools.swing.api.windowmanager.Dialog;
 import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
+import org.gvsig.tools.swing.icontheme.IconTheme;
 import org.gvsig.topology.lib.api.TopologyDataSet;
 import org.gvsig.topology.lib.api.TopologyLocator;
 import org.gvsig.topology.lib.api.TopologyManager;
@@ -29,6 +42,50 @@
 @SuppressWarnings("UseSpecificCatch")
 public class CreateRuleDialog extends CreateRuleDialogView {
 
+    private class DataSetListCellRenderer extends DefaultListCellRenderer {
+
+        private ImageIcon pointIcon;
+        private ImageIcon lineIcon;
+        private ImageIcon polygonIcon;
+
+        public DataSetListCellRenderer() {
+            IconTheme iconTheme = ToolsSwingLocator.getIconThemeManager().getCurrent();
+            if( iconTheme.exists("layer-type-point") ) {
+                this.pointIcon = iconTheme.get("layer-type-point");
+            }
+            if( iconTheme.exists("layer-type-line") ) {
+                this.lineIcon = iconTheme.get("layer-type-line");
+            }
+            if( iconTheme.exists("layer-type-polygon") ) {
+                this.polygonIcon = iconTheme.get("layer-type-polygon");
+            }
+        }
+        
+        @Override
+        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+            JLabel label = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
+            this.setText(Objects.toString(value, ""));
+            this.setIcon(null);
+            if( value instanceof TopologyDataSet ) {
+                DataStore store = ((TopologyDataSet) value).getStore();
+                if( store instanceof FeatureStore ) {
+                    try {
+                        int geomtype = ((FeatureStore) store).getDefaultFeatureType().getDefaultGeometryAttribute().getGeomType().getType();
+                        if( GeometryUtils.isSubtype(Geometry.TYPES.POINT, geomtype) ) {
+                            this.setIcon(this.pointIcon);
+                        } else if( GeometryUtils.isSubtype(Geometry.TYPES.SURFACE, geomtype) ) {
+                            this.setIcon(this.polygonIcon);
+                        } else if( GeometryUtils.isSubtype(Geometry.TYPES.CURVE, geomtype) ) {
+                            this.setIcon(this.lineIcon);
+                        }
+                    } catch (DataException ex) {
+                    }
+                }
+            }
+            return label;
+        }
+        
+    }
     private final TopologyPlan plan;
     private Dialog dialog;
 
@@ -56,6 +113,8 @@
                 performDataSet1Selected();
             }
         });
+//        this.cboDataSet1.setRenderer(new DataSetListCellRenderer());
+//        this.cboDataSet2.setRenderer(new DataSetListCellRenderer());
         this.cboRule.addItemListener(new ItemListener() {
             @Override
             public void itemStateChanged(ItemEvent e) {
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/TopologySwingImplLibrary.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/TopologySwingImplLibrary.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/TopologySwingImplLibrary.java	(revision 727)
@@ -23,9 +23,12 @@
  */
 package org.gvsig.topology.swing.impl;
 
+import java.net.URL;
 import org.gvsig.tools.ToolsLibrary;
 import org.gvsig.tools.library.AbstractLibrary;
 import org.gvsig.tools.library.LibraryException;
+import org.gvsig.tools.swing.api.ToolsSwingLocator;
+import org.gvsig.tools.swing.icontheme.IconTheme;
 import org.gvsig.topology.lib.api.TopologyLibrary;
 import org.gvsig.topology.lib.api.TopologyLocator;
 import org.gvsig.topology.lib.api.TopologyManager;
@@ -50,10 +53,21 @@
     @Override
     protected void doInitialize() throws LibraryException {
         TopologySwingLocator.registerDefaultTopologySwingManager(DefaultTopologySwingManager.class);
+        
     }
 
     @Override
     protected void doPostInitialize() throws LibraryException {
+        String[][] iconNames = new String[][] {
+            new String[] { "layertypes", "layer-type-point" },
+            new String[] { "layertypes", "layer-type-line" },
+            new String[] { "layertypes", "layer-type-polygon" }
+        };
+        IconTheme theme = ToolsSwingLocator.getIconThemeManager().getCurrent();
+        for (String[] icon : iconNames) {
+            URL url = this.getClass().getResource("images/layertypes"+icon[1]+".png");
+            theme.registerDefault("topology", icon[0], icon[1], null, url);
+        }
     }
 
 }
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/rule_remove.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/visible_extent.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/zoom.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/center_view.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/show_errors.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/dataset_add.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/view-tree-icon.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/refresh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/rule_add.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/show_actions.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/show_exceptions.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/dataset_remove.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-erase-errors.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-erase-errors.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-center-geometry.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-center-geometry.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-plan-rule-edit.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-plan-rule-edit.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-zoom-error.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-zoom-error.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-plan-rule-add.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-plan-rule-add.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-zoom-geometry.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-zoom-geometry.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-plan-rule-remove.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-plan-rule-remove.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-show-form.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-show-form.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-filter-visible-extent.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-filter-visible-extent.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-plan-dataset-add.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-plan-dataset-add.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-line-sel.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-line-sel.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-polygon-sel.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-polygon-sel.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-point-sel.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-point-sel.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-mix-sel.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-mix-sel.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multiline-sel.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multiline-sel.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multipolygon-sel.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multipolygon-sel.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multipoint-sel.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multipoint-sel.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-line.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-line.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-polygon.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-polygon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-point.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-point.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-wrong.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-wrong.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-mix.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-mix.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-raster.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-raster.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multiline.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multiline.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multipolygon.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multipolygon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multipoint.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes/layer-type-multipoint.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream


Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/layertypes
___________________________________________________________________
Added: svn:ignore
   + .directory


Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-refresh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-refresh.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-plan-dataset-remove.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-plan-dataset-remove.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-filter-errors.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-filter-errors.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-actions.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-actions.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-filter-exceptions.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-filter-exceptions.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-center-error.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/topology-report-center-error.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.api/src/main/java/org/gvsig/topology/swing/api/TopologySwingServices.java
===================================================================
--- org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.api/src/main/java/org/gvsig/topology/swing/api/TopologySwingServices.java	(revision 726)
+++ org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.api/src/main/java/org/gvsig/topology/swing/api/TopologySwingServices.java	(revision 727)
@@ -23,7 +23,10 @@
  */
 package org.gvsig.topology.swing.api;
 
+import javax.swing.ImageIcon;
 import javax.swing.tree.TreeModel;
+import javax.swing.tree.TreePath;
+import org.gvsig.fmap.geom.Geometry;
 import org.gvsig.fmap.geom.primitive.Envelope;
 import org.gvsig.fmap.geom.primitive.Point;
 import org.gvsig.topology.lib.api.TopologyServices;
@@ -52,4 +55,10 @@
     public void removeWorkingAreaChangedListener(WorkingAreaChangedListener listener);
 
     public void refreshView();
+    
+    public void addError(Geometry geom);
+    
+    public void setShowFormWhenEdit(boolean showFormWhenEdit);
+    
+    public ImageIcon getTreeIcon(TreeModel model, Object item);
 }
