package cnp.ew.spin;

import cnp.ew.converter.*;
import cnp.ew.text.*;
import cnp.ew.util.*;
import java.util.*;
import java.awt.*;

public class CpMinuteSpinFieldLc extends CpEditableSpinFieldLc
{

    public CpMinuteSpinFieldLc()
    {
        super();
        CpMinuteToString converter = new CpMinuteToString("nn");
        setInputConverter(converter);
        setOutputConverter(new CpIntegerFromStringConverter());
        setMaxChars(2);
    }

    public void update(CpObservable o, int facet, Object arg)
    {
        if (facet == CpDateModel.CHANGED_MINUTES) {
            setObject(getModel().getDate());
        }
    }

    public void increment()
    {
        getModel().incrementMinutes();
    }

    public void decrement()
    {
        getModel().decrementMinutes();
    }


    CpDateModel getModel()
    {
        return (CpDateModel)getSpinEditor().getModel();
    }

    public boolean canIncrementAndDecrement()
    {
        return true;
    }

    public boolean lostFocus()
    {
            // TBD: This should use an output converter that is set to the appropriate format
        getModel().setMinutes(((Integer)getObject()).intValue());
        return super.lostFocus();
    }
}




