package fr.cnam.clientihm;

import java.util.*;

import fr.cnam.espacetore.*;
import fr.cnam.grille.*;
import fr.cnam.ihm.*;

// Classe d'observation qui est prévenu par update si une donnee change
//  dans l'espace de tore
//
public class ObserverGrille implements Observer
{
    private CanvasIHM grilleIHM;

    public ObserverGrille(CanvasIHM grilleIHM)
    {
        this.grilleIHM = grilleIHM;
    }

    // On recoit un changement de couleur d'une case de la grille de 
    //  l'espace de tore
    //
    public void update(Observable observable, Object arg)
    {
        String str="";
        try{
            str  = (String)(arg);
            String[] infos = str.split(" ");
            int x       = Integer.parseInt(infos[0]);
            int y       = Integer.parseInt(infos[1]);
            int couleur = Integer.parseInt(infos[2]);
            System.out.println(String.format("%3d %3d %3d",x,y,couleur));
            
            grilleIHM.setMarque(couleur,x,y);
        }catch(Exception ex) {System.out.println("update> [["+str+"]] "+ex);}
    }
        
}