Revision 16554 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/saveraster/ui/panels/listener/DataInputListener.java

View differences:

DataInputListener.java
35 35
import org.gvsig.gui.beans.datainput.DataInputContainer;
36 36
import org.gvsig.gui.beans.datainput.DataInputContainerListener;
37 37
import org.gvsig.raster.dataset.GeoRasterWriter;
38
import org.gvsig.raster.util.ExtendedFileFilter;
38 39
import org.gvsig.raster.util.MathUtils;
40
import org.gvsig.raster.util.RasterUtilities;
39 41
import org.gvsig.rastertools.saveraster.ui.SaveRasterDialog;
40 42
import org.gvsig.rastertools.saveraster.ui.SaveRasterPanel;
41 43

  
......
43 45
import com.iver.cit.gvsig.addlayer.fileopen.FileOpenWizard;
44 46
/**
45 47
 * Panel encargado de manejar los eventos del los controles de Salvar a Raster
46
 * 
48
 *
47 49
 * @author Nacho Brodin (nachobrodin@gmail.com)
48 50
 */
49 51
public class DataInputListener implements ActionListener, MouseListener, FocusListener, KeyListener, DataInputContainerListener {
......
115 117
	}
116 118

  
117 119
	/**
118
	 * A partir del valor de tama?o de imagen de salida, comprueba el tipo de 
120
	 * A partir del valor de tama?o de imagen de salida, comprueba el tipo de
119 121
	 * dato seleccionado por el usuario (Pixels, mms, cms, mts, pulgadas) y devuelve
120 122
	 * el valor en pixeles.
121 123
	 * @param value Cadena introducida por el usuario
......
140 142
	/**
141 143
	 * Asigna al JTextField pasado como par?metro el valor en pixels, cms, mms ,mtrs, pulgadas dependiendo
142 144
	 * de la selecci?n del combo
143
	 * @param pixel	Valor en pixels	
145
	 * @param pixel	Valor en pixels
144 146
	 * @param field Campo donde se escribe el valor
145 147
	 */
146 148
	private void setCorrectMeasure(double pixel, DataInputContainer field){
......
270 272
			//Validamos el ancho si se ha introducido algo
271 273
			if(!controlPanel.getTWidth().getValue().equals(""))
272 274
				validateTextField(controlPanel.getTWidth());
273
			
275

  
274 276
			//Validamos el alto si se ha introducido algo
275 277
			if(!controlPanel.getTHeight().getValue().equals(""))
276 278
				validateTextField(controlPanel.getTHeight());
......
290 292
			double ulX = Double.parseDouble(controlPanel.getTSupIzqX().getValue());
291 293
			double ulY = Double.parseDouble(controlPanel.getTSupIzqY().getValue());
292 294

  
293
			if (ulX > lrX) 
295
			if (ulX > lrX)
294 296
				size[0] = ulX - lrX;
295
			else 
297
			else
296 298
				size[0] = lrX - ulX;
297
			
298
			if (ulY > lrY) 
299

  
300
			if (ulY > lrY)
299 301
				size[1] = ulY - lrY;
300
			else 
302
			else
301 303
				size[1] = lrY - ulY;
302
			
304

  
303 305
			return size;
304 306
		}
305 307

  
......
436 438
	 */
437 439
	public void enableButtons() {
438 440
		try {
439
			if (Double.parseDouble(controlPanel.getTWidth().getValue()) == 0 || 
441
			if (Double.parseDouble(controlPanel.getTWidth().getValue()) == 0 ||
440 442
				Double.parseDouble(controlPanel.getTHeight().getValue()) == 0 ||
441 443
				controlPanel.getTWidth().getValue().equals("") ||
442 444
				controlPanel.getTHeight().getValue().equals("") ||
443 445
				this.fName == null || this.fName.equals("")) {
444
				if (dialog != null) 
446
				if (dialog != null)
445 447
					dialog.getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY).setEnabled(false);
446 448
				return;
447 449
			}
......
469 471
			// A?adimos las extensiones que hayan sido registradas en el driver
470 472
			String[] extList = GeoRasterWriter.getDriversExtensions();
471 473
			for (int i = 0; i < extList.length; i++)
472
				chooser.addChoosableFileFilter(new WriterFilter(extList[i]));
474
				chooser.addChoosableFileFilter(new ExtendedFileFilter(extList[i]));
473 475

  
474 476
			int returnVal = chooser.showOpenDialog(controlPanel);
475 477

  
476 478
			if (returnVal == JFileChooser.APPROVE_OPTION) {
477
				this.fName = chooser.getSelectedFile().toString();
478
				String ext = ((WriterFilter) chooser.getFileFilter()).getDescription();
479
				ExtendedFileFilter fileFilter = ((ExtendedFileFilter) chooser.getFileFilter());
479 480

  
480
				// FileFilter filter = chooser.getFileFilter();
481
				ext = ext.toLowerCase().substring(ext.lastIndexOf(".") + 1, ext.length());
481
				fName = fileFilter.getNormalizedFilename(new File(fName));
482
				String ext = RasterUtilities.getExtensionFromFileName(fName);
482 483

  
483
				if ((fName != null) && !fName.equals("")) {
484
					if (!fName.endsWith("." + ext))
485
						fName = fName + "." + ext;
484
				controlPanel.getBProperties().setText(
485
						PluginServices.getText(this, "props") + " " + GeoRasterWriter.getDriverType(ext));
486 486

  
487
					controlPanel.getBProperties().setText(
488
							PluginServices.getText(this, "props") + " " + GeoRasterWriter.getDriverType(ext));
489
				}
490 487
				controlPanel.getBProperties().setEnabled(true);
491 488
				controlPanel.getLFileName().setText(
492 489
						fName.substring(fName.lastIndexOf(File.separator) + 1, fName.length()));
......
511 508

  
512 509
	/**
513 510
	 * Devuelve el nombre del fichero seleccionado
514
	 * 
511
	 *
515 512
	 * @return Nombre del fichero seleccionado
516 513
	 */
517 514
	public String getFileName() {
......
603 600

  
604 601
	/**
605 602
	 * Obtiene la altura en pixels de la imagen de salida
606
	 * 
603
	 *
607 604
	 * @return entero con la altura en pixels
608 605
	 */
609 606
	public double getHeightInPixels() {
......
612 609

  
613 610
	/**
614 611
	 * Obtiene la anchura en pixels de la imagen de salida
615
	 * 
612
	 *
616 613
	 * @return entero con la anchura en pixels
617 614
	 */
618 615
	public double getWidthInPixels() {
619 616
		return widthInPixels;
620 617
	}
621
	
618

  
622 619
	/**
623 620
	 * Asigna el valor de ancho en pixels
624
	 * @param value double 
621
	 * @param value double
625 622
	 */
626 623
	public void setWidthInPixels(double value) {
627 624
		this.widthInPixels = value;
628 625
	}
629
	
626

  
630 627
	/**
631 628
	 * Asigna el valor de alto en pixels
632
	 * @param value double 
629
	 * @param value double
633 630
	 */
634 631
	public void setHeightInPixels(double value) {
635 632
		this.heightInPixels = value;
......
642 639
			enableButtons();
643 640
		}
644 641
	}
645
}
646

  
647
/**
648
 * Filtro para el selector de formatos de escritura
649
 * 
650
 * @author Nacho Brodin (nachobrodin@gmail.com)
651
 */
652
class WriterFilter extends javax.swing.filechooser.FileFilter {
653
	private String filter;
654

  
655
	public WriterFilter(String fil) {
656
		this.filter = fil;
657
	}
658

  
659
	public boolean accept(File f) {
660
		return f.isDirectory() || f.getName().toLowerCase().endsWith("." + filter);
661
	}
662

  
663
	public String getDescription() {
664
		return "." + filter;
665
	}
666 642
}

Also available in: Unified diff