/**
* Controller for fahrenheit 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 FahrenheitJTextFieldController implements Observer, ActionListener {
  
  private JTextField fField;
  private TemperatureModel tModel;
  
  /**
  * Init fahrenheit field controller
  * @param TemperatureModele tModel
  * @param JTextField fField
  */
  public FahrenheitJTextFieldController(TemperatureModel tModel, JTextField fField) {
  	super();
    this.tModel = tModel;
    this.fField = fField;
  }
  
  /**
  * Update model data
  * @param ActionEvent e
  */
  @Override
  public void actionPerformed(ActionEvent e) {
    if ( ((JTextField) (e.getSource())).equals(this.fField) ) {
    	tModel.setCurrentTemperature(tModel.fahrToCelsius(Double.parseDouble(fField.getText())));
    }
  }
  
  /**
  * Update fahrenheit JTextField value
  * @param Observable o
  * @param Object arg
  */
  @Override
  public void update(Observable o, Object arg) {
  	fField.setText(String.valueOf(tModel.celsiusToFahr(tModel.getCurrentTemperature())));
  }
}
