root / trunk / libraries / libJCRS / src / org / gvsig / crs / gui / CRSMainTrPanel.java @ 8158
History | View | Annotate | Download (18.7 KB)
1 |
package org.gvsig.crs.gui; |
---|---|
2 |
|
3 |
import java.awt.BorderLayout; |
4 |
import java.awt.CardLayout; |
5 |
import java.awt.Dimension; |
6 |
import java.awt.FlowLayout; |
7 |
import java.awt.GridLayout; |
8 |
import java.awt.event.ActionEvent; |
9 |
import java.awt.event.ActionListener; |
10 |
import java.awt.event.ItemEvent; |
11 |
import java.awt.event.ItemListener; |
12 |
import java.sql.ResultSet; |
13 |
import java.sql.SQLException; |
14 |
|
15 |
import javax.swing.JButton; |
16 |
import javax.swing.JComboBox; |
17 |
import javax.swing.JLabel; |
18 |
import javax.swing.JOptionPane; |
19 |
import javax.swing.JPanel; |
20 |
import javax.swing.ListSelectionModel; |
21 |
import javax.swing.event.DocumentEvent; |
22 |
import javax.swing.event.DocumentListener; |
23 |
import javax.swing.event.ListSelectionEvent; |
24 |
import javax.swing.event.ListSelectionListener; |
25 |
|
26 |
import org.cresques.cts.IProjection; |
27 |
import org.gvsig.crs.CrsException; |
28 |
import org.gvsig.crs.CrsFactory; |
29 |
import org.gvsig.crs.EpsgConnection; |
30 |
import org.gvsig.crs.ICrs; |
31 |
import org.gvsig.crs.Query; |
32 |
import org.gvsig.crs.gui.panels.TransformationEpsgPanel; |
33 |
import org.gvsig.crs.gui.panels.TransformationManualPanel; |
34 |
import org.gvsig.crs.gui.panels.TransformationNadgridsPanel; |
35 |
import org.gvsig.crs.ogr.GetTransepsg; |
36 |
|
37 |
import com.iver.andami.PluginServices; |
38 |
import com.iver.andami.ui.mdiManager.IWindow; |
39 |
import com.iver.andami.ui.mdiManager.WindowInfo; |
40 |
import com.iver.cit.gvsig.gui.View; |
41 |
|
42 |
public class CRSMainTrPanel extends JPanel implements IWindow, ListSelectionListener, ActionListener, ItemListener, DocumentListener{ |
43 |
|
44 |
private static final long serialVersionUID = 1L; |
45 |
|
46 |
/*
|
47 |
* Para mostrar los parametros si tenemos seleccionada transformacion
|
48 |
*/
|
49 |
boolean tra = false; |
50 |
boolean inAnApplet = true; |
51 |
boolean cancelYes = false; |
52 |
private JButton jButtonCancel = null; |
53 |
public JButton jButtonNext = null; |
54 |
public JButton jButtonAccept = null; |
55 |
public JButton jButtonBefore = null; |
56 |
private JPanel jPanelButtons = null; |
57 |
|
58 |
boolean targetNad = false; |
59 |
|
60 |
int crs_target = -1; |
61 |
String datum_target = ""; |
62 |
|
63 |
public EpsgConnection connect = null; |
64 |
|
65 |
int transformation_code = 0; |
66 |
|
67 |
private JPanel panel = null; |
68 |
CRSMainPanel viewPan = null;
|
69 |
|
70 |
public JPanel principal = null; |
71 |
TransformationManualPanel manual = null;
|
72 |
boolean manual_tr = false; |
73 |
TransformationEpsgPanel epsg = null;
|
74 |
boolean epsg_tr = false; |
75 |
TransformationNadgridsPanel nads = null;
|
76 |
boolean nads_tr = false; |
77 |
|
78 |
boolean sin_tr = false; |
79 |
private JPanel jPanelCombo = null; |
80 |
private JComboBox jComboOptions = null; |
81 |
|
82 |
private IProjection crsfirst;
|
83 |
|
84 |
private CRSMainPanel CRSPanel;
|
85 |
String newSelection;
|
86 |
String dataSource = ""; |
87 |
ICrs curProj = null;
|
88 |
|
89 |
public CRSMainTrPanel(int target, String datum, ICrs proj) { |
90 |
curProj = proj; |
91 |
CRSPanel = new CRSMainPanel(target);
|
92 |
viewPan = CRSPanel; |
93 |
|
94 |
setListeners(); |
95 |
|
96 |
crs_target = target; |
97 |
datum_target = datum; |
98 |
|
99 |
manual = new TransformationManualPanel();
|
100 |
epsg = new TransformationEpsgPanel(crs_target);
|
101 |
nads = new TransformationNadgridsPanel();
|
102 |
|
103 |
/*
|
104 |
* esta variable contendr? tanto el panel utilizado en CRSViewPanel, como los paneles
|
105 |
* que seran necesarios para realizar las transformaciones
|
106 |
*/
|
107 |
principal = new JPanel(); |
108 |
principal.setLayout(new CardLayout()); |
109 |
principal.add("primero", viewPanel());
|
110 |
principal.add("manual", manual.getJPanel());
|
111 |
principal.add("epsg", epsg.getJPanel());
|
112 |
principal.add("nad", nads.getJPanel());
|
113 |
|
114 |
this.add(principal, BorderLayout.CENTER); |
115 |
|
116 |
this.add(getButtons(), BorderLayout.SOUTH); |
117 |
|
118 |
/*
|
119 |
* cargamos en la capa el CRS que hemos fijado en la vista en el primer caso
|
120 |
* o el que pusimos en la ultima eleccion del crs para la capa
|
121 |
*/
|
122 |
|
123 |
/*habra que hacerlo para que lo printe en el primer panel que pongamos
|
124 |
* en nuestro caso seria en el de recientes
|
125 |
*/
|
126 |
String sour = curProj.getCrsWkt().getAuthority()[0]; |
127 |
if (sour.equals("EPSG")){ |
128 |
CRSPanel.ep.loadViewCRS(curProj.getCode()); |
129 |
CRSPanel.ep.getJTable().setRowSelectionInterval(0,0); |
130 |
}else if(sour.equals("IAU2000")){ |
131 |
CRSPanel.iau.loadViewCRS(curProj.getCode()); |
132 |
CRSPanel.iau.getJTable().setRowSelectionInterval(0,0); |
133 |
} |
134 |
|
135 |
setDataSource(CRSPanel.getDataSource()); |
136 |
|
137 |
CRSPanel.rp.loadRecents(); |
138 |
} |
139 |
|
140 |
/*
|
141 |
* Este metodo cargara todo el panel utilizado en el CRSViewPanel y el combobox de
|
142 |
* las transformaciones
|
143 |
*/
|
144 |
private JPanel viewPanel(){ |
145 |
JPanel integro = new JPanel(); |
146 |
integro.setLayout(new GridLayout(0,1)); |
147 |
integro.setLayout(new FlowLayout(FlowLayout.LEFT,10,10)); |
148 |
integro.setPreferredSize(new Dimension(560,300)); |
149 |
|
150 |
integro.add(viewPan.capa(), null);
|
151 |
integro.add(getJPanel(), null);
|
152 |
return integro;
|
153 |
} |
154 |
|
155 |
|
156 |
private JPanel getJPanel() { |
157 |
if (panel == null){ |
158 |
panel = new JPanel(); |
159 |
panel.setPreferredSize(new Dimension(540,80)); |
160 |
panel.setLayout(new GridLayout(0,2)); |
161 |
panel.setLayout(new FlowLayout(FlowLayout.LEFT,10,10)); |
162 |
panel.add(getCombopanel(), null);
|
163 |
} |
164 |
return panel;
|
165 |
} |
166 |
|
167 |
public JPanel getCombopanel(){ |
168 |
if (jPanelCombo == null){ |
169 |
jPanelCombo = new JPanel(); |
170 |
jPanelCombo.setPreferredSize(new Dimension(400,30)); |
171 |
jPanelCombo.add(getJLabelTrans()); |
172 |
jPanelCombo.add(getJComboOptions()); |
173 |
} |
174 |
|
175 |
return jPanelCombo;
|
176 |
} |
177 |
|
178 |
private JLabel getJLabelTrans(){ |
179 |
JLabel jLabelTrans = new JLabel(); |
180 |
jLabelTrans.setPreferredSize(new Dimension(180, 25)); |
181 |
jLabelTrans.setText(PluginServices.getText(this, "Seleccione Transformaci?n: ")); |
182 |
return jLabelTrans;
|
183 |
} |
184 |
|
185 |
private JComboBox getJComboOptions(){ |
186 |
if (jComboOptions == null){ |
187 |
String[] selection = {"Sin transformacion", "Transformacion manual", |
188 |
"+nadgrids", "Transformacion EPSG"}; |
189 |
jComboOptions = new JComboBox(selection); |
190 |
jComboOptions.setPreferredSize(new Dimension(150,25)); |
191 |
jComboOptions.setEnabled(false);
|
192 |
jComboOptions.setEditable(false);
|
193 |
jComboOptions.setSelectedIndex(0);
|
194 |
newSelection = (String) jComboOptions.getSelectedItem();
|
195 |
} |
196 |
jComboOptions.addActionListener(this);
|
197 |
return jComboOptions;
|
198 |
} |
199 |
|
200 |
private JPanel getButtons() { |
201 |
if(jPanelButtons == null) { |
202 |
jPanelButtons = new JPanel(); |
203 |
jPanelButtons.setPreferredSize(new Dimension(550,50)); |
204 |
jPanelButtons.setLayout(new GridLayout(0,1)); |
205 |
jPanelButtons.setLayout(new FlowLayout(FlowLayout.RIGHT,5,5)); |
206 |
jPanelButtons.add(getJButtonCancel(), null);
|
207 |
jPanelButtons.add(getJButtonBefore(), null);
|
208 |
jPanelButtons.add(getJButtonNext(), null);
|
209 |
jPanelButtons.add(getJButtonAccept(), null);
|
210 |
} |
211 |
return jPanelButtons;
|
212 |
} |
213 |
|
214 |
private JButton getJButtonBefore(){ |
215 |
if(jButtonBefore == null) { |
216 |
jButtonBefore = new JButton(); |
217 |
jButtonBefore.setText(PluginServices.getText(this,"Anterior")); |
218 |
jButtonBefore.setMnemonic('B');
|
219 |
jButtonBefore.setPreferredSize(new Dimension(100,25)); |
220 |
jButtonBefore.setEnabled(false);
|
221 |
jButtonBefore.addActionListener(this);
|
222 |
} |
223 |
return jButtonBefore;
|
224 |
} |
225 |
|
226 |
private JButton getJButtonAccept() { |
227 |
if(jButtonAccept == null) { |
228 |
jButtonAccept = new JButton(); |
229 |
jButtonAccept.setText(PluginServices.getText(this,"Finalizar")); |
230 |
jButtonAccept.setMnemonic('O');
|
231 |
jButtonAccept.setVisible(true);
|
232 |
jButtonAccept.setPreferredSize(new Dimension(100,25)); |
233 |
jButtonAccept.addActionListener(this);
|
234 |
} |
235 |
return jButtonAccept;
|
236 |
} |
237 |
|
238 |
private JButton getJButtonNext() { |
239 |
if(jButtonNext == null) { |
240 |
jButtonNext = new JButton(); |
241 |
jButtonNext.setText(PluginServices.getText(this,"Siguiente")); |
242 |
jButtonNext.setMnemonic('S');
|
243 |
jButtonNext.setVisible(false);
|
244 |
jButtonNext.setPreferredSize(new Dimension(100,25)); |
245 |
jButtonNext.addActionListener(this);
|
246 |
} |
247 |
return jButtonNext;
|
248 |
} |
249 |
|
250 |
private JButton getJButtonCancel() { |
251 |
if(jButtonCancel == null) { |
252 |
jButtonCancel = new JButton(); |
253 |
jButtonCancel.setText(PluginServices.getText(this,"Cancelar")); |
254 |
jButtonCancel.setMnemonic('C');
|
255 |
jButtonCancel.setPreferredSize(new Dimension(100,25)); |
256 |
jButtonCancel.addActionListener(this);
|
257 |
} |
258 |
return jButtonCancel;
|
259 |
} |
260 |
|
261 |
public void setTargetNad(boolean tarNad){ |
262 |
targetNad = tarNad; |
263 |
} |
264 |
|
265 |
public boolean getTargetNad(){ |
266 |
return targetNad;
|
267 |
} |
268 |
|
269 |
/*
|
270 |
* revisar esta solucion
|
271 |
*/
|
272 |
public ICrs getProjection() {
|
273 |
if (sin_tr) {
|
274 |
ICrs crs; |
275 |
try {
|
276 |
if (getDataSource().equals("EPSG")){ |
277 |
crs = new CrsFactory().getCRS(CRSPanel.ep.getCodeCRS(),CRSPanel.ep.getWKT());
|
278 |
} |
279 |
else if (getDataSource().equals("IAU2000")){ |
280 |
crs = new CrsFactory().getCRS(CRSPanel.iau.getCodeCRS(),CRSPanel.iau.getWKT());
|
281 |
} |
282 |
else if (getDataSource().equals("Recientes")){ |
283 |
crs = new CrsFactory().getCRS(CRSPanel.rp.getCodeCRS(),CRSPanel.rp.getWKT());
|
284 |
} else {
|
285 |
sin_tr = false;
|
286 |
return null; |
287 |
} |
288 |
sin_tr = false;
|
289 |
return crs;
|
290 |
} catch (CrsException e) {
|
291 |
e.printStackTrace(); |
292 |
} |
293 |
return null; |
294 |
} |
295 |
return (ICrs) crsfirst;
|
296 |
} |
297 |
|
298 |
public void setProjection(IProjection proj) { |
299 |
crsfirst = proj; |
300 |
} |
301 |
|
302 |
private void setListeners(){ |
303 |
CRSPanel.getJComboOptions().addItemListener(this);
|
304 |
|
305 |
ListSelectionModel rowSM = CRSPanel.ep.getJTable().getSelectionModel();
|
306 |
rowSM.addListSelectionListener(this);
|
307 |
|
308 |
ListSelectionModel rowSMiau = CRSPanel.iau.getJTable().getSelectionModel();
|
309 |
rowSMiau.addListSelectionListener(this);
|
310 |
|
311 |
ListSelectionModel rowSMrecents = CRSPanel.rp.getJTable().getSelectionModel();
|
312 |
rowSMrecents.addListSelectionListener(this);
|
313 |
|
314 |
CRSPanel.esp.getJTextOpen().getDocument().addDocumentListener(this);
|
315 |
|
316 |
} |
317 |
|
318 |
private void compareDatum(int base){ |
319 |
String datum = ""; |
320 |
int datum_code = -1; |
321 |
String sentence = "SELECT source_geogcrs_code " + |
322 |
"FROM epsg_coordinatereferencesystem " +
|
323 |
"WHERE coord_ref_sys_code = "+ base ;
|
324 |
ResultSet result = Query.select(sentence,connect.getConnection()); |
325 |
int source = 0; |
326 |
try {
|
327 |
result.next(); |
328 |
source = result.getInt("source_geogcrs_code");
|
329 |
} catch (SQLException e1) { |
330 |
e1.printStackTrace(); |
331 |
} |
332 |
|
333 |
if (source != 0){ |
334 |
base = source; |
335 |
} |
336 |
|
337 |
/*
|
338 |
* Recuperamos el Datum del CRS que esta seleccionado de manera provisional
|
339 |
* y realizamos la comparacion para saber si, en caso de elegir el crs que
|
340 |
* tenemos seleccionado, se puede producir una transformacion
|
341 |
*/
|
342 |
sentence = "SELECT datum_code " +
|
343 |
"FROM epsg_coordinatereferencesystem " +
|
344 |
"WHERE coord_ref_sys_code = "+ base ;
|
345 |
result = Query.select(sentence,connect.getConnection());
|
346 |
|
347 |
try {
|
348 |
result.next(); |
349 |
datum_code = result.getInt("datum_code");
|
350 |
} catch (SQLException e1) { |
351 |
e1.printStackTrace(); |
352 |
} |
353 |
|
354 |
sentence = "SELECT datum_name " +
|
355 |
"FROM epsg_datum " +
|
356 |
"WHERE datum_code = "+ datum_code ;
|
357 |
result = Query.select(sentence,connect.getConnection());
|
358 |
|
359 |
try {
|
360 |
result.next(); |
361 |
datum = result.getString("datum_name");
|
362 |
} catch (SQLException e1) { |
363 |
e1.printStackTrace(); |
364 |
} |
365 |
|
366 |
if (!(datum_target.equals(datum.replaceAll(" ","")))){ |
367 |
jComboOptions.setEnabled(true);
|
368 |
} |
369 |
else {
|
370 |
jComboOptions.setEnabled(false);
|
371 |
} |
372 |
} |
373 |
|
374 |
public void valueChanged(ListSelectionEvent e) { |
375 |
if (e.getSource() == CRSPanel.rp.getJTable().getSelectionModel()){
|
376 |
ListSelectionModel lsm = (ListSelectionModel)e.getSource(); |
377 |
if (lsm.isSelectionEmpty()) {
|
378 |
CRSPanel.rp.selectedRowTable = -1;
|
379 |
CRSPanel.rp.setCodeCRS(-1);
|
380 |
getJButtonAccept().setEnabled(false);
|
381 |
jComboOptions.setEnabled(false);
|
382 |
} |
383 |
else {
|
384 |
CRSPanel.rp.selectedRowTable = lsm.getMinSelectionIndex(); |
385 |
CRSPanel.rp.setCodeCRS(Integer.parseInt((String)CRSPanel.rp.sorter.getValueAt(CRSPanel.rp.selectedRowTable,1))); |
386 |
CRSPanel.rp.setWKT((String)CRSPanel.rp.sorter.getValueAt(CRSPanel.rp.selectedRowTable,0)); |
387 |
int base = CRSPanel.rp.getCodeCRS();
|
388 |
String sour = (String)CRSPanel.rp.sorter.getValueAt(CRSPanel.rp.selectedRowTable,0); |
389 |
IWindow activeWindow = PluginServices.getMDIManager().getActiveWindow(); |
390 |
View activeView = (com.iver.cit.gvsig.gui.View) activeWindow;
|
391 |
String authority = ((ICrs) activeView.getMapControl().getProjection()).getCrsWkt().getAuthority()[0]; |
392 |
if (sour.equals("EPSG") && authority.equals("EPSG")){ |
393 |
compareDatum(base); |
394 |
} |
395 |
else {
|
396 |
jComboOptions.setEnabled(false);
|
397 |
getJButtonAccept().setEnabled(true);
|
398 |
} |
399 |
} |
400 |
} |
401 |
|
402 |
if (e.getSource() == CRSPanel.ep.getJTable().getSelectionModel()){
|
403 |
connect = new EpsgConnection();
|
404 |
connect.setConnectionEPSG(); |
405 |
String[] not_soported = {"engineering", "vertical", "compound", "geocentric"}; |
406 |
boolean soported = true; |
407 |
ListSelectionModel lsm = (ListSelectionModel)e.getSource(); |
408 |
if (lsm.isSelectionEmpty()) {
|
409 |
CRSPanel.ep.selectedRowTable = -1;
|
410 |
CRSPanel.ep.setCodeCRS(-1);
|
411 |
getJButtonAccept().setEnabled(false);
|
412 |
CRSPanel.ep.getInfoCrs().setEnabled(false);
|
413 |
jComboOptions.setEnabled(false);
|
414 |
} |
415 |
else {
|
416 |
CRSPanel.ep.selectedRowTable = lsm.getMinSelectionIndex(); |
417 |
String crs_kind = (String)CRSPanel.ep.sorter.getValueAt(CRSPanel.ep.selectedRowTable,2); |
418 |
for (int i = 0; i < not_soported.length; i++) { |
419 |
if (crs_kind.equals(not_soported[i])) {
|
420 |
soported = false;
|
421 |
} |
422 |
} |
423 |
if (soported){
|
424 |
CRSPanel.ep.setCodeCRS(Integer.parseInt((String)CRSPanel.ep.sorter.getValueAt(CRSPanel.ep.selectedRowTable,0))); |
425 |
CRSPanel.ep.setWKT(); |
426 |
getJButtonAccept().setEnabled(true);
|
427 |
int base = CRSPanel.ep.getCodeCRS();
|
428 |
compareDatum(base); |
429 |
} |
430 |
else {
|
431 |
JOptionPane.showMessageDialog(CRSMainTrPanel.this, "CRS no soportado.", "Warning...", |
432 |
JOptionPane.WARNING_MESSAGE);
|
433 |
CRSPanel.ep.setCodeCRS(-1);
|
434 |
CRSPanel.ep.setCodeCRS(0);
|
435 |
getJButtonAccept().setEnabled(false);
|
436 |
CRSPanel.ep.getInfoCrs().setEnabled(false);
|
437 |
} |
438 |
CRSPanel.ep.getInfoCrs().setEnabled(true);
|
439 |
} |
440 |
} |
441 |
|
442 |
if (e.getSource() == CRSPanel.iau.getJTable().getSelectionModel()){
|
443 |
ListSelectionModel lsm = (ListSelectionModel)e.getSource(); |
444 |
|
445 |
if (lsm.isSelectionEmpty()) {
|
446 |
CRSPanel.iau.selectedRowTable = -1;
|
447 |
CRSPanel.iau.setCodeCRS(-1);
|
448 |
getJButtonAccept().setEnabled(false);
|
449 |
jComboOptions.setEnabled(false);
|
450 |
} |
451 |
else {
|
452 |
CRSPanel.iau.selectedRowTable = lsm.getMinSelectionIndex(); |
453 |
CRSPanel.iau.setCodeCRS(Integer.parseInt((String)CRSPanel.iau.sorter.getValueAt(CRSPanel.iau.selectedRowTable,0))); |
454 |
CRSPanel.iau.setWKT(); |
455 |
jComboOptions.setEnabled(false);
|
456 |
getJButtonAccept().setEnabled(true);
|
457 |
} |
458 |
} |
459 |
} |
460 |
|
461 |
public void setDataSource(String sour){ |
462 |
dataSource = sour; |
463 |
} |
464 |
|
465 |
public String getDataSource(){ |
466 |
return CRSPanel.getDataSource();
|
467 |
} |
468 |
|
469 |
public WindowInfo getWindowInfo() {
|
470 |
WindowInfo m_viewinfo=new WindowInfo(WindowInfo.MODALDIALOG);
|
471 |
m_viewinfo.setTitle(PluginServices.getText(this,"CrsView")); |
472 |
return m_viewinfo;
|
473 |
} |
474 |
|
475 |
public void actionPerformed(ActionEvent e) { |
476 |
if( e.getSource() == getJButtonAccept()){
|
477 |
if (epsg_tr) {
|
478 |
GetTransepsg epsgParams = new GetTransepsg(epsg.getTransformation_code(),epsg.connect, epsg.inverseTranformation);
|
479 |
epsg.setValues(epsgParams.getParamValue()); |
480 |
setProjection(epsg.getProjection()); |
481 |
epsg_tr = false;
|
482 |
} |
483 |
else if (manual_tr) { |
484 |
setProjection(manual.getProjection()); |
485 |
manual_tr = false;
|
486 |
} |
487 |
else if (nads_tr) { |
488 |
setProjection(nads.getProjection()); |
489 |
setTargetNad(nads.getNad()); |
490 |
nads_tr = false;
|
491 |
} |
492 |
else{
|
493 |
sin_tr = true;
|
494 |
setProjection(this.getProjection());
|
495 |
} |
496 |
|
497 |
PluginServices.getMDIManager().closeWindow(this);
|
498 |
} |
499 |
|
500 |
if( e.getSource() == getJButtonBefore()){
|
501 |
CardLayout cl = (CardLayout)(principal.getLayout()); |
502 |
cl.show(principal, "primero");
|
503 |
jButtonNext.setVisible(true);
|
504 |
jButtonAccept.setVisible(false);
|
505 |
jButtonBefore.setEnabled(false);
|
506 |
} |
507 |
|
508 |
if( e.getSource() == getJButtonCancel()){
|
509 |
cancelYes = true;
|
510 |
setProjection(crsfirst); |
511 |
PluginServices.getMDIManager().closeWindow(this);
|
512 |
} |
513 |
|
514 |
if( e.getSource() == getJButtonNext()){
|
515 |
jButtonNext.setVisible(false);
|
516 |
jButtonAccept.setVisible(true);
|
517 |
jButtonBefore.setEnabled(true);
|
518 |
if (newSelection.equals("Transformacion manual")) { |
519 |
CardLayout cl = (CardLayout)(principal.getLayout()); |
520 |
manual.setWKT(CRSPanel.ep.getWKT()); |
521 |
manual.setCode(CRSPanel.ep.epsg_code); |
522 |
manual_tr = true;
|
523 |
cl.show(principal, "manual");
|
524 |
} |
525 |
else if(newSelection.equals("+nadgrids")){ |
526 |
CardLayout cl = (CardLayout)(principal.getLayout()); |
527 |
nads.setWKT(CRSPanel.ep.getWKT()); |
528 |
nads.setCode(CRSPanel.ep.epsg_code); |
529 |
nads_tr = true;
|
530 |
cl.show(principal, "nad");
|
531 |
} |
532 |
else if(newSelection.equals("Transformacion EPSG")){ |
533 |
CardLayout cl = (CardLayout)(principal.getLayout()); |
534 |
if (getDataSource().equals("EPSG")){ |
535 |
epsg.setWKT(CRSPanel.ep.getWKT()); |
536 |
epsg.setSource(CRSPanel.ep.epsg_code); |
537 |
} |
538 |
else if (getDataSource().equals("Recientes")) { |
539 |
epsg.setWKT(CRSPanel.rp.getWKT()); |
540 |
epsg.setSource(CRSPanel.rp.getCodeCRS()); |
541 |
} |
542 |
epsg_tr = true;
|
543 |
|
544 |
cl.show(principal, "epsg");
|
545 |
} |
546 |
} |
547 |
if( e.getSource() == getJComboOptions()){
|
548 |
JComboBox cb = (JComboBox)e.getSource(); |
549 |
newSelection = (String)cb.getSelectedItem();
|
550 |
if (newSelection.equals("Sin transformacion")){ |
551 |
jButtonAccept.setVisible(true);
|
552 |
jButtonNext.setVisible(false);
|
553 |
} |
554 |
else {
|
555 |
jButtonAccept.setVisible(false);
|
556 |
jButtonNext.setVisible(true);
|
557 |
} |
558 |
} |
559 |
} |
560 |
|
561 |
public void itemStateChanged(ItemEvent e) { |
562 |
CardLayout cl = (CardLayout)(CRSPanel.jPanelMain.getLayout()); |
563 |
String op = (String)e.getItem(); |
564 |
if (op.equals("EPSG")){ |
565 |
CRSPanel.ep.connection(); |
566 |
if(CRSPanel.ep.getJTable().getSelectedRowCount()>0) |
567 |
getJButtonAccept().setEnabled(true);
|
568 |
else
|
569 |
getJButtonAccept().setEnabled(false);
|
570 |
} else if (op.equals("IAU2000")) { |
571 |
CRSPanel.iau.connection(); |
572 |
if(CRSPanel.iau.getJTable().getSelectedRowCount()>0) |
573 |
getJButtonAccept().setEnabled(true);
|
574 |
else
|
575 |
getJButtonAccept().setEnabled(false);
|
576 |
} |
577 |
else if (op.equals("Recientes")) { |
578 |
if(CRSPanel.rp.getJTable().getSelectedRowCount()>0) |
579 |
getJButtonAccept().setEnabled(true);
|
580 |
else
|
581 |
getJButtonAccept().setEnabled(false);
|
582 |
} |
583 |
else if (op.equals("ESRI")) { |
584 |
if(CRSPanel.esp.getJTextOpen().getText().length()>0) |
585 |
getJButtonAccept().setEnabled(true);
|
586 |
else
|
587 |
getJButtonAccept().setEnabled(false);
|
588 |
} |
589 |
cl.show(CRSPanel.jPanelMain, (String)e.getItem());
|
590 |
CRSPanel.setDataSource((String)e.getItem());
|
591 |
} |
592 |
|
593 |
private void update(DocumentEvent e) { |
594 |
if( e.getDocument() == CRSPanel.esp.getJTextOpen().getDocument()){
|
595 |
if(CRSPanel.esp.getJTextOpen().getText().length()>0) |
596 |
getJButtonAccept().setEnabled(true);
|
597 |
else
|
598 |
getJButtonAccept().setEnabled(false);
|
599 |
} |
600 |
} |
601 |
|
602 |
public void changedUpdate(DocumentEvent e) { |
603 |
// TODO Auto-generated method stub
|
604 |
|
605 |
} |
606 |
|
607 |
public void insertUpdate(DocumentEvent e) { |
608 |
update(e); |
609 |
} |
610 |
|
611 |
public void removeUpdate(DocumentEvent e) { |
612 |
update(e); |
613 |
} |
614 |
} |