package ste.pendu.wordeditor;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;

/**
 * Contrôle pour quitter l'application.
 * 
 */
public class ControlQuitter extends AbstractControl
{

  public ControlQuitter()
  {
    super();
  }

  public ControlQuitter(WordListModel model, View view)
  {
    super(model, view);
  }

  /**
   * Action à effectuer.
   * 
   * <p>Lorsqu'un bouton a été pressé ou la touche <code>ENTER</code> a
   * été pressée dans un JTextField, et que l'action est à l'écoute,
   * cette méthode est exécutée. On peut récupérer le paramètre pour
   * savoir quel composant a propagé l'événement et les informations
   * qu'il y a enfermées.</p>
   * 
   * @param action l'action transmise par l'événement
   */
  public void actionPerformed(ActionEvent action)
  {
    boolean saved = this.model.isSaved();
    boolean doExit = saved;
    if(!saved)
      {
        int i = JOptionPane.showConfirmDialog
          (null, "Les mots n'ont pas été sauvé! Voulez-vous vraiment quitter?",
           "WordEditor!", JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE);
        doExit = (JOptionPane.YES_OPTION==i);
      }

    if (doExit)
      {
        System.exit(0);
      }
  }
  
}
