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 / roi / ROIManagerTocMenuEntry.java @ 1174

History | View | Annotate | Download (4.57 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.tool.roi;
23

    
24
import javax.swing.Icon;
25

    
26
import org.gvsig.app.project.documents.view.toc.AbstractTocContextMenuAction;
27
import org.gvsig.app.project.documents.view.toc.ITocItem;
28
import org.gvsig.fmap.dal.coverage.exception.GridException;
29
import org.gvsig.fmap.mapcontext.layers.FLayer;
30
import org.gvsig.raster.fmap.layers.FLyrRaster;
31
import org.gvsig.raster.fmap.layers.ILayerState;
32
import org.gvsig.raster.tools.app.basic.RasterToolsUtil;
33
import org.gvsig.raster.tools.app.basic.raster.gui.IGenericToolBarMenuItem;
34
import org.gvsig.raster.tools.app.basic.tool.roi.ui.ROIManagerDialog;
35

    
36
/**
37
 * Punto de entrada del menu del gestor de ROIs.
38
 *
39
 * @author Diego Guerrero Sevilla (diego.guerrero@uclm.es
40
 */
41
public class ROIManagerTocMenuEntry extends AbstractTocContextMenuAction implements IGenericToolBarMenuItem {
42
        static private ROIManagerTocMenuEntry singleton  = null;
43

    
44
        /**
45
         * Nadie puede crear una instancia a esta clase ?nica, hay que usar el
46
         * getSingleton()
47
         */
48
        private ROIManagerTocMenuEntry() {}
49

    
50
        /**
51
         * Devuelve un objeto unico a dicha clase
52
         * @return
53
         */
54
        static public ROIManagerTocMenuEntry getSingleton() {
55
                if (singleton == null)
56
                        singleton = new ROIManagerTocMenuEntry();
57
                return singleton;
58
        }
59

    
60
        /*
61
         * (non-Javadoc)
62
         * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getGroup()
63
         */
64
        public String getGroup() {
65
                return "RasterLayer";
66
        }
67

    
68
        /*
69
         * (non-Javadoc)
70
         * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getGroupOrder()
71
         */
72
        public int getGroupOrder() {
73
                return 10;
74
        }
75

    
76
        /*
77
         * (non-Javadoc)
78
         * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getOrder()
79
         */
80
        public int getOrder() {
81
                return 60;
82
        }
83

    
84
        /*
85
         * (non-Javadoc)
86
         * @see com.iver.cit.gvsig.project.documents.IContextMenuAction#getText()
87
         */
88
        public String getText() {
89
                return RasterToolsUtil.getText(this, "regiones_interes");
90
        }
91

    
92
        /*
93
         * (non-Javadoc)
94
         * @see com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction#isEnabled(com.iver.cit.gvsig.project.documents.view.toc.ITocItem, com.iver.cit.gvsig.fmap.layers.FLayer[])
95
         */
96
        public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
97
                if ((selectedItems == null) || (selectedItems.length != 1))
98
                        return false;
99

    
100
                if (!(selectedItems[0] instanceof ILayerState))
101
                        return false;
102

    
103
                if (!((ILayerState) selectedItems[0]).isOpen())
104
                        return false;
105

    
106
                return true;
107
        }
108

    
109
        /*
110
         * (non-Javadoc)
111
         * @see com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction#isVisible(com.iver.cit.gvsig.project.documents.view.toc.ITocItem, com.iver.cit.gvsig.fmap.layers.FLayer[])
112
         */
113
        public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
114
                if ((selectedItems == null) || (selectedItems.length != 1))
115
                        return false;
116

    
117
                if (!(selectedItems[0] instanceof FLyrRaster))
118
                        return false;
119
                
120
                return true;
121
        }
122

    
123
        /*
124
         * (non-Javadoc)
125
         * @see com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction#execute(com.iver.cit.gvsig.project.documents.view.toc.ITocItem, com.iver.cit.gvsig.fmap.layers.FLayer[])
126
         */
127
        public void execute(ITocItem item, FLayer[] selectedItems) {
128
                FLayer fLayer = null;
129

    
130
                if (selectedItems.length != 1)
131
                        return;
132

    
133
                fLayer = selectedItems[0];
134

    
135
                if (!(fLayer instanceof FLyrRaster))
136
                        return;
137
                
138
                ROIManagerDialog roiManagerDialog = new ROIManagerDialog(500,250);
139
                
140
                try {
141
                        roiManagerDialog.setLayer(selectedItems[0]);
142
                } catch (GridException e) {
143
                }
144
                RasterToolsUtil.addWindow(roiManagerDialog);
145
        }
146
        
147
        /*
148
         * (non-Javadoc)
149
         * @see org.gvsig.rastertools.generictoolbar.IGenericToolBarMenuItem#getIcon()
150
         */
151
        public Icon getIcon() {
152
                return RasterToolsUtil.getIcon("rois-icon");
153
        }
154
}