void CBCGPPlannerViewMonth::OnActivate(CBCGPPlannerManagerCtrl* pPlanner, const CBCGPPlannerView* pOldView) { ASSERT_VALID(pPlanner); if (pOldView != NULL) { m_Date = pOldView->GetDate (); } m_nDuration = 35; m_DateStart = CalculateDateStart ( COleDateTime(m_Date.GetYear (), m_Date.GetMonth (), m_Date.GetDay (), 0, 0, 0)); m_DateEnd = m_DateStart + COleDateTimeSpan (m_nDuration - 1, 23, 59, 59); if (m_Date > m_DateEnd || m_Date < m_DateStart) { m_Date = m_DateStart; } COleDateTime sel1 (m_Date); COleDateTime sel2 (m_Date); if (pOldView != NULL) { sel1 = pOldView->GetSelectionStart (); sel2 = pOldView->GetSelectionEnd (); } SetSelection (sel1, sel2, FALSE); CBCGPPlannerView::OnActivate (pPlanner, NULL); }
void CBCGPPlannerViewWorkWeek::OnActivate(CBCGPPlannerManagerCtrl* pPlanner, const CBCGPPlannerView* pOldView) { ASSERT_VALID(pPlanner); if (pOldView != NULL) { m_Date = pOldView->GetDate (); } m_DateStart = CalculateDateStart ( COleDateTime(m_Date.GetYear (), m_Date.GetMonth (), m_Date.GetDay (), 0, 0, 0)); m_DateEnd = m_DateStart + COleDateTimeSpan (pPlanner->GetWorkWeekInterval () - 1, 23, 59, 59); COleDateTime sel1 (m_Date); COleDateTime sel2 (m_Date); if (pOldView != NULL) { sel1 = pOldView->GetSelectionStart (); sel2 = pOldView->GetSelectionEnd (); } const int nMinuts = CBCGPPlannerView::GetTimeDeltaInMinuts (pPlanner->GetTimeDelta ()); sel1 = COleDateTime (m_DateStart.GetYear (), m_DateStart.GetMonth (), m_DateStart.GetDay (), pPlanner->GetFirstSelectionHour (), (int)(pPlanner->GetFirstSelectionMinute () / nMinuts) * nMinuts, 0); sel2 = sel1 + COleDateTimeSpan (0, 0, nMinuts - 1, 59); //SetSelection (sel1, sel2, FALSE); CBCGPPlannerView::OnActivate (pPlanner, NULL); SetSelection (sel1, sel2); }
void CBCGPPlannerViewWorkWeek::SetDate (const COleDateTime& date) { COleDateTime dt (date.GetYear (), date.GetMonth (), date.GetDay (), 0, 0, 0); m_DateStart = CalculateDateStart (dt); m_DateEnd = m_DateStart + COleDateTimeSpan (GetWorkWeekInterval () - 1, 23, 59, 59); CBCGPPlannerView::SetDate (dt); }