blob: bb168b3bdd91619a1a04a0cbf3fe8198c12d0899 [file] [log] [blame]
/*
* Copyright 2008 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.user.datepicker.client;
import java.util.Date;
/**
* The CalendarView is a calendar grid that represents the current view of a
* {@link DatePicker}. Note, the calendar view only deals with the currently
* visible dates and all state is flushed when the calendar view is refreshed.
*
*/
public abstract class CalendarView extends DatePickerComponent {
/**
* Constructor.
*/
public CalendarView() {
}
/**
* Adds a style name to the cell of the supplied date. This style is only set
* until the next time the {@link CalendarView} is refreshed.
*
* @param styleName style name to add
* @param date date that will have the supplied style added
*/
public abstract void addStyleToDate(String styleName, Date date);
/**
* Returns the first date that is currently shown by the calendar.
*
* @return the first date.
*/
public abstract Date getFirstDate();
/**
* Returns the last date that is currently shown by the calendar.
*
* @return the last date.
*/
public abstract Date getLastDate();
/**
* Is the cell representing the given date enabled?
*
* @param date the date
* @return is the date enabled
*/
public abstract boolean isDateEnabled(Date date);
/**
* Removes a visible style name from the cell of the supplied date.
*
* @param styleName style name to remove
* @param date date that will have the supplied style added
*/
public abstract void removeStyleFromDate(String styleName, Date date);
/**
* Enables or Disables a particular date. by default all valid dates are
* enabled after a rendering event. Disabled dates cannot be selected.
*
* @param enabled true for enabled, false for disabled
* @param date date to enable or disable
*/
public abstract void setEnabledOnDate(boolean enabled, Date date);
/**
* Allows the calendar view to update the date picker's highlighted date.
*
* @param date the highlighted date
*/
protected final void setHighlightedDate(Date date) {
getDatePicker().setHighlightedDate(date);
}
}