// Langage JAVA
// Projet 2
//
// Communication entre applets
//
// Christophe Boyanique
// Emmanuel Pinard
// Avril 1999
//
//
// Gestion des evenements: Adaptateur

import java.awt.event.*;

// Cette classe recupere les evenements
// L'evenement est ensuite dispatche vers le delegue
//
class evt_adaptateur implements ActionListener
{
  // Types d'action
  static final int RESET = 1;  // Reinitialisation de la courbe
  static final int NEXT  = 2;  // Calcul de l'etape suivante de la courbe
  static final int ALL   = 3;  // Calcul de toutes les etapes de la courbe
  static final int SEND  = 4;  // Envoie des parametres de saisie a courbe

  protected int typeAction;
  protected evt_delegue delegue;
  protected Object refclass;

  // Ce constructeur permet de stocker les parametres de l'objet qui
  // s'attache le gestionnaire d'evenement:
  // L'action a declencher, le delegue a utiliser et la classe appelante
  public evt_adaptateur(int n, evt_delegue d, Object ref)
  {
    typeAction = n;
    delegue = d;
    refclass = ref;
  }

  public void actionPerformed(ActionEvent e)
  {
    switch (typeAction)
    {
      case RESET:
        delegue.reset(refclass);
        break;
      case NEXT:
        delegue.next(refclass);
        break;
      case ALL:
        delegue.all(refclass);
        break;
      case SEND:
        delegue.send(refclass);
    }
  }
}

