root / trunk / extensions / extRasterTools-SE / src / org / gvsig / rastertools / histogram / ui / HistogramTocMenuEntry.java @ 10886
History | View | Annotate | Download (3.03 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 |
|
67 |
// stackManager = new RasterFilterStackManager(((FLyrRaster)lyr).getSource().getFilterStack());
|
68 |
lyr = getNodeLayer(item);
|
69 |
|
70 |
|
71 |
if(lyr instanceof FLyrRaster) {
|
72 |
// stackManager = new RasterFilterStackManager(((FLyrRaster)lyr).getSource().getFilterStack());
|
73 |
*/
|
74 |
// histogramDialog = new HistogramDialog(width, height);
|
75 |
histogramDialog = new HistogramDialog(width, height);
|
76 |
histogramDialog.setSize(width, height); |
77 |
|
78 |
|
79 |
|
80 |
// if ( ((FLyrRaster)lyr).getGrid().getDataType() == RasterBuf.TYPE_DOUBLE ||
|
81 |
// ((FLyrRaster)lyr).getGrid().getDataType() == RasterBuf.TYPE_FLOAT)
|
82 |
// histogramDialog.setOnlyViewValue();
|
83 |
|
84 |
// histogramDialog.setHistogramObj(((FLyrRaster)lyr).getGrid().getHistogram());
|
85 |
|
86 |
//Par?metros de inicializaci?n del histograma
|
87 |
|
88 |
histogramDialog.getHistogramPanel().setHistogramDataSource(0); //Fuente de datos; la vista |
89 |
histogramDialog.getHistogramPanel().setType(0); //Tipo de histograma; no acumulado |
90 |
histogramDialog.getHistogramPanel().setRGBInBandList(); //Asignaci?n R,G,B en el combo
|
91 |
|
92 |
// histogramDialog.getHistogramPanel().getHistogramPanelListener().showHistogram(); //Dibujamos histograma
|
93 |
|
94 |
PluginServices.getMDIManager().addWindow(histogramDialog); |
95 |
// }
|
96 |
} |
97 |
} |