Revision 40376 branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/project/documents/view/legend/gui/SymbolTable.java

View differences:

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