Revision 38078 branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/extension/ShowDevelInfoExtension.java

View differences:

ShowDevelInfoExtension.java
2 2

  
3 3
import java.awt.BorderLayout;
4 4
import java.awt.Dimension;
5
import java.awt.Toolkit;
6
import java.awt.datatransfer.StringSelection;
7 5
import java.awt.event.ActionEvent;
8 6
import java.awt.event.ActionListener;
9 7
import java.awt.event.ComponentEvent;
10 8
import java.awt.event.ComponentListener;
9
import java.io.File;
10
import java.io.FileWriter;
11
import java.io.IOException;
11 12
import java.util.ArrayList;
12 13
import java.util.Collections;
13 14
import java.util.Comparator;
15
import java.util.Iterator;
14 16
import java.util.List;
15 17
import java.util.Set;
16 18
import java.util.TreeSet;
......
22 24
import javax.swing.JScrollPane;
23 25
import javax.swing.JTextPane;
24 26

  
25
import org.slf4j.Logger;
26
import org.slf4j.LoggerFactory;
27

  
27
import org.gvsig.andami.iconthemes.IIconTheme;
28
import org.gvsig.andami.iconthemes.IconThemeManager;
28 29
import org.gvsig.andami.plugins.Extension;
29 30
import org.gvsig.andami.ui.mdiManager.IWindow;
31
import org.gvsig.andami.ui.mdiManager.MDIManagerFactory;
30 32
import org.gvsig.andami.ui.mdiManager.WindowInfo;
33
import org.gvsig.andami.ui.mdiManager.MDIManager.UIActionTool;
31 34
import org.gvsig.app.ApplicationLocator;
32 35
import org.gvsig.tools.ToolsLocator;
33 36
import org.gvsig.tools.dataTypes.DataTypesManager;
......
37 40
import org.gvsig.tools.persistence.PersistenceManager;
38 41
import org.gvsig.tools.persistence.Persistent;
39 42
import org.gvsig.tools.persistence.exception.PersistenceException;
43
import org.slf4j.Logger;
44
import org.slf4j.LoggerFactory;
40 45

  
41 46
public class ShowDevelInfoExtension extends Extension {
42 47
	public static final int MODE_DIALOG = 1;
43 48
    public static final int MODE_WINDOW = 2;
44 49
    public static final int MODE_TOOL = 3;
45 50

  
46
    private Logger LOG = LoggerFactory.getLogger(ShowDevelInfoExtension.class);
51
    private Logger logger = LoggerFactory.getLogger(ShowDevelInfoExtension.class);
47 52
    
48 53
	public void initialize() {
49 54
		// Do nothing
......
56 61
		try {
57 62
			manager.setAutoValidation(PersistenceManager.MANDATORY_IF_DECLARED);
58 63
		} catch (PersistenceException e) {
59
			LOG.warn("Error modificando el modo de autovalidacion de persistencia.", e);
64
			logger.warn("Error modificando el modo de autovalidacion de persistencia.", e);
60 65
		}
61 66
		
62 67
	}
......
64 69
	public void execute(String actionCommand) {
65 70
		if( "ShowPersistenceFactories".equalsIgnoreCase(actionCommand) ) {
66 71
			showInfoPanel("Persistence factories", MODE_WINDOW, this.getPersistenceFactories());
72
		} else if( "ShowIconThemeInformation".equalsIgnoreCase(actionCommand) ) {
73
			showInfoPanel("Icon theme information", MODE_WINDOW, this.getIconThemeInformation());
74
		} else if( "ShowActionsInformation".equalsIgnoreCase(actionCommand) ) {
75
			showInfoPanel("Actions information", MODE_WINDOW, this.getActionsInformation());
67 76
		}
68 77
		
69 78
	}
70 79

  
80
	private String getActionsInformation() {
81
		StringBuffer buffer = new StringBuffer();
82
		
83
		buffer.append("<html>\n");
84
		buffer.append("<body>\n");
85
		buffer.append("<h2>Actions information</h2>\n");
86
		buffer.append("<br>\n");
87

  
88
		buffer.append("<table border=\"0\">\n");
89
		buffer.append("  <tr>\n");
90
		buffer.append("    <td>Name</td>\n");
91
		buffer.append("    <td>Extension</td>\n");
92
		buffer.append("    <td>Position</td>\n");
93
		buffer.append("    <td>Text</td>\n");
94
		buffer.append("    <td>Command</td>\n");
95
		buffer.append("    <td>Icon</td>\n");
96
		buffer.append("    <td>Tip</td>\n");
97
		buffer.append("    <td>Enabled text</td>\n");
98
		buffer.append("  </tr>\n");
99
		Iterator<UIActionTool> actions = MDIManagerFactory.createManager().getActionTools();
100
		while( actions.hasNext() ) {
101
			UIActionTool action = actions.next();
102
			buffer.append("  <tr>\n");
103
			buffer.append("    <td>").append(action.getName()).append("</td>\n");
104
			buffer.append("    <td>").append(action.getExtensionName()).append("</td>\n");
105
			buffer.append("    <td>").append(action.getPosition()).append("</td>\n");
106
			buffer.append("    <td>").append(action.getText()).append("</td>\n");
107
			buffer.append("    <td>").append(action.getCommand()).append("</td>\n");
108
			buffer.append("    <td>").append(action.getIconName()).append("</td>\n");
109
			buffer.append("    <td>").append(action.getTooptip()).append("</td>\n");
110
			buffer.append("    <td>").append(action.getEnableText()).append("</td>\n");
111
			buffer.append("  </tr>\n");
112
		}
113
		buffer.append("</table>\n");
114
		buffer.append("</body>\n");
115
		buffer.append("</html>\n");
116

  
117
		save2file("actionsinfo",buffer.toString());
118

  
119
		return buffer.toString();	}
120

  
121
	private String getIconThemeInformation() {
122
		StringBuffer buffer = new StringBuffer();
123
		
124
		IconThemeManager manager = IconThemeManager.getIconThemeManager();
125
		IIconTheme theme = manager.getCurrent();
126
		
127
		buffer.append("<html>\n");
128
		buffer.append("<body>\n");
129
		buffer.append("<h2>Icon theme information</h2>\n");
130
		buffer.append("<br>\n");
131
		buffer.append("Theme: ");
132
		buffer.append(theme.getName());
133
		buffer.append("<br>\n");
134
		buffer.append("Description: ");
135
		buffer.append(theme.getDescription());
136
		buffer.append("<br>\n");
137
		buffer.append("Version: ");
138
		buffer.append(theme.getVersion());
139
		buffer.append("<br>\n");
140

  
141
		buffer.append("<table border=\"0\">\n");
142
		buffer.append("  <tr>\n");
143
		buffer.append("    <td>Name</td>\n");
144
		buffer.append("    <td>Resource id</td>\n");
145
		buffer.append("  </tr>\n");
146
		Iterator<String> names = theme.iterator();
147
		while( names.hasNext() ) {
148
			String name = names.next();
149
			buffer.append("  <tr>\n");
150
			buffer.append("    <td>").append(name).append("</td>\n");
151
			buffer.append("    <td>").append(theme.getResourceID(name)).append("</td>\n");
152
			buffer.append("  </tr>\n");
153
		}
154
		buffer.append("</table>\n");
155
		buffer.append("</body>\n");
156
		buffer.append("</html>\n");
157

  
158
		save2file("iconthemeinfo",buffer.toString());
159
		
160
		return buffer.toString();
161
	}
162

  
163
	private void save2file(String name, String contents) {
164
		File file;
165
		try {
166
			file = File.createTempFile("gvsig-"+name, ".html");
167
			FileWriter fwriter = new FileWriter(file);
168
			fwriter.append(contents);
169
			fwriter.close();
170
		} catch (IOException e) {
171
			logger.warn("Can't save contents to temp file gvsig-"+name, e );
172
		}
173
	}
174
	
71 175
	public boolean isEnabled() {
72 176
		return true;
73 177
	}
......
120 224
		    copy = new JButton("Copy to clipboard");
121 225
		    copy.addActionListener(new ActionListener() {
122 226
			    public void actionPerformed(ActionEvent arg0) {
123
			    	StringSelection ss = new StringSelection(text.getText());
124
			    	Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss,ss);
227
			    	ApplicationLocator.getManager().putInClipboard(text.getText());
125 228
			    }
126 229
		    });
127 230
		    
......
242 345

  
243 346
		public int compare(Object o1, Object o2) {
244 347
			if( o1==null || o2==null || ((Class)o1).getName()==null ) {
245
				LOG.warn("Esto no deberia estar pasando.");
348
				logger.warn("Esto no deberia estar pasando.");
246 349
				return 0; // FIXME
247 350
			}
248 351
			return ((Class)o1).getName().compareTo(((Class)o2).getName());
......
393 496
		buffer.append("</body>\n");
394 497
		buffer.append("</html>\n");
395 498
		
499
		save2file("persistenceinfo",buffer.toString());
500

  
396 501
		return buffer.toString();
397 502
	}
398 503

  

Also available in: Unified diff