Difference between revisions of "CalendarView"
From Jeremie Leroy - XOJO Controls Wiki
(→History) |
|||
Line 6: | Line 6: | ||
|- | |- | ||
|class=titleClass colspan=2|Events | |class=titleClass colspan=2|Events | ||
+ | |- | ||
+ | |width=50%|{{Event | name=CalendarEventFilter | params=cEvent As CalendarEvent | description= | returntype=Boolean | newinversion=1.4.0}} | ||
+ | |width=50%|{{Event | name=NewEvent | params=StartDate As Date, EndDate As Date | description= | newinversion=}} | ||
|- | |- | ||
|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=ConstructContextualMenu | params=base As MenuItem, x As Integer, y As Integer, cEvent As CalendarEvent | description= | returntype=Boolean | newinversion=1.1.1}} | ||
Line 13: | Line 16: | ||
|width=50%|{{Event | name=ShowHelptag | params=Str As String, cEvent As CalendarEvent | description= | returntype=Boolean | newinversion=}} | |width=50%|{{Event | name=ShowHelptag | params=Str As String, cEvent As CalendarEvent | description= | returntype=Boolean | newinversion=}} | ||
|- | |- | ||
− | |width=50%|{{Event | name= | + | |width=50%|{{Event | name=DoubleClick | params=X As Integer, Y As Integer | description= | newinversion=}} |
|width=50%|{{Event | name=ViewChange | params=StartDate As Date, EndDate As Date | description= | newinversion=}} | |width=50%|{{Event | name=ViewChange | params=StartDate As Date, EndDate As Date | description= | newinversion=}} | ||
|- | |- | ||
− | |width=50%|{{Event | name= | + | |width=50%|{{Event | name=DragEvent | params=cEvent As CalendarEvent | description= | newinversion=}} |
|- | |- | ||
− | |width=50%|{{Event | name= | + | |width=50%|{{Event | name=EditEvent | params=cEvent As CalendarEvent | description= | returntype=CalendarEvent | newinversion=}} |
|- | |- | ||
Line 29: | Line 32: | ||
|class=titleClass colspan=3|Properties | |class=titleClass colspan=3|Properties | ||
|- | |- | ||
− | |width=33%|{{Property | name=AdaptWeeksPerMonth | type=Boolean | description= | readonly=no | newinversion= | version=1. | + | |width=33%|{{Property | name=AdaptWeeksPerMonth | type=Boolean | description= | readonly=no | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name=FirstDate | type=Date | description= | readonly=yes | newinversion= | version=1. | + | |width=33%|{{Property | name=FirstDate | type=Date | description= | readonly=yes | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name=ScrollPosition | type=Double | description= | readonly=no | newinversion= | version=1. | + | |width=33%|{{Property | name=ScrollPosition | type=Double | description= | readonly=no | newinversion= | version=1.4.1}} |
|- | |- | ||
− | |width=33%|{{Property | name=Animate | type=Boolean | description= | readonly=no | newinversion=1.1.0 | version=1. | + | |width=33%|{{Property | name=Animate | type=Boolean | description= | readonly=no | newinversion=1.1.0 | version=1.4.1}} |
− | |width=33%|{{Property | name=FirstDayOfWeek | type=Byte | description= | readonly=no | newinversion= | version=1. | + | |width=33%|{{Property | name=FirstDayOfWeek | type=Byte | description= | readonly=no | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name=SelEnd | type=Date | description= | readonly=no | newinversion=1.1.0 | version=1. | + | |width=33%|{{Property | name=SelEnd | type=Date | description= | readonly=no | newinversion=1.1.0 | version=1.4.1}} |
|- | |- | ||
− | |width=33%|{{Property | name=Border | type=Boolean | description= | readonly=no | newinversion= | version=1. | + | |width=33%|{{Property | name=Border | type=Boolean | description= | readonly=no | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name=ForceAM_PM | type=Boolean | description= | readonly=no | newinversion=1.1.0 | version=1. | + | |width=33%|{{Property | name=ForceAM_PM | type=Boolean | description= | readonly=no | newinversion=1.1.0 | version=1.4.1}} |
− | |width=33%|{{Property | name=SelStart | type=Date | description= | readonly=no | newinversion=1.1.0 | version=1. | + | |width=33%|{{Property | name=SelStart | type=Date | description= | readonly=no | newinversion=1.1.0 | version=1.4.1}} |
|- | |- | ||
− | |width=33%|{{Property | name=ColorWeekend | type=Boolean | description= | readonly=no | newinversion= | version=1. | + | |width=33%|{{Property | name=ColorWeekend | type=Boolean | description= | readonly=no | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=Freeze | type=Boolean | description= | readonly=no | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name=Style | type=Integer | description= | readonly=yes | newinversion= | version=1. | + | |width=33%|{{Property | name=Style | type=Integer | description= | readonly=yes | newinversion= | version=1.4.1}} |
|- | |- | ||
− | |width=33%|{{Property | name=CreateWithDrag | type=Boolean | description= | readonly=no | newinversion= | version=1. | + | |width=33%|{{Property | name=CreateWithDrag | type=Boolean | description= | readonly=no | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=HelpTagFormat | type=String | description= | readonly=no | newinversion=1.2.0 | version=1.4.1}} |
− | |width=33%|{{Property | name=TextFont | type=String | description= | readonly=no | newinversion=1.2.1 | version=1. | + | |width=33%|{{Property | name=TextFont | type=String | description= | readonly=no | newinversion=1.2.1 | version=1.4.1}} |
|- | |- | ||
− | |width=33%|{{Property | name=DayEndHour | type=Single | description= | readonly=no | newinversion=1.1.0 | version=1. | + | |width=33%|{{Property | name=DayEndHour | type=Single | description= | readonly=no | newinversion=1.1.0 | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=HiDPI | type=Boolean | description= | readonly=yes | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=TransparentBackground | type=Boolean | description= | readonly=no | newinversion=1.4.1 | version=1.4.1}} |
|- | |- | ||
− | |width=33%|{{Property | name=DayEventsHeight | type=Integer | description= | readonly=no | newinversion=1.2.0 | version=1. | + | |width=33%|{{Property | name=DayEventsHeight | type=Integer | description= | readonly=no | newinversion=1.2.0 | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=LastDate | type=Date | description= | readonly=yes | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=ViewDays | type=Integer | description= | readonly=no | newinversion= | version=1.4.1}} |
|- | |- | ||
− | |width=33%|{{Property | name=DayNames | type=String | description= | readonly=no | newinversion= | version=1. | + | |width=33%|{{Property | name=DayNames | type=String | description= | readonly=no | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=LockDayEventsHeight | type=Boolean | description= | readonly=no | newinversion=1.2.0 | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=ViewType | type=Integer | description= | readonly=no | newinversion= | version=1.4.1}} |
|- | |- | ||
− | |width=33%|{{Property | name=DayStartHour | type=Single | description= | readonly=no | newinversion=1.1.0 | version=1. | + | |width=33%|{{Property | name=DayStartHour | type=Single | description= | readonly=no | newinversion=1.1.0 | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=minHGap | type=Integer | description= | readonly=no | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=WeekHeaderTextFormat | type=String | description= | readonly=no | newinversion=1.1.0 | version=1.4.1}} |
|- | |- | ||
− | |width=33%|{{Property | name=DisableScroll | type=Boolean | description= | readonly=no | newinversion=1.2.1 | version=1. | + | |width=33%|{{Property | name=DisableScroll | type=Boolean | description= | readonly=no | newinversion=1.2.1 | version=1.4.1}} |
− | |width=33%|{{Property | name=minVGap | type=Integer | description= | readonly=no | newinversion= | version=1. | + | |width=33%|{{Property | name=minHourHeight | type=Integer | description= | readonly=no | newinversion= | version=1.4.1}} |
+ | |width=33%|{{Property | name=YearHeatMap | type=Boolean | description= | readonly=no | newinversion= | version=1.4.1}} | ||
+ | |- | ||
+ | |width=33%|{{Property | name=DisplayDate | type=Date | description= | readonly=no | newinversion= | version=1.4.1}} | ||
+ | |width=33%|{{Property | name=minVGap | type=Integer | description= | readonly=no | newinversion= | version=1.4.1}} | ||
+ | |width=33%|{{Property | name=YearMultipleEvents | type=Boolean | description= | readonly=no | newinversion= | version=1.4.1}} | ||
+ | |- | ||
+ | |width=33%|{{Property | name=DisplayWeeknumber | type=Boolean | description= | readonly=no | newinversion= | version=1.4.1}} | ||
+ | |width=33%|{{Property | name=MonthNames | type=String | description= | readonly=no | newinversion= | version=1.4.1}} | ||
|- | |- | ||
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=DragEvents | type=Boolean | description= | readonly=no | newinversion= | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=MyColors | type=Colors | description= | readonly=no | newinversion= | version=1.4.1}} |
|- | |- | ||
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=FilterEvents | type=Boolean | description= | readonly=no | newinversion=1.4.0 | version=1.4.1}} |
− | |width=33%|{{Property | name= | + | |width=33%|{{Property | name=MyStyle | type=Styles | description= | readonly=no | newinversion= | version=1.4.1}} |
|- | |- | ||
− | |||
− | |||
|} | |} | ||
Line 85: | Line 94: | ||
{| class=methodTable | {| class=methodTable | ||
|- | |- | ||
− | |class=titleClass colspan= | + | |class=titleClass colspan=3|Methods |
|- | |- | ||
− | |width= | + | |width=33%|{{Method | name=AddEvent | params=cEvent As CalendarEvent | description= | newinversion=}} |
− | |width= | + | |width=33%|{{Method | name=ImportFromDB | params=RS As RecordSet, ID As String = "ID", StartDate As String = "Start", EndDate As String = "End", Title As String = "Title", EventColor As String = "Color", Location As String = "Location", Description As String = "Description", Editable As Boolean = True, AllDay As Boolean = False | description= | returntype=Boolean | newinversion=}} |
+ | |width=33%|{{Method | name=Scroll | params=deltaX As Integer, deltaY As Integer = 0 | description= | newinversion=}} | ||
|- | |- | ||
− | |width= | + | |width=33%|{{Method | name=DateForXY | params=x As Integer, y As Integer | description= | returntype=Date | newinversion=1.2.1}} |
− | |width= | + | |width=33%|{{Method | name=ImportICS | params=f As FolderItem, DefaultColor As Color = &c4986E7, Editable As Boolean = False | description= | newinversion=}} |
+ | |width=33%|{{Method | name=Search | params=txt As String, setFocus As Boolean = True, FromBeginning As Boolean = False | description= | returntype=CalendarEvent | newinversion=1.4.0}} | ||
|- | |- | ||
− | |width= | + | |width=33%|{{Method | name=DeleteAllEvents | description= | newinversion=}} |
− | |width= | + | |width=33%|{{Method | name=ImportICS | params=txt As String, DefaultColor As Color = &c4986E7, Editable As Boolean = False | description= | newinversion=}} |
+ | |width=33%|{{Method | name=SetStyle | params=StyleType As Integer | description= | newinversion=}} | ||
|- | |- | ||
− | |width= | + | |width=33%|{{Method | name=ExportICS | description= | returntype=String | newinversion=}} |
− | |width= | + | |width=33%|{{Method | name=PrintAdvanced | params=g As Graphics, PrintToday As Boolean = False | description= | newinversion=}} |
+ | |||
|- | |- | ||
− | |width= | + | |width=33%|{{Method | name=ExportToDB | params=DB As Database, TableName As String, ID As String = "ID", StartDate As String = "Start", EndDate As String = "End", Title As String = "Title", EventColor As String = "Color", Location As String = "Location", Description As String = "Description" | description= | returntype=Boolean | newinversion=}} |
− | |width= | + | |width=33%|{{Method | name=PrintSimple | params=PrintToday As Boolean = False | description= | newinversion=}} |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | |width= | + | |width=33%|{{Method | name=FocusOn | params=cEvent As CalendarEvent | description= | newinversion=1.4.0}} |
+ | |width=33%|{{Method | name=Redisplay | description= | newinversion=}} | ||
|- | |- | ||
− | |width= | + | |width=33%|{{Method | name=GetEvents | description= | returntype=CalendarEvent() | newinversion=}} |
+ | |width=33%|{{Method | name=RemoveEvent | params=cEvent As CalendarEvent, RemoveFromDB As Boolean = True | description= | newinversion=}} | ||
|} | |} | ||
Line 189: | Line 202: | ||
**Search function | **Search function | ||
**FocusOn function to go to the date of the passed Event. | **FocusOn function to go to the date of the passed Event. | ||
− | **FilterEvents property. If True, the CalendarEventFilter is fired for each event before displaying it. | + | **FilterEvents property. If True, the [[CalendarView.CalendarEventFilter|CalendarEventFilter]] is fired for each event before displaying it. |
**CalendarEventFilter event. Return True if the event should be displayed. | **CalendarEventFilter event. Return True if the event should be displayed. | ||
*Fix: | *Fix: | ||
Line 195: | Line 208: | ||
**Events appearing twice in Week view. | **Events appearing twice in Week view. | ||
**Improved drawing performance. | **Improved drawing performance. | ||
− | **Pressing a key used to | + | **Pressing a key used to [[CalendarView.Scroll|Scroll]] down. Now only the down arrow scrolls down. |
+ | |||
+ | ===Version 1.3.1 - Released 2012-11-24 === | ||
+ | *New: | ||
+ | **PrintSimple and [[CalendarView.PrintAdvanced|PrintAdvanced]] functions | ||
+ | **Freeze property to prevent any refresh | ||
+ | **YearMultipleEvents to display all event colors for each day | ||
+ | *Fix: | ||
+ | **WeekHeaderTextFormat doesn't display spaces in the day and [[CalendarView.MonthNames|MonthNames]] on Windows | ||
+ | **Drawing error in MonthView for Sunday | ||
+ | **Drawing error in MonthView for very long events | ||
===Version 1.2.2 - Released 2012-09-06 === | ===Version 1.2.2 - Released 2012-09-06 === | ||
− | *New | + | *New: |
**ShowHelptag event. Enables using custom HelpTags or disabling the HelpTag by returning True | **ShowHelptag event. Enables using custom HelpTags or disabling the HelpTag by returning True | ||
**CalendarEvent now has a Tag property | **CalendarEvent now has a Tag property | ||
Line 217: | Line 240: | ||
*New: | *New: | ||
**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 | + | **Keyboard arrows to 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 | ||
Line 298: | Line 321: | ||
===Version 1.0.0 - Released 2012-03-30=== | ===Version 1.0.0 - Released 2012-03-30=== | ||
First release | First release | ||
− | |||
==See Also== | ==See Also== | ||
Line 306: | Line 328: | ||
Download page: | Download page: | ||
− | http://www.jeremieleroy.com/products.php | + | http://www.jeremieleroy.com/products.php |
Revision as of 11:28, 11 June 2013
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 | |
CalendarEventFilter | NewEvent |
ConstructContextualMenu | Open |
DateSelected | ShowHelptag |
DoubleClick | ViewChange |
DragEvent | |
EditEvent |
Methods | ||
AddEvent | ImportFromDB | Scroll |
DateForXY | ImportICS | Search |
DeleteAllEvents | ImportICS | SetStyle |
ExportICS | PrintAdvanced | |
ExportToDB | PrintSimple | |
FocusOn | Redisplay | |
GetEvents | RemoveEvent |
Shared Methods |
Register |
Contents
- 1 Class Constants
- 2 History
- 2.1 Version 1.4.1 - Released 2013-06-01
- 2.2 Version 1.4.0 - Released 2013-05-30
- 2.3 Version 1.3.1 - Released 2012-11-24
- 2.4 Version 1.2.2 - Released 2012-09-06
- 2.5 Version 1.2.1 - Released 2012-08-29
- 2.6 Version 1.2 - Released 2012-08-21
- 2.7 Version 1.1 - Released 2012-05-02
- 2.8 Version 1.0.3 - Released 2012-04-11
- 2.9 Version 1.0.2 - Released 2012-04-03
- 2.10 Version 1.0.1 - Released 2012-04-02
- 2.11 Version 1.0.0 - Released 2012-03-30
- 3 See Also
- 4 External Links
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.4.1 - Released 2013-06-01
- New:
- DayGradient property
- When creating a new CalendarEvent, a "Cancel" button appears to cancel the creation of the CalendarEvent.
Version 1.4.0 - Released 2013-05-30
- New:
- Search function
- FocusOn function to go to the date of the passed Event.
- FilterEvents property. If True, the CalendarEventFilter is fired for each event before displaying it.
- CalendarEventFilter event. Return True if the event should be displayed.
- Fix:
- Events not displaying in Week view.
- Events appearing twice in Week view.
- Improved drawing performance.
- Pressing a key used to Scroll down. Now only the down arrow scrolls down.
Version 1.3.1 - Released 2012-11-24
- New:
- PrintSimple and PrintAdvanced functions
- Freeze property to prevent any refresh
- YearMultipleEvents to display all event colors for each day
- Fix:
- WeekHeaderTextFormat doesn't display spaces in the day and MonthNames on Windows
- Drawing error in MonthView for Sunday
- Drawing error in MonthView for very long events
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
- New:
- StyleDark
- DisableDrag is replaced with DragEvents and CreateWithDrag
- 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.
External Links
Download page: http://www.jeremieleroy.com/products.php