package org.japura.gui.calendar.components;
import org.japura.gui.ArrowButton;
import org.japura.gui.calendar.Calendar;
import org.japura.gui.calendar.CalendarComponent;
import org.japura.gui.calendar.CalendarComponentType;
/**
* <P>
* Copyright (C) 2011 Carlos Eduardo Leite de Andrade
* <P>
* This library is free software: you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option) any
* later version.
* <P>
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
* <P>
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <A
* HREF="www.gnu.org/licenses/">www.gnu.org/licenses/</A>
* <P>
* For more information, contact: <A HREF="www.japura.org">www.japura.org</A>
* <P>
*
* @author Carlos Eduardo Leite de Andrade
*/
public class CalendarButton extends ArrowButton implements CalendarComponent{
private static final long serialVersionUID = 2413025541462159947L;
private Calendar calendar;
private CalendarComponentType type;
public CalendarButton(Calendar calendar, CalendarComponentType type) {
this.calendar = calendar;
this.type = type;
if (type.equals(CalendarComponentType.PREVIOUS_YEAR_BUTTON)) {
setArrowType(ArrowButton.DOUBLE_LEFT);
} else if (type.equals(CalendarComponentType.PREVIOUS_MONTH_BUTTON)) {
setArrowType(ArrowButton.LEFT);
} else if (type.equals(CalendarComponentType.NEXT_YEAR_BUTTON)) {
setArrowType(ArrowButton.DOUBLE_RIGHT);
} else if (type.equals(CalendarComponentType.NEXT_MONTH_BUTTON)) {
setArrowType(ArrowButton.RIGHT);
} else {
throw new RuntimeException("Illegal CalendarComponentType: "
+ type.name());
}
}
@Override
public Calendar getCalendar() {
return calendar;
}
@Override
public CalendarComponentType getType() {
return type;
}
}