package cnp.ew.spin;

import cnp.ew.converter.*;
import cnp.ew.text.*;
import cnp.ew.util.*;
import java.util.*;
import java.awt.*;

public class CpSecondSpinFieldLc extends CpEditableSpinFieldLc
{

    public CpSecondSpinFieldLc()
    {
        super();
        CpSecondToString converter = new CpSecondToString("ss");
        setInputConverter(converter);
        setOutputConverter(new CpIntegerFromStringConverter());
        setMaxChars(2);
    }

    public void update(CpObservable o, int facet, Object arg)
    {
        if (facet == CpDateModel.CHANGED_SECONDS) {
            setObject(getModel().getDate());
        }

    }

    public void increment()
    {
        getModel().incrementSeconds();
    }

    public void decrement()
    {
        getModel().decrementSeconds();
    }


    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().setSeconds(((Integer)getObject()).intValue());
        return super.lostFocus();
    }
}




