Difference between revisions of "CalendarView"

From Jeremie Leroy - XOJO Controls Wiki
Jump to: navigation, search
m (1 revision)
Line 5: Line 5:
 
{| class=eventTable
 
{| class=eventTable
 
|-
 
|-
|class=titleClass colspan=1|Events
+
|class=titleClass colspan=2|Events
 
|-
 
|-
|{{Event | name=ConstructContextualMenu | params=base As MenuItem, x As Integer, y As Integer, cEvent As CalendarEvent | description= | returntype=Boolean | newinversion=1.1.1}}
+
|width=50%|{{Event | name=ConstructContextualMenu | params=base As MenuItem, x As Integer, y As Integer, cEvent As CalendarEvent | description= | returntype=Boolean | newinversion=1.1.1}}
 +
|width=50%|{{Event | name=Open | description= | newinversion=}}
 
|-
 
|-
|{{Event | name=DateSelected | params=D As Date | description= | newinversion=}}
+
|width=50%|{{Event | name=DateSelected | params=D As Date | description= | newinversion=}}
 +
|width=50%|{{Event | name=ShowHelptag | params=Str As String, cEvent As CalendarEvent | description= | returntype=Boolean | newinversion=}}
 
|-
 
|-
|{{Event | name=DragEvent | params=cEvent As CalendarEvent | description= | newinversion=}}
+
|width=50%|{{Event | name=DragEvent | params=cEvent As CalendarEvent | description= | newinversion=}}
 +
|width=50%|{{Event | name=ViewChange | params=StartDate As Date, EndDate As Date | description= | newinversion=}}
 
|-
 
|-
|{{Event | name=EditEvent | params=cEvent As CalendarEvent | description= | returntype=CalendarEvent | newinversion=}}
+
|width=50%|{{Event | name=EditEvent | params=cEvent As CalendarEvent | description= | returntype=CalendarEvent | newinversion=}}
|-
+
 
|{{Event | name=NewEvent | params=StartDate As Date, EndDate As Date | description= | newinversion=}}
+
|-
+
|{{Event | name=Open | description= | newinversion=}}
+
|-
+
|{{Event | name=ViewChange | params=StartDate As Date, EndDate As Date | description= | newinversion=}}
+
 
|-
 
|-
 +
|width=50%|{{Event | name=NewEvent | params=StartDate As Date, EndDate As Date | description= | newinversion=}}
  
 
|-
 
|-
Line 30: Line 29:
 
|class=titleClass colspan=3|Properties
 
|class=titleClass colspan=3|Properties
 
|-
 
|-
|width=33%|{{Property | name=AdaptWeeksPerMonth | type=Boolean | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=AdaptWeeksPerMonth | type=Boolean | description= | readonly=no | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=FirstDate | type=Date | description= | readonly=yes | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=FirstDate | type=Date | description= | readonly=yes | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=MyStyle | type=Styles | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=ScrollPosition | type=Double | description= | readonly=no | newinversion= | version=1.2.2}}
 
|-
 
|-
|width=33%|{{Property | name=Animate | type=Boolean | description= | readonly=no | newinversion=1.1.0 | version=1.2.0}}
+
|width=33%|{{Property | name=Animate | type=Boolean | description= | readonly=no | newinversion=1.1.0 | version=1.2.2}}
|width=33%|{{Property | name=FirstDayOfWeek | type=Byte | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=FirstDayOfWeek | type=Byte | description= | readonly=no | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=ScrollPosition | type=Double | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=SelEnd | type=Date | description= | readonly=no | newinversion=1.1.0 | version=1.2.2}}
 
|-
 
|-
|width=33%|{{Property | name=Border | type=Boolean | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=Border | type=Boolean | description= | readonly=no | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=ForceAM_PM | type=Boolean | description= | readonly=no | newinversion=1.1.0 | version=1.2.0}}
+
|width=33%|{{Property | name=ForceAM_PM | type=Boolean | description= | readonly=no | newinversion=1.1.0 | version=1.2.2}}
|width=33%|{{Property | name=SelEnd | type=Date | description= | readonly=no | newinversion=1.1.0 | version=1.2.0}}
+
|width=33%|{{Property | name=SelStart | type=Date | description= | readonly=no | newinversion=1.1.0 | version=1.2.2}}
 
|-
 
|-
|width=33%|{{Property | name=ColorWeekend | type=Boolean | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=ColorWeekend | type=Boolean | description= | readonly=no | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=HelpTagFormat | type=String | description= | readonly=no | newinversion=1.2.0 | version=1.2.0}}
+
|width=33%|{{Property | name=HelpTagFormat | type=String | description= | readonly=no | newinversion=1.2.0 | version=1.2.2}}
|width=33%|{{Property | name=SelStart | type=Date | description= | readonly=no | newinversion=1.1.0 | version=1.2.0}}
+
|width=33%|{{Property | name=Style | type=Integer | description= | readonly=yes | newinversion= | version=1.2.2}}
 
|-
 
|-
|width=33%|{{Property | name=CreateWithDrag | type=Boolean | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=CreateWithDrag | type=Boolean | description= | readonly=no | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=HiDPI | type=Boolean | description= | readonly=yes | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=HiDPI | type=Boolean | description= | readonly=yes | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=Style | type=Integer | description= | readonly=yes | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=TextFont | type=String | description= | readonly=no | newinversion=1.2.1 | version=1.2.2}}
 
|-
 
|-
|width=33%|{{Property | name=DayEndHour | type=Single | description= | readonly=no | newinversion=1.1.0 | version=1.2.0}}
+
|width=33%|{{Property | name=DayEndHour | type=Single | description= | readonly=no | newinversion=1.1.0 | version=1.2.2}}
|width=33%|{{Property | name=LastDate | type=Date | description= | readonly=yes | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=LastDate | type=Date | description= | readonly=yes | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=ViewDays | type=Integer | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=ViewDays | type=Integer | description= | readonly=no | newinversion= | version=1.2.2}}
 
|-
 
|-
|width=33%|{{Property | name=DayEventsHeight | type=Integer | description= | readonly=no | newinversion=1.2.0 | version=1.2.0}}
+
|width=33%|{{Property | name=DayEventsHeight | type=Integer | description= | readonly=no | newinversion=1.2.0 | version=1.2.2}}
|width=33%|{{Property | name=LockDayEventsHeight | type=Boolean | description= | readonly=no | newinversion=1.2.0 | version=1.2.0}}
+
|width=33%|{{Property | name=LockDayEventsHeight | type=Boolean | description= | readonly=no | newinversion=1.2.0 | version=1.2.2}}
|width=33%|{{Property | name=ViewType | type=Integer | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=ViewType | type=Integer | description= | readonly=no | newinversion= | version=1.2.2}}
 
|-
 
|-
|width=33%|{{Property | name=DayNames | type=String | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=DayNames | type=String | description= | readonly=no | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=minHGap | type=Integer | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=minHGap | type=Integer | description= | readonly=no | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=WeekHeaderTextFormat | type=String | description= | readonly=no | newinversion=1.1.0 | version=1.2.0}}
+
|width=33%|{{Property | name=WeekHeaderTextFormat | type=String | description= | readonly=no | newinversion=1.1.0 | version=1.2.2}}
 
|-
 
|-
|width=33%|{{Property | name=DayStartHour | type=Single | description= | readonly=no | newinversion=1.1.0 | version=1.2.0}}
+
|width=33%|{{Property | name=DayStartHour | type=Single | description= | readonly=no | newinversion=1.1.0 | version=1.2.2}}
|width=33%|{{Property | name=minHourHeight | type=Integer | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=minHourHeight | type=Integer | description= | readonly=no | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=YearHeatMap | type=Boolean | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=YearHeatMap | type=Boolean | description= | readonly=no | newinversion= | version=1.2.2}}
 
|-
 
|-
|width=33%|{{Property | name=DisplayDate | type=Date | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=DisableScroll | type=Boolean | description= | readonly=no | newinversion=1.2.1 | version=1.2.2}}
|width=33%|{{Property | name=minVGap | type=Integer | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=minVGap | type=Integer | description= | readonly=no | newinversion= | version=1.2.2}}
  
 
|-
 
|-
|width=33%|{{Property | name=DisplayWeeknumber | type=Boolean | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=DisplayDate | type=Date | description= | readonly=no | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=MonthNames | type=String | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=MonthNames | type=String | description= | readonly=no | newinversion= | version=1.2.2}}
  
 
|-
 
|-
|width=33%|{{Property | name=DragEvents | type=Boolean | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=DisplayWeeknumber | type=Boolean | description= | readonly=no | newinversion= | version=1.2.2}}
|width=33%|{{Property | name=MyColors | type=Colors | description= | readonly=no | newinversion= | version=1.2.0}}
+
|width=33%|{{Property | name=MyColors | type=Colors | description= | readonly=no | newinversion= | version=1.2.2}}
  
 
|-
 
|-
 +
|width=33%|{{Property | name=DragEvents | type=Boolean | description= | readonly=no | newinversion= | version=1.2.2}}
 +
|width=33%|{{Property | name=MyStyle | type=Styles | description= | readonly=no | newinversion= | version=1.2.2}}
 
|}
 
|}
  
Line 87: Line 88:
 
|-
 
|-
 
|width=50%|{{Method | name=AddEvent | params=cEvent As CalendarEvent | description= | newinversion=}}
 
|width=50%|{{Method | name=AddEvent | params=cEvent As CalendarEvent | description= | newinversion=}}
 +
|width=50%|{{Method | name=ImportICS | params=f As FolderItem, DefaultColor As Color = &c4986E7 | description= | newinversion=}}
 +
|-
 +
|width=50%|{{Method | name=DateForXY | params=x As Integer, y As Integer | description= | returntype=Date | newinversion=1.2.1}}
 
|width=50%|{{Method | name=ImportICS | params=txt As String, DefaultColor As Color = &c4986E7 | description= | newinversion=}}
 
|width=50%|{{Method | name=ImportICS | params=txt As String, DefaultColor As Color = &c4986E7 | description= | newinversion=}}
 
|-
 
|-
Line 105: Line 109:
 
|-
 
|-
 
|width=50%|{{Method | name=ImportICS | params=f As FolderItem, DefaultColor As Color = &c4986E7 | description= | newinversion=}}
 
|width=50%|{{Method | name=ImportICS | params=f As FolderItem, DefaultColor As Color = &c4986E7 | description= | newinversion=}}
 
|-
 
 
|}
 
|}
  
Line 140: Line 142:
 
|-
 
|-
 
|StyleDark
 
|StyleDark
|A dark [[CalendarView.Style|Style]] (black, grey and green).
+
|A dark style (black, grey and green).
 
|-
 
|-
 
|StyleOutlook2010
 
|StyleOutlook2010
Line 176: Line 178:
  
 
==History==
 
==History==
 +
 +
===Version 1.2.2 - Released 2012-09-06 ===
 +
*New
 +
**ShowHelptag event. Enables using custom HelpTags or disabling the HelpTag by returning True
 +
**CalendarEvent now has a Tag property
 +
*Fix:
 +
**HelpTag is now displayed in Week and Day view
 +
**Various demo window fixes
 +
 +
===Version 1.2.1 - Released 2012-08-29 ===
 +
*New:
 +
**Double-click on day in Month view changes to week view
 +
**Scrollwheel / Trackpad can be disabled horizontally
 +
**TextFont property to change the font of all text in the CalendarView
 +
**Several TextSize properties in the [[CalendarView.Style|Style]] structure.
 +
*Fix:
 +
**Events not displaying in 1 day view
  
 
===Version 1.2 - Released 2012-08-21 ===
 
===Version 1.2 - Released 2012-08-21 ===
Line 181: Line 200:
 
**Adapted display for Retina Macs (not tested on actual Retina Mac)
 
**Adapted display for Retina Macs (not tested on actual Retina Mac)
 
**Keyboard arrows to [[CalendarView.Scroll|Scroll]]
 
**Keyboard arrows to [[CalendarView.Scroll|Scroll]]
**ConstructContextualMenu event has a parameter for the clicked CalendarEvent
+
**ConstructContextualMenu event has a parameter for the clicked [[CalendarEvent]]
 
**Edit the CalendarEvent time directly from the [[CalendarView.EditEvent|EditEvent]] window
 
**Edit the CalendarEvent time directly from the [[CalendarView.EditEvent|EditEvent]] window
 
**Each CalendarEvent has an [[CalendarEvent.Editable|Editable]] property
 
**Each CalendarEvent has an [[CalendarEvent.Editable|Editable]] property
Line 188: Line 207:
 
**StyleOutlook2013 constant
 
**StyleOutlook2013 constant
 
**Style updates
 
**Style updates
 +
**Time format in week view can be edited
  
 
*Fix
 
*Fix
Line 263: Line 283:
  
 
  Class.
 
  Class.
CalendarEvent
+
[[CalendarEvent]]
 
==External Links==
 
==External Links==
  
 
Download page:
 
Download page:
 
http://www.jeremieleroy.com/products.php#CalendarView
 
http://www.jeremieleroy.com/products.php#CalendarView

Revision as of 23:49, 5 September 2012

Displays a Calendar in several formats (Year, Month, Week, Day, ...) that presents CalendarEvents.
This custom control based on a Canvas is similar to iCal on Mac OS and Google Calendar.

Events
ConstructContextualMenu Open
DateSelected ShowHelptag
DragEvent ViewChange
EditEvent
NewEvent


Properties
AdaptWeeksPerMonth FirstDate ScrollPosition
Animate FirstDayOfWeek SelEnd
Border ForceAM_PM SelStart
ColorWeekend HelpTagFormat Style
CreateWithDrag HiDPI TextFont
DayEndHour LastDate ViewDays
DayEventsHeight LockDayEventsHeight ViewType
DayNames minHGap WeekHeaderTextFormat
DayStartHour minHourHeight YearHeatMap
DisableScroll minVGap
DisplayDate MonthNames
DisplayWeeknumber MyColors
DragEvents MyStyle


Methods
AddEvent ImportICS
DateForXY ImportICS
DeleteAllEvents Redisplay
ExportICS RemoveEvent
ExportToDB Scroll
GetEvents SetStyle
ImportFromDB
ImportICS


Shared Methods
Register


Class Constants

Style

The following class constants are to be used to specify the Style to use with SetStyle function.

Class Constant Description
StyleDefault The default style.
StyleICal Macintosh iCal style.
StyleGoogle Google Calendar style.
StyleDark A dark style (black, grey and green).
StyleOutlook2010 Office Outlook 2010 style.
StyleOutlook2013 Office Outlook 2013 (beta) style.

ViewType

The following class constants are to be used with the ViewType property.

Class Constant Description
TypePicker Displays a DatePicker.
TypeYear Displays a whole year.
TypeMonth Displays a Month calendar.
TypeWeek Displays a full week.
TypeDay Displays one day.
TypeOther Use the ViewDays property to set the amount of days to display. If ViewDays=5 days from Monday to Friday are displayed.

History

Version 1.2.2 - Released 2012-09-06

  • New
    • ShowHelptag event. Enables using custom HelpTags or disabling the HelpTag by returning True
    • CalendarEvent now has a Tag property
  • Fix:
    • HelpTag is now displayed in Week and Day view
    • Various demo window fixes

Version 1.2.1 - Released 2012-08-29

  • New:
    • Double-click on day in Month view changes to week view
    • Scrollwheel / Trackpad can be disabled horizontally
    • TextFont property to change the font of all text in the CalendarView
    • Several TextSize properties in the Style structure.
  • Fix:
    • Events not displaying in 1 day view

Version 1.2 - Released 2012-08-21

  • New:
    • Adapted display for Retina Macs (not tested on actual Retina Mac)
    • Keyboard arrows to Scroll
    • ConstructContextualMenu event has a parameter for the clicked CalendarEvent
    • Edit the CalendarEvent time directly from the EditEvent window
    • Each CalendarEvent has an Editable property
    • HelpTagFormat property
    • DayEvent display height in Week view can be dragged (DayEventsHeight)
    • StyleOutlook2013 constant
    • Style updates
    • Time format in week view can be edited
  • Fix
    • Fixed RemoveEvent bug that deleted the first event with the same date and length
    • Time bar not refreshing properly
    • Simultaneous events do not overlap in Week view (limited to 10 simultaneous events)

Version 1.1 - Released 2012-05-02

  • New:
    • TypePicker constant
    • SelStart, SelEnd to set the selected dates in the CalendarPicker
    • DayStartHour, DayEndHour
    • ForceAM_PM
    • Style Property
    • StyleOutlook2010 constant
    • WeekHeaderTextFormat
    • Animate
  • Fix:
    • Several graphic enhancements
    • Colors in StyleDark
    • Day names on Mac OS


Version 1.0.3 - Released 2012-04-11

  • New:
    • StyleDefault, StyleICal, StyleGoogle, StyleDark class constants
    • ImportFromDB function
    • ExportToDB function
    • RemoveEvent now has a RemoveFromDB property.
  • Fix:
    • CalendarView not updating after AddEvent


Version 1.0.2 - Released 2012-04-03

  • Fix:
    • Day background color not filling the box in TypeMonth
    • Time background color not displaying in TypeWeek
    • Resizing event to make a 15 minute event in TypeWeek
    • TypeYear not displaying non**day events
    • OutOfBoundsException in DrawTime on Mac OS
    • Drawing long event in TypeMonth that finishes on last day of week


Version 1.0.1 - Released 2012-04-02

  • New:
    • DisplayWeeknumber As Boolean
    • MyColors.WeekNumber
    • MyColors.WeekNumberBackground
    • Day name is displayed inside the month grid for iCal style.
    • Drag events in Month and Week view to change start date/time
    • Resize event in TypeWeek
    • HeatMap in TypeYear
    • SetLength Function in CalendarEvent
    • VerticalGap and HorizontalGap properties for TypeYear
    • New Event "DragEvent". Fires when a CalendarEvent is dragged or resized
  • Fix:
    • Selected background color in month view if MyStyle.MDayNumberAlign=1
    • Day events in TypeWeek not aligned properly



Version 1.0.0 - Released 2012-03-30

First release

See Also

Class.

CalendarEvent

External Links

Download page: http://www.jeremieleroy.com/products.php#CalendarView