Statistics
| Revision:

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
}