Statistics
| Revision:

root / trunk / extensions / extRasterTools-SE / src / org / gvsig / rastertools / histogram / ui / HistogramTocMenuEntry.java @ 10981

History | View | Annotate | Download (2.78 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
                
62
                if (selectedItems.length == 1 )
63
                        lyr = selectedItems[0];
64
                else
65
                        return;
66

    
67
                lyr = getNodeLayer(item);
68
                
69
                histogramDialog = new HistogramDialog(width, height);
70
                histogramDialog.setSize(width, height);
71

    
72
                histogramDialog.clearSources();
73
                histogramDialog.setHistogramableSource(((FLyrRasterSE)lyr).getSource().getRender().getLastRenderBuffer(), PluginServices.getText(this, "datos_visualizados"));
74
                histogramDialog.setHistogramableSource(((FLyrRasterSE)lyr).getSource().getDatasource().getGeoRasterMultiFile(), PluginServices.getText(this, "vista_datasource"));
75

    
76
                //Par?metros de inicializaci?n del histograma
77

    
78
                histogramDialog.getHistogramPanel().setHistogramDataSource(0); //Fuente de datos; la vista
79
                histogramDialog.getHistogramPanel().setType(0); //Tipo de histograma; no acumulado
80
                histogramDialog.getHistogramPanel().setRGBInBandList(); //Asignaci?n R,G,B en el combo
81

    
82
                histogramDialog.getHistogramPanel().firstRun(); // Mostar por primera vez el histograma
83
                                                                
84
                PluginServices.getMDIManager().addWindow(histogramDialog);
85
        }
86
}