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
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
import org.gvsig.raster.fmap.layers.FLyrRaster;
12
import org.gvsig.raster.fmap.layers.ILayerState;
13
import org.gvsig.raster.fmap.layers.IRasterLayerActions;
14
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
                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
                return true;
66
        }
67

    
68
        public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
69
                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
        }
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
}