package gui;
import gui.models.CurrentDateModel;
import java.beans.PropertyChangeEvent;
import java.util.Date;
import metier.reservations.AnnulationValidation;
import misc.GU;
import com.toedter.calendar.JDateChooser;
import com.toedter.calendar.JTextFieldDateEditor;
/**
* Panel graphique permettant la séléction et le changement de la date.
*
* @author Ait Elhaj Brahim
*
*/
public class DateChooser extends JDateChooser {
private CurrentDateModel cdm;
/**
* Construit un objet en se servant du modèle passé en paramètre
*
* @param cdm Le modèle de Date
*/
public DateChooser(CurrentDateModel cdm){
super(cdm.getDate(),"d MMM yyyy",new JTextFieldDateEditor());
JTextFieldDateEditor editor = (JTextFieldDateEditor)(this.getDateEditor());
editor.addPropertyChangeListener("maDate",this);
//On empéche la possibilité d'éditer le champ
editor.setEditable(false);
this.cdm = cdm;
//this.setPreferredSize(new Dimension(5, 5));
}
/**
* Met à jour le modèle en fonction des interactions de l'utilisateur
*/
public void propertyChange(PropertyChangeEvent pce){
super.propertyChange(pce);
if(pce.getSource().equals(this.getDateEditor())){
if(cdm!=null){
Date d1 = cdm.getDate();
Date d2 = this.getDate();
if(d1.compareTo(d2) != 0){
//On change la date du modèle
cdm.setDate(this.getDate());
//System.out.println("La date a changé !");
AnnulationValidation mr = new AnnulationValidation();
mr.annulerAnciennesReservations(cdm.getDate());
GU.info("Les éventuelles réservations ayant dépassées la date limite viennent d'être supprimées");
}
}
}
}
}