Revision 639 org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.swing/org.gvsig.scripting.swing.impl/src/main/java/org/gvsig/scripting/swing/impl/DefaultScriptingUIManager.java
DefaultScriptingUIManager.java | ||
---|---|---|
4 | 4 |
import java.awt.Dimension; |
5 | 5 |
import java.net.URL; |
6 | 6 |
import java.net.URLClassLoader; |
7 |
import java.util.ArrayList; |
|
8 | 7 |
import java.util.Collection; |
9 |
import java.util.Collections; |
|
10 | 8 |
import java.util.HashMap; |
11 |
import java.util.List; |
|
12 | 9 |
import java.util.Locale; |
13 | 10 |
import java.util.Map; |
14 | 11 |
import javax.help.HelpSet; |
... | ... | |
17 | 14 |
import javax.help.ScriptingHelpModel; |
18 | 15 |
import javax.swing.Action; |
19 | 16 |
import javax.swing.ImageIcon; |
17 |
import javax.swing.JComponent; |
|
20 | 18 |
import javax.swing.JPanel; |
21 | 19 |
import org.gvsig.about.AboutLocator; |
22 | 20 |
import org.gvsig.about.AboutManager; |
... | ... | |
26 | 24 |
import org.gvsig.scripting.ScriptingLocator; |
27 | 25 |
import org.gvsig.scripting.ScriptingManager; |
28 | 26 |
import org.gvsig.scripting.ScriptingScript; |
27 |
import org.gvsig.scripting.ScriptingUnit; |
|
29 | 28 |
import org.gvsig.scripting.swing.api.JCodeEditor; |
30 | 29 |
import org.gvsig.scripting.swing.api.JDialogEditor; |
30 |
import org.gvsig.scripting.swing.api.JEditor; |
|
31 | 31 |
import org.gvsig.scripting.swing.api.JScriptingBrowser; |
32 | 32 |
import org.gvsig.scripting.swing.api.JScriptingComposer; |
33 | 33 |
import org.gvsig.scripting.swing.api.JScriptingConsole; |
... | ... | |
53 | 53 |
|
54 | 54 |
private final static Logger logger = LoggerFactory.getLogger(DefaultScriptingUIManager.class); |
55 | 55 |
|
56 |
private ScriptingManager manager; |
|
57 |
private Map<String, URL> userHelps = new HashMap<String, URL>();
|
|
56 |
private final ScriptingManager manager;
|
|
57 |
private final Map<String, URL> userHelps = new HashMap<>();
|
|
58 | 58 |
private I18nManager i18nManager; |
59 | 59 |
private WindowManager windowsManager = null; |
60 |
private Map<String,Action> composerTools = new HashMap<>(); |
|
61 |
private Map<String,MenuEntry> composerMenus = new HashMap<>(); |
|
60 |
private final Map<String,Action> composerTools = new HashMap<>(); |
|
61 |
private final Map<String,MenuEntry> composerMenus = new HashMap<>(); |
|
62 |
private JScriptingComposer activeComposer; |
|
62 | 63 |
|
63 | 64 |
private static class DefaultMenuEntry implements MenuEntry { |
64 | 65 |
private final Action action; |
... | ... | |
88 | 89 |
this.i18nManager = ToolsLocator.getI18nManager(); |
89 | 90 |
} |
90 | 91 |
|
92 |
@Override |
|
91 | 93 |
public JScriptingComposer createComposer() { |
92 | 94 |
return new DefaultJScriptingComposer(this); |
93 | 95 |
} |
94 | 96 |
|
97 |
@Override |
|
95 | 98 |
public JPanel createInstaller() { |
96 | 99 |
// TODO Auto-generated method stub |
97 | 100 |
return null; |
98 | 101 |
} |
99 | 102 |
|
103 |
@Override |
|
100 | 104 |
public JScriptingLauncher createLauncher() { |
101 | 105 |
return new DefaultJScriptingLauncher(this); |
102 | 106 |
} |
103 | 107 |
|
108 |
@Override |
|
104 | 109 |
public ImageIcon getIcon(String name) { |
105 | 110 |
return this.getIcon(name, null); |
106 | 111 |
} |
107 | 112 |
|
113 |
@Override |
|
108 | 114 |
public ImageIcon getIcon(String name, String size) { |
109 | 115 |
if (name == null) { |
110 | 116 |
return new ImageIcon(); |
... | ... | |
162 | 168 |
return new String[]{curr, "en", "es"}; |
163 | 169 |
} |
164 | 170 |
|
171 |
@Override |
|
165 | 172 |
public JPanel getUserHelp() { |
166 | 173 |
String[] langs = this.getPrerreferedLanguages(); |
167 | 174 |
URL url = null; |
168 |
for (int i = 0; i < langs.length; i++) {
|
|
169 |
url = this.userHelps.get(langs[i]);
|
|
175 |
for (String lang : langs) {
|
|
176 |
url = this.userHelps.get(lang); |
|
170 | 177 |
if (url != null) { |
171 | 178 |
break; |
172 | 179 |
} |
... | ... | |
181 | 188 |
urls[0] = url; |
182 | 189 |
ClassLoader loader = new URLClassLoader(urls, this.getClass().getClassLoader()); |
183 | 190 |
|
184 |
HelpSet helpSet = null;
|
|
191 |
HelpSet helpSet; |
|
185 | 192 |
try { |
186 | 193 |
URL resource; |
187 | 194 |
resource = loader.getResource("org/gvsig/scripting/help/help.hs"); |
... | ... | |
200 | 207 |
|
201 | 208 |
} |
202 | 209 |
|
210 |
@Override |
|
203 | 211 |
public void addUserHelp(String langName, URL resource) { |
204 | 212 |
this.userHelps.put(langName.toLowerCase(), resource); |
205 | 213 |
} |
206 | 214 |
|
215 |
@Override |
|
207 | 216 |
public AboutManager getAboutManager() { |
208 | 217 |
return AboutLocator.getManager(); |
209 | 218 |
} |
210 | 219 |
|
211 |
private void showWindow(JPanel panel, String title, WindowManager.MODE mode) {
|
|
220 |
private void showWindow(JComponent panel, String title, WindowManager.MODE mode) {
|
|
212 | 221 |
WindowManager winmanager = this.getWindowManager(); |
213 | 222 |
if( winmanager instanceof WindowManager_v2 ) { |
214 | 223 |
((WindowManager_v2)winmanager).showWindow(panel, title, mode, getIcon("scripting_python").getImage()); |
... | ... | |
217 | 226 |
} |
218 | 227 |
} |
219 | 228 |
|
220 |
public void showDialog(JPanel panel, String title) { |
|
229 |
@Override |
|
230 |
public void showDialog(JComponent panel, String title) { |
|
221 | 231 |
this.showWindow(panel, title, WindowManager.MODE.DIALOG); |
222 | 232 |
} |
223 | 233 |
|
224 |
public void showWindow(JPanel panel, String title) { |
|
234 |
@Override |
|
235 |
public void showWindow(JComponent panel, String title) { |
|
225 | 236 |
this.showWindow(panel, title, WindowManager.MODE.WINDOW); |
226 | 237 |
} |
227 | 238 |
|
228 |
public void showTool(JPanel panel, String title) { |
|
239 |
@Override |
|
240 |
public void showTool(JComponent panel, String title) { |
|
229 | 241 |
this.showWindow(panel, title, WindowManager.MODE.TOOL); |
230 | 242 |
} |
231 | 243 |
|
244 |
@Override |
|
232 | 245 |
public JScriptingBrowser createBrowser(ScriptingUIManager uimanager, ScriptingFolder root, boolean foldersOnly) { |
233 | 246 |
return new DefaultJScriptingBrowser(uimanager, root, foldersOnly); |
234 | 247 |
} |
235 | 248 |
|
249 |
@Override |
|
236 | 250 |
public JScriptingBrowser createBrowser(ScriptingUIManager uimanager, ScriptingFolder root) { |
237 | 251 |
return new DefaultJScriptingBrowser(uimanager, root, false); |
238 | 252 |
} |
239 | 253 |
|
254 |
@Override |
|
240 | 255 |
public JCodeEditor createJCodeEditor(ScriptingUIManager uimanager, ScriptingScript script) { |
241 | 256 |
return new DefaultJCodeEditor(uimanager, script); |
242 | 257 |
} |
243 | 258 |
|
259 |
@Override |
|
244 | 260 |
public JDialogEditor createJDialogEditor(ScriptingUIManager uimanager, ScriptingDialog script) { |
245 | 261 |
return new DefaultJDialogEditor(uimanager, script); |
246 | 262 |
} |
247 | 263 |
|
264 |
@Override |
|
248 | 265 |
public JThinG createJThinG() { |
249 | 266 |
JThinG thing = new DefaultJThinG(); |
250 | 267 |
return thing; |
251 | 268 |
} |
252 | 269 |
|
270 |
@Override |
|
253 | 271 |
public JThinlet createJThinlet() { |
254 | 272 |
JThinlet thinlet = new DefaultJThinlet(); |
255 | 273 |
return thinlet; |
256 | 274 |
} |
257 | 275 |
|
276 |
@Override |
|
258 | 277 |
public SyntaxtHighlightTextComponent createSyntaxHighlightingPanel() { |
259 | 278 |
try { |
260 | 279 |
return new JRSyntaxTextArea(); |
... | ... | |
264 | 283 |
} |
265 | 284 |
} |
266 | 285 |
|
286 |
@Override |
|
267 | 287 |
public String getTranslation(String key) { |
268 | 288 |
if (this.i18nManager == null) { |
269 | 289 |
this.i18nManager = ToolsLocator.getI18nManager(); |
... | ... | |
271 | 291 |
return i18nManager.getTranslation(key); |
272 | 292 |
} |
273 | 293 |
|
294 |
@Override |
|
274 | 295 |
public WindowManager getWindowManager() { |
275 | 296 |
if( this.windowsManager==null ) { |
276 | 297 |
this.windowsManager = ToolsSwingLocator.getWindowManager(); |
... | ... | |
278 | 299 |
return this.windowsManager; |
279 | 300 |
} |
280 | 301 |
|
302 |
@Override |
|
281 | 303 |
public void setWindowManager(WindowManager windowsManager) { |
282 | 304 |
this.windowsManager = windowsManager; |
283 | 305 |
} |
... | ... | |
309 | 331 |
return this.composerTools.values(); |
310 | 332 |
} |
311 | 333 |
|
334 |
@Override |
|
335 |
public JEditor createEditor(ScriptingUnit unit) { |
|
336 |
if( unit instanceof ScriptingDialog ) { |
|
337 |
return new DefaultJDialogEditor(this, (ScriptingDialog) unit); |
|
338 |
} |
|
339 |
if( unit instanceof ScriptingScript ) { |
|
340 |
return new DefaultJCodeEditor(this, (ScriptingScript) unit); |
|
341 |
} |
|
342 |
return null; |
|
343 |
} |
|
344 |
|
|
345 |
public void setActiveComposer(JScriptingComposer composer) { |
|
346 |
this.activeComposer = composer; |
|
347 |
} |
|
312 | 348 |
|
349 |
public JScriptingComposer getActiveComposer() { |
|
350 |
return this.activeComposer; |
|
351 |
} |
|
352 |
|
|
313 | 353 |
} |
Also available in: Unified diff