Revision 1717 org.gvsig.raster.georeferencing/trunk/org.gvsig.raster.georeferencing/org.gvsig.raster.georeferencing.app/org.gvsig.raster.georeferencing.app.georeferencingclient/src/main/java/org/gvsig/raster/georeferencing/app/georeferencingclient/Georeferencing.java

View differences:

Georeferencing.java
26 26
import java.util.List;
27 27

  
28 28
import javax.swing.JPanel;
29
import javax.swing.table.DefaultTableModel;
29 30

  
30 31
import org.gvsig.andami.PluginServices;
31 32
import org.gvsig.andami.ui.mdiManager.IWindow;
......
40 41
import org.gvsig.fmap.geom.primitive.Envelope;
41 42
import org.gvsig.fmap.mapcontrol.MapControl;
42 43
import org.gvsig.i18n.Messages;
43
import org.gvsig.raster.georeferencing.app.georeferencingclient.gui.CheckBoxColumnEditor;
44
import org.gvsig.raster.georeferencing.app.georeferencingclient.gui.CheckBoxColumnRenderer;
45
import org.gvsig.raster.georeferencing.app.georeferencingclient.gui.GCPModel;
46 44
import org.gvsig.raster.georeferencing.app.georeferencingclient.listener.ApplicationControlsListener;
47 45
import org.gvsig.raster.georeferencing.app.georeferencingclient.listener.LauncherDialogListener;
48 46
import org.gvsig.raster.georeferencing.app.georeferencingclient.listener.ViewDialogListener;
......
59 57
import org.gvsig.raster.georeferencing.swing.control.GeorefControlPanel;
60 58
import org.gvsig.raster.georeferencing.swing.exception.InvalidRequestException;
61 59
import org.gvsig.raster.georeferencing.swing.impl.GeoreferencingSwingImplLibrary;
62
import org.gvsig.raster.georeferencing.swing.impl.tool.SelectPointTool;
63 60
import org.gvsig.raster.georeferencing.swing.view.GeoreferencingView;
64 61
import org.gvsig.raster.georeferencing.swing.view.IViewRequestManager;
65 62
import org.gvsig.raster.georeferencing.swing.view.SynchronizedViews;
66
import org.gvsig.raster.swing.RasterSwingLocator;
67
import org.gvsig.raster.swing.RasterSwingManager;
68
import org.gvsig.raster.swing.pagedtable.ModelLoader;
69 63
import org.gvsig.raster.swing.pagedtable.PagedTable;
70 64

  
71 65
/**
......
97 91
	                                      fManager                       = null;
98 92
	private GeoreferencingSwingManager    sManager                       = null;
99 93
	
100
	private RasterDataStore               storeToGeoref                  = null;
101
	private String                        selectedView                   = null;
102
		
103 94
	//Dialogos
104 95
	private GeoreferencingLauncher        launcher                       = null;
105 96
	private GeoreferencingView            viewRaster                     = null;
......
109 100
	
110 101
	private ViewRasterRequestManager      zoomRasterRequestManager       = null;  
111 102
	private ViewMapRequestManager         zoomMapRequestManager          = null;
112
		
113
	//Herramientas de selecci?n
114
	private SelectPointTool               viewRasterSelectPointTool      = null;
115
	private SelectPointTool               viewMapSelectPointTool         = null;
116
	private SelectPointTool               zoomRasterSelectPointTool      = null;
117
	private SelectPointTool               zoomMapSelectPointTool         = null;
118 103
	
119 104
	private GeorefControlPanel            georefControlPanel             = null;
120 105

  
121
	private PagedTable                    table                          = null;
122
	private ApplicationControlsListener   buttonsListener                = null;
106
	private TableWrapper                  table                          = null;
123 107

  
124 108
	private MapControl                    mapCtrl                        = null;
125 109
	private GeoreferencingOptionsDataModel 
......
128 112
	private SynchronizedViews             syncViews                      = null;
129 113
	private ViewDialogListener            listener                       = null;
130 114
	private GeoreferencingProcessActions  processActions                 = null;
115
	private ApplicationControlsListener   appControlsListener            = null;
131 116
	
132
	//private LayersPointManager            layersPointManager             = null;
133 117
	class GeoPointListImpl extends ArrayList<GeoPoint> implements GeoPointList {
134 118
		private static final long serialVersionUID = 1L;
135 119
	}
......
139 123
		sManager = GeoreferencingSwingLocator.getSwingManager();
140 124
		listener = new ViewDialogListener(this);
141 125
		processActions = new GeoreferencingProcessActions();
142
		//getLayerPointManager();	
143
		//getViewsManager();
144 126
		launcher();
145 127
	}
146 128
	
......
165 147
		fManager.showWindow(launcher.getComponent(), 400, 420, Messages.getText("georeferencing"));
166 148
	}
167 149
	
168
	/**
169
	 * Obtiene el gestor para capas de puntos de la aplicaci?n,
170
	 * @return LayersPointManager
171
	 */
172
	/*	if(layersPointManager == null)
173
			layersPointManager = new LayersPointManager(this);
174
		return layersPointManager;
175
	}*/
176
	
177
	/**
178
	 * Obtiene el gestor para las vistas de la aplicaci?n,
179
	 * @return ViewsManager
180
	 */
181
	/*public ViewsManager getViewsManager() {
182
		if(viewsManager == null)
183
			viewsManager = new ViewsManager();
184
		return viewsManager;
185
	}*/
186
	
187
	public void setSelectedView(String selectedView) {
188
		this.selectedView = selectedView;
189
	}
190
	
191
	/**
192
	 * Obtiene la lista de capas de la vista de gvSIG
193
	 * @return
194
	 */
195
	/*public FLayers getLayers() {
196
		MapControl mapControl = null;
197
		IWindow[] windowList = PluginServices.getMDIManager().getAllWindows();
198
		for (int i = 0; i < windowList.length; i++) {
199
			if(windowList[i] instanceof IView) 
200
				mapControl = ((IView)windowList[i]).getMapControl();
201
		}
202
		if(mapControl != null)
203
			return mapControl.getMapContext().getLayers();
204
		return null;
205
	}*/
206
	
207
	private MapControl getMapCtrl() {
150
	public MapControl getMapCtrl() {
208 151
		if(mapCtrl == null) {
209 152
			IWindow[] windowList = PluginServices.getMDIManager().getAllWindows();
210 153
			for (int i = 0; i < windowList.length; i++) {
......
225 168
			initWindowsWithMap(dataModel);
226 169
		if(dataModel.getType() == Georeferencing.WITHOUT_MAP)
227 170
			initWindowsWithoutMap(dataModel);
171
		createAppControlsListener();
228 172
	}
229 173
	
230 174
	/**
......
234 178
	private void initWindowsWithoutMap(GeoreferencingOptionsDataModel dataModel) {
235 179
		RasterDataStore store = dataModel.getDataStore();
236 180
		
237
		getOptionsDataModel().setType(WITHOUT_MAP);
181
		getDataModel().setType(WITHOUT_MAP);
238 182
		 				
239 183
		//Inicializaci?n de la ventana con la vista raster
240 184
		viewRaster = sManager.createView(true, false, true, listener);
241 185
		ViewRasterRequestManager viewRasterRequestManager = new ViewRasterRequestManager(viewRaster, store);
186
		viewRaster.setMinxMaxyUL(false);
242 187
		viewRaster.setViewListener(listener);
243 188
		viewRaster.setRequestListener(viewRasterRequestManager);
244 189
		viewRaster.setTool(GeoreferencingSwingLibrary.SELECT_POINT_TOOL, listener);
......
246 191
		//Inicializaci?n de la ventana del zoom de la vista raster
247 192
		zoomRaster = sManager.createZoom(true, false);
248 193
		zoomRasterRequestManager = new ViewRasterRequestManager(zoomRaster, store);
194
		zoomRaster.setMinxMaxyUL(false);
249 195
		zoomRaster.setRequestListener(zoomRasterRequestManager);
250 196
		zoomRaster.setTool(GeoreferencingSwingLibrary.SELECT_POINT_TOOL, listener);
251 197
		
252
		PagedTable pt = getTable();
198
		PagedTable pt = getTableWrapper().getTable();
253 199
		
254 200
		//Creamos el layout
255 201
		
......
290 236
		}
291 237
	}
292 238
	
293
	public PagedTable getTable() {
239
	public TableWrapper getTableWrapper() {
294 240
		if(table == null) {
295
			RasterSwingManager manager = RasterSwingLocator.getSwingManager();
296
			String[] columnNames = {
297
					"-", 
298
					Messages.getText("num"), 
299
					Messages.getText("worldx"), 
300
					Messages.getText("worldy"), 
301
					Messages.getText("imagex"), 
302
					Messages.getText("imagey"), 
303
					"Error X", "Error Y", "RMS"};
304
			int[] columnSizes = {40, 37, -1, -1, -1, -1, -1, -1, -1};
305

  
306
			GCPModel model = new GCPModel(columnNames);
307
			ModelLoader loader = manager.createModelLoader(model);
308
			CheckBoxColumnRenderer render = new CheckBoxColumnRenderer(null);
309
			CheckBoxColumnEditor editor = new CheckBoxColumnEditor();
310
			loader.setRenderForColumn(0, render);
311
			loader.setCellEditorForColumn(0, editor);
312
			loader.setColumnNames(columnNames);
313
			loader.setColumnWidths(columnSizes);
314
			
315
			table = manager.createPagedTable(loader);
241
			table = new TableWrapper(getGeoPointList(), getDataModel(), getGeorefControlPanel());
316 242
		}
317 243
		return table;
318 244
	}
319 245
	
246
	public void createAppControlsListener() {
247
		if(appControlsListener == null) {
248
			appControlsListener = new ApplicationControlsListener(getTableWrapper(), this);
249
			((DefaultTableModel)getTableWrapper().getTable().getTableModel()).addTableModelListener(appControlsListener);
250
			getGeorefControlPanel().setListener(appControlsListener);
251
		}
252
	}
253
	
320 254
	/**
321 255
	 * Colocaci?n inicial de las ventanas del espacio de trabajo. Carga la configuraci?n
322 256
	 * de ventanas con cartograf?a de referencia.
......
324 258
	private void initWindowsWithMap(GeoreferencingOptionsDataModel dataModel) {
325 259
		RasterDataStore store = dataModel.getDataStore();
326 260
		
327
		getOptionsDataModel().setType(WITH_MAP);
261
		getDataModel().setType(WITH_MAP);
328 262
		 				
329 263
		//Inicializaci?n de la ventana con la vista raster
330 264
		viewRaster = sManager.createView(true, false, true, listener);
331 265
		ViewRasterRequestManager viewRasterRequestManager = new ViewRasterRequestManager(viewRaster, store);
266
		viewRaster.setMinxMaxyUL(false);
332 267
		viewRaster.setViewListener(listener);
333 268
		viewRaster.setRequestListener(viewRasterRequestManager);
334 269
		viewRaster.setTool(GeoreferencingSwingLibrary.SELECT_POINT_TOOL, listener);
335 270
		
336 271
		//Inicializaci?n de la ventana del zoom de la vista raster
337 272
		zoomRaster = sManager.createZoom(true, false);
273
		zoomRaster.setMinxMaxyUL(false);
338 274
		zoomRasterRequestManager = new ViewRasterRequestManager(zoomRaster, store);
339 275
		zoomRaster.setRequestListener(zoomRasterRequestManager);
340 276
		zoomRaster.setTool(GeoreferencingSwingLibrary.SELECT_POINT_TOOL, listener);
341 277
		
342 278
		//Inicializaci?n de la ventana con la vista del terreno
343 279
		viewMap = sManager.createView(true, false, false, listener);
280
		viewMap.setMinxMaxyUL(true);
344 281
		ViewMapRequestManager viewMapRequestManager = new ViewMapRequestManager(viewMap, getMapCtrl());
345 282
		viewMap.setViewListener(listener);
346 283
		viewMap.setRequestListener(viewMapRequestManager);
......
348 285
		
349 286
		//Inicializaci?n de la ventana del zoom de la vista del terreno
350 287
		zoomMap = sManager.createZoom(true, false);
288
		zoomMap.setMinxMaxyUL(true);
351 289
		zoomMapRequestManager = new ViewMapRequestManager(zoomMap, getMapCtrl());
352 290
		zoomMap.setRequestListener(zoomMapRequestManager);
353 291
		zoomMap.setTool(GeoreferencingSwingLibrary.SELECT_POINT_TOOL, listener);
354 292
		
355
		PagedTable pt = getTable();
293
		PagedTable pt = getTableWrapper().getTable();
356 294
		
357 295
		//Creamos el layout
358 296
		LayoutEnvironment layoutEnv = fManager.createLayoutEnvironment();
......
368 306
		IViewRequestManager[] rm = new IViewRequestManager[]{viewMapRequestManager, viewRasterRequestManager, zoomMapRequestManager, zoomRasterRequestManager};
369 307
		syncViews = sManager.createSyncViews(v, rm, getGeoPointList(), pt, listener);
370 308
		
371
		getOptionsDataModel().setType(WITH_MAP);
309
		getDataModel().setType(WITH_MAP);
372 310
//		
373 311
//		viewsManager.setViews(viewRaster, viewMap, zoomRaster, zoomMap);
374 312
//		viewsManager.setRequestsManager(viewRasterRequestManager, viewMapRequestManager, zoomRasterRequestManager, zoomMapRequestManager);
......
412 350
			fManager.closeAllWindows();
413 351
		}
414 352
	}
415
	
416
	/**
417
	 * A?ade una capa en la vista del mapa para previsualizar el resultado
418
	 * @param lyr
419
	 */
420
	/*public void addTestRasterLayer(FLyrRaster lyr) {
421
		viewsManager.addTestRasterLayer(lyr, 
422
				getOptions().getAlgorithm(), 
423
				getOptions().getInterpolationMethod(), 
424
				getOptions().getDegree(), 
425
				getOptions().getOutFile());
426
	}*/
427
	
428
	/**
429
	 * Elimina la capa de test de la vista de mapa
430
	 * @throws InvalidRequestException 
431
	 */
432
	/*public void removeTestRasterLayer() {
433
		viewsManager.removeTestRasterLayer();
434
	}*/
435
	
436
	/**
437
	 * Obtiene la ?ltima capa procesada con los puntos de  control
438
	 * @return FLyrRaterSE
439
	 */
440
	/*public FLyrRaster getLastTestLayer() {
441
		return viewsManager.getLastTestLayer();
442
	}*/
443
	
444
	/**
445
	 * Gets the georeferencing options data model
446
	 * @return
447
	 */
448
	public GeoreferencingOptionsDataModel getOptionsDataModel() {
449
		GeoreferencingSwingManager manager = GeoreferencingSwingLocator.getSwingManager();
450
		return manager.getDataModel();
451
		//options = manager.createWindowOptions(Georeferencing.DEFAULT_DEGREE, this);
452
	}
453 353
		
454 354
	public GeoreferencingView getViewRaster() {
455 355
		return viewRaster;
......
499 399
	public RasterDataStore getLayer() {
500 400
		return launcher.getDataModel().getDataStore();
501 401
	}
402

  
403
	public GeoreferencingProcessActions getProcessActions() {
404
		return processActions;
405
	}
406
	
407
	public GeoreferencingOptionsDataModel getDataModel() {
408
		return launcher.getDataModel();
409
	}
502 410
		
503 411
}

Also available in: Unified diff