svn-gvsig-desktop / trunk / extensions / extRasterTools-SE / src / org / gvsig / rastertools / histogram / HistogramTocMenuEntry.java @ 14135
History | View | Annotate | Download (4.17 KB)
1 | 11228 | bsanchez | /* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
|
---|---|---|---|
2 | *
|
||
3 | * Copyright (C) 2007 IVER T.I. 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 | package org.gvsig.rastertools.histogram; |
||
20 | |||
21 | 12425 | nacho | import org.gvsig.fmap.raster.layers.FLyrRasterSE; |
22 | 13703 | nacho | import org.gvsig.fmap.raster.layers.ILayerState; |
23 | 13300 | nacho | import org.gvsig.fmap.raster.layers.IRasterLayerActions; |
24 | 13942 | nacho | import org.gvsig.raster.util.RasterToolsUtil; |
25 | 11228 | bsanchez | import org.gvsig.rastertools.histogram.ui.HistogramDialog; |
26 | |||
27 | import com.iver.andami.PluginServices; |
||
28 | import com.iver.cit.gvsig.fmap.layers.FLayer; |
||
29 | import com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction; |
||
30 | import com.iver.cit.gvsig.project.documents.view.toc.ITocItem; |
||
31 | /**
|
||
32 | * Punto de entrada del menu del histograma.
|
||
33 | *
|
||
34 | * @version 17/04/2007
|
||
35 | 12369 | bsanchez | * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
|
36 | 11228 | bsanchez | */
|
37 | public class HistogramTocMenuEntry extends AbstractTocContextMenuAction { |
||
38 | /*
|
||
39 | * (non-Javadoc)
|
||
40 | * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getGroup()
|
||
41 | */
|
||
42 | public String getGroup() { |
||
43 | 11261 | bsanchez | return "RasterTools"; |
44 | 11228 | bsanchez | } |
45 | |||
46 | /*
|
||
47 | * (non-Javadoc)
|
||
48 | * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getGroupOrder()
|
||
49 | */
|
||
50 | public int getGroupOrder() { |
||
51 | 12110 | nacho | return 55; |
52 | 11228 | bsanchez | } |
53 | |||
54 | /*
|
||
55 | * (non-Javadoc)
|
||
56 | * @see com.iver.cit.gvsig.project.documents.contextMenu.AbstractContextMenuAction#getOrder()
|
||
57 | */
|
||
58 | public int getOrder() { |
||
59 | 12110 | nacho | return 1; |
60 | 11228 | bsanchez | } |
61 | |||
62 | /*
|
||
63 | * (non-Javadoc)
|
||
64 | * @see com.iver.cit.gvsig.project.documents.IContextMenuAction#getText()
|
||
65 | */
|
||
66 | public String getText() { |
||
67 | return PluginServices.getText(this, "histograma"); |
||
68 | } |
||
69 | |||
70 | /*
|
||
71 | * (non-Javadoc)
|
||
72 | * @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[])
|
||
73 | */
|
||
74 | public boolean isEnabled(ITocItem item, FLayer[] selectedItems) { |
||
75 | 13703 | nacho | if(getNodeLayer(item) instanceof ILayerState) |
76 | if(!((ILayerState)getNodeLayer(item)).isOpen())
|
||
77 | return false; |
||
78 | 11228 | bsanchez | return selectedItems.length == 1; |
79 | } |
||
80 | |||
81 | /*
|
||
82 | * (non-Javadoc)
|
||
83 | * @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[])
|
||
84 | */
|
||
85 | public boolean isVisible(ITocItem item, FLayer[] selectedItems) { |
||
86 | 14135 | nbrodin | if (isTocItemBranch(item)) {
|
87 | if(selectedItems == null || selectedItems.length != 1) |
||
88 | return false; |
||
89 | 13300 | nacho | return( getNodeLayer(item) instanceof FLyrRasterSE && |
90 | ((FLyrRasterSE)getNodeLayer(item)).isActionEnabled(IRasterLayerActions.HISTOGRAM)); |
||
91 | 14135 | nbrodin | } |
92 | 11228 | bsanchez | return false; |
93 | } |
||
94 | 12369 | bsanchez | |
95 | 11228 | bsanchez | /*
|
96 | * (non-Javadoc)
|
||
97 | * @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[])
|
||
98 | */
|
||
99 | public void execute(ITocItem item, FLayer[] selectedItems) { |
||
100 | FLayer fLayer = null;
|
||
101 | HistogramDialog histogramDialog = null;
|
||
102 | 12369 | bsanchez | |
103 | 11228 | bsanchez | if (selectedItems.length == 1 ) |
104 | fLayer = selectedItems[0];
|
||
105 | else
|
||
106 | return;
|
||
107 | |||
108 | fLayer = getNodeLayer(item); |
||
109 | 12369 | bsanchez | |
110 | 11228 | bsanchez | histogramDialog = new HistogramDialog(650, 500); |
111 | |||
112 | 13942 | nacho | try {
|
113 | histogramDialog.setLayer((FLyrRasterSE)fLayer); |
||
114 | } catch (Exception e) { |
||
115 | RasterToolsUtil.messageBoxError(PluginServices.getText(this, "histogram_error"), this, e); |
||
116 | return;
|
||
117 | } |
||
118 | 11228 | bsanchez | //Par?metros de inicializaci?n del histograma
|
119 | histogramDialog.getHistogramPanel().firstRun(); // Mostar por primera vez el histograma
|
||
120 | histogramDialog.setVisible(true);
|
||
121 | 12369 | bsanchez | |
122 | 11228 | bsanchez | PluginServices.getMDIManager().addWindow(histogramDialog); |
123 | } |
||
124 | } |