You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
322 lines
13 KiB
C++
322 lines
13 KiB
C++
// XTPCalendarCustomDataProvider.h: interface for the CXTPCalendarCustomProperties 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(_XTP_CALENDAR_CUSTOM_DATA_PROVIDER_H__)
|
|
#define _XTP_CALENDAR_CUSTOM_DATA_PROVIDER_H__
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
//===========================================================================
|
|
// Summary:
|
|
// Custom implementation of XTPCalendarData based on notifications.
|
|
// Remarks:
|
|
// This class is the implementation of the XTPCalendarData abstract
|
|
// class which represents a data portion of the Calendar control.
|
|
//
|
|
// This implementation is based on a notifications mechanism.
|
|
// Each significant method sends a custom notification, which could be
|
|
// handled by a user and where a custom data access code should be
|
|
// implemented.
|
|
// See Also:
|
|
// CXTPCalendarData overview
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPCalendarCustomDataProvider : public CXTPCalendarData
|
|
{
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
DECLARE_DYNAMIC(CXTPCalendarCustomDataProvider)
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
public:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Default constructor.
|
|
// Remarks:
|
|
// Constructs a Data object. To establish a connection to a
|
|
// specified data source and initialize the object you must
|
|
// call Open() member function immediately after construction.
|
|
// See Also: Open()
|
|
//-----------------------------------------------------------------------
|
|
CXTPCalendarCustomDataProvider();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Default Destructor.
|
|
// Remarks:
|
|
// Handles all deallocation.
|
|
//-----------------------------------------------------------------------
|
|
virtual ~CXTPCalendarCustomDataProvider();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to close the connection to a data source.
|
|
//-----------------------------------------------------------------------
|
|
virtual void Close();
|
|
|
|
protected:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Retrieves day events for a specified day from the data source.
|
|
// Parameters:
|
|
// dtDay - A specified day.
|
|
// Remarks:
|
|
// This method retrieves all appointments for a specified day from
|
|
// the data source. It includes recurrence appointments occurrences,
|
|
// regular appointments for this day, multi day appointments which
|
|
// also have a part of this day.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoRetrieveDayEvents which a user can handle and
|
|
// implement a custom method.
|
|
// Returns:
|
|
// A collection of events for a specified day.
|
|
// See also:
|
|
// XTP_NC_CALENDAR_DoRetrieveDayEvents notification
|
|
//-----------------------------------------------------------------------
|
|
virtual CXTPCalendarEventsPtr DoRetrieveDayEvents(COleDateTime dtDay);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Removes all events from the data source.
|
|
// Remarks:
|
|
// This method removes all appointments from the data source.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoRemoveAllEvents which a user can handle and
|
|
// implement a custom method.
|
|
// See also:
|
|
// XTP_NC_CALENDAR_DoRemoveAllEvents notification
|
|
//-----------------------------------------------------------------------
|
|
virtual void DoRemoveAllEvents();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Read event from the data source.
|
|
// Parameters:
|
|
// dwEventID - Event ID of the read target.
|
|
// Remarks:
|
|
// This method retrieves all data for a specified event.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoRead_Event which a user can handle and
|
|
// implement a custom method.
|
|
// Returns:
|
|
// A pointer to the new CXTPCalendarEvent object which fields
|
|
// are filled with a data from the data source.
|
|
// See also:
|
|
// XTP_NC_CALENDAR_DoRead_Event notification
|
|
//-----------------------------------------------------------------------
|
|
virtual CXTPCalendarEventPtr DoRead_Event(DWORD dwEventID);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Read recurrence pattern from the data source
|
|
// Parameters:
|
|
// dwPatternID - Pattern ID of the read target.
|
|
// Remarks:
|
|
// This method retrieves all data for a specified recurrence pattern.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoRead_RPattern which a user can handle and
|
|
// implement a custom method.
|
|
// Returns:
|
|
// A pointer to the new CXTPCalendarRecurrencePatternPtr object which
|
|
// fields are filled with a data from the data source.
|
|
// See also:
|
|
// XTP_NC_CALENDAR_DoRead_RPattern notification
|
|
//-----------------------------------------------------------------------
|
|
virtual CXTPCalendarRecurrencePatternPtr DoRead_RPattern(DWORD dwPatternID);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Creates a new event in the data source
|
|
// Parameters:
|
|
// pEvent - Pointer to the CXTPCalendarEvent object which describes
|
|
// all data fields of a newly created record.
|
|
// rdwNewEventID - [out] EventID of a newly created record
|
|
// Remarks:
|
|
// This method creates a data record corresponding with the
|
|
// specified event.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoCreate_Event which a user can handle and
|
|
// implement a custom method.
|
|
// Returns:
|
|
// TRUE if event created successfully,
|
|
// FALSE in case of any error during the process.
|
|
// See also:
|
|
// XTP_NC_CALENDAR_DoCreate_Event notification
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL DoCreate_Event(CXTPCalendarEvent* pEvent, DWORD& rdwNewEventID);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Updates event properties in the data source.
|
|
// Parameters:
|
|
// pEvent - Pointer to the CXTPCalendarEvent object which describes
|
|
// all data fields of an event.
|
|
// Remarks:
|
|
// This method updates a data record corresponding with the
|
|
// specified event.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoUpdate_Event which a user can handle and
|
|
// implement a custom method.
|
|
// Returns:
|
|
// TRUE if an event updated successfully,
|
|
// FALSE in case of any errors during the process.
|
|
// See also:
|
|
// XTP_NC_CALENDAR_DoUpdate_Event notification
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL DoUpdate_Event (CXTPCalendarEvent* pEvent);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Deletes an event from the data source.
|
|
// Parameters:
|
|
// pEvent - Pointer to the CXTPCalendarEvent object which describes
|
|
// all data fields of an event.
|
|
// Remarks:
|
|
// This method deletes a data record corresponding with the
|
|
// specified event.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoDelete_Event which a user can handle and
|
|
// implement a custom method.
|
|
// Returns:
|
|
// TRUE if an event deleted successfully,
|
|
// FALSE in case of any errors during the process.
|
|
// See also:
|
|
// XTP_NC_CALENDAR_DoDelete_Event notification
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL DoDelete_Event (CXTPCalendarEvent* pEvent);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Creates a new recurrence pattern in the data source
|
|
// Parameters:
|
|
// pPattern - Pointer to the CXTPCalendarRecurrencePattern object which
|
|
// describes all data fields of a newly created record.
|
|
// rdwNewPatternID - [out] ID of a newly created record
|
|
// Remarks:
|
|
// This method creates a data record corresponding with the
|
|
// specified recurrence pattern.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoCreate_RPattern which a user can handle and
|
|
// implement a custom method.
|
|
// Returns:
|
|
// TRUE if recurrence pattern created successfully,
|
|
// FALSE in case of any error during the process.
|
|
// See also:
|
|
// XTP_NC_CALENDAR_DoCreate_RPattern notification
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL DoCreate_RPattern (CXTPCalendarRecurrencePattern* pPattern, DWORD& rdwNewPatternID);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Updates a recurrence pattern in the database
|
|
// Parameters:
|
|
// pPattern - Pointer to the CXTPCalendarRecurrencePattern object.
|
|
// Remarks:
|
|
// This method updates a data record corresponding with the
|
|
// specified recurrence pattern.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoUpdate_RPattern which a user can handle and
|
|
// implement a custom method.
|
|
// Returns:
|
|
// TRUE if recurrence pattern updated successfully,
|
|
// FALSE in case of any error during the process.
|
|
// See also:
|
|
// XTP_NC_CALENDAR_DoUpdate_RPattern notification
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL DoUpdate_RPattern (CXTPCalendarRecurrencePattern* pPattern);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Deletes a recurrence pattern from the database
|
|
// Parameters:
|
|
// pPattern - Pointer to the CXTPCalendarRecurrencePattern object
|
|
// which should be deleted.
|
|
// Remarks:
|
|
// This method deletes a data record corresponding with the
|
|
// specified recurrence pattern.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoDelete_RPattern which a user can handle and
|
|
// implement a custom method.
|
|
// Returns:
|
|
// TRUE if recurrence pattern deleted successfully,
|
|
// FALSE in case of any error during the process.
|
|
// See also:
|
|
// XTP_NC_CALENDAR_DoDelete_RPattern notification
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL DoDelete_RPattern (CXTPCalendarRecurrencePattern* pPattern);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method implements Getting all events without generating
|
|
// recurrence occurrences.
|
|
// Remarks:
|
|
// This method actually implements working with the data source.
|
|
// Simple events are included as is.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoGetAllEvents_raw which a user can handle and
|
|
// implement a custom method.
|
|
// Returns:
|
|
// A CXTPCalendarEvents pointer containing a collection of
|
|
// all events.
|
|
// See also:
|
|
// XTP_NC_CALENDAR_DoGetAllEvents_raw notification, GetAllEvents_raw()
|
|
//-----------------------------------------------------------------------
|
|
virtual CXTPCalendarEventsPtr DoGetAllEvents_raw();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method implements getting a collection of events expiring in
|
|
// the period from dtFrom during next spPeriod.
|
|
// Parameters:
|
|
// dtFrom - Start date and time of a specified period.
|
|
// spPeriod - A duration of a specified period.
|
|
// Remarks:
|
|
// This method is used by a reminders manager.
|
|
//
|
|
// This implementation of the method sends a notification
|
|
// XTP_NC_CALENDAR_DoGetUpcomingEvents which a user can handle and
|
|
// implement a custom method.
|
|
// Returns:
|
|
// A CXTPCalendarEvents pointer containing a collection of
|
|
// upcoming events.
|
|
// See Also:
|
|
// CXTPCalendarRemindersManager overview,
|
|
// XTP_NC_CALENDAR_DoGetUpcomingEvents notification.
|
|
//-----------------------------------------------------------------------
|
|
virtual CXTPCalendarEventsPtr DoGetUpcomingEvents(COleDateTime dtFrom, COleDateTimeSpan spPeriod);
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////////////
|
|
#endif // !defined(_XTP_CALENDAR_CUSTOM_DATA_PROVIDER_H__)
|