Revision 16286

View differences:

trunk/libraries/libJCRS/src/org/gvsig/crs/gui/listeners/CRSMainTrPanelListener.java
241 241
        	panel.setRecents_tr(false);
242 242
        	panel.getJButtonNext().setVisible(true);
243 243
		    panel.getJButtonAccept().setVisible(false);
244
		    panel.getJButtonAccept().setEnabled(true);
244 245
		    panel.getJButtonBefore().setEnabled(false);
245 246
		}
246 247
		
......
577 578
	        	panel.getRecentsTrPanel().setCode(Integer.parseInt(cad[1]));
578 579
	        	String[] transformation = ((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).split(":");
579 580
	        	if (transformation[0].equals("EPSG")){	        		
580
					panel.getRecentsTrPanel().setTrCode(Integer.parseInt(transformation[1]));	
581
	        		panel.getRecentsTrPanel().setTrCode(Integer.parseInt(transformation[1]));
582
					String sentence = "SELECT target_crs_code " +
583
									"FROM epsg_coordoperation " +                        
584
									"WHERE coord_op_code = " + panel.getRecentsTrPanel().getTrCode();
585
				    ResultSet result = Query.select(sentence,panel.getRecentsTrPanel().connect.getConnection());
586
				    
587
					try {
588
						result.next();						
589
						int tar = result.getInt("target_crs_code");
590
						int crs_target = Integer.parseInt(((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,3)).split(":")[1]);
591
						int crs_base = -1;
592
						sentence = "SELECT source_geogcrs_code " +
593
								  "FROM epsg_coordinatereferencesystem " +	                              
594
	                              "WHERE coord_ref_sys_code = " + crs_target;
595
						result = Query.select(sentence,panel.getRecentsTrPanel().connect.getConnection());
596
						try {
597
							result.next();
598
							crs_base = result.getInt("source_geogcrs_code");
599
						} catch (SQLException e1) {
600
							crs_base = -1;
601
						}						
602
						
603
						if (tar == crs_target || tar == crs_base) 
604
							panel.getRecentsTrPanel().setInverseTransformation(false);					
605
						else panel.getRecentsTrPanel().setInverseTransformation(true);
606
						} catch (SQLException e1) {
607
							// TODO Auto-generated catch block
608
							e1.printStackTrace();
609
						}				 	        		
581 610
	        	}
582 611
	        	panel.getRecentsTrPanel().getJButtonInfo().setEnabled(true);	        	
583 612
	        	panel.getJButtonAccept().setEnabled(true);
......
920 949
		}
921 950
		if (e.getSource() == panel.getRecentsTrPanel().getJTable()){
922 951
			if (e.getClickCount() == 2){
923
				if (((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).equals("USR")){
952
				String[] transf = ((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).split(":");
953
				if (transf[0].equals("USR")){
924 954
	        		panel.getRecentsTrPanel().setParamsManual((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4));
925 955
	        		panel.setProjection(panel.getRecentsTrPanel().getProjection());
926 956
	        	}
927
				if (((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).equals("EPSG")){
957
				if (transf[0].equals("EPSG")){
928 958
					GetTransepsg epsgParams = new GetTransepsg(panel.getRecentsTrPanel().getTrCode(),panel.getEpsgTrPanel().connect, panel.getRecentsTrPanel().getInverseTransformation());
929 959
					panel.getRecentsTrPanel().setParamsEPGS(epsgParams.getParamValue());
930 960
					panel.setProjection(panel.getRecentsTrPanel().getProjection());
931 961
	        	}
932
				if (((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,0)).equals("NADGR")){
962
				if (transf[0].equals("NADGR")){
933 963
					panel.setProjection(panel.getRecentsTrPanel().getProjectionNad((String)panel.getRecentsTrPanel().sorter.getValueAt(panel.getRecentsTrPanel().selectedRowTable,4)));
934 964
				}
935 965
				//panel.setProjection(panel.getRecentsTrPanel().getProjection());

Also available in: Unified diff