Revision 21738

View differences:

trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/roi/ui/ROIManagerTocMenuEntry.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 Instituto de Desarrollo Regional and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   Instituto de Desarrollo Regional (Universidad de Castilla La-Mancha)
34
 *   Campus Universitario s/n
35
 *   02071 Alabacete
36
 *   Spain
37
 *
38
 *   +34 967 599 200
39
 */
40

  
41
package org.gvsig.rastertools.roi.ui;
42

  
43
import javax.swing.Icon;
44

  
45
import org.gvsig.fmap.raster.layers.FLyrRasterSE;
46
import org.gvsig.fmap.raster.layers.ILayerState;
47
import org.gvsig.raster.grid.GridException;
48
import org.gvsig.raster.gui.IGenericToolBarMenuItem;
49
import org.gvsig.raster.util.RasterToolsUtil;
50

  
51
import com.iver.cit.gvsig.fmap.layers.FLayer;
52
import com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction;
53
import com.iver.cit.gvsig.project.documents.view.toc.ITocItem;
54
/**
55
 * Punto de entrada del menu del gestor de ROIs.
56
 *
57
 * @author Diego Guerrero Sevilla (diego.guerrero@uclm.es
58
 */
59
public class ROIManagerTocMenuEntry extends AbstractTocContextMenuAction implements IGenericToolBarMenuItem {
60
	static private ROIManagerTocMenuEntry singleton  = null;
61

  
62
	/**
63
	 * Nadie puede crear una instancia a esta clase ?nica, hay que usar el
64
	 * getSingleton()
65
	 */
66
	private ROIManagerTocMenuEntry() {}
67

  
68
	/**
69
	 * Devuelve un objeto unico a dicha clase
70
	 * @return
71
	 */
72
	static public ROIManagerTocMenuEntry getSingleton() {
73
		if (singleton == null)
74
			singleton = new ROIManagerTocMenuEntry();
75
		return singleton;
76
	}
77

  
78
	/*
79
	 * (non-Javadoc)
80
	 * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getGroup()
81
	 */
82
	public String getGroup() {
83
		return "RasterLayer";
84
	}
85

  
86
	/*
87
	 * (non-Javadoc)
88
	 * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getGroupOrder()
89
	 */
90
	public int getGroupOrder() {
91
		return 55;
92
	}
93

  
94
	/*
95
	 * (non-Javadoc)
96
	 * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getOrder()
97
	 */
98
	public int getOrder() {
99
		return 0;
100
	}
101

  
102
	/*
103
	 * (non-Javadoc)
104
	 * @see com.iver.cit.gvsig.project.documents.IContextMenuAction#getText()
105
	 */
106
	public String getText() {
107
		return RasterToolsUtil.getText(this, "regiones_interes");
108
	}
109

  
110
	/*
111
	 * (non-Javadoc)
112
	 * @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[])
113
	 */
114
	public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
115
		if ((selectedItems == null) || (selectedItems.length != 1))
116
			return false;
117

  
118
		if (!(selectedItems[0] instanceof ILayerState))
119
			return false;
120

  
121
		if (!((ILayerState) selectedItems[0]).isOpen())
122
			return false;
123

  
124
		return true;
125
	}
126

  
127
	/*
128
	 * (non-Javadoc)
129
	 * @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[])
130
	 */
131
	public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
132
		if ((selectedItems == null) || (selectedItems.length != 1))
133
			return false;
134

  
135
		if (!(selectedItems[0] instanceof FLyrRasterSE))
136
			return false;
137
		
138
		return true;
139
	}
140

  
141
	/*
142
	 * (non-Javadoc)
143
	 * @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[])
144
	 */
145
	public void execute(ITocItem item, FLayer[] selectedItems) {
146
		FLayer fLayer = null;
147

  
148
		if (selectedItems.length != 1)
149
			return;
150

  
151
		fLayer = selectedItems[0];
152

  
153
		if (!(fLayer instanceof FLyrRasterSE))
154
			return;
155
		
156
		ROIManagerDialog roiManagerDialog = new ROIManagerDialog(500,250);
157
		
158
		try {
159
			roiManagerDialog.setLayer(selectedItems[0]);
160
		} catch (GridException e) {
161
		}
162
		RasterToolsUtil.addWindow(roiManagerDialog);
163
	}
164
	
165
	/*
166
	 * (non-Javadoc)
167
	 * @see org.gvsig.rastertools.generictoolbar.IGenericToolBarMenuItem#getIcon()
168
	 */
169
	public Icon getIcon() {
170
		return RasterToolsUtil.getIcon("rois-icon");
171
	}
172
}
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/roi/ROIManagerTocMenuEntry.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 Instituto de Desarrollo Regional and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   Instituto de Desarrollo Regional (Universidad de Castilla La-Mancha)
34
 *   Campus Universitario s/n
35
 *   02071 Alabacete
36
 *   Spain
37
 *
38
 *   +34 967 599 200
39
 */
40

  
41
package org.gvsig.rastertools.roi;
42

  
43
import javax.swing.Icon;
44

  
45
import org.gvsig.fmap.raster.layers.FLyrRasterSE;
46
import org.gvsig.fmap.raster.layers.ILayerState;
47
import org.gvsig.raster.grid.GridException;
48
import org.gvsig.raster.gui.IGenericToolBarMenuItem;
49
import org.gvsig.raster.util.RasterToolsUtil;
50
import org.gvsig.rastertools.roi.ui.ROIManagerDialog;
51

  
52
import com.iver.cit.gvsig.fmap.layers.FLayer;
53
import com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction;
54
import com.iver.cit.gvsig.project.documents.view.toc.ITocItem;
55
/**
56
 * Punto de entrada del menu del gestor de ROIs.
57
 *
58
 * @author Diego Guerrero Sevilla (diego.guerrero@uclm.es
59
 */
60
public class ROIManagerTocMenuEntry extends AbstractTocContextMenuAction implements IGenericToolBarMenuItem {
61
	static private ROIManagerTocMenuEntry singleton  = null;
62

  
63
	/**
64
	 * Nadie puede crear una instancia a esta clase ?nica, hay que usar el
65
	 * getSingleton()
66
	 */
67
	private ROIManagerTocMenuEntry() {}
68

  
69
	/**
70
	 * Devuelve un objeto unico a dicha clase
71
	 * @return
72
	 */
73
	static public ROIManagerTocMenuEntry getSingleton() {
74
		if (singleton == null)
75
			singleton = new ROIManagerTocMenuEntry();
76
		return singleton;
77
	}
78

  
79
	/*
80
	 * (non-Javadoc)
81
	 * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getGroup()
82
	 */
83
	public String getGroup() {
84
		return "RasterLayer";
85
	}
86

  
87
	/*
88
	 * (non-Javadoc)
89
	 * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getGroupOrder()
90
	 */
91
	public int getGroupOrder() {
92
		return 55;
93
	}
94

  
95
	/*
96
	 * (non-Javadoc)
97
	 * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getOrder()
98
	 */
99
	public int getOrder() {
100
		return 0;
101
	}
102

  
103
	/*
104
	 * (non-Javadoc)
105
	 * @see com.iver.cit.gvsig.project.documents.IContextMenuAction#getText()
106
	 */
107
	public String getText() {
108
		return RasterToolsUtil.getText(this, "regiones_interes");
109
	}
110

  
111
	/*
112
	 * (non-Javadoc)
113
	 * @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[])
114
	 */
115
	public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
116
		if ((selectedItems == null) || (selectedItems.length != 1))
117
			return false;
118

  
119
		if (!(selectedItems[0] instanceof ILayerState))
120
			return false;
121

  
122
		if (!((ILayerState) selectedItems[0]).isOpen())
123
			return false;
124

  
125
		return true;
126
	}
127

  
128
	/*
129
	 * (non-Javadoc)
130
	 * @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[])
131
	 */
132
	public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
133
		if ((selectedItems == null) || (selectedItems.length != 1))
134
			return false;
135

  
136
		if (!(selectedItems[0] instanceof FLyrRasterSE))
137
			return false;
138
		
139
		return true;
140
	}
141

  
142
	/*
143
	 * (non-Javadoc)
144
	 * @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[])
145
	 */
146
	public void execute(ITocItem item, FLayer[] selectedItems) {
147
		FLayer fLayer = null;
148

  
149
		if (selectedItems.length != 1)
150
			return;
151

  
152
		fLayer = selectedItems[0];
153

  
154
		if (!(fLayer instanceof FLyrRasterSE))
155
			return;
156
		
157
		ROIManagerDialog roiManagerDialog = new ROIManagerDialog(500,250);
158
		
159
		try {
160
			roiManagerDialog.setLayer(selectedItems[0]);
161
		} catch (GridException e) {
162
		}
163
		RasterToolsUtil.addWindow(roiManagerDialog);
164
	}
165
	
166
	/*
167
	 * (non-Javadoc)
168
	 * @see org.gvsig.rastertools.generictoolbar.IGenericToolBarMenuItem#getIcon()
169
	 */
170
	public Icon getIcon() {
171
		return RasterToolsUtil.getIcon("rois-icon");
172
	}
173
}
0 174

  

Also available in: Unified diff