package cnp.ew.spin;

import java.util.*;
import cnp.ew.util.*;
import cnp.ew.lightweight.*;
import java.awt.*;

public class CpDateSpinEditorLc extends CpSpinEditorLc
{

    public CpDateSpinEditorLc()
    {
        super("");

        CpSpinFieldLc field;
        model = new CpDateModel();
        ((CpObservable)model).addObserver(this);
        addSpinField(field = new CpMonthSpinFieldLc());
        addSpinField(new CpStaticSpinFieldLc("/"));
        addSpinField(new CpDaySpinFieldLc());
        addSpinField(new CpStaticSpinFieldLc("/"));
        addSpinField(new CpYearSpinFieldLc());
        addButtons();
        // forces an update - is this the right way to do this?
        ((CpDateModel)model).setDate(new CpDate(new Date()));
        setSelectedField(field);
    }

    public void setObject(Object object)
    {
        setDate((Date)object);
    }

    public Object getObject()
    {
        return getDate();
    }

    public void setDate(Date date)
    {
        ((CpDateModel)model).setDate(new CpDate(date));
    }

    public Date getDate()
    {
        return ((CpDateModel)model).getDate().getJavaDate();
    }
}

