// XTPCalendarNotifications.h: unique notifications identifiers for
// CXTPCalendarControl class.
//
// This file is a part of the XTREME CALENDAR MFC class library.
// (c)1998-2012 Codejock Software, All Rights Reserved.
//
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
// CONSENT OF CODEJOCK SOFTWARE.
//
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
// SINGLE COMPUTER.
//
// CONTACT INFORMATION:
// support@codejock.com
// http://www.codejock.com
//
/////////////////////////////////////////////////////////////////////////////
//{{AFX_CODEJOCK_PRIVATE
#if !defined(_XTPCALENDARNOTIFICATIONS_H__)
#define _XTPCALENDARNOTIFICATIONS_H__
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//}}AFX_CODEJOCK_PRIVATE
class CXTPCalendarViewEvents;
class CXTPCalendarDayViewGroup;
typedef DWORD XTP_NOTIFY_CODE;
//## *** CXTPCalendarData notification IDs ***
//---------------------------------------------------------------------------
// Summary: New event has just been added to the data provider.
// Sender - CXTPCalendarData, CXTPCalendarControl
// Remarks: Parameters - wParam = EventID, lParam = CXTPCalendarEvent*
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAREVENTWASADDED = (WM_XTP_CALENDAR_BASE + 1);
//---------------------------------------------------------------------------
// Summary: Event has just been deleted from the data provider.
// Sender - CXTPCalendarData, CXTPCalendarControl
// Remarks: Parameters - wParam = EventID, lParam = CXTPCalendarEvent*
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAREVENTWASDELETED = (WM_XTP_CALENDAR_BASE + 2);
//---------------------------------------------------------------------------
// Summary: Event has just been changed in the data provider.
// Sender - CXTPCalendarData, CXTPCalendarControl
// Remarks: Parameters - wParam = EventID, lParam = CXTPCalendarEvent*
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAREVENTWASCHANGED = (WM_XTP_CALENDAR_BASE + 3);
//{{AFX_CODEJOCK_PRIVATE
//
// ***
// These handlers are remain for compatibility with previous versions.
// In new versions XTP_NC_CALENDAREVENTWASxxx should be used instead.
// Pattern can be retrieved from lParam = CXTPCalendarEvent*
// ***
//
//---------------------------------------------------------------------------
// Summary: New recurrence pattern has just been added to the data provider.
// Sender - CXTPCalendarData, CXTPCalendarControl
// Remarks: Parameters - wParam = RatternID, lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARPATTERNWASADDED = (WM_XTP_CALENDAR_BASE + 4);
//---------------------------------------------------------------------------
// Summary: Recurrence pattern has just been deleted from the data provider.
// Sender - CXTPCalendarData, CXTPCalendarControl
// Remarks: Parameters - wParam = RatternID, lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARPATTERNWASDELETED = (WM_XTP_CALENDAR_BASE + 5);
//---------------------------------------------------------------------------
// Summary: Recurrence pattern has just been changed in the data provider.
// Sender - CXTPCalendarData, CXTPCalendarControl
// Remarks: Parameters - wParam = RatternID, lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARPATTERNWASCHANGED = (WM_XTP_CALENDAR_BASE + 6);
//}}AFX_CODEJOCK_PRIVATE
//---------------------------------------------------------------------------
// Summary: Current Calendar Control view type(day, week, ...) or content
// was changed.
// Sender - CXTPCalendarControl
// Remarks: Parameters - wParam = 0, lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARVIEWWASCHANGED = (WM_XTP_CALENDAR_BASE + 7);
//---------------------------------------------------------------------------
// Summary: A Context Menu should be displayed for the Calendar Control.
// Sender - CXTPCalendarControl
// Remarks: Parameters - wParam = 'Clicked Point', lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARCONTEXTMENU = (WM_XTP_CALENDAR_BASE + 8);
//---------------------------------------------------------------------------
// Summary: On LButtonDown event.
// Sender - CXTPCalendarControl
// Remarks: Parameters - wParam = 'Clicked Point', lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARLBUTTONDOWN = (WM_XTP_CALENDAR_BASE + 9);
//---------------------------------------------------------------------------
// Summary: On LButtonDblClick event.
// Sender - CXTPCalendarControl
// Remarks: Parameters - wParam = 'Clicked Point', lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARLBUTTONDBLCLICK = (WM_XTP_CALENDAR_BASE + 10);
//---------------------------------------------------------------------------
// Summary: On LButtonUp event.
// Sender - CXTPCalendarControl
// Remarks: Parameters - wParam = 'Clicked Point', lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARLBUTTONUP = (WM_XTP_CALENDAR_BASE + 11);
//---------------------------------------------------------------------------
// Summary: On MouseMove event.
// Sender - CXTPCalendarControl
// Remarks: Parameters - wParam = 'Clicked Point', lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARMOUSEMOVE = (WM_XTP_CALENDAR_BASE + 12);
//---------------------------------------------------------------------------
// Summary: On KeyDown event.
// Sender - CXTPCalendarControl
// Remarks: Parameters - wParam = 'key was pressed', lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARKEYDOWN = (WM_XTP_CALENDAR_BASE + 13);
//---------------------------------------------------------------------------
// Summary: On RButtonDown event.
// Sender - CXTPCalendarControl
// Remarks: Parameters - wParam = 'Clicked Point', lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARRBUTTONDOWN = (WM_XTP_CALENDAR_BASE + 14);
//---------------------------------------------------------------------------
// Summary: Calendar Control Day view time scale was changed.
// Sender - CXTPCalendarControl
// Remarks: Parameters - wParam = 0, lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARVIEWTIMESCALEWASCHANGED = (WM_XTP_CALENDAR_BASE + 15);
//---------------------------------------------------------------------------
// Summary: Calendar Control options was changed.
// Sender - CXTPCalendarControl
// Remarks: Parameters
// wParam = -1 or XTPCalendarViewType enum value.
// Specify global option (-1) or which kind of view
// changed option is related.
// lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAROPTIONSWASCHANGED = (WM_XTP_CALENDAR_BASE + 16);
//---------------------------------------------------------------------------
// Summary: Calendar Control data provider (resources) where changed.
// SetDataProvider() or SetResources() methods where called.
// Sender - CXTPCalendarControl, CXTPCalendarView.
// Remarks: Parameters wParam = 0 if Calendar control resources where changed,
// 1 when CalendarView resources where changed.
// 2 when CalendarViewDay resources where changed.
// lParam = NULL if wParam == 0,
// CXTPCalendarView* if wParam == 1,
// CXTPCalendarViewDay* if wParam == 2.
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARDATAPROVIDERWASCHANGED = (WM_XTP_CALENDAR_BASE + 17);
//---------------------------------------------------------------------------
// Summary: alias of XTP_NC_CALENDARDATAPROVIDERWASCHANGED notification code
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_RESOURCES_WHERE_CHANGED = XTP_NC_CALENDARDATAPROVIDERWASCHANGED;
//---------------------------------------------------------------------------
// Summary: This notification is sent to determine is specified editing operation
// disabled.
// Sender - CXTPCalendarControl
// Remarks:
// This notification may be sent several times before edit operation
// to update user interface state in the right way (set corresponding
// mouse cursor for example).
// The XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION notification is sent
// only once before edit operation.
//
// Parameters
// wParam - [in] A pointer to XTP_EVENT_EDIT_OPERATION_PARAMS structure
// or to derived structure depends on eOperation member value.
// lParam - [out] A pointer to the return result: BOOL*.
// Set TRUE if to disable specified editing operation,
// otherwise FALSE.
// Initial value is FALSE.
// See Also: XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION, XTPCalendarEditOperation,
// XTP_EVENT_EDIT_OPERATION_PARAMS, XTP_EVENT_PASTE_OPERATION_PARAMS,
// XTP_EVENT_IN_PLACE_CREATE_EVENT_OPERATION_PARAMS
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_IS_EVENT_EDIT_OPERATION_DISABLED = (WM_XTP_CALENDAR_BASE + 18);
//---------------------------------------------------------------------------
// Summary: This notification is sent to customize or disable specified editing
// operation.
// Sender - CXTPCalendarControl
// Remarks:
// This notification is sent only once before edit operation.
// The XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION notification is sent
// every time before this notification.
//
// Parameters
// wParam - [in] A pointer to XTP_EVENT_EDIT_OPERATION_PARAMS structure
// or to derived structure depends on eOperation member value.
// lParam - [out] A pointer to the return result: BOOL*.
// Set TRUE if specified editing operation is handled,
// otherwise FALSE.
// Initial value is FALSE.
// See Also: XTP_NC_CALENDAR_IS_EVENT_EDIT_OPERATION_DISABLED, XTPCalendarEditOperation,
// XTP_EVENT_EDIT_OPERATION_PARAMS, XTP_EVENT_PASTE_OPERATION_PARAMS,
// XTP_EVENT_IN_PLACE_CREATE_EVENT_OPERATION_PARAMS
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION = (WM_XTP_CALENDAR_BASE + 19);
//---------------------------------------------------------------------------
// Summary: This structure is used as a generic and base class for customize
// edit event notifications.
// See Also: XTPCalendarEditOperation,
// XTP_NC_CALENDAR_IS_EVENT_EDIT_OPERATION_DISABLED,
// XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION,
// XTP_EVENT_PASTE_OPERATION_PARAMS,
// XTP_EVENT_IN_PLACE_CREATE_EVENT_OPERATION_PARAMS
//---------------------------------------------------------------------------
struct XTP_EVENT_EDIT_OPERATION_PARAMS
{
XTPCalendarEditOperation eOperation; // Edit operation.
CXTPCalendarViewEvents* pEventViews; // Event views array with events set for edit operation.
};
//---------------------------------------------------------------------------
// Summary: This structure is with notifications for customize edit event
// notifications when eOperation is xtpCalendarEO_Paste.
// See Also: XTPCalendarEditOperation,
// XTP_NC_CALENDAR_IS_EVENT_EDIT_OPERATION_DISABLED,
// XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION,
// XTP_EVENT_EDIT_OPERATION_PARAMS
//---------------------------------------------------------------------------
struct XTP_EVENT_PASTE_OPERATION_PARAMS : public XTP_EVENT_EDIT_OPERATION_PARAMS
{
CXTPCalendarEvent* pEvent; // A pointer to event prepared for paste.
BOOL bPasteWillChangeExistingEvent; // If this member is TRUE, the new event will not be added, just existing event will be updated. Used for creating recurrence event exceptions by cut operation.
};
//---------------------------------------------------------------------------
// Summary: This structure is with notifications for customize edit event
// notifications when eOperation is xtpCalendarEO_InPlaceCreateEvent.
// See Also: XTPCalendarEditOperation,
// XTP_NC_CALENDAR_IS_EVENT_EDIT_OPERATION_DISABLED,
// XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION,
// XTP_EVENT_EDIT_OPERATION_PARAMS
//---------------------------------------------------------------------------
struct XTP_EVENT_IN_PLACE_CREATE_EVENT_OPERATION_PARAMS : public XTP_EVENT_EDIT_OPERATION_PARAMS
{
LPCTSTR pcszInitialSubject; // A pointer to the string which contains initial subject value for new event (generally initial char).
};
//---------------------------------------------------------------------------
// Summary: This structure is with notifications for customize edit event
// notifications when eOperation is xtpCalendarEO_DragXXX.
// Remarks:
// Used only with XTP_NC_CALENDAR_IS_EVENT_EDIT_OPERATION_DISABLED
// notification.
// See Also: XTPCalendarEditOperation,
// XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION,
// XTP_EVENT_EDIT_OPERATION_PARAMS
//---------------------------------------------------------------------------
struct XTP_EVENT_DRAG_OPERATION_PARAMS : public XTP_EVENT_EDIT_OPERATION_PARAMS
{
CXTPCalendarEvent* pDraggingEventOriginal; // A pointer to original dragging event
CXTPCalendarEvent* pDraggingEvent; // A pointer to event before dragging operation.
CXTPCalendarEvent* pDraggingEventNew; // A pointer to event after dragging operation.
};
//---------------------------------------------------------------------------
// Summary: This notification is sent when selection is changed.
// Sender - CXTPCalendarControl
// Remarks:
// Parameters
// wParam - [in] A value from XTPCalendarSelectionChanged
// enum.
// lParam - unused
// See Also: XTPCalendarSelectionChanged
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_SELECTION_CHANGED = (WM_XTP_CALENDAR_BASE + 20);
//---------------------------------------------------------------------------
// Summary: On RButtonUp event.
// Sender - CXTPCalendarControl
// Remarks: Parameters - wParam = 'Clicked Point', lParam = 0
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDARRBUTTONUP = (WM_XTP_CALENDAR_BASE + 21);
//---------------------------------------------------------------------------
// Summary: Enumeration of possible Calendar Reminder notification actions.
// Remarks: Members of this enumerations are used as an additional parameters
// of the XTP_NC_CALENDAR_ON_REMINDERS notification
// See Also: XTP_NC_CALENDAR_ON_REMINDERS notification
//---------------------------------------------------------------------------
enum XTPCalendarRemindersAction
{
xtpCalendarRemindersMonitoringStarted = 1, // Sends after monitoring has started (end of executing CXTPCalendarRemindersManager::StartMonitoring)
xtpCalendarRemindersMonitoringStopped = 2, // Sends when monitoring has stopped (CXTPCalendarRemindersManager::StopMonitoring)
xtpCalendarRemindersFire = 3, // Main notification, when reminder is executed.
xtpCalendarReminderSnoozed = 4, // When 1 pending reminder was snoozed. lParam = CXTPCalendarReminder*
xtpCalendarReminderDismissed = 5, // When 1 pending reminder was dismissed. lParam = CXTPCalendarReminder*
xtpCalendarReminderDismissedAll = 6 // When all pending reminders were dismissed.
};
//---------------------------------------------------------------------------
// Summary: On RButtonUp event.
// Sender - CXTPCalendarRemindersManager
// Remarks: Parameters - wParam = XTPCalendarRemindersAction, lParam = 0 or CXTPCalendarReminder*. See XTPCalendarRemindersAction.
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_ON_REMINDERS = (WM_XTP_CALENDAR_BASE + 22);
//---------------------------------------------------------------------------
// Summary: Doubled custom parameter for notifications.
// Used when single WPARAM is not enough.
// See Also: WPARAM
//---------------------------------------------------------------------------
struct XTP_CALENDAR_WPARAM2
{
WPARAM wParam1; // First custom parameter
WPARAM wParam2; // Second custom parameter
};
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoRetrieveDayEvents.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
// Parameters
// wParam - [in] A day date as XTP_DATE_VALUE;
// lParam - [in/out] A pointer to pointer to events array
// as CXTPCalendarEventsPtr*;
//
// See Also: CXTPCalendarCustomDataProvider::DoRetrieveDayEvents
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoRetrieveDayEvents = (WM_XTP_CALENDAR_BASE + 23);
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoRemoveAllEvents.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
//
// See Also: CXTPCalendarCustomDataProvider::DoRemoveAllEvents
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoRemoveAllEvents = (WM_XTP_CALENDAR_BASE + 24);
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoRead_Event.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
// Parameters
// wParam - [in] An event ID to read as DWORD;
// lParam - [in/out] A pointer to pointer to event
// as CXTPCalendarEventPtr*;
//
// See Also: CXTPCalendarCustomDataProvider::DoRead_Event
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoRead_Event = (WM_XTP_CALENDAR_BASE + 25);
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoRead_RPattern.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
// Parameters
// wParam - [in] An recurrence pattern ID to read as DWORD;
// lParam - [in/out] A pointer to pointer to recurrence pattern
// as CXTPCalendarRecurrencePatternPtr*;
//
// See Also: CXTPCalendarCustomDataProvider::DoRead_RPattern
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoRead_RPattern = (WM_XTP_CALENDAR_BASE + 26);
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoCreate_Event.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
// Parameters
// wParam - [in] A pointer as XTP_CALENDAR_WPARAM2* where :
// wParam1 - [in] A pointer to calendar event object
// as CXTPCalendarEvent*;
// wParam2 - [out] A pointer to newly created event ID as DWORD*;
// lParam - [out] A pointer to result of operation as BOOL*;
//
// See Also: CXTPCalendarCustomDataProvider::DoCreate_Event
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoCreate_Event = (WM_XTP_CALENDAR_BASE + 27);
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoUpdate_Event.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
// Parameters
// wParam - [in] A pointer to calendar event object as CXTPCalendarEvent*;
// lParam - [out] A pointer to result of operation as BOOL*;
//
// See Also: CXTPCalendarCustomDataProvider::DoUpdate_Event
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoUpdate_Event = (WM_XTP_CALENDAR_BASE + 28);
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoDelete_Event.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
// Parameters
// wParam - [in] A pointer to calendar event object as CXTPCalendarEvent*;
// lParam - [out] A pointer to result of operation as BOOL*;
//
// See Also: CXTPCalendarCustomDataProvider::DoDelete_Event
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoDelete_Event = (WM_XTP_CALENDAR_BASE + 29);
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoCreate_RPattern.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
// Parameters
// wParam - [in] A pointer as XTP_CALENDAR_WPARAM2* where :
// wParam1 - [in] A pointer to recurrence pattern object
// as CXTPCalendarRecurrencePattern*;
// wParam2 - [out] A pointer to newly created
// recurrence pattern ID as DWORD*;
// lParam - [out] A pointer to result of operation as BOOL*;
//
// See Also: CXTPCalendarCustomDataProvider::DoCreate_RPattern
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoCreate_RPattern = (WM_XTP_CALENDAR_BASE + 30);
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoUpdate_RPattern.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
// Parameters
// wParam - [in] A pointer to recurrence pattern object
// as CXTPCalendarRecurrencePattern*;
// lParam - [out] A pointer to result of operation as BOOL*;
//
// See Also: CXTPCalendarCustomDataProvider::DoUpdate_RPattern
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoUpdate_RPattern = (WM_XTP_CALENDAR_BASE + 31);
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoDelete_RPattern.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
// Parameters
// wParam - [in] A pointer to recurrence pattern object
// as CXTPCalendarRecurrencePattern*;
// lParam - [out] A pointer to result of operation as BOOL*;
//
// See Also: CXTPCalendarCustomDataProvider::DoDelete_RPattern
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoDelete_RPattern = (WM_XTP_CALENDAR_BASE + 32);
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoGetAllEvents_raw.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
// Parameters
// wParam - Unused (=0);
// lParam - [in/out] A pointer to pointer to events array
// as CXTPCalendarEventsPtr*;
//
// See Also: CXTPCalendarCustomDataProvider::DoGetAllEvents_raw
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoGetAllEvents_raw = (WM_XTP_CALENDAR_BASE + 33);
//---------------------------------------------------------------------------
// Summary: This notification is used as analog of overridable method
// CXTPCalendarData::DoGetUpcomingEvents.
// Sender - CXTPCalendarCustomDataProvider, CXTPCalendarControl.
// Remarks:
// Send by a custom data provider. Calendar control reflects this
// notification as well as other notifications.
// Parameters
// wParam - [in] A pointer as XTP_CALENDAR_WPARAM2* where :
// wParam1 - [in] As COleDateTime*; Start date and time
// of a specified period;
// wParam2 - [in] As COleDateTimeSpan*; A duration of a
// specified period;
// lParam - [in/out] A pointer to pointer to events array
// as CXTPCalendarEventsPtr*;
//
// See Also: CXTPCalendarCustomDataProvider::DoGetUpcomingEvents
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_DoGetUpcomingEvents = (WM_XTP_CALENDAR_BASE + 34);
//---------------------------------------------------------------------------
// Summary: This notification is sent when selection is changed.
// Sender - CXTPCalendarControl
// Remarks:
// Parameters
// wParam - [in] CXTPCalendarViewGroup* - A pointer to Group View.
// lParam - [in/out] CString* pointer to caption string.
// See Also: CXTPCalendarViewGroup::GetCaption
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_GETGROPVIEWCAPTION = (WM_XTP_CALENDAR_BASE + 35);
//---------------------------------------------------------------------------
// Summary: This notification is sent when calendar is populating.
// lParam contains events which will be drawn for the group specified
// by wParam.
// You may add, remove or modify some events in CXTPCalendarEvents
// collection.
//
// Sender - CXTPCalendarControl
// Remarks:
// Parameters
// wParam - [in] CXTPCalendarViewGroup* - A pointer to Group View.
// lParam - [in/out] CXTPCalendarEvents* - A pointer to events array to draw.
// See Also: CXTPCalendarControl::Populate, XTP_NC_CALENDAR_PREPOPULATE_DAY.
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_PREPOPULATE = (WM_XTP_CALENDAR_BASE + 36);
//===========================================================================
// Summary:
// Set of parameters transferred from calendar items for
// XTP_NC_CALENDAR_BEFORE_DRAW_DAYVIEWCELL notification.
// Remarks:
// This structure defines day view cell (exclude all day events area) drawing
// attributes.
// See Also: XTP_NC_CALENDAR_BEFORE_DRAW_DAYVIEWCELL
//===========================================================================
struct XTP_CALENDAR_DAYVIEWCELL_PARAMS
{
int nIndex; // [in] Cell index.
DATE dtBeginTime; // [in] Begin cell date and time.
BOOL bSelected; // [in] Is cell selected.
COLORREF clrBackgroundColor; // [in/out] Background cell color.
};
//---------------------------------------------------------------------------
// Summary: This notification is sent for each calendar day view cell before draw.
// You may customize clrBackgroundColor member of provided
// XTP_CALENDAR_DAYVIEWCELL_PARAMS structure.
// Sender - CXTPCalendarControl
// Remarks:
// Parameters
// wParam - [in] CXTPCalendarViewGroup* - A pointer to Group View.
// lParam - [in/out] XTP_CALENDAR_DAYVIEWCELL_PARAMS* - A pointer to
// cell parameters.
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_BEFORE_DRAW_DAYVIEWCELL = (WM_XTP_CALENDAR_BASE + 37);
//===========================================================================
// Summary:
// Set of parameters transferred from calendar items for
// XTP_NC_CALENDAR_BEFORE_DRAW_THEMEOBJECT notification.
// Remarks:
// This structure defines day view cell (exclude all day events area) drawing
// attributes.
// See Also: XTP_NC_CALENDAR_BEFORE_DRAW_THEMEOBJECT
//===========================================================================
struct XTP_CALENDAR_THEME_DAYVIEWCELL_PARAMS
{
int nIndex; // [in] Cell index.
DATE dtBeginTime; // [in] Begin cell date and time.
BOOL bSelected; // [in] Is cell selected.
BOOL bWorkCell; // [in] The cell is work (or non-work).
CXTPCalendarDayViewGroup* pViewGroup; // [in] Owner group.
};
//===========================================================================
// Summary:
// Set of parameters transferred from calendar items for
// XTP_NC_CALENDAR_BEFORE_DRAW_THEMEOBJECT notification.
// Remarks:
// This structure defines day timescale cell drawing
// attributes.
// See Also: XTP_NC_CALENDAR_BEFORE_DRAW_THEMEOBJECT
//===========================================================================
struct XTP_CALENDAR_THEME_DAYVIEWTIMESCALECELL_PARAMS
{
int nTimeScale; // [in] Time scale number {1 - main, 2 - additional}
int nIndex; // [in] Cell index.
DATE dtBeginTime; // [in] Begin cell time.
int nMinutes; // [in] SubCell Minutes value {0, 5, 10, ...} or -1 for cell hour.
};
//===========================================================================
// Summary:
// This enum defines a set of calendar theme items for which
// XTP_NC_CALENDAR_BEFORE_DRAW_THEMEOBJECT notification is sent.
// See Also: XTP_NC_CALENDAR_BEFORE_DRAW_THEMEOBJECT
//===========================================================================
enum XTPCalendarBeforeDrawThemeObject
{
xtpCalendarBeforeDraw_DayViewTimeScale = 0x00000001, // dwParam2 - [in] nTimeScale = {1 - main, 2 - additional}
xtpCalendarBeforeDraw_DayViewTimeScaleCaption = 0x00000002, // dwParam2 - [in] nTimeScale = {1 - main, 2 - additional};
xtpCalendarBeforeDraw_DayViewTimeScaleCell = 0x00000004, // dwParam2 - [in] XTP_CALENDAR_THEME_DAYVIEWTIMESCALECELL_PARAMS*
xtpCalendarBeforeDraw_DayViewDay = 0x00000010, // dwParam2 - [in] CXTPCalendarDayViewDay*
xtpCalendarBeforeDraw_DayViewDayGroup = 0x00000020, // dwParam2 - [in] CXTPCalendarDayViewGroup*
xtpCalendarBeforeDraw_DayViewCell = 0x00000040, // dwParam2 - [in] XTP_CALENDAR_THEME_DAYVIEWCELL_PARAMS *
xtpCalendarBeforeDraw_DayViewEvent = 0x00000080, // dwParam2 - [in] CXTPCalendarDayViewEvent*
xtpCalendarBeforeDraw_AllDayViewEvent = 0x00000100, // dwParam2 - [in] CXTPCalendarDayViewEvent*
xtpCalendarBeforeDraw_MonthViewDay = 0x00001000, // dwParam2 - [in] CXTPCalendarMonthViewDay*
xtpCalendarBeforeDraw_MonthViewEvent = 0x00002000, // dwParam2 - [in] CXTPCalendarMonthViewEvent*
xtpCalendarBeforeDraw_MonthViewWeekDayHeader = 0x00004000, // dwParam2 - [in] WeekDay = {1-Sun, 2-Mon, ...}, -1 for common part;
xtpCalendarBeforeDraw_MonthViewWeekHeader = 0x00008000, // dwParam2 - [in] WeekIndex={0...N}, -1 for common part;
xtpCalendarBeforeDraw_WeekViewDay = 0x00100000, // dwParam2 - [in] CXTPCalendarWeekViewDay*
xtpCalendarBeforeDraw_WeekViewEvent = 0x00200000 // dwParam2 - [in] CXTPCalendarWeekViewEvent*
};
//---------------------------------------------------------------------------
// Summary: This notification is sent for calendar theme items before draw.
// You may customize corresponding theme part for each object in this
// message. Any object part changes which made in this notification
// handler will be discarded when object draw finished.
// This let you dynamically customize each calendar item.
//
// Sender - CXTPCalendarControl
// Remarks:
// This notification send only for theme objects defined in BeforeDrawFlags.
// See Also: CXTPCalendarTheme::GetBeforeDrawFlags,
// CXTPCalendarTheme::SetBeforeDrawFlags
// Parameters
// wParam - [in] An object ID from XTPCalendarBeforeDrawThemeObject enum.
// lParam - [in] An additional parameter defined for each item in
// XTPCalendarBeforeDrawThemeObject.
//
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_BEFORE_DRAW_THEMEOBJECT = (WM_XTP_CALENDAR_BASE + 38);
//===========================================================================
// Summary:
// Set of parameters transferred from calendar items for
// XTP_NC_CALENDAR_GETITEMTEXT notification.
// Remarks:
// This structure defines an calendar item, item data and in-out item text
// to customize.
// See Also:
// XTP_NC_CALENDAR_GETITEMTEXTL,
// XTPCalendarGetItemText, XTPCalendarGetItemTextEx.
//===========================================================================
struct XTP_CALENDAR_GETITEMTEXT_PARAMS
{
int nItem; // [in] One of the values from enums XTPCalendarGetItemText, XTPCalendarGetItemTextEx;
CString* pstrText; // [in, out] - Pointer to item text;
CXTPCalendarViewEvent* pViewEvent; // [in] Pointer to a ViewEvent object or NULL.
CXTPCalendarViewDay* pViewDay; // [in] Pointer to a ViewDay object or NULL.
int nWeekDay; // [in] Zero or Week day number as: 1 - Sunday, 2 - Monday, ... 7 - Satyrday.
int nWeekNum; // [in] Zero or current visible range first week number
};
//-----------------------------------------------------------------------
// Summary:
// This notification is sent for calendar items which defines
// in AskItemTextFlags property.
// Remarks:
// Parameters
// wParam - [in/out] XTP_CALENDAR_GETITEMTEXT_PARAMS*.
// lParam - 0.
// See Also:
// XTPCalendarGetItemTextEx, XTP_CALENDAR_GETITEMTEXT_PARAMS,
// CXTPCalendarControl::GetAskItemTextFlags,
// CXTPCalendarControlPaintManager::GetAskItemTextFlags,
// CXTPCalendarControlPaintManager::SetAskItemTextFlags,
// CXTPCalendarTheme::GetAskItemTextFlags,
// CXTPCalendarTheme::SetAskItemTextFlags
//-----------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_GETITEMTEXT = (WM_XTP_CALENDAR_BASE + 39);
//-----------------------------------------------------------------------
// Summary:
// This enum defines set of user actions which can be customized.
// See Also: XTP_NC_CALENDAR_USERACTION, XTP_CALENDAR_USERACTION_PARAMS
//-----------------------------------------------------------------------
enum XTPCalendarUserAction
{
xtpCalendarUserAction_OnExpandDay = 0x80000000, // Expand Day button was clicked for month or week view.
xtpCalendarUserAction_OnScrollDay = 0x40000000, // Expand Day button was clicked for day view. (presents in office 2007 theme only)
xtpCalendarUserAction_OnScrollAllDayEvensUp = 0x30000000,
xtpCalendarUserAction_OnScrollAllDayEvensDown = 0x20000000
};
//===========================================================================
// Summary:
// Set of parameters transferred from calendar items for
// XTP_NC_CALENDAR_USERACTION notification.
// See Also:
// XTPCalendarUserAction
//===========================================================================
struct XTP_CALENDAR_USERACTION_PARAMS
{
//=======================================================================
// Summary:
// Defines parameters for xtpCalendarUserAction_OnExpandDay user action.
//=======================================================================
struct EXPANDDAYBUTTONACTION_PARAMS
{
XTPCalendarExpandDayButton nButton; // Defines Month view or Week View expand button
CXTPCalendarViewDay* pViewDay; // Pointer to a CXTPCalendarDayViewDay object or NULL.
};
//=======================================================================
// Summary:
// Defines parameters for xtpCalendarUserAction_OnScrollDay user action.
//=======================================================================
struct SCROLLDAYBUTTONACTION_PARAMS
{
XTPCalendarScrollDayButton nButton; // Defines Month view or Week View expand button
CXTPCalendarDayViewGroup* pViewGroup; // Pointer to a CXTPCalendarDayViewGroup object or NULL.
};
XTPCalendarUserAction m_eAction; // A value from XTPCalendarUserAction
// reserved for other actions in the feature
union
{
EXPANDDAYBUTTONACTION_PARAMS m_ExpandDayButton; // Parameters for xtpCalendarUserAction_OnExpandDay user action.
SCROLLDAYBUTTONACTION_PARAMS m_ScrollDayButton; // Parameters for xtpCalendarUserAction_OnScrollDay user action.
};
};
//-----------------------------------------------------------------------
// Summary:
// This notification send for when user action defined in XTPCalendarUserAction enum happened.
// Parameters
// wParam - [in] A pointer to XTP_CALENDAR_USERACTION_PARAMS structure.
// lParam - [out] A pointer to the return result: BOOL*.
// Set TRUE if specified action is handled (to Cancel default processing) ,
// otherwise FALSE.
// Initial value is FALSE.
// See Also:
// XTP_CALENDAR_USERACTION_PARAMS, XTPCalendarUserAction
//-----------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_USERACTION = (WM_XTP_CALENDAR_BASE + 40);
//---------------------------------------------------------------------------
// Summary: This notification is sent when calendar is populating.
// lParam contains events which will be drawn for the group specified
// by wParam.
// You may add, remove or modify some events in CXTPCalendarEvents
// collection.
//
// Sender - CXTPCalendarControl
// Remarks:
// Parameters
// wParam - [in] CXTPCalendarViewDay* - A pointer to View Day.
// lParam - unused.
// See Also: CXTPCalendarControl::Populate, XTP_NC_CALENDAR_PREPOPULATE
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_PREPOPULATE_DAY = (WM_XTP_CALENDAR_BASE + 41);
//---------------------------------------------------------------------------
// Summary: This notification is sent when calendar paint theme changed.
// Sender - CXTPCalendarControl
// Remarks:
// Parameters
// wParam - unused.
// lParam - unused.
// See Also: XTP_NC_CALENDARVIEWWASCHANGED
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_THEME_CHANGED = (WM_XTP_CALENDAR_BASE + 42);
//---------------------------------------------------------------------------
// Summary: This notification is sent on CaptionBar part click
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_CAPTIONBARPART_CLICK = (WM_XTP_CALENDAR_BASE + 43);
//---------------------------------------------------------------------------
// Summary: This notification is sent before CaptionBar part click
//---------------------------------------------------------------------------
static const XTP_NOTIFY_CODE XTP_NC_CALENDAR_CAPTIONBARPART_BEFORE_CLICK = (WM_XTP_CALENDAR_BASE + 44);
// Next Free ID: (WM_XTP_CALENDAR_BASE + 45)
/////////////////////////////////////////////////////////////////////////////
#endif // !defined(_XTPCALENDARNOTIFICATIONS_H__)