Index: branches/v2_0_0_prep/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/NewSkin.java
===================================================================
--- branches/v2_0_0_prep/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/NewSkin.java	(revision 38077)
+++ branches/v2_0_0_prep/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/NewSkin.java	(revision 38078)
@@ -62,6 +62,7 @@
 import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
@@ -80,11 +81,11 @@
 import javax.swing.event.InternalFrameEvent;
 import javax.swing.event.InternalFrameListener;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import org.gvsig.andami.PluginServices;
 import org.gvsig.andami.plugins.Extension;
+import org.gvsig.andami.plugins.config.generate.ActionTool;
+import org.gvsig.andami.plugins.config.generate.Menu;
+import org.gvsig.andami.plugins.config.generate.SelectableTool;
 import org.gvsig.andami.ui.mdiFrame.GlassPane;
 import org.gvsig.andami.ui.mdiFrame.MDIFrame;
 import org.gvsig.andami.ui.mdiFrame.NewStatusBar;
@@ -98,9 +99,10 @@
 import org.gvsig.andami.ui.theme.Theme;
 import org.gvsig.tools.swing.api.ToolsSwingLocator;
 import org.gvsig.tools.swing.api.windowmanager.WindowManager.MODE;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
-
 /**
  *
  */
@@ -145,7 +147,85 @@
     private Cursor lastCursor = null;
 	private ImageIcon image;
 	private String typeDesktop;
+
+
+	private List<UIActionTool>actionTools = new ArrayList<UIActionTool>();
 	
+	private class MyActionTool implements UIActionTool {
+		private String extensionName;
+		private String name;
+		private String text;
+		private String command;
+		private String iconName;
+		private String enableText;
+		private int position;
+		private String tip;
+		
+		MyActionTool(String extensionName, ActionTool action) {
+			this.extensionName = extensionName;
+			this.name = action.getName();
+			this.text = action.getText();
+			this.command = action.getActionCommand();
+			this.iconName = action.getIcon();
+			this.enableText = action.getEnableText();
+			this.position = action.getPosition();
+			this.tip = action.getTooltip();
+		}
+
+		public MyActionTool(String extensionName, Menu action) {
+			this.extensionName = extensionName;
+			this.name = null;
+			this.text = action.getText();
+			this.command = action.getActionCommand();
+			this.iconName = action.getIcon();
+			this.enableText = action.getEnableText();
+			this.position = action.getPosition();
+			this.tip = action.getTooltip();
+		}
+
+		public MyActionTool(String extensionName, SelectableTool action) {
+			this.extensionName = extensionName;
+			this.name = action.getName();
+			this.text = action.getText();
+			this.command = action.getActionCommand();
+			this.iconName = action.getIcon();
+			this.enableText = action.getEnableText();
+			this.position = action.getPosition();
+			this.tip = action.getTooltip();
+		}
+
+		public String getExtensionName() {
+			return this.extensionName;
+		}
+
+		public String getName() {
+			return this.name;
+		}
+
+		public String getText() {
+			return this.text;
+		}
+
+		public String getCommand() {
+			return this.command;
+		}
+
+		public String getIconName() {
+			return this.iconName;
+		}
+
+		public String getEnableText() {
+			return this.enableText;
+		}
+
+		public int getPosition() {
+			return this.position;
+		}
+		public String getTooptip() {
+			return this.tip;
+		}
+	}
+	
 	//Anyade barras de scroll
 	private void addScrolledDesktopPanel( JFrame parent, MyDesktopPane desktopPane) {
 		JPanel toppanel;
@@ -1241,4 +1321,20 @@
         // to show it.
         ToolsSwingLocator.getWindowManager().showWindow(panel, title, mode);
     }
+    
+    public void registerAction(String extensionName, ActionTool action) {
+    	this.actionTools.add(new MyActionTool(extensionName, action));
+    }
+    
+    public void registerAction(String extensionName, Menu action) {
+    	this.actionTools.add(new MyActionTool(extensionName, action));
+    }
+    
+    public void registerAction(String extensionName, SelectableTool action) {
+    	this.actionTools.add(new MyActionTool(extensionName, action));
+    }
+    
+    public Iterator<UIActionTool> getActionTools() {
+    	return this.actionTools.iterator();
+    }
 }
Index: branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/ui/mdiFrame/MDIFrame.java
===================================================================
--- branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/ui/mdiFrame/MDIFrame.java	(revision 38077)
+++ branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/ui/mdiFrame/MDIFrame.java	(revision 38078)
@@ -301,6 +301,8 @@
         btn.setVisible(false);
         String name = toolBar.getName();
 
+        MDIManagerFactory.createManager().registerAction(ext.getClassName(), selectableTool);
+        
         SelectableToolBar jtb = (SelectableToolBar) toolBarMap.get(name);
 
         if (jtb == null) {
@@ -396,6 +398,8 @@
         btn.setEnabled(false);
         btn.setVisible(false);
 
+        MDIManagerFactory.createManager().registerAction(ext.getClassName(), actionTool);
+        
         String name = toolBar.getName();
 
         SelectableToolBar jtb = (SelectableToolBar) toolBarMap.get(name);
@@ -531,6 +535,10 @@
         nuevoMenu.addActionListener(this);
         menuPadre.add(nuevoMenu);
         controlClass.put(nuevoMenu, loader.loadClass(ext.getClassName()));
+
+        MDIManagerFactory.createManager().registerAction(ext.getClassName(), menu);
+
+        
     }
 
     /**
Index: branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/ui/mdiManager/MDIManager.java
===================================================================
--- branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/ui/mdiManager/MDIManager.java	(revision 38077)
+++ branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/ui/mdiManager/MDIManager.java	(revision 38078)
@@ -41,10 +41,14 @@
 package org.gvsig.andami.ui.mdiManager;
 
 import java.beans.PropertyVetoException;
+import java.util.Iterator;
 
 import javax.swing.ImageIcon;
 import javax.swing.JPanel;
 
+import org.gvsig.andami.plugins.config.generate.ActionTool;
+import org.gvsig.andami.plugins.config.generate.Menu;
+import org.gvsig.andami.plugins.config.generate.SelectableTool;
 import org.gvsig.andami.ui.mdiFrame.MDIFrame;
 import org.gvsig.tools.swing.api.windowmanager.WindowManager;
 import org.gvsig.tools.swing.api.windowmanager.WindowManager.MODE;
@@ -81,6 +85,18 @@
  * @author Fernando González Cortés
  */
 public interface MDIManager {
+	
+	public interface UIActionTool {
+		public String getExtensionName();
+		public String getName();
+		public String getText();
+		public String getCommand();
+		public String getIconName();
+		public String getEnableText();
+		public String getTooptip();
+		public int getPosition();
+	}
+	
     /**
      * Initializes the MDIFrame. It must be called before starting
      * to use it. It receives the application's main frame
@@ -318,4 +334,10 @@
      * Theme.MOSAIC and Theme.EXPAND.
      */
 	public void setBackgroundImage(ImageIcon image, String typeDesktop);
+
+	public void registerAction(String extensionName, ActionTool action);
+	public void registerAction(String extensionName, SelectableTool action);
+	public void registerAction(String extensionName, Menu action);
+	
+	public Iterator<UIActionTool> getActionTools();
 }
Index: branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/iconthemes/AbstractIconTheme.java
===================================================================
--- branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/iconthemes/AbstractIconTheme.java	(revision 38077)
+++ branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/iconthemes/AbstractIconTheme.java	(revision 38078)
@@ -42,7 +42,13 @@
 
 
 import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.List;
 
 import javax.swing.ImageIcon;
 
@@ -134,6 +140,26 @@
 		return false;
 	}
 
+	public Iterator<String> iterator() {
+		Set<String> names = new HashSet<String>();
+		
+		if( defaultTheme !=null ) {
+			Iterator<String> it = defaultTheme.iterator();
+			while( it.hasNext() ) {
+				names.add(it.next());
+			}
+		}
+		Iterator<String> it = iconList.keySet().iterator();
+		while( it.hasNext() ) {
+			names.add(it.next());
+		}
+		List<String> names2 = new ArrayList<String>(names);
+		Collections.sort(names2);
+		return names2.iterator();
+	}
+	
+	
+	
 	/* (non-Javadoc)
 	 * @see com.iver.andami.iconthemes.IIconTheme#get(java.lang.String)
 	 */
@@ -151,18 +177,11 @@
 			return toImageIcon(loader.getResource(iconName),iconName);
 		}
 
-		if (defaultTheme==null ){
-			Object object = iconList.get(iconName);
-			if (object!=null) {
-				return toImageIcon(object,iconName);
-			}
-			return getNoIcon();
-		}
 		Object object = iconList.get(iconName);
 		if (object!=null) {
 			return toImageIcon(object,iconName);
 		}
-		if( defaultTheme.exists(iconName)) {
+		if( defaultTheme!=null && defaultTheme.exists(iconName)) {
 			return  defaultTheme.get(iconName, null);
 		}
 		return getNoIcon();
@@ -203,8 +222,11 @@
 	 * @see com.iver.andami.iconthemes.IIconTheme#registerDefault(java.lang.String, java.lang.Object)
 	 */
 	public void registerDefault(String iconName, Object resource) {
-		if (defaultTheme!=null)defaultTheme.register(iconName, resource);
-		else register(iconName, resource);
+		if (defaultTheme!=null) {
+			defaultTheme.register(iconName, resource);
+		} else {
+			register(iconName, resource);
+		}
 	}
 
 	/* (non-Javadoc)
@@ -294,5 +316,17 @@
 		return null;
 	}
 
+	public String getResourceID(String iconName) {
+		Object icon = null;
+		icon = iconList.get(iconName);
+		if( icon != null ) {
+			return icon.toString();
+		}
+		icon = ((AbstractIconTheme)defaultTheme).iconList.get(iconName);
+		if( icon != null ) {
+			return icon.toString();
+		}
+		return "";
+	}
 
 }
Index: branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/iconthemes/IIconTheme.java
===================================================================
--- branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/iconthemes/IIconTheme.java	(revision 38077)
+++ branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/iconthemes/IIconTheme.java	(revision 38078)
@@ -1,6 +1,7 @@
 package org.gvsig.andami.iconthemes;
 
 import java.net.URL;
+import java.util.Iterator;
 
 import javax.swing.ImageIcon;
 
@@ -9,11 +10,11 @@
 	/**
 	 * Load all icons from the IconTheme
 	 */
-	public abstract void load();
+	public void load();
 
-	public abstract void setDefault(IIconTheme def);
+	public void setDefault(IIconTheme def);
 
-	public abstract IIconTheme getDefault();
+	public IIconTheme getDefault();
 
 	/**
 	 * Returns <code>true</code> if the icon theme contains a mapping for the
@@ -25,7 +26,7 @@
 	 * @return <code>true</code> if this IconTheme contains
 	 * <code>iconName</code>, <code>false</code> otherwise.
 	 */
-	public abstract boolean exists(String iconName);
+	public boolean exists(String iconName);
 
 	/**
 	 * Gets the ImageIcon associated with the provided key, if the key
@@ -38,7 +39,7 @@
 	 * 			The icon associated with the provided key, or
 	 * <code>null</code> otherwise.
 	 */
-	public abstract ImageIcon get(String iconName);
+	public ImageIcon get(String iconName);
 
 	/**
 	 * Gets the ImageIcon associated with the provided key, if the key
@@ -55,7 +56,7 @@
 	 * 			The icon associated with the provided key, or
 	 * <code>no-icon</code> otherwise.
 	 */
-	public abstract ImageIcon get(String iconName, ClassLoader loader);
+	public ImageIcon get(String iconName, ClassLoader loader);
 
 	/**
 	 * <p>Register in this theme the provided iconName and the associated
@@ -71,7 +72,7 @@
 	 * @param image The image that is going to be associated with the
 	 * provided icon name.
 	 */
-	public abstract void registerDefault(String iconName, ImageIcon image);
+	public void registerDefault(String iconName, ImageIcon image);
 
 	/**
 	 * <p>Register in this theme the provided iconName and the associated
@@ -85,7 +86,7 @@
 	 * @param resource The resource that is going to be asssocioated with the providad
 	 * 	icon name
 	 */
-	public abstract void registerDefault(String iconName, Object resource);
+	public void registerDefault(String iconName, Object resource);
 
 	/**
 	 * <p>Register in this theme the provided iconName and the associated
@@ -101,7 +102,7 @@
 	 * @param image The image that is going to be associated with the
 	 * provided icon name.
 	 */
-	public abstract void register(String iconName, ImageIcon image);
+	public void register(String iconName, ImageIcon image);
 
 	/**
 	 * <p>Register in this theme the provided iconName and the associated
@@ -115,27 +116,27 @@
 	 * @param resource The resource that is going to be asssocioated with the providad
 	 * 	icon name
 	 */
-	public abstract void register(String iconName, Object resource);
+	public void register(String iconName, Object resource);
 
 	/**
 	 * Gets the theme name.
 	 * @return theme name
 	 */
-	public abstract String getName();
+	public String getName();
 
 	/**
 	 * Sets the theme name.
 	 *
 	 * @param themeName
 	 */
-	public abstract void setName(String themeName);
+	public void setName(String themeName);
 
 	/**
 	 * Gets the theme description.
 	 *
 	 * @return The description of this theme.
 	 */
-	public abstract String getDescription();
+	public String getDescription();
 
 	/**
 	 * Sets the theme description. It should be a short description
@@ -145,21 +146,21 @@
 	 *
 	 * @param description
 	 */
-	public abstract void setDescription(String description);
+	public void setDescription(String description);
 
 	/**
 	 * Returns the theme version. It defaults to "1.0".
 	 *
 	 * @return The version of this theme.
 	 */
-	public abstract String getVersion();
+	public String getVersion();
 
 	/**
 	 * Set the theme version.
 	 *
 	 * @param version
 	 */
-	public abstract void setVersion(String version);
+	public void setVersion(String version);
 
 	/**
 	 * Gets the Object which contains physically contains this theme on disk.
@@ -167,7 +168,7 @@
 	 *
 	 * @return
 	 */
-	public abstract Object getResource();
+	public Object getResource();
 
 	/**
 	 * Sets the file which contains physically contains this theme on disk.
@@ -175,7 +176,7 @@
 	 *
 	 * @return
 	 */
-	public abstract void setResource(Object resource);
+	public void setResource(Object resource);
 
 	/**
 	 * Return the URL which is currently associated with the
@@ -191,8 +192,24 @@
 	 *
 	 * @deprecated
 	 */
-	public abstract URL getURL(String iconName);
+	public URL getURL(String iconName);
+	
+	/**
+	 * Return an id of the resource associated to the named icon
+	 * or null if  the icon has not id.
+	 * 
+	 * @param iconName
+	 * @return the id associated to the icon or null.
+	 */
+	public String getResourceID(String iconName);
 
 	public ImageIcon getNoIcon();
+	
+	/**
+	 * Return an iterator over the names of the icons in the theme.
+	 * 
+	 * @return iterator of names of icons
+	 */
+	public Iterator<String> iterator();
 
 }
\ No newline at end of file
Index: branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/extension/ShowDevelInfoExtension.java
===================================================================
--- branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/extension/ShowDevelInfoExtension.java	(revision 38077)
+++ branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/extension/ShowDevelInfoExtension.java	(revision 38078)
@@ -2,15 +2,17 @@
 
 import java.awt.BorderLayout;
 import java.awt.Dimension;
-import java.awt.Toolkit;
-import java.awt.datatransfer.StringSelection;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.ComponentEvent;
 import java.awt.event.ComponentListener;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
@@ -22,12 +24,13 @@
 import javax.swing.JScrollPane;
 import javax.swing.JTextPane;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
+import org.gvsig.andami.iconthemes.IIconTheme;
+import org.gvsig.andami.iconthemes.IconThemeManager;
 import org.gvsig.andami.plugins.Extension;
 import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.MDIManagerFactory;
 import org.gvsig.andami.ui.mdiManager.WindowInfo;
+import org.gvsig.andami.ui.mdiManager.MDIManager.UIActionTool;
 import org.gvsig.app.ApplicationLocator;
 import org.gvsig.tools.ToolsLocator;
 import org.gvsig.tools.dataTypes.DataTypesManager;
@@ -37,13 +40,15 @@
 import org.gvsig.tools.persistence.PersistenceManager;
 import org.gvsig.tools.persistence.Persistent;
 import org.gvsig.tools.persistence.exception.PersistenceException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ShowDevelInfoExtension extends Extension {
 	public static final int MODE_DIALOG = 1;
     public static final int MODE_WINDOW = 2;
     public static final int MODE_TOOL = 3;
 
-    private Logger LOG = LoggerFactory.getLogger(ShowDevelInfoExtension.class);
+    private Logger logger = LoggerFactory.getLogger(ShowDevelInfoExtension.class);
     
 	public void initialize() {
 		// Do nothing
@@ -56,7 +61,7 @@
 		try {
 			manager.setAutoValidation(PersistenceManager.MANDATORY_IF_DECLARED);
 		} catch (PersistenceException e) {
-			LOG.warn("Error modificando el modo de autovalidacion de persistencia.", e);
+			logger.warn("Error modificando el modo de autovalidacion de persistencia.", e);
 		}
 		
 	}
@@ -64,10 +69,109 @@
 	public void execute(String actionCommand) {
 		if( "ShowPersistenceFactories".equalsIgnoreCase(actionCommand) ) {
 			showInfoPanel("Persistence factories", MODE_WINDOW, this.getPersistenceFactories());
+		} else if( "ShowIconThemeInformation".equalsIgnoreCase(actionCommand) ) {
+			showInfoPanel("Icon theme information", MODE_WINDOW, this.getIconThemeInformation());
+		} else if( "ShowActionsInformation".equalsIgnoreCase(actionCommand) ) {
+			showInfoPanel("Actions information", MODE_WINDOW, this.getActionsInformation());
 		}
 		
 	}
 
+	private String getActionsInformation() {
+		StringBuffer buffer = new StringBuffer();
+		
+		buffer.append("<html>\n");
+		buffer.append("<body>\n");
+		buffer.append("<h2>Actions information</h2>\n");
+		buffer.append("<br>\n");
+
+		buffer.append("<table border=\"0\">\n");
+		buffer.append("  <tr>\n");
+		buffer.append("    <td>Name</td>\n");
+		buffer.append("    <td>Extension</td>\n");
+		buffer.append("    <td>Position</td>\n");
+		buffer.append("    <td>Text</td>\n");
+		buffer.append("    <td>Command</td>\n");
+		buffer.append("    <td>Icon</td>\n");
+		buffer.append("    <td>Tip</td>\n");
+		buffer.append("    <td>Enabled text</td>\n");
+		buffer.append("  </tr>\n");
+		Iterator<UIActionTool> actions = MDIManagerFactory.createManager().getActionTools();
+		while( actions.hasNext() ) {
+			UIActionTool action = actions.next();
+			buffer.append("  <tr>\n");
+			buffer.append("    <td>").append(action.getName()).append("</td>\n");
+			buffer.append("    <td>").append(action.getExtensionName()).append("</td>\n");
+			buffer.append("    <td>").append(action.getPosition()).append("</td>\n");
+			buffer.append("    <td>").append(action.getText()).append("</td>\n");
+			buffer.append("    <td>").append(action.getCommand()).append("</td>\n");
+			buffer.append("    <td>").append(action.getIconName()).append("</td>\n");
+			buffer.append("    <td>").append(action.getTooptip()).append("</td>\n");
+			buffer.append("    <td>").append(action.getEnableText()).append("</td>\n");
+			buffer.append("  </tr>\n");
+		}
+		buffer.append("</table>\n");
+		buffer.append("</body>\n");
+		buffer.append("</html>\n");
+
+		save2file("actionsinfo",buffer.toString());
+
+		return buffer.toString();	}
+
+	private String getIconThemeInformation() {
+		StringBuffer buffer = new StringBuffer();
+		
+		IconThemeManager manager = IconThemeManager.getIconThemeManager();
+		IIconTheme theme = manager.getCurrent();
+		
+		buffer.append("<html>\n");
+		buffer.append("<body>\n");
+		buffer.append("<h2>Icon theme information</h2>\n");
+		buffer.append("<br>\n");
+		buffer.append("Theme: ");
+		buffer.append(theme.getName());
+		buffer.append("<br>\n");
+		buffer.append("Description: ");
+		buffer.append(theme.getDescription());
+		buffer.append("<br>\n");
+		buffer.append("Version: ");
+		buffer.append(theme.getVersion());
+		buffer.append("<br>\n");
+
+		buffer.append("<table border=\"0\">\n");
+		buffer.append("  <tr>\n");
+		buffer.append("    <td>Name</td>\n");
+		buffer.append("    <td>Resource id</td>\n");
+		buffer.append("  </tr>\n");
+		Iterator<String> names = theme.iterator();
+		while( names.hasNext() ) {
+			String name = names.next();
+			buffer.append("  <tr>\n");
+			buffer.append("    <td>").append(name).append("</td>\n");
+			buffer.append("    <td>").append(theme.getResourceID(name)).append("</td>\n");
+			buffer.append("  </tr>\n");
+		}
+		buffer.append("</table>\n");
+		buffer.append("</body>\n");
+		buffer.append("</html>\n");
+
+		save2file("iconthemeinfo",buffer.toString());
+		
+		return buffer.toString();
+	}
+
+	private void save2file(String name, String contents) {
+		File file;
+		try {
+			file = File.createTempFile("gvsig-"+name, ".html");
+			FileWriter fwriter = new FileWriter(file);
+			fwriter.append(contents);
+			fwriter.close();
+		} catch (IOException e) {
+			logger.warn("Can't save contents to temp file gvsig-"+name, e );
+		}
+	}
+	
 	public boolean isEnabled() {
 		return true;
 	}
@@ -120,8 +224,7 @@
 		    copy = new JButton("Copy to clipboard");
 		    copy.addActionListener(new ActionListener() {
 			    public void actionPerformed(ActionEvent arg0) {
-			    	StringSelection ss = new StringSelection(text.getText());
-			    	Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss,ss);
+			    	ApplicationLocator.getManager().putInClipboard(text.getText());
 			    }
 		    });
 		    
@@ -242,7 +345,7 @@
 
 		public int compare(Object o1, Object o2) {
 			if( o1==null || o2==null || ((Class)o1).getName()==null ) {
-				LOG.warn("Esto no deberia estar pasando.");
+				logger.warn("Esto no deberia estar pasando.");
 				return 0; // FIXME
 			}
 			return ((Class)o1).getName().compareTo(((Class)o2).getName());
@@ -393,6 +496,8 @@
 		buffer.append("</body>\n");
 		buffer.append("</html>\n");
 		
+		save2file("persistenceinfo",buffer.toString());
+
 		return buffer.toString();
 	}
 
Index: branches/v2_0_0_prep/applications/appgvSIG/config/config.xml
===================================================================
--- branches/v2_0_0_prep/applications/appgvSIG/config/config.xml	(revision 38077)
+++ branches/v2_0_0_prep/applications/appgvSIG/config/config.xml	(revision 38078)
@@ -296,6 +296,8 @@
 			active="true"
 			priority="30">
 			<menu text="tools/Development/Show persistence factories" position="7009020" action-command="ShowPersistenceFactories"/>
+			<menu text="tools/Development/Show icon theme information" position="7009023" action-command="ShowIconThemeInformation"/>
+			<menu text="tools/Development/Show actions information" position="7009026" action-command="ShowActionsInformation"/>
 		</extension>
 
 
