Statistics
| Revision:

root / trunk / extensions / extRemoteSensing / src / org / gvsig / remotesensing / TasseledCapExtension.java @ 20829

History | View | Annotate | Download (4.77 KB)

1
package org.gvsig.remotesensing;
2

    
3

    
4

    
5
import javax.swing.Icon;
6

    
7
import org.gvsig.fmap.raster.layers.FLyrRasterSE;
8
import org.gvsig.fmap.raster.layers.ILayerState;
9
import org.gvsig.raster.gui.IGenericToolBarMenuItem;
10
import org.gvsig.remotesensing.tasseledcap.gui.TasseledCapPanel;
11

    
12
import com.iver.andami.PluginServices;
13
import com.iver.andami.plugins.Extension;
14
import com.iver.cit.gvsig.fmap.MapContext;
15
import com.iver.cit.gvsig.fmap.layers.FLayer;
16
import com.iver.cit.gvsig.fmap.layers.FLayers;
17
import com.iver.cit.gvsig.project.documents.view.IProjectView;
18
import com.iver.cit.gvsig.project.documents.view.gui.View;
19
import com.iver.cit.gvsig.project.documents.view.toc.ITocItem;
20
import com.iver.utiles.extensionPoints.ExtensionPoints;
21
import com.iver.utiles.extensionPoints.ExtensionPointsSingleton;
22
/**
23
 * Extensi?n para el c?lculo de Trasseled Cap
24
 * 
25
 * @author Diego Guerrero Sevilla (diego.guerrero@uclm.es)
26
 */
27
public class TasseledCapExtension extends Extension implements IGenericToolBarMenuItem {
28

    
29
        /*
30
         * (non-Javadoc)
31
         * @see com.iver.andami.plugins.IExtension#initialize()
32
         */
33
        public void initialize() {
34
//        TasseledCapRasterFilterListManager.register();
35
                ExtensionPoints extensionPoints = ExtensionPointsSingleton.getInstance();
36
                extensionPoints.add("GenericToolBarMenu", "TasseledCap", this);
37
        }
38

    
39
        /*
40
         * (non-Javadoc)
41
         * @see com.iver.andami.plugins.IExtension#execute(java.lang.String)
42
         */
43
        public void execute(String actionCommand) {
44
                if (actionCommand.equals("tasseled_cap")) {
45
                        com.iver.andami.ui.mdiManager.IWindow activeWindow = PluginServices.getMDIManager().getActiveWindow();
46

    
47
                        // si la ventana activa es de tipo Vista
48
                        if (activeWindow instanceof View) {
49
                                TasseledCapPanel tasseledcapPanel = new TasseledCapPanel((View) activeWindow);
50

    
51
                                PluginServices.getMDIManager().addWindow(tasseledcapPanel);
52
                        }
53
                }
54
        }
55

    
56
        /*
57
         * (non-Javadoc)
58
         * @see com.iver.andami.plugins.IExtension#isEnabled()
59
         */
60
        public boolean isEnabled() {
61
                com.iver.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager().getActiveWindow();
62
                if (f == null) {
63
                        return false;
64
                }
65
                if (f.getClass() == View.class) {
66
                        View vista = (View) f;
67
                        IProjectView model = vista.getModel();
68
                        MapContext mapa = model.getMapContext();
69
                        FLayers layers = mapa.getLayers();
70
                        for (int i = 0; i < layers.getLayersCount(); i++)
71
                                if (layers.getLayer(i) instanceof FLyrRasterSE)
72
                                        return true;
73
                }
74
                return false;
75
        }
76

    
77
        /*
78
         * (non-Javadoc)
79
         * @see com.iver.andami.plugins.IExtension#isVisible()
80
         */
81
        public boolean isVisible() {
82
                com.iver.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager().getActiveWindow();
83
                if (f == null) {
84
                        return false;
85
                }
86
                if (f instanceof View) {
87
                        View vista = (View) f;
88
                        IProjectView model = vista.getModel();
89
                        MapContext mapa = model.getMapContext();
90
                        return mapa.getLayers().getLayersCount() > 0;
91
                } else {
92
                        return false;
93
                }
94
        }
95

    
96
        /*
97
         * (non-Javadoc)
98
         * @see org.gvsig.raster.gui.IGenericToolBarMenuItem#execute(com.iver.cit.gvsig.project.documents.view.toc.ITocItem, com.iver.cit.gvsig.fmap.layers.FLayer[])
99
         */
100
        public void execute(ITocItem item, FLayer[] selectedItems) {
101
                this.execute("tasseled_cap");
102
        }
103

    
104
        /*
105
         * (non-Javadoc)
106
         * @see org.gvsig.raster.gui.IGenericToolBarMenuItem#getGroup()
107
         */
108
        public String getGroup() {
109
                return "RasterProcess";
110
        }
111

    
112
        /*
113
         * (non-Javadoc)
114
         * @see org.gvsig.raster.gui.IGenericToolBarMenuItem#getIcon()
115
         */
116
        public Icon getIcon() {
117
                return PluginServices.getIconTheme().get("blank-icon");
118
        }
119

    
120
        /*
121
         * (non-Javadoc)
122
         * @see org.gvsig.raster.gui.IGenericToolBarMenuItem#getOrder()
123
         */
124
        public int getOrder() {
125
                return 0;
126
        }
127

    
128
        /*
129
         * (non-Javadoc)
130
         * @see org.gvsig.raster.gui.IGenericToolBarMenuItem#getText()
131
         */
132
        public String getText() {
133
                return PluginServices.getText(this, "tasseled_cap");
134
        }
135

    
136
        /*
137
         * (non-Javadoc)
138
         * @see org.gvsig.raster.gui.IGenericToolBarMenuItem#isEnabled(com.iver.cit.gvsig.project.documents.view.toc.ITocItem, com.iver.cit.gvsig.fmap.layers.FLayer[])
139
         */
140
        public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
141
                if ((selectedItems == null) || (selectedItems.length != 1))
142
                        return false;
143

    
144
                if (!(selectedItems[0] instanceof ILayerState))
145
                        return false;
146

    
147
                if (!((ILayerState) selectedItems[0]).isOpen())
148
                        return false;
149

    
150
                return true;
151
        }
152

    
153
        /*
154
         * (non-Javadoc)
155
         * @see org.gvsig.raster.gui.IGenericToolBarMenuItem#isVisible(com.iver.cit.gvsig.project.documents.view.toc.ITocItem, com.iver.cit.gvsig.fmap.layers.FLayer[])
156
         */
157
        public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
158
                if ((selectedItems == null) || (selectedItems.length != 1))
159
                        return false;
160

    
161
                if (!(selectedItems[0] instanceof FLyrRasterSE))
162
                        return false;
163
                
164
                return true;
165
        }
166
        
167
        /*
168
         * (non-Javadoc)
169
         * @see org.gvsig.raster.gui.IGenericToolBarMenuItem#getGroupOrder()
170
         */
171
        public int getGroupOrder() {
172
                return 0;
173
        }
174
}