void CXTPCalendarViewDay::OnPrePopulateDay() { WPARAM wParam = (WPARAM)(CXTPCalendarViewDay*)this; XTP_SAFE_CALL2(GetView_(), GetCalendarControl(), SendNotification( XTP_NC_CALENDAR_PREPOPULATE_DAY, wParam, 0)); }
void CXTPCalendarWeekView::Draw(CDC* pDC) { XTP_SAFE_CALL2(GetPaintManager(), GetWeekViewPart(), OnDraw(pDC, this)); // Draw events int nDays = m_arDays.GetCount(); for (int nDay = 0; nDay < nDays; nDay++) { XTP_SAFE_CALL1(m_arDays.GetAt(nDay), Draw(pDC)); } }
void CXTPCalendarWeekView::AdjustLayout2(CDC* pDC, const CRect& rcView, BOOL bCallPostAdjustLayout) { if (!GetTheme()) { ASSERT(FALSE); return; } TBase::AdjustLayout(pDC, rcView, FALSE); AdjustFirstDayOfWeek(); XTP_SAFE_CALL2(GetTheme(), GetWeekViewPart(), AdjustLayout(pDC, rcView, bCallPostAdjustLayout)); }
void CXTPCalendarWeekViewDay::Draw(CDC* pDC) { //-- Draw Events (Group) ----------------- int nGroups = GetViewGroupsCount(); ASSERT(nGroups == 1); CXTPCalendarViewGroup* pViewGroup = nGroups ? GetViewGroup_(0) : NULL; ASSERT(pViewGroup); if (pViewGroup) { pViewGroup->Draw(pDC); } if (NoAllEventsAreVisible()) { XTP_SAFE_CALL2(GetView(), GetPaintManager(), DrawBitmap(XTP_IDB_CALENDAR_EXPANDSIGNDOWN, pDC, GetExpandSignRect()) ); } }
void CXTPCalendarController::CXTPDayInfoCache::OnRefreshDays(int nDaysCountToRefresh) { ASSERT(m_pOwner); if (!XTP_SAFE_GET1(m_pOwner, m_pResourcesNf, NULL)) { if (!m_dwWaitingDataTime) { m_dwWaitingDataTime = GetTickCount(); DBG_TRACE_DP_TIMER(_T("XTPCalendarController::DayInfoCache - OnRefreshDays, Start Wait for data\n")); } if (abs((long)(GetTickCount() - m_dwWaitingDataTime)) >= 5000) { m_dwWaitingDataTime = 0; if (m_uTimerID) { DBG_TRACE_DP_TIMER(_T("XTPCalendarController::DayInfoCache - OnRefreshDays, KillTimer (ID = %d) \n"), m_uTimerID); DBG_TRACE_DP_TIMER(_T("XTPCalendarController::DayInfoCache - OnRefreshDays, end Wait for data\n")); KillTimer(); OnSelfClearOld(); } } return; } else { if (m_dwWaitingDataTime) { DBG_TRACE_DP_TIMER(_T("XTPCalendarController::DayInfoCache - OnRefreshDays, end Wait for data\n")); } m_dwWaitingDataTime = 0; } //*************************************************** for (int i = 0; i < nDaysCountToRefresh; i++) { long nDay_min = LONG_MAX; UINT uPriority_max = 0; POSITION pos = m_mapDaysToRefresh.GetStartPosition(); while (pos) { long nDay = 0; UINT uPriority = 0; m_mapDaysToRefresh.GetNextAssoc(pos, nDay, uPriority); if (uPriority == uPriority_max && nDay < nDay_min || uPriority > uPriority_max) { uPriority_max = uPriority; nDay_min = nDay; } } if (nDay_min < LONG_MAX) { m_mapDaysToRefresh.RemoveKey(nDay_min); COleDateTime dtDay((DATE)nDay_min); BOOL bHasEvents = XTP_SAFE_GET1(m_pOwner, _HasEvents(dtDay), FALSE); UpdateDayInfo(dtDay, bHasEvents); } } //*************************************************** if (m_mapDaysToRefresh.GetCount() == 0 && m_uTimerID) { DBG_TRACE_DP_TIMER(_T("XTPCalendarController::DayInfoCache - OnRefreshDays, KillTimer (ID = %d) \n"), m_uTimerID); DBG_TRACE_DP_TIMER(_T("XTPCalendarController::DayInfoCache - Days In Cache %d \n"), m_mapDaysInfo.GetCount()); KillTimer(); OnSelfClearOld(); } if (abs((long)(GetTickCount() - m_dwLastRedrawTime)) >= 500 || m_uTimerID == 0) { XTP_SAFE_CALL2(m_pOwner, m_pDatePickerCtrl, RedrawControl()); m_dwLastRedrawTime = GetTickCount(); } }