/**
* Controller for celcius JTextField
*
* @author Sonia Seddiki and Stanislas Michalak
*/

package meteo.control;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Observable;
import java.util.Observer;

import javax.swing.JTextField;
import meteo.abstraction.TemperatureModel;


public class CelsiusJTextFieldController implements Observer, ActionListener {
  
  private JTextField cField;
  private TemperatureModel tModel;
  
  /**
  * Init celsius field controller
  * @param TemperatureModele tModel
  * @param JTextField cField
  */
  public CelsiusJTextFieldController(TemperatureModel tModel, JTextField cField) {
  	 super();
    this.tModel = tModel;
    this.cField = cField;
  }
  
  /**
  * Update model data
  * @param ActionEvent e
  */
  @Override
  public void actionPerformed(ActionEvent e) {
    if ( ((JTextField) (e.getSource())).equals(this.cField) ) {
    	tModel.setCurrentTemperature(Double.parseDouble(cField.getText()));
    }
  }
  
  /**
  * Update celsius JTextField value
  * @param Observable o
  * @param Object arg
  */
  @Override
  public void update(Observable o, Object arg) {
  	cField.setText(String.valueOf(tModel.getCurrentTemperature()));
  }
}
