Statistics
| Revision:

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

History | View | Annotate | Download (4.72 KB)

1
/*
2
 * Created on 18-feb-2005
3
 */
4
package org.cresques.ui.raster;
5

    
6

    
7
import java.awt.Dimension;
8
import java.awt.event.ActionEvent;
9
import java.awt.event.ActionListener;
10
import java.awt.event.FocusEvent;
11
import java.awt.event.FocusListener;
12
import java.awt.event.KeyEvent;
13
import java.awt.event.KeyListener;
14
import java.awt.event.MouseEvent;
15
import java.awt.event.MouseListener;
16
import java.io.File;
17

    
18
import javax.swing.JFileChooser;
19
import javax.swing.JPanel;
20
import javax.swing.event.ChangeEvent;
21
import javax.swing.event.ChangeListener;
22
import javax.swing.filechooser.FileFilter;
23

    
24
import org.cresques.io.CXMLParser;
25
import org.cresques.io.GeoRasterFile;
26
import org.cresques.io.GeoRasterWriter;
27

    
28
 
29
/**
30
 * Selecciona las bandas visibles en un raster
31
 * @author Nacho Brodin <brodin_ign@gva.es>
32
 */
33
public class SavePropsSetupPanel extends JPanel implements ActionListener, ChangeListener, MouseListener, FocusListener, KeyListener{
34
        
35
        private DataInputProps                                                         saveRaster = null;
36
        private SaveRasterPropsDialogPanel                                 dialogPanel = null;
37
        private String                                                                         fName = null;
38
        private GeoRasterWriter                                                 writer = null;
39
        private String                                                                         formato = null;
40
        private String[]                                                                properties = null;
41

    
42
        /**
43
         * Constructor 
44
         * 
45
         */
46
        public SavePropsSetupPanel() {
47
                super();
48
        }
49
        
50
        /**
51
         * Asigna el formato del fichero del que se quieren ver las propiedades
52
         * @param formato
53
         */
54
        public void setFormat(String formato){
55
                this.formato = formato;
56
                initialize();
57
        }
58
        
59
        /**
60
         * Asigna el GeoRasterFile que corresonde al driver
61
         * @param writer
62
         */
63
        public void setWriter(GeoRasterWriter writer){
64
                this.writer = writer;
65
                initialize();
66
        }
67
        
68
        /**
69
         * Inicializaci?n de la ventana
70
         * 
71
         * @return void
72
         */
73
        void initialize() {
74
                int widthPanel=350;
75
                int heightPanel=210;
76
                
77
                //Obtenemos el ancho y alto del panel interior del XML
78
                String xml = writer.getXMLPropertiesDialog();
79
                if(xml!=null){
80
                        CXMLParser parser = new CXMLParser(xml);
81
                        parser.getValue("window", true);
82
                        String w = parser.getAttr("panel","sizex");
83
                        String h = parser.getAttr("panel","sizey");
84
                        if(w!=null && !w.equals(""))
85
                                widthPanel = Integer.parseInt(w);
86
                        if(h!=null && !h.equals(""))
87
                                heightPanel = Integer.parseInt(h);
88
                }
89
        this.setPreferredSize(new Dimension(widthPanel, heightPanel)); //AnchoxAlto  panel interior
90
        this.setBounds(0, 0, 300, 250);
91
        this.setLayout(null);
92
        this.add(getSaveParameters(), null);
93
               
94
        //A?adimos gesti?n de eventos        
95
        
96
        if(saveRaster.getCombos() != null){
97
                for(int i=0;i<saveRaster.getCombos().length;i++)
98
                        saveRaster.getCombos()[i].addActionListener(this);
99
        }
100
        
101
        if(saveRaster.getSliders() != null){
102
                for(int i=0;i<saveRaster.getSliders().length;i++)
103
                        saveRaster.getSliders()[i].getSlider().addChangeListener(this);
104
        }
105
        
106
        if(saveRaster.getChecks() != null){
107
                for(int i=0;i<saveRaster.getChecks().length;i++)
108
                        saveRaster.getChecks()[i].addActionListener(this);
109
        }
110
     
111
        }
112

    
113
        /**
114
         * Asigna un valor al panel padre
115
         * @param dialogPanel
116
         */
117
        
118
        public void setDialogPanel(SaveRasterPropsDialogPanel dialogPanel){
119
                this.dialogPanel = dialogPanel; 
120
        } 
121
        
122
        /**
123
         * Obtiene el Panel de Controles interior
124
         * @return
125
         */
126
        
127
        public DataInputProps getSaveParameters() {
128
                if (saveRaster == null) {
129
                                saveRaster = new DataInputProps(writer);
130
                }
131
                return saveRaster;
132
        }
133
        
134
        
135
        
136
        /**
137
         * Controla cuando se cumplen todos los requisitos en el formulario para 
138
         * poder activar el bot?n de aceptar.
139
         *
140
         */
141
        private void enableButtons(){
142
                        
143
                if(dialogPanel!=null){
144
                        dialogPanel.getAcceptButton().setEnabled(true);
145
                }
146
                        
147
        }
148
        
149
        /**
150
         * Devuelve un vector de Strings en el que cada elemento es un par propiedad=valor
151
         * con las propiedades del driver seleccionado
152
         * @return Vector de propiedades
153
         */
154
        public String[] getProperties(){
155
                return properties;
156
        }
157
        
158
        public void stateChanged(ChangeEvent e){
159
                
160
                properties = saveRaster.getElements();
161
                
162
        }
163
        
164
        public void actionPerformed(ActionEvent e){
165
                
166
                properties = saveRaster.getElements();
167
                
168
        }
169
        
170
        /**
171
         * Devuelve el nombre del fichero seleccionado
172
         * @return Nombre del fichero seleccionado
173
         */
174
        public String getFileName(){
175
                
176
                return fName;
177
        }
178
        
179
        public void mouseExited(MouseEvent e){}
180
        public void mouseReleased(MouseEvent e){}        
181
        public void mouseEntered(MouseEvent e){}
182
        
183
        public void mouseClicked(MouseEvent e){
184
                
185
                enableButtons();
186
        
187
        }
188
        
189
        public void mousePressed(MouseEvent e){}
190
        public void focusGained(FocusEvent e){}
191
        public void focusLost(FocusEvent e){
192
                
193
                enableButtons();
194
                
195
        }
196
        public void keyTyped(KeyEvent e){enableButtons();}
197
        public void keyPressed(KeyEvent e){enableButtons();}
198
        public void keyReleased(KeyEvent e){enableButtons();}
199
 }  
200

    
201