Revision 43269 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.fmap.control/src/main/java/org/gvsig/fmap/mapcontrol/dal/feature/swing/FeatureSelectionModel.java
FeatureSelectionModel.java | ||
---|---|---|
315 | 315 |
if ((currentFirst == first) && (currentLast == last)){ |
316 | 316 |
return; |
317 | 317 |
} |
318 |
|
|
319 |
int oldFirst = currentFirst; |
|
320 |
int oldLast = currentLast; |
|
318 | 321 |
currentFirst = first; |
319 | 322 |
currentLast = last; |
320 | 323 |
|
... | ... | |
339 | 342 |
selection.endComplexNotification(); |
340 | 343 |
} |
341 | 344 |
|
342 |
fireValueChanged(first, last, isAdjusting); |
|
345 |
// Para no lanzar dos veces el fireValueChanged sobre las mismas filas de la selecci?n |
|
346 |
if(oldFirst<=first){ |
|
347 |
if(oldLast<first){ //No intersectan los rangos |
|
348 |
fireValueChanged(oldFirst, oldLast, isAdjusting); |
|
349 |
fireValueChanged(first, last, isAdjusting); |
|
350 |
} else { // Intersectan los rangos oldFirst - first - ... |
|
351 |
if (last > oldLast) { // Intersectan los rangos oldFirst - first - oldLast - last |
|
352 |
fireValueChanged(oldFirst, last, isAdjusting); |
|
353 |
} else { // Intersectan los rangos oldFirst - first - last - oldLast |
|
354 |
fireValueChanged(oldFirst, oldLast, isAdjusting); |
|
355 |
} |
|
356 |
} |
|
357 |
} |
|
358 |
if(first<=oldFirst){ |
|
359 |
if(last<oldFirst){ //No intersectan los rangos |
|
360 |
fireValueChanged(oldFirst, oldLast, isAdjusting); |
|
361 |
fireValueChanged(first, last, isAdjusting); |
|
362 |
} else { // Intersectan los rangos first - oldFirst - ... |
|
363 |
if (last > oldLast) { // Intersectan los rangos first - oldFirst - oldLast - last |
|
364 |
fireValueChanged(first, last, isAdjusting); |
|
365 |
} else { // Intersectan los rangos first - oldFirst - last - oldLast |
|
366 |
fireValueChanged(first, oldLast, isAdjusting); |
|
367 |
} |
|
368 |
} |
|
369 |
} |
|
343 | 370 |
} |
344 | 371 |
|
345 | 372 |
/** |
Also available in: Unified diff