Revision 46

View differences:

org.gvsig.legend.quantitybycategory.app.mainplugin/trunk/org.gvsig.legend.quantitybycategory.app.mainplugin/src/main/java/org/gvsig/symbology/gui/layerproperties/QuantityByCategoryPanel.java
5 5
import java.awt.event.ActionEvent;
6 6
import java.awt.event.ActionListener;
7 7
import java.util.ArrayList;
8
import java.util.List;
8 9

  
9 10
import javax.swing.BorderFactory;
10 11
import javax.swing.DefaultComboBoxModel;
......
34 35
import org.gvsig.fmap.mapcontext.MapContextLocator;
35 36
import org.gvsig.fmap.mapcontext.layers.FLayer;
36 37
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
38
import org.gvsig.fmap.mapcontext.rendering.legend.IClassifiedLegend;
37 39
import org.gvsig.fmap.mapcontext.rendering.legend.IInterval;
38 40
import org.gvsig.fmap.mapcontext.rendering.legend.ILegend;
41
import org.gvsig.fmap.mapcontext.rendering.legend.IVectorialIntervalLegend;
39 42
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
40 43
import org.gvsig.gui.beans.AcceptCancelPanel;
41 44
import org.gvsig.gui.beans.swing.GridBagLayoutPanel;
......
269 272
			    this.oldLegend.getGraduatedSymbolsLegend()
270 273
			    .getClassifyingFieldNames()[0]);
271 274
			symbolTable.removeAllItems();
272
			symbolTable.fillTableFromSymbolList(this.oldLegend.getSymbols(),
273
					this.oldLegend.getValues(),this.oldLegend.getDescriptions());
275
			
276
			this.fillTableSkipDefault(this.oldLegend);
274 277

  
275

  
276 278
		} else {
277 279
			this.oldLegend = new QuantityByCategoryLegend();
278 280
			String[] fnn = {
......
427 429
				}
428 430
			}
429 431
			symbolTable.removeAllItems();
430
			symbolTable.fillTableFromSymbolList(this.oldLegend.getSymbols(),
431
					this.oldLegend.getValues(),this.oldLegend.getDescriptions());
432
			this.fillTableSkipDefault(this.oldLegend);
433
			
432 434
		} else if (c.equals(getBtnSymbol())) {
433 435
		    
434 436
			GraduatedSymbolsLegend graduatedSymbol =
......
469 471
			    }
470 472
			}
471 473
			symbolTable.removeAllItems();
472
			symbolTable.fillTableFromSymbolList(this.oldLegend.getSymbols(),
473
					this.oldLegend.getValues(),this.oldLegend.getDescriptions());
474
			this.fillTableSkipDefault(this.oldLegend);
474 475
		}
475 476

  
476 477
		else if (c.equals(getCmbColorField())) {
477 478
			symbolTable.removeAllItems();
478
			symbolTable.fillTableFromSymbolList(
479
			
480
			this.fillTableSkipDefault(
479 481
			    this.oldLegend.getGraduatedSymbolsLegend().getSymbols(),
480 482
			    this.oldLegend.getGraduatedSymbolsLegend().getValues(),
481 483
			    this.oldLegend.getDescriptions());
......
483 485

  
484 486
		else if (c.equals(getCmbGraduatedField())) {
485 487
			symbolTable.removeAllItems();
486
			symbolTable.fillTableFromSymbolList(
488
			
489
			this.fillTableSkipDefault(
487 490
			    this.oldLegend.getColorRampLegend().getSymbols(),
488 491
			    this.oldLegend.getColorRampLegend().getValues(),
489 492
			    this.oldLegend.getDescriptions());
......
625 628
		}
626 629
		return false;
627 630
	}
631
	
632

  
633
	// reemplazar esto por arriba
634
    private void fillTableSkipDefault(
635
        IClassifiedLegend leg) {
636
        
637
        Object[] src_expr = leg.getValues();
638
        ISymbol[] src_syms = leg.getSymbols();
639
        String[] src_descs = leg.getDescriptions();
640
        
641
        List syms = new ArrayList();
642
        List vals = new ArrayList();
643
        List descs = new ArrayList();
644
        for (int i=0; i<src_expr.length; i++) {
645
            if (src_expr[i] instanceof IInterval) {
646
                syms.add(src_syms[i]);
647
                vals.add(src_expr[i]);
648
                descs.add(src_descs[i]);
649
            }
650
        }
651
        symbolTable.fillTableFromSymbolList(
652
            (ISymbol[]) syms.toArray(new ISymbol[0]),
653
            (Object[]) vals.toArray(new Object[0]),
654
            (String[]) descs.toArray(new String[0]));
655
    }
656
    
657
    private void fillTableSkipDefault(
658
        ISymbol[] src_syms,
659
        Object[] src_expr,
660
        String[] src_descs) {
661
        
662
        List syms = new ArrayList();
663
        List vals = new ArrayList();
664
        List descs = new ArrayList();
665
        for (int i=0; i<src_expr.length; i++) {
666
            if (src_expr[i] instanceof IInterval) {
667
                syms.add(src_syms[i]);
668
                vals.add(src_expr[i]);
669
                descs.add(src_descs[i]);
670
            }
671
        }
672
        symbolTable.fillTableFromSymbolList(
673
            (ISymbol[]) syms.toArray(new ISymbol[0]),
674
            (Object[]) vals.toArray(new Object[0]),
675
            (String[]) descs.toArray(new String[0]));
676
    }
677

  
678

  
628 679
}
org.gvsig.legend.graduatedsymbols.app.mainplugin/trunk/org.gvsig.legend.graduatedsymbols.app.mainplugin/src/main/java/org/gvsig/symbology/gui/layerproperties/GraduatedSymbolsPanel.java
84 84
import java.awt.Dimension;
85 85
import java.awt.FlowLayout;
86 86
import java.text.NumberFormat;
87
import java.util.ArrayList;
88
import java.util.List;
87 89

  
88 90
import javax.swing.BorderFactory;
89 91
import javax.swing.ImageIcon;
......
279 281

  
280 282
			getChkDefaultvalues().setSelected(auxLegend.isUseDefaultSymbol());
281 283
			cmbField.setSelectedItem(auxLegend.getClassifyingFieldNames()[0]);
282
			symbolTable.fillTableFromSymbolList(auxLegend.getSymbols(),
283
					auxLegend.getValues(), auxLegend.getDescriptions());
284
			
285
			fillTableSkipDefault(auxLegend);
286
			
284 287
			getTxtMaxSize().setDouble(((GraduatedSymbolsLegend) auxLegend).getMaxSymbolSize());
285 288
			getTxtMinSize().setDouble(((GraduatedSymbolsLegend) auxLegend).getMinSymbolSize());
286 289
			if (auxLegend.getSymbols().length > 0){
......
290 293
				    GraduatedSymbolsLegend.isLinear(shapeType) ? 3 : 10));
291 294
			}
292 295
			if(showBackground){
293
			    
294
			    
296

  
295 297
				if (GraduatedSymbolsLegend.isPolygonal(shapeType))
296 298
					getBtnBackground().setSymbol(((GraduatedSymbolsLegend) auxLegend).getBackgroundSymbol());
297 299
			}
......
547 549
				size = size + step;
548 550
			} // for
549 551

  
552
			fillTableSkipDefault(auxLegend);
550 553

  
551

  
552
			symbolTable.fillTableFromSymbolList(auxLegend.getSymbols(),
553
					auxLegend.getValues(),auxLegend.getDescriptions());
554

  
555

  
556 554
		} catch (ReadException re) {
557 555
		    logger.info("Error could_not_get_shape_type", re);
558 556
            ApplicationLocator.getManager().messageDialog(
......
580 578
	public boolean getShowBackground(){
581 579
		return this.showBackground;
582 580
	}
581
	
582
    private void fillTableSkipDefault(IVectorialIntervalLegend leg) {
583
        
584
        Object[] src_expr = leg.getValues();
585
        ISymbol[] src_syms = leg.getSymbols();
586
        String[] src_descs = leg.getDescriptions();
587
        
588
        List syms = new ArrayList();
589
        List vals = new ArrayList();
590
        List descs = new ArrayList();
591
        for (int i=0; i<src_expr.length; i++) {
592
            if (src_expr[i] instanceof IInterval) {
593
                syms.add(src_syms[i]);
594
                vals.add(src_expr[i]);
595
                descs.add(src_descs[i]);
596
            }
597
        }
598
        symbolTable.fillTableFromSymbolList(
599
            (ISymbol[]) syms.toArray(new ISymbol[0]),
600
            (Object[]) vals.toArray(new Object[0]),
601
            (String[]) descs.toArray(new String[0]));
602
    }
583 603

  
584 604

  
585 605

  

Also available in: Unified diff