Statistics
| Revision:

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
}