root / trunk / extensions / extRasterTools-SE / src / org / gvsig / rastertools / histogram / ui / HistogramTocMenuEntry.java @ 11042
History | View | Annotate | Download (2.55 KB)
1 | 10799 | bsanchez | 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 | 10950 | bsanchez | |
61 | 10799 | bsanchez | if (selectedItems.length == 1 ) |
62 | lyr = selectedItems[0];
|
||
63 | else
|
||
64 | return;
|
||
65 | |||
66 | lyr = getNodeLayer(item); |
||
67 | 10950 | bsanchez | |
68 | 10799 | bsanchez | histogramDialog = new HistogramDialog(width, height);
|
69 | 10997 | bsanchez | // histogramDialog.setSize(width, height);
|
70 | 10799 | bsanchez | |
71 | 10981 | bsanchez | histogramDialog.clearSources(); |
72 | histogramDialog.setHistogramableSource(((FLyrRasterSE)lyr).getSource().getRender().getLastRenderBuffer(), PluginServices.getText(this, "datos_visualizados")); |
||
73 | 10997 | bsanchez | histogramDialog.setHistogramableSource(((FLyrRasterSE)lyr).getSource().getDatasource().getGeoRasterMultiFile(), PluginServices.getText(this, "imagen_completa")); |
74 | 10799 | bsanchez | |
75 | 10950 | bsanchez | //Par?metros de inicializaci?n del histograma
|
76 | 10981 | bsanchez | histogramDialog.getHistogramPanel().firstRun(); // Mostar por primera vez el histograma
|
77 | 10997 | bsanchez | histogramDialog.setVisible(true);
|
78 | 10799 | bsanchez | |
79 | PluginServices.getMDIManager().addWindow(histogramDialog); |
||
80 | } |
||
81 | 10886 | bsanchez | } |