Statistics
| Revision:

svn-gvsig-desktop / tags / v1_1_Build_1004 / extensions / extRasterTools / src / org / gvsig / rasterTools / saveRaster / ui / properties / SaveRasterPropsDialog.java @ 12319

History | View | Annotate | Download (3.75 KB)

1 4547 nacho
/*
2
 * Creado el 7-marzo-2005
3
 */
4
package org.gvsig.rasterTools.saveRaster.ui.properties;
5
6
import java.awt.Container;
7
import java.awt.event.ActionEvent;
8
9
import javax.swing.JDialog;
10
11
import org.cresques.io.CXMLParser;
12
import org.cresques.io.GeoRasterWriter;
13
import org.gvsig.rasterTools.saveRaster.ui.main.SaveRasterDefaultPanel;
14
15
16
17
/**
18
 * Dialogo para abrir fichero.
19
 * @author Nacho Brodin (brodin_ign@gva.es)
20
 */
21
public class SaveRasterPropsDialog extends JDialog {
22
23
        //Ancho y alto ventana de propiedades de salvar a raster
24
        private int                                                 widthWindow=386;
25
        private int                                                 heightWindow=310;
26
27
        private SaveRasterPropsDialogPanel         contentPane = null;
28
        private GeoRasterWriter                         writer=null;
29
        private String                                                 formato = null;
30
        private String[]                                        properties = null;
31
        private SaveRasterDefaultPanel                parentDialog = null;
32
33
        /**
34
         * Constructor
35
         * @param writer
36
         */
37
        public SaveRasterPropsDialog(GeoRasterWriter writer) {
38
                super();
39
                super.setModal(true);
40
                this.writer = writer;
41
                this.formato = writer.getIdent();
42
                //Obtenemos el tama?o de la ventana del XML generado por el driver
43
                String xml = writer.getXMLPropertiesDialog();
44
                if(xml!=null){
45
                        CXMLParser parser = new CXMLParser(xml);
46
                        widthWindow = Integer.parseInt(parser.getAttr("window","sizex"));
47
                        heightWindow = Integer.parseInt(parser.getAttr("window","sizey"));
48
                }
49
                initialize();
50
        }
51
52
        /**
53
         * Inicializaci?n del dialogo
54
         *
55
         * @return javax.swing.JDialog
56
         */
57
        private void initialize() {
58
                setBounds(0, 0, widthWindow, heightWindow);  //Size Ventana
59
                setResizable(false);
60
                setName("saveRasterProps");
61
                setTitle("Propiedades de "+formato);
62
                setContentPane(getContentPane());
63
                 //contentPane.getAcceptButton().setEnabled(false);
64
                contentPane.getAcceptButton().addActionListener(new java.awt.event.ActionListener() {
65
            public void actionPerformed(java.awt.event.ActionEvent evt) {
66
                    acceptButtonActionPerformed(evt);
67
                closeJDialog();
68
            }
69
        });
70
                contentPane.getCancelButton().addActionListener(new java.awt.event.ActionListener() {
71
            public void actionPerformed(java.awt.event.ActionEvent evt) {
72
                closeJDialog();
73
            }
74
        });
75
                contentPane.getApplyButton().addActionListener(new java.awt.event.ActionListener() {
76
            public void actionPerformed(java.awt.event.ActionEvent evt) {
77
                    acceptButtonActionPerformed(evt);
78
             }
79
        });
80
        }
81
82
        /**
83
         * Asigna el dialogo padre a una variable.
84
         * @param parentDialog        Cuadro de dialogo padre.
85
         */
86
        public void setParentDialog(SaveRasterDefaultPanel parentDialog){
87
                this.parentDialog = parentDialog;
88
        }
89
90
        /**
91
         * Inicializa contenPane
92
         * @return Container
93
         */
94
        public Container getContentPane() {
95
                if (contentPane == null) {
96
                        contentPane = new SaveRasterPropsDialogPanel(writer);
97
                }
98
                return contentPane;
99
        }
100
101
        public void closeJDialog() {
102
                this.hide();
103
        }
104
105
106
        /**
107
         * Cuando se acepta se obtienen las propiedades seleccionadas
108
         * @param e
109
         */
110
    private void acceptButtonActionPerformed(ActionEvent e) {
111
            if(((SaveRasterPropsDialogPanel)getContentPane()).getListener().getProperties() != null){
112
                    properties = ((SaveRasterPropsDialogPanel)getContentPane()).getListener().getProperties();
113
                    //Salvamos las propiedades seleccionadas en el DriverProperties
114
                    parentDialog.driverProps.setProperties(writer.getIdent(), properties);
115 8608 nacho
                    for(int i = 0; i < properties.length; i++){
116
                            try{
117 10489 nacho
                            if(properties[i].startsWith("BLOCKSIZE"))
118 8608 nacho
                                    parentDialog.setSizeBlock(Integer.parseInt(properties[i].substring(properties[i].lastIndexOf("=") + 1, properties[i].length())));
119
                            }catch(NumberFormatException ex){
120
                                    //No se ha podido parsear el dato. No asignar? el tama?o de bloque
121
                            }
122
                    }
123 4547 nacho
            }
124
    }
125
}