Statistics
| Revision:

svn-gvsig-desktop / trunk / extensions / extRasterTools-SE / src / org / gvsig / rastertools / enhanced / ui / EnhancedListener.java @ 19307

History | View | Annotate | Download (5.91 KB)

1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.rastertools.enhanced.ui;
20

    
21
import java.awt.event.ActionEvent;
22
import java.awt.event.ActionListener;
23

    
24
import org.gvsig.gui.beans.buttonspanel.ButtonsPanel;
25
import org.gvsig.raster.IProcessActions;
26
import org.gvsig.raster.beans.canvas.layers.GraphicHistogram;
27
import org.gvsig.raster.beans.previewbase.PreviewBasePanel;
28
import org.gvsig.raster.beans.previewbase.PreviewFiltering;
29
import org.gvsig.rastertools.enhanced.graphics.HistogramGraphicBase;
30

    
31
/**
32
 * Gestor de eventos de los paneles de gr?ficas y controles.
33
 * 
34
 * 21/02/2008
35
 * @author Nacho Brodin nachobrodin@gmail.com
36
 */
37
public class EnhancedListener implements ActionListener, IProcessActions {
38
        private SelectorsPanel            selector            = null;
39
        private GraphicsPanel             graphic             = null;
40
        private PreviewBasePanel          enhancedPanel       = null;
41
        private EnhancedDialog            enhancedDialog      = null;
42
        private PreviewFiltering          filteredPreview     = null;
43
        
44
        /**
45
         * Constructor
46
         * @param selectors Panel con los selectores de opciones
47
         * @param graphic Panel con los gr?ficos
48
         * @param enhancedPanel Panel base con la previsualizaci?n
49
         * @param enhandedDialog Dialogo general
50
         * @param filteredPreview Preprocesado para la preview
51
         */
52
        public EnhancedListener(SelectorsPanel selector, 
53
                                                        GraphicsPanel graphic, 
54
                                                        PreviewBasePanel enhancedPanel, 
55
                                                        EnhancedDialog enhancedDialog, 
56
                                                        PreviewFiltering filteredPreview) {
57
                this.selector = selector;
58
                this.graphic = graphic;
59
                this.enhancedPanel = enhancedPanel;
60
                this.enhancedDialog = enhancedDialog;
61
                this.filteredPreview = filteredPreview;
62
                
63
                selector.getHistogramType().addActionListener(this);
64
                selector.getDrawType().addActionListener(this);
65
                selector.getBand(null).addActionListener(this);
66
                selector.getEnhancedType().addActionListener(this);
67
        }
68
        
69
        /*
70
         * (non-Javadoc)
71
         * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
72
         */
73
        public void actionPerformed(ActionEvent e) {
74
                //Cambio del tipo de de dibujado del histograma
75
                if(e.getSource() == selector.getDrawType()) {
76
                        if(((String)selector.getDrawType().getSelectedItem()).equals("Fill")) {
77
                                graphic.getInputHistogram().setType(GraphicHistogram.TYPE_FILL);
78
                                graphic.getOutputHistogram().setType(GraphicHistogram.TYPE_FILL);
79
                        }
80
                        if(((String)selector.getDrawType().getSelectedItem()).equals("Line")) {
81
                                graphic.getInputHistogram().setType(GraphicHistogram.TYPE_LINE);
82
                                graphic.getOutputHistogram().setType(GraphicHistogram.TYPE_LINE);
83
                        }
84
                        graphic.getInputHistogram().getCanvas().repaint();
85
                        graphic.getOutputHistogram().getCanvas().repaint();
86
                }
87
                
88
                //Cambio de banda
89
                if(e.getSource() == selector.getBand(null)) {
90
                        if(((String)selector.getBand(null).getSelectedItem()).equals("Red")) {
91
                                graphic.getInputHistogram().setHistogramDrawed(HistogramGraphicBase.RED);
92
                        }
93
                        if(((String)selector.getBand(null).getSelectedItem()).equals("Green")) {
94
                                graphic.getInputHistogram().setHistogramDrawed(HistogramGraphicBase.GREEN);
95
                        }
96
                        if(((String)selector.getBand(null).getSelectedItem()).equals("Blue")) {
97
                                graphic.getInputHistogram().setHistogramDrawed(HistogramGraphicBase.BLUE);
98
                        }
99
                }
100
                
101
                //Cambio de operaci?n
102
                if(e.getSource() == selector.getEnhancedType()) {
103
                        graphic.setClipPercentEnabled(false);
104
                        graphic.setLevelsEnabled(false);
105
                        
106
                        if(((String)selector.getEnhancedType().getSelectedItem()).equals("Lineal")) {
107
                                graphic.setClipPercentEnabled(true);
108
                        }
109
                        if(((String)selector.getEnhancedType().getSelectedItem()).equals("Gaussian")) {
110

    
111
                        }
112
                        if(((String)selector.getEnhancedType().getSelectedItem()).equals("Logaritmic")) {
113

    
114
                        }
115
                        if(((String)selector.getEnhancedType().getSelectedItem()).equals("Exponential")) {
116

    
117
                        }
118
                        if(((String)selector.getEnhancedType().getSelectedItem()).equals("Equalization")) {
119

    
120
                        }
121
                        if(((String)selector.getEnhancedType().getSelectedItem()).equals("Square-root")) {
122

    
123
                        }
124
                        if(((String)selector.getEnhancedType().getSelectedItem()).equals("Level-slice")) {
125
                                graphic.setLevelsEnabled(true);
126
                        }
127
                }
128
                
129
                //Cambio de tipo (estandar/acumulado)
130
                if(e.getSource() == selector.getHistogramType()) {
131
                        if(((String)selector.getHistogramType().getSelectedItem()).equals("Standard")) {
132
                                
133
                        }
134
                        if(((String)selector.getHistogramType().getSelectedItem()).equals("Cumulative")) {
135
                                
136
                        }
137
                }
138
                
139
                manageMainButtons(e);
140
        }
141
        
142
        /**
143
         * Gestiona los eventos de los botones principales (Aceptar, Aplicar, Cancelar)
144
         * @param e
145
         */
146
        private void manageMainButtons(ActionEvent e) {
147
                if(e.getSource() == enhancedPanel.getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT)) {
148
                        
149
                }
150
                if(e.getSource() == enhancedPanel.getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY)) {
151
                        
152
                }
153
                if(e.getSource() == enhancedPanel.getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL)) {
154
                        enhancedDialog.close();
155
                }
156
        }
157

    
158
        /**
159
         * Gesti?n de los eventos de los objetos gr?ficos.
160
         * @param param
161
         */
162
        public void end(Object param) {
163
                //MixMaxLines
164
                if(param instanceof double[]) {
165
                        System.out.println(((double[])param)[0] + " " + ((double[])param)[1]);
166
                }
167
        }
168

    
169
        public void interrupted() {
170
        }
171

    
172
}