
import java.io.*;
import java.util.Vector;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.filechooser.*;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JDialog;

/**
 *Clase que toma los eventos correspondientes a la manipulacion de las imágenes
 * @author Daniel Velasquez, Victor Elizondo
 */
public class Conversor implements ActionListener {

	//public File file;
	Vector<File> file; 
    
    /**
    *Constructor que le entrega un vector de archivos (que contienen imágenes) 
	*al único miembro de la clase
    */       
    public Conversor(){
    	file = new Vector<File>();
    }
    
	/**
    *adhiere un archivo al vector miembro
    * @param f  archivo (que contiene una imagen) a adherir
    */ 
    public void setFile(File f){
    file.addElement(f);
    }
    
		/**
    *método que ejecuta las órdenes ante el evento programado
	*Ocupa el vector de archivos para manipular cada elemento
	*con la clase Picture, de manera de cumplir con el cometido 
	*general (escalar y grabar una nueva imagen en disco) 
    */ 
    public void actionPerformed(ActionEvent e) {
	JFrame frame = new JFrame();
	if(file == null){
	// no hacer nada
	JOptionPane.showMessageDialog(frame, "Cargue una imagen primero.");
	}
	else{
	//convertir múltiples imágenes:
	for(int i=0; i< file.size (); i++){
			
		Picture ImagenInicial = new Picture(file.get(i));
		
		ImagenInicial.Escalar(0.5);
		
		String path = file.get(i).getParentFile().getAbsolutePath();
		String name = file.get(i).getName();
		
		
		
		String[] extension = name.split(new String("\\."));
		String formato = extension[extension.length-1];
		
		
		ImagenInicial.SaveImage(path+File.separatorChar+"(Small)"+name, formato);
	}
		
	//***************************************	
	JOptionPane.showMessageDialog(frame, "Se han convertido "+file.size()+" imágenes");
	}


    }

}