package conteggi;

import conteggi.*;
import java.awt.event.*;
import java.awt.*;

public class CounterFrameListener implements WindowListener{
/* ogni ascoltatore puņ intercettare solo gli eventi relativi alla sua finestra! */
//	private CounterFrame framerif;
	private CounterWithDisplay cwdrif;

	public CounterFrameListener(CounterWithDisplay c){
		cwdrif=c;		
//		framerif=fr;
	}
	
	public void windowActivated(WindowEvent e){
//		System.out.println("finestra del contatore "+cwdrif.getName()+" attivata;");
	}
	public void windowDeactivated(WindowEvent e){
//		System.out.println("finestra del contatore "+cwdrif.getName()+" deattivata;");
	}
	public void windowIconified(WindowEvent e){
//		System.out.println("finestra del contatore "+cwdrif.getName()+" iconizzata;");
	}
	public void windowDeiconified(WindowEvent e){
//		System.out.println("finestra del contatore "+cwdrif.getName()+" deiconizzata;");
	}
	public void windowOpened(WindowEvent e){
//		System.out.println("finestra del contatore "+cwdrif.getName()+" aperta;");
	}
	public void windowClosed(WindowEvent e){
//		System.out.println("finestra del contatore "+cwdrif.getName()+" chiusa;");
	}
	public void windowClosing(WindowEvent e){
	/* qui devo chiudere la finestra e spostare l'ultimo cwd dell'array in questa posiz. */

//		System.out.println("Sto cancellando la finestra di "+cwdrif.getName());
		cwdrif.getFrame().dispose();
		int i=0;
		Cgen ar=(Cgen) cwdrif.getTheCreator();
		while((i<Cgen.MAXNUMCOUNTERS) && (!(cwdrif.equals(ar.getTheArray()[i])))){
			i++;
		}
//		System.out.println("posiz del cont chiuso="+i);
//		System.out.println("# cnt.rimasti=" + (ar.getNumCWD()-1));
		ar.getTheArray()[i]=ar.getTheArray()[ar.getNumCWD()-1];
		ar.decNumCWD();		
	}
}

