Revision 38078 branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/extension/ShowDevelInfoExtension.java
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