root / trunk / extensions / extRasterTools-SE / src / org / gvsig / rastertools / histogram / ui / HistogramTocMenuEntry.java @ 11042
History | View | Annotate | Download (2.55 KB)
1 |
package org.gvsig.rastertools.histogram.ui; |
---|---|
2 |
|
3 |
import java.util.ArrayList; |
4 |
|
5 |
import org.gvsig.fmap.layers.FLyrRasterSE; |
6 |
|
7 |
import com.iver.andami.PluginServices; |
8 |
import com.iver.cit.gvsig.fmap.layers.FLayer; |
9 |
import com.iver.cit.gvsig.gui.panels.IRasterPropertiesRegistrable; |
10 |
import com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction; |
11 |
import com.iver.cit.gvsig.project.documents.view.toc.ITocItem; |
12 |
|
13 |
public class HistogramTocMenuEntry extends AbstractTocContextMenuAction { |
14 |
private FLayer lyr = null; |
15 |
// private HistogramDialog histogramDialog = null;
|
16 |
private HistogramDialog histogramDialog = null; |
17 |
private ArrayList listeners = new ArrayList(); |
18 |
// private RasterFilterStackManager stackManager = null;
|
19 |
private int width = 650; |
20 |
private int height = 500; |
21 |
|
22 |
public String getGroup() { |
23 |
return "histogram"; |
24 |
} |
25 |
|
26 |
public int getGroupOrder() { |
27 |
return 50; |
28 |
} |
29 |
|
30 |
public int getOrder() { |
31 |
return 0; |
32 |
} |
33 |
|
34 |
public String getText() { |
35 |
return PluginServices.getText(this, "histograma"); |
36 |
} |
37 |
/**
|
38 |
* Los objetos que quieren que se ejecute su listerner deben ser
|
39 |
* registrados a traves de este m?todo. Cuando se ejecute el actionPerformed
|
40 |
* se buscar? todos los objetos registrados y ejecutar? el actionPerformed de
|
41 |
* cada uno,
|
42 |
* @param obj Objeto a registrar
|
43 |
*/
|
44 |
public void register(Object obj){ |
45 |
if(obj instanceof IRasterPropertiesRegistrable) |
46 |
listeners.add(obj); |
47 |
} |
48 |
|
49 |
public boolean isEnabled(ITocItem item, FLayer[] selectedItems) { |
50 |
return selectedItems.length == 1; |
51 |
} |
52 |
|
53 |
public boolean isVisible(ITocItem item, FLayer[] selectedItems) { |
54 |
if (isTocItemBranch(item))
|
55 |
return (getNodeLayer(item) instanceof FLyrRasterSE); |
56 |
return false; |
57 |
} |
58 |
|
59 |
public void execute(ITocItem item, FLayer[] selectedItems) { |
60 |
|
61 |
if (selectedItems.length == 1 ) |
62 |
lyr = selectedItems[0];
|
63 |
else
|
64 |
return;
|
65 |
|
66 |
lyr = getNodeLayer(item); |
67 |
|
68 |
histogramDialog = new HistogramDialog(width, height);
|
69 |
// histogramDialog.setSize(width, height);
|
70 |
|
71 |
histogramDialog.clearSources(); |
72 |
histogramDialog.setHistogramableSource(((FLyrRasterSE)lyr).getSource().getRender().getLastRenderBuffer(), PluginServices.getText(this, "datos_visualizados")); |
73 |
histogramDialog.setHistogramableSource(((FLyrRasterSE)lyr).getSource().getDatasource().getGeoRasterMultiFile(), PluginServices.getText(this, "imagen_completa")); |
74 |
|
75 |
//Par?metros de inicializaci?n del histograma
|
76 |
histogramDialog.getHistogramPanel().firstRun(); // Mostar por primera vez el histograma
|
77 |
histogramDialog.setVisible(true);
|
78 |
|
79 |
PluginServices.getMDIManager().addWindow(histogramDialog); |
80 |
} |
81 |
} |