Revision 46174 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/ViewControls.java
ViewControls.java | ||
---|---|---|
440 | 440 |
for (FLayer layer : actives) { |
441 | 441 |
FLayers layers = layer.getParentLayer(); |
442 | 442 |
int position = this.getPositionInFlayersGroup(layers, layer); |
443 |
int newPosition = getValidTocPosition(position, layers, -1); |
|
444 |
layers.moveTo(position,newPosition); |
|
443 |
if( position < 1 ) { |
|
444 |
FLayers layersParent = layers.getParentLayer(); |
|
445 |
if( layersParent!=null ) { |
|
446 |
int layersPosition = this.getPositionInFlayersGroup(layersParent, layers); |
|
447 |
int newPosition = layersParent.size()-getValidTocPosition(layersPosition, layersParent, -1)-1; |
|
448 |
layersParent.add(newPosition, layer); |
|
449 |
layers.remove(layer); |
|
450 |
} |
|
451 |
} else { |
|
452 |
int newPosition = getValidTocPosition(position, layers, -1); |
|
453 |
layers.moveTo(position,newPosition); |
|
454 |
} |
|
445 | 455 |
} |
446 | 456 |
List<FLayers> flayersGroup = getFirstLevelGroupsFromLayers(groupLayers); |
447 | 457 |
for (FLayers fLayer : flayersGroup) { |
... | ... | |
454 | 464 |
for (FLayer layer : actives) { |
455 | 465 |
FLayers layers = layer.getParentLayer(); |
456 | 466 |
int position = this.getPositionInFlayersGroup(layers, layer); |
457 |
int newPosition = getValidTocPosition(position, layers, +1); |
|
458 |
layers.moveTo(position, newPosition); |
|
467 |
if( position >= layers.size()-1 ) { |
|
468 |
FLayers layersParent = layers.getParentLayer(); |
|
469 |
if( layersParent!=null ) { |
|
470 |
int layersPosition = this.getPositionInFlayersGroup(layersParent, layers); |
|
471 |
int newPosition = layersParent.size() - layersPosition + 1; |
|
472 |
if (newPosition < 0) { |
|
473 |
layersParent.add(0, layer); |
|
474 |
} else if (newPosition >= layersParent.getLayersCount()) { |
|
475 |
layersParent.add(layersParent.size(),layer); |
|
476 |
} else { |
|
477 |
layersParent.add(newPosition, layer); |
|
478 |
} |
|
479 |
// int newPosition = layersParent.size()-getValidTocPosition(layersPosition, layersParent, +1); |
|
480 |
// layersParent.add(newPosition, layer); |
|
481 |
layers.remove(layer); |
|
482 |
} |
|
483 |
} else { |
|
484 |
int newPosition = getValidTocPosition(position, layers, +1); |
|
485 |
layers.moveTo(position, newPosition); |
|
486 |
} |
|
459 | 487 |
} |
460 | 488 |
List<FLayers> flayersGroup = getFirstLevelGroupsFromLayers(groupLayers); |
461 | 489 |
for (FLayers fLayer : flayersGroup) { |
Also available in: Unified diff