root / branches / F2 / extensions / extJCRS / src / org / gvsig / crs / gui / listeners / CRSMainTrPanelListener.java @ 10786
History | View | Annotate | Download (46.8 KB)
1 | 10301 | dguerrero | /* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
|
---|---|---|---|
2 | *
|
||
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 | * Av. Blasco Ib??ez, 50
|
||
24 | * 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.Dimension; |
||
46 | import java.awt.FlowLayout; |
||
47 | import java.awt.GridLayout; |
||
48 | import java.awt.event.ActionEvent; |
||
49 | import java.awt.event.ActionListener; |
||
50 | import java.awt.event.ItemEvent; |
||
51 | import java.awt.event.ItemListener; |
||
52 | import java.awt.event.KeyEvent; |
||
53 | import java.awt.event.KeyListener; |
||
54 | import java.awt.event.MouseEvent; |
||
55 | import java.awt.event.MouseListener; |
||
56 | import java.sql.ResultSet; |
||
57 | import java.sql.SQLException; |
||
58 | |||
59 | import javax.swing.JComboBox; |
||
60 | import javax.swing.JOptionPane; |
||
61 | import javax.swing.ListSelectionModel; |
||
62 | import javax.swing.event.ListSelectionEvent; |
||
63 | import javax.swing.event.ListSelectionListener; |
||
64 | |||
65 | import org.gvsig.crs.CrsWkt; |
||
66 | import org.gvsig.crs.ICrs; |
||
67 | import org.gvsig.crs.Query; |
||
68 | import org.gvsig.crs.gui.CRSMainTrPanel; |
||
69 | import org.gvsig.crs.gui.panels.InfoTransformationsRecentsPanel; |
||
70 | import org.gvsig.crs.ogr.GetTransepsg; |
||
71 | import org.gvsig.crs.persistence.CrsData; |
||
72 | import org.gvsig.crs.persistence.RecentCRSsPersistence; |
||
73 | import org.gvsig.crs.persistence.RecentTrsPersistence; |
||
74 | import org.gvsig.crs.persistence.TrData; |
||
75 | |||
76 | import com.iver.andami.PluginServices; |
||
77 | import com.iver.andami.ui.mdiManager.IWindow; |
||
78 | import com.iver.cit.gvsig.project.documents.view.gui.View; |
||
79 | |||
80 | /**
|
||
81 | * Esta clase contiene todos los listeners necesarios para el manejo
|
||
82 | * de los eventos del panel de elecci?n de CRS de la capa y de su
|
||
83 | * tranformaci?n.
|
||
84 | *
|
||
85 | * @author Diego Guerrero Sevilla (diego.guerrero@uclm.es)
|
||
86 | * @author Jos? Luis G?mez Mart?nez (jolugomar@gmail.com)
|
||
87 | *
|
||
88 | */
|
||
89 | |||
90 | public class CRSMainTrPanelListener implements ActionListener, |
||
91 | ListSelectionListener, ItemListener, MouseListener, KeyListener{ |
||
92 | |||
93 | private CRSMainTrPanel panel = null; |
||
94 | |||
95 | public CRSMainTrPanelListener(CRSMainTrPanel p) {
|
||
96 | panel=p; |
||
97 | } |
||
98 | |||
99 | /**
|
||
100 | * Manejador de los eventos relacionados con los botones del panel
|
||
101 | * de transformaci?n y al combobox de las transformaciones
|
||
102 | */
|
||
103 | public void actionPerformed(ActionEvent e) { |
||
104 | if( e.getSource() == panel.getJButtonAccept()){
|
||
105 | if (panel.isEpsg_tr()) {
|
||
106 | GetTransepsg epsgParams = new GetTransepsg(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
|
||
107 | panel.getEpsgTrPanel().setValues(epsgParams.getParamValue()); |
||
108 | panel.setProjection(panel.getEpsgTrPanel().getProjection()); |
||
109 | panel.setEpsg_tr(false);
|
||
110 | |||
111 | /*
|
||
112 | * Actualizar Transformaciones recientes
|
||
113 | */
|
||
114 | String authority = "EPSG"; |
||
115 | String name = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,1); |
||
116 | int code = panel.getEpsgTrPanel().getTransformation_code();
|
||
117 | String crsSource = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getSource()); |
||
118 | String crsTarget = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getTarget()); |
||
119 | String details = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,5); |
||
120 | TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
|
||
121 | RecentTrsPersistence trPersistence = new RecentTrsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
122 | trPersistence.addTrData(trData); |
||
123 | |||
124 | |||
125 | } |
||
126 | else if (panel.isManual_tr()) { |
||
127 | boolean domain = panel.getManualTrPanel().correctJTextField();
|
||
128 | if (domain && panel.getManualTrPanel().correctDomain()){
|
||
129 | panel.setProjection(panel.getManualTrPanel().getProjection()); |
||
130 | panel.setManual_tr(false);
|
||
131 | } |
||
132 | else if (!domain) { |
||
133 | JOptionPane.showMessageDialog(panel,
|
||
134 | PluginServices.getText(this,"numeric_format"), |
||
135 | "Warning...", JOptionPane.WARNING_MESSAGE); |
||
136 | return;
|
||
137 | } |
||
138 | else {
|
||
139 | JOptionPane.showMessageDialog(panel,
|
||
140 | PluginServices.getText(this,"incorrect_domain"), |
||
141 | "Warning...", JOptionPane.WARNING_MESSAGE); |
||
142 | return;
|
||
143 | } |
||
144 | |||
145 | /*
|
||
146 | * Actualizar Transformaciones recientes
|
||
147 | */
|
||
148 | String authority = "USR"; |
||
149 | String name = PluginServices.getText(this,"manual"); |
||
150 | int code = 0; |
||
151 | String crsSource = panel.getManualTrPanel().getSourceAbrev();
|
||
152 | String crsTarget = panel.getManualTrPanel().getTargetAbrev();
|
||
153 | String details = panel.getManualTrPanel().getValues();
|
||
154 | |||
155 | TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
|
||
156 | RecentTrsPersistence trPersistence = new RecentTrsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
157 | trPersistence.addTrData(trData); |
||
158 | |||
159 | } |
||
160 | else if (panel.isNads_tr()) { |
||
161 | panel.setProjection(panel.getNadsTrPanel().getProjection()); |
||
162 | panel.setTargetNad(panel.getNadsTrPanel().getNad()); |
||
163 | panel.setNads_tr(false);
|
||
164 | |||
165 | /*
|
||
166 | * Actualizar Transformaciones recientes
|
||
167 | */
|
||
168 | String authority = "NADGR"; |
||
169 | String name = "----"; |
||
170 | int code = 0; |
||
171 | String crsSource = panel.getNadsTrPanel().getSourceAbrev();
|
||
172 | String crsTarget = panel.getNadsTrPanel().getTargetAbrev();
|
||
173 | String details = ""; |
||
174 | if (panel.getNadsTrPanel().getNad())
|
||
175 | details = panel.getNadsTrPanel().getNadFile()+ " ("+panel.getNadsTrPanel().getTargetAbrev() +")"; |
||
176 | else
|
||
177 | details = panel.getNadsTrPanel().getNadFile()+ "("+panel.getNadsTrPanel().getSourceAbrev() +")"; |
||
178 | TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
|
||
179 | RecentTrsPersistence trPersistence = new RecentTrsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
180 | trPersistence.addTrData(trData); |
||
181 | } |
||
182 | /*
|
||
183 | * Ver que es necesario cuando aceptas en el panel de transformaciones
|
||
184 | * recientes.
|
||
185 | */
|
||
186 | else if (panel.isRecents_tr()) { |
||
187 | String[] transformation = ((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).split(":"); |
||
188 | if (transformation[0].equals("USR")){ |
||
189 | panel.getRecentsTrPanel().setParamsManual((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4)); |
||
190 | panel.setProjection(panel.getRecentsTrPanel().getProjection()); |
||
191 | } |
||
192 | if (transformation[0].equals("EPSG")){ |
||
193 | GetTransepsg epsgParams = new GetTransepsg(panel.getRecentsTrPanel().getTrCode(),panel.getEpsgTrPanel().connect, panel.getRecentsTrPanel().getInverseTransformation());
|
||
194 | panel.getRecentsTrPanel().setParamsEPGS(epsgParams.getParamValue()); |
||
195 | panel.setProjection(panel.getRecentsTrPanel().getProjection()); |
||
196 | } |
||
197 | if (transformation[0].equals("NADGR")){ |
||
198 | panel.setProjection(panel.getRecentsTrPanel().getProjectionNad((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4))); |
||
199 | } |
||
200 | //panel.setProjection(panel.getRecentsTrPanel().getProjection());
|
||
201 | panel.setRecents_tr(false);
|
||
202 | |||
203 | /*
|
||
204 | * Actualizar Transformaciones recientes
|
||
205 | */
|
||
206 | String authCode = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0); |
||
207 | String authority = authCode.split(":")[0]; |
||
208 | String name = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,1); |
||
209 | int code = Integer.parseInt(authCode.split(":")[1]); |
||
210 | String crsSource = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,2); |
||
211 | String crsTarget = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,3); |
||
212 | String details = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4); |
||
213 | TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
|
||
214 | RecentTrsPersistence trPersistence = new RecentTrsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
215 | trPersistence.addTrData(trData); |
||
216 | } |
||
217 | else{
|
||
218 | panel.setSin_tr(true);
|
||
219 | panel.setProjection(panel.getProjection()); |
||
220 | } |
||
221 | |||
222 | /*
|
||
223 | * Actualizar recientes...
|
||
224 | */
|
||
225 | String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0]; |
||
226 | String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
|
||
227 | int code = ((ICrs)panel.getProjection()).getCode();
|
||
228 | CrsData crsData = new CrsData(authority,code,name);
|
||
229 | RecentCRSsPersistence persistence = new RecentCRSsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
230 | persistence.addCrsData(crsData); |
||
231 | |||
232 | PluginServices.getMDIManager().closeWindow(panel); |
||
233 | } |
||
234 | |||
235 | if( e.getSource() == panel.getJButtonBefore()){
|
||
236 | CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout()); |
||
237 | cl.show(panel.getJPanelMain(), "primero");
|
||
238 | panel.setEpsg_tr(false);
|
||
239 | panel.setNads_tr(false);
|
||
240 | panel.setManual_tr(false);
|
||
241 | panel.setRecents_tr(false);
|
||
242 | panel.getJButtonNext().setVisible(true);
|
||
243 | panel.getJButtonAccept().setVisible(false);
|
||
244 | panel.getJButtonBefore().setEnabled(false);
|
||
245 | } |
||
246 | |||
247 | if( e.getSource() == panel.getJButtonCancel()){
|
||
248 | panel.setCancelYes(true);
|
||
249 | panel.setProjection(panel.getCrsfirst()); |
||
250 | PluginServices.getMDIManager().closeWindow(panel); |
||
251 | } |
||
252 | |||
253 | if( e.getSource() == panel.getJButtonNext()){
|
||
254 | panel.getJButtonNext().setVisible(false);
|
||
255 | panel.getJButtonAccept().setVisible(true);
|
||
256 | panel.getJButtonBefore().setEnabled(true);
|
||
257 | if (panel.getNewSelection().equals(PluginServices.getText(this,"transformacion_manual"))) { |
||
258 | CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout()); |
||
259 | if (panel.getDataSource().equals(PluginServices.getText(this,"EPSG"))){ |
||
260 | panel.getManualTrPanel().setWKT(panel.getCrsMainPanel().getEpsgPanel().getWKT()); |
||
261 | panel.getManualTrPanel().setCode(panel.getCrsMainPanel().getEpsgPanel().epsg_code); |
||
262 | panel.getManualTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority()); |
||
263 | } |
||
264 | else if (panel.getDataSource().equals(PluginServices.getText(this,"recientes"))) { |
||
265 | panel.getManualTrPanel().setWKT(panel.getCrsMainPanel().getRecentsPanel().getCrs().getWKT()); |
||
266 | panel.getManualTrPanel().setCode(panel.getCrsMainPanel().getRecentsPanel().getCodeCRS()); |
||
267 | panel.getManualTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority()); |
||
268 | } |
||
269 | if(!panel.getManualTrPanel().getStatus()) {
|
||
270 | panel.getJButtonAccept().setEnabled(false);
|
||
271 | } |
||
272 | panel.setManual_tr(true);
|
||
273 | cl.show(panel.getJPanelMain(), "manual");
|
||
274 | } |
||
275 | else if(panel.getNewSelection().equals(PluginServices.getText(this,"nadgrids"))){ |
||
276 | CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout()); |
||
277 | if (panel.getDataSource().equals(PluginServices.getText(this,"EPSG"))){ |
||
278 | panel.getNadsTrPanel().setWKT(panel.getCrsMainPanel().getEpsgPanel().getWKT()); |
||
279 | panel.getNadsTrPanel().setCode(panel.getCrsMainPanel().getEpsgPanel().epsg_code); |
||
280 | panel.getNadsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority()); |
||
281 | } |
||
282 | else if (panel.getDataSource().equals(PluginServices.getText(this,"recientes"))) { |
||
283 | panel.getNadsTrPanel().setWKT(panel.getCrsMainPanel().getRecentsPanel().getCrs().getWKT()); |
||
284 | panel.getNadsTrPanel().setCode(panel.getCrsMainPanel().getRecentsPanel().getCodeCRS()); |
||
285 | panel.getNadsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority()); |
||
286 | } |
||
287 | if (panel.getNadsTrPanel().getJComboNadFile().getSelectedIndex() == 0) |
||
288 | panel.getJButtonAccept().setEnabled(false);
|
||
289 | else panel.getJButtonAccept().setEnabled(true); |
||
290 | panel.setNads_tr(true);
|
||
291 | cl.show(panel.getJPanelMain(), "nad");
|
||
292 | } |
||
293 | else if(panel.getNewSelection().equals(PluginServices.getText(this,"transformacion_epsg"))){ |
||
294 | CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout()); |
||
295 | if (panel.getDataSource().equals(PluginServices.getText(this,"EPSG"))){ |
||
296 | panel.getEpsgTrPanel().setWKT(panel.getCrsMainPanel().getEpsgPanel().getWKT()); |
||
297 | panel.getEpsgTrPanel().setSource(panel.getCrsMainPanel().getEpsgPanel().epsg_code); |
||
298 | } |
||
299 | else if (panel.getDataSource().equals(PluginServices.getText(this,"recientes"))) { |
||
300 | panel.getEpsgTrPanel().setWKT(panel.getCrsMainPanel().getRecentsPanel().getCrs().getWKT()); |
||
301 | panel.getEpsgTrPanel().setSource(panel.getCrsMainPanel().getRecentsPanel().getCodeCRS()); |
||
302 | } |
||
303 | int numr = panel.getEpsgTrPanel().dtm.getRowCount();
|
||
304 | if (numr == 0 ) |
||
305 | panel.getJButtonAccept().setEnabled(false);
|
||
306 | panel.setEpsg_tr(true);
|
||
307 | cl.show(panel.getJPanelMain(), "epsg");
|
||
308 | } |
||
309 | /*
|
||
310 | * Parte necesaria para la transformacion reciente, cuando se vaya a cargar
|
||
311 | * el panel, tendremos que ver que hay que pasarle.
|
||
312 | */
|
||
313 | else if(panel.getNewSelection().equals(PluginServices.getText(this, "recents_transformation"))) { |
||
314 | CardLayout cl = (CardLayout)(panel.getJPanelMain().getLayout()); |
||
315 | if (panel.getDataSource().equals(PluginServices.getText(this,"EPSG"))){ |
||
316 | panel.getRecentsTrPanel().setWKT(panel.getCrsMainPanel().getEpsgPanel().getWKT()); |
||
317 | panel.getRecentsTrPanel().loadRecents(panel.getCrsMainPanel().getEpsgPanel().getCodeCRS(),Integer.parseInt(panel.getCrsWkt_target().getAuthority()[1])); |
||
318 | //panel.getRecentsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
|
||
319 | } |
||
320 | else if (panel.getDataSource().equals(PluginServices.getText(this,"recientes"))) { |
||
321 | panel.getRecentsTrPanel().setWKT(panel.getCrsMainPanel().getRecentsPanel().getCrs().getWKT()); |
||
322 | panel.getRecentsTrPanel().loadRecents(panel.getCrsMainPanel().getRecentsPanel().getCodeCRS(),Integer.parseInt(panel.getCrsWkt_target().getAuthority()[1])); |
||
323 | //panel.getRecentsTrPanel().setTargetAuthority(panel.getCrsWkt_target().getAuthority());
|
||
324 | } |
||
325 | |||
326 | int numr = panel.getRecentsTrPanel().dtm.getRowCount();
|
||
327 | if (numr == 0 ) |
||
328 | panel.getJButtonAccept().setEnabled(false);
|
||
329 | panel.setRecents_tr(true);
|
||
330 | cl.show(panel.getJPanelMain(), "recents");
|
||
331 | } |
||
332 | } |
||
333 | if( e.getSource() == panel.getJComboOptions()){
|
||
334 | JComboBox cb = (JComboBox)e.getSource(); |
||
335 | panel.setNewSelection((String)cb.getSelectedItem());
|
||
336 | if (panel.getNewSelection().equals(PluginServices.getText(this,"sin_transformacion"))){ |
||
337 | panel.getJButtonAccept().setVisible(true);
|
||
338 | panel.getJButtonNext().setVisible(false);
|
||
339 | } |
||
340 | else {
|
||
341 | panel.getJButtonAccept().setVisible(false);
|
||
342 | panel.getJButtonNext().setVisible(true);
|
||
343 | } |
||
344 | } |
||
345 | if( e.getSource() == panel.getRecentsTrPanel().getJButtonInfo()){
|
||
346 | String[] data = new String[5]; |
||
347 | data[0] = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0); |
||
348 | data[1] = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,1); |
||
349 | data[2] = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,2); |
||
350 | data[3] = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,3); |
||
351 | data[4] = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4); |
||
352 | |||
353 | 10786 | lmfernandez | //Mostrar el panel de informaci?n de las transformaciones recientes
|
354 | 10301 | dguerrero | InfoTransformationsRecentsPanel info = new InfoTransformationsRecentsPanel(data);
|
355 | PluginServices.getMDIManager().addWindow(info); |
||
356 | } |
||
357 | } |
||
358 | |||
359 | /**
|
||
360 | * Manejador de los eventos relacionados al cambio de valor
|
||
361 | * dentro de las tablas del panel de tranformaciones.
|
||
362 | */
|
||
363 | public void valueChanged(ListSelectionEvent e) { |
||
364 | if (e.getSource() == panel.getCrsMainPanel().getRecentsPanel().getJTable().getSelectionModel()){
|
||
365 | ListSelectionModel lsm = (ListSelectionModel)e.getSource(); |
||
366 | if (lsm.isSelectionEmpty()) {
|
||
367 | panel.getCrsMainPanel().getRecentsPanel().selectedRowTable = -1;
|
||
368 | panel.getCrsMainPanel().getRecentsPanel().setCodeCRS(-1);
|
||
369 | panel.getJButtonAccept().setEnabled(false);
|
||
370 | panel.getJComboOptions().setEnabled(false);
|
||
371 | panel.getJButtonNext().setVisible(false);
|
||
372 | panel.getJComboOptions().setSelectedIndex(0);
|
||
373 | } |
||
374 | else {
|
||
375 | panel.getCrsMainPanel().getRecentsPanel().initCrs(); |
||
376 | String sour = (String)panel.getCrsMainPanel().getRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getRecentsPanel().selectedRowTable,0); |
||
377 | IWindow activeWindow = PluginServices.getMDIManager().getActiveWindow(); |
||
378 | View activeView = (com.iver.cit.gvsig.project.documents.view.gui.View) activeWindow;
|
||
379 | String authority = ((ICrs) activeView.getMapControl().getProjection()).getCrsWkt().getAuthority()[0]; |
||
380 | if (sour.equals("EPSG") && authority.equals("EPSG")){ |
||
381 | //panel.compareDatum(panel.getCrsMainPanel().getRecentsPanel().getCrs().getWKT());
|
||
382 | panel.getJComboOptions().setEnabled(true);
|
||
383 | panel.getJButtonAccept().setEnabled(true);
|
||
384 | } |
||
385 | else {
|
||
386 | panel.getJComboOptions().setSelectedIndex(0);
|
||
387 | panel.getJComboOptions().setEnabled(false);
|
||
388 | panel.getJButtonAccept().setEnabled(true);
|
||
389 | panel.getJButtonAccept().setVisible(true);
|
||
390 | panel.getJButtonNext().setVisible(false);
|
||
391 | } |
||
392 | } |
||
393 | } |
||
394 | |||
395 | if (e.getSource() == panel.getCrsMainPanel().getEpsgPanel().getJTable().getSelectionModel()){
|
||
396 | String[] not_soported = {"engineering", "vertical", "compound", "geocentric"}; |
||
397 | boolean soported = true; |
||
398 | ListSelectionModel lsm = (ListSelectionModel)e.getSource(); |
||
399 | if (lsm.isSelectionEmpty()) {
|
||
400 | panel.getCrsMainPanel().getEpsgPanel().selectedRowTable = -1;
|
||
401 | panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(-1);
|
||
402 | panel.getJButtonAccept().setEnabled(false);
|
||
403 | panel.getCrsMainPanel().getEpsgPanel().getInfoCrs().setEnabled(false);
|
||
404 | panel.getJComboOptions().setEnabled(false);
|
||
405 | panel.getJButtonNext().setVisible(false);
|
||
406 | panel.getJComboOptions().setSelectedIndex(0);
|
||
407 | } |
||
408 | else {
|
||
409 | panel.getCrsMainPanel().getEpsgPanel().selectedRowTable = lsm.getMinSelectionIndex(); |
||
410 | String crs_kind = (String)panel.getCrsMainPanel().getEpsgPanel().sorter.getValueAt(panel.getCrsMainPanel().getEpsgPanel().selectedRowTable,2); |
||
411 | for (int i = 0; i < not_soported.length; i++) { |
||
412 | if (crs_kind.equals(not_soported[i]))
|
||
413 | soported = false;
|
||
414 | } |
||
415 | if (soported){
|
||
416 | panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getEpsgPanel().sorter.getValueAt(panel.getCrsMainPanel().getEpsgPanel().selectedRowTable,0))); |
||
417 | panel.getCrsMainPanel().getEpsgPanel().setWKT(); |
||
418 | panel.getJButtonAccept().setEnabled(true);
|
||
419 | int base = panel.getCrsMainPanel().getEpsgPanel().getCodeCRS();
|
||
420 | //panel.compareDatum(panel.getCrsMainPanel().getEpsgPanel().getWKT());
|
||
421 | IWindow activeWindow = PluginServices.getMDIManager().getActiveWindow(); |
||
422 | View activeView = (com.iver.cit.gvsig.project.documents.view.gui.View) activeWindow;
|
||
423 | String authority = ((ICrs) activeView.getMapControl().getProjection()).getCrsWkt().getAuthority()[0]; |
||
424 | if (authority.equals("EPSG")){ |
||
425 | panel.getJComboOptions().setEnabled(true);
|
||
426 | panel.getJButtonAccept().setEnabled(true);
|
||
427 | } |
||
428 | else {
|
||
429 | panel.getJComboOptions().setSelectedIndex(0);
|
||
430 | panel.getJComboOptions().setEnabled(false);
|
||
431 | panel.getJButtonAccept().setEnabled(true);
|
||
432 | panel.getJButtonAccept().setVisible(true);
|
||
433 | panel.getJButtonNext().setVisible(false);
|
||
434 | } |
||
435 | panel.getCrsMainPanel().getEpsgPanel().getInfoCrs().setEnabled(true);
|
||
436 | } |
||
437 | else {
|
||
438 | JOptionPane.showMessageDialog(panel, PluginServices.getText(this,"crs_not_soported"), "Warning...", |
||
439 | JOptionPane.WARNING_MESSAGE);
|
||
440 | panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(-1);
|
||
441 | panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(0);
|
||
442 | panel.getJButtonAccept().setEnabled(false);
|
||
443 | panel.getCrsMainPanel().getEpsgPanel().getInfoCrs().setEnabled(false);
|
||
444 | } |
||
445 | } |
||
446 | } |
||
447 | |||
448 | if (e.getSource() == panel.getCrsMainPanel().getIauPanel().getJTable().getSelectionModel()){
|
||
449 | ListSelectionModel lsm = (ListSelectionModel)e.getSource(); |
||
450 | String[] not_soported = {"Oblique_Cylindrical_Equal_Area"}; |
||
451 | boolean soported = true; |
||
452 | if (lsm.isSelectionEmpty()) {
|
||
453 | panel.getCrsMainPanel().getIauPanel().selectedRowTable = -1;
|
||
454 | panel.getCrsMainPanel().getIauPanel().setCodeCRS(-1);
|
||
455 | panel.getJButtonAccept().setEnabled(false);
|
||
456 | panel.getJComboOptions().setEnabled(false);
|
||
457 | panel.getJButtonNext().setVisible(false);
|
||
458 | panel.getJComboOptions().setSelectedIndex(0);
|
||
459 | } |
||
460 | else {
|
||
461 | panel.getCrsMainPanel().getIauPanel().selectedRowTable = lsm.getMinSelectionIndex(); |
||
462 | panel.getCrsMainPanel().getIauPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getIauPanel().sorter.getValueAt(panel.getCrsMainPanel().getIauPanel().selectedRowTable,0))); |
||
463 | panel.getCrsMainPanel().getIauPanel().setWKT(); |
||
464 | CrsWkt crs = new CrsWkt(panel.getCrsMainPanel().getIauPanel().getWKT());
|
||
465 | String crs_kind = crs.getProjection();
|
||
466 | for (int i = 0; i < not_soported.length; i++) { |
||
467 | if (crs_kind.equals(not_soported[i]))
|
||
468 | soported = false;
|
||
469 | } |
||
470 | if (soported){
|
||
471 | panel.getJComboOptions().setEnabled(false);
|
||
472 | panel.getJButtonAccept().setEnabled(true);
|
||
473 | } |
||
474 | else {
|
||
475 | JOptionPane.showMessageDialog(panel, PluginServices.getText(this,"crs_not_soported"), "Warning...", |
||
476 | JOptionPane.WARNING_MESSAGE);
|
||
477 | panel.getCrsMainPanel().getIauPanel().setCodeCRS(-1);
|
||
478 | panel.getCrsMainPanel().getIauPanel().setCodeCRS(0);
|
||
479 | panel.getJButtonAccept().setEnabled(false);
|
||
480 | } |
||
481 | } |
||
482 | } |
||
483 | |||
484 | if (e.getSource() == panel.getCrsMainPanel().getEsriPanel().getJTable().getSelectionModel()){
|
||
485 | ListSelectionModel lsm = (ListSelectionModel)e.getSource(); |
||
486 | String[] not_soported = {"Oblique_Cylindrical_Equal_Area"}; |
||
487 | boolean soported = true; |
||
488 | if (lsm.isSelectionEmpty()) {
|
||
489 | panel.getCrsMainPanel().getEsriPanel().selectedRowTable = -1;
|
||
490 | panel.getCrsMainPanel().getEsriPanel().setCodeCRS(-1);
|
||
491 | panel.getJButtonAccept().setEnabled(false);
|
||
492 | panel.getJComboOptions().setEnabled(false);
|
||
493 | panel.getJButtonNext().setVisible(false);
|
||
494 | panel.getJComboOptions().setSelectedIndex(0);
|
||
495 | } |
||
496 | else {
|
||
497 | panel.getCrsMainPanel().getEsriPanel().selectedRowTable = lsm.getMinSelectionIndex(); |
||
498 | panel.getCrsMainPanel().getEsriPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getEsriPanel().sorter.getValueAt(panel.getCrsMainPanel().getEsriPanel().selectedRowTable,0))); |
||
499 | panel.getCrsMainPanel().getEsriPanel().setWKT(); |
||
500 | CrsWkt crs = new CrsWkt(panel.getCrsMainPanel().getEsriPanel().getWKT());
|
||
501 | String crs_kind = crs.getProjection();
|
||
502 | for (int i = 0; i < not_soported.length; i++) { |
||
503 | if (crs_kind.equals(not_soported[i]))
|
||
504 | soported = false;
|
||
505 | } |
||
506 | if (soported){
|
||
507 | panel.getJComboOptions().setEnabled(false);
|
||
508 | panel.getJButtonAccept().setEnabled(true);
|
||
509 | } |
||
510 | else {
|
||
511 | JOptionPane.showMessageDialog(panel, PluginServices.getText(this,"crs_not_soported"), "Warning...", |
||
512 | JOptionPane.WARNING_MESSAGE);
|
||
513 | panel.getCrsMainPanel().getEsriPanel().setCodeCRS(-1);
|
||
514 | panel.getCrsMainPanel().getEsriPanel().setCodeCRS(0);
|
||
515 | panel.getJButtonAccept().setEnabled(false);
|
||
516 | } |
||
517 | } |
||
518 | } |
||
519 | |||
520 | |||
521 | if (e.getSource() == panel.getEpsgTrPanel().getJTable().getSelectionModel()){
|
||
522 | ListSelectionModel lsm = (ListSelectionModel)e.getSource(); |
||
523 | if (lsm.isSelectionEmpty()) {
|
||
524 | panel.getEpsgTrPanel().selectedRowTable = -1;
|
||
525 | panel.getJButtonAccept().setEnabled(false);
|
||
526 | } |
||
527 | else {
|
||
528 | panel.getEpsgTrPanel().selectedRowTable = lsm.getMinSelectionIndex(); |
||
529 | panel.getEpsgTrPanel().setTrasformation_code(Integer.parseInt((String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,0))); |
||
530 | String sentence = "SELECT target_crs_code " + |
||
531 | "FROM epsg_coordoperation " +
|
||
532 | "WHERE coord_op_code = " + panel.getEpsgTrPanel().getTransformation_code() ;
|
||
533 | ResultSet result = Query.select(sentence,panel.getEpsgTrPanel().connect.getConnection()); |
||
534 | try {
|
||
535 | result.next(); |
||
536 | int tar = result.getInt("target_crs_code"); |
||
537 | if (tar == panel.getEpsgTrPanel().crs_target)
|
||
538 | panel.getEpsgTrPanel().inverseTranformation = false;
|
||
539 | else panel.getEpsgTrPanel().inverseTranformation = true; |
||
540 | } catch (SQLException e1) { |
||
541 | e1.printStackTrace(); |
||
542 | } |
||
543 | panel.getJButtonAccept().setEnabled(true);
|
||
544 | } |
||
545 | } |
||
546 | |||
547 | /*
|
||
548 | * una vez cambiamos la transformacion a elegir, habra que ver que parametros
|
||
549 | * tenemos que definir para que cuando aceptemos hayan sido definidos
|
||
550 | * anteriormente
|
||
551 | */
|
||
552 | if (e.getSource() == panel.getRecentsTrPanel().getJTable().getSelectionModel()){
|
||
553 | ListSelectionModel lsm = (ListSelectionModel)e.getSource(); |
||
554 | if (lsm.isSelectionEmpty()) {
|
||
555 | panel.getRecentsTrPanel().selectedRowTable = -1;
|
||
556 | panel.getRecentsTrPanel().setCode(0);
|
||
557 | panel.getJButtonAccept().setEnabled(false);
|
||
558 | panel.getRecentsTrPanel().getJButtonInfo().setEnabled(false);
|
||
559 | } |
||
560 | else {
|
||
561 | panel.getRecentsTrPanel().selectedRowTable = lsm.getMinSelectionIndex(); |
||
562 | String[] cad = ((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,2)).split(":"); |
||
563 | panel.getRecentsTrPanel().setCode(Integer.parseInt(cad[1])); |
||
564 | String[] transformation = ((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).split(":"); |
||
565 | if (transformation[0].equals("EPSG")){ |
||
566 | panel.getRecentsTrPanel().setTrCode(Integer.parseInt(transformation[1])); |
||
567 | } |
||
568 | panel.getRecentsTrPanel().getJButtonInfo().setEnabled(true);
|
||
569 | panel.getJButtonAccept().setEnabled(true);
|
||
570 | } |
||
571 | } |
||
572 | } |
||
573 | |||
574 | /**
|
||
575 | * Manejador de los eventos relacionados con el cambio de opci?n
|
||
576 | * dentro del combobox de elecci?n de repositorio, y del combobox
|
||
577 | * de elecci?n del archivo .gsb para el panel de transformaci?n
|
||
578 | * de nadgrids.
|
||
579 | */
|
||
580 | public void itemStateChanged(ItemEvent e) { |
||
581 | if (e.getSource() == panel.getCrsMainPanel().getJComboOptions()) {
|
||
582 | CardLayout cl = (CardLayout)(panel.getCrsMainPanel().getJPanelMain().getLayout()); |
||
583 | String op = (String)e.getItem(); |
||
584 | if (op.equals("EPSG")){ |
||
585 | String[] not_soported = {"engineering", "vertical", "compound", "geocentric"}; |
||
586 | boolean soported = true; |
||
587 | panel.getCrsMainPanel().getEpsgPanel().connection(); |
||
588 | if(panel.getCrsMainPanel().getEpsgPanel().getJTable().getSelectedRowCount()>0) { |
||
589 | panel.getCrsMainPanel().getEpsgPanel().selectedRowTable = panel.getCrsMainPanel().getEpsgPanel().getJTable().getSelectedRow(); |
||
590 | String crs_kind = (String)panel.getCrsMainPanel().getEpsgPanel().sorter.getValueAt(panel.getCrsMainPanel().getEpsgPanel().selectedRowTable,2); |
||
591 | for (int i = 0; i < not_soported.length; i++) { |
||
592 | if (crs_kind.equals(not_soported[i]))
|
||
593 | soported = false;
|
||
594 | } |
||
595 | if (soported){
|
||
596 | panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getEpsgPanel().sorter.getValueAt(panel.getCrsMainPanel().getEpsgPanel().selectedRowTable,0))); |
||
597 | panel.getCrsMainPanel().getEpsgPanel().setWKT(); |
||
598 | panel.getJButtonAccept().setEnabled(true);
|
||
599 | int base = panel.getCrsMainPanel().getEpsgPanel().getCodeCRS();
|
||
600 | //panel.compareDatum(panel.getCrsMainPanel().getEpsgPanel().getWKT());
|
||
601 | panel.getJComboOptions().setEnabled(true);
|
||
602 | panel.getJButtonAccept().setEnabled(true);
|
||
603 | panel.getCrsMainPanel().getEpsgPanel().getInfoCrs().setEnabled(true);
|
||
604 | } |
||
605 | else {
|
||
606 | JOptionPane.showMessageDialog(panel, PluginServices.getText(this,"crs_not_soported"), "Warning...", |
||
607 | JOptionPane.WARNING_MESSAGE);
|
||
608 | panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(-1);
|
||
609 | panel.getCrsMainPanel().getEpsgPanel().setCodeCRS(0);
|
||
610 | panel.getJButtonAccept().setEnabled(false);
|
||
611 | panel.getCrsMainPanel().getEpsgPanel().getInfoCrs().setEnabled(false);
|
||
612 | } |
||
613 | } |
||
614 | else{
|
||
615 | panel.getJButtonNext().setVisible(false);
|
||
616 | panel.getJComboOptions().setEnabled(false);
|
||
617 | panel.getJComboOptions().setSelectedIndex(0);
|
||
618 | panel.getJButtonAccept().setEnabled(false);
|
||
619 | } |
||
620 | } else if (op.equals("IAU2000")) { |
||
621 | panel.getCrsMainPanel().getIauPanel().connection(); |
||
622 | if(panel.getCrsMainPanel().getIauPanel().getJTable().getSelectedRowCount()>0) { |
||
623 | panel.getCrsMainPanel().getIauPanel().selectedRowTable = panel.getCrsMainPanel().getIauPanel().getJTable().getSelectedRow();; |
||
624 | panel.getCrsMainPanel().getIauPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getIauPanel().sorter.getValueAt(panel.getCrsMainPanel().getIauPanel().selectedRowTable,0))); |
||
625 | panel.getCrsMainPanel().getIauPanel().setWKT(); |
||
626 | panel.getJComboOptions().setEnabled(false);
|
||
627 | panel.getJButtonAccept().setEnabled(true);
|
||
628 | panel.getJButtonNext().setVisible(false);
|
||
629 | } |
||
630 | else {
|
||
631 | panel.getJButtonNext().setVisible(false);
|
||
632 | panel.getJComboOptions().setEnabled(false);
|
||
633 | panel.getJComboOptions().setSelectedIndex(0);
|
||
634 | panel.getJButtonAccept().setEnabled(false);
|
||
635 | } |
||
636 | } |
||
637 | else if (op.equals("Recientes")) { |
||
638 | if(panel.getCrsMainPanel().getRecentsPanel().getJTable().getSelectedRowCount()>0) { |
||
639 | panel.getCrsMainPanel().getRecentsPanel().initCrs(); |
||
640 | String sour = panel.getCrsMainPanel().getRecentsPanel().getCrs().getCrsWkt().getAuthority()[0]; //(String)panel.getCrsMainPanel().getRecentsPanel().sorter.getValueAt(panel.getCrsMainPanel().getRecentsPanel().selectedRowTable,0); |
||
641 | IWindow activeWindow = PluginServices.getMDIManager().getActiveWindow(); |
||
642 | View activeView = (com.iver.cit.gvsig.project.documents.view.gui.View) activeWindow;
|
||
643 | String authority = ((ICrs) activeView.getMapControl().getProjection()).getCrsWkt().getAuthority()[0]; |
||
644 | if (sour.equals("EPSG") && authority.equals("EPSG")){ |
||
645 | //panel.compareDatum(panel.getCrsMainPanel().getRecentsPanel().getCrs().getWKT());
|
||
646 | panel.getJComboOptions().setEnabled(true);
|
||
647 | panel.getJButtonAccept().setEnabled(true);
|
||
648 | } |
||
649 | else {
|
||
650 | panel.getJComboOptions().setSelectedIndex(0);
|
||
651 | panel.getJComboOptions().setEnabled(false);
|
||
652 | panel.getJButtonAccept().setEnabled(true);
|
||
653 | panel.getJButtonAccept().setVisible(true);
|
||
654 | panel.getJButtonNext().setVisible(false);
|
||
655 | } |
||
656 | } |
||
657 | else {
|
||
658 | panel.getJButtonNext().setVisible(false);
|
||
659 | panel.getJComboOptions().setEnabled(false);
|
||
660 | panel.getJComboOptions().setSelectedIndex(0);
|
||
661 | panel.getJButtonAccept().setEnabled(false);
|
||
662 | } |
||
663 | } |
||
664 | else if (op.equals("ESRI")) { |
||
665 | panel.getCrsMainPanel().getEsriPanel().connection(); |
||
666 | if(panel.getCrsMainPanel().getEsriPanel().getJTable().getSelectedRowCount()>0) { |
||
667 | panel.getCrsMainPanel().getEsriPanel().selectedRowTable = panel.getCrsMainPanel().getEsriPanel().getJTable().getSelectedRow();; |
||
668 | panel.getCrsMainPanel().getEsriPanel().setCodeCRS(Integer.parseInt((String)panel.getCrsMainPanel().getEsriPanel().sorter.getValueAt(panel.getCrsMainPanel().getEsriPanel().selectedRowTable,0))); |
||
669 | panel.getCrsMainPanel().getEsriPanel().setWKT(); |
||
670 | panel.getJComboOptions().setEnabled(false);
|
||
671 | panel.getJButtonAccept().setEnabled(true);
|
||
672 | panel.getJButtonNext().setVisible(false);
|
||
673 | } |
||
674 | else {
|
||
675 | panel.getJButtonNext().setVisible(false);
|
||
676 | panel.getJComboOptions().setEnabled(false);
|
||
677 | panel.getJComboOptions().setSelectedIndex(0);
|
||
678 | panel.getJButtonAccept().setEnabled(false);
|
||
679 | } |
||
680 | } |
||
681 | cl.show(panel.getCrsMainPanel().getJPanelMain(), (String)e.getItem());
|
||
682 | panel.getCrsMainPanel().setDataSource((String)e.getItem());
|
||
683 | } |
||
684 | |||
685 | if (e.getSource() == panel.getNadsTrPanel().getJComboNadFile()){
|
||
686 | if (panel.getNadsTrPanel().getJComboNadFile().getSelectedIndex()!=0){ |
||
687 | panel.getNadsTrPanel().setNadFile(panel.getNadsTrPanel().getJComboNadFile().getSelectedItem().toString());//nadFile = getJComboNadFile().getSelectedItem().toString();
|
||
688 | panel.getNadsTrPanel().getTreePanel().setRoot(PluginServices.getText(this,"grids_en")+": "+panel.getNadsTrPanel().getNadFile());//nadFile); |
||
689 | panel.getNadsTrPanel().initializeTree(); |
||
690 | // Guardar en persistencia nadFile:
|
||
691 | panel.getNadsTrPanel().saveNadFileName(panel.getNadsTrPanel().getNadFile());//nadFile);
|
||
692 | panel.getJButtonAccept().setEnabled(true);
|
||
693 | } |
||
694 | else{
|
||
695 | panel.getNadsTrPanel().setNadFile(null);//nadFile = null; |
||
696 | panel.getNadsTrPanel().getTreePanel().setRoot("");
|
||
697 | panel.getJButtonAccept().setEnabled(false);
|
||
698 | } |
||
699 | |||
700 | } |
||
701 | } |
||
702 | |||
703 | /**
|
||
704 | * M?todo para manejar el doble click sobre las tablas existentes en
|
||
705 | * el panel de transformaci?n. Aceptar el CRS seleccionado, as? como
|
||
706 | * la transformaci?n en el caso de que elijamos transformaci?n EPSG.
|
||
707 | */
|
||
708 | public void mouseClicked(MouseEvent e) { |
||
709 | // TODO Auto-generated method stub
|
||
710 | if (panel.getJButtonAccept().isVisible()) {
|
||
711 | if (e.getSource() == panel.getCrsMainPanel().getRecentsPanel().getJTable()){
|
||
712 | if (e.getClickCount() == 2){ |
||
713 | if (panel.isEpsg_tr()) {
|
||
714 | GetTransepsg epsgParams = new GetTransepsg(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
|
||
715 | panel.getEpsgTrPanel().setValues(epsgParams.getParamValue()); |
||
716 | panel.setProjection(panel.getEpsgTrPanel().getProjection()); |
||
717 | panel.setEpsg_tr(false);
|
||
718 | |||
719 | } |
||
720 | else if (panel.isManual_tr()) { |
||
721 | panel.setProjection(panel.getManualTrPanel().getProjection()); |
||
722 | panel.setManual_tr(false);
|
||
723 | } |
||
724 | else if (panel.isNads_tr()) { |
||
725 | panel.setProjection(panel.getNadsTrPanel().getProjection()); |
||
726 | panel.setTargetNad(panel.getNadsTrPanel().getNad()); |
||
727 | panel.setNads_tr(false);
|
||
728 | } |
||
729 | else{
|
||
730 | panel.setSin_tr(true);
|
||
731 | panel.setProjection(panel.getProjection()); |
||
732 | } |
||
733 | |||
734 | // * Actualizar recientes...
|
||
735 | |||
736 | String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0]; |
||
737 | String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
|
||
738 | int code = ((ICrs)panel.getProjection()).getCode();
|
||
739 | CrsData crsData = new CrsData(authority,code,name);
|
||
740 | RecentCRSsPersistence persistence = new RecentCRSsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
741 | persistence.addCrsData(crsData); |
||
742 | |||
743 | PluginServices.getMDIManager().closeWindow(panel); |
||
744 | } |
||
745 | } |
||
746 | if (e.getSource() == panel.getCrsMainPanel().getEpsgPanel().getJTable()){
|
||
747 | if (e.getClickCount() == 2){ |
||
748 | if (panel.isEpsg_tr()) {
|
||
749 | GetTransepsg epsgParams = new GetTransepsg(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
|
||
750 | panel.getEpsgTrPanel().setValues(epsgParams.getParamValue()); |
||
751 | panel.setProjection(panel.getEpsgTrPanel().getProjection()); |
||
752 | panel.setEpsg_tr(false);
|
||
753 | |||
754 | /*
|
||
755 | * Actualizar Transformaciones recientes
|
||
756 | */
|
||
757 | String authority = "EPSG"; |
||
758 | String name = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,1); |
||
759 | int code = panel.getEpsgTrPanel().getTransformation_code();
|
||
760 | String crsSource = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getSource()); |
||
761 | String crsTarget = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getTarget()); |
||
762 | String details = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,5);; |
||
763 | TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
|
||
764 | RecentTrsPersistence trPersistence = new RecentTrsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
765 | trPersistence.addTrData(trData); |
||
766 | } |
||
767 | else if (panel.isManual_tr()) { |
||
768 | panel.setProjection(panel.getManualTrPanel().getProjection()); |
||
769 | panel.setManual_tr(false);
|
||
770 | } |
||
771 | else if (panel.isNads_tr()) { |
||
772 | panel.setProjection(panel.getNadsTrPanel().getProjection()); |
||
773 | panel.setTargetNad(panel.getNadsTrPanel().getNad()); |
||
774 | panel.setNads_tr(false);
|
||
775 | } |
||
776 | else{
|
||
777 | panel.setSin_tr(true);
|
||
778 | panel.setProjection(panel.getProjection()); |
||
779 | } |
||
780 | |||
781 | //* Actualizar recientes...
|
||
782 | |||
783 | String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0]; |
||
784 | String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
|
||
785 | int code = ((ICrs)panel.getProjection()).getCode();
|
||
786 | CrsData crsData = new CrsData(authority,code,name);
|
||
787 | RecentCRSsPersistence persistence = new RecentCRSsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
788 | persistence.addCrsData(crsData); |
||
789 | |||
790 | PluginServices.getMDIManager().closeWindow(panel); |
||
791 | } |
||
792 | } |
||
793 | if (e.getSource() == panel.getCrsMainPanel().getIauPanel().getJTable()){
|
||
794 | if (e.getClickCount() == 2){ |
||
795 | if (panel.isEpsg_tr()) {
|
||
796 | GetTransepsg epsgParams = new GetTransepsg(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
|
||
797 | panel.getEpsgTrPanel().setValues(epsgParams.getParamValue()); |
||
798 | panel.setProjection(panel.getEpsgTrPanel().getProjection()); |
||
799 | panel.setEpsg_tr(false);
|
||
800 | } |
||
801 | else if (panel.isManual_tr()) { |
||
802 | panel.setProjection(panel.getManualTrPanel().getProjection()); |
||
803 | panel.setManual_tr(false);
|
||
804 | } |
||
805 | else if (panel.isNads_tr()) { |
||
806 | panel.setProjection(panel.getNadsTrPanel().getProjection()); |
||
807 | panel.setTargetNad(panel.getNadsTrPanel().getNad()); |
||
808 | panel.setNads_tr(false);
|
||
809 | } |
||
810 | else{
|
||
811 | panel.setSin_tr(true);
|
||
812 | panel.setProjection(panel.getProjection()); |
||
813 | } |
||
814 | |||
815 | //* Actualizar recientes...
|
||
816 | |||
817 | String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0]; |
||
818 | String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
|
||
819 | int code = ((ICrs)panel.getProjection()).getCode();
|
||
820 | CrsData crsData = new CrsData(authority,code,name);
|
||
821 | RecentCRSsPersistence persistence = new RecentCRSsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
822 | persistence.addCrsData(crsData); |
||
823 | |||
824 | PluginServices.getMDIManager().closeWindow(panel); |
||
825 | } |
||
826 | } |
||
827 | if (e.getSource() == panel.getCrsMainPanel().getEsriPanel().getJTable()){
|
||
828 | if (e.getClickCount() == 2){ |
||
829 | if (panel.isEpsg_tr()) {
|
||
830 | GetTransepsg epsgParams = new GetTransepsg(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
|
||
831 | panel.getEpsgTrPanel().setValues(epsgParams.getParamValue()); |
||
832 | panel.setProjection(panel.getEpsgTrPanel().getProjection()); |
||
833 | panel.setEpsg_tr(false);
|
||
834 | } |
||
835 | else if (panel.isManual_tr()) { |
||
836 | panel.setProjection(panel.getManualTrPanel().getProjection()); |
||
837 | panel.setManual_tr(false);
|
||
838 | } |
||
839 | else if (panel.isNads_tr()) { |
||
840 | panel.setProjection(panel.getNadsTrPanel().getProjection()); |
||
841 | panel.setTargetNad(panel.getNadsTrPanel().getNad()); |
||
842 | panel.setNads_tr(false);
|
||
843 | } |
||
844 | else{
|
||
845 | panel.setSin_tr(true);
|
||
846 | panel.setProjection(panel.getProjection()); |
||
847 | } |
||
848 | |||
849 | //* Actualizar recientes...
|
||
850 | |||
851 | String authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0]; |
||
852 | String name = ((ICrs)panel.getProjection()).getCrsWkt().getName();
|
||
853 | int code = ((ICrs)panel.getProjection()).getCode();
|
||
854 | CrsData crsData = new CrsData(authority,code,name);
|
||
855 | RecentCRSsPersistence persistence = new RecentCRSsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
856 | persistence.addCrsData(crsData); |
||
857 | |||
858 | PluginServices.getMDIManager().closeWindow(panel); |
||
859 | } |
||
860 | } |
||
861 | } |
||
862 | if (e.getSource() == panel.getEpsgTrPanel().getJTable()){
|
||
863 | if (e.getClickCount() == 2){ |
||
864 | GetTransepsg epsgParams = new GetTransepsg(panel.getEpsgTrPanel().getTransformation_code(),panel.getEpsgTrPanel().connect, panel.getEpsgTrPanel().inverseTranformation);
|
||
865 | panel.getEpsgTrPanel().setValues(epsgParams.getParamValue()); |
||
866 | panel.setProjection(panel.getEpsgTrPanel().getProjection()); |
||
867 | panel.setEpsg_tr(false);
|
||
868 | |||
869 | /*
|
||
870 | * Actualizar Transformaciones recientes
|
||
871 | */
|
||
872 | String authority = "EPSG"; |
||
873 | String name = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,1); |
||
874 | int code = panel.getEpsgTrPanel().getTransformation_code();
|
||
875 | String crsSource = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getSource()); |
||
876 | String crsTarget = "EPSG:"+String.valueOf(panel.getEpsgTrPanel().getTarget()); |
||
877 | String details = (String)panel.getEpsgTrPanel().sorter.getValueAt(panel.getEpsgTrPanel().selectedRowTable,5);; |
||
878 | TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
|
||
879 | RecentTrsPersistence trPersistence = new RecentTrsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
880 | trPersistence.addTrData(trData); |
||
881 | |||
882 | /*
|
||
883 | * Actualizar Crss recientes...
|
||
884 | */
|
||
885 | authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0];
|
||
886 | name = ((ICrs)panel.getProjection()).getCrsWkt().getName(); |
||
887 | code = ((ICrs)panel.getProjection()).getCode(); |
||
888 | CrsData crsData = new CrsData(authority,code,name);
|
||
889 | RecentCRSsPersistence persistence = new RecentCRSsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
890 | persistence.addCrsData(crsData); |
||
891 | |||
892 | PluginServices.getMDIManager().closeWindow(panel); |
||
893 | } |
||
894 | } |
||
895 | if (e.getSource() == panel.getRecentsTrPanel().getJTable()){
|
||
896 | if (e.getClickCount() == 2){ |
||
897 | if (((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).equals("USR")){ |
||
898 | panel.getRecentsTrPanel().setParamsManual((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4)); |
||
899 | panel.setProjection(panel.getRecentsTrPanel().getProjection()); |
||
900 | } |
||
901 | if (((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).equals("EPSG")){ |
||
902 | GetTransepsg epsgParams = new GetTransepsg(panel.getRecentsTrPanel().getTrCode(),panel.getEpsgTrPanel().connect, panel.getRecentsTrPanel().getInverseTransformation());
|
||
903 | panel.getRecentsTrPanel().setParamsEPGS(epsgParams.getParamValue()); |
||
904 | panel.setProjection(panel.getRecentsTrPanel().getProjection()); |
||
905 | } |
||
906 | if (((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).equals("NADGR")){ |
||
907 | panel.setProjection(panel.getRecentsTrPanel().getProjectionNad((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4))); |
||
908 | } |
||
909 | //panel.setProjection(panel.getRecentsTrPanel().getProjection());
|
||
910 | panel.setRecents_tr(false);
|
||
911 | |||
912 | /*
|
||
913 | * Actualizar Transformaciones recientes
|
||
914 | */
|
||
915 | String authCode = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0); |
||
916 | String authority = authCode.split(":")[0]; |
||
917 | String name = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,1); |
||
918 | int code = Integer.parseInt(authCode.split(":")[1]); |
||
919 | String crsSource = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,2); |
||
920 | String crsTarget = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,3); |
||
921 | String details = (String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4); |
||
922 | TrData trData = new TrData(authority,code,name,crsSource,crsTarget,details);
|
||
923 | RecentTrsPersistence trPersistence = new RecentTrsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
924 | trPersistence.addTrData(trData); |
||
925 | |||
926 | /*
|
||
927 | * Actualizar recientes...
|
||
928 | */
|
||
929 | authority = ((ICrs)panel.getProjection()).getCrsWkt().getAuthority()[0];
|
||
930 | name = ((ICrs)panel.getProjection()).getCrsWkt().getName(); |
||
931 | code = ((ICrs)panel.getProjection()).getCode(); |
||
932 | CrsData crsData = new CrsData(authority,code,name);
|
||
933 | RecentCRSsPersistence persistence = new RecentCRSsPersistence(RecentCRSsPersistence.pluginClassInstance);
|
||
934 | persistence.addCrsData(crsData); |
||
935 | |||
936 | PluginServices.getMDIManager().closeWindow(panel); |
||
937 | } |
||
938 | } |
||
939 | } |
||
940 | |||
941 | public void mouseEntered(MouseEvent e) { |
||
942 | // TODO Auto-generated method stub
|
||
943 | |||
944 | } |
||
945 | |||
946 | public void mouseExited(MouseEvent e) { |
||
947 | // TODO Auto-generated method stub
|
||
948 | |||
949 | } |
||
950 | |||
951 | public void mousePressed(MouseEvent e) { |
||
952 | // TODO Auto-generated method stub
|
||
953 | |||
954 | } |
||
955 | |||
956 | public void mouseReleased(MouseEvent e) { |
||
957 | // TODO Auto-generated method stub
|
||
958 | |||
959 | } |
||
960 | |||
961 | public void keyPressed(KeyEvent arg0) { |
||
962 | // TODO Auto-generated method stub
|
||
963 | |||
964 | } |
||
965 | |||
966 | /**
|
||
967 | * M?todo para cuando en la tranformaci?n manual, no se hayan insertado
|
||
968 | * valores de transformaci?n, no se habilite el bot?n de aceptar.
|
||
969 | */
|
||
970 | public void keyReleased(KeyEvent e) { |
||
971 | // TODO Auto-generated method stub
|
||
972 | if(!panel.getManualTrPanel().getStatus())
|
||
973 | panel.getJButtonAccept().setEnabled(false);
|
||
974 | else panel.getJButtonAccept().setEnabled(true); |
||
975 | } |
||
976 | |||
977 | public void keyTyped(KeyEvent arg0) { |
||
978 | // TODO Auto-generated method stub
|
||
979 | |||
980 | } |
||
981 | |||
982 | } |