/* * Copyright 2000-2014 Vaadin Ltd. * * 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.vaadin.ui.components.calendar.event; import java.io.Serializable; import java.util.Date; /** *
* Event in the calendar. Customize your own event by implementing this * interface. *
* ** Gets style name of event. In the client, style name will be set to the * event's element class name and can be styled by CSS *
* Styling example:Java code:
* event.setStyleName("color1");
*
* CSS:
* .v-calendar-event-color1 {
* background-color: #9effae;}
*
* @return Style name.
*/
public String getStyleName();
/**
* An all-day event typically does not occur at a specific time but targets
* a whole day or days. The rendering of all-day events differs from normal
* events.
*
* @return true if this event is an all-day event, false otherwise
*/
public boolean isAllDay();
/**
* Event to signal that an event has changed.
*/
@SuppressWarnings("serial")
public class EventChangeEvent implements Serializable {
private CalendarEvent source;
public EventChangeEvent(CalendarEvent source) {
this.source = source;
}
/**
* @return the {@link com.vaadin.addon.calendar.event.CalendarEvent
* CalendarEvent} that has changed
*/
public CalendarEvent getCalendarEvent() {
return source;
}
}
/**
* Listener for EventSetChange events.
*/
public interface EventChangeListener extends Serializable {
/**
* Called when an Event has changed.
*/
public void eventChange(EventChangeEvent eventChangeEvent);
}
/**
* Notifier interface for EventChange events.
*/
public interface EventChangeNotifier extends Serializable {
/**
* Add a listener to listen for EventChangeEvents. These events are
* fired when a events properties are changed.
*
* @param listener
* The listener to add
*/
void addEventChangeListener(EventChangeListener listener);
/**
* Remove a listener from the event provider.
*
* @param listener
* The listener to remove
*/
void removeEventChangeListener(EventChangeListener listener);
}
}