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.
2474 lines
107 KiB
C
2474 lines
107 KiB
C
2 years ago
|
// XTPCalendarView.h: interface for the CXTPCalendarView 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(_XTPCALENDARVIEW_H__)
|
||
|
#define _XTPCALENDARVIEW_H__
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
#if _MSC_VER > 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER > 1000
|
||
|
|
||
|
class CXTPCalendarControl;
|
||
|
class CXTPCalendarPaintManager;
|
||
|
class CXTPCalendarTheme;
|
||
|
|
||
|
class CXTPCalendarViewDay;
|
||
|
class CXTPCalendarViewEvent;
|
||
|
class CXTPCalendarViewEvents;
|
||
|
class CXTPCalendarEvent;
|
||
|
class CXTPCalendarEvents;
|
||
|
class CXTPCalendarViewPart;
|
||
|
class CXTPCalendarResources;
|
||
|
class CXTPCalendarData;
|
||
|
class CXTPCalendarOptions;
|
||
|
|
||
|
struct XTP_CALENDAR_HITTESTINFO;
|
||
|
typedef DWORD XTP_NOTIFY_CODE;
|
||
|
|
||
|
XTP_DEFINE_SMART_PTR_INTERNAL(CXTPCalendarEvent)
|
||
|
XTP_DEFINE_SMART_PTR_INTERNAL(CXTPCalendarEvents)
|
||
|
XTP_DEFINE_SMART_PTR_INTERNAL(CXTPCalendarViewEvent)
|
||
|
XTP_DEFINE_SMART_PTR_INTERNAL(CXTPCalendarViewEvents)
|
||
|
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
//===========================================================================
|
||
|
// Remarks:
|
||
|
// Timeout before appearing in the event subject editor window.
|
||
|
//===========================================================================
|
||
|
#define XTP_CALENDAR_START_EDIT_SUBJECT_TIMEOUT_MS 400
|
||
|
|
||
|
//===========================================================================
|
||
|
// Remarks:
|
||
|
// Calendar events clipboard format name.
|
||
|
//===========================================================================
|
||
|
static const LPCTSTR XTPCALENDARCTRL_CF_EVENT = _T("XTPCalendar_CF_Event");
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
enum XTPEnumCalendarUpdateResult
|
||
|
{
|
||
|
xtpCalendar_Skip = 0,
|
||
|
xtpCalendar_Redraw = 1,
|
||
|
xtpCalendar_Populate = 2
|
||
|
};
|
||
|
//===========================================================================
|
||
|
// use project settings to define _TRACE_EDITING_ON
|
||
|
#ifdef _TRACE_EDITING_ON
|
||
|
#define TRACE_MOUSE TRACE
|
||
|
#define TRACE_KEYBOARD TRACE
|
||
|
#define TRACE_DRAGGING TRACE
|
||
|
#define TRACE_EDIT_SUBJECT TRACE
|
||
|
#else
|
||
|
#define TRACE_MOUSE
|
||
|
#define TRACE_KEYBOARD
|
||
|
#define TRACE_DRAGGING
|
||
|
#define TRACE_EDIT_SUBJECT
|
||
|
#endif
|
||
|
//===========================================================================
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// This class helps to handle Windows messages (WM_*) processing portion
|
||
|
// of the Calendar control views.
|
||
|
// Remarks:
|
||
|
// All calendar views are derived from this class. When a message is
|
||
|
// handled by main Calendar control window (CXTPCalendarControl class),
|
||
|
// it is then forwarded down to views by hierarchy.
|
||
|
// control -> day/week/month -> single day -> resource group -> event
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPCalendarWMHandler : public CXTPCmdTarget
|
||
|
{
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
DECLARE_DYNAMIC(CXTPCalendarWMHandler)
|
||
|
typedef CCmdTarget TBase;
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
public:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default object constructor.
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPCalendarWMHandler();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the number of
|
||
|
// CXTPCalendarWMHandler elements in the descendant handlers collection.
|
||
|
// Remarks:
|
||
|
// Call this method to retrieve the number of elements in the array.
|
||
|
// Because indexes are zero-based, the size is 1 greater than
|
||
|
// the largest index.
|
||
|
//
|
||
|
// This number shows a count of single day views for a day/week/month
|
||
|
// view, a number of resource groups for a single day view, a number
|
||
|
// of event views for a resource group view, and so on.
|
||
|
// Returns:
|
||
|
// A count of descendant handlers.
|
||
|
// See Also:
|
||
|
// CXTPCalendarWMHandler overview
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual int GetChildHandlersCount() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to get a handler object at the specified numeric
|
||
|
// index.
|
||
|
// Parameters:
|
||
|
// nIndex - An integer index that is greater than or equal to 0
|
||
|
// and less than the value returned by GetChildHandlersCount.
|
||
|
// Remarks:
|
||
|
// Returns the array element at the specified index.
|
||
|
// Returns:
|
||
|
// The pointer to the CXTPCalendarWMHandler element currently at this
|
||
|
// index.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarWMHandler* GetChildHandlerAt(int nIndex) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to process left mouse button down events.
|
||
|
// Parameters:
|
||
|
// nFlags - An int that indicates whether various virtual keys are down.
|
||
|
// point - A CPoint object that specifies the x- and y- coordinates of the cursor.
|
||
|
// These coordinates are always relative to the
|
||
|
// upper-left corner of the window.
|
||
|
// Returns:
|
||
|
// TRUE if the message is handled properly, FALSE else.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarView when the user
|
||
|
// presses the left mouse button.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnLButtonDown(UINT nFlags, CPoint point);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to process left mouse button up events.
|
||
|
// Parameters:
|
||
|
// nFlags - An int that indicates whether various virtual keys are down.
|
||
|
// point - A CPoint object that specifies the x- and y- coordinates of the cursor.
|
||
|
// These coordinates are always relative to the
|
||
|
// upper-left corner of the window.
|
||
|
// Returns:
|
||
|
// TRUE if the message is handled properly, FALSE else.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarView when the user
|
||
|
// releases the left mouse button.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnLButtonUp(UINT nFlags, CPoint point);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to process left mouse button
|
||
|
// double click events.
|
||
|
// Parameters:
|
||
|
// nFlags - An int that indicates whether various virtual keys are down.
|
||
|
// point - A CPoint object that specifies the x- and y- coordinates of the cursor.
|
||
|
// These coordinates are always relative to the
|
||
|
// upper-left corner of the window.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarView when the user
|
||
|
// double clicks the left mouse button.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnLButtonDblClk(UINT nFlags, CPoint point);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to process mouse movement events.
|
||
|
// Parameters:
|
||
|
// nFlags - A UINT that indicates whether various virtual keys are down.
|
||
|
// point - A CPoint object that specifies the x- and y- coordinates of the cursor.
|
||
|
// These coordinates are always relative to the
|
||
|
// upper-left corner of the window.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarView when the user
|
||
|
// moves the mouse cursor or stylus.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnMouseMove(UINT nFlags, CPoint point);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to processes keyboard events.
|
||
|
// Parameters:
|
||
|
// nChar - A UINT that contains the character code value of the key.
|
||
|
// nRepCnt - A UINT that is used to count the number of times the
|
||
|
// keystroke is repeated as a result of the user holding
|
||
|
// down the key.
|
||
|
// nFlags - A UINT that contains the Scan code, key-transition code,
|
||
|
// previous key state, and the context code.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarControl when a keystroke
|
||
|
// translates to a nonsystem character.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to process key-down keyboard events.
|
||
|
// Parameters:
|
||
|
// nChar - A UINT that specifies the virtual key code of the given key.
|
||
|
// nRepCnt - A UINT that specifies the number of times the keystroke
|
||
|
// is repeated as a result of the user holding down the key.
|
||
|
// nFlags - A UINT that specifies the scan code, key-transition code,
|
||
|
// previous key state, and the context code.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarView when the user
|
||
|
// presses keys on the keyboard.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to process key-up keyboard events.
|
||
|
// Parameters:
|
||
|
// nChar - A UINT that specifies the virtual key code of the given key.
|
||
|
// nRepCnt - A UINT that specifies the number of times the keystroke
|
||
|
// is repeated as a result of the user holding down the key.
|
||
|
// nFlags - A UINT that specifies the scan code, key-transition code,
|
||
|
// previous key state, and the context code.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarView when the user
|
||
|
// releases keys on the keyboard.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to process key-up keyboard events.
|
||
|
// Parameters:
|
||
|
// nChar - A UINT that specifies the virtual key code of the given key.
|
||
|
// nRepCnt - A UINT that specifies the number of times the keystroke
|
||
|
// is repeated as a result of the user holding down the key.
|
||
|
// nFlags - A UINT that specifies the scan code, key-transition code,
|
||
|
// previous key state, and the context code.
|
||
|
// Returns:
|
||
|
// TRUE if the message is handled properly, FALSE else.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarView when the user
|
||
|
// presses keys on the keyboard.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnSysKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// The framework calls this member function after each interval
|
||
|
// specified in the SetTimer member function.
|
||
|
// Parameters:
|
||
|
// uTimerID - A UINT that is used to specify the identifier
|
||
|
// of the timer.
|
||
|
// Returns:
|
||
|
// TRUE if the message is handled properly, FALSE else.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnTimer(UINT_PTR uTimerID);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called by framework after default message processing.
|
||
|
// Parameters:
|
||
|
// message - Specifies the message to be sent.
|
||
|
// wParam - Specifies additional message-dependent information.
|
||
|
// lParam - Specifies additional message-dependent information.
|
||
|
// pResult - The return value of WindowProc. Depends on the message; may be NULL.
|
||
|
// Returns:
|
||
|
// TRUE if the message is handled properly, FALSE else.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to perform additional adjustments
|
||
|
// in some kinds of views.
|
||
|
// Remarks:
|
||
|
// Call this member function to perform additional adjustments after
|
||
|
// all adjustment activities are completed.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnPostAdjustLayout();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is called by the framework before destroying
|
||
|
// the view.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnBeforeDestroy();
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
virtual void OnFinalRelease();
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// This class represents the view portion of the Calendar control.
|
||
|
// Remarks:
|
||
|
// It represents a specific view of the Control's associated events
|
||
|
// data and provides basic functionality on the data using user
|
||
|
// input through the keyboard and mouse.
|
||
|
//
|
||
|
// The following predefined view implementations are available
|
||
|
// for the Calendar control:
|
||
|
//
|
||
|
//
|
||
|
// * Day and work week views - using CXTPCalendarDayView class.
|
||
|
// * Week view - using CXTPCalendarWeekView class.
|
||
|
// * Month view - using CXTPCalendarMonthView class.
|
||
|
//
|
||
|
//
|
||
|
// Furthermore, any type of user defined view can also be implemented as
|
||
|
// a descendant of the CXTPCalendarView class.
|
||
|
//
|
||
|
// A typical Calendar View model consists of a collection of
|
||
|
// corresponding ViewDay's, which realizes the contents on a square
|
||
|
// of one day. ViewDay in its turn contains a collection of ViewEvent's
|
||
|
// for the particular day, each of them represents a view of an
|
||
|
// CXTPCalendarEvent object.
|
||
|
//
|
||
|
// See Also: CXTPCalendarDayView, CXTPCalendarWeekView, CXTPCalendarMonthView,
|
||
|
// CXTPCalendarViewDay, CXTPCalendarViewEvent
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPCalendarView : public CXTPCalendarWMHandler
|
||
|
{
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
friend class CXTPCalendarControl;
|
||
|
friend class CXTPCalendarViewDay;
|
||
|
friend class CXTPCalendarViewEvent;
|
||
|
friend class CXTPCalendarResource;
|
||
|
friend class CXTPCalendarTheme;
|
||
|
friend class CXTPCalendarDayViewGroup;
|
||
|
|
||
|
DECLARE_DYNAMIC(CXTPCalendarView)
|
||
|
|
||
|
typedef CXTPCalendarWMHandler TBase;
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
private:
|
||
|
CUIntArray m_DiscreteSelection;
|
||
|
public:
|
||
|
|
||
|
// -----------------------
|
||
|
// Summary:
|
||
|
// This member function is used to get number of selected events.
|
||
|
// Returns:
|
||
|
// number of selected events
|
||
|
// -----------------------
|
||
|
UINT GetDiscreteSelectionCount() const;
|
||
|
|
||
|
// -----------------------
|
||
|
// Summary:
|
||
|
// This member function is used to get selected event by ordinal number.
|
||
|
// Parameters:
|
||
|
// id : event ordinal number
|
||
|
// Returns:
|
||
|
// COleDateTime selected event
|
||
|
// -----------------------
|
||
|
COleDateTime GetDiscreteSelectionValue(UINT id) const;
|
||
|
|
||
|
// -----------------------
|
||
|
// Summary:
|
||
|
// This member function is used to add event to selection by event ordinal number.
|
||
|
// Parameters:
|
||
|
// id : event ordinal number
|
||
|
// Returns:
|
||
|
// TRUE if success other case FALSE
|
||
|
// -----------------------
|
||
|
BOOL AddToDiscreteSelection(UINT id);
|
||
|
|
||
|
// -----------------------
|
||
|
// Summary:
|
||
|
// This member function is used to check is event in selection
|
||
|
// Parameters:
|
||
|
// id : event ordinal number
|
||
|
// Returns:
|
||
|
// BOOL flag (TRUE if present in selection, FALSE if not)
|
||
|
// -----------------------
|
||
|
BOOL IsInDiscreteSelection(UINT id) const;
|
||
|
|
||
|
// -----------------------
|
||
|
// Summary:
|
||
|
// This member function is used to Clear Discrete Selection
|
||
|
// -----------------------
|
||
|
void ClearDiscreteSelection();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default object constructor.
|
||
|
// Parameters:
|
||
|
// pCalendarControl - A Pointer to CXTPCalendarControl object.
|
||
|
// See Also: ~CXTPCalendarEvent()
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPCalendarView(CXTPCalendarControl* pCalendarControl);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default class destructor.
|
||
|
// Remarks:
|
||
|
// Handles member items deallocation.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual ~CXTPCalendarView();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain the view type flag.
|
||
|
// Remarks:
|
||
|
// This is a pure virtual function. This function must be defined
|
||
|
// in the derived class.
|
||
|
// Returns:
|
||
|
// A XTPCalendarViewType view type flag.
|
||
|
// See Also: XTPCalendarViewType
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual XTPCalendarViewType GetViewType() const = 0;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to populate the view with data
|
||
|
// for all items contained in the view.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void Populate();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to adjust the view's layout
|
||
|
// depending on the window client size and calls AdjustLayout()
|
||
|
// for all sub-items.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context.
|
||
|
// rcView - A CRect that contains the coordinates
|
||
|
// for drawing the view.
|
||
|
// bCallPostAdjustLayout - A BOOL. This is a flag that is used to
|
||
|
// call for additional adjustments. If TRUE,
|
||
|
// then additional adjustments are performed
|
||
|
// for multi day events. If FALSE, then no
|
||
|
// additional adjustments are made.
|
||
|
// Remarks:
|
||
|
// Call Populate() prior adjusting layout.
|
||
|
// AdjustLayout2 is called by calendar control instead of AdjustLayout
|
||
|
// when theme is set.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void AdjustLayout(CDC* pDC, const CRect& rcView, BOOL bCallPostAdjustLayout = TRUE);
|
||
|
virtual void AdjustLayout2(CDC* pDC, const CRect& rcView, BOOL bCallPostAdjustLayout = TRUE);//<COMBINE AdjustLayout>
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to perform the redrawing of the
|
||
|
// control's layout.
|
||
|
// Remarks:
|
||
|
// Call AdjystLayout() prior to redrawing the control.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void RedrawControl();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to show the specified day in the
|
||
|
// calendar view.
|
||
|
// Parameters:
|
||
|
// date - A COleDateTime object that contains the date to show.
|
||
|
// bSelect - TRUE to select the specified day after showing,
|
||
|
// FALSE otherwise. TRUE is the default value.
|
||
|
// Remarks:
|
||
|
// Call this member function to show only the specified day in the
|
||
|
// calendar view.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void ShowDay(const COleDateTime& date, BOOL bSelect = TRUE) = 0;
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Scroll vertically.
|
||
|
// Parameters:
|
||
|
// nPos - An int that contains the position value.
|
||
|
// nPos_raw - An int that contains the raw position value.
|
||
|
// Remarks:
|
||
|
// This member function is used to vertical scroll the contents
|
||
|
// of the view.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void ScrollV(int nPos, int nPos_raw)
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(nPos);
|
||
|
UNREFERENCED_PARAMETER(nPos_raw);
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Scroll horizontally.
|
||
|
// Parameters:
|
||
|
// nPos - An int that contains the position value.
|
||
|
// nPos_raw - An int that contains the raw position value.
|
||
|
// Remarks:
|
||
|
// This member function is used to horizontal scroll the contents
|
||
|
// of the view.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void ScrollH(int nPos, int nPos_raw)
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(nPos);
|
||
|
UNREFERENCED_PARAMETER(nPos_raw);
|
||
|
}
|
||
|
|
||
|
// -------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to force scroll to the end of scroll range
|
||
|
// Parameters:
|
||
|
// nBar : standard 0 - 1 values (for vertical or horizontal scrollbar)
|
||
|
// -------------------------
|
||
|
virtual void OnScrollEnd(int nBar)
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(nBar);
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to retrieve the information about
|
||
|
// a scroll bar state.
|
||
|
// Parameters:
|
||
|
// pSI - A SCROLLINFO pointer that contains information about the
|
||
|
// current state of the scroll bar.
|
||
|
// Returns:
|
||
|
// A BOOL. The base class definition always returns FALSE.
|
||
|
// The derived class definition should return TRUE if the function
|
||
|
// is successful. Return FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL GetScrollBarInfoV(SCROLLINFO* pSI) const
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(pSI);
|
||
|
return FALSE;
|
||
|
}
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to retrieve the information about
|
||
|
// a scroll bar state.
|
||
|
// Parameters:
|
||
|
// pSI - A SCROLLINFO pointer that contains information about the
|
||
|
// current state of the scroll bar.
|
||
|
// pnScrollStep - A pointer to int to receive scroll step. Can be NULL.
|
||
|
// Returns:
|
||
|
// A BOOL. The base class definition always returns FALSE.
|
||
|
// The derived class definition should return TRUE if the function
|
||
|
// is successful. Return FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL GetScrollBarInfoH(SCROLLINFO* pSI, int* pnScrollStep = NULL) const
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(pSI); UNREFERENCED_PARAMETER(pnScrollStep);
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function performs all of the drawing logic of the
|
||
|
// calendar view.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnDraw(CDC* pDC);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to draw the view content using the
|
||
|
// specified device context.
|
||
|
// Parameters:
|
||
|
// pDC - A pointer to a valid device context.
|
||
|
// Remarks:
|
||
|
// Call AdjustLayout() before calling Draw().
|
||
|
// Draw2 is called from OnDraw instead of Draw when theme
|
||
|
// is set.
|
||
|
// See Also: OnDraw, AdjustLayout
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void Draw(CDC* pDC)
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(pDC);
|
||
|
}
|
||
|
|
||
|
//<COMBINE Draw>
|
||
|
virtual void Draw2(CDC* pDC)
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(pDC);
|
||
|
//Draw(pDC);
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to processes left mouse button events.
|
||
|
// Parameters:
|
||
|
// nFlags - A UINT that is used to indicates whether various virtual
|
||
|
// keys are down.
|
||
|
// point - A CPoint that specifies the x- and y- coordinates of the cursor.
|
||
|
// These coordinates are always relative to the
|
||
|
// upper-left corner of the window.
|
||
|
// Returns:
|
||
|
// TRUE if the message is handled properly, FALSE else.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarControl when the user
|
||
|
// presses the left mouse button.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnLButtonDown(UINT nFlags, CPoint point);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to processes left mouse button events.
|
||
|
// Parameters:
|
||
|
// nFlags - A UINT that is used to indicate whether various virtual keys are down.
|
||
|
// point - A CPoint that specifies the x- and y- coordinates of the cursor.
|
||
|
// These coordinates are always relative to the
|
||
|
// upper-left corner of the window.
|
||
|
// Returns:
|
||
|
// TRUE if the message is handled properly, FALSE else.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarControl when the user
|
||
|
// releases the left mouse button.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnLButtonUp(UINT nFlags, CPoint point);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to processes mouse movement events.
|
||
|
// Parameters:
|
||
|
// nFlags - A UINT that is used to indicate whether various virtual
|
||
|
// keys are down.
|
||
|
// point - A CPoint that specifies the x- and y- coordinates of the cursor.
|
||
|
// These coordinates are always relative to the
|
||
|
// upper-left corner of the window.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarControl when the user
|
||
|
// moves the mouse cursor or stylus.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnMouseMove(UINT nFlags, CPoint point);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to process mouse double-click events.
|
||
|
// Parameters:
|
||
|
// nFlags - A UINT that is used to indicate whether various virtual
|
||
|
// keys are down.
|
||
|
// point - A CPoint that specifies the x- and y- coordinates of the cursor.
|
||
|
// These coordinates are always relative to the
|
||
|
// upper-left corner of the window.
|
||
|
// Returns:
|
||
|
// TRUE if the message is handled properly, FALSE else.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarControl when the user
|
||
|
// presses, releases, and then presses the left mouse button again
|
||
|
// within the system's double-click time limit.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnLButtonDblClk(UINT nFlags, CPoint point);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to process keyboard events.
|
||
|
// Parameters:
|
||
|
// nChar - A UINT that contains the character code value of the key.
|
||
|
// nRepCnt - A UINT that is used to count the number of times the
|
||
|
// keystroke is repeated as a result of the user holding
|
||
|
// down the key.
|
||
|
// nFlags - A UINT that contains the Scan code, key-transition code,
|
||
|
// previous key state, and the context code.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarControl when a keystroke
|
||
|
// translates to a nonsystem character.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to processes keyboard events.
|
||
|
// Parameters:
|
||
|
// nChar - A UINT that is used to identify the virtual key code
|
||
|
// of the given key.
|
||
|
// nRepCnt - A UINT that is used to count the number of times the
|
||
|
// keystroke is repeated as a result of the user holding
|
||
|
// down the key.
|
||
|
// nFlags - A UINT that contains the Scan code, key-transition code,
|
||
|
// previous key state, and the context code.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarControl when the user
|
||
|
// presses keys on the keyboard.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to processes system keyboard events.
|
||
|
// Parameters:
|
||
|
// nChar - A UINT that specifies the virtual key code of the given key.
|
||
|
// nRepCnt - A UINT that contains the number of times the keystroke is
|
||
|
// repeated as a result of the user holding down the key.
|
||
|
// nFlags - A UINT that contains the scan code, key-transition code,
|
||
|
// previous key state, and the context code.
|
||
|
// Returns:
|
||
|
// TRUE if the message is handled properly, FALSE else.
|
||
|
// Remarks:
|
||
|
// This method is called by the CalendarControl when the user
|
||
|
// presses keys on the keyboard.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnSysKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain the view's bounding rectangle.
|
||
|
// Returns:
|
||
|
// A CRect object that contains the view's bounding rectangle coordinates.
|
||
|
//-----------------------------------------------------------------------
|
||
|
CRect GetViewRect() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the number of
|
||
|
// CXTPCalendarWMHandler elements in the descendant handlers collection.
|
||
|
// Remarks:
|
||
|
// Call this method to retrieve the number of elements in the array.
|
||
|
// Because indexes are zero-based, the size is 1 greater than
|
||
|
// the largest index.
|
||
|
// Returns:
|
||
|
// A count of descendant handlers.
|
||
|
// See Also:
|
||
|
// CXTPCalendarWMHandler overview
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual int GetChildHandlersCount() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to get a handler object at the specified numeric
|
||
|
// index.
|
||
|
// Parameters:
|
||
|
// nIndex - An integer index that is greater than or equal to 0
|
||
|
// and less than the value returned by GetChildHandlersCount.
|
||
|
// Remarks:
|
||
|
// Returns the array element at the specified index.
|
||
|
// Returns:
|
||
|
// The pointer to the CXTPCalendarWMHandler element currently at this
|
||
|
// index.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarWMHandler* GetChildHandlerAt(int nIndex) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain the number of "day views"
|
||
|
// in the view collection.
|
||
|
// Remarks:
|
||
|
// This is a pure virtual function. This function must be defined
|
||
|
// in the derived class.
|
||
|
// Returns:
|
||
|
// An int that contains the the number of "day views" in the view
|
||
|
// collection.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual int GetViewDayCount() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain the date of the day view by
|
||
|
// the day's index.
|
||
|
// Parameters:
|
||
|
// nIndex - An int that contains the day view index in the view collection.
|
||
|
// Remarks:
|
||
|
// Indexed number starts from 0 and cannot be negative.
|
||
|
// This is a pure virtual function. This function must be defined
|
||
|
// in the derived class.
|
||
|
// Returns:
|
||
|
// A COleDateTime object that contains the day view date and time.
|
||
|
// See Also: GetViewDayCount()
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual COleDateTime GetViewDayDate(int nIndex) const = 0;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain the CXTPCalendarViewDay object
|
||
|
// by the day's index.
|
||
|
// Parameters:
|
||
|
// nIndex - An int that is used as the day view index in the view collection.
|
||
|
// dtDay - A day date to find.
|
||
|
// Remarks:
|
||
|
// Index numbers start with 0 and cannot be negative.
|
||
|
// This is a pure virtual function. This function must be defined
|
||
|
// in the derived class.
|
||
|
// Returns:
|
||
|
// A pointer to a CXTPCalendarViewDay object.
|
||
|
// See Also: GetViewDayCount()
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarViewDay* GetViewDay_(int nIndex) const;
|
||
|
|
||
|
virtual CXTPCalendarViewDay* _GetViewDay(const COleDateTime& dtDay) const; //<COMBINE CXTPCalendarView::GetViewDay_@int>
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to determines which view item,
|
||
|
// if any, is at a specified position index, and returns additional
|
||
|
// information in the XTP_CALENDAR_HITTESTINFO argument.
|
||
|
// Parameters:
|
||
|
// pt - A CPoint that contains the coordinates of the point to test.
|
||
|
// pHitTest - A pointer a XTP_CALENDAR_HITTESTINFO structure.
|
||
|
// Remarks:
|
||
|
// This is a pure virtual function. This function must be defined
|
||
|
// in the derived class.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the item is found. FALSE otherwise.
|
||
|
// See Also: XTP_CALENDAR_HITTESTINFO
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL HitTest(CPoint pt, XTP_CALENDAR_HITTESTINFO* pHitTest) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to determine which view item,
|
||
|
// if any, is at a specified position index, and returns additional
|
||
|
// info in a XTP_CALENDAR_HITTESTINFO object.
|
||
|
// Parameters:
|
||
|
// pt - A CPoint object that contains the coordinates of the
|
||
|
// point to test.
|
||
|
// pHitTest - A pointer to the template parameter XTP_CALENDAR_HITTESTINFO
|
||
|
// object that contains information on the point
|
||
|
// to test.
|
||
|
// Returns:
|
||
|
// TRUE if item found; FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL HitTestEx(CPoint pt, XTP_CALENDAR_HITTESTINFO* pHitTest) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine the current dragging mode.
|
||
|
// Returns:
|
||
|
// An XTPCalendarDraggingModeFlag object that contains the current
|
||
|
// dragging mode.
|
||
|
// See Also: XTPCalendarDraggingMode
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual XTPCalendarDraggingMode GetDraggingMode() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain the PaintManager object.
|
||
|
// Returns:
|
||
|
// A pointer to the CXTPCalendarPaintManager object.
|
||
|
// See Also: CXTPCalendarPaintManager, GetTheme
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarPaintManager* GetPaintManager() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function obtains a pointer to the associated theme
|
||
|
// object.
|
||
|
//
|
||
|
// Remarks:
|
||
|
// It calls CXTPCalendarControl::GetTheme() method.
|
||
|
// Returns:
|
||
|
// A CXTPCalendarTheme pointer to the associated theme object or NULL.
|
||
|
// See Also:
|
||
|
// CXTPCalendarControl::GetTheme, GetPaintManager
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarTheme* GetTheme() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain a pointer to the Calendar
|
||
|
// Control object.
|
||
|
// Returns:
|
||
|
// A pointer to the CXTPCalendarControl object.
|
||
|
// See Also: CXTPCalendarControl
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPCalendarControl* GetCalendarControl() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to get direct access to calendar options
|
||
|
// data.
|
||
|
// Remarks:
|
||
|
// This member function wraps CXTPCalendarData::GetCalendarOptions()
|
||
|
// method. If you read or change returned structure members
|
||
|
// no additional checks are made and no notifications are sent.
|
||
|
// The preferred way is to use CXTPCalendarControl options methods
|
||
|
// like GetWorkWeekMask(), SetWorkWeekMask(), GetFirstDayOfWeek(),
|
||
|
// SetFirstDayOfWeek(), ... etc.
|
||
|
// Returns:
|
||
|
// A pointer to calendar options data class CXTPCalendarOptions.
|
||
|
// See Also:
|
||
|
// CXTPCalendarOptions, CXTPCalendarData::GetCalendarOptions().
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPCalendarOptions* GetCalendarOptions() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain a pointer to the associated
|
||
|
// Calendar Resources collection object.
|
||
|
// Returns:
|
||
|
// A pointer to the CXTPCalendarResources collection object.
|
||
|
// See Also:
|
||
|
// CXTPCalendarResources overview, CXTPCalendarResource overview
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarResources* GetResources() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function sets the new Resources collection for the view.
|
||
|
// Parameters:
|
||
|
// pResources - A pointer to the CXTPCalendarResources collection object.
|
||
|
// Remarks:
|
||
|
// Call this member function to programmatically set the new
|
||
|
// Resources collection for the view.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void SetResources(CXTPCalendarResources* pResources);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to un-select all of the events of the
|
||
|
// current view.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void UnselectAllEvents();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to select or un-select the provided event.
|
||
|
// Parameters:
|
||
|
// pEvent - A pointer to the CXTPCalendarEvent object.
|
||
|
// bSelect - A BOOL. If TRUE, then select the event.
|
||
|
// If FALSE, then un-select the event.
|
||
|
// Remarks:
|
||
|
// This method doesn't redraw control's window in order to avoid
|
||
|
// blinking when executed in groups (like selecting a number of events).
|
||
|
// So far, you'll have to call Calendar.RedrawControl after that.
|
||
|
// See Also: SelectViewEvent(), CXTPCalendarEvent
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void SelectEvent(CXTPCalendarEvent* pEvent, BOOL bSelect = TRUE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to select or un-select the provided event.
|
||
|
// Parameters:
|
||
|
// pViewEvent - A pointer to the CXTPCalendarViewEvent object.
|
||
|
// bSelect - A BOOL. If TRUE, then select the event.
|
||
|
// If FALSE, then un-select the event.
|
||
|
// Remarks:
|
||
|
// This method doesn't redraw control's window in order to avoid
|
||
|
// blinking when executed in groups (like selecting a number of events).
|
||
|
// So far, you'll have to call Calendar.RedrawControl after that.
|
||
|
// See Also: SelectEvent(), CXTPCalendarViewEvent
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SelectViewEvent(CXTPCalendarViewEvent* pViewEvent, BOOL bSelect = TRUE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to select or un-select the provided
|
||
|
// day, including all of the day's events.
|
||
|
// Parameters:
|
||
|
// pDay - A pointer to a CXTPCalendarViewDay object.
|
||
|
// nGroupIndex - A group index to select.
|
||
|
// See Also: CXTPCalendarViewDay, SelectDay(COleDateTime dtSelDay, BOOL bSelect)
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void SelectDay(CXTPCalendarViewDay* pDay, int nGroupIndex = 0);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain a pointer to a selected
|
||
|
// event's views.
|
||
|
// Remarks:
|
||
|
// Tims method may return few event views instances for a one event.
|
||
|
// (multi day event has a separate view event object for each day).
|
||
|
// Returns:
|
||
|
// A pointer to a CXTPCalendarViewEvents object that contains the
|
||
|
// selected event views.
|
||
|
// See Also: CXTPCalendarViewEvents, CXTPCalendarViewDay,
|
||
|
// SelectDay(COleDateTime dtSelDay, BOOL bSelect),
|
||
|
// GetSelectedEvents()
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarViewEvents* GetSelectedViewEvents() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain a pointer to a selected
|
||
|
// event's views collection.
|
||
|
// Remarks:
|
||
|
// Tims method returns one event view instance for a one event.
|
||
|
// (multi day event has a separate view event object for each day).
|
||
|
// Returns:
|
||
|
// A smart pointer to a CXTPCalendarEvents object that contains the
|
||
|
// selected events.
|
||
|
// See Also: GetSelectedViewEvents(), CXTPCalendarViewEvents
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarViewEventsPtr GetSelectedEvents() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the last selected event view.
|
||
|
// Returns:
|
||
|
// A pointer to last selected event view or NULL.
|
||
|
// See Also: CXTPCalendarViewEvent, GetSelectedViewEvents().
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPCalendarViewEvent* GetLastSelectedViewEvent() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine if there are selected event view
|
||
|
// Parameters:
|
||
|
// TRUE if the view event selected, FALSE else.
|
||
|
// See Also: GetSelectedViewEvents
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL HasSelectedViewEvent() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to determine is just one event is selected.
|
||
|
// Returns:
|
||
|
// TRUE - if only one event is selected, FALSE - if no events are selected or
|
||
|
// if more than one event is selected.
|
||
|
// See Also: GetSelectedViewEvents(), SelectViewEvent(), SelectEvent().
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsSingleEventSelected() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the last selected day index.
|
||
|
// Returns:
|
||
|
// Index of the last selected day of -1.
|
||
|
// See Also: GetLastSelectedDate()
|
||
|
//-----------------------------------------------------------------------
|
||
|
int FindLastSelectedDay() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the last selected day date.
|
||
|
// Returns:
|
||
|
// Date of the last selected day or the middle view day date.
|
||
|
// See Also: FindLastSelectedDay(), GetSelection(), SetSelection().
|
||
|
//-----------------------------------------------------------------------
|
||
|
COleDateTime GetLastSelectedDate() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the view's selection.
|
||
|
// Parameters:
|
||
|
// pBegin - A pointer to the COleDateTime object
|
||
|
// that contains the beginning of the selection.
|
||
|
// pEnd - A pointer to the COleDateTime object
|
||
|
// that contains the ending of the selection.
|
||
|
// pbAllDayEvent - A pointer to the BOOL variable
|
||
|
// that contains the AllDayEvent attribute of
|
||
|
// the selection (used in the day view only).
|
||
|
// pnGroupIndex - A pointer to int to receive group index.
|
||
|
// pspSelectionResolution - A pointer to the COleDateTimeSpan
|
||
|
// object that contains the selection unit
|
||
|
// length. (i.e. 1 day, 1 Hour, ... 5 min)
|
||
|
// Remarks:
|
||
|
// Call this member function to fill the provided COleDateTime
|
||
|
// objects with the values of the selection beginning, ending,
|
||
|
// and selection unit length.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the selection is returned successfully.
|
||
|
// FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL GetSelection(COleDateTime* pBegin = NULL, COleDateTime* pEnd = NULL,
|
||
|
BOOL* pbAllDayEvent = NULL, int* pnGroupIndex = NULL,
|
||
|
COleDateTimeSpan* pspSelectionResolution = NULL) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function sets the new selection for the view.
|
||
|
// Parameters:
|
||
|
// dtBegin - Selection beginning time.
|
||
|
// dtEnd - Selection ending time.
|
||
|
// bAllDayEvent - Selection AllDayEvent attribute (used in the day view only).
|
||
|
// nGroupIndex - A group index.
|
||
|
// Remarks:
|
||
|
// Call this member function to programmatically set the new
|
||
|
// selection beginning and ending for the view.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetSelection(const COleDateTime& dtBegin, const COleDateTime& dtEnd,
|
||
|
BOOL bAllDayEvent = FALSE, int nGroupIndex = 0);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function resets the current selection - set it empty.
|
||
|
// Remarks:
|
||
|
// Call this member function to programmatically clear the current
|
||
|
// selection.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void ResetSelection();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to determine if a date time value
|
||
|
// is contained inside the selection.
|
||
|
// Parameters:
|
||
|
// date - A COleDateTime object that contains a date time value.
|
||
|
// nGroupIndex - A group index or -1 for any group.
|
||
|
// pbAllDaySelection - A pointer to BOOL to receive is selection All Day.
|
||
|
// Returns:
|
||
|
// TRUE - If date is contained inside the selection.
|
||
|
// FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL SelectionContains(COleDateTime date, int nGroupIndex = -1, BOOL* pbAllDaySelection = NULL);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to select or un-select the day
|
||
|
// identified by the provided date.
|
||
|
// Parameters:
|
||
|
// dtSelDay - A COleDateTime object that contains a date time value.
|
||
|
// nGroupIndex - A group index to select.
|
||
|
// See Also: CXTPCalendarViewDay, SelectDay
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void SelectDay(COleDateTime dtSelDay, int nGroupIndex = 0);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine the row height required
|
||
|
// to display the event.
|
||
|
// Returns:
|
||
|
// An int that contains the height of the row required to display a
|
||
|
// single event.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual int GetRowHeight() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to get the collection of the day's
|
||
|
// events.
|
||
|
// Parameters:
|
||
|
// pRC - A pointer to calendar resource object.
|
||
|
// dtDay - A COleDateTime object that contains the day's date.
|
||
|
// Returns:
|
||
|
// A pointer to a CXTPCalendarEvents object that contains the
|
||
|
// collection of the day's events.
|
||
|
// See Also: CXTPCalendarEvents
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarEventsPtr RetrieveDayEvents(CXTPCalendarResource* pRC, COleDateTime dtDay);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine if the subject is in an
|
||
|
// editable mode.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the subject is ready for editing. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL IsEditingSubject() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain the bounding rectangle of
|
||
|
// the subject editor.
|
||
|
// Returns:
|
||
|
// A CRect object that contains the current coordinates of the
|
||
|
// subject editor.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CRect GetSubjectEditorRect() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain the bounding rectangle of
|
||
|
// the tooltip space (currently this is only "click to add new appointment").
|
||
|
// Tooltip rectangle is calculated basing on the current mouse position
|
||
|
// Parameters:
|
||
|
// ptHit - CPoint& of mouse position
|
||
|
// hitInfo - XTP_CALENDAR_HITTESTINFO
|
||
|
// Returns:
|
||
|
// A CRect object with relative coordinates of the tooltip.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CRect GetTooltipRect(const CPoint& ptHit, const XTP_CALENDAR_HITTESTINFO& hitInfo) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to show/hide a ToolTip rectangle.
|
||
|
// Parameters:
|
||
|
// bShow : TRUE to show a tooltip, FALSE to hide it.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void ShowToolTip(BOOL bShow = TRUE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the timeout value for
|
||
|
// displaying a tooltip.
|
||
|
// Returns:
|
||
|
// A UINT that contains the value of timeout in milliseconds.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual UINT GetShowToolTipTimeOut() const;
|
||
|
|
||
|
// -----------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to set the new subject text for the
|
||
|
// editing event.
|
||
|
// Parameters:
|
||
|
// strNewSubject : New subject value.
|
||
|
// -----------------------------------------------------------------
|
||
|
virtual void OnUpdateEditingSubject(CString strNewSubject);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine if you can perform an
|
||
|
// undo operation for the subject editor.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if there is the possibility to perform an undo
|
||
|
// operation. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL CanUndo() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine if a redo operation is
|
||
|
// possible for the subject editor.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if it is possible to perform a redo operation on
|
||
|
// the subject-editor. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL CanRedo() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to perform an Undo operation.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the undo operation is successful. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL Undo();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to perform a Redo operation.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the redo operation is successful. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL Redo();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to erases the undo buffer.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void EmptyUndoBuffer();
|
||
|
|
||
|
// ----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to format the time using the provided
|
||
|
// format.
|
||
|
// Parameters:
|
||
|
// dtTime : Date-time value to format time part.
|
||
|
// Returns:
|
||
|
// A CString object containing the formatted time string.
|
||
|
// ----------------------------------------------------------------------
|
||
|
virtual CString FormatEventTime(COleDateTime dtTime) const;
|
||
|
|
||
|
// ----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to set custom time format for view.
|
||
|
// Events will use this format to show their times
|
||
|
// Parameters:
|
||
|
// strFormat : format string specification.
|
||
|
// h Hours with no leading zero for single-digit hours; 12-hour clock
|
||
|
// hh Hours with leading zero for single-digit hours; 12-hour clock
|
||
|
// H Hours with no leading zero for single-digit hours; 24-hour clock
|
||
|
// HH Hours with leading zero for single-digit hours; 24-hour clock
|
||
|
// m Minutes with no leading zero for single-digit minutes
|
||
|
// mm Minutes with leading zero for single-digit minutes
|
||
|
// s Seconds with no leading zero for single-digit seconds
|
||
|
// ss Seconds with leading zero for single-digit seconds
|
||
|
// t One character time marker string, such as A or P
|
||
|
// tt Multi-character time marker string, such as AM or PM
|
||
|
// Returns:
|
||
|
// none.
|
||
|
// ----------------------------------------------------------------------
|
||
|
void SetCustomTimeFormat(const CString& strFormat);
|
||
|
|
||
|
// ----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Reset custom time format to default
|
||
|
// Parameters:
|
||
|
// None
|
||
|
// Returns:
|
||
|
// None
|
||
|
// ----------------------------------------------------------------------
|
||
|
void ResetCustomTimeFormat();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine the current format string.
|
||
|
// Returns:
|
||
|
// A CString object that contains the format string.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CString GetDayHeaderFormat() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to set the day header format.
|
||
|
// Parameter:
|
||
|
// sFmt - A CString object that contains the format string.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void SetDayHeaderFormat(LPCTSTR sFmt);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine if it is possible to
|
||
|
// perform a Cut operation.
|
||
|
// Remarks:
|
||
|
// This member function is used to determine the possibility of
|
||
|
// performing a Cut operation in the subject editor.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the cut operation is possible. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL CanCut() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine if it is possible to
|
||
|
// perform a Copy operation.
|
||
|
// Remarks:
|
||
|
// This member function is used to determine the possibility of
|
||
|
// performing a Copy operation in the subject editor.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the copy operation is possible. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL CanCopy() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine if it is possible to
|
||
|
// perform a Paste operation.
|
||
|
// Remarks:
|
||
|
// This member function is used to determine the possibility of
|
||
|
// performing a Paste operation in the subject editor.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the paste operation is possible. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL CanPaste() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to perform a Cut operation.
|
||
|
// Remarks:
|
||
|
// Call this member function to perform a Cut operation in the subject
|
||
|
// editor's window.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the cut operation is successful. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL Cut();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to perform a Copy operation.
|
||
|
// Remarks:
|
||
|
// Call this member function to perform a Copy operation in the
|
||
|
// subject editor's window.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the copy operation is successful. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL Copy();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to perform a Paste operation.
|
||
|
// Remarks:
|
||
|
// Call this member function to perform a Paste operation in the
|
||
|
// subject editor's window.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the paste operation is successful. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL Paste();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the event object before
|
||
|
// the start of the event editing (dragging).
|
||
|
// Returns:
|
||
|
// A pointer to a CXTPCalendarEvent object before the start the
|
||
|
// event editing or NULL.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarEvent* GetDraggingEventOrig() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the event object that
|
||
|
// is currently being edited. (i.e. dragging)
|
||
|
// Returns:
|
||
|
// A pointer to a CXTPCalendarEvent object or NULL.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarEvent* GetDraggingEventNew() const;
|
||
|
|
||
|
// ----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to prepare the event to event editing
|
||
|
// (dragging) operation.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the event editing is successful. FALSE otherwise.
|
||
|
// Parameters:
|
||
|
// pEventOrig : Pointer to an initial event for the dragging.
|
||
|
// ----------------------------------------------------------------------
|
||
|
virtual BOOL SetDraggingEvent(CXTPCalendarEvent* pEventOrig);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to commit the event editing
|
||
|
// (dragging) operation.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the event editing is successful. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL CommitDraggingEvent();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to cancel the event editing
|
||
|
// (dragging) operation.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void CancelDraggingEvent();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to start the event editing (dragging).
|
||
|
// Parameters:
|
||
|
// point - A CPoint that contains the mouse position with the
|
||
|
// coordinates to start the event editing (dragging).
|
||
|
// pHitTest - A pointer to a XTP_CALENDAR_HITTESTINFO struct that
|
||
|
// contains the HitTest results from a specified point.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnStartDragging(CPoint point, XTP_CALENDAR_HITTESTINFO* pHitTest);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to perform the event editing
|
||
|
// (dragging) operation step.
|
||
|
// Parameters:
|
||
|
// point - A CPoint that contains the mouse position coordinates.
|
||
|
// pHitTest - A pointer to a XTP_CALENDAR_HITTESTINFO struct that
|
||
|
// contains the HitTest results from the specified point.
|
||
|
// Returns:
|
||
|
// TRUE if the operation is successful FALSE else.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnDragging(CPoint point, XTP_CALENDAR_HITTESTINFO* pHitTest);
|
||
|
|
||
|
// ----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to finish the event editing
|
||
|
// (dragging) operation.
|
||
|
// Parameters:
|
||
|
// point : A CPoint that contains the mouse position coordinates.
|
||
|
// pHitInfo : A pointer to a XTP_CALENDAR_HITTESTINFO struct that contains
|
||
|
// the HitTest results from the specified point.
|
||
|
// Returns:
|
||
|
// TRUE if the operation is successful FALSE else.
|
||
|
// ----------------------------------------------------------------------
|
||
|
virtual BOOL OnEndDragging(CPoint point, XTP_CALENDAR_HITTESTINFO* pHitInfo);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to start the event subject editing.
|
||
|
// Parameters:
|
||
|
// pViewEvent - A pointer to a CXTPCalendarViewEvent event view
|
||
|
// that is used to edit the subject.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void StartEditSubject(CXTPCalendarViewEvent* pViewEvent);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to finish the event subject editing.
|
||
|
// Parameters:
|
||
|
// eAction - An XTPCalendarEndEditSubjectAction object that
|
||
|
// contains the value to commit or cancel the operation.
|
||
|
// See enum XTPCalendarEndEditSubjectAction.
|
||
|
// bUpdateControl - A BOOL. If TRUE, then redraw the control immediately,
|
||
|
// otherwise perform only the specified action
|
||
|
// without redrawing.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void EndEditSubject(XTPCalendarEndEditSubjectAction eAction, BOOL bUpdateControl = TRUE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the time value after
|
||
|
// a mouse click event in the subject editing window.
|
||
|
// Returns:
|
||
|
// A UINT that contains the timeout value in milliseconds before
|
||
|
// the start event subject editing.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual UINT GetStartEditSubjectTimeOut() const;
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to create a new event and start
|
||
|
// subject editing.
|
||
|
// Parameters:
|
||
|
// pcszInitialSubject - A pointer to the string which contains initial
|
||
|
// subject value for new event (generally initial
|
||
|
// char).
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void StartEditNewEventInplace(LPCTSTR pcszInitialSubject);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the event view object
|
||
|
// for the specified event and day.
|
||
|
// Parameters:
|
||
|
// pEvent - A CXTPCalendarEvent object that contains the value
|
||
|
// to search for.
|
||
|
// dtDay - A COleDateTime object that contains the day that
|
||
|
// corresponds to the event object.
|
||
|
// Returns:
|
||
|
// A CXTPCalendarViewEvent object that contains the view object or NULL.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarViewEvent* FindViewEvent(CXTPCalendarEvent* pEvent,
|
||
|
COleDateTime dtDay) const;
|
||
|
|
||
|
|
||
|
virtual CXTPCalendarViewEvent* FindViewEventByGroup(CXTPCalendarEvent* pEvent,
|
||
|
COleDateTime dtDay, int nScheduleID) const;
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the next event view
|
||
|
// object used for editing events by pressing the TAB key.
|
||
|
// Parameters:
|
||
|
// dtMinStart - A COleDateTime object that contains the first
|
||
|
// date and time to start the search.
|
||
|
// bReverse - If TRUE the reverse order is used, otherwise normal is used.
|
||
|
// pAfterEvent - A CXTPCalendarEvent object that contains the
|
||
|
// last event object to search for.
|
||
|
// Returns:
|
||
|
// A CXTPCalendarViewEvent object that contains the view object or NULL.
|
||
|
// See Also: GetNextTimeEditByTAB, UpdateNextTimeEditByTAB
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarViewEvent* FindEventToEditByTAB(COleDateTime dtMinStart,
|
||
|
BOOL bReverse, CXTPCalendarEvent* pAfterEvent = NULL);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the next date and time
|
||
|
// to start the find event view for editing events using the TAB key.
|
||
|
// Returns:
|
||
|
// A COleDateTime object that contains the next date and time.
|
||
|
// See Also: FindEventToEditByTAB, UpdateNextTimeEditByTAB
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual COleDateTime GetNextTimeEditByTAB() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to set the next date and time to
|
||
|
// start the find event view for editing events using the TAB key.
|
||
|
// Parameters:
|
||
|
// dtNext - A COleDateTime object that contains the next date and
|
||
|
// time to start the find event view.
|
||
|
// bReverse - If TRUE the reverse order is used, otherwise normal is used.
|
||
|
// bReset - If TRUE the next time is set to the start (or end)
|
||
|
// iteration position.
|
||
|
// See Also: GetNextTimeEditByTAB, FindEventToEditByTAB
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void UpdateNextTimeEditByTAB(COleDateTime dtNext, BOOL bReverse,
|
||
|
BOOL bReset = FALSE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to process the days selection that
|
||
|
// are selected with the mouse.
|
||
|
// Parameters:
|
||
|
// pInfo - A pointer to a XTP_CALENDAR_HITTESTINFO struct that contains
|
||
|
// HitTest information about the current mouse position.
|
||
|
// nFlags - A UINT that contains the current state of the additional
|
||
|
// mouse and keyboard buttons. Like MK_SHIFT, ...
|
||
|
// See Also: SelectDays
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void ProcessDaySelection(XTP_CALENDAR_HITTESTINFO* pInfo, UINT nFlags);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to change the days selection depending
|
||
|
// on the previous state of the selection.
|
||
|
// Parameters:
|
||
|
// dtNewSel - A COleDateTime object that contains the day date where
|
||
|
// the selection has moved.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void SelectDays(COleDateTime dtNewSel);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to process events that are selected
|
||
|
// with the mouse.
|
||
|
// Parameters:
|
||
|
// pInfo - A pointer to an XTP_CALENDAR_HITTESTINFO struct that contains
|
||
|
// HitTest information about current mouse position.
|
||
|
// nFlags - A UINT that contains the current state of the additional
|
||
|
// mouse and keyboard buttons. Like MK_SHIFT, ...
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void ProcessEventSelection(XTP_CALENDAR_HITTESTINFO* pInfo, UINT nFlags);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function(s) is used to disable or enable vertical or
|
||
|
// horizontal scrolling of the view (by date or time).
|
||
|
// Parameters:
|
||
|
// bEnable - Set TRUE to enable scrolling, FALSE to disable.
|
||
|
// Remarks:
|
||
|
// Vertical and horizontal scrolling are enabled by default.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void EnableVScroll(BOOL bEnable = TRUE);
|
||
|
virtual void EnableHScroll(BOOL bEnable = TRUE); // <COMBINE CXTPCalendarView::EnableVScroll>
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function(s) is used to obtain status of the vertical or
|
||
|
// horizontal scrolling features of the view (by date or time).
|
||
|
// Returns:
|
||
|
// TRUE if scrolling enabled, FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL IsHScrollEnabled() const;
|
||
|
virtual BOOL IsVScrollEnabled() const;// <COMBINE CXTPCalendarView::IsHScrollEnabled>
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function(s) is used to set date format string for the
|
||
|
// day view.
|
||
|
// Parameters:
|
||
|
// pcszCustomFormat - Date format string.
|
||
|
// Remarks:
|
||
|
// Long, Middle, Short and Shortest format strings are used for
|
||
|
// different header widths. Calendar control select the longest format
|
||
|
// which can be drawn for active day header width.
|
||
|
// By default these format strings are build using locale settings
|
||
|
// and SetDayHeaderFormatXXX methods should be used to customize
|
||
|
// default settings.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void SetDayHeaderFormatLong(LPCTSTR pcszCustomFormat);
|
||
|
// <COMBINE SetDayHeaderFormatLong>
|
||
|
virtual void SetDayHeaderFormatMiddle(LPCTSTR pcszCustomFormat);
|
||
|
// <COMBINE SetDayHeaderFormatLong>
|
||
|
virtual void SetDayHeaderFormatShort(LPCTSTR pcszCustomFormat);
|
||
|
// <COMBINE SetDayHeaderFormatLong>
|
||
|
virtual void SetDayHeaderFormatShortest(LPCTSTR pcszCustomFormat);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine is Today day visible.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if Today day is visible, FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL IsTodayVisible() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is called by the calendar framework to retrieve
|
||
|
// event time string with maximum length (to reserve space).
|
||
|
// Returns:
|
||
|
// A maximum time string.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CString GetItemTextEventTimeMax() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function creates the day header format string.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context.
|
||
|
// nWidth - An int that contains the day header with in pixels.
|
||
|
// pTextFont - A pointer to a CFont object that is
|
||
|
// used to calculate the text dimensions.
|
||
|
// Remarks:
|
||
|
// Call this member function to create day header format
|
||
|
// string based on the current locale.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void CalculateHeaderFormat(CDC* pDC, int nWidth, CFont* pTextFont);
|
||
|
|
||
|
COleDateTime GetDateTimeDay(const COleDateTime& dt, BOOL bWholeDayEvent) const;
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to create a timer event.
|
||
|
// Parameters:
|
||
|
// uTimeOut_ms - A UINT that contains the duration of the timer
|
||
|
// event in milliseconds.
|
||
|
// Returns:
|
||
|
// A UINT that contains the identifier of the timer.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual UINT SetTimer(UINT uTimeOut_ms);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to destroy a timer event.
|
||
|
// Parameters:
|
||
|
// uTimerID - A UINT that is used to specify the identifier of the timer.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void KillTimer(UINT uTimerID);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// The framework calls this member function after each interval
|
||
|
// specified in the SetTimer member function.
|
||
|
// Parameters:
|
||
|
// uTimerID - A UINT that is used to specify the identifier
|
||
|
// of the timer.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL OnTimer(UINT_PTR uTimerID);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to perform additional adjustments
|
||
|
// in some kinds of views.
|
||
|
// Remarks:
|
||
|
// Call this member function to perform additional adjustments after
|
||
|
// all adjustment activities are completed.
|
||
|
//-----------------------------------------------------------------------
|
||
|
//virtual void OnPostAdjustLayout();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is called by the framework before destroying
|
||
|
// the view.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnBeforeDestroy();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is called by the framework view is activated
|
||
|
// or deactivated.
|
||
|
// Parameters:
|
||
|
// bActivate - Indicates whether the view is being activated or
|
||
|
// deactivated.
|
||
|
// pActivateView - Points to the view object that is being activated.
|
||
|
// pInactiveView - Points to the view object that is being deactivated.
|
||
|
// Remarks:
|
||
|
// Override this member function to handle activated/deactivated
|
||
|
// events.
|
||
|
// See Also:
|
||
|
// CXTPCalendarControl::SwitchActiveView(XTPCalendarViewType eView),
|
||
|
// CXTPCalendarControl::SetActiveView(CXTPCalendarView* pView)
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnActivateView(BOOL bActivate, CXTPCalendarView* pActivateView,
|
||
|
CXTPCalendarView* pInactiveView);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to send a notification from the
|
||
|
// parent Calendar control.
|
||
|
// Parameters:
|
||
|
// EventCode - A XTP_NOTIFY_CODE that contains the specific
|
||
|
// code of the event.
|
||
|
// wParam - A DWORD that contains the first custom parameter.
|
||
|
// Depends on the event type. See specific event description
|
||
|
// for details.
|
||
|
// lParam - A DWORD that contains the second custom parameter.
|
||
|
// Depends on the event type. See specific event description
|
||
|
// for details.
|
||
|
// Remarks:
|
||
|
// This member function is called internally from inside the
|
||
|
// class when a notification is sent to all listeners.
|
||
|
// See Also: XTP_NOTIFY_CODE
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void SendNotification(XTP_NOTIFY_CODE EventCode, WPARAM wParam = 0, LPARAM lParam = 0);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to create the time format string.
|
||
|
// Remarks:
|
||
|
// Call this member function to create the time format string
|
||
|
// based on the current locale.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void _CalculateEventTimeFormat();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This function is used to calculates the max width of the date
|
||
|
// used in the specified format string.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context.
|
||
|
// strFormat - A CString that contains the date format string.
|
||
|
// bMonth - A BOOL. If TRUE, then calculate the max width for
|
||
|
// all the months in a year, otherwise calculate the
|
||
|
// max width for all week days.
|
||
|
// Remarks:
|
||
|
// Use this member function to calculate the header format width.
|
||
|
// Returns:
|
||
|
// A CString containing the name of the month or the name of the
|
||
|
// day of the week that has the maximum width.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CString _GetMaxWidthFormat(CDC* pDC, CString strFormat, BOOL bMonth) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to calculate, in pixels, the max
|
||
|
// date width for the specified format string.
|
||
|
// Parameters:
|
||
|
// pDC - A pointer to a valid device context.
|
||
|
// strFormat - A CString that contains the date format string.
|
||
|
// Remarks:
|
||
|
// Use this member function to calculate the maximum width of the
|
||
|
// date string.
|
||
|
// Returns:
|
||
|
// An int that contains the maximum date width, in pixels.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual int _GetMaxWidth(CDC* pDC, CString strFormat) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to remove the year part from the
|
||
|
// specified format string.
|
||
|
// Parameters:
|
||
|
// strFormat - [IN/OUT] A CString object that contains the date
|
||
|
// format string reference.
|
||
|
// Remarks:
|
||
|
// This member function is used to calculate the header format.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void _RemoveYearPart(CString& strFormat);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to build day header date format
|
||
|
// default strings.
|
||
|
// Remarks:
|
||
|
// This member function read locale settings and fill
|
||
|
// m_strDayHeaderFormatDefaultXXX members.
|
||
|
// See Also:
|
||
|
// CalculateHeaderFormat(),
|
||
|
// m_strDayHeaderFormatDefaultLong, m_strDayHeaderFormatDefaultMiddle,
|
||
|
// m_strDayHeaderFormatDefaultShort, m_strDayHeaderFormatDefaultShortest.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void _ReadDefaultHeaderFormats();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function get custom or default day header date format
|
||
|
// string.
|
||
|
// Parameters:
|
||
|
// nLevel - Format width level:
|
||
|
// 0 - Long,
|
||
|
// 1 - Middle,
|
||
|
// 2 - Short,
|
||
|
// 3 - Shortest.
|
||
|
// Remarks:
|
||
|
// Returns m_strDayHeaderFormatXXX member value if is not empty,
|
||
|
// otherwise m_strDayHeaderFormatDefaultXXX member value is returned.
|
||
|
// Returns:
|
||
|
// Active header date format string for the specified width level.
|
||
|
// See Also:
|
||
|
// m_strDayHeaderFormatDefaultLong, m_strDayHeaderFormatDefaultMiddle,
|
||
|
// m_strDayHeaderFormatDefaultShort, m_strDayHeaderFormatDefaultShortest,
|
||
|
// m_strDayHeaderFormatLong, m_strDayHeaderFormatMiddle,
|
||
|
// m_strDayHeaderFormatShort, m_strDayHeaderFormatShortest.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CString _GetDayHeaderFormat(int nLevel) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to determine if the specified
|
||
|
// editing operation command is possible for the event subject
|
||
|
// editor window.
|
||
|
// Parameters:
|
||
|
// idEditCmd - A UINT that contains the editing operation command ID:
|
||
|
// ID_EDIT_UNDO, ID_EDIT_CUT, ID_EDIT_COPY, or ID_EDIT_PASTE.
|
||
|
// Remarks:
|
||
|
// This function works correctly even when there is no subject editing mode.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE - if the subject editing mode and specified editing
|
||
|
// operation are possible. FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL _CanSubjectEditor(UINT idEditCmd) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain a pointer to the event
|
||
|
// subject editor window.
|
||
|
// Remarks:
|
||
|
// Works correctly even when not using a subject editing mode.
|
||
|
// Returns:
|
||
|
// Pointer to the CWnd or NULL.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CWnd* _GetSubjectEditorWnd() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to copy selected events and CXTPCalendarEvent objects,
|
||
|
// to a COleDataSource object.
|
||
|
// Parameters:
|
||
|
// dwCopyFlags - A DWORD that contains a set of flags from the enum
|
||
|
// XTPCalendarClipboardCopyFlags or user defined
|
||
|
// values.
|
||
|
// Remarks:
|
||
|
// COleDataSource->SetClipboard method must be called to place
|
||
|
// data into the clipboard. Keep in mind - SetClipboard calls
|
||
|
// InternalRelease.
|
||
|
// Returns:
|
||
|
// If there are selected events, then the function returns a pointer
|
||
|
// to a new COleDataSource object. If there are no selected events,
|
||
|
// then the function returns NULL.
|
||
|
// See Also: _ReadEventsFromClipboard, XTPCalendarClipboardCopyFlags,
|
||
|
// XTPCALENDARCTRL_CF_EVENT, COleDataSource
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual COleDataSource* _CopySelectedEvents(DWORD dwCopyFlags = 0);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to read events and CXTPCalendarEvent
|
||
|
// objects, from a COleDataSource object.
|
||
|
// Parameters:
|
||
|
// pData - A COleDataObject pointer to the data object.
|
||
|
// pdwCopyFlags - A pointer to a DWORD that contains the CopyFlags.
|
||
|
// These flags are set in the _CopySelectedEvents call.
|
||
|
// The flag values are from the XTPCalendarClipboardCopyFlags
|
||
|
// enum or are user defined values.
|
||
|
// Remarks:
|
||
|
// COleDataSource->AttachClipboard method must be called to
|
||
|
// retrieve data from the clipboard.
|
||
|
// Returns:
|
||
|
// A pointer to a CXTPCalendarEvents object. NULL - If there are no events
|
||
|
// in the clipboard. Otherwise, a pointer to a new CXTPCalendarEvents objects
|
||
|
// collection.
|
||
|
// See Also: _CopySelectedEvents, XTPCalendarClipboardCopyFlags,
|
||
|
// XTPCALENDARCTRL_CF_EVENT, COleDataSource
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CXTPCalendarEventsPtr _ReadEventsFromClipboard(COleDataObject* pData,
|
||
|
DWORD* pdwCopyFlags = NULL);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to obtain the minimum event duration
|
||
|
// visible in the current view.
|
||
|
// Returns:
|
||
|
// A COleDateTimeSpan object that contains the minimum duration
|
||
|
// of the event.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual COleDateTimeSpan GetEventDurationMin() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is used to perform an undo/redo operation
|
||
|
// for the specified event.
|
||
|
// Parameters:
|
||
|
// pEvent - A pointer to a CXTPCalendarEvent object that contains
|
||
|
// the undo/redo action.
|
||
|
// Returns:
|
||
|
// A BOOL. TRUE if the undo operation is successful. FALSE otherwise.
|
||
|
// See Also:
|
||
|
// Undo, Redo, m_UndoBuffer, m_eUndoMode, XTPCalendarUndoMode
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL _Undo(CXTPCalendarEvent* pEvent = NULL);
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
void _ReSelectSelectEvents();
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function handles changing of an event in the associated
|
||
|
// data provider. It performs all the necessary validation of this
|
||
|
// action and returns an update result.
|
||
|
// Parameters:
|
||
|
// nfCode - Notification code of the data provider update operation.
|
||
|
// pEvent - A pointer to a CXTPCalendarEvent object that was changed.
|
||
|
// Returns:
|
||
|
// A code of the update action to be performed in the view.
|
||
|
// See Also:
|
||
|
// XTP_NOTIFY_CODE overview, XTPEnumCalendarUpdateResult overview
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual XTPEnumCalendarUpdateResult OnEventChanged_InDataProvider(XTP_NOTIFY_CODE nfCode, CXTPCalendarEvent* pEvent);
|
||
|
|
||
|
protected:
|
||
|
//=======================================================================
|
||
|
// Summary:
|
||
|
// This helper class implements Undo/Redo events editing
|
||
|
// functionality.
|
||
|
//=======================================================================
|
||
|
class CUndoBuffer;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is used to determine Copy or Move dragging mode.
|
||
|
// Parameters:
|
||
|
// eDragMode - A value from enum XTPCalendarDraggingMode.
|
||
|
// Returns:
|
||
|
// TRUE if eDragMode == xtpCalendaDragModeCopy or eDragMode == xtpCalendaDragModeMove.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL _IsDragModeCopyMove(int eDragMode) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is used to determine is specified editing operation
|
||
|
// disabled.
|
||
|
// Parameters:
|
||
|
// eOperation - A value from enum XTPCalendarEditOperation.
|
||
|
// pEventView - A pointer to event view.
|
||
|
// Returns:
|
||
|
// TRUE if specified editing operation disabled, otherwise FALSE.
|
||
|
// See Also:
|
||
|
// XTP_NC_CALENDAR_IS_EVENT_EDIT_OPERATION_DISABLED,
|
||
|
// XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION, XTPCalendarEditOperation.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsEditOperationDisabledNotify(XTPCalendarEditOperation eOperation, CXTPCalendarViewEvent* pEventView) const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is used to customize or disable specified editing
|
||
|
// operation.
|
||
|
// Parameters:
|
||
|
// eOperation - A value from enum XTPCalendarEditOperation.
|
||
|
// pEventView - A pointer to event view.
|
||
|
// Returns:
|
||
|
// TRUE if specified editing operation disabled or handled,
|
||
|
// otherwise FALSE.
|
||
|
// See Also:
|
||
|
// XTP_NC_CALENDAR_IS_EVENT_EDIT_OPERATION_DISABLED,
|
||
|
// XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION, XTPCalendarEditOperation.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL OnBeforeEditOperationNotify(XTPCalendarEditOperation eOperation,
|
||
|
CXTPCalendarViewEvent* pEventView);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is used to customize or disable specified editing
|
||
|
// operation.
|
||
|
// Parameters:
|
||
|
// eOperation - A value from enum XTPCalendarEditOperation.
|
||
|
// pEventViews - A pointer to event views.
|
||
|
// Returns:
|
||
|
// TRUE if specified editing operation disabled or handled,
|
||
|
// otherwise FALSE.
|
||
|
// See Also:
|
||
|
// XTP_NC_CALENDAR_IS_EVENT_EDIT_OPERATION_DISABLED,
|
||
|
// XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION, XTPCalendarEditOperation.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL OnBeforeEditOperationNotify(XTPCalendarEditOperation eOperation,
|
||
|
CXTPCalendarViewEvents* pEventViews);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is used to customize or disable paste editing
|
||
|
// operation.
|
||
|
// Parameters:
|
||
|
// pEvent - A pointer to event prepared for paste.
|
||
|
// bPasteWillChangeExistingEvent - If this parameter is TRUE, the new
|
||
|
// event will not be added, just
|
||
|
// existing event will be updated.
|
||
|
// Used for creating recurrence event
|
||
|
// exceptions by cut operation.
|
||
|
// Returns:
|
||
|
// TRUE if paste editing operation disabled or handled,
|
||
|
// otherwise FALSE.
|
||
|
// See Also:
|
||
|
// XTP_NC_CALENDAR_IS_EVENT_EDIT_OPERATION_DISABLED,
|
||
|
// XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION, XTPCalendarEditOperation.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL OnBeforePasteNotify(CXTPCalendarEvent* pEvent, BOOL bPasteWillChangeExistingEvent);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is used to customize or disable xtpCalendarEO_InPlaceCreateEvent
|
||
|
// editing operation.
|
||
|
// Parameters:
|
||
|
// pcszInitialSubject - A pointer to the string which contains initial
|
||
|
// subject value for new event (generally initial
|
||
|
// char).
|
||
|
// Returns:
|
||
|
// TRUE if In-place create event editing operation disabled or handled,
|
||
|
// otherwise FALSE.
|
||
|
// See Also:
|
||
|
// XTP_NC_CALENDAR_IS_EVENT_EDIT_OPERATION_DISABLED,
|
||
|
// XTP_NC_CALENDAR_BEFORE_EVENT_EDIT_OPERATION, XTPCalendarEditOperation.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL OnInPlaceCreateEvent(LPCTSTR pcszInitialSubject);
|
||
|
|
||
|
//=======================================================================
|
||
|
// Summary:
|
||
|
// Class CSelectionChangedContext used to avoid multiple sending of
|
||
|
// XTP_NC_CALENDAR_SELECTION_CHANGED notification for one selection
|
||
|
// changing operation.
|
||
|
//=======================================================================
|
||
|
class CSelectionChangedContext
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CSelectionChangedContext object.
|
||
|
// Parameters:
|
||
|
// pView - Pointer to parent CXTPCalendarView object.
|
||
|
// eSelType - Value from enum XTPCalendarSelectionChanged.
|
||
|
// Changed selection type.
|
||
|
// Remarks:
|
||
|
// eSelType = xtpCalendarSelectionUnknown only lock sending notifications.
|
||
|
// See Also: XTP_NC_CALENDAR_SELECTION_CHANGED
|
||
|
//-------------------------------------------------------------------
|
||
|
CSelectionChangedContext(CXTPCalendarView* pView, int eSelType = xtpCalendarSelectionUnknown);
|
||
|
|
||
|
//-------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Destroys a CSelectionChangedContext object and send notification(s)
|
||
|
// if this is last locker object.
|
||
|
//-------------------------------------------------------------------
|
||
|
virtual ~CSelectionChangedContext();
|
||
|
|
||
|
private:
|
||
|
CXTPCalendarView* m_pView;
|
||
|
int m_eSelType;
|
||
|
};
|
||
|
|
||
|
|
||
|
protected:
|
||
|
|
||
|
//=======================================================================
|
||
|
// Summary: This class defines an internal structure used as a counter on
|
||
|
// selection changes, which is needed to redraw a view when
|
||
|
// necessary.
|
||
|
//=======================================================================
|
||
|
class CSelectionChanged_ContextData
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default object constructor.
|
||
|
//-------------------------------------------------------------------
|
||
|
CSelectionChanged_ContextData();
|
||
|
|
||
|
int m_nLockCount; // Selection change notification global Lock counter.
|
||
|
int m_nLockCount_Day; // Days selection change notification Lock counter.
|
||
|
int m_nLockCount_Event; // Events selection change notification Lock counter.
|
||
|
|
||
|
BOOL m_bRequest_Day; // Days selection change send notification request.
|
||
|
BOOL m_bRequest_Event; // Events selection change send notification request.
|
||
|
};
|
||
|
|
||
|
CSelectionChanged_ContextData m_cntSelChanged; // Counter on selection changes,
|
||
|
// is needed to redraw a view when necessary.
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
friend class CSelectionChangedContext;
|
||
|
friend class CXTPCalendarViewSelection;
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
protected:
|
||
|
int m_eUndoMode; // Undo mode, see XTPCalendarUndoMode.
|
||
|
BOOL m_bResetUndoBuffer; // Clean undo buffer before add next undo action.
|
||
|
|
||
|
CUndoBuffer* m_pPrevUndoBuffer; // Undo buffer data after last undo buffer clean.
|
||
|
CUndoBuffer* m_pUndoBuffer; // Undo buffer object.
|
||
|
|
||
|
private:
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
BOOL _EditOperationNotify(XTP_NOTIFY_CODE ncEvent, XTPCalendarEditOperation eOperation,
|
||
|
CXTPCalendarViewEvent* pEventView, CXTPCalendarViewEvents* pEventViews = NULL) const;
|
||
|
|
||
|
XTPCalendarDraggingMode _GetDraggingMode(XTP_CALENDAR_HITTESTINFO* pHitTest) const;
|
||
|
XTPCalendarEditOperation _DragMod2Operation(int eDragMode);
|
||
|
|
||
|
virtual CXTPCalendarData* _GetDataProviderBySelection(UINT* puScheduleID = NULL);
|
||
|
virtual CXTPCalendarData* _GetDataProviderByConnStr(LPCTSTR pcszConnStr, BOOL bCompareNoCase = TRUE);
|
||
|
virtual BOOL _IsScheduleVisible(CXTPCalendarData* pDataProvider, UINT uScheduleID);
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
protected:
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
XTP_VIEW_LAYOUT& GetLayout_();
|
||
|
const XTP_VIEW_LAYOUT& GetLayout_() const;
|
||
|
virtual BOOL IsUseCellAlignedDraggingInTimeArea() const;
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
protected:
|
||
|
|
||
|
XTP_VIEW_LAYOUT m_Layout; // Layout data.
|
||
|
|
||
|
//===========================================================================
|
||
|
// Remarks:
|
||
|
// This helper struct is used to group information which is
|
||
|
// necessary to format Start/End events times.
|
||
|
// See Also: FormatEventTime, _CalculateEventTimeFormat.
|
||
|
//===========================================================================
|
||
|
struct SEventTimeFormatInfo
|
||
|
{
|
||
|
CString strFormat; // Time format string.
|
||
|
CString strAM; // AM symbol.
|
||
|
CString strPM; // PM symbol.
|
||
|
BOOL b24_HFormat; // Is 24 hours time format.
|
||
|
BOOL isCustom;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default object constructor.
|
||
|
//-----------------------------------------------------------------------
|
||
|
SEventTimeFormatInfo() {b24_HFormat = FALSE; isCustom = FALSE;}
|
||
|
};
|
||
|
|
||
|
SEventTimeFormatInfo m_EventTimeFormat; // Information used to format events times.
|
||
|
|
||
|
CString m_strHeaderFormat; // Day header active date format string.
|
||
|
|
||
|
CString m_strDayHeaderFormatLong; // Day header Long date format custom string.
|
||
|
CString m_strDayHeaderFormatMiddle; // Day header Middle date format custom string.
|
||
|
CString m_strDayHeaderFormatShort; // Day header Short date format custom string.
|
||
|
CString m_strDayHeaderFormatShortest; // Day header Shortest date format custom string.
|
||
|
|
||
|
CString m_strDayHeaderFormatDefaultLong; // Day header Long date format default string.
|
||
|
CString m_strDayHeaderFormatDefaultMiddle; // Day header Middle date format default string.
|
||
|
CString m_strDayHeaderFormatDefaultShort; // Day header Short date format default string.
|
||
|
CString m_strDayHeaderFormatDefaultShortest; // Day header Shortest date format default string.
|
||
|
|
||
|
CRect m_rcView; // Client rect.
|
||
|
CRect m_rcTooltip; // Last shown tooltip rect (while GetTooltipRect returns calculated
|
||
|
// currently required tooltip rect)
|
||
|
|
||
|
protected:
|
||
|
CXTPCalendarEventPtr m_ptrDraggingEventOrig; // Event object before start event editing.
|
||
|
CXTPCalendarEventPtr m_ptrDraggingEventNew; // Editing event object.
|
||
|
|
||
|
COleDateTimeSpan m_spDraggingStartOffset;// Start dragging operation offset from the beginning of the event.
|
||
|
CPoint m_ptStartDragging; // Request to start dragging operation from this point.
|
||
|
|
||
|
XTPCalendarDraggingMode m_eDraggingMode; // Editing event mode.
|
||
|
BOOL m_bStartedClickInside; // Is OnLButtonDown was inside view rect.
|
||
|
|
||
|
CXTPCalendarViewEventPtr m_ptrEditingViewEvent; // Currently editing subject event view or event view requested to edit subject by timeout.
|
||
|
|
||
|
UINT m_nTimerID_StartEditSubject; // Timer ID of edit event subject request.
|
||
|
UINT m_nTimerID_ShowToolTip; // Timer ID of start show tooltip request.
|
||
|
|
||
|
CXTPCalendarControl* m_pControl; // Pointer to the owner control object.
|
||
|
|
||
|
CXTPCalendarViewEvents* m_pSelectedEvents; //Selected Events;
|
||
|
|
||
|
XTP_CALENDAR_HITTESTINFO m_LastHitInfo; // Last HitInfo data. It is used in CXTPCalendarView::OnMouseMove() for processing selecting, dragging and other operations.
|
||
|
|
||
|
UINT m_nKeyStateTimerID; // Timer ID to check Keys state (like Control).
|
||
|
|
||
|
XTP_CALENDAR_VIEWSELECTION m_selectedBlock; // Current selection.
|
||
|
|
||
|
BOOL m_bScrollV_Disabled; // Is vertical scrolling disabled for a view.
|
||
|
BOOL m_bScrollH_Disabled; // Is horizontal scrolling disabled for a view.
|
||
|
|
||
|
CXTPCalendarResources* m_pResources; // Resources array
|
||
|
|
||
|
CPoint m_ptLBtnUpMousePos;
|
||
|
CPoint m_ptLBtnDownMousePos;
|
||
|
|
||
|
protected:
|
||
|
mutable CXTPCalendarPtrCollectionT< CXTPCalendarViewDay> m_arDays; // Stores the view day collection.
|
||
|
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// This template class represents a view portion of the Calendar control.
|
||
|
// Remarks:
|
||
|
// It represents a specific view of the Control's associated events
|
||
|
// data and provides basic functionality on this data using user
|
||
|
// input through the keyboard and the mouse.
|
||
|
// It is used as a part of the calendar control framework to build
|
||
|
// <b><i>View</i></b> layer of <b>View->DayView->ViewEvent</b>
|
||
|
// typed objects hierarchy.
|
||
|
// These are the template parameters:
|
||
|
// _TViewDay - Type of View Day objects stored in View.
|
||
|
// _TViewEvent - Type of View Event objects stored in View Day.
|
||
|
//
|
||
|
// You must provide all of the above parameters.
|
||
|
//
|
||
|
// These are the predefined view implementations available
|
||
|
// for the Calendar control:
|
||
|
//
|
||
|
//
|
||
|
// * Day and work week views - Using the CXTPCalendarDayView class.
|
||
|
// * Week view - Using the CXTPCalendarWeekView class.
|
||
|
// * Month view - Using the CXTPCalendarMonthView class.
|
||
|
//
|
||
|
//
|
||
|
// Furthermore, any type of user defined view may also be implemented as
|
||
|
// a descendant of the CXTPCalendarView class.
|
||
|
//
|
||
|
// A typical Calendar View model consists of a collection of
|
||
|
// corresponding ViewDay's, which realizes the contents on a square
|
||
|
// of one day. ViewDay in turn contains a collection of ViewEvent's
|
||
|
// for the particular day, each of them represents a view of an
|
||
|
// CXTPCalendarEvent object.
|
||
|
//
|
||
|
// See Also: CXTPCalendarDayView, CXTPCalendarWeekView, CXTPCalendarMonthView,
|
||
|
// CXTPCalendarViewDay, CXTPCalendarViewEvent
|
||
|
//===========================================================================
|
||
|
template<class _TViewDay>
|
||
|
class CXTPCalendarViewT : public CXTPCalendarView
|
||
|
{
|
||
|
public:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default object constructor.
|
||
|
// Parameters:
|
||
|
// pCalendarControl - A pointer to a CXTPCalendarControlT object.
|
||
|
// nViewType - An XTPCalendarViewType object that contains the
|
||
|
// view type identifier.
|
||
|
// See Also: XTPCalendarViewType, ~CXTPCalendarEventT()
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPCalendarViewT (CXTPCalendarControl* pCalendarControl, XTPCalendarViewType nViewType) :
|
||
|
CXTPCalendarView(pCalendarControl)
|
||
|
{
|
||
|
m_nViewType = nViewType;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Default class destructor.
|
||
|
// Remarks:
|
||
|
// Handles member item deallocation.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual ~CXTPCalendarViewT()
|
||
|
{
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain the view type flag.
|
||
|
// Returns:
|
||
|
// An XTPCalendarViewType object that contains the view type flag.
|
||
|
// See Also: XTPCalendarViewType
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual XTPCalendarViewType GetViewType() const
|
||
|
{
|
||
|
return m_nViewType;
|
||
|
}
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to obtain a _TViewDay object corresponding
|
||
|
// with the day's index.
|
||
|
// Parameters:
|
||
|
// nIndex - An int that contains the day view index in the view collection.
|
||
|
// Returns:
|
||
|
// If the day's index is valid, then the function returns a pointer to a
|
||
|
// _TViewDay object that corresponds with the day's index. Otherwise,
|
||
|
// the function returns NULL.
|
||
|
// Remarks:
|
||
|
// Index numbers start with 0 and cannot be negative.
|
||
|
// See Also: GetViewDayCount()
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual _TViewDay* GetViewDay(int nIndex) const
|
||
|
{
|
||
|
return (_TViewDay*)GetViewDay_(nIndex);
|
||
|
}
|
||
|
|
||
|
|
||
|
private:
|
||
|
XTPCalendarViewType m_nViewType;
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
AFX_INLINE CXTPCalendarControl* CXTPCalendarView::GetCalendarControl() const {
|
||
|
return this ? m_pControl : NULL;
|
||
|
}
|
||
|
AFX_INLINE CRect CXTPCalendarView::GetViewRect() const {
|
||
|
return m_rcView;
|
||
|
}
|
||
|
AFX_INLINE XTPCalendarDraggingMode CXTPCalendarView::GetDraggingMode() const {
|
||
|
return m_eDraggingMode;
|
||
|
}
|
||
|
AFX_INLINE int CXTPCalendarView::GetRowHeight() const {
|
||
|
return m_Layout.m_nRowHeight;
|
||
|
}
|
||
|
AFX_INLINE UINT CXTPCalendarView::GetStartEditSubjectTimeOut() const {
|
||
|
return XTP_CALENDAR_START_EDIT_SUBJECT_TIMEOUT_MS;
|
||
|
}
|
||
|
AFX_INLINE BOOL CXTPCalendarView::IsEditingSubject() const {
|
||
|
return m_ptrEditingViewEvent != NULL;
|
||
|
}
|
||
|
AFX_INLINE CString CXTPCalendarView::GetDayHeaderFormat() const {
|
||
|
return m_strHeaderFormat;
|
||
|
}
|
||
|
AFX_INLINE void CXTPCalendarView::SetDayHeaderFormat(LPCTSTR sFmt) {
|
||
|
m_strHeaderFormat = sFmt;
|
||
|
}
|
||
|
AFX_INLINE BOOL CXTPCalendarView::_IsDragModeCopyMove(int eDragMode) const {
|
||
|
return eDragMode == xtpCalendaDragModeCopy || eDragMode == xtpCalendaDragModeMove;
|
||
|
}
|
||
|
AFX_INLINE XTPCalendarEditOperation CXTPCalendarView::_DragMod2Operation(int eDragMode) {
|
||
|
return (XTPCalendarEditOperation)eDragMode;
|
||
|
}
|
||
|
AFX_INLINE void CXTPCalendarView::EnableVScroll(BOOL bEnable) {
|
||
|
m_bScrollV_Disabled = !bEnable;
|
||
|
}
|
||
|
AFX_INLINE void CXTPCalendarView::EnableHScroll(BOOL bEnable) {
|
||
|
m_bScrollH_Disabled = !bEnable;
|
||
|
}
|
||
|
AFX_INLINE BOOL CXTPCalendarView::IsHScrollEnabled() const {
|
||
|
return !m_bScrollH_Disabled;
|
||
|
}
|
||
|
AFX_INLINE BOOL CXTPCalendarView::IsVScrollEnabled() const {
|
||
|
return !m_bScrollV_Disabled;
|
||
|
}
|
||
|
AFX_INLINE void CXTPCalendarView::SetDayHeaderFormatLong(LPCTSTR pcszCustomFormat) {
|
||
|
m_strDayHeaderFormatLong = pcszCustomFormat;
|
||
|
}
|
||
|
AFX_INLINE void CXTPCalendarView::SetDayHeaderFormatShortest(LPCTSTR pcszCustomFormat) {
|
||
|
m_strDayHeaderFormatShortest = pcszCustomFormat;
|
||
|
}
|
||
|
AFX_INLINE void CXTPCalendarView::SetDayHeaderFormatMiddle(LPCTSTR pcszCustomFormat) {
|
||
|
m_strDayHeaderFormatMiddle = pcszCustomFormat;
|
||
|
}
|
||
|
AFX_INLINE void CXTPCalendarView::SetDayHeaderFormatShort(LPCTSTR pcszCustomFormat) {
|
||
|
m_strDayHeaderFormatShort = pcszCustomFormat;
|
||
|
}
|
||
|
AFX_INLINE int CXTPCalendarView::GetChildHandlersCount() const {
|
||
|
return GetViewDayCount();
|
||
|
}
|
||
|
AFX_INLINE XTP_VIEW_LAYOUT& CXTPCalendarView::GetLayout_() {
|
||
|
return m_Layout;
|
||
|
}
|
||
|
AFX_INLINE const XTP_VIEW_LAYOUT& CXTPCalendarView::GetLayout_() const {
|
||
|
return m_Layout;
|
||
|
}
|
||
|
AFX_INLINE BOOL CXTPCalendarView::IsUseCellAlignedDraggingInTimeArea() const {
|
||
|
return FALSE;
|
||
|
}
|
||
|
AFX_INLINE UINT CXTPCalendarView::GetShowToolTipTimeOut() const {
|
||
|
return XTP_CALENDAR_SHOW_BUTTON_TIMEOUT_MS;
|
||
|
}
|
||
|
AFX_INLINE BOOL CXTPCalendarView::AddToDiscreteSelection(UINT uDay) {
|
||
|
BOOL bAdd(TRUE);
|
||
|
|
||
|
for (int id = 0; id < (int)m_DiscreteSelection.GetSize(); id++)
|
||
|
{
|
||
|
if (uDay == m_DiscreteSelection.GetAt(id))
|
||
|
{
|
||
|
bAdd = FALSE;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
if (bAdd)
|
||
|
m_DiscreteSelection.Add(uDay);
|
||
|
return bAdd;
|
||
|
}
|
||
|
AFX_INLINE BOOL CXTPCalendarView::IsInDiscreteSelection(UINT uDay) const {
|
||
|
BOOL bFound = FALSE;
|
||
|
|
||
|
for (int id = 0; id < (int)m_DiscreteSelection.GetSize(); id++)
|
||
|
{
|
||
|
if (uDay == m_DiscreteSelection.GetAt(id))
|
||
|
{
|
||
|
bFound = TRUE;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
return bFound;
|
||
|
}
|
||
|
AFX_INLINE void CXTPCalendarView::ClearDiscreteSelection() {
|
||
|
m_DiscreteSelection.RemoveAll();
|
||
|
}
|
||
|
AFX_INLINE UINT CXTPCalendarView::GetDiscreteSelectionCount() const {
|
||
|
return (UINT)m_DiscreteSelection.GetSize();
|
||
|
}
|
||
|
AFX_INLINE COleDateTime CXTPCalendarView::GetDiscreteSelectionValue(UINT id) const
|
||
|
{
|
||
|
COleDateTime dt;
|
||
|
|
||
|
if (id < (UINT) m_DiscreteSelection.GetSize())
|
||
|
dt = COleDateTime((double) m_DiscreteSelection.GetAt(id));
|
||
|
return dt;
|
||
|
}
|
||
|
|
||
|
AFX_INLINE int CXTPCalendarView::GetViewDayCount() const {
|
||
|
return m_arDays.GetCount();
|
||
|
}
|
||
|
|
||
|
AFX_INLINE CXTPCalendarViewDay* CXTPCalendarView::GetViewDay_(int nIndex) const {
|
||
|
ASSERT(this);
|
||
|
if (!this)
|
||
|
return NULL;
|
||
|
|
||
|
int nCount = m_arDays.GetCount();
|
||
|
ASSERT(nIndex >= 0 && nIndex < nCount);
|
||
|
|
||
|
return (nIndex >= 0 && nIndex < nCount) ? m_arDays.GetAt(nIndex) : NULL;
|
||
|
}
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
#endif // !defined(_XTPCALENDARVIEW_H__)
|