Class VCalendar

  • All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsRenderable, com.google.gwt.user.client.ui.IsWidget, VHasDropHandler

    public class VCalendar
    extends com.google.gwt.user.client.ui.Composite
    implements VHasDropHandler
    Client side implementation for Calendar
    Since:
    7.1
    Author:
    Vaadin Ltd.
    • Field Detail

      • dateformat_datetime

        protected final com.google.gwt.i18n.client.DateTimeFormat dateformat_datetime
      • dateformat_date

        protected final com.google.gwt.i18n.client.DateTimeFormat dateformat_date
      • time12format_date

        protected final com.google.gwt.i18n.client.DateTimeFormat time12format_date
      • time24format_date

        protected final com.google.gwt.i18n.client.DateTimeFormat time24format_date
    • Constructor Detail

      • VCalendar

        public VCalendar()
        Default constructor
    • Method Detail

      • updateEventsToMonthGrid

        public void updateEventsToMonthGrid​(Collection<CalendarEvent> events,
                                            boolean drawImmediately)
        Adds events to the month grid
        Parameters:
        events - The events to add
        drawImmediately - Should the grid be rendered immediately. (currently not in use)
      • removeMonthEvent

        public void removeMonthEvent​(CalendarEvent target,
                                     boolean repaintImmediately)
        Remove a month event from the view
        Parameters:
        target - The event to remove
        repaintImmediately - Should we repaint after the event was removed?
      • updateEventToMonthGrid

        public void updateEventToMonthGrid​(CalendarEvent changedEvent)
        Updates an event in the month grid
        Parameters:
        changedEvent - The event that has changed
      • sortEventsByDuration

        public CalendarEvent[] sortEventsByDuration​(Collection<CalendarEvent> events)
        Sort the event by how long they are
        Parameters:
        events - The events to sort
        Returns:
        An array where the events has been sorted
      • updateWeekGrid

        public void updateWeekGrid​(int daysCount,
                                   List<CalendarDay> days,
                                   Date today,
                                   String[] realDayNames)
        Re-render the week grid
        Parameters:
        daysCount - The amount of days to include in the week
        days - The days
        today - Todays date
        realDayNames - The names of the dates
      • updateMonthGrid

        public void updateMonthGrid​(int daysCount,
                                    List<CalendarDay> days,
                                    Date today)
        Updates the events in the Month view
        Parameters:
        daysCount - How many days there are
        daysUidl -
        today - Todays date
      • setSizeForChildren

        public void setSizeForChildren​(int newWidth,
                                       int newHeight)
      • recalculateHeights

        protected void recalculateHeights()
        Recalculates the heights of the sub-components in the calendar
      • recalculateWidths

        protected void recalculateWidths()
        Recalculates the widths of the sub-components in the calendar
      • getDateFormat

        public com.google.gwt.i18n.client.DateTimeFormat getDateFormat()
        Get the date format used to format dates only (excludes time)
        Returns:
      • getTimeFormat

        public com.google.gwt.i18n.client.DateTimeFormat getTimeFormat()
        Get the time format used to format time only (excludes date)
        Returns:
      • getDateTimeFormat

        public com.google.gwt.i18n.client.DateTimeFormat getDateTimeFormat()
        Get the date and time format to format the dates (includes both date and time)
        Returns:
      • isDisabledOrReadOnly

        public boolean isDisabledOrReadOnly()
        Is the calendar either disabled or readonly
        Returns:
      • isDisabled

        public boolean isDisabled()
        Is the component disabled
      • setDisabled

        public void setDisabled​(boolean disabled)
        Is the component disabled
        Parameters:
        disabled - True if disabled
      • isReadOnly

        public boolean isReadOnly()
        Is the component read-only
      • setReadOnly

        public void setReadOnly​(boolean readOnly)
        Is the component read-only
        Parameters:
        readOnly - True if component is readonly
      • getMonthGrid

        public MonthGrid getMonthGrid()
        Get the month grid component
        Returns:
      • getWeekGrid

        public WeekGrid getWeekGrid()
        Get he week grid component
        Returns:
      • distributeSize

        public static int[] distributeSize​(int totalSize,
                                           int numberOfCells,
                                           int sizeModifier)
        Calculates correct size for all cells (size / amount of cells ) and distributes any overflow over all the cells.
        Parameters:
        totalSize - the total amount of size reserved for all cells
        numberOfCells - the number of cells
        sizeModifier - a modifier which is applied to all cells before distributing the overflow
        Returns:
        an integer array that contains the correct size for each cell
      • getEventComparator

        public static Comparator<CalendarEvent> getEventComparator()
        Returns a comparator which can compare calendar events.
        Returns:
      • isMidnight

        public static boolean isMidnight​(Date date)
        Is the date at midnight
        Parameters:
        date - The date to check
        Returns:
      • areDatesEqualToSecond

        public static boolean areDatesEqualToSecond​(Date date1,
                                                    Date date2)
        Are the dates equal (uses second resolution)
        Parameters:
        date1 - The first the to compare
        date2 - The second date to compare
        Returns:
      • isZeroLengthMidnightEvent

        public static boolean isZeroLengthMidnightEvent​(CalendarEvent event)
        Is the calendar event zero seconds long and is occurring at midnight
        Parameters:
        event - The event to check
        Returns:
      • set24HFormat

        public void set24HFormat​(boolean format)
        Should the 24h time format be used
        Parameters:
        format - True if the 24h format should be used else the 12h format is used
      • is24HFormat

        public boolean is24HFormat()
        Is the 24h time format used
      • setDayNames

        public void setDayNames​(String[] names)
        Set the names of the week days
        Parameters:
        names - The names of the days (Monday, Thursday,...)
      • getDayNames

        public String[] getDayNames()
        Get the names of the week days
      • setMonthNames

        public void setMonthNames​(String[] names)
        Set the names of the months
        Parameters:
        names - The names of the months (January, February,...)
      • getMonthNames

        public String[] getMonthNames()
        Get the month names
      • setFirstDayNumber

        public void setFirstDayNumber​(int dayNumber)
        Set the number when a week starts
        Parameters:
        dayNumber - The number of the day
      • getFirstDayNumber

        public int getFirstDayNumber()
        Get the number when a week starts
      • setLastDayNumber

        public void setLastDayNumber​(int dayNumber)
        Set the number when a week ends
        Parameters:
        dayNumber - The number of the day
      • getLastDayNumber

        public int getLastDayNumber()
        Get the number when a week ends
      • setFirstHourOfTheDay

        public void setFirstHourOfTheDay​(int hour)
        Set the number when a week starts
        Parameters:
        dayNumber - The number of the day
      • getFirstHourOfTheDay

        public int getFirstHourOfTheDay()
        Get the number when a week starts
      • setLastHourOfTheDay

        public void setLastHourOfTheDay​(int hour)
        Set the number when a week ends
        Parameters:
        dayNumber - The number of the day
      • getLastHourOfTheDay

        public int getLastHourOfTheDay()
        Get the number when a week ends
      • updateWeekView

        public void updateWeekView​(int scroll,
                                   Date today,
                                   int daysInMonth,
                                   int firstDayOfWeek,
                                   Collection<CalendarEvent> events,
                                   List<CalendarDay> days)
        Re-renders the whole week view
        Parameters:
        scroll - The amount of pixels to scroll the week view
        today - Todays date
        daysInMonth - How many days are there in the month
        firstDayOfWeek - The first day of the week
        events - The events to render
      • updateMonthView

        public void updateMonthView​(int firstDayOfWeek,
                                    Date today,
                                    int daysInMonth,
                                    Collection<CalendarEvent> events,
                                    List<CalendarDay> days)
        Re-renders the whole month view
        Parameters:
        firstDayOfWeek - The first day of the week
        today - Todays date
        daysInMonth - Amount of days in the month
        events - The events to render
        days - The day information
      • setListener

        public void setListener​(VCalendar.DateClickListener listener)
        Sets the listener for listening to event clicks
        Parameters:
        listener - The listener to use
      • getDateClickListener

        public VCalendar.DateClickListener getDateClickListener()
        Gets the listener for listening to event clicks
        Returns:
      • setListener

        public void setListener​(VCalendar.ForwardListener listener)
        Set the listener which listens to forward events from the calendar
        Parameters:
        listener - The listener to use
      • getForwardListener

        public VCalendar.ForwardListener getForwardListener()
        Get the listener which listens to forward events from the calendar
        Returns:
      • setListener

        public void setListener​(VCalendar.BackwardListener listener)
        Set the listener which listens to backward events from the calendar
        Parameters:
        listener - The listener to use
      • getBackwardListener

        public VCalendar.BackwardListener getBackwardListener()
        Set the listener which listens to backward events from the calendar
        Returns:
      • setListener

        public void setListener​(VCalendar.WeekClickListener listener)
        Set the listener that listens to user clicking on the week numbers
        Parameters:
        listener - The listener to use
      • getWeekClickListener

        public VCalendar.WeekClickListener getWeekClickListener()
        Get the listener that listens to user clicking on the week numbers
        Returns:
      • setListener

        public void setListener​(VCalendar.RangeSelectListener listener)
        Set the listener that listens to the user highlighting a region in the calendar
        Parameters:
        listener - The listener to use
      • getRangeSelectListener

        public VCalendar.RangeSelectListener getRangeSelectListener()
        Get the listener that listens to the user highlighting a region in the calendar
        Returns:
      • getEventClickListener

        public VCalendar.EventClickListener getEventClickListener()
        Get the listener that listens to the user clicking on the events
      • setListener

        public void setListener​(VCalendar.EventClickListener listener)
        Set the listener that listens to the user clicking on the events
        Parameters:
        listener - The listener to use
      • getEventMovedListener

        public VCalendar.EventMovedListener getEventMovedListener()
        Get the listener that listens to when event is dragged to a new location
        Returns:
      • setListener

        public void setListener​(VCalendar.EventMovedListener eventMovedListener)
        Set the listener that listens to when event is dragged to a new location
        Parameters:
        eventMovedListener - The listener to use
      • getScrollListener

        public VCalendar.ScrollListener getScrollListener()
        Get the listener that listens to when the calendar widget is scrolled
        Returns:
      • setListener

        public void setListener​(VCalendar.ScrollListener scrollListener)
        Set the listener that listens to when the calendar widget is scrolled
        Parameters:
        scrollListener - The listener to use
      • getEventResizeListener

        public VCalendar.EventResizeListener getEventResizeListener()
        Get the listener that listens to when an events time limits are being adjusted
        Returns:
      • setListener

        public void setListener​(VCalendar.EventResizeListener eventResizeListener)
        Set the listener that listens to when an events time limits are being adjusted
        Parameters:
        eventResizeListener - The listener to use
      • setListener

        public void setListener​(VCalendar.MouseEventListener mouseEventListener)
        Set the listener that listen to mouse events
        Parameters:
        mouseEventListener - The listener to use
      • isRangeSelectAllowed

        public boolean isRangeSelectAllowed()
        Is selecting a range allowed?
      • setRangeSelectAllowed

        public void setRangeSelectAllowed​(boolean rangeSelectAllowed)
        Set selecting a range allowed
        Parameters:
        rangeSelectAllowed - Should selecting a range be allowed
      • isRangeMoveAllowed

        public boolean isRangeMoveAllowed()
        Is moving a range allowed
        Returns:
      • setRangeMoveAllowed

        public void setRangeMoveAllowed​(boolean rangeMoveAllowed)
        Is moving a range allowed
        Parameters:
        rangeMoveAllowed - Is it allowed
      • isEventResizeAllowed

        public boolean isEventResizeAllowed()
        Is resizing an event allowed
      • setEventResizeAllowed

        public void setEventResizeAllowed​(boolean eventResizeAllowed)
        Is resizing an event allowed
        Parameters:
        eventResizeAllowed - True if allowed false if not
      • isEventMoveAllowed

        public boolean isEventMoveAllowed()
        Is moving an event allowed
      • setEventMoveAllowed

        public void setEventMoveAllowed​(boolean eventMoveAllowed)
        Is moving an event allowed
        Parameters:
        eventMoveAllowed - True if moving is allowed, false if not
      • isBackwardNavigationEnabled

        public boolean isBackwardNavigationEnabled()
      • setBackwardNavigationEnabled

        public void setBackwardNavigationEnabled​(boolean enabled)
      • isForwardNavigationEnabled

        public boolean isForwardNavigationEnabled()
      • setForwardNavigationEnabled

        public void setForwardNavigationEnabled​(boolean enabled)
      • setDropHandler

        public void setDropHandler​(CalendarDropHandler dropHandler)
        Set the drop handler
        Parameters:
        dropHandler - The drophandler to use
      • setEventCaptionAsHtml

        public void setEventCaptionAsHtml​(boolean eventCaptionAsHtml)
        Sets whether the event captions are rendered as HTML.

        If set to true, the captions are rendered in the browser as HTML and the developer is responsible for ensuring no harmful HTML is used. If set to false, the caption is rendered in the browser as plain text.

        The default is false, i.e. to render that caption as plain text.

        Parameters:
        captionAsHtml - true if the captions are rendered as HTML, false if rendered as plain text
      • isEventCaptionAsHtml

        public boolean isEventCaptionAsHtml()
        Checks whether event captions are rendered as HTML

        The default is false, i.e. to render that caption as plain text.

        Returns:
        true if the captions are rendered as HTML, false if rendered as plain text