Statistics
| Revision:

gvsig-raster / org.gvsig.raster.tasseledcab / trunk / org.gvsig.raster.tasseledcab / org.gvsig.raster.tasseledcab.app.tasseledcabclient / src / main / java / org / gvsig / raster / tasseledcab / app / TasseledCabTocMenuEntry.java @ 2367

History | View | Annotate | Download (2.28 KB)

1 2360 nbrodin
package org.gvsig.raster.tasseledcab.app;
2
3
import javax.swing.Icon;
4
5
import org.gvsig.andami.IconThemeHelper;
6
import org.gvsig.andami.plugins.Extension;
7
import org.gvsig.app.project.documents.view.toc.AbstractTocContextMenuAction;
8
import org.gvsig.app.project.documents.view.toc.ITocItem;
9
import org.gvsig.fmap.mapcontext.layers.FLayer;
10
import org.gvsig.i18n.Messages;
11 2367 nbrodin
import org.gvsig.raster.fmap.layers.FLyrRaster;
12
import org.gvsig.raster.fmap.layers.ILayerState;
13
import org.gvsig.raster.fmap.layers.IRasterLayerActions;
14 2360 nbrodin
import org.gvsig.raster.mainplugin.toolbar.IGenericToolBarMenuItem;
15
16
public class TasseledCabTocMenuEntry extends AbstractTocContextMenuAction implements IGenericToolBarMenuItem {
17
        static private TasseledCabTocMenuEntry singleton  = null;
18
        private static Extension                     extension  = null;
19
20
21
        public static void setExtension(Extension ext) {
22
                extension = ext;
23
        }
24
25
        private TasseledCabTocMenuEntry() {}
26
27
        static public TasseledCabTocMenuEntry getSingleton() {
28
                if (singleton == null)
29
                        singleton = new TasseledCabTocMenuEntry();
30
                return singleton;
31
        }
32
33
        public String getGroup() {
34
                return "Multispectral";
35
        }
36
37
        public int getGroupOrder() {
38
                return 55;
39
        }
40
41
        public int getOrder() {
42
                return 0;
43
        }
44
45
        public String getText() {
46
                return Messages.getText("tasseledcab");
47
        }
48
49
        public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
50 2367 nbrodin
                if ((selectedItems == null) || (selectedItems.length != 1))
51
                        return false;
52
53
                if (!(selectedItems[0] instanceof ILayerState))
54
                        return false;
55
56
                if (!((ILayerState) selectedItems[0]).isOpen())
57
                        return false;
58
59
                if(((FLyrRaster) selectedItems[0]).getRender().getFilterList().get("colortable") != null)
60
                        return false;
61
62
                if(((FLyrRaster) selectedItems[0]).getDataStore().getBandCount() < 4)
63
                        return false;
64
65 2360 nbrodin
                return true;
66
        }
67
68
        public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
69 2367 nbrodin
                if ((selectedItems == null) || (selectedItems.length != 1))
70
                        return false;
71
72
                if (!(selectedItems[0] instanceof IRasterLayerActions))
73
                        return false;
74
75
                return ((IRasterLayerActions) selectedItems[0]).isActionEnabled(IRasterLayerActions.ENHANCED);
76 2360 nbrodin
        }
77
78
        public void execute(ITocItem item, FLayer[] selectedItems) {
79
                extension.execute("TasseledCab");
80
        }
81
82
        public Icon getIcon() {
83
                return IconThemeHelper.getImageIcon("tasseled-cab");
84
        }
85
86
}