Revision 8800 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.app/org.gvsig.raster.app.mainplugin/src/main/java/org/gvsig/raster/app/mainplugin/operations/OperationsPagePanelController.java
OperationsPagePanelController.java | ||
---|---|---|
290 | 290 |
} |
291 | 291 |
|
292 | 292 |
private void updatePreviewers() { |
293 |
updatePreviewer(); |
|
294 |
updateMiddlePreviewer(); |
|
295 |
} |
|
296 |
|
|
297 |
private void updatePreviewer() { |
|
293 | 298 |
if (this.initialized) { |
294 | 299 |
RasterLegend legendForPreview = this.clonedLayerForPreview.getLegend(); |
295 |
RasterLegend legendForMiddlePreview = this.clonedLayerForMiddlePreview.getLegend(); |
|
296 | 300 |
OperationList operationListForPreview = ((OperationManager) BufferLocator.getBufferManager()).createOperationList(); |
297 | 301 |
operationListPanel.fetch(operationListForPreview); |
298 |
OperationList operationListForMiddlePreview = |
|
299 |
((OperationManager) BufferLocator.getBufferManager()).createOperationList(); |
|
300 |
operationListPanel.fetch(operationListForMiddlePreview); |
|
301 | 302 |
int selectedRow = operationListPanel.getSelectedRow(); |
302 | 303 |
if (selectedRow >= 0 && selectedRow<operationListForPreview.size()) { |
303 | 304 |
OperationListEntry selectedEntryForPreview = operationListForPreview.get(selectedRow); |
304 |
OperationListEntry selectedEntryForMiddlePreview = operationListForPreview.get(selectedRow); |
|
305 | 305 |
DynObject parametersForPreview = selectedEntryForPreview.getParameters(); |
306 |
DynObject parametersForMiddlePreview = selectedEntryForMiddlePreview.getParameters(); |
|
307 | 306 |
if (form.hasValidValues()) { |
308 | 307 |
form.getValues(parametersForPreview); |
309 |
form.getValues(parametersForMiddlePreview); |
|
310 | 308 |
// Update complete previewer but the selected entry is filled with form values |
311 | 309 |
legendForPreview.setFilters(operationListForPreview); |
310 |
} |
|
311 |
} else if(selector.getSelected()!=null){ |
|
312 |
updateLegendFromSelector(legendForPreview, operationListForPreview); |
|
313 |
} else { |
|
314 |
form = null; |
|
315 |
//update legend with complete operationList |
|
316 |
legendForPreview.setFilters(operationListForPreview); |
|
317 |
} |
|
318 |
} |
|
312 | 319 |
|
320 |
|
|
321 |
} |
|
322 |
|
|
323 |
private void updateMiddlePreviewer() { |
|
324 |
if (this.initialized) { |
|
325 |
RasterLegend legendForMiddlePreview = this.clonedLayerForMiddlePreview.getLegend(); |
|
326 |
OperationList operationListForMiddlePreview = |
|
327 |
((OperationManager) BufferLocator.getBufferManager()).createOperationList(); |
|
328 |
operationListPanel.fetch(operationListForMiddlePreview); |
|
329 |
int selectedRow = operationListPanel.getSelectedRow(); |
|
330 |
if (selectedRow >= 0 && selectedRow<operationListForMiddlePreview.size()) { |
|
331 |
OperationListEntry selectedEntryForMiddlePreview = operationListForMiddlePreview.get(selectedRow); |
|
332 |
DynObject parametersForMiddlePreview = selectedEntryForMiddlePreview.getParameters(); |
|
333 |
if (form.hasValidValues()) { |
|
334 |
form.getValues(parametersForMiddlePreview); |
|
313 | 335 |
// Update middle previewer but the selected entry is filled with form values |
314 | 336 |
while(operationListForMiddlePreview.size()>selectedRow+1){ |
315 | 337 |
operationListForMiddlePreview.remove(operationListForMiddlePreview.size()-1); |
... | ... | |
317 | 339 |
legendForMiddlePreview.setFilters(operationListForMiddlePreview); |
318 | 340 |
} |
319 | 341 |
} else if(selector.getSelected()!=null){ |
320 |
OperationFactory factory = selector.getSelected(); |
|
321 |
DynObject parameters = factory.createParameters(); |
|
322 |
if (form.hasValidValues()) { |
|
323 |
form.getValues(parameters); |
|
324 |
OperationManager operationManager = BufferLocator.getOperationManager(); |
|
325 |
OperationListEntry entryForPreview = operationManager.createOperationListEntry(factory.create(), parameters); |
|
326 |
OperationListEntry entryForMiddlePreview = null; |
|
327 |
entryForPreview.setActive(true); |
|
328 |
try { |
|
329 |
entryForMiddlePreview = (OperationListEntry)entryForPreview.clone(); |
|
330 |
} catch (CloneNotSupportedException e) { |
|
331 |
LOG.warn("Can't get the operation list."); |
|
332 |
} |
|
333 |
operationListForPreview.add(entryForPreview); |
|
334 |
if(entryForMiddlePreview!=null){ |
|
335 |
operationListForMiddlePreview.add(entryForMiddlePreview); |
|
336 |
} |
|
337 |
//update both previewers with complete operationList but the last entry is filled with form values |
|
338 |
legendForPreview.setFilters(operationListForPreview); |
|
339 |
legendForMiddlePreview.setFilters(operationListForMiddlePreview); |
|
340 |
} |
|
342 |
updateLegendFromSelector(legendForMiddlePreview, operationListForMiddlePreview); |
|
341 | 343 |
} else { |
342 | 344 |
form = null; |
343 |
//update both previewers with complete operationList |
|
344 |
legendForPreview.setFilters(operationListForPreview); |
|
345 |
legendForMiddlePreview.setFilters(operationListForPreview); |
|
345 |
//update legend with complete operationList |
|
346 |
legendForMiddlePreview.setFilters(operationListForMiddlePreview); |
|
346 | 347 |
} |
347 |
// MapControl mapControl = (MapControl) previewer.asJComponent(); |
|
348 |
// MapContext mapContext = mapControl.getMapContext(); |
|
349 |
// mapContext.invalidate(); |
|
350 |
// mapControl.paintImmediately(new Rectangle(mapControl.getSize())); |
|
351 |
// |
|
352 |
// MapControl middleMapControl = (MapControl) middlePreviewer.asJComponent(); |
|
353 |
// MapContext middleMapContext = middleMapControl.getMapContext(); |
|
354 |
// middleMapContext.invalidate(); |
|
355 |
// middleMapControl.paintImmediately(new Rectangle(middleMapControl.getSize())); |
|
356 | 348 |
} |
357 | 349 |
} |
358 | 350 |
|
351 |
/** |
|
352 |
* @param rasterLegend |
|
353 |
* @param operationList |
|
354 |
*/ |
|
355 |
private void updateLegendFromSelector(RasterLegend rasterLegend, OperationList operationList) { |
|
356 |
OperationFactory factory = selector.getSelected(); |
|
357 |
DynObject parameters = factory.createParameters(); |
|
358 |
if (form.hasValidValues()) { |
|
359 |
//update legend with complete operationList but the last entry is filled with form values |
|
360 |
form.getValues(parameters); |
|
361 |
OperationManager operationManager = BufferLocator.getOperationManager(); |
|
362 |
OperationListEntry entryForPreview = operationManager.createOperationListEntry(factory.create(), parameters); |
|
363 |
entryForPreview.setActive(true); |
|
364 |
operationList.add(entryForPreview); |
|
365 |
rasterLegend.setFilters(operationList); |
|
366 |
} |
|
367 |
} |
|
359 | 368 |
|
369 |
|
|
360 | 370 |
private void translate() { |
361 | 371 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
362 | 372 |
previewer.asJComponent().setToolTipText(i18nManager.getTranslation(previewer.asJComponent().getToolTipText())); |
Also available in: Unified diff