Index: ShowDevelInfoExtension.java
===================================================================
--- ShowDevelInfoExtension.java	(revision 38077)
+++ 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();
 	}
 
