Revision 578 org.gvsig.projection.jcrs/trunk/org.gvsig.projection.jcrs/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/gui/panels/CrsRecentsPanel.java

View differences:

CrsRecentsPanel.java
73 73

  
74 74
/**
75 75
 * Clase que genera el panel de recientes
76
 * 
76
 *
77 77
 * @author Jos Luis Gmez Martnez (jolugomar@gmail.com)
78 78
 * @author Diego Guerrero Sevilla (diego.guerrero@uclm.es)
79 79
 * @author Luisa Marina Fernndez (luisam.fernandez@uclm.es)
......
84 84
	public static final Logger logger = LoggerFactory.getLogger(CrsRecentsPanel.class);
85 85

  
86 86
	/**
87
	 * 
87
	 *
88 88
	 */
89 89
	private static final long serialVersionUID = 1L;
90
	
90

  
91 91
	public JTable jTable = null;
92 92
	private JScrollPane jScrollPane = null;
93 93
	private JButton infoCrs=null;
94 94
	public DefaultTableModel dtm = null;
95 95
	public TableSorter sorter = null;
96 96
	private CrsData crsDataArray[] = null;
97
	
97

  
98 98
	public int selectedRowTable = -1;
99 99
	private String authority = null;
100 100
	private int codeCRS = -1;
101 101
	private ICrs crs = null;
102
	
102

  
103 103
	public CrsRecentsPanel() {
104 104
		super();
105 105
		initialize();
106 106
	}
107
	
107

  
108 108
	private void initialize(){
109 109
		this.setLayout(new BorderLayout());
110 110
		JPanel p=new JPanel(new FlowLayout(FlowLayout.LEFT,15,15));
......
115 115
		pSouth.add(getInfoCrs());
116 116
		this.add(pSouth,BorderLayout.SOUTH);
117 117
	}
118
	
118

  
119 119
	private JLabel getJLabel(){
120 120
		JLabel label = new JLabel();
121 121
		label.setText(PluginServices.getText(this, "ultimos_crs_utilizados")+":");
......
143 143
			String[] columnNames= {PluginServices.getText(this,"repository"),
144 144
					PluginServices.getText(this,"codigo"),
145 145
					PluginServices.getText(this,"nombre")};
146
			Object[][]data = {};			
146
			Object[][]data = {};
147 147
			dtm = new DefaultTableModel(data, columnNames)
148 148
			 {
149 149
				private static final long serialVersionUID = 1L;
......
161 161
					return getValueAt(0, column).getClass();
162 162
				}
163 163
				};
164
			sorter = new TableSorter(dtm);			
164
			sorter = new TableSorter(dtm);
165 165

  
166 166
			jTable = new JTable(sorter);
167 167
			sorter.setTableHeader(jTable.getTableHeader());
......
173 173
			for (int i = 0; i < 3; i++) {
174 174
			    column = jTable.getColumnModel().getColumn(i);
175 175
			    if (i == 0) {
176
			        column.setPreferredWidth(80); //code column is shorter			     	
176
			        column.setPreferredWidth(80); //code column is shorter
177 177
			    }else if (i == 2) {
178 178
			    	column.setPreferredWidth(275);
179 179
			    }
180
			    else {			    
180
			    else {
181 181
			        column.setPreferredWidth(140);
182 182
			    }
183
			}	
183
			}
184 184
		}
185
		return jTable;		
185
		return jTable;
186 186
	}
187
	
187

  
188 188
	/**
189 189
	 * Inicializa el botn que obtiene la informacin del CRS
190 190
	 * @return
......
201 201
		}
202 202
		return infoCrs;
203 203
	}
204
	public ICrs getProjection() {		
204
	public ICrs getProjection() {
205 205
		return crs;
206 206
	}
207
	
207

  
208 208
	public void setCodeCRS(int code) {
209 209
		codeCRS = code;
210 210
	}
211
	
211

  
212 212
	public int getCodeCRS() {
213 213
		return codeCRS;
214 214
	}
215
	
215

  
216 216
	public void setProjection(IProjection crs) {
217 217
		//setCrs((ICrs) crs);
218 218
	}
219
	
219

  
220 220
	/**
221 221
	 * Carga en la tabla los CRSs leidos del sistema de persistencia.
222 222
	 */
223 223
	public void loadRecents(){
224
		
224

  
225 225
//		 Eliminar filas en cada nueva bsqueda
226 226
		int numRow = dtm.getRowCount();
227 227
		while (numRow != 0) {
228 228
			numRow = numRow - 1;
229 229
			dtm.removeRow(numRow);
230 230
		}
231
		
231

  
232 232
		RecentCRSsPersistence persistence = new RecentCRSsPersistence();
233 233
		crsDataArray = persistence.getArrayOfCrsData();
234 234
		boolean available = true;
235
		for (int iRow = crsDataArray.length-1;iRow>=0;iRow--){
236
			Object row[] ={crsDataArray[iRow].getAuthority(),Integer.toString(crsDataArray[iRow].getCode()),crsDataArray[iRow].getName()};
237
			if (crsDataArray[iRow].getAuthority().equals(PluginServices.getText(this, "USR"))) {
238
				available = isUSR(crsDataArray[iRow].getCode());
239
			}			
240
			if (available) {
241
				dtm.addRow(row);
242
			} else {
243
				available = true;
244
			}
245
		}
246
		
235
        for (int iRow = crsDataArray.length - 1; iRow >= 0; iRow--) {
236
            if (crsDataArray[iRow].getAuthority() != null) {
237
                Object row[] =
238
                    { crsDataArray[iRow].getAuthority(), Integer.toString(crsDataArray[iRow].getCode()),
239
                        crsDataArray[iRow].getName() };
240
                if (crsDataArray[iRow].getAuthority().equals(PluginServices.getText(this, "USR"))) {
241
                    available = isUSR(crsDataArray[iRow].getCode());
242
                }
243
                if (available) {
244
                    dtm.addRow(row);
245
                } else {
246
                    available = true;
247
                }
248
            }
249
        }
250

  
247 251
		/*
248 252
		/*Seleccionar el primer registro.
249 253
		 */
......
251 255
		if (numr != 0 )
252 256
			this.getJTable().setRowSelectionInterval(0,0);
253 257
	}
254
	
258

  
255 259
	/**
256 260
	 * metodo que nos indica si un crs de usuario esta o no en la base de datos de usuario
257 261
	 * @param code
258 262
	 * @return
259 263
	 */
260 264
	public boolean isUSR(int code) {
261
		NewCRSPanel usr = new NewCRSPanel();		
265
		NewCRSPanel usr = new NewCRSPanel();
262 266
		return usr.isInBD(code);
263 267
	}
264 268

  
265 269
	public ICrs getCrs() {
266 270
		return crs;
267 271
	}
268
	
272

  
269 273
	public void initCrs(){
270
		
271
		selectedRowTable = getJTable().getSelectedRow();		        			        	
274

  
275
		selectedRowTable = getJTable().getSelectedRow();
272 276
    	Integer.parseInt((String)sorter.getValueAt(selectedRowTable,1));
273 277
		setAuthority((String)sorter.getValueAt(selectedRowTable,0)+":"+(String)sorter.getValueAt(selectedRowTable,1));
274
    	
278

  
275 279
		codeCRS = Integer.parseInt((String)sorter.getValueAt(selectedRowTable,1));
276 280
		try {
277 281
			crs = new CrsFactory().getCRS(getAuthority());
......
280 284

  
281 285
		}
282 286
	}
283
	
287

  
284 288
	public String getAuthority() {
285 289
		return authority;
286 290
	}
287
	
291

  
288 292
	public void setAuthority(String aut) {
289 293
		this.authority = aut;
290 294
	}
......
293 297
		/*Si el objeto que genera el evento es el JButton 'InfoCrs'
294 298
		se muestra la informacin ralicionada con el Crs seleccionado en la tabla*/
295 299
		if (e.getSource() == this.getInfoCrs()) {
296
			String[] aut = getAuthority().split(":");			
300
			String[] aut = getAuthority().split(":");
297 301
			InfoCRSPanel info = new InfoCRSPanel(aut[0], getCodeCRS());
298 302
			PluginServices.getMDIManager().addWindow(info);
299 303
		}
300
		
304

  
301 305
	}
302 306

  
303 307
}

Also available in: Unified diff