Statistics
| Revision:

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

History | View | Annotate | Download (5.53 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.rastertools.enhanced.graphics.HistogramGraphicBase;
29

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

    
101
                        }
102
                        if(((String)selector.getEnhancedType().getSelectedItem()).equals("Logaritmic")) {
103

    
104
                        }
105
                        if(((String)selector.getEnhancedType().getSelectedItem()).equals("Exponential")) {
106

    
107
                        }
108
                        if(((String)selector.getEnhancedType().getSelectedItem()).equals("Equalization")) {
109

    
110
                        }
111
                        if(((String)selector.getEnhancedType().getSelectedItem()).equals("Square-root")) {
112

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

    
148
        /**
149
         * Gesti?n de los eventos de los objetos gr?ficos.
150
         * @param param
151
         */
152
        public void end(Object param) {
153
                //MixMaxLines
154
                if(param instanceof double[]) {
155
                        System.out.println(((double[])param)[0] + " " + ((double[])param)[1]);
156
                }
157
        }
158

    
159
        public void interrupted() {
160
        }
161

    
162
}