Statistics
| Revision:

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

History | View | Annotate | Download (2.55 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
                lyr = getNodeLayer(item);
67
                
68
                histogramDialog = new HistogramDialog(width, height);
69
//                histogramDialog.setSize(width, height);
70

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

    
75
                //Par?metros de inicializaci?n del histograma
76
                histogramDialog.getHistogramPanel().firstRun(); // Mostar por primera vez el histograma
77
                histogramDialog.setVisible(true);
78
                                                                
79
                PluginServices.getMDIManager().addWindow(histogramDialog);
80
        }
81
}