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.
890 lines
32 KiB
C
890 lines
32 KiB
C
2 years ago
|
// XTPCalendarThemeOffice2007.h: interface for the CXTPCalendarControlPaintManager class.
|
||
|
//
|
||
|
// This file is a part of the XTREME CALENDAR MFC class library.
|
||
|
// (c)1998-2012 Codejock Software, All Rights Reserved.
|
||
|
//
|
||
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
||
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
||
|
// CONSENT OF CODEJOCK SOFTWARE.
|
||
|
//
|
||
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
||
|
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
||
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
||
|
// SINGLE COMPUTER.
|
||
|
//
|
||
|
// CONTACT INFORMATION:
|
||
|
// support@codejock.com
|
||
|
// http://www.codejock.com
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
#if !defined(_XTP_CALENDAR_THEME_OFFICE_2007_H__)
|
||
|
#define _XTP_CALENDAR_THEME_OFFICE_2007_H__
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
#if _MSC_VER > 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER > 1000
|
||
|
|
||
|
#if (_MSC_VER > 1100)
|
||
|
#pragma warning(push)
|
||
|
#endif
|
||
|
|
||
|
#pragma warning(disable: 4250)
|
||
|
//#pragma warning(disable: 4097)
|
||
|
|
||
|
#pragma warning(disable : 4100)// TODO: remove when themes will be finished
|
||
|
|
||
|
class CXTPResourceImages;
|
||
|
class CXTPImageManager;
|
||
|
class CXTPCalendarResources;
|
||
|
class CXTPNotifySink;
|
||
|
class CXTPCalendarEventCategories;
|
||
|
class CXTPCalendarEventCategoryIDs;
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// Initial version. Will be expanded in the feature.
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
class _XTP_EXT_CLASS CXTPCalendarThemeOffice2007 : public CXTPCalendarTheme
|
||
|
{
|
||
|
DECLARE_DYNCREATE(CXTPCalendarThemeOffice2007)
|
||
|
|
||
|
typedef CXTPCalendarTheme TBase;
|
||
|
public:
|
||
|
|
||
|
DECLARE_THEMEPART(CTOHeader, CXTPCalendarTheme::CTOHeader)
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER(0, CTOFormula_MulDivC, HeightFormula)
|
||
|
//===========================================
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC) {ASSERT(FALSE);};
|
||
|
|
||
|
protected:
|
||
|
};
|
||
|
friend class CTOHeader;
|
||
|
|
||
|
//=======================================================================
|
||
|
DECLARE_THEMEPART(CTOEvent, CXTPCalendarTheme::CTOEvent)
|
||
|
struct CEventFontsColorsSet
|
||
|
{
|
||
|
CXTPPaintManagerColor clrBorder;
|
||
|
CXTPPaintManagerColorGradient grclrBackground;
|
||
|
|
||
|
CThemeFontColorSetValue fcsetSubject;
|
||
|
CThemeFontColorSetValue fcsetLocation;
|
||
|
CThemeFontColorSetValue fcsetBody;
|
||
|
|
||
|
CThemeFontColorSetValue fcsetStartEnd; // for a month view single day event times
|
||
|
// or DayView multiday event From/To
|
||
|
virtual void CopySettings(const CEventFontsColorsSet& rSrc);
|
||
|
|
||
|
virtual void doPX(CXTPPropExchange* pPX, LPCTSTR pcszPropName, CXTPCalendarTheme* pTheme);
|
||
|
virtual void Serialize(CArchive& ar);
|
||
|
};
|
||
|
|
||
|
CEventFontsColorsSet m_fcsetNormal;
|
||
|
CEventFontsColorsSet m_fcsetSelected;
|
||
|
|
||
|
CXTPPaintManagerColor m_clrGripperBorder;
|
||
|
CXTPPaintManagerColor m_clrGripperBackground;
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void RefreshFromParent(CTOEvent* pParentSrc);
|
||
|
|
||
|
virtual void DoPropExchange(CXTPPropExchange* pPX);
|
||
|
virtual void Serialize(CArchive& ar);
|
||
|
|
||
|
virtual int CalcMinEventHeight(CDC* pDC);
|
||
|
|
||
|
virtual void GetEventColors(CDC* pDC, CXTPCalendarViewEvent* pViewEvent, COLORREF& rClrBorder,
|
||
|
COLORREF& rClrBorderNotSel, CXTPPaintManagerColorGradient& rGrclrBk,
|
||
|
BOOL bSelected = -1, int* pnColorsSrc_1Cat2Lbl = NULL);
|
||
|
|
||
|
virtual void GetShowAsStatusColors(CDC* pDC, CXTPCalendarViewEvent* pViewEvent, COLORREF& clrBorder, COLORREF& clrBorderNotSel, CXTPPaintManagerColorGradient& grclrBk);
|
||
|
virtual BOOL DrawShowAsStatus(CDC* pDC, CXTPCalendarViewEvent* pViewEvent, CXTPCalendarThemeOffice2007* pThemeX, const CRect& rcEvent, LONG& lShowAsBlockWidth);
|
||
|
|
||
|
virtual void FillEventBackgroundEx(CDC* pDC, CXTPCalendarViewEvent* pViewEvent, const CRect& rcRect);
|
||
|
|
||
|
virtual void MultidayDrawTime(int nMDEFlags, CXTPCalendarViewEvent* pViewEvent,
|
||
|
CDC* pDC, const CRect& rcEvent, BOOL fStartTimeAsClock, BOOL fEndTimeAsClock, CRect& rcText);
|
||
|
virtual void MultidayDrawTimeBlocks(CDC* pDC, const CRect& rcEventRect, CXTPCalendarViewEvent* pViewEvent,
|
||
|
BOOL MultiDayFirstPart, BOOL MultiDayLastPart,
|
||
|
BOOL fStartTimeAsClock, BOOL fEndTimeAsClock);
|
||
|
virtual void GetMultidayTimeFontAndColor(CFont*& pFont, COLORREF& clrColor, BOOL bSelected);
|
||
|
|
||
|
protected:
|
||
|
virtual BOOL Draw_ArrowL(CXTPCalendarViewEvent* pViewEvent, CDC* pDC, CRect& rrcRect, LONG lArrowOffset = 0);
|
||
|
virtual BOOL Draw_ArrowR(CXTPCalendarViewEvent* pViewEvent, CDC* pDC, CRect& rrcRect);
|
||
|
|
||
|
virtual CSize Draw_Icons(CXTPCalendarViewEvent* pViewEvent, CDC* pDC, const CRect& rcIconsMax, BOOL bCalculate = FALSE);
|
||
|
|
||
|
virtual void InitBusyStatusDefaultColors();
|
||
|
};
|
||
|
friend class CTOEvent;
|
||
|
|
||
|
DECLARE_THEMEPART(CTODay, CXTPCalendarTheme::CTODay)
|
||
|
virtual int HitTestExpandDayButton(const CXTPCalendarViewDay* pViewDay, const CPoint* pPoint = NULL); // return 0 or xtpCalendarHitTestDayExpandButton
|
||
|
};
|
||
|
|
||
|
DECLARE_THEMEPART(CTOPrevNextEventButton, CXTPCalendarThemePart)
|
||
|
|
||
|
CXTPCalendarThemeIntValue m_nBitmapID;
|
||
|
CXTPCalendarThemeRectValue m_rcBitmapBorder;
|
||
|
|
||
|
CThemeFontColorSetValue m_fcsetText;
|
||
|
CXTPPaintManagerColor m_clrDisabledText;
|
||
|
CXTPCalendarThemeStringValue m_strText;
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
|
||
|
virtual void DoPropExchange(CXTPPropExchange* pPX){};
|
||
|
virtual void Serialize(CArchive& ar){};
|
||
|
|
||
|
virtual void AdjustLayout(CXTPCalendarView* pObject, CDC* pDC, const CRect& rcRect);
|
||
|
virtual void Draw(CXTPCalendarView* pObject, CDC* pDC);
|
||
|
|
||
|
virtual int HitTest(const CPoint* pPoint = NULL) const; // return 0, xtpCalendarHitTestPrevEventButton or xtpCalendarHitTestNextEventButton
|
||
|
|
||
|
virtual void OnMouseMove(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
virtual BOOL OnLButtonDown(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
|
||
|
virtual CRect GetRect();
|
||
|
|
||
|
//------------------------------
|
||
|
CTOPrevNextEventButton()
|
||
|
{
|
||
|
m_bPrev = TRUE;
|
||
|
m_rcRect.SetRect(0,0,0,0);
|
||
|
|
||
|
m_bHot = FALSE;
|
||
|
m_bDisabled = FALSE;
|
||
|
m_bVisible = TRUE;
|
||
|
}
|
||
|
|
||
|
protected:
|
||
|
CSize GetSize(const CRect* prcRect = NULL);
|
||
|
BOOL m_bPrev;
|
||
|
CRect m_rcRect;
|
||
|
|
||
|
public:
|
||
|
BOOL m_bHot;
|
||
|
BOOL m_bDisabled;
|
||
|
BOOL m_bVisible;
|
||
|
};
|
||
|
friend class CTOPrevNextEventButton;
|
||
|
|
||
|
DECLARE_THEMEPART(CTOPrevNextEventButtons, CXTPCalendarThemePart)
|
||
|
|
||
|
CTOPrevNextEventButtons();
|
||
|
virtual ~CTOPrevNextEventButtons();
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER_(0, CTOPrevNextEventButton, PrevEventButton, CXTPCalendarThemePart)
|
||
|
DECLARE_THEMEPART_MEMBER_(1, CTOPrevNextEventButton, NextEventButton, CXTPCalendarThemePart)
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void AdjustLayout(CXTPCalendarView* pObject, CDC* pDC, const CRect& rcRect);
|
||
|
|
||
|
virtual void Draw(CXTPCalendarView* pObject, CDC* pDC);
|
||
|
|
||
|
virtual int HitTest(const CPoint* pPoint = NULL) const; // return 0, xtpCalendarHitTestPrevEventButton or xtpCalendarHitTestNextEventButton
|
||
|
|
||
|
virtual BOOL IsPrevNextButtonsVisible();
|
||
|
|
||
|
virtual BOOL _IsSomeEventVisible();
|
||
|
COleDateTime GetVisibleDay(BOOL bFirst);
|
||
|
|
||
|
virtual BOOL GetPrevEventDay(COleDateTime* pdtDay = NULL);
|
||
|
virtual BOOL GetNextEventDay(COleDateTime* pdtDay = NULL);
|
||
|
|
||
|
virtual void OnStatusChanged();
|
||
|
|
||
|
virtual void OnMouseMove(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
virtual BOOL OnLButtonDown(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
|
||
|
// Settings
|
||
|
CXTPCalendarThemeBOOLValue m_bHide;
|
||
|
|
||
|
CXTPCalendarThemeIntValue m_nIdleStepTime_ms;
|
||
|
CXTPCalendarThemeIntValue m_nRefreshDaysPerIdleStep;
|
||
|
CXTPCalendarThemeBOOLValue m_bUseActiveViewResources;
|
||
|
|
||
|
virtual void SetCacheSize(int nDays);
|
||
|
|
||
|
protected:
|
||
|
CXTPCalendarResources* _GetActiveResources();
|
||
|
|
||
|
void _RequestToFindEvents();
|
||
|
void _StopRequests();
|
||
|
BOOL _RefreshDay(long ndtDay, BOOL& rbRefreshed, BOOL bRefreshPermanently);
|
||
|
|
||
|
//void _ResetData();
|
||
|
|
||
|
virtual BOOL OnTimer(UINT_PTR uTimerID);
|
||
|
virtual void OnDetachCalendar();
|
||
|
|
||
|
UINT_PTR m_nRefreshTimerID;
|
||
|
|
||
|
long m_ndtRefreshDatePrev;
|
||
|
long m_ndtRefreshDateNext;
|
||
|
|
||
|
BOOL m_bScanPrev;
|
||
|
BOOL m_bScanNext;
|
||
|
|
||
|
long m_ndtMinScanDay;
|
||
|
long m_ndtMaxScanDay;
|
||
|
|
||
|
CRect m_rcRect;
|
||
|
|
||
|
class CDaysMap : protected CArray<char, char>
|
||
|
{
|
||
|
protected:
|
||
|
long m_nDaysOffset;
|
||
|
int m_nCacheSizeMax_days;
|
||
|
public:
|
||
|
CDaysMap();
|
||
|
|
||
|
long GetMinDay();
|
||
|
long GetMaxDay();
|
||
|
|
||
|
int GetDayState(long nDay);
|
||
|
void SetDayState(long nDay, int nState); // states: (0)-unknown, (-1)-has no-events, (1)-has events.
|
||
|
void SetDaysStateSafe(long nDayStart, long nDayEnd, int nState); // states: (0)-unknown, (-1)-has no-events, (1)-has events.
|
||
|
|
||
|
void AdjustMiddleDay(long nDay);
|
||
|
|
||
|
void SetDataSize(int nDays);
|
||
|
int GetDataSize();
|
||
|
protected:
|
||
|
void _GrowArrayIfNeed(long nDay);
|
||
|
};
|
||
|
|
||
|
CDaysMap m_mapDaysState;
|
||
|
protected:
|
||
|
CXTPNotifySink* m_pSink;
|
||
|
virtual void OnEvent_Calendar(XTP_NOTIFY_CODE Event, WPARAM wParam, LPARAM lParam);
|
||
|
};
|
||
|
friend class CTOPrevNextEventButtons;
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////
|
||
|
// ******** Day View *********
|
||
|
|
||
|
//=======================================================================
|
||
|
DECLARE_THEMEPART2(CTODayViewEvent, CTOEvent, CXTPCalendarTheme::CTODayViewEvent)
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER(0, CTOEventIconsToDraw, EventIconsToDraw)
|
||
|
DECLARE_THEMEPART_MEMBER(1, CTOFormula_MulDivC, HeightFormula)
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
|
||
|
protected:
|
||
|
static const int nCategoryIconWidth;
|
||
|
static const int nCategoryIconOffset;
|
||
|
|
||
|
BOOL NeedDrawCategoryIcons(CXTPCalendarEvent* pEvent);
|
||
|
void DrawCategoryIcons(CDC* pDC, CXTPCalendarEvent* pEvent, const CRect& rcCategoryIcons);
|
||
|
bool GetCategoryIconColors(CXTPCalendarEventCategories* pCategories,
|
||
|
CXTPCalendarEventCategoryIDs* pCategoryIDs,
|
||
|
int nCategoryIdx, COLORREF& clrCatColor, COLORREF& clrIconBorder);
|
||
|
int CalcCategoryAreaWidth(int nCategoriesCount);
|
||
|
};
|
||
|
|
||
|
DECLARE_THEMEPART2(CTODayViewEvent_MultiDay, CTODayViewEvent, CXTPCalendarTheme::CTODayViewEvent_MultiDay)
|
||
|
|
||
|
CXTPCalendarThemeStringValue m_strDateFormatFrom;
|
||
|
CXTPCalendarThemeStringValue m_strDateFormatTo;
|
||
|
CXTPCalendarThemeBOOLValue m_bShowFromToArrowTextAlways;
|
||
|
|
||
|
virtual void AdjustLayout(CCmdTarget* pObject, CDC* pDC, const CRect& rcRect, int nEventPlaceNumber);
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
|
||
|
virtual void DoPropExchange(CXTPPropExchange* pPX);
|
||
|
virtual void Serialize(CArchive& ar);
|
||
|
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
virtual void CalcEventYs(CRect& rcRect, int nEventPlaceNumber);
|
||
|
|
||
|
protected:
|
||
|
virtual BOOL Draw_ArrowLtext(CXTPCalendarViewEvent* pViewEvent, CDC* pDC, CThemeFontColorSetValue* pfcsetText, CRect& rrcRect, int nLeft_x);
|
||
|
virtual BOOL Draw_ArrowRtext(CXTPCalendarViewEvent* pViewEvent, CDC* pDC, CThemeFontColorSetValue* pfcsetText, CRect& rrcRect, int nRight_x);
|
||
|
|
||
|
virtual CString Format_FromToDate(CXTPCalendarViewEvent* pViewEvent, int nStart1End2);
|
||
|
|
||
|
void DrawCategoryIcons(CDC* pDC, CXTPCalendarViewEvent* pViewEvent, CRect rcCategoryIcons, const CRect& rcEventMax);
|
||
|
CRect AdjustCategoryIconsRectWidth(const CRect& rcCategoryIconsBase, const CRect& rcEvent, int nCategoriesCount);
|
||
|
};
|
||
|
friend class CTODayViewEvent_MultiDay;
|
||
|
|
||
|
DECLARE_THEMEPART2(CTODayViewEvent_SingleDay, CTODayViewEvent, CXTPCalendarTheme::CTODayViewEvent_SingleDay)
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void AdjustLayout(CCmdTarget* pObject, CDC* pDC, const CRect& rcRect, int nEventPlaceNumber);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
virtual void DrawShadow(CDC* pDC, CXTPCalendarDayViewEvent* pViewEvent);
|
||
|
|
||
|
private:
|
||
|
void DrawCategoryIcons(CDC* pDC, CXTPCalendarViewEvent* pViewEvent, const CRect& rcText, const CRect& rcTopRow);
|
||
|
CRect CalcCategoryIconsRect(int nCategoriesCount, const CRect& rcText, const CRect& rcTopRow);
|
||
|
};
|
||
|
friend class CTODayViewEvent_SingleDay;
|
||
|
|
||
|
//=======================================================================
|
||
|
DECLARE_THEMEPART(CTODayViewTimeScale, CXTPCalendarTheme::CTODayViewTimeScale)
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
|
||
|
virtual int CalcMinRowHeight(CDC* pDC, CXTPCalendarDayViewTimeScale* pTimeScale);
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER(0, CTOFormula_MulDivC, HeightFormula)
|
||
|
};
|
||
|
|
||
|
//=======================================================================
|
||
|
DECLARE_THEMEPART2(CTODayViewDayGroupHeader, CTOHeader, CXTPCalendarTheme::CTODayViewDayGroupHeader)
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
};
|
||
|
|
||
|
DECLARE_THEMEPART(CTODayViewDayGroupAllDayEvents, CXTPCalendarTheme::CTODayViewDayGroupAllDayEvents)
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
virtual void SetDynColors(CXTPCalendarDayViewGroup* pViewGroup);
|
||
|
protected:
|
||
|
COLORREF m_clrDynHatch;
|
||
|
int m_nDynBusyStatus;
|
||
|
};
|
||
|
|
||
|
DECLARE_THEMEPART(CTODayViewDayGroupCell, CXTPCalendarTheme::CTODayViewDayGroupCell)
|
||
|
|
||
|
COLORREF m_clrDynHatchBrush;
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual int CalcHeight(CDC* pDC, int nCellWidth) {return 23;}
|
||
|
|
||
|
virtual void Draw(CDC* pDC, const CRect& rcRect,
|
||
|
const XTP_CALENDAR_THEME_DAYVIEWCELL_PARAMS& cellParams, CXTPPropsStateContext* pStateCnt = NULL);
|
||
|
};
|
||
|
|
||
|
//=======================================================================
|
||
|
DECLARE_THEMEPART(CTODayViewDayGroup, CXTPCalendarTheme::CTODayViewDayGroup)
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
virtual BOOL IsSelected(CXTPCalendarViewGroup* pViewGroup);
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER(0, CTODayViewDayGroupHeader, Header)
|
||
|
DECLARE_THEMEPART_MEMBER(1, CTODayViewDayGroupAllDayEvents, AllDayEvents)
|
||
|
DECLARE_THEMEPART_MEMBER(2, CTODayViewDayGroupCell, Cell)
|
||
|
DECLARE_THEMEPART_MEMBER(3, CTODayViewEvent_MultiDay, MultiDayEvent)
|
||
|
DECLARE_THEMEPART_MEMBER(4, CTODayViewEvent_SingleDay, SingleDayEvent)
|
||
|
|
||
|
public:
|
||
|
virtual void OnMouseMove(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
virtual BOOL OnLButtonDown(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
|
||
|
virtual CRect GetScrollButtonRect(const XTP_DAY_VIEW_GROUP_LAYOUT& groupLayout, int nButton);
|
||
|
|
||
|
protected:
|
||
|
virtual void AdjustDayEvents(CXTPCalendarDayViewGroup* pDayViewGroup, CDC* pDC);
|
||
|
int HitTestAllDayEventsScrollIcons(const CXTPCalendarDayViewGroup* pDVGroup, const CPoint& point);
|
||
|
};
|
||
|
|
||
|
DECLARE_THEMEPART2(CTODayViewDayHeader, CTOHeader, CXTPCalendarTheme::CTODayViewDayHeader)
|
||
|
|
||
|
CXTPCalendarThemeBOOLValue m_UseOffice2003HeaderFormat;
|
||
|
|
||
|
CTODayViewDayHeader()
|
||
|
{
|
||
|
m_nWeekDayFormat = 0;
|
||
|
}
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void AdjustLayout(CCmdTarget* pObject, CDC* pDC, const CRect& rcRect);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
virtual void DoPropExchange(CXTPPropExchange* pPX);
|
||
|
virtual void Serialize(CArchive& ar);
|
||
|
private:
|
||
|
int m_nWeekDayFormat; // 0 - no Week Day, 1 - short, 2 - long
|
||
|
};
|
||
|
|
||
|
//=======================================================================
|
||
|
DECLARE_THEMEPART(CTODayViewDay, CXTPCalendarTheme::CTODayViewDay)
|
||
|
|
||
|
CXTPPaintManagerColor m_clrBorder;
|
||
|
CXTPPaintManagerColor m_clrTodayBorder;
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER(0, CTODayViewDayHeader, Header)
|
||
|
DECLARE_THEMEPART_MEMBER(1, CTODayViewDayGroup, Group)
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
|
||
|
virtual void DoPropExchange(CXTPPropExchange* pPX);
|
||
|
virtual void Serialize(CArchive& ar);
|
||
|
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
virtual void Draw_DayBorder(CXTPCalendarDayViewDay* pDayViewDay, CDC* pDC);
|
||
|
virtual CRect ExcludeDayBorder(CXTPCalendarDayViewDay* pDayViewDay, const CRect& rcDay);
|
||
|
public:
|
||
|
virtual void OnMouseMove(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
};
|
||
|
|
||
|
DECLARE_THEMEPART(CTODayViewHeader, CTOHeader)
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
};
|
||
|
|
||
|
|
||
|
//=======================================================================
|
||
|
DECLARE_THEMEPART(CTODayView, CXTPCalendarTheme::CTODayView)
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
|
||
|
virtual void AdjustLayout(CDC* pDC, const CRect& rcRect);
|
||
|
virtual void Draw(CDC* pDC);
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER_(0, CTODayViewHeader, Header, CXTPCalendarTheme::CTOHeader)
|
||
|
DECLARE_THEMEPART_MEMBER(1, CTODayViewEvent, Event)
|
||
|
DECLARE_THEMEPART_MEMBER(2, CTODayViewTimeScale, TimeScale)
|
||
|
DECLARE_THEMEPART_MEMBER(3, CTODayViewDay, Day)
|
||
|
|
||
|
// theme specific control options
|
||
|
virtual BOOL IsUseCellAlignedDraggingInTimeArea() const {return TRUE;};
|
||
|
protected:
|
||
|
};
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////
|
||
|
// ******** Month View *********
|
||
|
|
||
|
// ======= MonthViewEvent ======
|
||
|
DECLARE_THEMEPART2(CTOMonthViewEvent, CTOEvent, CXTPCalendarTheme::CTOMonthViewEvent)
|
||
|
DECLARE_THEMEPART_MEMBER(0, CTOEventIconsToDraw, EventIconsToDraw)
|
||
|
DECLARE_THEMEPART_MEMBER(1, CTOFormula_MulDivC, HeightFormula)
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void AdjustLayout(CCmdTarget* pObject, CDC* pDC, const CRect& rcRect, int nEventPlaceNumber);
|
||
|
};
|
||
|
friend class CTOMonthViewEvent;
|
||
|
|
||
|
// ---- MonthViewEvent_SingleDay ----
|
||
|
DECLARE_THEMEPART2(CTOMonthViewEvent_SingleDay, CTOMonthViewEvent, CXTPCalendarTheme::CTOMonthViewEvent_SingleDay)
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
virtual void GetShowAsStatusColors(CDC* pDC, CXTPCalendarViewEvent* pViewEvent, COLORREF& clrBorder, COLORREF& clrBorderNotSel, CXTPPaintManagerColorGradient& grclrBk);
|
||
|
|
||
|
protected:
|
||
|
virtual void Draw_Background(CDC* pDC, const CRect& rcEventRect, CXTPCalendarMonthViewEvent* pViewEvent);
|
||
|
virtual CSize Draw_Time(CDC* pDC, const CRect& rcEventRect, CXTPCalendarMonthViewEvent* pViewEvent);
|
||
|
virtual void Draw_Caption(CDC* pDC, const CRect& rcTextRect, CXTPCalendarMonthViewEvent* pViewEvent);
|
||
|
|
||
|
protected:
|
||
|
};
|
||
|
friend class CTOMonthViewEvent_SingleDay;
|
||
|
|
||
|
// ---- MonthViewEvent_MultiDay ----
|
||
|
DECLARE_THEMEPART2(CTOMonthViewEvent_MultiDay, CTOMonthViewEvent, CXTPCalendarTheme::CTOMonthViewEvent_MultiDay)
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
};
|
||
|
friend class CTOMonthViewEvent_MultiDay;
|
||
|
|
||
|
// ===== MonthViewDayHeader ====
|
||
|
DECLARE_THEMEPART2(CTOMonthViewDayHeader, CTOHeader, CXTPCalendarTheme::CTOMonthViewDayHeader)
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
};
|
||
|
friend class CTOMonthViewDayHeader;
|
||
|
|
||
|
// ======= MonthViewDay =======
|
||
|
DECLARE_THEMEPART2(CTOMonthViewDay, CTODay, CXTPCalendarTheme::CTOMonthViewDay)
|
||
|
|
||
|
CXTPPaintManagerColor m_clrBorder;
|
||
|
CXTPPaintManagerColor m_clrTodayBorder;
|
||
|
|
||
|
CXTPPaintManagerColor m_clrBackgroundLight;
|
||
|
CXTPPaintManagerColor m_clrBackgroundDark;
|
||
|
CXTPPaintManagerColor m_clrBackgroundSelected;
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
virtual void DoPropExchange(CXTPPropExchange* pPX);
|
||
|
virtual void Serialize(CArchive& ar);
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER(0, CTOMonthViewDayHeader, Header);
|
||
|
DECLARE_THEMEPART_MEMBER(1, CTOMonthViewEvent_MultiDay, MultiDayEvent);
|
||
|
DECLARE_THEMEPART_MEMBER(2, CTOMonthViewEvent_SingleDay, SingleDayEvent);
|
||
|
|
||
|
public:
|
||
|
virtual void OnMouseMove(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
virtual BOOL OnLButtonDown(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
|
||
|
void SetDynColors(CXTPCalendarMonthViewDay* pMViewDay);
|
||
|
protected:
|
||
|
COLORREF m_clrDynHatch;
|
||
|
int m_nDynBusyStatus;
|
||
|
BOOL m_fHatchBackground;
|
||
|
};
|
||
|
friend class CTOMonthViewDay;
|
||
|
|
||
|
// ======= MonthViewWeekDayHeader =======
|
||
|
DECLARE_THEMEPART2(CTOMonthViewWeekDayHeader, CTOHeader, CXTPCalendarTheme::CTOMonthViewWeekDayHeader)
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void AdjustLayout(CCmdTarget* pObject, CDC* pDC, const CRect& rcRect);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
protected:
|
||
|
virtual void Draw_Borders2(CDC* pDC, const CRect& rcRect, BOOL bDrawRightBorder);
|
||
|
protected:
|
||
|
BOOL m_bWeekDayNamesLong;
|
||
|
BOOL m_bWeekDayNameSaSuLong;
|
||
|
|
||
|
CStringArray m_arWeekDayNamesLong; // 0 - Sunday, 1 - Monday, ...; 7 - Sat/Sun
|
||
|
CStringArray m_arWeekDayNamesShort; // 0 - Sunday, 1 - Monday, ...; 7 - Sat/Sun
|
||
|
|
||
|
public:
|
||
|
CTOMonthViewWeekDayHeader()
|
||
|
{
|
||
|
m_bWeekDayNamesLong = FALSE;
|
||
|
m_bWeekDayNameSaSuLong = FALSE;
|
||
|
}
|
||
|
};
|
||
|
friend class CTOMonthViewWeekDayHeader;
|
||
|
|
||
|
// ======= MonthViewWeekHeader =======
|
||
|
DECLARE_THEMEPART(CTOMonthViewWeekHeader, CTOHeader)
|
||
|
CXTPPaintManagerColor m_clrFreeSpaceBk;
|
||
|
// CTOHeader::m_TextCenter.fcsetNormal is used to draw header caption;
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void AdjustLayout(CCmdTarget* pObject, CDC* pDC, const CRect& rcRect);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
virtual void DoPropExchange(CXTPPropExchange* pPX);
|
||
|
virtual void Serialize(CArchive& ar);
|
||
|
|
||
|
virtual BOOL OnLButtonDown(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
|
||
|
virtual int CalcWidth(CDC* pDC);
|
||
|
|
||
|
CTOMonthViewWeekHeader()
|
||
|
{
|
||
|
m_rcHeader.SetRect(0,0,0,0);
|
||
|
m_bDateFormatShort = TRUE;
|
||
|
}
|
||
|
protected:
|
||
|
CRect m_rcHeader;
|
||
|
BOOL m_bDateFormatShort;
|
||
|
|
||
|
|
||
|
void GetWeekHeaderRect(CXTPCalendarThemeOffice2007* pThemeX, CXTPCalendarMonthViewDay* pViewDay, CRect& rcWHeader);
|
||
|
|
||
|
void SwitchCalendarActiveViewToWeekView(CXTPCalendarControl* pCalendar);
|
||
|
|
||
|
virtual void FormatWeekCaption(COleDateTime dtWDay1, CString& rstrShort, CString& rstrLong, int nShort1Long2 = 0);
|
||
|
|
||
|
virtual CString _FormatWCaption(LPCTSTR pcszDay1, LPCTSTR pcszMonth1, LPCTSTR pcszDay7,
|
||
|
LPCTSTR pcszMonth7, LPCTSTR pcszDayMonthSeparator, int nDateOrdering);
|
||
|
|
||
|
virtual void Draw_TextCenter(CDC* pDC, const CRect& rcRect, int nState,
|
||
|
LPCTSTR pcszCenterText, int* pnWidth = NULL);
|
||
|
};
|
||
|
friend class CTOMonthViewWeekHeader;
|
||
|
|
||
|
// ******* MonthView theme part object *******
|
||
|
DECLARE_THEMEPART(CTOMonthView, CXTPCalendarTheme::CTOMonthView)
|
||
|
|
||
|
// TODO:
|
||
|
// BOOL m_bShowWeekNumbers;
|
||
|
//
|
||
|
//virtual void DoPropExchange(CXTPPropExchange* pPX);
|
||
|
//virtual void Serialize(CArchive& ar);
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void AdjustLayout(CDC* pDC, const CRect& rcRect, BOOL bCallPostAdjustLayout);
|
||
|
virtual void Draw(CDC* pDC);
|
||
|
virtual BOOL OnLButtonDown(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER( 0, CTOHeader, Header);
|
||
|
DECLARE_THEMEPART_MEMBER( 1, CTOMonthViewEvent, Event);
|
||
|
DECLARE_THEMEPART_MEMBER( 2, CTOMonthViewWeekDayHeader, WeekDayHeader);
|
||
|
DECLARE_THEMEPART_MEMBER_(3, CTOMonthViewWeekHeader, WeekHeader, CTOHeader);
|
||
|
DECLARE_THEMEPART_MEMBER( 4, CTOMonthViewDay, Day);
|
||
|
};
|
||
|
friend class CTOMonthView;
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////
|
||
|
// ******** WeekView *********
|
||
|
|
||
|
// ======= WeekViewEvent =======
|
||
|
DECLARE_THEMEPART2(CTOWeekViewEvent, CTOEvent, CXTPCalendarTheme::CTOWeekViewEvent)
|
||
|
DECLARE_THEMEPART_MEMBER(0, CTOEventIconsToDraw, EventIconsToDraw)
|
||
|
DECLARE_THEMEPART_MEMBER(1, CTOFormula_MulDivC, HeightFormula)
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void AdjustLayout(CCmdTarget* pObject, CDC* pDC, const CRect& rcRect, int nEventPlaceNumber);
|
||
|
};
|
||
|
friend class CTOWeekViewEvent;
|
||
|
|
||
|
// ==== WeekViewEvent_SingleDay ====
|
||
|
DECLARE_THEMEPART2(CTOWeekViewEvent_SingleDay, CTOWeekViewEvent, CXTPCalendarTheme::CTOWeekViewEvent_SingleDay)
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
protected:
|
||
|
virtual void Draw_Background(CDC* pDC, const CRect& rcEventRect, CXTPCalendarWeekViewEvent* pViewEvent);
|
||
|
virtual CSize Draw_Time(CDC* pDC, const CRect& rcEventRect, CXTPCalendarWeekViewEvent* pViewEvent);
|
||
|
virtual void Draw_Caption(CDC* pDC, const CRect& rcTextRect, CXTPCalendarWeekViewEvent* pViewEvent);
|
||
|
};
|
||
|
friend class CTOWeekViewEvent_SingleDay;
|
||
|
|
||
|
// ==== WeekViewEvent_MultiDay ====
|
||
|
DECLARE_THEMEPART2(CTOWeekViewEvent_MultiDay, CTOWeekViewEvent, CXTPCalendarTheme::CTOWeekViewEvent_MultiDay)
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
virtual void GetMultidayTimeFontAndColor(CFont*& pFont, COLORREF& clrColor, BOOL bSelected);
|
||
|
};
|
||
|
friend class CTOWeekViewEvent_MultiDay;
|
||
|
|
||
|
// ==== WeekViewDayHeader ====
|
||
|
DECLARE_THEMEPART2(CTOWeekViewDayHeader, CTOHeader, CXTPCalendarTheme::CTOWeekViewDayHeader)
|
||
|
CXTPCalendarThemeStringValue m_strHeaderFormat;
|
||
|
CXTPCalendarThemeBOOLValue m_UseOffice2003HeaderFormat;
|
||
|
|
||
|
virtual void AdjustLayout(CCmdTarget* pObject, CDC* pDC, const CRect& rcRect);
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
virtual void DoPropExchange(CXTPPropExchange* pPX);
|
||
|
virtual void Serialize(CArchive& ar);
|
||
|
};
|
||
|
friend class CTOWeekViewDayHeader;
|
||
|
|
||
|
// ======= WeekViewDay =======
|
||
|
DECLARE_THEMEPART2(CTOWeekViewDay, CTODay, CXTPCalendarTheme::CTOWeekViewDay)
|
||
|
|
||
|
CXTPPaintManagerColor m_clrBorder;
|
||
|
CXTPPaintManagerColor m_clrTodayBorder;
|
||
|
|
||
|
CXTPPaintManagerColor m_clrBackgroundLight;
|
||
|
CXTPPaintManagerColor m_clrBackgroundDark;
|
||
|
CXTPPaintManagerColor m_clrBackgroundSelected;
|
||
|
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
virtual void DoPropExchange(CXTPPropExchange* pPX);
|
||
|
virtual void Serialize(CArchive& ar);
|
||
|
|
||
|
virtual void OnMouseMove(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
virtual BOOL OnLButtonDown(CCmdTarget* pObject, UINT nFlags, CPoint point);
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER(0, CTOWeekViewDayHeader, Header);
|
||
|
DECLARE_THEMEPART_MEMBER(1, CTOWeekViewEvent_MultiDay, MultiDayEvent);
|
||
|
DECLARE_THEMEPART_MEMBER(2, CTOWeekViewEvent_SingleDay, SingleDayEvent);
|
||
|
|
||
|
virtual void SetDynColors(CXTPCalendarWeekViewDay* pWViewDay);
|
||
|
protected:
|
||
|
COLORREF m_clrDynHatch;
|
||
|
int m_nDynBusyStatus;
|
||
|
};
|
||
|
friend class CTOWeekViewDay;
|
||
|
|
||
|
// ==== WeekView theme part object ====
|
||
|
DECLARE_THEMEPART(CTOWeekView, CXTPCalendarTheme::CTOWeekView)
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
virtual void AdjustLayout(CDC* pDC, const CRect& rcRect, BOOL bCallPostAdjustLayout);
|
||
|
virtual void Draw(CCmdTarget* pObject, CDC* pDC);
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER(0, CTOWeekViewEvent, Event);
|
||
|
DECLARE_THEMEPART_MEMBER(1, CTOWeekViewDay, Day);
|
||
|
};
|
||
|
|
||
|
|
||
|
DECLARE_THEMEPART(CTOCellDynBackground, CXTPCalendarThemePart)
|
||
|
virtual int GetCellDynBackground(CXTPCalendarViewGroup* pVioewGroup, COleDateTime dtCellTime,
|
||
|
int nCellIndex, XTP_BUSY_STATUS_CONTEXT& rContext);
|
||
|
virtual CXTPCalendarViewEvent* GetCellBackgroundEvent(CXTPCalendarViewGroup* pVioewGroup,
|
||
|
COleDateTime dtCellTime, int nCellIndex);
|
||
|
BOOL DrawMonthViewHatchBackground();
|
||
|
CXTPCalendarEvent* GetBkTentativeEvent();
|
||
|
protected:
|
||
|
virtual int CmpEventBusyStatus(CXTPCalendarEvent* pEvent1, CXTPCalendarEvent* pEvent2);
|
||
|
virtual int _GetEventBusyStatusRank(CXTPCalendarEvent* pEvent);
|
||
|
|
||
|
protected:
|
||
|
void CheckIsBackgroundHatchNeeded();
|
||
|
|
||
|
protected:
|
||
|
BOOL m_fDrawMonthViewBackgroundHatch;
|
||
|
CXTPCalendarViewEvent* m_pBkViewEvent;
|
||
|
CXTPCalendarEvent* m_pBkTentativeEvent;
|
||
|
|
||
|
};
|
||
|
|
||
|
//=======================================================================
|
||
|
DECLARE_THEMEPART_MEMBER(0, CTOColorsSet, ColorsSet)
|
||
|
|
||
|
virtual BOOL IsBaseColorOrig();
|
||
|
virtual COLORREF GetColor(int eCLR, COLORREF clrBase = (COLORREF)-1);
|
||
|
virtual COLORREF GetColor2(LPCTSTR pcszColorName, COLORREF clrDefault);
|
||
|
|
||
|
virtual CXTPResourceImage* GetBitmap(LPCTSTR pcszStdBmpName);
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER(1, CTOHeader, Header)
|
||
|
DECLARE_THEMEPART_MEMBER(2, CTOEvent, Event)
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER(3, CTODayView, DayView)
|
||
|
DECLARE_THEMEPART_MEMBER(4, CTOMonthView, MonthView)
|
||
|
DECLARE_THEMEPART_MEMBER(5, CTOWeekView, WeekView)
|
||
|
|
||
|
// office 2007 theme specific parts
|
||
|
DECLARE_THEMEPART_MEMBER_(6, CTOCellDynBackground, CellDynBackground, CTOCellDynBackground)
|
||
|
|
||
|
DECLARE_THEMEPART_MEMBER_(7, CTOPrevNextEventButtons, PrevNextEventButtons, CXTPCalendarThemePart)
|
||
|
|
||
|
//=======================================================================
|
||
|
CXTPCalendarThemeOffice2007();
|
||
|
virtual ~CXTPCalendarThemeOffice2007();
|
||
|
|
||
|
// If enough space on the rect - draw 3 strings one under other
|
||
|
// as multi-line text.
|
||
|
// If rect height allow draw only 1 line - string 1 an 2 are drawn
|
||
|
// as single line with a separator.
|
||
|
// Separate font settings are used to draw each text.
|
||
|
virtual CSize DrawText_Auto2SL3ML(CDC* pDC,
|
||
|
LPCTSTR pcszText1, LPCTSTR pcszText2, LPCTSTR pcszText3,
|
||
|
CThemeFontColorSet* pFontColor1, CThemeFontColorSet* pFontColor2,
|
||
|
CThemeFontColorSet* pFontColor3,
|
||
|
CRect& rcRect, LPCTSTR pcszText1Separator, UINT uWordBreakMode = DT_WORDBREAK);
|
||
|
|
||
|
|
||
|
// Common colors id's: {0 - 99}
|
||
|
// DayViev colors id's: {100 - 499}
|
||
|
// MonthViev colors id's: {500 - 999}
|
||
|
// WeekViev colors id's: {1000 - 1499}
|
||
|
//
|
||
|
// For darken colors: id + 5000
|
||
|
|
||
|
enum XTPEnumThemeColorsSet
|
||
|
{
|
||
|
xtpCLR_DarkenOffset = 5000,
|
||
|
|
||
|
xtpCLR_SelectedBk = 1 + xtpCLR_DarkenOffset,
|
||
|
|
||
|
xtpCLR_HeaderBorder = 2,
|
||
|
xtpCLR_DayBorder = 3,
|
||
|
|
||
|
xtpCLR_MultiDayEventBorder = 10,
|
||
|
xtpCLR_MultiDayEventSelectedBorder = 11 + xtpCLR_DarkenOffset,
|
||
|
xtpCLR_MultiDayEventBkGRfrom = 12,
|
||
|
xtpCLR_MultiDayEventBkGRto = 13,
|
||
|
|
||
|
xtpCLR_MultiDayEventFromToDates = 20,
|
||
|
|
||
|
//xtpCLR_DayView_ = 100,
|
||
|
xtpCLR_DayViewCellWorkBk = 101,
|
||
|
xtpCLR_DayViewCellNonWorkBk = 102,
|
||
|
|
||
|
xtpCLR_DayViewCellWorkBorderBottomInHour = 103,
|
||
|
xtpCLR_DayViewCellWorkBorderBottomHour = 104,
|
||
|
xtpCLR_DayViewCellNonWorkBorderBottomInHour = 105,
|
||
|
xtpCLR_DayViewCellNonWorkBorderBottomHour = 106,
|
||
|
|
||
|
xtpCLR_DayViewAllDayEventsBk = 110,
|
||
|
xtpCLR_DayViewAllDayEventsBorderBottom = 111,
|
||
|
|
||
|
xtpCLR_DayViewSingleDayEventBorder = 120,
|
||
|
xtpCLR_DayViewSingleDayEventSelectedBorder= 121 + xtpCLR_DarkenOffset,
|
||
|
xtpCLR_DayViewSingleDayEventBkGRfrom = 122,
|
||
|
xtpCLR_DayViewSingleDayEventBkGRto = 123,
|
||
|
|
||
|
//xtpCLR_MonthView_ = 500,
|
||
|
xtpCLR_MonthViewDayBkLight = 501,
|
||
|
xtpCLR_MonthViewDayBkDark = 502,
|
||
|
xtpCLR_MonthViewDayBkSelected = 503,
|
||
|
|
||
|
xtpCLR_MonthViewEventTime = 510 + xtpCLR_DarkenOffset,
|
||
|
|
||
|
xtpCLR_MonthViewSingleDayEventBorder = 520,
|
||
|
xtpCLR_MonthViewSingleDayEventSelectedBorder= 521 + xtpCLR_DarkenOffset,
|
||
|
xtpCLR_MonthViewSingleDayEventBkGRfrom = 522,
|
||
|
xtpCLR_MonthViewSingleDayEventBkGRto = 523,
|
||
|
|
||
|
//xtpCLR_WeekView_ = 1000,
|
||
|
xtpCLR_WeekViewDayBkLight = 1001,
|
||
|
xtpCLR_WeekViewDayBkDark = 1002,
|
||
|
xtpCLR_WeekViewDayBkSelected = 1003,
|
||
|
|
||
|
xtpCLR_WeekViewEventTime = 1010 + xtpCLR_DarkenOffset,
|
||
|
|
||
|
xtpCLR_WeekViewSingleDayEventBorder = 1020,
|
||
|
xtpCLR_WeekViewSingleDayEventSelectedBorder = 1021 + xtpCLR_DarkenOffset,
|
||
|
xtpCLR_WeekViewSingleDayEventBkGRfrom = 1022,
|
||
|
xtpCLR_WeekViewSingleDayEventBkGRto = 1023,
|
||
|
|
||
|
};
|
||
|
|
||
|
public:
|
||
|
virtual CXTPCalendarViewEventSubjectEditor* StartEditSubject(CXTPCalendarViewEvent* pViewEvent);
|
||
|
|
||
|
static int DrawClock(CDC* pDC, COleDateTime dtClockTime, CRect rcView, COLORREF clrBackground, XTPCalendarClockAlignFlags cafAlign);
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Thin method determine event view type (day, week, month) and
|
||
|
// return corresponding drawing part.
|
||
|
// Returns:
|
||
|
// Theme drawing part for editing event.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CTOEvent* GetThemePartForEvent(CXTPCalendarViewEvent* pViewEvent);
|
||
|
|
||
|
virtual void GetItemTextIfNeed(int nItem, CString* pstrText, CXTPCalendarViewDay* pViewDay);
|
||
|
|
||
|
static const int cnGripperSize;
|
||
|
static const int cnShadowWidth;
|
||
|
BOOL m_bFlatStyle;
|
||
|
|
||
|
static COLORREF AFX_CDECL PowerColor(COLORREF clrB, double dFactor, double dPower);
|
||
|
|
||
|
void DrawEventRect(CDC* pDC, const CRect& rcRect, COLORREF clrBorder,
|
||
|
BOOL bBoldBorder, CXTPPaintManagerColorGradient& grclrBk);
|
||
|
|
||
|
|
||
|
protected:
|
||
|
virtual void SetCalendarControl(CXTPCalendarControl* pCalendar);
|
||
|
virtual void RefreshMetrics(BOOL bRefreshChildren = TRUE);
|
||
|
|
||
|
virtual void _DrawEventLTHighlight(CDC* pDC, CPoint ptLT, int nRTx, const CXTPPaintManagerColorGradient& grclrBk,
|
||
|
int nLTCorner = 0, int nLBy = INT_MAX, BOOL bRCorner = TRUE);
|
||
|
|
||
|
protected:
|
||
|
|
||
|
CXTPNotifySink* m_pSink;
|
||
|
virtual void OnEvent_ResourceImagesChanged(XTP_NOTIFY_CODE Event, WPARAM wParam, LPARAM lParam);
|
||
|
|
||
|
|
||
|
|
||
|
protected:
|
||
|
|
||
|
};
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#if (_MSC_VER > 1100)
|
||
|
#pragma warning(pop)
|
||
|
#endif
|
||
|
|
||
|
#endif // !defined(_XTP_CALENDAR_THEME_OFFICE_2007_H__)
|