Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / extensions / extJCRS / src / org / gvsig / crs / gui / listeners / CRSMainTrPanelListener.java @ 32535

History | View | Annotate | Download (98.2 KB)

1 11458 jlgomez
/* gvSIG. Sistema de Informacin Geogrfica de la Generalitat Valenciana
2 10301 dguerrero
 *
3
 * Copyright (C) 2006 Instituto de Desarrollo Regional 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
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23 11458 jlgomez
 *   Av. Blasco Ibez, 50
24 10301 dguerrero
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   Instituto de Desarrollo Regional (Universidad de Castilla La-Mancha)
34
 *   Campus Universitario s/n
35
 *   02071 Alabacete
36
 *   Spain
37
 *
38
 *   +34 967 599 200
39
 */
40
41
42
package org.gvsig.crs.gui.listeners;
43
44
import java.awt.CardLayout;
45
import java.awt.event.ActionEvent;
46
import java.awt.event.ActionListener;
47
import java.awt.event.ItemEvent;
48
import java.awt.event.ItemListener;
49
import java.awt.event.KeyEvent;
50
import java.awt.event.KeyListener;
51
import java.awt.event.MouseEvent;
52
import java.awt.event.MouseListener;
53
import java.sql.ResultSet;
54
import java.sql.SQLException;
55
56
import javax.swing.JComboBox;
57
import javax.swing.JOptionPane;
58
import javax.swing.ListSelectionModel;
59
import javax.swing.event.ListSelectionEvent;
60
import javax.swing.event.ListSelectionListener;
61
62 29637 jpiera
import org.gvsig.andami.PluginServices;
63
import org.gvsig.andami.ui.mdiManager.IWindow;
64 31496 jjdelcerro
import org.gvsig.app.project.documents.view.gui.AbstractViewPanel;
65 12408 jlgomez
import org.gvsig.crs.CrsGT;
66 10301 dguerrero
import org.gvsig.crs.CrsWkt;
67
import org.gvsig.crs.ICrs;
68
import org.gvsig.crs.gui.CRSMainTrPanel;
69 12473 jlgomez
import org.gvsig.crs.gui.panels.InfoCRSPanel;
70 11796 dguerrero
import org.gvsig.crs.ogr.TransEPSG;
71 12408 jlgomez
import org.gvsig.crs.persistence.CompTrData;
72 10301 dguerrero
import org.gvsig.crs.persistence.CrsData;
73
import org.gvsig.crs.persistence.RecentCRSsPersistence;
74
import org.gvsig.crs.persistence.RecentTrsPersistence;
75
import org.gvsig.crs.persistence.TrData;
76
77
78 11458 jlgomez
import es.idr.teledeteccion.connection.Query;
79
80 10301 dguerrero
/**
81
 * Esta clase contiene todos los listeners necesarios para el manejo
82 11458 jlgomez
 * de los eventos del panel de eleccin de CRS de la capa y de su
83
 * tranformacin.
84 10301 dguerrero
 *
85
 * @author Diego Guerrero Sevilla (diego.guerrero@uclm.es)
86 11458 jlgomez
 * @author Jos Luis Gmez Martnez (jolugomar@gmail.com)
87 10301 dguerrero
 *
88
 */
89
90
public class CRSMainTrPanelListener implements ActionListener,
91
                        ListSelectionListener, ItemListener, MouseListener, KeyListener{
92
93 13149 jlgomez
        int[] valid_method_code = {9800, 9801, 9802, 9803, 9804, 9805, 9806, 9807, 9809, 9810,
94
                        9811, 9812, 9813, 9814, 9815, 9602, 9659, 9818, 9819, 9820, 9821, 9822, 9823,
95
                        9827, 9829};
96
97 18137 jlgomez
        private CRSMainTrPanel panel = null;
98
99 10301 dguerrero
        public CRSMainTrPanelListener(CRSMainTrPanel p) {
100
                panel=p;
101
        }
102
103
        /**
104
         * Manejador de los eventos relacionados con los botones del panel
105 11458 jlgomez
         * de transformacin y al combobox de las transformaciones
106 10301 dguerrero
         */
107
        public void actionPerformed(ActionEvent e) {
108
                if(        e.getSource() == panel.getJButtonAccept()){
109
                        if (panel.isEpsg_tr()) {
110 11796 dguerrero
                                TransEPSG epsgParams = new TransEPSG(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
111 10301 dguerrero
                                panel.getEpsgTrPanel().setValues(epsgParams.getParamValue());
112
                                panel.setProjection(panel.getEpsgTrPanel().getProjection());
113
                                panel.setEpsg_tr(false);
114
115
                                /*
116
                                 * Actualizar Transformaciones recientes
117
                                 */
118
                                String authority = "EPSG";
119
                            String name = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,1);
120
                            int code = panel.getEpsgTrPanel().getTransformation_code();
121
                            String crsSource = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getSource());
122
                            String crsTarget = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getTarget());
123
                            String details = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,5);
124
                            TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
125 20637 dguerrero
                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
126 10301 dguerrero
                            trPersistence.addTrData(trData);
127
128
129
                        }
130
                        else if (panel.isManual_tr()) {
131
                                boolean domain = panel.getManualTrPanel().correctJTextField();
132
                                if (domain && panel.getManualTrPanel().correctDomain()){
133
                                        panel.setProjection(panel.getManualTrPanel().getProjection());
134
                                        panel.setManual_tr(false);
135
                                }
136
                                else if (!domain) {
137
                                        JOptionPane.showMessageDialog(panel,
138
                                                        PluginServices.getText(this,"numeric_format"),
139
                                                        "Warning...", JOptionPane.WARNING_MESSAGE);
140
                                        return;
141
                                }
142
                                else {
143
                                        JOptionPane.showMessageDialog(panel,
144
                                                        PluginServices.getText(this,"incorrect_domain"),
145
                                                        "Warning...", JOptionPane.WARNING_MESSAGE);
146
                                        return;
147
                                }
148
149
                                /*
150
                                 * Actualizar Transformaciones recientes
151
                                 */
152
                                String authority = "USR";
153
                            String name = PluginServices.getText(this,"manual");
154
                            int code = 0;
155
                            String crsSource = panel.getManualTrPanel().getSourceAbrev();
156
                            String crsTarget = panel.getManualTrPanel().getTargetAbrev();
157
                            String details = panel.getManualTrPanel().getValues();
158
159
                            TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
160 20637 dguerrero
                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
161 10301 dguerrero
                            trPersistence.addTrData(trData);
162
163
                        }
164
                        else if (panel.isNads_tr()) {
165
                                panel.setProjection(panel.getNadsTrPanel().getProjection());
166
                                panel.setTargetNad(panel.getNadsTrPanel().getNad());
167
                                panel.setNads_tr(false);
168
169
                                /*
170
                                 * Actualizar Transformaciones recientes
171
                                 */
172
                                String authority = "NADGR";
173
                            String name = "----";
174
                            int code = 0;
175
                            String crsSource = panel.getNadsTrPanel().getSourceAbrev();
176
                            String crsTarget = panel.getNadsTrPanel().getTargetAbrev();
177
                            String details = "";
178
                            if (panel.getNadsTrPanel().getNad())
179
                                    details = panel.getNadsTrPanel().getNadFile()+ " ("+panel.getNadsTrPanel().getTargetAbrev() +")";
180
                            else
181 13149 jlgomez
                                    details = panel.getNadsTrPanel().getNadFile()+ " ("+panel.getNadsTrPanel().getSourceAbrev() +")";
182 10301 dguerrero
                            TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
183 20637 dguerrero
                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
184 10301 dguerrero
                            trPersistence.addTrData(trData);
185
                        }
186
                        /*
187
                         * Ver que es necesario cuando aceptas en el panel de transformaciones
188
                         * recientes.
189
                         */
190
                        else if (panel.isRecents_tr()) {
191
                                String[] transformation = ((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).split(":");
192
                                if (transformation[0].equals("USR")){
193
                                panel.getRecentsTrPanel().setParamsManual((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4));
194
                                panel.setProjection(panel.getRecentsTrPanel().getProjection());
195
                        }
196
                                if (transformation[0].equals("EPSG")){
197 12541 jlgomez
                                        TransEPSG epsgParams = new TransEPSG(panel.getRecentsTrPanel().getTrCode(),panel.getRecentsTrPanel().connect, panel.getRecentsTrPanel().getInverseTransformation());
198 10301 dguerrero
                                        panel.getRecentsTrPanel().setParamsEPGS(epsgParams.getParamValue());
199
                                        panel.setProjection(panel.getRecentsTrPanel().getProjection());
200
                        }
201
                                if (transformation[0].equals("NADGR")){
202
                                        panel.setProjection(panel.getRecentsTrPanel().getProjectionNad((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4)));
203
                                }
204 12541 jlgomez
                                if (transformation[0].equals("COMP")) {
205
                                        panel.setProjection(panel.getRecentsTrPanel().getProjectionComplex((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4)));
206
                                }
207 10301 dguerrero
                                //panel.setProjection(panel.getRecentsTrPanel().getProjection());
208
                                panel.setRecents_tr(false);
209
210
                                /*
211
                                 * Actualizar Transformaciones recientes
212
                                 */
213
                                String authCode = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0);
214
                                String authority = authCode.split(":")[0];
215
                            String name = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,1);
216
                            int code = Integer.parseInt(authCode.split(":")[1]);
217
                            String crsSource = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,2);
218
                            String crsTarget = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,3);
219
                            String details = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4);
220
                            TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
221 20637 dguerrero
                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
222 10301 dguerrero
                            trPersistence.addTrData(trData);
223 11903 lmfernandez
                        }else if(panel.isCompuesta_tr()){
224 11987 jlgomez
                                //Selecciona transformacin compuesta
225
                                //Mostrar el panel de transformacin de la Capa
226 12009 jlgomez
                                panel.setProjection(panel.getVistaTrPanel().getProjection());
227
                                //panel.setTargetNad(panel.getNadsTrPanel().getNad());
228 12408 jlgomez
                                panel.setCompuesta_tr(false);
229
                                panel.setVista_tr(false);
230
231
                                /**
232
                                 * para actualizar las transformaciones recientes, tendremos
233
                                 * que coger las dos transformaciones utilizadas...
234
                                 */
235
236
                                /*
237
                                 * Actualizar Transformaciones recientes
238
                                 */
239
                                String authorityLayer = null;
240
                            String nameLayer = null;
241
                            int codeLayer = 0;
242
                            String crsSourceLayer = null;
243
                            String crsTargetLayer = null;
244
                            String detailsLayer = "";
245
246
                                if(panel.getCapaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"recents_transformation"))){
247
                                        String[] transform = ((String)panel.getCapaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getRecentsTrPanel().selectedRowTable,0)).split(":");
248 11987 jlgomez
249 12408 jlgomez
                                        authorityLayer = PluginServices.getText(this, transform[0]);
250
                                        nameLayer = (String)panel.getCapaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getRecentsTrPanel().selectedRowTable,1);
251
                                        crsSourceLayer = (String)panel.getCapaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getRecentsTrPanel().selectedRowTable,2);
252
                                        crsTargetLayer = (String)panel.getCapaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getRecentsTrPanel().selectedRowTable,3);
253
                                        detailsLayer = (String)panel.getCapaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getRecentsTrPanel().selectedRowTable,4);
254
                                }
255
                                else if(panel.getCapaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"transformacion_epsg"))){
256
                                        authorityLayer = "EPSG";
257
                                    nameLayer = (String)panel.getCapaTrPanel().getEpsgTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getEpsgTrPanel().selectedRowTable,1);
258
                                    codeLayer = panel.getCapaTrPanel().getEpsgTrPanel().getTransformation_code();
259
                                    crsSourceLayer = "EPSG:"+String.valueOf(panel.getCapaTrPanel().getEpsgTrPanel().getSource());
260
                                    crsTargetLayer = "EPSG:"+String.valueOf(panel.getCapaTrPanel().getEpsgTrPanel().getTarget());
261
                                    detailsLayer = (String)panel.getCapaTrPanel().getEpsgTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getEpsgTrPanel().selectedRowTable,5);
262
263
                                }
264
                                else if(panel.getCapaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"transformacion_manual"))){
265
                                        authorityLayer = "USR";
266
                                    nameLayer = PluginServices.getText(this,"manual");
267
                                    codeLayer = 0;
268
                                    crsSourceLayer = panel.getCapaTrPanel().getManualTrPanel().getSourceAbrev();
269
                                    crsTargetLayer = panel.getCapaTrPanel().getManualTrPanel().getTargetAbrev();
270
                                    detailsLayer = panel.getCapaTrPanel().getManualTrPanel().getValues();
271
                                }
272
                                else if(panel.getCapaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"nadgrids"))){
273
                                        authorityLayer = "NADGR";
274
                                    nameLayer = "----";
275
                                    codeLayer = 0;
276
                                    crsSourceLayer = panel.getCapaTrPanel().getNadsTrPanel().getSourceAbrev();
277
                                    crsTargetLayer = panel.getCapaTrPanel().getNadsTrPanel().getTargetAbrev();
278 12541 jlgomez
                                    detailsLayer = panel.getCapaTrPanel().getNadsTrPanel().getNadFile()+ " ("+panel.getCapaTrPanel().getNadsTrPanel().getSourceAbrev() +")";
279 12408 jlgomez
                                }
280
                            TrData trDataLayer = new TrData(authorityLayer,codeLayer,nameLayer,crsSourceLayer,crsTargetLayer,detailsLayer);
281
282
                            String authorityView = null;
283
                            String nameView = null;
284
                            int codeView = 0;
285
                            String crsSourceView = null;
286
                            String crsTargetView = null;
287
                            String detailsView = "";
288
289
                                if(panel.getVistaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"recents_transformation"))){
290
                                        String[] transform = ((String)panel.getVistaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getRecentsTrPanel().selectedRowTable,0)).split(":");
291 11987 jlgomez
292 12408 jlgomez
                                        authorityView = PluginServices.getText(this, transform[0]);
293
                                        nameView = (String)panel.getVistaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getRecentsTrPanel().selectedRowTable,1);
294
                                        crsSourceView = (String)panel.getVistaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getRecentsTrPanel().selectedRowTable,2);
295
                                        crsTargetView = (String)panel.getVistaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getRecentsTrPanel().selectedRowTable,3);
296
                                        detailsView = (String)panel.getVistaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getRecentsTrPanel().selectedRowTable,4);
297
                                }
298
                                else if(panel.getVistaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"transformacion_epsg"))){
299
                                        authorityView = "EPSG";
300
                                    nameView = (String)panel.getVistaTrPanel().getEpsgTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getEpsgTrPanel().selectedRowTable,1);
301
                                    codeView = panel.getVistaTrPanel().getEpsgTrPanel().getTransformation_code();
302
                                    crsSourceView = "EPSG:"+String.valueOf(panel.getVistaTrPanel().getEpsgTrPanel().getSource());
303
                                    crsTargetView = "EPSG:"+String.valueOf(panel.getVistaTrPanel().getEpsgTrPanel().getTarget());
304
                                    detailsView = (String)panel.getVistaTrPanel().getEpsgTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getEpsgTrPanel().selectedRowTable,5);
305
306
                                }
307
                                else if(panel.getVistaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"transformacion_manual"))){
308
                                        authorityView = "USR";
309
                                    nameView = PluginServices.getText(this,"manual");
310
                                    codeView = 0;
311
                                    crsSourceView = panel.getVistaTrPanel().getManualTrPanel().getSourceAbrev();
312
                                    crsTargetView = panel.getVistaTrPanel().getManualTrPanel().getTargetAbrev();
313
                                    detailsView = panel.getVistaTrPanel().getManualTrPanel().getValues();
314
                                }
315
                                else if(panel.getVistaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"nadgrids"))){
316
                                        authorityView = "NADGR";
317
                                    nameView = "----";
318
                                    codeView = 0;
319
                                    crsSourceView = panel.getVistaTrPanel().getNadsTrPanel().getSourceAbrev();
320
                                    crsTargetView = panel.getVistaTrPanel().getNadsTrPanel().getTargetAbrev();
321
                                    detailsView = panel.getVistaTrPanel().getNadsTrPanel().getNadFile()+ " ("+panel.getVistaTrPanel().getNadsTrPanel().getTargetAbrev() +")";
322
                            }
323
                            TrData trDataView = new TrData(authorityView,codeView,nameView,crsSourceView,crsTargetView,detailsView);
324
                            CompTrData comp = new CompTrData(trDataLayer, trDataView);
325 20637 dguerrero
                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
326 12408 jlgomez
                            trPersistence.addTrData(comp);
327 11987 jlgomez
                        }
328 10301 dguerrero
                        else{
329
                                panel.setSin_tr(true);
330 18137 jlgomez
                                panel.setProjection(panel.getProjection());
331
                                /*
332
                             * Actualizar recientes...
333
                             */
334
                            String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0];
335
                            String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
336
                            int code = ((ICrs)panel.getProjection()).getCode();
337
                            CrsData crsData = new CrsData(authority,code,name);
338 20637 dguerrero
                            RecentCRSsPersistence persistence = new RecentCRSsPersistence();
339 18137 jlgomez
                            persistence.addCrsData(crsData);
340 11987 jlgomez
                        }
341 10301 dguerrero
342
                        /*
343
                     * Actualizar recientes...
344 18137 jlgomez

345 10301 dguerrero
                    String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0];
346
                    String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
347
                    int code = ((ICrs)panel.getProjection()).getCode();
348
                    CrsData crsData = new CrsData(authority,code,name);
349
                    RecentCRSsPersistence persistence = new RecentCRSsPersistence(RecentCRSsPersistence.pluginClassInstance);
350 18137 jlgomez
                    persistence.addCrsData(crsData);*/
351 10301 dguerrero
352
                        PluginServices.getMDIManager().closeWindow(panel);
353
                }
354
355
                if(        e.getSource() == panel.getJButtonBefore()){
356 11987 jlgomez
                        CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout());
357
                        if(panel.getNewSelection().equals(PluginServices.getText(this, "transformacion_compuesta")) && panel.isVista_tr()) {
358
                                cl.show(panel.getJPanelMain(), "capa");
359
                                panel.setVista_tr(false);
360 12521 jlgomez
                                panel.getJButtonNext().setEnabled(true);
361 18137 jlgomez
                                panel.getJButtonAccept().setEnabled(false);
362 11987 jlgomez
                            panel.getJButtonBefore().setEnabled(true);
363
                        } else {
364
                                cl.show(panel.getJPanelMain(), "primero");
365 12469 jlgomez
                            if (!panel.getDataSource().equals(PluginServices.getText(this,"recientes"))){
366
                                        panel.setEpsg_tr(false);
367
                                panel.setNads_tr(false);
368
                                panel.setManual_tr(false);
369
                                panel.setRecents_tr(false);
370
                                panel.setCapa_tr(false);
371 18137 jlgomez
                                panel.setVista_tr(false);
372 12469 jlgomez
                            }
373 12521 jlgomez
                            /**
374
                             * mirar si el panel es el de recientes, el item seleccionado
375
                             * y actualizar estado de los botones...
376
                             */
377 12566 jlgomez
                            else {
378
                                    panel.setEpsg_tr(false);
379
                                panel.setNads_tr(false);
380
                                panel.setManual_tr(false);
381
                                panel.setRecents_tr(false);
382
                                panel.setCapa_tr(false);
383
                                panel.setVista_tr(false);
384
                                int sel = panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable;
385
                                panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getJTable().setRowSelectionInterval(0, 0);
386
                                panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getJTable().setRowSelectionInterval(sel, sel);
387
                            }
388
389 18137 jlgomez
                           //panel.getJButtonAccept().setEnabled(false);
390
                        //panel.getJButtonNext().setEnabled(true);
391 11987 jlgomez
                            panel.getJButtonBefore().setEnabled(false);
392
                        }
393 10301 dguerrero
                }
394
395
                if(        e.getSource() == panel.getJButtonCancel()){
396
                        panel.setCancelYes(true);
397
                        panel.setProjection(panel.getCrsfirst());
398
                        PluginServices.getMDIManager().closeWindow(panel);
399
                }
400
401
                if(        e.getSource() == panel.getJButtonNext()){
402 12521 jlgomez
                        panel.getJButtonNext().setEnabled(false);
403
                        //panel.getJButtonAccept().setEnabled(true);
404 10301 dguerrero
                        panel.getJButtonBefore().setEnabled(true);
405
                        if (panel.getNewSelection().equals(PluginServices.getText(this,"transformacion_manual"))) {
406
                                CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout());
407
                                if (panel.getDataSource().equals(PluginServices.getText(this,"EPSG"))){
408
                                        panel.getManualTrPanel().setWKT(panel.getCrsMainPanel().getEpsgPanel().getWKT());
409
                                        panel.getManualTrPanel().setCode(panel.getCrsMainPanel().getEpsgPanel().epsg_code);
410
                                        panel.getManualTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
411
                                }
412
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"recientes"))) {
413 12408 jlgomez
                                        if (panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs() instanceof CrsGT) {
414
                                                panel.getManualTrPanel().setWKT(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs());
415
                                        }
416
                                        else {
417
                                                panel.getManualTrPanel().setWKT(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs().getWKT());
418
                                        }
419 12469 jlgomez
                                        /**
420
                                         * En el caso de haber elegido un crs con transformacion reciente
421
                                         * vamos a cargar los datos.
422
                                         */
423
                                        if (!((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3)).equals(PluginServices.getText(this, "sin_transformacion"))) {
424
                                                if (getCorrectOption().equals(PluginServices.getText(this, "USR")))
425
                                                        panel.getManualTrPanel().fillData((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
426
                                                else
427
                                                        panel.getManualTrPanel().resetData();
428 12521 jlgomez
                                        } else
429
                                                panel.getManualTrPanel().resetData();
430 12408 jlgomez
                                        panel.getManualTrPanel().setCode(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
431 10301 dguerrero
                                        panel.getManualTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
432
                                }
433 12408 jlgomez
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"IAU2000"))) {
434
                                        panel.getManualTrPanel().setWKT(panel.getCrsMainPanel().getIauPanel().getWKT());
435
                                        panel.getManualTrPanel().setCode(panel.getCrsMainPanel().getIauPanel().getCodeCRS());
436
                                        panel.getManualTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
437
                                }
438
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"ESRI"))) {
439
                                        panel.getManualTrPanel().setWKT(panel.getCrsMainPanel().getEsriPanel().getWKT());
440
                                        panel.getManualTrPanel().setCode(panel.getCrsMainPanel().getEsriPanel().getCodeCRS());
441
                                        panel.getManualTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
442
                                }
443
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"newCRS"))) {
444
                                        panel.getManualTrPanel().setWKT(panel.getCrsMainPanel().getNewCrsPanel().getWKT());
445
                                        panel.getManualTrPanel().setCode(panel.getCrsMainPanel().getNewCrsPanel().getCodeCRS());
446
                                        panel.getManualTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
447
                                }
448 10301 dguerrero
                                if(!panel.getManualTrPanel().getStatus()) {
449
                                        panel.getJButtonAccept().setEnabled(false);
450
                                }
451
                                panel.setManual_tr(true);
452
                            cl.show(panel.getJPanelMain(), "manual");
453
                        }
454
                        else if(panel.getNewSelection().equals(PluginServices.getText(this,"nadgrids"))){
455
                                CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout());
456
                                if (panel.getDataSource().equals(PluginServices.getText(this,"EPSG"))){
457
                                        panel.getNadsTrPanel().setWKT(panel.getCrsMainPanel().getEpsgPanel().getWKT());
458 11458 jlgomez
                                        panel.getNadsTrPanel().setSourceAbrev(PluginServices.getText(this,"EPSG"), ""+panel.getCrsMainPanel().getEpsgPanel().epsg_code);
459 10301 dguerrero
                                        panel.getNadsTrPanel().setCode(panel.getCrsMainPanel().getEpsgPanel().epsg_code);
460
                                        panel.getNadsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
461
                                }
462
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"recientes"))) {
463 12408 jlgomez
                                        panel.getNadsTrPanel().setWKT(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs().getWKT());
464
                                        String sour = (String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable,0);
465
                                        panel.getNadsTrPanel().setSourceAbrev(PluginServices.getText(this,sour), ""+panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
466
                                        panel.getNadsTrPanel().setCode(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
467 10301 dguerrero
                                        panel.getNadsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
468 12469 jlgomez
                                        /**
469
                                         * En el caso de haber elegido un crs con transformacion reciente
470
                                         * vamos a cargar los datos.
471
                                         */
472
                                        if (!((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3)).equals(PluginServices.getText(this, "sin_transformacion"))) {
473
                                                if (getCorrectOption().equals(PluginServices.getText(this, "NADGR")))
474
                                                        panel.getNadsTrPanel().fillData((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
475
                                                else
476
                                                        panel.getNadsTrPanel().resetData();
477 12521 jlgomez
                                        } else
478
                                                panel.getNadsTrPanel().resetData();
479 10301 dguerrero
                                }
480 12408 jlgomez
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"IAU2000"))) {
481
                                        panel.getNadsTrPanel().setWKT(panel.getCrsMainPanel().getIauPanel().getWKT());
482
                                        panel.getNadsTrPanel().setSourceAbrev(PluginServices.getText(this,"IAU2000"), ""+panel.getCrsMainPanel().getIauPanel().getCodeCRS());
483
                                        panel.getNadsTrPanel().setCode(panel.getCrsMainPanel().getIauPanel().getCodeCRS());
484
                                        panel.getNadsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
485
                                }
486
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"ESRI"))) {
487
                                        panel.getNadsTrPanel().setWKT(panel.getCrsMainPanel().getEsriPanel().getWKT());
488
                                        panel.getNadsTrPanel().setSourceAbrev(PluginServices.getText(this,"ESRI"), ""+panel.getCrsMainPanel().getEsriPanel().getCodeCRS());
489
                                        panel.getNadsTrPanel().setCode(panel.getCrsMainPanel().getEsriPanel().getCodeCRS());
490
                                        panel.getNadsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
491
                                }
492
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"newCRS"))) {
493
                                        panel.getNadsTrPanel().setWKT(panel.getCrsMainPanel().getNewCrsPanel().getWKT());
494
                                        panel.getNadsTrPanel().setSourceAbrev(PluginServices.getText(this,"USR"), ""+panel.getCrsMainPanel().getNewCrsPanel().getCodeCRS());
495
                                        panel.getNadsTrPanel().setCode(panel.getCrsMainPanel().getNewCrsPanel().getCodeCRS());
496
                                        panel.getNadsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
497
                                }
498 10301 dguerrero
                                if (panel.getNadsTrPanel().getJComboNadFile().getSelectedIndex() == 0)
499
                                        panel.getJButtonAccept().setEnabled(false);
500
                                else panel.getJButtonAccept().setEnabled(true);
501
                                panel.setNads_tr(true);
502
                            cl.show(panel.getJPanelMain(), "nad");
503
                        }
504
                        else if(panel.getNewSelection().equals(PluginServices.getText(this,"transformacion_epsg"))){
505
                                CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout());
506
                                if (panel.getDataSource().equals(PluginServices.getText(this,"EPSG"))){
507
                                        panel.getEpsgTrPanel().setWKT(panel.getCrsMainPanel().getEpsgPanel().getWKT());
508 12414 jlgomez
                                        panel.getEpsgTrPanel().setSource(PluginServices.getText(this,"EPSG"),panel.getCrsMainPanel().getEpsgPanel().epsg_code);
509 10301 dguerrero
                                }
510
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"recientes"))) {
511 12408 jlgomez
                                        panel.getEpsgTrPanel().setWKT(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs().getWKT());
512 12414 jlgomez
                                        String sour = (String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable,0);
513
                                        panel.getEpsgTrPanel().setSource(PluginServices.getText(this,sour),panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
514 12469 jlgomez
                                        /**
515
                                         * En el caso de haber elegido un crs con transformacion reciente
516
                                         * vamos a cargar los datos.
517
                                         */
518
                                        if (!((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3)).equals(PluginServices.getText(this, "sin_transformacion"))) {
519
                                                if (getCorrectOption().equals(PluginServices.getText(this, "EPSG")))
520
                                                        panel.getEpsgTrPanel().fillData((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
521
                                                else
522
                                                        panel.getEpsgTrPanel().resetData();
523 12521 jlgomez
                                        } else
524
                                                panel.getEpsgTrPanel().resetData();
525 10301 dguerrero
                                }
526 12414 jlgomez
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"IAU2000"))) {
527 12408 jlgomez
                                        panel.getEpsgTrPanel().setWKT(panel.getCrsMainPanel().getIauPanel().getWKT());
528 12414 jlgomez
                                        panel.getEpsgTrPanel().setSource(PluginServices.getText(this,"IAU2000"),panel.getCrsMainPanel().getIauPanel().getCodeCRS());
529 12408 jlgomez
                                }
530
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"ESRI"))) {
531
                                        panel.getEpsgTrPanel().setWKT(panel.getCrsMainPanel().getEsriPanel().getWKT());
532 12414 jlgomez
                                        panel.getEpsgTrPanel().setSource(PluginServices.getText(this,"ESRI"),panel.getCrsMainPanel().getEsriPanel().getCodeCRS());
533 12408 jlgomez
                                }
534
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"newCRS"))) {
535
                                        panel.getEpsgTrPanel().setWKT(panel.getCrsMainPanel().getNewCrsPanel().getWKT());
536 12414 jlgomez
                                        panel.getEpsgTrPanel().setSource(PluginServices.getText(this,"USR"),panel.getCrsMainPanel().getNewCrsPanel().getCodeCRS());
537
                                }
538 12408 jlgomez
539 10301 dguerrero
                                int numr = panel.getEpsgTrPanel().dtm.getRowCount();
540
                                if (numr == 0 )
541
                                        panel.getJButtonAccept().setEnabled(false);
542
                                panel.setEpsg_tr(true);
543
                            cl.show(panel.getJPanelMain(), "epsg");
544
                        }
545
                        /*
546
                         * Parte necesaria para la transformacion reciente, cuando se vaya a cargar
547
                         * el panel, tendremos que ver que hay que pasarle.
548
                         */
549
                        else if(panel.getNewSelection().equals(PluginServices.getText(this, "recents_transformation"))) {
550
                                CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout());
551
                                if (panel.getDataSource().equals(PluginServices.getText(this,"EPSG"))){
552
                                        panel.getRecentsTrPanel().setWKT(panel.getCrsMainPanel().getEpsgPanel().getWKT());
553 12408 jlgomez
                                        panel.getRecentsTrPanel().loadRecents(PluginServices.getText(this,"EPSG")+":"+panel.getCrsMainPanel().getEpsgPanel().getCodeCRS(),panel.getCrsWkt_target().getAuthority()[0]+":"+panel.getCrsWkt_target().getAuthority()[1]);
554 10301 dguerrero
                                        //panel.getRecentsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
555
                                }
556
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"recientes"))) {
557 12408 jlgomez
                                        panel.getRecentsTrPanel().setWKT(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs().getWKT());
558
                                        String sour = (String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable,0);
559
                                        panel.getRecentsTrPanel().loadRecents(PluginServices.getText(this,sour)+":"+panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS(),panel.getCrsWkt_target().getAuthority()[0]+":"+panel.getCrsWkt_target().getAuthority()[1]);
560 10301 dguerrero
                                        //panel.getRecentsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
561
                                }
562 12408 jlgomez
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"IAU2000"))) {
563
                                        panel.getRecentsTrPanel().setWKT(panel.getCrsMainPanel().getIauPanel().getWKT());
564
                                        panel.getRecentsTrPanel().loadRecents(PluginServices.getText(this,"IAU2000")+":"+panel.getCrsMainPanel().getIauPanel().getCodeCRS(),panel.getCrsWkt_target().getAuthority()[0]+":"+panel.getCrsWkt_target().getAuthority()[1]);
565
                                }
566
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"ESRI"))) {
567
                                        panel.getRecentsTrPanel().setWKT(panel.getCrsMainPanel().getEsriPanel().getWKT());
568
                                        panel.getRecentsTrPanel().loadRecents(PluginServices.getText(this,"ESRI")+":"+panel.getCrsMainPanel().getEsriPanel().getCodeCRS(),panel.getCrsWkt_target().getAuthority()[0]+":"+panel.getCrsWkt_target().getAuthority()[1]);
569
                                }
570
                                else if (panel.getDataSource().equals(PluginServices.getText(this,"newCRS"))) {
571
                                        panel.getRecentsTrPanel().setWKT(panel.getCrsMainPanel().getNewCrsPanel().getWKT());
572
                                        panel.getRecentsTrPanel().loadRecents(PluginServices.getText(this,"USR")+":"+panel.getCrsMainPanel().getNewCrsPanel().getCodeCRS(),panel.getCrsWkt_target().getAuthority()[0]+":"+panel.getCrsWkt_target().getAuthority()[1]);
573
                                }
574 10301 dguerrero
575
                                int numr = panel.getRecentsTrPanel().dtm.getRowCount();
576
                                if (numr == 0 )
577
                                        panel.getJButtonAccept().setEnabled(false);
578
                                panel.setRecents_tr(true);
579
                            cl.show(panel.getJPanelMain(), "recents");
580
                        }
581 11987 jlgomez
                        //Si se selecciona la opcin de transformacin compuesta
582 11903 lmfernandez
                        else if(panel.getNewSelection().equals(PluginServices.getText(this, "transformacion_compuesta"))) {
583 11987 jlgomez
                                //vamos a definir los crs fuentes para los dos paneles para
584
                                //las transformaciones de la capa y la vista
585 18137 jlgomez
                                if (!panel.isCapa_tr()) {
586
                                        if (panel.getDataSource().equals(PluginServices.getText(this,"EPSG"))){
587
                                                panel.getCapaTrPanel().setCrs_source(PluginServices.getText(this,"EPSG")+":"+panel.getCrsMainPanel().getEpsgPanel().epsg_code);
588
                                                panel.getVistaTrPanel().setCrs_source(PluginServices.getText(this,"EPSG")+":"+panel.getCrsMainPanel().getEpsgPanel().epsg_code);
589
                                                panel.getCapaTrPanel().fillData();
590
                                                panel.getVistaTrPanel().fillData();
591
                                        }
592
                                        else if (panel.getDataSource().equals(PluginServices.getText(this,"recientes"))) {
593
                                                String sour = (String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable,0);
594
                                                panel.getCapaTrPanel().setCrs_source(PluginServices.getText(this,sour)+":"+panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
595
                                                panel.getVistaTrPanel().setCrs_source(PluginServices.getText(this,sour)+":"+panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
596
                                                panel.getCapaTrPanel().fillData();
597
                                                panel.getVistaTrPanel().fillData();
598
                                                /**
599
                                                 * En el caso de haber elegido un crs con transformacion reciente
600
                                                 * vamos a cargar los datos.
601
                                                 */
602
                                                if (!((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3)).equals(PluginServices.getText(this, "sin_transformacion"))) {
603
                                                        if (getCorrectOption().equals(PluginServices.getText(this, "COMP"))) {
604
                                                                panel.getCapaTrPanel().fillData((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
605
                                                                panel.getVistaTrPanel().fillData((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
606
                                                                panel.getJButtonAccept().setEnabled(true);
607
                                                        } else {
608
                                                                panel.getCapaTrPanel().resetData();
609
                                                                panel.getVistaTrPanel().resetData();
610
                                                        }
611 12469 jlgomez
                                                } else {
612
                                                        panel.getCapaTrPanel().resetData();
613
                                                        panel.getVistaTrPanel().resetData();
614
                                                }
615
                                        }
616 18137 jlgomez
                                        else if (panel.getDataSource().equals(PluginServices.getText(this,"IAU2000"))) {
617
                                                panel.getCapaTrPanel().setCrs_source(PluginServices.getText(this,"IAU2000")+":"+panel.getCrsMainPanel().getIauPanel().getCodeCRS());
618
                                                panel.getVistaTrPanel().setCrs_source(PluginServices.getText(this,"IAU2000")+":"+panel.getCrsMainPanel().getIauPanel().getCodeCRS());
619
                                                panel.getCapaTrPanel().fillData();
620
                                                panel.getVistaTrPanel().fillData();
621
                                        }
622
                                        else if (panel.getDataSource().equals(PluginServices.getText(this,"ESRI"))) {
623
                                                panel.getCapaTrPanel().setCrs_source(PluginServices.getText(this,"ESRI")+":"+panel.getCrsMainPanel().getEsriPanel().getCodeCRS());
624
                                                panel.getVistaTrPanel().setCrs_source(PluginServices.getText(this,"ESRI")+":"+panel.getCrsMainPanel().getEsriPanel().getCodeCRS());
625
                                                panel.getCapaTrPanel().fillData();
626
                                                panel.getVistaTrPanel().fillData();
627
                                        }
628
                                        else if (panel.getDataSource().equals(PluginServices.getText(this,"newCRS"))) {
629
                                                panel.getCapaTrPanel().setCrs_source(PluginServices.getText(this,"USR")+":"+panel.getCrsMainPanel().getNewCrsPanel().getCodeCRS());
630
                                                panel.getVistaTrPanel().setCrs_source(PluginServices.getText(this,"USR")+":"+panel.getCrsMainPanel().getNewCrsPanel().getCodeCRS());
631
                                                panel.getCapaTrPanel().fillData();
632
                                                panel.getVistaTrPanel().fillData();
633
                                        }
634 11987 jlgomez
                                }
635
636 11903 lmfernandez
                                if(panel.isCapa_tr()){
637 18137 jlgomez
                                        //En este caso se esta mostrando el panel de seleccion de la transformacin de la capa
638 12541 jlgomez
                                        panel.setVista_tr(true);
639 11987 jlgomez
                                        panel.getVistaTrPanel().setSourceTransformation(panel.getCapaTrPanel().getSourceTransformation());
640 11903 lmfernandez
                                        CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout());
641
                                        cl.show(panel.getJPanelMain(), "vista");
642 12541 jlgomez
                                        panel.getJButtonNext().setEnabled(false);
643 18137 jlgomez
                                        if (panel.getVistaTrPanel().isSthSelected())
644
                                                panel.getJButtonAccept().setEnabled(true);
645
                                }else{
646
                                        if (panel.getCapaTrPanel().getRecentCompTransformation()) {
647
                                                panel.getJButtonAccept().setEnabled(true);
648
                                                panel.getJButtonNext().setEnabled(true);
649
                                        }
650
                                        else {
651
                                                panel.getJButtonAccept().setEnabled(false);
652
                                                if (panel.getCapaTrPanel().isSthSelected())
653
                                                        panel.getJButtonNext().setEnabled(true);
654
                                        }
655 11903 lmfernandez
                                        panel.setCompuesta_tr(true);
656 18137 jlgomez
                                        panel.setEpsg_tr(false);
657
                                        panel.setNads_tr(false);
658
                                        panel.setManual_tr(false);
659
                                        panel.setRecents_tr(false);
660 12541 jlgomez
                                        panel.setCapa_tr(true);
661 11903 lmfernandez
                                        CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout());
662 12408 jlgomez
                                        cl.show(panel.getJPanelMain(), "capa");
663 11903 lmfernandez
                                }
664
                        }
665
666 10301 dguerrero
                }
667
                if(        e.getSource() == panel.getJComboOptions()){
668
                        JComboBox cb = (JComboBox)e.getSource();
669
                        panel.setNewSelection((String)cb.getSelectedItem());
670
                    if (panel.getNewSelection().equals(PluginServices.getText(this,"sin_transformacion"))){
671 12521 jlgomez
                                panel.getJButtonAccept().setEnabled(true);
672 18137 jlgomez
                                panel.getJButtonNext().setEnabled(false);
673
                                panel.setEpsg_tr(false);
674
                                panel.setNads_tr(false);
675
                                panel.setManual_tr(false);
676
                                panel.setRecents_tr(false);
677
                                panel.setCapa_tr(false);
678
                                panel.setCompuesta_tr(false);
679
                                panel.setVista_tr(false);
680 18307 jlgomez
                        }
681 10301 dguerrero
                    else {
682 18307 jlgomez
                            if (panel.getNewSelection().equals(PluginServices.getText(this,"recents_transformation"))) {
683
                                    panel.setEpsg_tr(false);
684
                                        panel.setNads_tr(false);
685
                                        panel.setManual_tr(false);
686
                                        panel.setRecents_tr(true);
687
                                        panel.setCapa_tr(false);
688
                                        panel.setCompuesta_tr(false);
689
                                        panel.setVista_tr(false);
690
                            }
691
                            else if (panel.getNewSelection().equals(PluginServices.getText(this,"transformacion_epsg"))) {
692
                                    panel.setEpsg_tr(true);
693
                                        panel.setNads_tr(false);
694
                                        panel.setManual_tr(false);
695
                                        panel.setRecents_tr(false);
696
                                        panel.setCapa_tr(false);
697
                                        panel.setCompuesta_tr(false);
698
                                        panel.setVista_tr(false);
699
                            }
700
                            else if (panel.getNewSelection().equals(PluginServices.getText(this,"transformacion_manual"))) {
701
                                    panel.setEpsg_tr(false);
702
                                        panel.setNads_tr(false);
703
                                        panel.setManual_tr(true);
704
                                        panel.setRecents_tr(false);
705
                                        panel.setCapa_tr(false);
706
                                        panel.setCompuesta_tr(false);
707
                                        panel.setVista_tr(false);
708
                            }
709
                            else if (panel.getNewSelection().equals(PluginServices.getText(this,"transformacion_compuesta"))) {
710
                                    panel.setEpsg_tr(false);
711
                                        panel.setNads_tr(false);
712
                                        panel.setManual_tr(false);
713
                                        panel.setRecents_tr(false);
714
                                        panel.setCapa_tr(false);
715
                                        panel.setCompuesta_tr(true);
716
                                        panel.setVista_tr(false);
717
                            }
718
                            else if (panel.getNewSelection().equals(PluginServices.getText(this,"nadgrids"))) {
719
                                    panel.setEpsg_tr(false);
720
                                        panel.setNads_tr(true);
721
                                        panel.setManual_tr(false);
722
                                        panel.setRecents_tr(false);
723
                                        panel.setCapa_tr(false);
724
                                        panel.setCompuesta_tr(false);
725
                                        panel.setVista_tr(false);
726
                            }
727 12521 jlgomez
                            panel.getJButtonAccept().setEnabled(false);
728
                            panel.getJButtonNext().setEnabled(true);
729 10301 dguerrero
                    }
730
                }
731
                if(        e.getSource() == panel.getRecentsTrPanel().getJButtonInfo()){
732
                        String[] data = new String[5];
733
                        data[0] = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0);
734
                        data[1] = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,1);
735
                        data[2] = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,2);
736
                        data[3] = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,3);
737
                        data[4] = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4);
738
739 11458 jlgomez
                        //Mostrar el panel de informacin de las transformaciones recientes
740 12473 jlgomez
                        //InfoTransformationsRecentsPanel info = new InfoTransformationsRecentsPanel(data);
741
                        InfoCRSPanel info = new InfoCRSPanel(data[2].split(":")[0], Integer.parseInt(data[2].split(":")[1]) , data[0]+" <--> "+ data[4]);
742 10301 dguerrero
                        PluginServices.getMDIManager().addWindow(info);
743
                }
744
        }
745 12469 jlgomez
746
        /**
747
         * Metodo que nos servira para conocer si tras la seleccion de crs mas la
748
         * transformacion, hemos decidido cambiar de transformacion
749
         * @return
750
         */
751
        private String getCorrectOption (){
752
                String item = ((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
753
                if (item.startsWith(PluginServices.getText(this, "EPSG"))) {
754
                        return "EPSG";
755
                }
756
                else if (item.startsWith(PluginServices.getText(this, "NADGR"))) {
757
                        return "NADGR";
758
                }
759
                else if (item.startsWith(PluginServices.getText(this, "USR"))) {
760
                        return "USR";
761
                }
762
                else if (item.startsWith(PluginServices.getText(this, "COMP"))) {
763
                        return "COMP";
764
                }
765
                return "";
766
        }
767 10301 dguerrero
768
        /**
769
         * Manejador de los eventos relacionados al cambio de valor
770
         * dentro de las tablas del panel de tranformaciones.
771
         */
772
        public void valueChanged(ListSelectionEvent e) {
773 12408 jlgomez
                if (e.getSource() == panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getJTable().getSelectionModel()){
774 10301 dguerrero
                        ListSelectionModel lsm = (ListSelectionModel)e.getSource();
775
                if (lsm.isSelectionEmpty()) {
776 12408 jlgomez
                        panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable = -1;
777
                        panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().setCodeCRS(-1);
778
                        panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getInfoCrs().setEnabled(false);
779 10301 dguerrero
                        panel.getJButtonAccept().setEnabled(false);
780
                        panel.getJComboOptions().setEnabled(false);
781 12521 jlgomez
                        panel.getJButtonNext().setEnabled(false);
782 10301 dguerrero
                        panel.getJComboOptions().setSelectedIndex(0);
783
                }
784 12469 jlgomez
                else {
785 12408 jlgomez
                        panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().initCrs();
786 12469 jlgomez
                        panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getInfoCrs().setEnabled(true);
787
                        if (((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3)).equals(PluginServices.getText(this, "sin_transformacion"))) {
788 12521 jlgomez
                                if (panel.getJComboOptions().getSelectedIndex() == 0) {
789
                                        panel.getJButtonAccept().setEnabled(true);
790
                                        panel.getJButtonNext().setEnabled(false);
791
                                } else{
792
                                        panel.getJButtonAccept().setEnabled(false);
793
                                        panel.getJButtonNext().setEnabled(true);
794
                                }
795 12469 jlgomez
                        } else {
796
                                String option = getCorrectItem();
797
                                if (option.equals("USR")) {
798
                                        if (panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs() instanceof CrsGT) {
799
                                                        panel.getManualTrPanel().setWKT(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs());
800
                                                }
801
                                                else {
802
                                                        panel.getManualTrPanel().setWKT(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs().getWKT());
803
                                                }
804
                                                panel.getManualTrPanel().setCode(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
805
                                                panel.getManualTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
806
807
                                        /**
808
                                         * Rellenamos los datos con anterioridad para si acepta poder
809
                                         * reutilizar el mecanismo que ya tenemos.
810
                                         */
811
                                                panel.getManualTrPanel().fillData((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
812
                                                panel.setManual_tr(true);
813
                                                panel.setEpsg_tr(false);
814
                                                panel.setNads_tr(false);
815
                                                panel.setRecents_tr(false);
816
                                                panel.setCompuesta_tr(false);
817
                                        } else if (option.equals("EPSG")) {
818
                                                panel.getEpsgTrPanel().setWKT(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs().getWKT());
819
                                                String sour = (String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable,0);
820
                                                panel.getEpsgTrPanel().setSource(PluginServices.getText(this,sour),panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
821
822
                                                panel.getEpsgTrPanel().fillData((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
823
824
                                                panel.setManual_tr(false);
825
                                                panel.setEpsg_tr(true);
826
                                                panel.setNads_tr(false);
827
                                                panel.setRecents_tr(false);
828
                                                panel.setCompuesta_tr(false);
829
                                        } else if (option.equals("NADGR")) {
830
                                                panel.getNadsTrPanel().setWKT(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs().getWKT());
831
                                                String sour = (String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable,0);
832
                                                panel.getNadsTrPanel().setSourceAbrev(PluginServices.getText(this,sour), ""+panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
833
                                                panel.getNadsTrPanel().setCode(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
834
                                                panel.getNadsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
835
836
                                                panel.getNadsTrPanel().fillData((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
837
838
                                                panel.setManual_tr(false);
839
                                                panel.setEpsg_tr(false);
840
                                                panel.setNads_tr(true);
841
                                                panel.setRecents_tr(false);
842
                                                panel.setCompuesta_tr(false);
843
844
                                        } else if (option.equals("COMP")) {
845
                                                String sour = (String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable,0);
846
                                                panel.getCapaTrPanel().setCrs_source(PluginServices.getText(this,sour)+":"+panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
847
                                                panel.getVistaTrPanel().setCrs_source(PluginServices.getText(this,sour)+":"+panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCodeCRS());
848 18137 jlgomez
                                                panel.getCapaTrPanel().fillData();
849
                                                panel.getVistaTrPanel().fillData();
850 12469 jlgomez
                                                panel.getCapaTrPanel().fillData((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
851
                                                panel.getVistaTrPanel().fillData((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
852
                                                panel.setManual_tr(false);
853
                                                panel.setEpsg_tr(false);
854
                                                panel.setNads_tr(false);
855
                                                panel.setRecents_tr(false);
856
                                                panel.setCompuesta_tr(true);
857
858
                                        }
859 12541 jlgomez
                                panel.getJButtonNext().setEnabled(true);
860 12521 jlgomez
                                panel.getJButtonAccept().setEnabled(true);
861 10301 dguerrero
                        }
862 12469 jlgomez
                        panel.getJComboOptions().setEnabled(true);
863 12521 jlgomez
864 10301 dguerrero
                }
865
                }
866
867
                if (e.getSource() == panel.getCrsMainPanel().getEpsgPanel().getJTable().getSelectionModel()){
868 12408 jlgomez
                        String[] not_soported = {"engineering", "vertical", "compound", "geocentric", "geographic 3D"};
869 10301 dguerrero
                        boolean soported = true;
870 12408 jlgomez
                        boolean soported2 = false;
871 10301 dguerrero
                        ListSelectionModel lsm = (ListSelectionModel)e.getSource();
872
                        if (lsm.isSelectionEmpty()) {
873
                                panel.getCrsMainPanel().getEpsgPanel().selectedRowTable = -1;
874
                                panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(-1);
875
                        panel.getJButtonAccept().setEnabled(false);
876
                        panel.getCrsMainPanel().getEpsgPanel().getInfoCrs().setEnabled(false);
877
                        panel.getJComboOptions().setEnabled(false);
878 12521 jlgomez
                        panel.getJButtonNext().setEnabled(false);
879 10301 dguerrero
                        panel.getJComboOptions().setSelectedIndex(0);
880
                        }
881
                        else {
882
                                panel.getCrsMainPanel().getEpsgPanel().selectedRowTable = lsm.getMinSelectionIndex();
883
                        String crs_kind = (String)panel.getCrsMainPanel().getEpsgPanel().sorter.getValueAt(panel.getCrsMainPanel().getEpsgPanel().selectedRowTable,2);
884
                        for (int i = 0; i < not_soported.length; i++) {
885
                                if (crs_kind.equals(not_soported[i]))
886
                                        soported = false;
887
                        }
888 12408 jlgomez
                        for (int i=0; i< valid_method_code.length;i++) {
889 13149 jlgomez
                                if (panel.getCrsMainPanel().getEpsgPanel().getProjectionCode((String)panel.getCrsMainPanel().getEpsgPanel().sorter.getValueAt(panel.getCrsMainPanel().getEpsgPanel().selectedRowTable,0)) == valid_method_code[i]) {
890 12408 jlgomez
                                        soported2 = true;
891
                                }
892
                        }
893
                        if (crs_kind.equals("geographic 2D")) {
894
                                soported2 = true;
895
                        }
896
                        if (soported && soported2){
897 10301 dguerrero
                                panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getEpsgPanel().sorter.getValueAt(panel.getCrsMainPanel().getEpsgPanel().selectedRowTable,0)));
898
                                panel.getCrsMainPanel().getEpsgPanel().setWKT();
899
                                panel.getJButtonAccept().setEnabled(true);
900
                            int base = panel.getCrsMainPanel().getEpsgPanel().getCodeCRS();
901
                                        //panel.compareDatum(panel.getCrsMainPanel().getEpsgPanel().getWKT());
902
                            IWindow activeWindow = PluginServices.getMDIManager().getActiveWindow();
903 32535 nbrodin
                            AbstractViewPanel activeView = null;
904
                                if(activeView instanceof AbstractViewPanel)
905
                                        activeView = (AbstractViewPanel) activeWindow;
906
                                else {
907
                                        IWindow[] windows = PluginServices.getMDIManager().getAllWindows();
908
                                            for (int i = 0; i < windows.length; i++) {
909
                                                        if(windows[i] instanceof AbstractViewPanel)
910
                                                                activeView = (AbstractViewPanel)windows[i];
911
                                                }
912
                                }
913 10301 dguerrero
                                    String authority = ((ICrs) activeView.getMapControl().getProjection()).getCrsWkt().getAuthority()[0];
914 12408 jlgomez
                            /*if (authority.equals("EPSG")){
915 10301 dguerrero
                                    panel.getJComboOptions().setEnabled(true);
916
                                    panel.getJButtonAccept().setEnabled(true);
917
                            }
918
                            else {
919
                                        panel.getJComboOptions().setSelectedIndex(0);
920
                                        panel.getJComboOptions().setEnabled(false);
921
                                        panel.getJButtonAccept().setEnabled(true);
922 12521 jlgomez
                                        panel.getJButtonAccept().setEnabled(true);
923
                                        panel.getJButtonNext().setEnabled(false);
924 12408 jlgomez
                                }        */
925
                                    panel.getJComboOptions().setEnabled(true);
926
                            panel.getJButtonAccept().setEnabled(true);
927 10301 dguerrero
                                panel.getCrsMainPanel().getEpsgPanel().getInfoCrs().setEnabled(true);
928
                        }
929
                        else {
930
                                JOptionPane.showMessageDialog(panel, PluginServices.getText(this,"crs_not_soported"), "Warning...",
931
                                                        JOptionPane.WARNING_MESSAGE);
932
                                panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(-1);
933
                                panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(0);
934
                                panel.getJButtonAccept().setEnabled(false);
935
                                panel.getCrsMainPanel().getEpsgPanel().getInfoCrs().setEnabled(false);
936
                        }
937
                    }
938
                }
939
940
                if (e.getSource() == panel.getCrsMainPanel().getIauPanel().getJTable().getSelectionModel()){
941
                        ListSelectionModel lsm = (ListSelectionModel)e.getSource();
942
                        String[] not_soported = {"Oblique_Cylindrical_Equal_Area"};
943
                        boolean soported = true;
944
                if (lsm.isSelectionEmpty()) {
945
                        panel.getCrsMainPanel().getIauPanel().selectedRowTable = -1;
946
                        panel.getCrsMainPanel().getIauPanel().setCodeCRS(-1);
947 12202 jlgomez
                        panel.getCrsMainPanel().getIauPanel().getInfoCrs().setEnabled(false);
948 10301 dguerrero
                        panel.getJButtonAccept().setEnabled(false);
949
                        panel.getJComboOptions().setEnabled(false);
950 12521 jlgomez
                        panel.getJButtonNext().setEnabled(false);
951 10301 dguerrero
                        panel.getJComboOptions().setSelectedIndex(0);
952
                }
953
                else {
954
                        panel.getCrsMainPanel().getIauPanel().selectedRowTable = lsm.getMinSelectionIndex();
955
                        panel.getCrsMainPanel().getIauPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getIauPanel().sorter.getValueAt(panel.getCrsMainPanel().getIauPanel().selectedRowTable,0)));
956
                        panel.getCrsMainPanel().getIauPanel().setWKT();
957
                        CrsWkt crs = new CrsWkt(panel.getCrsMainPanel().getIauPanel().getWKT());
958
                        String crs_kind = crs.getProjection();
959
                        for (int i = 0; i < not_soported.length; i++) {
960
                                if (crs_kind.equals(not_soported[i]))
961
                                        soported = false;
962
                        }
963
                        if (soported){
964 12202 jlgomez
                                panel.getCrsMainPanel().getIauPanel().getInfoCrs().setEnabled(true);
965 12408 jlgomez
                                panel.getJComboOptions().setEnabled(true);
966 10301 dguerrero
                                panel.getJButtonAccept().setEnabled(true);
967
                        }
968
                        else {
969
                                JOptionPane.showMessageDialog(panel, PluginServices.getText(this,"crs_not_soported"), "Warning...",
970
                                                        JOptionPane.WARNING_MESSAGE);
971
                                panel.getCrsMainPanel().getIauPanel().setCodeCRS(-1);
972
                                panel.getCrsMainPanel().getIauPanel().setCodeCRS(0);
973 12202 jlgomez
                                panel.getCrsMainPanel().getIauPanel().getInfoCrs().setEnabled(false);
974 12408 jlgomez
                                panel.getJComboOptions().setEnabled(false);
975 10301 dguerrero
                                panel.getJButtonAccept().setEnabled(false);
976
                        }
977
                }
978
                }
979
980
                if (e.getSource() == panel.getCrsMainPanel().getEsriPanel().getJTable().getSelectionModel()){
981
                        ListSelectionModel lsm = (ListSelectionModel)e.getSource();
982
                        String[] not_soported = {"Oblique_Cylindrical_Equal_Area"};
983
                        boolean soported = true;
984
                if (lsm.isSelectionEmpty()) {
985
                        panel.getCrsMainPanel().getEsriPanel().selectedRowTable = -1;
986
                        panel.getCrsMainPanel().getEsriPanel().setCodeCRS(-1);
987 12202 jlgomez
                        panel.getCrsMainPanel().getEsriPanel().getInfoCrs().setEnabled(false);
988 10301 dguerrero
                        panel.getJButtonAccept().setEnabled(false);
989
                        panel.getJComboOptions().setEnabled(false);
990 12521 jlgomez
                        panel.getJButtonNext().setEnabled(false);
991 10301 dguerrero
                        panel.getJComboOptions().setSelectedIndex(0);
992
                }
993
                else {
994
                        panel.getCrsMainPanel().getEsriPanel().selectedRowTable = lsm.getMinSelectionIndex();
995
                        panel.getCrsMainPanel().getEsriPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getEsriPanel().sorter.getValueAt(panel.getCrsMainPanel().getEsriPanel().selectedRowTable,0)));
996
                        panel.getCrsMainPanel().getEsriPanel().setWKT();
997
                        CrsWkt crs = new CrsWkt(panel.getCrsMainPanel().getEsriPanel().getWKT());
998
                        String crs_kind = crs.getProjection();
999
                        for (int i = 0; i < not_soported.length; i++) {
1000
                                if (crs_kind.equals(not_soported[i]))
1001
                                        soported = false;
1002
                        }
1003
                        if (soported){
1004 12202 jlgomez
                                panel.getCrsMainPanel().getEsriPanel().getInfoCrs().setEnabled(true);
1005 12408 jlgomez
                                panel.getJComboOptions().setEnabled(true);
1006 10301 dguerrero
                                panel.getJButtonAccept().setEnabled(true);
1007
                        }
1008
                        else {
1009
                                JOptionPane.showMessageDialog(panel, PluginServices.getText(this,"crs_not_soported"), "Warning...",
1010
                                                        JOptionPane.WARNING_MESSAGE);
1011
                                panel.getCrsMainPanel().getEsriPanel().setCodeCRS(-1);
1012
                                panel.getCrsMainPanel().getEsriPanel().setCodeCRS(0);
1013 12202 jlgomez
                                panel.getCrsMainPanel().getEsriPanel().getInfoCrs().setEnabled(false);
1014 12408 jlgomez
                                panel.getJComboOptions().setEnabled(false);
1015 10301 dguerrero
                                panel.getJButtonAccept().setEnabled(false);
1016
                        }
1017
                }
1018
                }
1019
1020 11546 jlgomez
                if (e.getSource() == panel.getCrsMainPanel().getNewCrsPanel().getJTable().getSelectionModel()){
1021
                        ListSelectionModel lsm = (ListSelectionModel)e.getSource();
1022
                        if (lsm.isSelectionEmpty()) {
1023
                        panel.getCrsMainPanel().getNewCrsPanel().selectedRowTable = -1;
1024
                        panel.getCrsMainPanel().getNewCrsPanel().setCodeCRS(-1);
1025 12202 jlgomez
                        panel.getCrsMainPanel().getNewCrsPanel().getInfoCrs().setEnabled(false);
1026 12408 jlgomez
                        panel.getCrsMainPanel().getNewCrsPanel().getBtnEditar().setEnabled(false);
1027
                        panel.getCrsMainPanel().getNewCrsPanel().getBtnEliminar().setEnabled(false);
1028 11546 jlgomez
                        panel.getJButtonAccept().setEnabled(false);
1029
                        panel.getJComboOptions().setEnabled(false);
1030 12521 jlgomez
                        panel.getJButtonNext().setEnabled(false);
1031 11546 jlgomez
                        panel.getJComboOptions().setSelectedIndex(0);
1032
                }
1033
                else {
1034
                        panel.getCrsMainPanel().getNewCrsPanel().selectedRowTable = lsm.getMinSelectionIndex();
1035
                        panel.getCrsMainPanel().getNewCrsPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getNewCrsPanel().sorter.getValueAt(panel.getCrsMainPanel().getNewCrsPanel().selectedRowTable,0)));
1036 12202 jlgomez
                        panel.getCrsMainPanel().getNewCrsPanel().getInfoCrs().setEnabled(true);
1037 11546 jlgomez
                        panel.getCrsMainPanel().getNewCrsPanel().setWKT();
1038 12408 jlgomez
                        panel.getCrsMainPanel().getNewCrsPanel().getBtnEditar().setEnabled(true);
1039
                        panel.getCrsMainPanel().getNewCrsPanel().getBtnEliminar().setEnabled(true);
1040
                        panel.getJComboOptions().setEnabled(true);
1041 11546 jlgomez
                        panel.getJButtonAccept().setEnabled(true);
1042
                }
1043
                }
1044 10301 dguerrero
1045 11546 jlgomez
1046 10301 dguerrero
                if (e.getSource() == panel.getEpsgTrPanel().getJTable().getSelectionModel()){
1047
                        ListSelectionModel lsm = (ListSelectionModel)e.getSource();
1048
                if (lsm.isSelectionEmpty()) {
1049
                        panel.getEpsgTrPanel().selectedRowTable = -1;
1050
                        panel.getJButtonAccept().setEnabled(false);
1051
                }
1052
                else {
1053
                        panel.getEpsgTrPanel().selectedRowTable = lsm.getMinSelectionIndex();
1054
                        panel.getEpsgTrPanel().setTrasformation_code(Integer.parseInt((String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,0)));
1055
                    String sentence = "SELECT target_crs_code " +
1056
                                                                "FROM epsg_coordoperation " +
1057
                                                                "WHERE coord_op_code = " + panel.getEpsgTrPanel().getTransformation_code() ;
1058
                    ResultSet result = Query.select(sentence,panel.getEpsgTrPanel().connect.getConnection());
1059
                    try {
1060
                                        result.next();
1061
                                        int tar = result.getInt("target_crs_code");
1062
                                        if (tar == panel.getEpsgTrPanel().crs_target)
1063
                                                panel.getEpsgTrPanel().inverseTranformation = false;
1064
                                        else panel.getEpsgTrPanel().inverseTranformation = true;
1065
                                } catch (SQLException e1) {
1066
                                        e1.printStackTrace();
1067
                                }
1068
                                panel.getJButtonAccept().setEnabled(true);
1069
                }
1070
                }
1071
1072
                /*
1073
                 * una vez cambiamos la transformacion a elegir, habra que ver que parametros
1074
                 * tenemos que definir para que cuando aceptemos hayan sido definidos
1075
                 * anteriormente
1076
                 */
1077
                if (e.getSource() == panel.getRecentsTrPanel().getJTable().getSelectionModel()){
1078
                        ListSelectionModel lsm = (ListSelectionModel)e.getSource();
1079
                if (lsm.isSelectionEmpty()) {
1080
                        panel.getRecentsTrPanel().selectedRowTable = -1;
1081
                        panel.getRecentsTrPanel().setCode(0);
1082
                        panel.getJButtonAccept().setEnabled(false);
1083
                        panel.getRecentsTrPanel().getJButtonInfo().setEnabled(false);
1084
                }
1085
                else {
1086
                        panel.getRecentsTrPanel().selectedRowTable = lsm.getMinSelectionIndex();
1087
                        String[] cad = ((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,2)).split(":");
1088
                        panel.getRecentsTrPanel().setCode(Integer.parseInt(cad[1]));
1089
                        String[] transformation = ((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).split(":");
1090
                        if (transformation[0].equals("EPSG")){
1091 18137 jlgomez
                                panel.getRecentsTrPanel().setTrCode(Integer.parseInt(transformation[1]));
1092
                                        String sentence = "SELECT target_crs_code " +
1093
                                                                        "FROM epsg_coordoperation " +
1094
                                                                        "WHERE coord_op_code = " + panel.getRecentsTrPanel().getTrCode();
1095
                                    ResultSet result = Query.select(sentence,panel.getRecentsTrPanel().connect.getConnection());
1096
1097
                                        try {
1098
                                                result.next();
1099
                                                int tar = result.getInt("target_crs_code");
1100
                                                int crs_target = Integer.parseInt(((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,3)).split(":")[1]);
1101
                                                int crs_base = -1;
1102
                                                sentence = "SELECT source_geogcrs_code " +
1103
                                                                  "FROM epsg_coordinatereferencesystem " +
1104
                                      "WHERE coord_ref_sys_code = " + crs_target;
1105
                                                result = Query.select(sentence,panel.getRecentsTrPanel().connect.getConnection());
1106
                                                try {
1107
                                                        result.next();
1108
                                                        crs_base = result.getInt("source_geogcrs_code");
1109
                                                } catch (SQLException e1) {
1110
                                                        crs_base = -1;
1111
                                                }
1112
1113
                                                if (tar == crs_target || tar == crs_base)
1114
                                                        panel.getRecentsTrPanel().setInverseTransformation(false);
1115
                                                else panel.getRecentsTrPanel().setInverseTransformation(true);
1116
                                                } catch (SQLException e1) {
1117
                                                        // TODO Auto-generated catch block
1118
                                                        e1.printStackTrace();
1119
                                                }
1120 10301 dguerrero
                        }
1121
                        panel.getRecentsTrPanel().getJButtonInfo().setEnabled(true);
1122
                        panel.getJButtonAccept().setEnabled(true);
1123
                }
1124
                }
1125
        }
1126 12469 jlgomez
1127
        /**
1128
         * Metodo que sirve para cuando seleccionamos un crs con transformacion
1129
         * salga en el combobox de las transformaciones la reciente utilizada
1130
         * y actualizada
1131
         * @return
1132
         */
1133
        private String getCorrectItem (){
1134
                String item = ((String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable, 3));
1135
                if (item.startsWith(PluginServices.getText(this, "EPSG"))) {
1136
                        panel.getJComboOptions().setSelectedIndex(2);
1137
                        return "EPSG";
1138
                }
1139
                else if (item.startsWith(PluginServices.getText(this, "NADGR"))) {
1140
                        panel.getJComboOptions().setSelectedIndex(5);
1141
                        return "NADGR";
1142
                }
1143
                else if (item.startsWith(PluginServices.getText(this, "USR"))) {
1144
                        panel.getJComboOptions().setSelectedIndex(3);
1145
                        return "USR";
1146
                }
1147
                else if (item.startsWith(PluginServices.getText(this, "COMP"))) {
1148
                        panel.getJComboOptions().setSelectedIndex(4);
1149
                        return "COMP";
1150
                }
1151
                return "";
1152
        }
1153 10301 dguerrero
1154
        /**
1155 11458 jlgomez
         * Manejador de los eventos relacionados con el cambio de opcin
1156
         * dentro del combobox de eleccin de repositorio, y del combobox
1157
         * de eleccin del archivo .gsb para el panel de transformacin
1158 10301 dguerrero
         * de nadgrids.
1159
         */
1160
        public void itemStateChanged(ItemEvent e) {
1161
                if (e.getSource() == panel.getCrsMainPanel().getJComboOptions()) {
1162
                        CardLayout cl = (CardLayout)(panel.getCrsMainPanel().getJPanelMain().getLayout());
1163
                        String op = (String)e.getItem();
1164
                        if (op.equals("EPSG")){
1165 12408 jlgomez
                                String[] not_soported = {"engineering", "vertical", "compound", "geocentric", "geographic 3D"};
1166 13149 jlgomez
1167 10301 dguerrero
                                boolean soported = true;
1168 12408 jlgomez
                                boolean soported2 = false;
1169 10301 dguerrero
                                panel.getCrsMainPanel().getEpsgPanel().connection();
1170
                                if(panel.getCrsMainPanel().getEpsgPanel().getJTable().getSelectedRowCount()>0) {
1171
                                        panel.getCrsMainPanel().getEpsgPanel().selectedRowTable = panel.getCrsMainPanel().getEpsgPanel().getJTable().getSelectedRow();
1172
                                String crs_kind = (String)panel.getCrsMainPanel().getEpsgPanel().sorter.getValueAt(panel.getCrsMainPanel().getEpsgPanel().selectedRowTable,2);
1173
                                for (int i = 0; i < not_soported.length; i++) {
1174
                                        if (crs_kind.equals(not_soported[i]))
1175
                                                soported = false;
1176
                                }
1177 12408 jlgomez
                                for (int i=0; i< valid_method_code.length;i++) {
1178 13149 jlgomez
                                        if (panel.getCrsMainPanel().getEpsgPanel().getProjectionCode((String)panel.getCrsMainPanel().getEpsgPanel().sorter.getValueAt(panel.getCrsMainPanel().getEpsgPanel().selectedRowTable,0)) == valid_method_code[i]) {
1179 12408 jlgomez
                                                soported2 = true;
1180
                                        }
1181
                                }
1182
                                if (crs_kind.equals("geographic 2D")) {
1183
                                        soported2 = true;
1184
                                }
1185
                                if (soported && soported2){
1186 10301 dguerrero
                                        panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getEpsgPanel().sorter.getValueAt(panel.getCrsMainPanel().getEpsgPanel().selectedRowTable,0)));
1187
                                        panel.getCrsMainPanel().getEpsgPanel().setWKT();
1188
                                        panel.getJButtonAccept().setEnabled(true);
1189
                                    int base = panel.getCrsMainPanel().getEpsgPanel().getCodeCRS();
1190
                                                //panel.compareDatum(panel.getCrsMainPanel().getEpsgPanel().getWKT());
1191
                                    panel.getJComboOptions().setEnabled(true);
1192 12408 jlgomez
                                    if (panel.getJComboOptions().getSelectedIndex() > 0) {
1193 12521 jlgomez
                                                    panel.getJButtonAccept().setEnabled(false);
1194 12408 jlgomez
                                                        panel.getJButtonNext().setEnabled(true);
1195 12521 jlgomez
                                                        panel.getJButtonNext().setEnabled(true);
1196 12408 jlgomez
                                            } else {
1197
                                                    panel.getJButtonAccept().setEnabled(true);
1198 12521 jlgomez
                                                    panel.getJButtonAccept().setEnabled(true);
1199
                                                        panel.getJButtonNext().setEnabled(false);
1200 12408 jlgomez
                                            }
1201
                                        //panel.getJButtonAccept().setEnabled(true);
1202 10301 dguerrero
                                        panel.getCrsMainPanel().getEpsgPanel().getInfoCrs().setEnabled(true);
1203
                                }
1204
                                else {
1205
                                        JOptionPane.showMessageDialog(panel, PluginServices.getText(this,"crs_not_soported"), "Warning...",
1206
                                                                JOptionPane.WARNING_MESSAGE);
1207
                                        panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(-1);
1208
                                        panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(0);
1209
                                        panel.getJButtonAccept().setEnabled(false);
1210
                                        panel.getCrsMainPanel().getEpsgPanel().getInfoCrs().setEnabled(false);
1211
                                }
1212
                                }
1213
                                else{
1214 12521 jlgomez
                                        panel.getJButtonNext().setEnabled(false);
1215 10301 dguerrero
                                        panel.getJComboOptions().setEnabled(false);
1216
                                        panel.getJComboOptions().setSelectedIndex(0);
1217
                                        panel.getJButtonAccept().setEnabled(false);
1218
                                }
1219
                        } else if (op.equals("IAU2000")) {
1220
                                panel.getCrsMainPanel().getIauPanel().connection();
1221
                                if(panel.getCrsMainPanel().getIauPanel().getJTable().getSelectedRowCount()>0) {
1222
                                        panel.getCrsMainPanel().getIauPanel().selectedRowTable = panel.getCrsMainPanel().getIauPanel().getJTable().getSelectedRow();;
1223
                                panel.getCrsMainPanel().getIauPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getIauPanel().sorter.getValueAt(panel.getCrsMainPanel().getIauPanel().selectedRowTable,0)));
1224
                                panel.getCrsMainPanel().getIauPanel().setWKT();
1225 12408 jlgomez
                                    panel.getJComboOptions().setEnabled(true);
1226
                                    if (panel.getJComboOptions().getSelectedIndex() > 0) {
1227 12521 jlgomez
                                            panel.getJButtonAccept().setEnabled(false);
1228 12408 jlgomez
                                                panel.getJButtonNext().setEnabled(true);
1229 12521 jlgomez
                                                panel.getJButtonNext().setEnabled(true);
1230 12408 jlgomez
                                    } else {
1231
                                            panel.getJButtonAccept().setEnabled(true);
1232 12521 jlgomez
                                            panel.getJButtonAccept().setEnabled(true);
1233
                                                panel.getJButtonNext().setEnabled(false);
1234 12408 jlgomez
                                    }
1235
                                    //panel.getJButtonAccept().setEnabled(true);
1236 12521 jlgomez
                                        //panel.getJButtonNext().setEnabled(false);
1237 10301 dguerrero
                                }
1238
                                else {
1239 12521 jlgomez
                                        panel.getJButtonNext().setEnabled(false);
1240 10301 dguerrero
                                        panel.getJComboOptions().setEnabled(false);
1241
                                        panel.getJComboOptions().setSelectedIndex(0);
1242
                                        panel.getJButtonAccept().setEnabled(false);
1243
                                }
1244
                        }
1245
                        else if (op.equals("Recientes")) {
1246 12408 jlgomez
                                if(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getJTable().getSelectedRowCount()>0) {
1247
                                        panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().initCrs();
1248
                                String sour =  panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs().getCrsWkt().getAuthority()[0]; //(String)panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().selectedRowTable,0);
1249 10301 dguerrero
                                IWindow activeWindow = PluginServices.getMDIManager().getActiveWindow();
1250 32535 nbrodin
                                AbstractViewPanel activeView = null;
1251
                                if(activeView instanceof AbstractViewPanel)
1252
                                        activeView = (AbstractViewPanel) activeWindow;
1253
                                else {
1254
                                        IWindow[] windows = PluginServices.getMDIManager().getAllWindows();
1255
                                            for (int i = 0; i < windows.length; i++) {
1256
                                                        if(windows[i] instanceof AbstractViewPanel)
1257
                                                                activeView = (AbstractViewPanel)windows[i];
1258
                                                }
1259
                                }
1260 10301 dguerrero
                                    String authority = ((ICrs) activeView.getMapControl().getProjection()).getCrsWkt().getAuthority()[0];
1261 12408 jlgomez
                                /*if (sour.equals("EPSG") && authority.equals("EPSG")){
1262
                                        //panel.compareDatum(panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getCrs().getWKT());
1263 10301 dguerrero
                                        panel.getJComboOptions().setEnabled(true);
1264
                                        panel.getJButtonAccept().setEnabled(true);
1265
                                }
1266
                                else {
1267
                                        panel.getJComboOptions().setSelectedIndex(0);
1268
                                        panel.getJComboOptions().setEnabled(false);
1269
                                        panel.getJButtonAccept().setEnabled(true);
1270 12521 jlgomez
                                        panel.getJButtonAccept().setEnabled(true);
1271
                                        panel.getJButtonNext().setEnabled(false);
1272 12408 jlgomez
                                }        */
1273
                                    panel.getJComboOptions().setEnabled(true);
1274
                                    if (panel.getJComboOptions().getSelectedIndex() > 0) {
1275 12521 jlgomez
                                            panel.getJButtonAccept().setEnabled(false);
1276 12408 jlgomez
                                                panel.getJButtonNext().setEnabled(true);
1277 12521 jlgomez
                                                panel.getJButtonNext().setEnabled(true);
1278 12408 jlgomez
                                    } else {
1279
                                            panel.getJButtonAccept().setEnabled(true);
1280 12521 jlgomez
                                            panel.getJButtonNext().setEnabled(false);
1281 12408 jlgomez
                                    }
1282
                                //panel.getJButtonAccept().setEnabled(true);
1283 10301 dguerrero
                                }
1284
                                else {
1285 12521 jlgomez
                                        panel.getJButtonNext().setEnabled(false);
1286 10301 dguerrero
                                        panel.getJComboOptions().setEnabled(false);
1287
                                        panel.getJComboOptions().setSelectedIndex(0);
1288
                                        panel.getJButtonAccept().setEnabled(false);
1289
                                }
1290
                        }
1291
                        else if (op.equals("ESRI")) {
1292
                                panel.getCrsMainPanel().getEsriPanel().connection();
1293
                                if(panel.getCrsMainPanel().getEsriPanel().getJTable().getSelectedRowCount()>0) {
1294
                                        panel.getCrsMainPanel().getEsriPanel().selectedRowTable = panel.getCrsMainPanel().getEsriPanel().getJTable().getSelectedRow();;
1295
                                panel.getCrsMainPanel().getEsriPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getEsriPanel().sorter.getValueAt(panel.getCrsMainPanel().getEsriPanel().selectedRowTable,0)));
1296
                                panel.getCrsMainPanel().getEsriPanel().setWKT();
1297 12408 jlgomez
                                    panel.getJComboOptions().setEnabled(true);
1298
                                    if (panel.getJComboOptions().getSelectedIndex() > 0) {
1299 12521 jlgomez
                                            panel.getJButtonAccept().setEnabled(false);
1300 12408 jlgomez
                                                panel.getJButtonNext().setEnabled(true);
1301
                                    } else {
1302
                                            panel.getJButtonAccept().setEnabled(true);
1303 12521 jlgomez
                                            panel.getJButtonNext().setEnabled(false);
1304 12408 jlgomez
                                    }
1305
                                    //panel.getJButtonAccept().setEnabled(true);
1306 12521 jlgomez
                                        //panel.getJButtonNext().setEnabled(false);
1307 10301 dguerrero
                                }
1308
                                else {
1309 12521 jlgomez
                                        panel.getJButtonNext().setEnabled(false);
1310 10301 dguerrero
                                        panel.getJComboOptions().setEnabled(false);
1311
                                        panel.getJComboOptions().setSelectedIndex(0);
1312
                                        panel.getJButtonAccept().setEnabled(false);
1313
                                }
1314
                        }
1315 11546 jlgomez
1316
                        else if (op.equals(PluginServices.getText(this, "newCRS"))) {
1317
                                panel.getCrsMainPanel().getNewCrsPanel().connection();
1318
                                if(panel.getCrsMainPanel().getNewCrsPanel().getJTable().getSelectedRowCount()>0) {
1319 12408 jlgomez
                                        if (panel.getCrsMainPanel().getNewCrsPanel().getSearchTextField().getText().equals(""))
1320
                                                panel.getCrsMainPanel().getNewCrsPanel().initializeTable();
1321 11546 jlgomez
                                        panel.getCrsMainPanel().getNewCrsPanel().selectedRowTable = panel.getCrsMainPanel().getNewCrsPanel().getJTable().getSelectedRow();;
1322
                                panel.getCrsMainPanel().getNewCrsPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getNewCrsPanel().sorter.getValueAt(panel.getCrsMainPanel().getNewCrsPanel().selectedRowTable,0)));
1323
                                panel.getCrsMainPanel().getNewCrsPanel().setWKT();
1324 12408 jlgomez
                                    panel.getJComboOptions().setEnabled(true);
1325
                                    if (panel.getJComboOptions().getSelectedIndex() > 0) {
1326 12521 jlgomez
                                            panel.getJButtonAccept().setEnabled(false);
1327 12408 jlgomez
                                                panel.getJButtonNext().setEnabled(true);
1328
                                    } else {
1329
                                            panel.getJButtonAccept().setEnabled(true);
1330 12521 jlgomez
                                            panel.getJButtonNext().setEnabled(false);
1331 12408 jlgomez
                                    }
1332 11546 jlgomez
                                }
1333
                                else {
1334 12521 jlgomez
                                        panel.getJButtonNext().setEnabled(false);
1335 11546 jlgomez
                                        panel.getJComboOptions().setEnabled(false);
1336
                                        panel.getJComboOptions().setSelectedIndex(0);
1337
                                        panel.getJButtonAccept().setEnabled(false);
1338
                                }
1339
                        }
1340 10301 dguerrero
                    cl.show(panel.getCrsMainPanel().getJPanelMain(), (String)e.getItem());
1341
                    panel.getCrsMainPanel().setDataSource((String)e.getItem());
1342
                }
1343
1344
            if (e.getSource() == panel.getNadsTrPanel().getJComboNadFile()){
1345
                        if (panel.getNadsTrPanel().getJComboNadFile().getSelectedIndex()!=0){
1346
                                panel.getNadsTrPanel().setNadFile(panel.getNadsTrPanel().getJComboNadFile().getSelectedItem().toString());//nadFile = getJComboNadFile().getSelectedItem().toString();
1347
                                panel.getNadsTrPanel().getTreePanel().setRoot(PluginServices.getText(this,"grids_en")+": "+panel.getNadsTrPanel().getNadFile());//nadFile);
1348
                                panel.getNadsTrPanel().initializeTree();
1349
                                // Guardar en persistencia nadFile:
1350
                                panel.getNadsTrPanel().saveNadFileName(panel.getNadsTrPanel().getNadFile());//nadFile);
1351
                                panel.getJButtonAccept().setEnabled(true);
1352
                        }
1353
                        else{
1354
                                panel.getNadsTrPanel().setNadFile(null);//nadFile = null;
1355
                                panel.getNadsTrPanel().getTreePanel().setRoot("");
1356
                                panel.getJButtonAccept().setEnabled(false);
1357
                        }
1358
1359
                }
1360
        }
1361
1362
        /**
1363 11458 jlgomez
         * Mtodo para manejar el doble click sobre las tablas existentes en
1364
         * el panel de transformacin. Aceptar el CRS seleccionado, as como
1365
         * la transformacin en el caso de que elijamos transformacin EPSG.
1366 10301 dguerrero
         */
1367
        public void mouseClicked(MouseEvent e) {
1368
                // TODO Auto-generated method stub
1369 12521 jlgomez
                if (panel.getJButtonAccept().isEnabled()) {
1370 12408 jlgomez
                        if (e.getSource() == panel.getCrsMainPanel().getCrsAndTransformationRecentsPanel().getJTable()){
1371 10301 dguerrero
                                if (e.getClickCount() == 2){
1372
                                        if (panel.isEpsg_tr()) {
1373 11796 dguerrero
                                                TransEPSG epsgParams = new TransEPSG(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
1374 10301 dguerrero
                                                panel.getEpsgTrPanel().setValues(epsgParams.getParamValue());
1375
                                                panel.setProjection(panel.getEpsgTrPanel().getProjection());
1376
                                                panel.setEpsg_tr(false);
1377 18137 jlgomez
1378
                                                /*
1379
                                                 * Actualizar Transformaciones recientes
1380
                                                 */
1381
                                                String authority = "EPSG";
1382
                                            String name = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,1);
1383
                                            int code = panel.getEpsgTrPanel().getTransformation_code();
1384
                                            String crsSource = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getSource());
1385
                                            String crsTarget = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getTarget());
1386
                                            String details = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,5);
1387
                                            TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
1388 20637 dguerrero
                                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
1389 18137 jlgomez
                                            trPersistence.addTrData(trData);
1390 10301 dguerrero
1391
                                        }
1392
                                        else if (panel.isManual_tr()) {
1393 18137 jlgomez
                                                boolean domain = panel.getManualTrPanel().correctJTextField();
1394
                                                if (domain && panel.getManualTrPanel().correctDomain()){
1395
                                                        panel.setProjection(panel.getManualTrPanel().getProjection());
1396
                                                        panel.setManual_tr(false);
1397
                                                }
1398
                                                else if (!domain) {
1399
                                                        JOptionPane.showMessageDialog(panel,
1400
                                                                        PluginServices.getText(this,"numeric_format"),
1401
                                                                        "Warning...", JOptionPane.WARNING_MESSAGE);
1402
                                                        return;
1403
                                                }
1404
                                                else {
1405
                                                        JOptionPane.showMessageDialog(panel,
1406
                                                                        PluginServices.getText(this,"incorrect_domain"),
1407
                                                                        "Warning...", JOptionPane.WARNING_MESSAGE);
1408
                                                        return;
1409
                                                }
1410
1411
                                                /*
1412
                                                 * Actualizar Transformaciones recientes
1413
                                                 */
1414
                                                String authority = "USR";
1415
                                            String name = PluginServices.getText(this,"manual");
1416
                                            int code = 0;
1417
                                            String crsSource = panel.getManualTrPanel().getSourceAbrev();
1418
                                            String crsTarget = panel.getManualTrPanel().getTargetAbrev();
1419
                                            String details = panel.getManualTrPanel().getValues();
1420
1421
                                            TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
1422 20637 dguerrero
                                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
1423 18137 jlgomez
                                            trPersistence.addTrData(trData);
1424 10301 dguerrero
                                        }
1425
                                        else if (panel.isNads_tr()) {
1426
                                                panel.setProjection(panel.getNadsTrPanel().getProjection());
1427
                                                panel.setTargetNad(panel.getNadsTrPanel().getNad());
1428
                                                panel.setNads_tr(false);
1429 18137 jlgomez
1430
                                                /*
1431
                                                 * Actualizar Transformaciones recientes
1432
                                                 */
1433
                                                String authority = "NADGR";
1434
                                            String name = "----";
1435
                                            int code = 0;
1436
                                            String crsSource = panel.getNadsTrPanel().getSourceAbrev();
1437
                                            String crsTarget = panel.getNadsTrPanel().getTargetAbrev();
1438
                                            String details = "";
1439
                                            if (panel.getNadsTrPanel().getNad())
1440
                                                    details = panel.getNadsTrPanel().getNadFile()+ " ("+panel.getNadsTrPanel().getTargetAbrev() +")";
1441
                                            else
1442
                                                    details = panel.getNadsTrPanel().getNadFile()+ " ("+panel.getNadsTrPanel().getSourceAbrev() +")";
1443
                                            TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
1444 20637 dguerrero
                                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
1445 18137 jlgomez
                                            trPersistence.addTrData(trData);
1446 10301 dguerrero
                                        }
1447 18137 jlgomez
                                        /*
1448
                                         * Ver que es necesario cuando aceptas en el panel de transformaciones
1449
                                         * recientes.
1450
                                         */
1451
                                        else if (panel.isRecents_tr()) {
1452
                                                String[] transformation = ((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).split(":");
1453
                                                if (transformation[0].equals("USR")){
1454
                                                panel.getRecentsTrPanel().setParamsManual((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4));
1455
                                                panel.setProjection(panel.getRecentsTrPanel().getProjection());
1456
                                        }
1457
                                                if (transformation[0].equals("EPSG")){
1458
                                                        TransEPSG epsgParams = new TransEPSG(panel.getRecentsTrPanel().getTrCode(),panel.getRecentsTrPanel().connect, panel.getRecentsTrPanel().getInverseTransformation());
1459
                                                        panel.getRecentsTrPanel().setParamsEPGS(epsgParams.getParamValue());
1460
                                                        panel.setProjection(panel.getRecentsTrPanel().getProjection());
1461
                                        }
1462
                                                if (transformation[0].equals("NADGR")){
1463
                                                        panel.setProjection(panel.getRecentsTrPanel().getProjectionNad((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4)));
1464
                                                }
1465
                                                if (transformation[0].equals("COMP")) {
1466
                                                        panel.setProjection(panel.getRecentsTrPanel().getProjectionComplex((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4)));
1467
                                                }
1468
                                                //panel.setProjection(panel.getRecentsTrPanel().getProjection());
1469
                                                panel.setRecents_tr(false);
1470
1471
                                                /*
1472
                                                 * Actualizar Transformaciones recientes
1473
                                                 */
1474
                                                String authCode = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0);
1475
                                                String authority = authCode.split(":")[0];
1476
                                            String name = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,1);
1477
                                            int code = Integer.parseInt(authCode.split(":")[1]);
1478
                                            String crsSource = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,2);
1479
                                            String crsTarget = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,3);
1480
                                            String details = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4);
1481
                                            TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
1482 20637 dguerrero
                                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
1483 18137 jlgomez
                                            trPersistence.addTrData(trData);
1484
                                        }else if(panel.isCompuesta_tr()){
1485
                                                //Selecciona transformacin compuesta
1486
                                                //Mostrar el panel de transformacin de la Capa
1487
                                                panel.setProjection(panel.getVistaTrPanel().getProjection());
1488
                                                //panel.setTargetNad(panel.getNadsTrPanel().getNad());
1489
                                                panel.setCompuesta_tr(false);
1490
                                                panel.setVista_tr(false);
1491
1492
                                                /**
1493
                                                 * para actualizar las transformaciones recientes, tendremos
1494
                                                 * que coger las dos transformaciones utilizadas...
1495
                                                 */
1496
1497
                                                /*
1498
                                                 * Actualizar Transformaciones recientes
1499
                                                 */
1500
                                                String authorityLayer = null;
1501
                                            String nameLayer = null;
1502
                                            int codeLayer = 0;
1503
                                            String crsSourceLayer = null;
1504
                                            String crsTargetLayer = null;
1505
                                            String detailsLayer = "";
1506
1507
                                                if(panel.getCapaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"recents_transformation"))){
1508
                                                        String[] transform = ((String)panel.getCapaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getRecentsTrPanel().selectedRowTable,0)).split(":");
1509
1510
                                                        authorityLayer = PluginServices.getText(this, transform[0]);
1511
                                                        nameLayer = (String)panel.getCapaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getRecentsTrPanel().selectedRowTable,1);
1512
                                                        crsSourceLayer = (String)panel.getCapaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getRecentsTrPanel().selectedRowTable,2);
1513
                                                        crsTargetLayer = (String)panel.getCapaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getRecentsTrPanel().selectedRowTable,3);
1514
                                                        detailsLayer = (String)panel.getCapaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getRecentsTrPanel().selectedRowTable,4);
1515
                                                }
1516
                                                else if(panel.getCapaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"transformacion_epsg"))){
1517
                                                        authorityLayer = "EPSG";
1518
                                                    nameLayer = (String)panel.getCapaTrPanel().getEpsgTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getEpsgTrPanel().selectedRowTable,1);
1519
                                                    codeLayer = panel.getCapaTrPanel().getEpsgTrPanel().getTransformation_code();
1520
                                                    crsSourceLayer = "EPSG:"+String.valueOf(panel.getCapaTrPanel().getEpsgTrPanel().getSource());
1521
                                                    crsTargetLayer = "EPSG:"+String.valueOf(panel.getCapaTrPanel().getEpsgTrPanel().getTarget());
1522
                                                    detailsLayer = (String)panel.getCapaTrPanel().getEpsgTrPanel().sorter.getValueAt(panel.getCapaTrPanel().getEpsgTrPanel().selectedRowTable,5);
1523
1524
                                                }
1525
                                                else if(panel.getCapaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"transformacion_manual"))){
1526
                                                        authorityLayer = "USR";
1527
                                                    nameLayer = PluginServices.getText(this,"manual");
1528
                                                    codeLayer = 0;
1529
                                                    crsSourceLayer = panel.getCapaTrPanel().getManualTrPanel().getSourceAbrev();
1530
                                                    crsTargetLayer = panel.getCapaTrPanel().getManualTrPanel().getTargetAbrev();
1531
                                                    detailsLayer = panel.getCapaTrPanel().getManualTrPanel().getValues();
1532
                                                }
1533
                                                else if(panel.getCapaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"nadgrids"))){
1534
                                                        authorityLayer = "NADGR";
1535
                                                    nameLayer = "----";
1536
                                                    codeLayer = 0;
1537
                                                    crsSourceLayer = panel.getCapaTrPanel().getNadsTrPanel().getSourceAbrev();
1538
                                                    crsTargetLayer = panel.getCapaTrPanel().getNadsTrPanel().getTargetAbrev();
1539
                                                    detailsLayer = panel.getCapaTrPanel().getNadsTrPanel().getNadFile()+ " ("+panel.getCapaTrPanel().getNadsTrPanel().getSourceAbrev() +")";
1540
                                                }
1541
                                            TrData trDataLayer = new TrData(authorityLayer,codeLayer,nameLayer,crsSourceLayer,crsTargetLayer,detailsLayer);
1542
1543
                                            String authorityView = null;
1544
                                            String nameView = null;
1545
                                            int codeView = 0;
1546
                                            String crsSourceView = null;
1547
                                            String crsTargetView = null;
1548
                                            String detailsView = "";
1549
1550
                                                if(panel.getVistaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"recents_transformation"))){
1551
                                                        String[] transform = ((String)panel.getVistaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getRecentsTrPanel().selectedRowTable,0)).split(":");
1552
1553
                                                        authorityView = PluginServices.getText(this, transform[0]);
1554
                                                        nameView = (String)panel.getVistaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getRecentsTrPanel().selectedRowTable,1);
1555
                                                        crsSourceView = (String)panel.getVistaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getRecentsTrPanel().selectedRowTable,2);
1556
                                                        crsTargetView = (String)panel.getVistaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getRecentsTrPanel().selectedRowTable,3);
1557
                                                        detailsView = (String)panel.getVistaTrPanel().getRecentsTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getRecentsTrPanel().selectedRowTable,4);
1558
                                                }
1559
                                                else if(panel.getVistaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"transformacion_epsg"))){
1560
                                                        authorityView = "EPSG";
1561
                                                    nameView = (String)panel.getVistaTrPanel().getEpsgTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getEpsgTrPanel().selectedRowTable,1);
1562
                                                    codeView = panel.getVistaTrPanel().getEpsgTrPanel().getTransformation_code();
1563
                                                    crsSourceView = "EPSG:"+String.valueOf(panel.getVistaTrPanel().getEpsgTrPanel().getSource());
1564
                                                    crsTargetView = "EPSG:"+String.valueOf(panel.getVistaTrPanel().getEpsgTrPanel().getTarget());
1565
                                                    detailsView = (String)panel.getVistaTrPanel().getEpsgTrPanel().sorter.getValueAt(panel.getVistaTrPanel().getEpsgTrPanel().selectedRowTable,5);
1566
1567
                                                }
1568
                                                else if(panel.getVistaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"transformacion_manual"))){
1569
                                                        authorityView = "USR";
1570
                                                    nameView = PluginServices.getText(this,"manual");
1571
                                                    codeView = 0;
1572
                                                    crsSourceView = panel.getVistaTrPanel().getManualTrPanel().getSourceAbrev();
1573
                                                    crsTargetView = panel.getVistaTrPanel().getManualTrPanel().getTargetAbrev();
1574
                                                    detailsView = panel.getVistaTrPanel().getManualTrPanel().getValues();
1575
                                                }
1576
                                                else if(panel.getVistaTrPanel().getJComboOptions().getSelectedItem().equals(PluginServices.getText(this,"nadgrids"))){
1577
                                                        authorityView = "NADGR";
1578
                                                    nameView = "----";
1579
                                                    codeView = 0;
1580
                                                    crsSourceView = panel.getVistaTrPanel().getNadsTrPanel().getSourceAbrev();
1581
                                                    crsTargetView = panel.getVistaTrPanel().getNadsTrPanel().getTargetAbrev();
1582
                                                    detailsView = panel.getVistaTrPanel().getNadsTrPanel().getNadFile()+ " ("+panel.getVistaTrPanel().getNadsTrPanel().getTargetAbrev() +")";
1583
                                            }
1584
                                            TrData trDataView = new TrData(authorityView,codeView,nameView,crsSourceView,crsTargetView,detailsView);
1585
                                            CompTrData comp = new CompTrData(trDataLayer, trDataView);
1586 20637 dguerrero
                                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
1587 18137 jlgomez
                                            trPersistence.addTrData(comp);
1588
                                        }
1589 10301 dguerrero
                                        else{
1590
                                                panel.setSin_tr(true);
1591
                                                panel.setProjection(panel.getProjection());
1592
                                        }
1593
1594
                                    // * Actualizar recientes...
1595
1596
                                    String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0];
1597
                                    String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
1598
                                    int code = ((ICrs)panel.getProjection()).getCode();
1599
                                    CrsData crsData = new CrsData(authority,code,name);
1600 20637 dguerrero
                                    RecentCRSsPersistence persistence = new RecentCRSsPersistence();
1601 10301 dguerrero
                                    persistence.addCrsData(crsData);
1602
1603
                                        PluginServices.getMDIManager().closeWindow(panel);
1604
                                }
1605
                        }
1606
                        if (e.getSource() == panel.getCrsMainPanel().getEpsgPanel().getJTable()){
1607
                                if (e.getClickCount() == 2){
1608
                                        if (panel.isEpsg_tr()) {
1609 11796 dguerrero
                                                TransEPSG epsgParams = new TransEPSG(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
1610 10301 dguerrero
                                                panel.getEpsgTrPanel().setValues(epsgParams.getParamValue());
1611
                                                panel.setProjection(panel.getEpsgTrPanel().getProjection());
1612
                                                panel.setEpsg_tr(false);
1613
1614
                                                /*
1615
                                                 * Actualizar Transformaciones recientes
1616
                                                 */
1617
                                                String authority = "EPSG";
1618
                                            String name = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,1);
1619
                                            int code = panel.getEpsgTrPanel().getTransformation_code();
1620
                                            String crsSource = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getSource());
1621
                                            String crsTarget = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getTarget());
1622
                                            String details = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,5);;
1623
                                            TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
1624 20637 dguerrero
                                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
1625 10301 dguerrero
                                            trPersistence.addTrData(trData);
1626
                                        }
1627
                                        else if (panel.isManual_tr()) {
1628
                                                panel.setProjection(panel.getManualTrPanel().getProjection());
1629
                                                panel.setManual_tr(false);
1630
                                        }
1631
                                        else if (panel.isNads_tr()) {
1632
                                                panel.setProjection(panel.getNadsTrPanel().getProjection());
1633
                                                panel.setTargetNad(panel.getNadsTrPanel().getNad());
1634
                                                panel.setNads_tr(false);
1635
                                        }
1636
                                        else{
1637
                                                panel.setSin_tr(true);
1638
                                                panel.setProjection(panel.getProjection());
1639
                                        }
1640
1641
                                     //* Actualizar recientes...
1642
1643
                                    String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0];
1644
                                    String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
1645
                                    int code = ((ICrs)panel.getProjection()).getCode();
1646
                                    CrsData crsData = new CrsData(authority,code,name);
1647 20637 dguerrero
                                    RecentCRSsPersistence persistence = new RecentCRSsPersistence();
1648 10301 dguerrero
                                    persistence.addCrsData(crsData);
1649
1650
                                        PluginServices.getMDIManager().closeWindow(panel);
1651
                                }
1652
                        }
1653
                        if (e.getSource() == panel.getCrsMainPanel().getIauPanel().getJTable()){
1654
                                if (e.getClickCount() == 2){
1655
                                        if (panel.isEpsg_tr()) {
1656 11796 dguerrero
                                                TransEPSG epsgParams = new TransEPSG(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
1657 10301 dguerrero
                                                panel.getEpsgTrPanel().setValues(epsgParams.getParamValue());
1658
                                                panel.setProjection(panel.getEpsgTrPanel().getProjection());
1659
                                                panel.setEpsg_tr(false);
1660
                                        }
1661
                                        else if (panel.isManual_tr()) {
1662
                                                panel.setProjection(panel.getManualTrPanel().getProjection());
1663
                                                panel.setManual_tr(false);
1664
                                        }
1665
                                        else if (panel.isNads_tr()) {
1666
                                                panel.setProjection(panel.getNadsTrPanel().getProjection());
1667
                                                panel.setTargetNad(panel.getNadsTrPanel().getNad());
1668
                                                panel.setNads_tr(false);
1669
                                        }
1670
                                        else{
1671
                                                panel.setSin_tr(true);
1672
                                                panel.setProjection(panel.getProjection());
1673
                                        }
1674
1675
                                     //* Actualizar recientes...
1676
1677
                                    String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0];
1678
                                    String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
1679
                                    int code = ((ICrs)panel.getProjection()).getCode();
1680
                                    CrsData crsData = new CrsData(authority,code,name);
1681 20637 dguerrero
                                    RecentCRSsPersistence persistence = new RecentCRSsPersistence();
1682 10301 dguerrero
                                    persistence.addCrsData(crsData);
1683
1684
                                        PluginServices.getMDIManager().closeWindow(panel);
1685
                                }
1686
                        }
1687
                        if (e.getSource() == panel.getCrsMainPanel().getEsriPanel().getJTable()){
1688
                                if (e.getClickCount() == 2){
1689
                                        if (panel.isEpsg_tr()) {
1690 11796 dguerrero
                                                TransEPSG epsgParams = new TransEPSG(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
1691 10301 dguerrero
                                                panel.getEpsgTrPanel().setValues(epsgParams.getParamValue());
1692
                                                panel.setProjection(panel.getEpsgTrPanel().getProjection());
1693
                                                panel.setEpsg_tr(false);
1694
                                        }
1695
                                        else if (panel.isManual_tr()) {
1696
                                                panel.setProjection(panel.getManualTrPanel().getProjection());
1697
                                                panel.setManual_tr(false);
1698
                                        }
1699
                                        else if (panel.isNads_tr()) {
1700
                                                panel.setProjection(panel.getNadsTrPanel().getProjection());
1701
                                                panel.setTargetNad(panel.getNadsTrPanel().getNad());
1702
                                                panel.setNads_tr(false);
1703
                                        }
1704
                                        else{
1705
                                                panel.setSin_tr(true);
1706
                                                panel.setProjection(panel.getProjection());
1707
                                        }
1708
1709
                                     //* Actualizar recientes...
1710
1711
                                    String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0];
1712
                                    String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
1713
                                    int code = ((ICrs)panel.getProjection()).getCode();
1714
                                    CrsData crsData = new CrsData(authority,code,name);
1715 20637 dguerrero
                                    RecentCRSsPersistence persistence = new RecentCRSsPersistence();
1716 10301 dguerrero
                                    persistence.addCrsData(crsData);
1717
1718
                                        PluginServices.getMDIManager().closeWindow(panel);
1719
                                }
1720
                        }
1721 11546 jlgomez
                        if (e.getSource() == panel.getCrsMainPanel().getNewCrsPanel().getJTable()){
1722
                                if (e.getClickCount() == 2){
1723
                                        if (panel.isEpsg_tr()) {
1724 11796 dguerrero
                                                TransEPSG epsgParams = new TransEPSG(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
1725 11546 jlgomez
                                                panel.getEpsgTrPanel().setValues(epsgParams.getParamValue());
1726
                                                panel.setProjection(panel.getEpsgTrPanel().getProjection());
1727
                                                panel.setEpsg_tr(false);
1728
                                        }
1729
                                        else if (panel.isManual_tr()) {
1730
                                                panel.setProjection(panel.getManualTrPanel().getProjection());
1731
                                                panel.setManual_tr(false);
1732
                                        }
1733
                                        else if (panel.isNads_tr()) {
1734
                                                panel.setProjection(panel.getNadsTrPanel().getProjection());
1735
                                                panel.setTargetNad(panel.getNadsTrPanel().getNad());
1736
                                                panel.setNads_tr(false);
1737
                                        }
1738
                                        else{
1739
                                                panel.setSin_tr(true);
1740
                                                panel.setProjection(panel.getProjection());
1741
                                        }
1742
1743
                                     //* Actualizar recientes...
1744
1745
                                    String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0];
1746
                                    String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
1747
                                    int code = ((ICrs)panel.getProjection()).getCode();
1748
                                    CrsData crsData = new CrsData(authority,code,name);
1749 20637 dguerrero
                                    RecentCRSsPersistence persistence = new RecentCRSsPersistence();
1750 11546 jlgomez
                                    persistence.addCrsData(crsData);
1751
1752
                                        PluginServices.getMDIManager().closeWindow(panel);
1753
                                }
1754
                        }
1755 10301 dguerrero
                }
1756
                if (e.getSource() == panel.getEpsgTrPanel().getJTable()){
1757
                        if (e.getClickCount() == 2){
1758 11796 dguerrero
                                TransEPSG epsgParams = new TransEPSG(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
1759 10301 dguerrero
                                panel.getEpsgTrPanel().setValues(epsgParams.getParamValue());
1760
                                panel.setProjection(panel.getEpsgTrPanel().getProjection());
1761
                                panel.setEpsg_tr(false);
1762
1763
                                /*
1764
                                 * Actualizar Transformaciones recientes
1765
                                 */
1766
                                String authority = "EPSG";
1767
                            String name = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,1);
1768
                            int code = panel.getEpsgTrPanel().getTransformation_code();
1769
                            String crsSource = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getSource());
1770
                            String crsTarget = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getTarget());
1771
                            String details = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,5);;
1772
                            TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
1773 20637 dguerrero
                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
1774 10301 dguerrero
                            trPersistence.addTrData(trData);
1775
1776
                                /*
1777
                             * Actualizar Crss recientes...
1778
                             */
1779
                            authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0];
1780
                            name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
1781
                            code = ((ICrs)panel.getProjection()).getCode();
1782
                            CrsData crsData = new CrsData(authority,code,name);
1783 20637 dguerrero
                            RecentCRSsPersistence persistence = new RecentCRSsPersistence();
1784 10301 dguerrero
                            persistence.addCrsData(crsData);
1785
1786
                                PluginServices.getMDIManager().closeWindow(panel);
1787
                        }
1788
                }
1789
                if (e.getSource() == panel.getRecentsTrPanel().getJTable()){
1790
                        if (e.getClickCount() == 2){
1791 18137 jlgomez
                                String[] transf = ((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).split(":");
1792
                                if (transf[0].equals("USR")){
1793 10301 dguerrero
                                panel.getRecentsTrPanel().setParamsManual((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4));
1794
                                panel.setProjection(panel.getRecentsTrPanel().getProjection());
1795
                        }
1796 18137 jlgomez
                                if (transf[0].equals("EPSG")){
1797 11796 dguerrero
                                        TransEPSG epsgParams = new TransEPSG(panel.getRecentsTrPanel().getTrCode(),panel.getEpsgTrPanel().connect, panel.getRecentsTrPanel().getInverseTransformation());
1798 10301 dguerrero
                                        panel.getRecentsTrPanel().setParamsEPGS(epsgParams.getParamValue());
1799
                                        panel.setProjection(panel.getRecentsTrPanel().getProjection());
1800
                        }
1801 18137 jlgomez
                                if (transf[0].equals("NADGR")){
1802 10301 dguerrero
                                        panel.setProjection(panel.getRecentsTrPanel().getProjectionNad((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4)));
1803
                                }
1804
                                //panel.setProjection(panel.getRecentsTrPanel().getProjection());
1805
                                panel.setRecents_tr(false);
1806
1807
                                /*
1808
                                 * Actualizar Transformaciones recientes
1809
                                 */
1810
                                String authCode = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0);
1811
                                String authority = authCode.split(":")[0];
1812
                            String name = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,1);
1813
                            int code = Integer.parseInt(authCode.split(":")[1]);
1814
                            String crsSource = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,2);
1815
                            String crsTarget = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,3);
1816
                            String details = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4);
1817
                            TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
1818 20637 dguerrero
                            RecentTrsPersistence trPersistence = new RecentTrsPersistence();
1819 10301 dguerrero
                            trPersistence.addTrData(trData);
1820
1821
                                /*
1822
                             * Actualizar recientes...
1823
                             */
1824
                            authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0];
1825
                            name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
1826
                            code = ((ICrs)panel.getProjection()).getCode();
1827
                            CrsData crsData = new CrsData(authority,code,name);
1828 20637 dguerrero
                            RecentCRSsPersistence persistence = new RecentCRSsPersistence();
1829 10301 dguerrero
                            persistence.addCrsData(crsData);
1830
1831
                                PluginServices.getMDIManager().closeWindow(panel);
1832
                        }
1833
                }
1834
        }
1835
1836
        public void mouseEntered(MouseEvent e) {
1837 20637 dguerrero
                //
1838 10301 dguerrero
1839
        }
1840
1841
        public void mouseExited(MouseEvent e) {
1842
                // TODO Auto-generated method stub
1843
1844
        }
1845
1846
        public void mousePressed(MouseEvent e) {
1847
                // TODO Auto-generated method stub
1848
1849
        }
1850
1851
        public void mouseReleased(MouseEvent e) {
1852
                // TODO Auto-generated method stub
1853
1854
        }
1855
1856
        public void keyPressed(KeyEvent arg0) {
1857
                // TODO Auto-generated method stub
1858
1859
        }
1860
1861
        /**
1862 11458 jlgomez
         * Mtodo para cuando en la tranformacin manual, no se hayan insertado
1863
         * valores de transformacin, no se habilite el botn de aceptar.
1864 10301 dguerrero
         */
1865
        public void keyReleased(KeyEvent e) {
1866
                if(!panel.getManualTrPanel().getStatus())
1867
                        panel.getJButtonAccept().setEnabled(false);
1868
                else panel.getJButtonAccept().setEnabled(true);
1869
        }
1870
1871
        public void keyTyped(KeyEvent arg0) {
1872
                // TODO Auto-generated method stub
1873
1874
        }
1875
1876
}