Statistics
| Revision:

gvsig-raster / org.gvsig.raster.tools / trunk / org.gvsig.raster.tools / org.gvsig.raster.tools.app / org.gvsig.raster.tools.app.basic / src / main / java / org / gvsig / raster / tools / app / basic / RasterExtension.java @ 997

History | View | Annotate | Download (25.2 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
*
3
* Copyright (C) 2007-2008 Infrastructures and Transports Department
4
* of the Valencian Government (CIT)
5
* 
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
* 
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
* GNU General Public License for more details.
15
* 
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
* MA  02110-1301, USA.
20
* 
21
*/
22
package org.gvsig.raster.tools.app.basic;
23

    
24
import java.awt.Component;
25
import java.util.ArrayList;
26
import java.util.prefs.Preferences;
27

    
28
import javax.swing.JOptionPane;
29

    
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.andami.plugins.Extension;
32
import org.gvsig.andami.ui.mdiManager.IWindow;
33
import org.gvsig.app.ApplicationLocator;
34
import org.gvsig.app.ApplicationManager;
35
import org.gvsig.app.project.documents.view.ViewDocument;
36
import org.gvsig.app.project.documents.view.gui.AbstractViewPanel;
37
import org.gvsig.app.project.documents.view.toc.ITocItem;
38
import org.gvsig.app.project.documents.view.toolListeners.StatusBarListener;
39
import org.gvsig.fmap.dal.coverage.RasterLibrary;
40
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
41
import org.gvsig.fmap.mapcontext.MapContext;
42
import org.gvsig.fmap.mapcontext.layers.FLayer;
43
import org.gvsig.fmap.mapcontext.layers.FLayers;
44
import org.gvsig.fmap.mapcontrol.MapControl;
45
import org.gvsig.fmap.mapcontrol.tools.Behavior.Behavior;
46
import org.gvsig.fmap.mapcontrol.tools.Behavior.MouseMovementBehavior;
47
import org.gvsig.fmap.mapcontrol.tools.Behavior.PointBehavior;
48
import org.gvsig.raster.fmap.FmapRasterLibrary;
49
import org.gvsig.raster.fmap.layers.DefaultFLyrRaster;
50
import org.gvsig.raster.fmap.layers.FLyrRaster;
51
import org.gvsig.raster.tools.app.basic.config.Configuration;
52
import org.gvsig.raster.tools.app.basic.config.ConfigurationEvent;
53
import org.gvsig.raster.tools.app.basic.config.ConfigurationListener;
54
import org.gvsig.raster.tools.app.basic.raster.gui.preference.RasterPreferences;
55
import org.gvsig.raster.tools.app.basic.raster.gui.wizard.PrepareDataStoreParametersRaw;
56
import org.gvsig.raster.tools.app.basic.raster.gui.wizard.PrepareDataStoreParametersVTR;
57
import org.gvsig.raster.tools.app.basic.raster.gui.wizard.PrepareLayerAskCoordinates;
58
import org.gvsig.raster.tools.app.basic.raster.gui.wizard.PrepareLayerAskProjection;
59
import org.gvsig.raster.tools.app.basic.raster.gui.wizard.PrepareLayerAskUsingTiles;
60
import org.gvsig.raster.tools.app.basic.tool.filter.grayscale.GrayScaleManager;
61
import org.gvsig.raster.tools.app.basic.tool.filter.mask.MaskListManager;
62
import org.gvsig.raster.tools.app.basic.tool.filter.regionalpha.RegionAlphaListManager;
63
import org.gvsig.raster.tools.app.basic.tool.multiresolution.ResolutionLevelListener;
64
import org.gvsig.raster.tools.app.basic.tool.properties.RasterPropertiesTocMenuEntry;
65
import org.gvsig.raster.tools.app.basic.tool.properties.panel.EnhancedPanel;
66
import org.gvsig.raster.tools.app.basic.tool.properties.panel.GeneralPanel;
67
import org.gvsig.raster.tools.app.basic.tool.properties.panel.InfoPanel;
68
import org.gvsig.raster.tools.app.basic.tool.properties.panel.TransparencyPanel;
69
import org.gvsig.raster.tools.app.basic.tool.rasterresolution.ZoomPixelCursorTocMenuEntry;
70
import org.gvsig.raster.tools.app.basic.tool.saveas.SaveAsTocMenuEntry;
71
import org.gvsig.tools.ToolsLocator;
72
import org.gvsig.tools.extensionpoint.ExtensionPoint;
73
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
74

    
75

    
76
/**
77
 * Extensi?n que adapta a FMap y gvSIG la nueva implementaci?n de raster. Para
78
 * el cuadro de Propiedades de visualizaci?n de raster contiene el contenedor
79
 * base se registran la entrada del men? del TOC y los paneles en el cuadro.
80
 * Para la parte de FMap contiene una nueva capa raster y los drivers
81
 * necesarios.
82
 *
83
 * @author Nacho Brodin (nachobrodin@gmail.com)
84
 */
85
public class RasterExtension extends Extension implements ConfigurationListener {
86

    
87
        /**
88
         * Indica si en el panel de preferencias se refresca automaticamente la vista
89
         * para mostrar los cambios
90
         */
91
        public static boolean       autoRefreshView = true;
92

    
93
        /**
94
         * Indica si se debe preguntar las coordenadas al cargar una capa que no las
95
         * tenga
96
         */
97
        public static boolean       askCoordinates = false;
98

    
99
        /*
100
         * (non-Javadoc)
101
         * @see com.iver.andami.plugins.IExtension#execute(java.lang.String)
102
         */
103
        public void execute(String actionCommand) {
104
                if(actionCommand.compareTo("ZOOM_RES_LEVEL") == 0) {
105
                        IWindow theView = PluginServices.getMDIManager().getActiveWindow();
106
                        if(!(theView instanceof AbstractViewPanel)) {
107
                                JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(), PluginServices.getText(this.getClass(), "window_not_valid"));
108
                                return;
109
                        }
110
                        
111
                        MapControl mapCtrl = ((AbstractViewPanel)theView).getMapControl();
112
                        StatusBarListener sbl = new StatusBarListener(mapCtrl);
113
                        ResolutionLevelListener rll = new ResolutionLevelListener();
114
                        mapCtrl.addBehavior("zoomResolutionLevel", new Behavior[]{new PointBehavior(rll),
115
                                                new MouseMovementBehavior(sbl)});
116
                        mapCtrl.setTool("zoomResolutionLevel");
117
                }
118
        }
119

    
120
        /*
121
         * (non-Javadoc)
122
         * @see com.iver.andami.plugins.IExtension#initialize()
123
         */
124
        public void initialize() {
125
                // Asignamos la configuracion global a FlyrRasterSE
126
                DefaultFLyrRaster.setConfiguration(Configuration.getSingleton());
127

    
128
                Configuration.addValueChangedListener(this);
129
                loadConfigurationValues();
130

    
131
                registerIcons();
132

    
133
                FmapRasterLibrary fmapRaster = new FmapRasterLibrary();
134
                fmapRaster.initialize();
135

    
136
                Preferences prefs = Preferences.userRoot().node("gvsig.foldering");
137
                prefs.put("DataFolder", System.getProperty("user.home"));
138
                ExtensionPointManager extensionPoints = ToolsLocator.getExtensionPointManager();
139

    
140
                // Creaci?n del punto de extensi?n para registrar paneles en el cuadro de propiedades.
141
                if (!extensionPoints.has("RasterSEPropertiesDialog")) {
142
                        ExtensionPoint point = extensionPoints.add("RasterSEPropertiesDialog");
143
                        point.setDescription("Raster Properties registrable panels (register instances of javax.swing.JPanel)");
144
                }
145

    
146
                // A?adimos la configuracion de Raster a gvSIG
147

    
148
                ExtensionPoint point = extensionPoints.add("AplicationPreferences");
149
                point.append("RasterPreferences", "", RasterPreferences.class);
150

    
151
                // A?adimos paneles al cuadro de propiedades.
152
                point = extensionPoints.add("RasterSEPropertiesDialog");
153
                point.append("info", "", InfoPanel.class);
154
                point.append("transparencia", "", TransparencyPanel.class);
155
                point.append("realce", "", EnhancedPanel.class);
156
                point.append("general_panel", "", GeneralPanel.class);
157

    
158
                // A?adimos las entradas del men?  del toc de raster
159
                point = extensionPoints.add("View_TocActions");
160
                point.append("RasterSEProperties", "", RasterPropertiesTocMenuEntry.getSingleton());
161
                point.append("View_TocActions", "SaveAs", SaveAsTocMenuEntry.getSingleton());
162
                point.append("View_TocActions", "ZoomPixelCursor", new ZoomPixelCursorTocMenuEntry());
163

    
164
                // A?adimos nuestra extension para el tratamiento de la apertura de ficheros mdentro de gvSIG
165
                // AddLayer.addWizard(FileOpenWizard.class);
166
                // ToolsLocator.getExtensionPointManager().add("FileExtendingOpenDialog",
167
                //                         "").append("FileOpenRaster", "", FileOpenRaster.class);
168

    
169
                ApplicationManager appGvSigMan = ApplicationLocator.getManager();
170

    
171
                appGvSigMan.registerPrepareOpenDataStoreParameters(new PrepareDataStoreParametersRaw());
172
                appGvSigMan.registerPrepareOpenDataStoreParameters(new PrepareDataStoreParametersVTR());
173

    
174
                appGvSigMan.registerPrepareOpenLayer(new PrepareLayerAskCoordinates());
175
                appGvSigMan.registerPrepareOpenLayer(new PrepareLayerAskUsingTiles());
176
                appGvSigMan.registerPrepareOpenDataStoreParameters(new PrepareLayerAskUsingTiles());
177
                appGvSigMan.registerPrepareOpenLayer(new PrepareLayerAskProjection());
178
                appGvSigMan.registerPrepareOpenDataStoreParameters(new PrepareLayerAskProjection());
179

    
180
                //Alias
181
                //LayerFactory lFactory = LayerFactory.getInstance();
182
//                lFactory.registerLayerToUseForStore("com.iver.cit.gvsig.fmap.layers.FLyrRaster", FLyrRasterSE.class);
183
//                lFactory.registerLayerToUseForStore("com.iver.cit.gvsig.fmap.layers.StatusLayerRaster", StatusLayerRaster.class);
184
                //lFactory.registerLayerToUseForStore(CoverageStore.class,
185
                                //DefaultFLyrRaster.class);
186

    
187
                // Registrar filtros
188
                RegionAlphaListManager.register();
189
                MaskListManager.register();
190
                GrayScaleManager.register();
191
        }
192

    
193
        /**
194
         * Registra los iconos a utilizar en andami.
195
         */
196
        private void registerIcons(){
197
                PluginServices.getIconTheme().registerDefault(
198
                                "zoom-res-level",
199
                                getClass().getClassLoader().getResource("images/raton02.png")
200
                        );
201
                PluginServices.getIconTheme().registerDefault(
202
                                "forward-icon",
203
                                this.getClass().getClassLoader().getResource("images/forward.png")
204
                        );
205
                PluginServices.getIconTheme().registerDefault(
206
                                "backward-icon",
207
                                this.getClass().getClassLoader().getResource("images/backward.png")
208
                        );
209
                PluginServices.getIconTheme().registerDefault(
210
                                "map-ok-ico",
211
                                this.getClass().getClassLoader().getResource("images/map_ico_ok.gif")
212
                        );
213
//                PluginServices.getIconTheme().registerDefault(
214
//                                "crux-cursor",
215
//                                MapControl.class.getResource("images/CruxCursor.png")
216
//                        );
217
                PluginServices.getIconTheme().registerDefault(
218
                                "blank-icon",
219
                                getClass().getClassLoader().getResource("images/blank.png")
220
                        );
221
                PluginServices.getIconTheme().registerDefault(
222
                                "addlayer-icon",
223
                                this.getClass().getClassLoader().getResource("images/addlayer.png")
224
                        );
225
                PluginServices.getIconTheme().registerDefault(
226
                                "delall-icon",
227
                                this.getClass().getClassLoader().getResource("images/delall.png")
228
                        );
229
                PluginServices.getIconTheme().registerDefault(
230
                                "rotar-icon",
231
                                this.getClass().getClassLoader().getResource("images/Rotar.gif")
232
                        );
233
                PluginServices.getIconTheme().registerDefault(
234
                                "hor-arrow-icon",
235
                                this.getClass().getClassLoader().getResource("images/FlechaHorizCursor.gif")
236
                        );
237
                PluginServices.getIconTheme().registerDefault(
238
                                "ver-arrow-icon",
239
                                this.getClass().getClassLoader().getResource("images/FlechaVertCursor.gif")
240
                        );
241
                PluginServices.getIconTheme().registerDefault(
242
                                "inclder-arrow-icon",
243
                                this.getClass().getClassLoader().getResource("images/FlechaInclDerCursor.gif")
244
                        );
245
                PluginServices.getIconTheme().registerDefault(
246
                                "inclizq-arrow-icon",
247
                                this.getClass().getClassLoader().getResource("images/FlechaInclIzqCursor.gif")
248
                        );
249
                PluginServices.getIconTheme().registerDefault(
250
                                "shear-y-icon",
251
                                this.getClass().getClassLoader().getResource("images/y.gif")
252
                        );
253
                PluginServices.getIconTheme().registerDefault(
254
                                "shear-x-icon",
255
                                this.getClass().getClassLoader().getResource("images/x.gif")
256
                        );
257
                PluginServices.getIconTheme().registerDefault(
258
                                "hand-icon",
259
                                this.getClass().getClassLoader().getResource("images/Hand.gif")
260
                        );
261
                PluginServices.getIconTheme().registerDefault(
262
                                "back-icon",
263
                                this.getClass().getClassLoader().getResource("images/back.png")
264
                        );
265
                PluginServices.getIconTheme().registerDefault(
266
                                "next-icon",
267
                                this.getClass().getClassLoader().getResource("images/next.png")
268
                        );
269
                PluginServices.getIconTheme().registerDefault(
270
                                "undo-icon",
271
                                this.getClass().getClassLoader().getResource("images/undo.png")
272
                        );
273
                PluginServices.getIconTheme().registerDefault(
274
                                "zoom-pixel-cursor",
275
                                this.getClass().getClassLoader().getResource("images/ZoomPixelCursor.gif")
276
                        );
277
                PluginServices.getIconTheme().registerDefault(
278
                                "save-raster",
279
                                this.getClass().getClassLoader().getResource("images/Rectangle.png")
280
                        );
281
                PluginServices.getIconTheme().registerDefault(
282
                                "pixel-increase",
283
                                this.getClass().getClassLoader().getResource("images/increase.png")
284
                        );
285
                PluginServices.getIconTheme().registerDefault(
286
                                "select-raster",
287
                                this.getClass().getClassLoader().getResource("images/stock_toggle-info.png")
288
                        );
289
                PluginServices.getIconTheme().registerDefault(
290
                                "select-raster",
291
                                this.getClass().getClassLoader().getResource("images/stock_toggle-info.png")
292
                        );
293
                PluginServices.getIconTheme().registerDefault(
294
                                "export-icon",
295
                                this.getClass().getClassLoader().getResource("images/export.png")
296
                        );
297
                PluginServices.getIconTheme().registerDefault(
298
                                "pref-raster-icon",
299
                                this.getClass().getClassLoader().getResource("images/raster-pref.png")
300
                        );
301
                PluginServices.getIconTheme().registerDefault(
302
                                "import-icon",
303
                                this.getClass().getClassLoader().getResource("images/import.png")
304
                        );
305
                PluginServices.getIconTheme().registerDefault(
306
                                "save-icon",
307
                                this.getClass().getClassLoader().getResource("images/savefile.png")
308
                        );
309
                PluginServices.getIconTheme().registerDefault(
310
                                "reset-icon",
311
                                this.getClass().getClassLoader().getResource("images/reset.png")
312
                        );
313
                PluginServices.getIconTheme().registerDefault(
314
                                "tfwload-icon",
315
                                this.getClass().getClassLoader().getResource("images/load.png")
316
                        );
317
                PluginServices.getIconTheme().registerDefault(
318
                                "centerraster-icon",
319
                                this.getClass().getClassLoader().getResource("images/center_image.png")
320
                        );
321
                PluginServices.getIconTheme().registerDefault(
322
                                "increase-icon",
323
                                this.getClass().getClassLoader().getResource("images/aumentar.png")
324
                        );
325
                PluginServices.getIconTheme().registerDefault(
326
                                "decrease-icon",
327
                                this.getClass().getClassLoader().getResource("images/disminuir.png")
328
                        );
329
                PluginServices.getIconTheme().registerDefault(
330
                                "selectzoomarea-icon",
331
                                this.getClass().getClassLoader().getResource("images/view-zoom-to-seleccion.png")
332
                        );
333
                PluginServices.getIconTheme().registerDefault(
334
                                "prevzoom-icon",
335
                                this.getClass().getClassLoader().getResource("images/view-zoom-back.png")
336
                        );
337
                PluginServices.getIconTheme().registerDefault(
338
                                "fullview-icon",
339
                                this.getClass().getClassLoader().getResource("images/view-zoom-map-contents.png")
340
                        );
341
                PluginServices.getIconTheme().register(
342
                                "geolocalization-icon",
343
                                this.getClass().getClassLoader().getResource("images/georef.png")
344
                        );
345
                PluginServices.getIconTheme().register(
346
                                "exporttoascii-icon",
347
                                this.getClass().getClassLoader().getResource("images/exportToAscii.png")
348
                        );
349
                PluginServices.getIconTheme().register(
350
                                "exporttocsv-icon",
351
                                this.getClass().getClassLoader().getResource("images/exportToCSV.png")
352
                        );
353
                PluginServices.getIconTheme().register(
354
                                "importfromcsv-icon",
355
                                this.getClass().getClassLoader().getResource("images/importFromCSV.png")
356
                        );
357
                PluginServices.getIconTheme().register(
358
                                "exit-icon",
359
                                this.getClass().getClassLoader().getResource("images/ico_exit.gif")
360
                        );
361
                PluginServices.getIconTheme().register(
362
                                "options-icon",
363
                                this.getClass().getClassLoader().getResource("images/ico_options.gif")
364
                        );
365
                PluginServices.getIconTheme().register(
366
                                "add-icon",
367
                                this.getClass().getClassLoader().getResource("images/add-ico.gif")
368
                        );
369
                PluginServices.getIconTheme().register(
370
                                "centerpoint-icon",
371
                                this.getClass().getClassLoader().getResource("images/icon_centerpoint.gif")
372
                        );
373
                PluginServices.getIconTheme().register(
374
                                "hand-icon",
375
                                this.getClass().getClassLoader().getResource("images/Hand.gif")
376
                        );
377
                PluginServices.getIconTheme().register(
378
                                "analisis-icon",
379
                                this.getClass().getClassLoader().getResource("images/prismaticos.gif")
380
                        );
381
                PluginServices.getIconTheme().registerDefault(
382
                                "clipping-icon",
383
                                getClass().getClassLoader().getResource("images/clipping.gif")
384
                        );
385
                PluginServices.getIconTheme().registerDefault(
386
                                "filter-icon",
387
                                getClass().getClassLoader().getResource("images/raster-filter.png")
388
                        );
389
                PluginServices.getIconTheme().registerDefault(
390
                                "histogram-icon",
391
                                getClass().getClassLoader().getResource("images/histogram.png")
392
                        );
393
                PluginServices.getIconTheme().registerDefault(
394
                                "overviews-icon",
395
                                getClass().getClassLoader().getResource("images/overviews.gif")
396
                        );
397
                PluginServices.getIconTheme().registerDefault(
398
                                "properties-icon",
399
                                getClass().getClassLoader().getResource("images/properties.gif")
400
                        );
401
                PluginServices.getIconTheme().registerDefault(
402
                                "colortable-icon",
403
                                getClass().getClassLoader().getResource("images/colortable.png")
404
                        );
405
                PluginServices.getIconTheme().registerDefault(
406
                                "rois-icon",
407
                                getClass().getClassLoader().getResource("images/rois.png")
408
                        );
409
                PluginServices.getIconTheme().registerDefault(
410
                                "brush-icon",
411
                                getClass().getClassLoader().getResource("images/brush.png")
412
                        );
413
                PluginServices.getIconTheme().registerDefault(
414
                                "selectrgb-icon",
415
                                getClass().getClassLoader().getResource("images/select_rgb.gif")
416
                        );
417
                PluginServices.getIconTheme().registerDefault(
418
                                "reproj-icon",
419
                                getClass().getClassLoader().getResource("images/reproject.png")
420
                        );
421
                PluginServices.getIconTheme().registerDefault(
422
                                "vectorization-icon",
423
                                getClass().getClassLoader().getResource("images/vectorT.png")
424
                        );
425
                PluginServices.getIconTheme().registerDefault(
426
                                "focus-icon",
427
                                getClass().getClassLoader().getResource("images/focus.png")
428
                        );
429
                
430
                PluginServices.getIconTheme().registerDefault(
431
                                "point-icon",
432
                                getClass().getClassLoader().getResource("images/Point.png")
433
                        );
434
                PluginServices.getIconTheme().registerDefault(
435
                                "pointcursor-icon",
436
                                getClass().getClassLoader().getResource("images/PointCursor.gif")
437
                        );
438
                PluginServices.getIconTheme().registerDefault(
439
                                "poligon-icon",
440
                                getClass().getClassLoader().getResource("images/Poligon.png")
441
                        );
442
                PluginServices.getIconTheme().registerDefault(
443
                                "poligoncursor-icon",
444
                                getClass().getClassLoader().getResource("images/PoligonCursor.png")
445
                        );
446
                PluginServices.getIconTheme().registerDefault(
447
                                "line-icon",
448
                                getClass().getClassLoader().getResource("images/Line.png")
449
                        );
450
                PluginServices.getIconTheme().registerDefault(
451
                                "linecursor-icon",
452
                                getClass().getClassLoader().getResource("images/LineCursor.png")
453
                        );
454
                PluginServices.getIconTheme().registerDefault(
455
                                "export-icon",
456
                                getClass().getClassLoader().getResource("images/export.png")
457
                        );
458
                PluginServices.getIconTheme().registerDefault(
459
                                "import-icon",
460
                                getClass().getClassLoader().getResource("images/import.png")
461
                        );
462
                PluginServices.getIconTheme().registerDefault(
463
                                "round-icon",
464
                                getClass().getClassLoader().getResource("images/round.png")
465
                        );
466
                PluginServices.getIconTheme().registerDefault(
467
                                "rois-icon",
468
                                getClass().getClassLoader().getResource("images/rois.png")
469
                        );
470
                PluginServices.getIconTheme().registerDefault(
471
                                "fullextent-icon",
472
                                getClass().getClassLoader().getResource("images/fullExtent.png")
473
                        );
474
                PluginServices.getIconTheme().registerDefault(
475
                                "selecttool-icon",
476
                                getClass().getClassLoader().getResource("images/selectTool.png")
477
                        );
478
        }
479
        /*
480
         * (non-Javadoc)
481
         * @see com.iver.andami.plugins.IExtension#isEnabled()
482
         */
483
        @SuppressWarnings("deprecation")
484
        public boolean isEnabled() {
485
                org.gvsig.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager().getActiveWindow();
486
                if (f == null)
487
                        return false;
488
                if (f instanceof AbstractViewPanel) {
489
                        AbstractViewPanel vista = (AbstractViewPanel) f;
490
                        ViewDocument model = vista.getModel();
491
                        MapContext mapa = model.getMapContext();
492
                        FLayers layers = mapa.getLayers();
493
                        for (int i = 0; i < layers.getLayersCount(); i++)
494
                                if (layers.getLayer(i) instanceof FLyrRaster)
495
                                        return true;
496
                }
497
                return false;
498
        }
499

    
500
        /**
501
         * Mostramos el control si hay alguna capa cargada.
502
         */
503
        @SuppressWarnings("deprecation")
504
        public boolean isVisible() {
505
                org.gvsig.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager().getActiveWindow();
506
                if (f == null)
507
                        return false;
508

    
509
                if (f instanceof AbstractViewPanel) {
510
                        AbstractViewPanel vista = (AbstractViewPanel) f;
511
                        ViewDocument model = vista.getModel();
512
                        MapContext mapa = model.getMapContext();
513
                        if (mapa.getLayers().getLayersCount() > 0)
514
                                return true;
515
                }
516

    
517
                return false;
518
        }
519

    
520
        /**
521
         * Carga los valores de configuracion iniciales
522
         */
523
        private void loadConfigurationValues() {
524
                autoRefreshView = Configuration.getValue("general_auto_preview", Boolean.TRUE).booleanValue();
525
                askCoordinates = Configuration.getValue("general_ask_coordinates", Boolean.FALSE).booleanValue();
526
                RasterLibrary.defaultNumberOfClasses = Configuration.getValue("general_defaultNumberOfClasses", Integer.valueOf(RasterLibrary.defaultNumberOfClasses)).intValue();
527
                RasterLibrary.cacheSize = Configuration.getValue("cache_size", Long.valueOf(RasterLibrary.cacheSize)).longValue();
528
                RasterLibrary.pageSize = Configuration.getValue("cache_pagesize", Double.valueOf(RasterLibrary.pageSize)).doubleValue();
529
                RasterLibrary.pagsPerGroup = Configuration.getValue("cache_pagspergroup", Integer.valueOf(RasterLibrary.pagsPerGroup)).intValue();
530
                RasterLibrary.blockHeight = Configuration.getValue("cache_blockheight", Integer.valueOf(RasterLibrary.blockHeight)).intValue();
531
                //RasterLibrary.defaultNoDataValue = Configuration.getValue("nodata_value", Double.valueOf(RasterLibrary.defaultNoDataValue)).doubleValue();
532
        }
533

    
534
        /*
535
         * (non-Javadoc)
536
         * @see org.gvsig.raster.util.ConfigurationListener#actionConfigurationChanged(org.gvsig.raster.util.ConfigurationEvent)
537
         */
538
        @SuppressWarnings("deprecation")
539
        public void actionConfigurationChanged(ConfigurationEvent e) {
540
                if (e.getKey().equals("nodata_transparency_enabled")) {
541
                        boolean noDataTransparent = ((Boolean) e.getValue()).booleanValue();
542
                        IWindow[] f = PluginServices.getMDIManager().getAllWindows();
543
                        if (f == null)
544
                                return;
545
                        for (int i = 0; i < f.length; i++)
546
                                if (f[i] instanceof AbstractViewPanel) {
547
                                        AbstractViewPanel vista = (AbstractViewPanel) f[i];
548
                                        ViewDocument model = vista.getModel();
549
                                        MapContext map = model.getMapContext();
550
                                        FLayers lyrs = map.getLayers();
551

    
552
                                        ArrayList<FLayer> list = RasterToolsUtil.getRasterLayerList(lyrs, null);
553
                                        for (int j = 0; j < list.size(); j++)
554
                                                if(list.get(j) instanceof FLyrRaster)
555
                                                        ((RasterDataStore)((FLyrRaster)list.get(j)).getDataStore()).getNoDataValue().setNoDataTransparent(noDataTransparent);
556
                                }
557

    
558
                        return;
559
                }
560

    
561
                if (e.getKey().equals("general_auto_preview")) {
562
                        if(e.getValue() instanceof String)
563
                                autoRefreshView = new Boolean((String) e.getValue()).booleanValue();
564
                        if(e.getValue() instanceof Boolean)
565
                                autoRefreshView = ((Boolean) e.getValue()).booleanValue();
566
                        return;
567
                }
568

    
569
                if (e.getKey().equals("general_ask_coordinates")) {
570
                        if(e.getValue() instanceof String)
571
                                askCoordinates = new Boolean((String) e.getValue()).booleanValue();
572
                        if(e.getValue() instanceof Boolean)
573
                                askCoordinates = ((Boolean) e.getValue()).booleanValue();
574
                        return;
575
                }
576

    
577
                if (e.getKey().equals("general_defaultNumberOfClasses")) {
578
                        if(e.getValue() instanceof String)
579
                                try {
580
                                        RasterLibrary.defaultNumberOfClasses = new Integer(
581
                                                        (String) e.getValue()).intValue();
582
                                } catch (NumberFormatException exc) {
583
                                        //Valor por defecto en el n?mero de clases
584
                                }
585

    
586
                        if(e.getValue() instanceof Integer)
587
                                RasterLibrary.defaultNumberOfClasses = ((Integer) e.getValue()).intValue();
588
                        return;
589
                }
590

    
591
                if (e.getKey().equals("cache_size")) {
592
                        if(e.getValue() instanceof String)
593
                                try {
594
                                        RasterLibrary.cacheSize = new Long((String) e.getValue()).longValue();
595
                                } catch (NumberFormatException exc) {
596
                                        //Valor por defecto en la cache
597
                                }
598
                        if(e.getValue() instanceof Long)
599
                                RasterLibrary.cacheSize = ((Long) e.getValue()).longValue();
600
                        return;
601
                }
602

    
603
                if (e.getKey().equals("cache_pagesize")) {
604
                        if(e.getValue() instanceof String)
605
                                try {
606
                                        RasterLibrary.pageSize = new Double((String) e.getValue())
607
                                                        .doubleValue();
608
                                } catch (NumberFormatException exc) {
609
                                        //Valor por defecto en la cache
610
                                }
611

    
612
                        if(e.getValue() instanceof Double)
613
                                RasterLibrary.pageSize = ((Double) e.getValue()).doubleValue();
614
                        return;
615
                }
616

    
617
                if (e.getKey().equals("cache_pagspergroup")) {
618
                        if(e.getValue() instanceof String)
619
                                try {
620
                                        RasterLibrary.pagsPerGroup = new Integer((String) e
621
                                                        .getValue()).intValue();
622
                                } catch (NumberFormatException exc) {
623
                                        //Valor por defecto en la cache
624
                                }
625

    
626
                        if(e.getValue() instanceof Integer)
627
                                RasterLibrary.pagsPerGroup = ((Integer) e.getValue()).intValue();
628
                        return;
629
                }
630

    
631
                if (e.getKey().equals("cache_blockheight")) {
632
                        if(e.getValue() instanceof String)
633
                                try {
634
                                        RasterLibrary.blockHeight = new Integer((String) e
635
                                                        .getValue()).intValue();
636
                                } catch (NumberFormatException exc) {
637
                                        //Valor por defecto en la cache
638
                                }
639
                        if(e.getValue() instanceof Integer)
640
                                RasterLibrary.blockHeight = ((Integer) e.getValue()).intValue();
641
                        return;
642
                }
643

    
644
                /*if (e.getKey().equals("nodata_value")) {
645
                        if(e.getValue() instanceof String)
646
                                try {
647
                                        RasterLibrary.defaultNoDataValue = new Double((String) e
648
                                                        .getValue()).doubleValue();
649
                                } catch (NumberFormatException exc) {
650
                                        //Valor por defecto en valor nodata
651
                                }
652

653
                        if(e.getValue() instanceof Double)
654
                                RasterLibrary.defaultNoDataValue = ((Double) e.getValue()).doubleValue();
655
                        return;
656
                }*/
657

    
658
        }
659

    
660
        /*
661
         * (non-Javadoc)
662
         * @see org.gvsig.raster.gui.IGenericToolBarMenuItem#execute(com.iver.cit.gvsig.project.documents.view.toc.ITocItem, com.iver.cit.gvsig.fmap.layers.FLayer[])
663
         */
664
        public void execute(ITocItem item, FLayer[] selectedItems) {
665
                this.execute("SELECTIMAGE");
666
        }
667

    
668
        public void postInitialize() {
669
                super.postInitialize();
670
//                storeLibrary.postInitialize();
671
        }
672
}