package v1.Impl; import v1.Impl.UI.IHM; /** * Cette classe d�crit le controleur de l'application; <br /> * il s'agit ici de mettre en oeuvre la liaison <b>Moteur</b><--><b>IHM</b> */ public class Controller { private IHM ihm; private Moteur mot; public Controller() { } public void setMoteur(Moteur mot) { this.mot = mot; } public void setIHM(IHM ihm) { this.ihm = ihm; } /** * Informe l'ihm de la fin d'une mesure */ public void tocMesure() { ihm.notifyMesure(); } /** * Informe l'IHM qu'un temps est pass� */ public void tocTemps() { ihm.notifyTemps(); } /** * Mettre en route le moteur */ public void start() { if (!mot.getEtatMarche()) { mot.setEnMarche(true); } } /** * Arreter le moteur */ public void stop() { if (mot.getEtatMarche()) { mot.setEnMarche(false); } } /** * Augmente la mesure sur le moeur et sur l'ihm */ public void inc() { mot.setMesure(mot.getMesure() + 1); ihm.activerDec(); if (mot.getMesure() >= 7) { ihm.desactiverInc(); } } /** * Diminue la mesure sur le moteur et sur l'ihm */ public void dec() { ihm.activerInc(); mot.setMesure(mot.getMesure() - 1); if (mot.getMesure() <= 2) { ihm.desactiverDec(); } } public void setTempo(int tempo) { mot.setTempo(tempo); } public int getMesure() { return mot.getMesure(); } }