Statistics
| Revision:

svn-gvsig-desktop / branches / CqCMSDvp / libraries / libCq CMS for java.old / src / org / cresques / ui / raster / FilterRasterDialogPanel.java @ 1752

History | View | Annotate | Download (4.9 KB)

1 1750 igbrotru
/*
2 1752 igbrotru
 * Creado el 30-marzo-2005
3 1750 igbrotru
 */
4
package org.cresques.ui.raster;
5
6 1752 igbrotru
import java.awt.event.ActionEvent;
7
import java.awt.event.ActionListener;
8
import java.awt.event.FocusEvent;
9
import java.awt.event.FocusListener;
10
import java.awt.event.KeyEvent;
11
import java.awt.event.KeyListener;
12
import java.awt.event.MouseEvent;
13
import java.awt.event.MouseListener;
14
15 1750 igbrotru
import javax.swing.JPanel;
16 1752 igbrotru
import javax.swing.event.ChangeEvent;
17
import javax.swing.event.ChangeListener;
18 1750 igbrotru
19
import org.cresques.io.GeoRasterFile;
20
import org.cresques.ui.DefaultDialogPanel;
21
import org.cresques.ui.DefaultTabPanel;
22
23
/**
24
 * @author Nacho Brodin <brodin_ign@gva.es>
25 1752 igbrotru
 *
26
 * Panel que contiene todos los paneles de los tabs del cuadro de dialogo
27
 * de bandas y transparencias
28 1750 igbrotru
 */
29 1752 igbrotru
public class FilterRasterDialogPanel extends DefaultTabPanel implements ActionListener, ChangeListener, FocusListener{
30 1750 igbrotru
31
        //Tama?o de panel interior. El tab de dentro es proporcional
32 1752 igbrotru
        protected int                                                                sizePanelX = 350;
33
        protected int                                                                 sizePanelY = 210;
34
        private RasterTransparencyPanel         pTrans = null;
35
        private  BandSetupPanel                                 pSetup = null;
36 1750 igbrotru
37
        public FilterRasterDialogPanel() {
38
39
                super();
40
                contentPane.setPreferredSize(new java.awt.Dimension(sizePanelX, sizePanelY));
41
                this.tabbedPane.setPreferredSize(new java.awt.Dimension(sizePanelX, sizePanelY-5));
42
                initPanels();
43
44
        }
45
46
        /**
47
         * This method initializes this
48
         *
49
         * @return void
50
         */
51
        protected void initPanels() {
52
53
        this.setBounds(0,0,355,230);
54 1752 igbrotru
        pTrans = new RasterTransparencyPanel(this);
55
        pSetup = new BandSetupPanel();
56 1751 igbrotru
        this.addTab(pSetup.nom, pSetup);
57
        this.addTab(pTrans.nom, pTrans);
58 1752 igbrotru
59
        pTrans.getCbOpacidad().addActionListener(this);
60
        pTrans.getCbTransparencia().addActionListener(this);
61
        pTrans.getTRojo().addActionListener(this);
62
        pTrans.getTVerde().addActionListener(this);
63
        pTrans.getTAzul().addActionListener(this);
64
        pTrans.getSlOpacidad().addChangeListener(this);
65
        pTrans.getTOpacidad().addActionListener(this);
66
        pTrans.getTOpacidad().addFocusListener(this);
67 1751 igbrotru
68 1750 igbrotru
        //Ocultamos el bot?n de aplicar
69
70
        //this.getApplyButton().setVisible(false);
71
72
        }
73
74 1752 igbrotru
        public void actionPerformed(ActionEvent e){
75
76
                //Evento sobre el checkbox de opacidad
77
                if(        e.getSource().equals(pTrans.getCbOpacidad())){
78
79
                        //Check de opacidad activado -> Activar controles de opacidad
80
                        if(pTrans.getCbOpacidad().isSelected()){
81
                                pTrans.getSlOpacidad().setEnabled(true);
82
                                pTrans.getTOpacidad().setEnabled(true);
83
                        }else{
84
                                pTrans.getSlOpacidad().setEnabled(false);
85
                                pTrans.getTOpacidad().setEnabled(false);
86
                        }
87
88
                }
89
90
                //Evento sobre el checkbox de transparencia
91
                if(        e.getSource().equals(pTrans.getCbTransparencia())){
92
93
                        //Check de opacidad activado -> Activar controles de opacidad
94
                        if(pTrans.getCbTransparencia().isSelected()){
95
                                pTrans.getTRojo().setEnabled(true);
96
                                pTrans.getTVerde().setEnabled(true);
97
                                pTrans.getTAzul().setEnabled(true);
98
                        }else{
99
                                pTrans.getTRojo().setEnabled(false);
100
                                pTrans.getTVerde().setEnabled(false);
101
                                pTrans.getTAzul().setEnabled(false);
102
                        }
103
104
                }
105
106
                //Evento sobre el textfield de opacidad
107
                if(        e.getSource().equals(pTrans.getTOpacidad())){
108
                        checkOpacity();
109
                }
110
111
                //
112
                if(        e.getSource().equals(pTrans.getTRojo())){
113
                        getTransparencyValues(pTrans.getTRojo().getText());
114
                }
115
116
                if(        e.getSource().equals(pTrans.getTVerde())){
117
                        getTransparencyValues(pTrans.getTVerde().getText());
118
                }
119
120
                if(        e.getSource().equals(pTrans.getTAzul())){
121
                        getTransparencyValues(pTrans.getTAzul().getText());
122
                }
123
        }
124
125
        /**
126
         * Obtiene el rango de valores a partir de la cadena de
127
         * texto introducida por el usuario.
128
         * @param values
129
         */
130
        private void getTransparencyValues(String values){
131
132
        }
133
        /**
134
         * Controla que si el formato introducido en el textfield
135
         * de opacidad es numerico se actualiza la posici?n del
136
         * slider.
137
         */
138
        private void checkOpacity(){
139
                String op = pTrans.getTOpacidad().getText();
140
                int value = 0;
141
                try{
142
                        if(!op.equals(""))
143
                                value = Integer.parseInt(op);
144
                        pTrans.getSlOpacidad().setValue(value);
145
                }catch(NumberFormatException exc){
146
                        System.err.println("Formato no numerico");
147
                        pTrans.getTOpacidad().setText("100");
148
                        pTrans.getSlOpacidad().setValue(100);
149
                }
150
        }
151
152
        /*
153
         *
154
         */
155
        public void stateChanged(ChangeEvent e){
156
157
                //Ponemos el valor del texto de la opacidad de pendiendo de la posici?n del Slider
158
                pTrans.getTOpacidad().setText(String.valueOf(pTrans.getSlOpacidad().getValue()));
159
        }
160
161
        public void focusGained(FocusEvent e){}
162
        public void focusLost(FocusEvent e){
163
                checkOpacity();
164
        }
165
166
        /*public void mouseExited(MouseEvent e){}
167
        public void mouseReleased(MouseEvent e){}
168
        public void mouseEntered(MouseEvent e){}
169

170
        public void mouseClicked(MouseEvent e){}
171

172
        public void mousePressed(MouseEvent e){}
173

174
        public void keyTyped(KeyEvent e){
175
        }
176
        public void keyPressed(KeyEvent e){
177
        }
178
        public void keyReleased(KeyEvent e){}
179
        */
180 1750 igbrotru
}
181
182
183
184
185