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 / tool / infobypoint / InfoByRasterPointExtension.java @ 1145

History | View | Annotate | Download (3.79 KB)

1
package org.gvsig.raster.tools.app.basic.tool.infobypoint;
2

    
3
import java.awt.Component;
4

    
5
import javax.swing.JOptionPane;
6

    
7
import org.gvsig.andami.PluginServices;
8
import org.gvsig.andami.plugins.Extension;
9
import org.gvsig.andami.ui.mdiManager.IWindow;
10
import org.gvsig.app.project.documents.view.ViewDocument;
11
import org.gvsig.app.project.documents.view.gui.AbstractViewPanel;
12
import org.gvsig.app.project.documents.view.toolListeners.StatusBarListener;
13
import org.gvsig.fmap.mapcontext.MapContext;
14
import org.gvsig.fmap.mapcontext.layers.FLayers;
15
import org.gvsig.fmap.mapcontrol.MapControl;
16
import org.gvsig.fmap.mapcontrol.tools.Behavior.Behavior;
17
import org.gvsig.fmap.mapcontrol.tools.Behavior.MouseMovementBehavior;
18
import org.gvsig.fmap.mapcontrol.tools.Behavior.PointBehavior;
19
import org.gvsig.raster.fmap.layers.FLyrRaster;
20
import org.gvsig.raster.tools.app.basic.tool.infobypoint.gui.InfoByPointDataModel;
21
import org.gvsig.raster.tools.app.basic.tool.infobypoint.viewtool.InfoByPixelPointListener;
22
import org.gvsig.raster.tools.app.basic.tool.multiresolution.ResolutionLevelListener;
23

    
24
public class InfoByRasterPointExtension extends Extension {
25
        
26
        public InfoByRasterPointExtension() {
27
                
28
        }
29
        
30
        /*
31
         * (non-Javadoc)
32
         * @see org.gvsig.andami.plugins.IExtension#execute(java.lang.String)
33
         */
34
        public void execute(String actionCommand) {
35
                if(actionCommand.compareTo("INFO_BY_PIXEL") == 0) {
36
                        MainInfoByPointDialog dialog = new MainInfoByPointDialog();
37
                        InfoByPointDataModel model = dialog.getInfoByPointDataModel();
38
                        
39
                        IWindow theView = PluginServices.getMDIManager().getActiveWindow();
40
                        if(!(theView instanceof AbstractViewPanel)) {
41
                                JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(), PluginServices.getText(this.getClass(), "window_not_valid"));
42
                                return;
43
                        }
44
                        MapControl mapCtrl = ((AbstractViewPanel)theView).getMapControl();
45
                        StatusBarListener sbl = new StatusBarListener(mapCtrl);
46
                        InfoByPixelPointListener ibpl = new InfoByPixelPointListener(mapCtrl, model);
47
                        mapCtrl.addBehavior("infoByRasterPoint", new Behavior[]{new PointBehavior(ibpl),
48
                                                new MouseMovementBehavior(sbl)});
49
                        mapCtrl.setTool("infoByRasterPoint");
50
                        
51
                        model.setARGB(0, 255, 125, 110);
52
                        model.setCMYK(54, 254, 121, 190);
53
                        model.setHSL(234.3, 125.5, 110.3);
54
                        model.setBandValues(new double[]{4.53, 2.24, 67.7, 67.87});
55
                        model.setNumberOfBands(4);
56
                        model.setPixelPoint(100, 105);
57
                        model.setViewPoint(305, 405);
58
                        model.setWorldPoint(20554523.32, 19362125.23);
59
                        model.setLayerList(new String[]{
60
                                        "Esta_es_la_capa_numero_uno_de_la_lista_de_capas.jpg",
61
                                        "Esta_es_la_capa_segunda_de_la_lista_de_capas_del_info_by_point.jpg"});
62
                        dialog.updateDataModel();
63
                        PluginServices.getMDIManager().addWindow(dialog);
64
                }
65
        }
66
        
67
        /*
68
         * (non-Javadoc)
69
         * @see org.gvsig.andami.plugins.IExtension#isEnabled()
70
         */
71
        @SuppressWarnings("deprecation")
72
        public boolean isEnabled() {
73
                org.gvsig.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager().getActiveWindow();
74
                if (f == null)
75
                        return false;
76
                if (f instanceof AbstractViewPanel) {
77
                        AbstractViewPanel vista = (AbstractViewPanel) f;
78
                        ViewDocument model = vista.getModel();
79
                        MapContext mapa = model.getMapContext();
80
                        FLayers layers = mapa.getLayers();
81
                        for (int i = 0; i < layers.getLayersCount(); i++)
82
                                if (layers.getLayer(i) instanceof FLyrRaster)
83
                                        return true;
84
                }
85
                return false;
86
        }
87
        
88
        /*
89
         * (non-Javadoc)
90
         * @see org.gvsig.andami.plugins.IExtension#isVisible()
91
         */
92
        public boolean isVisible() {
93
                return isEnabled();
94
        }
95

    
96
        /*
97
         * (non-Javadoc)
98
         * @see org.gvsig.andami.plugins.IExtension#initialize()
99
         */
100
        public void initialize() {
101
                registerIcons();
102
        }
103
        
104
        private void registerIcons() {
105
                PluginServices.getIconTheme().registerDefault(
106
                                "info-by-pixel",
107
                                getClass().getClassLoader().getResource("images/infoByRasterPoint.png")
108
                        );
109
        }
110
}