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