root / tags / v2_0_0_Build_2050 / applications / appgvSIG / src / org / gvsig / app / extension / develtools / MenusDevelTool.java @ 38653
History | View | Annotate | Download (3.6 KB)
1 |
package org.gvsig.app.extension.develtools; |
---|---|
2 |
|
3 |
import java.util.Collections; |
4 |
import java.util.Comparator; |
5 |
import java.util.List; |
6 |
|
7 |
import org.gvsig.andami.Launcher; |
8 |
import org.gvsig.andami.Launcher.PluginMenuItem; |
9 |
import org.gvsig.andami.actioninfo.ActionInfo; |
10 |
import org.gvsig.tools.swing.api.windowmanager.WindowManager; |
11 |
|
12 |
public class MenusDevelTool { |
13 |
public void showAllMenus() { |
14 |
String html = this.getAllMenus(); |
15 |
InfoPanel.save2file("menusinfo", html);
|
16 |
InfoPanel.showPanel("Menu information", WindowManager.MODE.WINDOW, html);
|
17 |
} |
18 |
public void showAllMenusByPlugin() { |
19 |
String html = this.getAllMenusByPlugin(); |
20 |
InfoPanel.save2file("menusbyplugininfo", html);
|
21 |
InfoPanel.showPanel("Menu by plugin information", WindowManager.MODE.WINDOW, html);
|
22 |
} |
23 |
|
24 |
public String getAllMenus() { |
25 |
Launcher launcher = Launcher.getInstance(); |
26 |
List<PluginMenuItem> menuItems = launcher.getPluginMenuItems();
|
27 |
|
28 |
return this.getAllMenus(menuItems); |
29 |
} |
30 |
|
31 |
public String getAllMenusByPlugin() { |
32 |
Launcher launcher = Launcher.getInstance(); |
33 |
List<PluginMenuItem> menuItems = launcher.getPluginMenuItems();
|
34 |
|
35 |
Collections.sort(menuItems, new Comparator<PluginMenuItem>() { |
36 |
public int compare(PluginMenuItem o1, PluginMenuItem o2) { |
37 |
String s1 = String.format("%s:%012d:%s", o1.getPluginName(), o1.getPosition(), o1.getText()); |
38 |
String s2 = String.format("%s:%012d:%s", o2.getPluginName(), o2.getPosition(), o2.getText()); |
39 |
return s1.compareTo(s2);
|
40 |
} |
41 |
}); |
42 |
return this.getAllMenus(menuItems); |
43 |
} |
44 |
|
45 |
private String getAllMenus(List<PluginMenuItem> menuItems) { |
46 |
StringBuffer buffer = new StringBuffer(); |
47 |
|
48 |
// String warning_open = "<b>";
|
49 |
// String warning_close = "</b>";
|
50 |
|
51 |
String error_open = "<b><font color=\"red\">"; |
52 |
String error_close = "</font></b>"; |
53 |
|
54 |
buffer.append("<html>\n");
|
55 |
buffer.append("<body>\n");
|
56 |
buffer.append("<h2>Menu information </h2>\n");
|
57 |
buffer.append("<br>\n");
|
58 |
|
59 |
buffer.append("<table border=\"0\">\n");
|
60 |
buffer.append(" <tr>\n");
|
61 |
buffer.append(" <td>Position</td>\n");
|
62 |
buffer.append(" <td>Text</td>\n");
|
63 |
buffer.append(" <td>Action</td>\n");
|
64 |
buffer.append(" <td>Plugin</td>\n");
|
65 |
buffer.append(" </tr>\n");
|
66 |
|
67 |
|
68 |
for (PluginMenuItem menu : menuItems) {
|
69 |
buffer.append(" <tr valign=\"top\">\n");
|
70 |
buffer |
71 |
.append(" <td>")
|
72 |
.append(formatPosition( menu.getPosition())) |
73 |
.append("</td>\n");
|
74 |
buffer |
75 |
.append(" <td>")
|
76 |
.append(menu.getText()) |
77 |
.append("</td>\n");
|
78 |
if( menu.isParent() ) {
|
79 |
buffer |
80 |
.append(" <td>")
|
81 |
.append("----")
|
82 |
.append("</td>\n");
|
83 |
buffer |
84 |
.append(" <td>")
|
85 |
.append(menu.getPluginName()) |
86 |
.append("</td>\n");
|
87 |
} else {
|
88 |
ActionInfo action = menu.getAction(); |
89 |
if( action == null ) { |
90 |
buffer |
91 |
.append(" <td>")
|
92 |
.append(error_open) |
93 |
.append(menu.getName()) |
94 |
.append(error_close) |
95 |
.append("</td>\n");
|
96 |
buffer |
97 |
.append(" <td>")
|
98 |
.append(menu.getPluginName()) |
99 |
.append("</td>\n");
|
100 |
} else {
|
101 |
buffer |
102 |
.append(" <td>")
|
103 |
.append(action.getName()) |
104 |
.append("</td>\n");
|
105 |
buffer |
106 |
.append(" <td>")
|
107 |
.append(action.getPluginName()) |
108 |
.append("</td>\n");
|
109 |
} |
110 |
} |
111 |
buffer.append(" </tr>\n");
|
112 |
} |
113 |
buffer.append("</table>\n");
|
114 |
buffer.append("</body>\n");
|
115 |
buffer.append("</html>\n");
|
116 |
|
117 |
return buffer.toString();
|
118 |
} |
119 |
|
120 |
static String formatPosition(long position) { |
121 |
String pos = String.format("%012d",position); |
122 |
if( pos.length() != 12) { |
123 |
return pos;
|
124 |
} |
125 |
String posf = pos.substring(0, 5) + "-" + |
126 |
pos.substring(5,8) + "-" + |
127 |
pos.substring(8,11) + "-" + |
128 |
pos.substring(11);
|
129 |
return posf;
|
130 |
} |
131 |
} |