Revision 40376 branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/project/documents/view/legend/gui/SymbolTable.java
SymbolTable.java | ||
---|---|---|
414 | 414 |
} |
415 | 415 |
|
416 | 416 |
} |
417 |
|
|
418 |
|
|
419 |
|
|
420 |
public void moveDownRows(int startPos, int endPos, int numOfElements) { |
|
421 |
if(startPos > endPos) |
|
422 |
return; |
|
423 |
if(startPos >= getRowCount()-1 ) |
|
424 |
return; |
|
425 |
if(startPos == getRowCount()-1) |
|
426 |
return; |
|
427 |
|
|
428 |
Object[][] values = new Object[getRowCount()][3]; |
|
429 |
for (int i = 0; i < getRowCount(); i++) { |
|
430 |
values[i][0] = table.getModel().getValueAt(i,0); |
|
431 |
values[i][1] = table.getModel().getValueAt(i,1); |
|
432 |
values[i][2] = table.getModel().getValueAt(i,2); |
|
433 |
} |
|
434 |
|
|
435 |
Object[][]aux = new Object[numOfElements][3]; |
|
436 |
for (int i = 0; i < numOfElements; i++) { |
|
437 |
|
|
438 |
aux[numOfElements - i - 1][0] = values[startPos - i][0]; |
|
439 |
aux[numOfElements - i - 1][1] = values[startPos - i][1]; |
|
440 |
aux[numOfElements - i - 1][2] = values[startPos - i][2]; |
|
441 |
} |
|
442 |
|
|
443 |
Object [][] targetVal = {{values[endPos][0],values[endPos][1],values[endPos][2]}}; |
|
444 |
|
|
445 |
values[startPos - numOfElements + 1][0] = targetVal[0][0]; |
|
446 |
values[startPos - numOfElements + 1][1] = targetVal[0][1]; |
|
447 |
values[startPos - numOfElements + 1][2] = targetVal[0][2]; |
|
448 |
|
|
449 |
for (int i = 0; i < numOfElements; i++) { |
|
450 |
values[endPos - i][0] = aux[numOfElements - i - 1][0]; |
|
451 |
values[endPos - i][1] = aux[numOfElements - i - 1][1]; |
|
452 |
values[endPos - i][2] = aux[numOfElements - i - 1][2]; |
|
453 |
} |
|
454 |
|
|
455 |
ISymbol[] symbols = new ISymbol[getRowCount()]; |
|
456 |
Object[] objects = new Object[getRowCount()]; |
|
457 |
String[] cads = new String[getRowCount()]; |
|
458 |
|
|
459 |
for (int i = 0; i < getRowCount(); i++) { |
|
460 |
symbols[i] = (ISymbol) values[i][0]; |
|
461 |
objects[i] = values[i][1]; |
|
462 |
cads[i] = (String) values[i][2]; |
|
463 |
} |
|
464 |
|
|
465 |
removeAllItems(); |
|
466 |
fillTableFromSymbolList(symbols,objects,cads); |
|
467 |
table.addRowSelectionInterval(endPos-numOfElements+1,endPos); |
|
468 |
} |
|
469 |
|
|
470 |
|
|
471 |
public void moveUpRows(int startPos, int endPos, int numOfElements) { |
|
472 |
|
|
473 |
if(startPos == 0) |
|
474 |
return; |
|
475 |
if(endPos > startPos) |
|
476 |
return; |
|
477 |
|
|
478 |
|
|
479 |
Object[][] values = new Object[getRowCount()][3]; |
|
480 |
for (int i = 0; i < getRowCount(); i++) { |
|
481 |
values[i][0] = table.getModel().getValueAt(i,0); |
|
482 |
values[i][1] = table.getModel().getValueAt(i,1); |
|
483 |
values[i][2] = table.getModel().getValueAt(i,2); |
|
484 |
} |
|
485 |
|
|
486 |
Object[][]aux = new Object[numOfElements][3]; |
|
487 |
for (int i = 0; i < numOfElements; i++) { |
|
488 |
|
|
489 |
aux[i][0] = values[startPos + i][0]; |
|
490 |
aux[i][1] = values[startPos + i][1]; |
|
491 |
aux[i][2] = values[startPos + i][2]; |
|
492 |
} |
|
493 |
|
|
494 |
Object [][] targetVal = {{values[endPos][0],values[endPos][1],values[endPos][2]}}; |
|
495 |
|
|
496 |
values[startPos + numOfElements - 1][0] = targetVal[0][0]; |
|
497 |
values[startPos + numOfElements - 1][1] = targetVal[0][1]; |
|
498 |
values[startPos + numOfElements - 1][2] = targetVal[0][2]; |
|
499 |
|
|
500 |
for (int i = 0; i < numOfElements; i++) { |
|
501 |
|
|
502 |
values[endPos + i][0] = aux[i][0]; |
|
503 |
values[endPos + i][1] = aux[i][1]; |
|
504 |
values[endPos + i][2] = aux[i][2]; |
|
505 |
} |
|
506 |
|
|
507 |
ISymbol[] symbols = new ISymbol[getRowCount()]; |
|
508 |
Object[] objects = new Object[getRowCount()]; |
|
509 |
String[] cads = new String[getRowCount()]; |
|
510 |
|
|
511 |
for (int i = 0; i < getRowCount(); i++) { |
|
512 |
symbols[i] = (ISymbol) values[i][0]; |
|
513 |
objects[i] = values[i][1]; |
|
514 |
cads[i] = (String) values[i][2]; |
|
515 |
} |
|
516 |
|
|
517 |
removeAllItems(); |
|
518 |
fillTableFromSymbolList(symbols,objects,cads); |
|
519 |
table.addRowSelectionInterval(endPos,endPos+numOfElements-1); |
|
520 |
} |
|
521 |
|
|
522 |
|
|
523 |
public int[] getSelectedRows(){ |
|
524 |
return table.getSelectedRows(); |
|
525 |
} |
|
526 |
|
|
417 | 527 |
} |
Also available in: Unified diff