Revision 2654

View differences:

trunk/applications/appgvSIG/src/com/iver/cit/gvsig/gui/Panels/PropertiesRasterDialog.java
525 525
	 * acci?n y false si no lo estaba.
526 526
	 */
527 527
	public boolean processBandPanel(){
528
		if(this.getTab().getSelectedComponent() == this.getBandSetup()){		
529
			fLayer.getSource().setBand(GeoRasterFile.RED_BAND,
530
						getAssignedBand(GeoRasterFile.RED_BAND));
531
			fLayer.getSource().setBand(GeoRasterFile.GREEN_BAND,
532
						getAssignedBand(GeoRasterFile.GREEN_BAND));
533
			fLayer.getSource().setBand(GeoRasterFile.BLUE_BAND,
534
						getAssignedBand(GeoRasterFile.BLUE_BAND));
535
			rasterStatus.bandR = getAssignedBand(GeoRasterFile.RED_BAND);
536
			rasterStatus.bandG = getAssignedBand(GeoRasterFile.GREEN_BAND);
537
			rasterStatus.bandB = getAssignedBand(GeoRasterFile.BLUE_BAND);
528
		//if(this.getTab().getSelectedComponent() == this.getBandSetup()){		
529
		fLayer.getSource().setBand(GeoRasterFile.RED_BAND,
530
					getAssignedBand(GeoRasterFile.RED_BAND));
531
		fLayer.getSource().setBand(GeoRasterFile.GREEN_BAND,
532
					getAssignedBand(GeoRasterFile.GREEN_BAND));
533
		fLayer.getSource().setBand(GeoRasterFile.BLUE_BAND,
534
					getAssignedBand(GeoRasterFile.BLUE_BAND));
535
		rasterStatus.bandR = getAssignedBand(GeoRasterFile.RED_BAND);
536
		rasterStatus.bandG = getAssignedBand(GeoRasterFile.GREEN_BAND);
537
		rasterStatus.bandB = getAssignedBand(GeoRasterFile.BLUE_BAND);
538 538
						
539
			//Comprobamos si hay alguna banda que no est? asignada y aplicamos el filtro
540
			StringBuffer sb = new StringBuffer();
541
			if(getAssignedBand(GeoRasterFile.RED_BAND) == -1)
542
				sb.append("R");
543
			if(getAssignedBand(GeoRasterFile.GREEN_BAND) == -1)
544
				sb.append("G");
545
			if(getAssignedBand(GeoRasterFile.BLUE_BAND) == -1)
546
				sb.append("B");
539
		//Comprobamos si hay alguna banda que no est? asignada y aplicamos el filtro
540
		StringBuffer sb = new StringBuffer();
541
		if(getAssignedBand(GeoRasterFile.RED_BAND) == -1)
542
			sb.append("R");
543
		if(getAssignedBand(GeoRasterFile.GREEN_BAND) == -1)
544
			sb.append("G");
545
		if(getAssignedBand(GeoRasterFile.BLUE_BAND) == -1)
546
			sb.append("B");
547 547
			
548
			if(!sb.toString().equals(""))
549
				stackManager.addRemoveBands(sb.toString());
550
			else
551
				stackManager.removeFilter(stackManager.getTypeFilter("removebands"));
552
			fLayer.getFMap().invalidate();
553
			return true;
554
		}
555
		return false;
548
		if(!sb.toString().equals(""))
549
			stackManager.addRemoveBands(sb.toString());
550
		else
551
			stackManager.removeFilter(stackManager.getTypeFilter("removebands"));
552
		fLayer.getFMap().invalidate();
553
		return true;
556 554
	}
557 555
	
558 556
	/**
......
562 560
	 * acci?n y false si no lo estaba.
563 561
	 */
564 562
	public boolean processTransparencyPanel(){
565

  
566
		if(this.getTab().getSelectedComponent() == this.getTransparencyPanel()){
567
			
568
			//OPACIDAD
569
			String sOpac = this.getTransparencyPanel().getOpacityText().getText();
570
			if(!sOpac.equals("") && this.getTransparencyPanel().getOpacityCheck().isSelected()){
571
				int opac = Integer.parseInt(sOpac);
572
				opac = (int)((opac*255)/100);
573
				fLayer.getSource().setTransparency(true);
574
				fLayer.setTransparency(255-opac);
575
				rasterStatus.transparency = 255-opac;
576
			}else{
577
				fLayer.getSource().setTransparency(false);
578
				fLayer.setTransparency(0);
579
				rasterStatus.transparency = 0;
580
			}
581
				
582
			//TRANSPARENCIA
583
			if(	this.getTransparencyPanel().getTransparencyCheck().isSelected()){
584
				this.checkTransparencyValues();
585
				stackManager.addTransparencyFilter(	this.getRangeRed(),
586
													this.getRangeGreen(),
587
													this.getRangeBlue(),
588
													0x10,	//Transparencia
589
													0xff,	//Color Transparencia R
590
													0xff,	//Color Transparencia G
591
													0xff);	//Color Transparencia B
592
			}else{
593
				fLayer.getSource().getFilterStack().removeFilter(stackManager.getTypeFilter("transparency"));
594
			}
595
			
596
			return true;
563
		//OPACIDAD
564
		String sOpac = this.getTransparencyPanel().getOpacityText().getText();
565
		if(!sOpac.equals("") && this.getTransparencyPanel().getOpacityCheck().isSelected()){
566
			int opac = Integer.parseInt(sOpac);
567
			opac = (int)((opac*255)/100);
568
			fLayer.getSource().setTransparency(true);
569
			fLayer.setTransparency(255-opac);
570
			rasterStatus.transparency = 255-opac;
571
		}else{
572
			fLayer.getSource().setTransparency(false);
573
			fLayer.setTransparency(0);
574
			rasterStatus.transparency = 0;
597 575
		}
598 576
				
599
		return false;
577
		//TRANSPARENCIA
578
		if(	this.getTransparencyPanel().getTransparencyCheck().isSelected()){
579
			this.checkTransparencyValues();
580
			stackManager.addTransparencyFilter(	this.getRangeRed(),
581
												this.getRangeGreen(),
582
												this.getRangeBlue(),
583
												0x10,	//Transparencia
584
												0xff,	//Color Transparencia R
585
												0xff,	//Color Transparencia G
586
												0xff);	//Color Transparencia B
587
		}else{
588
			fLayer.getSource().getFilterStack().removeFilter(stackManager.getTypeFilter("transparency"));
589
		}
590
			
591
		return true;
600 592
	}
601 593
	
602 594
	/**
......
606 598
	 * acci?n y false si no lo estaba.
607 599
	 */
608 600
	public boolean processEnhancedPanel(){
609
		if(this.getTab().getSelectedComponent() == this.getEnhancedPanel()){
610
			
611
			//Filtro lineal seleccionado
612
			if(	this.getEnhancedPanel().getLinealDirectoRadioButton().isSelected()){
613
				if(	this.getEnhancedPanel().getRemoveCheck().isSelected() &&
614
					!this.getEnhancedPanel().getTailCheck().isSelected())
615
					stackManager.addEnhancedFilter(true, fLayer.getSource().getFiles()[0].getName());
616
				else
617
					stackManager.addEnhancedFilter(false, fLayer.getSource().getFiles()[0].getName());
601
		//Filtro lineal seleccionado
602
		if(	this.getEnhancedPanel().getLinealDirectoRadioButton().isSelected()){
603
			if(	this.getEnhancedPanel().getRemoveCheck().isSelected() &&
604
				!this.getEnhancedPanel().getTailCheck().isSelected())
605
				stackManager.addEnhancedFilter(true, fLayer.getSource().getFiles()[0].getName());
606
			else
607
				stackManager.addEnhancedFilter(false, fLayer.getSource().getFiles()[0].getName());
618 608
				
619
				//Recorte de colas seleccionado
620
				if(this.getEnhancedPanel().getTailCheck().isSelected()){
621
					stackManager.removeFilter(stackManager.getTypeFilter("computeminmax"));
622
					double recorte = Double.parseDouble(this.getEnhancedPanel().getTailText().getText())/100;
623
					if(this.getEnhancedPanel().getRemoveCheck().isSelected())
624
						stackManager.addTailFilter( recorte, 0D, true);
625
					else
626
						stackManager.addTailFilter( recorte, 0D, false);
627
				}else{
628
					stackManager.removeFilter(stackManager.getTypeFilter("tail"));
629
					stackManager.addComputeMinMaxFilter();
630
				}	
631
			}
632
			
633
			//Sin filtro lineal seleccionado
634
			if(this.getEnhancedPanel().getSinRealceRadioButton().isSelected()){
609
			//Recorte de colas seleccionado
610
			if(this.getEnhancedPanel().getTailCheck().isSelected()){
635 611
				stackManager.removeFilter(stackManager.getTypeFilter("computeminmax"));
612
				double recorte = Double.parseDouble(this.getEnhancedPanel().getTailText().getText())/100;
613
				if(this.getEnhancedPanel().getRemoveCheck().isSelected())
614
					stackManager.addTailFilter( recorte, 0D, true);
615
				else
616
					stackManager.addTailFilter( recorte, 0D, false);
617
			}else{
636 618
				stackManager.removeFilter(stackManager.getTypeFilter("tail"));
637
				stackManager.removeFilter(stackManager.getTypeFilter("enhanced"));
638
			}
639
			fLayer.getFMap().invalidate();
619
				stackManager.addComputeMinMaxFilter();
620
			}	
621
		}
640 622
			
641
			return true;
623
		//Sin filtro lineal seleccionado
624
		if(this.getEnhancedPanel().getSinRealceRadioButton().isSelected()){
625
			stackManager.removeFilter(stackManager.getTypeFilter("computeminmax"));
626
			stackManager.removeFilter(stackManager.getTypeFilter("tail"));
627
			stackManager.removeFilter(stackManager.getTypeFilter("enhanced"));
642 628
		}
643
		return false;
629
		fLayer.getFMap().invalidate();
630
			
631
		return true;
644 632
	}
645 633
	
646 634
	/**

Also available in: Unified diff