Index: branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/project/documents/view/toolListeners/InfoListener.java
===================================================================
--- branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/project/documents/view/toolListeners/InfoListener.java	(revision 38604)
+++ branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/project/documents/view/toolListeners/InfoListener.java	(revision 38605)
@@ -40,19 +40,18 @@
  */
 package org.gvsig.app.project.documents.view.toolListeners;
 
+import java.awt.GridBagConstraints;
 import java.awt.Image;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.swing.JDialog;
-import javax.swing.JPanel;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.gvsig.andami.PluginServices;
 import org.gvsig.andami.messages.NotificationManager;
 import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.SingletonWindow;
 import org.gvsig.app.ApplicationLocator;
 import org.gvsig.app.ApplicationManager;
 import org.gvsig.app.project.documents.view.info.gui.FInfoDialog;
@@ -158,30 +157,36 @@
             ExtensionPointManager extensionPoints = ToolsLocator.getExtensionPointManager();
             InfoByPointRenderer renderer = (InfoByPointRenderer)extensionPoints.get(EP_INFOTOOL_NAME).create(EP_INFOTOOL_RENDERER);
             
-            IWindow window = renderer.getPanel();
-            boolean first_time = (window == null);
-            renderer.resetPanel(layer2info);
-            
-            window = renderer.getPanel();
+            IWindow window = renderer.getPanel(layer2info);
+
             if (window == null) {
                 logger.info("Error. Unable to create info panel.");
                 return;
             }
-            
-            
-            if (first_time) {
-                PluginServices.getMDIManager().addCentredWindow(window);
-            } else {
-                // perhaps bring to front
-            }
-            
 
+            PluginServices.getMDIManager().addWindow(window, GridBagConstraints.LAST_LINE_END);
+
         } catch (Exception e) {
             NotificationManager.addError("Info by Point", e);
             e.printStackTrace();
         }
     }
 
+    /**
+     * @param window
+     * @return whether the window is currently one the app windows
+     */
+    private boolean isCurrentlyAdded(IWindow iw) {
+        
+        IWindow[] iws = PluginServices.getMDIManager().getAllWindows();
+        for (int i=0; i<iws.length; i++) {
+            if (iws[i] == iw) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     public Image getImageCursor() {
         return img;
     }
@@ -196,8 +201,7 @@
     
     public interface InfoByPointRenderer {
         
-       public FInfoDialog getPanel();
-       public void resetPanel(Map<String, DynObjectSet> layersInfo);
+       public SingletonWindow getPanel(Map<String, DynObjectSet> layersInfo);
        
     }
     
@@ -205,12 +209,7 @@
         
         private FInfoDialog dlgInfo = null;
         
-        public FInfoDialog getPanel() {
-            return dlgInfo;
-        }
-
-        
-        public void resetPanel(Map<String, DynObjectSet> layersInfo) {
+        public SingletonWindow getPanel(Map<String, DynObjectSet> layersInfo) {
             // TODO: set the writable parameter to true to activate
             // edition of the info by point information.
             LayersDynObjectSetComponent infoComponent =
@@ -222,6 +221,7 @@
             } else {
                 dlgInfo.setInfo(infoComponent);
             }
+            return dlgInfo;
         }
        
     }
Index: branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/MapControlLibrary.java
===================================================================
--- branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/MapControlLibrary.java	(revision 38604)
+++ branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/MapControlLibrary.java	(revision 38605)
@@ -30,9 +30,12 @@
 
 import org.gvsig.fmap.IconThemeHelper;
 import org.gvsig.fmap.mapcontext.MapContextLibrary;
+import org.gvsig.fmap.mapcontrol.swing.dynfield.factory.GeometryDynFieldComponentFactory;
 import org.gvsig.i18n.Messages;
 import org.gvsig.tools.library.AbstractLibrary;
 import org.gvsig.tools.library.LibraryException;
+import org.gvsig.tools.service.spi.ServiceManager;
+import org.gvsig.tools.swing.spi.ToolsSwingServiceLocator;
 
 /**
  * Initialization of the MapControls library.
@@ -72,5 +75,11 @@
 	   	IconThemeHelper.registerIcon("layer", "layer-icon", this);
 	   	IconThemeHelper.registerIcon("layer", "layer-icon-group", this);
 	   	IconThemeHelper.registerIcon("layer", "layer-icon-vectorial", this);
+	   	
+	   	// =================================================
+	   	// Add factory for creation of
+	   	// swing component representing geometry
+        ServiceManager dsManager = ToolsSwingServiceLocator.getServiceManager();
+        dsManager.addServiceFactory(new GeometryDynFieldComponentFactory());
 	}
 }
\ No newline at end of file
Index: branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/swing/dynfield/GeometryDynFieldComponent.java
===================================================================
--- branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/swing/dynfield/GeometryDynFieldComponent.java	(revision 0)
+++ branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/swing/dynfield/GeometryDynFieldComponent.java	(revision 38605)
@@ -0,0 +1,107 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.fmap.mapcontrol.swing.dynfield;
+
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+
+import org.gvsig.fmap.geom.Geometry;
+import org.gvsig.fmap.geom.Geometry.SUBTYPES;
+import org.gvsig.fmap.geom.Geometry.TYPES;
+import org.gvsig.i18n.Messages;
+import org.gvsig.tools.dynobject.DynField;
+import org.gvsig.tools.service.ServiceException;
+import org.gvsig.tools.swing.api.dynobject.dynfield.ValueField;
+import org.gvsig.tools.swing.spi.AbstractJDynFieldComponent;
+
+
+/**
+ * 
+ * This class provides a swing component
+ * to represent {@link Geometry} objects in dialogs/forms
+ * 
+ * 
+ * @author jldominguez
+ *
+ */
+public class GeometryDynFieldComponent extends
+AbstractJDynFieldComponent {
+    
+    private JLabel label = null; 
+
+    public GeometryDynFieldComponent(
+        DynField definition,
+        ValueField value,
+        boolean writeable) throws ServiceException {
+        
+        super(definition, value, false /* cannot edit geometry. writeable*/);
+        init();
+    }
+
+
+
+
+
+    public void setEnabled(boolean isEnabled) {
+    }
+
+    public void requestFocus() {
+    }
+
+    public JComponent asJComponent() {
+        return label;
+    }
+
+    public Object getValue() {
+        return this.getFieldValue();
+    }
+
+    protected void setJDynFieldComponentListeners() {
+    }
+
+    protected void afterUI() {
+    }
+
+    protected void initData() {
+    }
+
+    protected void initUI() {
+        Object val = this.getFieldValue();
+        if (val == null || (!(val instanceof Geometry))) {
+            label = new JLabel("[" + Messages.getText("_Null") + "]");
+        } else {
+            Geometry geom = (Geometry) val;
+            label = new JLabel(geom.getGeometryType().getName());
+        }
+    }
+
+    protected void setNonNullValue(Object value) {
+    }
+
+    protected void setNullValue() {
+    }
+
+    protected void setReadOnly() {
+    }
+
+}
Index: branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/swing/dynfield/factory/GeometryDynFieldComponentFactory.java
===================================================================
--- branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/swing/dynfield/factory/GeometryDynFieldComponentFactory.java	(revision 0)
+++ branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/swing/dynfield/factory/GeometryDynFieldComponentFactory.java	(revision 38605)
@@ -0,0 +1,66 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.fmap.mapcontrol.swing.dynfield.factory;
+
+import org.gvsig.fmap.geom.DataTypes;
+import org.gvsig.fmap.geom.Geometry;
+import org.gvsig.fmap.mapcontrol.swing.dynfield.GeometryDynFieldComponent;
+import org.gvsig.tools.dynobject.DynField;
+import org.gvsig.tools.service.ServiceException;
+import org.gvsig.tools.swing.api.dynobject.dynfield.JDynFieldComponent;
+import org.gvsig.tools.swing.api.dynobject.dynfield.ValueField;
+import org.gvsig.tools.swing.spi.AbstractJDynFieldComponentFactory;
+
+
+/**
+ * This factory will create a swing component to represent
+ * a {@link Geometry} object (for example when opening
+ * a info by point dialog)
+ * 
+ * @author jldominguez
+ *
+ */
+public class GeometryDynFieldComponentFactory extends
+AbstractJDynFieldComponentFactory {
+
+    public JDynFieldComponent createJDynFieldComponent(DynField child,
+        ValueField dynObject, boolean writable) throws ServiceException {
+
+        return new GeometryDynFieldComponent(child, dynObject, writable);
+    }
+
+    public String getFactoryDescription() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public String getFactorySubType() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public Integer getFactoryType() {
+        return DataTypes.GEOMETRY;
+    }
+
+}
Index: branches/v2_0_0_prep/libraries/libFMap_controls/pom.xml
===================================================================
--- branches/v2_0_0_prep/libraries/libFMap_controls/pom.xml	(revision 38604)
+++ branches/v2_0_0_prep/libraries/libFMap_controls/pom.xml	(revision 38605)
@@ -37,7 +37,7 @@
         <dependency>
             <groupId>org.gvsig</groupId>
             <artifactId>org.gvsig.tools.swing.spi</artifactId>
-            <scope>runtime</scope>
+            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.gvsig</groupId>
Index: branches/v2_0_0_prep/libraries/libFMap_mapcontext/src/org/gvsig/fmap/mapcontext/layers/vectorial/FLyrVect.java
===================================================================
--- branches/v2_0_0_prep/libraries/libFMap_mapcontext/src/org/gvsig/fmap/mapcontext/layers/vectorial/FLyrVect.java	(revision 38604)
+++ branches/v2_0_0_prep/libraries/libFMap_mapcontext/src/org/gvsig/fmap/mapcontext/layers/vectorial/FLyrVect.java	(revision 38605)
@@ -815,6 +815,7 @@
                 featureStore.getDefaultFeatureType(),
                 geomName);
         featureQuery.setFilter(iee);
+        featureQuery.setAttributeNames(null);
         return getFeatureStore().getFeatureSet(featureQuery);
 
     }
