Revision 6906 trunk/libraries/libJCRS/src/org/gvsig/crs/ui/CRSSelectionPanel.java

View differences:

CRSSelectionPanel.java
34 34
import org.gvsig.crs.ogr.GetCRSepsg;
35 35

  
36 36
import com.iver.andami.PluginServices;
37
import com.iver.andami.ui.mdiManager.View;
38
import com.iver.andami.ui.mdiManager.ViewInfo;
37
import com.iver.cit.gvsig.gui.View;
39 38
import com.iver.cit.gvsig.gui.panels.ProjChooserPanel;
40 39

  
41 40
public class CRSSelectionPanel extends JPanel {
......
78 77
	
79 78
	private int codeCRS = -1;	
80 79
	
81
	public CRSSelectionPanel() {		
82
		super();	
80
	/*
81
	 * distinguira entre si es el panel para seleccion solo de CRS o para el de CRS y
82
	 * transformacion
83
	 */
84
	boolean transfPanel = false;
85
	public static boolean si = false;
86
	
87
	public CRSSelectionPanel(boolean trans) {		
88
		super();
89
		transfPanel = trans;
83 90
		pcp = new ProjChooserPanel();
84 91
		initialize();
85 92
	}
......
432 439
			        } 
433 440
			        else {
434 441
			            selectedRowTable = lsm.getMinSelectionIndex();
435

  
436 442
			            setCodeCRS(Integer.parseInt((String)dtm.getValueAt(selectedRowTable,0)));
437 443
			            setWKT();
444
			            
445
			            if (transfPanel){
446
			            	compareCRS();
447
			            }
438 448
			        }
439 449
			        infoCrs.setEnabled(true);
440 450
			    }
451

  
452
				private void compareCRS() {
453
					int base = getCodeCRS();
454
					String datum = "";
455
					int datum_code = -1;
456
					String sentence = "SELECT source_geogcrs_code " +
457
									"FROM epsg_coordinatereferencesystem " +
458
									"WHERE coord_ref_sys_code = "+ base ;
459
					ResultSet result = Query.select(sentence,pcp.connect.getConnection());
460
					int source = 0;
461
					try {
462
						result.next();
463
						source = result.getInt("source_geogcrs_code");
464
					} catch (SQLException e1) {
465
						e1.printStackTrace();
466
					}				
467
				    
468
				    if (source != 0){
469
				    		base = source;		            	
470
				    }
471
				    
472
				    sentence = "SELECT datum_code " +
473
						"FROM epsg_coordinatereferencesystem " +
474
						"WHERE coord_ref_sys_code = "+ base ;
475
				    result = Query.select(sentence,pcp.connect.getConnection());
476
				    
477
				    try {
478
						result.next();
479
						datum_code = result.getInt("datum_code");
480
					} catch (SQLException e1) {
481
						e1.printStackTrace();
482
					}	
483
					
484
					sentence = "SELECT datum_name " +
485
					"FROM epsg_datum " +
486
					"WHERE datum_code = "+ datum_code ;
487
				    result = Query.select(sentence,pcp.connect.getConnection());
488
				    
489
				    try {
490
						result.next();
491
						datum = result.getString("datum_name");
492
					} catch (SQLException e1) {
493
						e1.printStackTrace();
494
					}	
495
					    
496
					if (!((ICrs) View.m_MapControl.getProjection()).getCrsWkt().getDatumName().equals(datum.replaceAll(" ",""))){
497
						si = true;
498
						CrsView.withOutTrans.setEnabled(true);
499
						CrsView.nadgrids.setEnabled(true);
500
						CrsView.epsgTrans.setEnabled(true);
501
						CrsView.manualTrans.setEnabled(true);
502
						CrsView.next.setVisible(true);
503
						CrsView.accept.setVisible(false);
504
						/*
505
						 * logica necesaria para comprobar si los crs bases son iguales
506
						 * y en ese caso deshabilitar opcion transformacion de
507
						 * TransformationEpsgPanel
508
						 */
509
					}
510
					else {
511
						si = false;
512
						CrsView.withOutTrans.setEnabled(false);
513
						CrsView.nadgrids.setEnabled(false);
514
						CrsView.epsgTrans.setEnabled(false);
515
						CrsView.manualTrans.setEnabled(false);
516
						CrsView.next.setVisible(false);
517
						CrsView.accept.setVisible(true);
518
					}
519
				}
441 520
		});
442 521
	}
443 522
		return jTable;

Also available in: Unified diff