Images #

About #

GraffitiCalendar is an advanced calendar-view class. It allows for the addition of events to a calendar by using Xojo date objects, with support for a wide variety of views and allows for event dragging and resizing. Includes support for a large number of languages built-in, jQuery UI theme support, and Google Calendar imports.


  • Supports many different languages/locales
  • 9 view types
  • First day of week setting
  • Custom theming with jQuery UI
  • Google Calendar import

Enumerations #


Constants #

This product exposes no constants.

Events #

DefinitionParametersReturn TypeDescription
DayClicktheDay as DateTimeNoneFired when the user clicks on a day in the calendar.
theView as GraffitiCalendar.Views
DeselectedNoneNoneFired when selected date is deselected.
EventChangedtarget as GraffitiCalendarEventNoneFired when the user moves or resizes an event.
EventClicktarget as GraffitiCalendarEventNoneFired when the user clicks on an existing event.
EventDroppednewEvent as GraffitiCalendarEventNoneRaised upon completion of a BeginExternalDrag process. newEvent will contain the updated information about the DateTime in which the GraffitiCalendarEvent was placed.
EventMouseOuttarget as GraffitiCalendarEventNoneFired when the user’s mouse exits an existing event.
EventMouseOvertarget as GraffitiCalendarEventNoneFired when the user’s mouse enters an existing event.
LanguagesLoadedNoneNoneFired when the control has loaded all available languages.
SelectedstartDate as DateTime, endDate as DateTimeNoneFired when a date or time range is selected.
ViewChangedNoneNoneFired when the user switched the view using the toolbar.

Methods #

DefinitionParametersReturn TypeDescription
AddEventnewEvent as GraffitiCalendarEventNoneAdds a new event to the calendar.
AddExternalSourceGoogleCalendarID as StringNoneAdds a Google Calendar to the display.
GoogleCalendarKey as String
BGColor as Color = &c3a87ad
BorderColor as Color = &c3a87ad
TextColor as Color = &cFFFFFF
BeginExternalDragnewEvent as GraffitiCalendarEventNoneBegins the process to drag an object from outside the calendar to create an event within the calendar.
DeselectAllNoneNoneDeselects all currently selected dates.
DisableDayday as DateTimeNoneDisables the specified day.
EnabledDayday as DateTimeNoneEnabled the specified day.
HideDaysOfWeekdays() as IntegerNoneHides the specified days of the week. Values are 0-6 starting with Sunday.
HideDaysOfWeekParamArray days as IntegerNoneHides the specified days of the week. Value are 0-6 starting with Sunday.
FindEventeventID as StringGraffitiCalendarEventReturns an event object by the assigned ID.
FindEventIndextheID as StringIntegerReturns the integer index of an event object by the assigned ID.
ICSExportDomain as StringStringReturns all events in ICS format.
ICSImporttheICS as StringNoneImports events in an ICS-formatted string.
LoaderHideNoneNoneHides the loading spinner.
LoaderShowNoneNoneShows a loading spinner that covers the entire component.
LoadThemethemeURL as StringNoneApplies a jQuery UI theme to the calendar.
MoveNextNoneNoneNavigates to the next day/week/month in the display.
MoveNextYearNoneNoneNavigates to the next year.
MovePrevNoneNoneNavigates to the previous day/week/month in the display.
MovePrevYearNoneNoneNavigates to the previous year.
MoveToDatetheDate as DateNoneNavigates to the defined date.
MoveToTodayNoneNoneResets the display to display the current date.
RefetchEventsNoneNoneRe-imports external event sources.
RemoveAllEventsNoneNoneRemoves all events from the calendar.
RemoveEventtheEvent as GraffitiCalendarEventNoneRemoves the specified event from the calendar.
RemoveExternalSourceURL as StringNoneRemoves an external source.
RerenderEventsNoneNoneForces the display to update.
RestrictEventDisplayBooleanFalseWhen True, events will only be displayed that fall within the period specified by Restriction.
RestrictionGraffitiCalendarRestrictionNilUsed to restrict display or interaction to a specified timeframe.
RestrictSelectionBooleanFalseWhen True, only those dates within the Restriction will be selectable.
RestrictViewBooleanFalseWhen True, only those dates within the Restriction will be visible.
SelectDatesStartDate as DateNoneSelects the specified date range.
EndDate as Date = Nil)
UpdateEventtheEvent as GraffitiCalendarEventNoneUpdates an event in the calendar after changing properties of the Event object.
ViewEnd ReadOnlyDateTimeNilThe last day/time visible in the current view.
ViewStart ReadOnlyDateTimeNilThe first day/time visible in the current view.

Properties #

NameTypeDefault ValueDescription
BackgroundColorColor&cFFFFFFThe background color of the display.
CustomThemeBooleanFalseIf True, uses the theme loaded by LoadTheme.
EditableBooleanTrueIf False, will not allow the user to move or resize events.
FirstDayOfWeekInteger-1First day of the week, -1 is the current locale default, 0-6 are Sunday through Saturday.
LanguageString“en”The current view language.
LanguagesString()NilArray of supported languages. This should be, more or less, static.
ShowDayViewButtonBooleanTrueShows the “Day” button on the display.
ShowLoaderOnEventsBooleanFalseIf true, the loading spinner will be shown to denote that the control is busy when communicating.
ShowMonthViewButtonBooleanTrueShows the “Month” button on the display.
ShowNavButtonsBooleanTrueShows the previous/next buttons for navigation.
ShowTitleBooleanTrueShows the title area which contains the current view’s date range.
ShowTodayButtonBooleanTrueShows a button allowing the user to quickly shift the view back to the current day.
ShowWeekNumbersBooleanFalseDetermines whether week numbers will be displayed.
ShowWeekViewButtonBooleanTrueShows the “Week” button on the display.
ShowYearNavButtonsBooleanTrueShows the previous/next year navigation buttons.
TextSizeInteger12The default base-line text size for the display.
ViewViewsMonthListThe current display style.
WeekNumberLocationWeekNumberLocationsSeperateColumnDetermines where week numbers are displayed.
WeekNumberTypeWeekNumbersTypesLocalDetermines what week number type to display. If you wish Week 1 to always be numbered “1” then use WeekNumberTypes.ISO

Examples #

There are currently no examples for this class.