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
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