Index: xfa/fwl/core/ifwl_datetimecalendar.cpp |
diff --git a/xfa/fwl/core/ifwl_datetimecalendar.cpp b/xfa/fwl/core/ifwl_datetimecalendar.cpp |
deleted file mode 100644 |
index c9f640fe6318583ad87cd0b85af0da3efa1cc45e..0000000000000000000000000000000000000000 |
--- a/xfa/fwl/core/ifwl_datetimecalendar.cpp |
+++ /dev/null |
@@ -1,184 +0,0 @@ |
-// Copyright 2014 PDFium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
- |
-#include "xfa/fwl/core/ifwl_datetimecalendar.h" |
- |
-#include "third_party/base/ptr_util.h" |
-#include "xfa/fwl/core/cfwl_widgetmgr.h" |
-#include "xfa/fwl/core/ifwl_datetimepicker.h" |
-#include "xfa/fwl/core/ifwl_formproxy.h" |
- |
-IFWL_DateTimeCalendar::IFWL_DateTimeCalendar( |
- const IFWL_App* app, |
- std::unique_ptr<CFWL_WidgetProperties> properties, |
- IFWL_Widget* pOuter) |
- : IFWL_MonthCalendar(app, std::move(properties), pOuter), m_bFlag(false) {} |
- |
-void IFWL_DateTimeCalendar::OnProcessMessage(CFWL_Message* pMessage) { |
- CFWL_MessageType dwCode = pMessage->GetClassID(); |
- if (dwCode == CFWL_MessageType::SetFocus || |
- dwCode == CFWL_MessageType::KillFocus) { |
- IFWL_Widget* pOuter = GetOuter(); |
- pOuter->GetDelegate()->OnProcessMessage(pMessage); |
- return; |
- } |
- if (dwCode == CFWL_MessageType::Mouse) { |
- CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
- if (pMsg->m_dwCmd == FWL_MouseCommand::LeftButtonDown) |
- OnLButtonDownEx(pMsg); |
- else if (pMsg->m_dwCmd == FWL_MouseCommand::LeftButtonUp) |
- OnLButtonUpEx(pMsg); |
- return; |
- } |
- IFWL_MonthCalendar::OnProcessMessage(pMessage); |
-} |
- |
-void IFWL_DateTimeCalendar::OnLButtonDownEx(CFWL_MsgMouse* pMsg) { |
- if (m_rtLBtn.Contains(pMsg->m_fx, pMsg->m_fy)) { |
- m_iLBtnPartStates = CFWL_PartState_Pressed; |
- PrevMonth(); |
- Repaint(&m_rtClient); |
- } else if (m_rtRBtn.Contains(pMsg->m_fx, pMsg->m_fy)) { |
- m_iRBtnPartStates |= CFWL_PartState_Pressed; |
- NextMonth(); |
- Repaint(&m_rtClient); |
- } else if (m_rtToday.Contains(pMsg->m_fx, pMsg->m_fy)) { |
- if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_MCD_NoToday) == 0) { |
- JumpToToday(); |
- Repaint(&m_rtClient); |
- } |
- } else { |
- IFWL_DateTimePicker* pIPicker = static_cast<IFWL_DateTimePicker*>(m_pOuter); |
- if (pIPicker->IsMonthCalendarShowed()) |
- m_bFlag = 1; |
- } |
-} |
- |
-void IFWL_DateTimeCalendar::OnLButtonUpEx(CFWL_MsgMouse* pMsg) { |
- if (m_pWidgetMgr->IsFormDisabled()) |
- return DisForm_OnLButtonUpEx(pMsg); |
- if (m_rtLBtn.Contains(pMsg->m_fx, pMsg->m_fy)) { |
- m_iLBtnPartStates = 0; |
- Repaint(&m_rtLBtn); |
- return; |
- } |
- if (m_rtRBtn.Contains(pMsg->m_fx, pMsg->m_fy)) { |
- m_iRBtnPartStates = 0; |
- Repaint(&m_rtRBtn); |
- return; |
- } |
- if (m_rtToday.Contains(pMsg->m_fx, pMsg->m_fy)) |
- return; |
- |
- int32_t iOldSel = 0; |
- if (m_arrSelDays.GetSize() > 0) |
- iOldSel = m_arrSelDays[0]; |
- |
- int32_t iCurSel = GetDayAtPoint(pMsg->m_fx, pMsg->m_fy); |
- CFX_RectF rt; |
- IFWL_DateTimePicker* pIPicker = static_cast<IFWL_DateTimePicker*>(m_pOuter); |
- pIPicker->GetFormProxy()->GetWidgetRect(rt); |
- rt.Set(0, 0, rt.width, rt.height); |
- if (iCurSel > 0) { |
- FWL_DATEINFO* lpDatesInfo = m_arrDates.GetAt(iCurSel - 1); |
- CFX_RectF rtInvalidate(lpDatesInfo->rect); |
- if (iOldSel > 0 && iOldSel <= m_arrDates.GetSize()) { |
- lpDatesInfo = m_arrDates.GetAt(iOldSel - 1); |
- rtInvalidate.Union(lpDatesInfo->rect); |
- } |
- AddSelDay(iCurSel); |
- if (!m_pOuter) |
- return; |
- |
- pIPicker->ProcessSelChanged(m_iCurYear, m_iCurMonth, iCurSel); |
- pIPicker->ShowMonthCalendar(false); |
- } else if (m_bFlag && (!rt.Contains(pMsg->m_fx, pMsg->m_fy))) { |
- pIPicker->ShowMonthCalendar(false); |
- } |
- m_bFlag = 0; |
-} |
- |
-void IFWL_DateTimeCalendar::OnMouseMoveEx(CFWL_MsgMouse* pMsg) { |
- if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_MCD_MultiSelect) |
- return; |
- |
- bool bRepaint = false; |
- CFX_RectF rtInvalidate; |
- rtInvalidate.Set(0, 0, 0, 0); |
- if (m_rtDates.Contains(pMsg->m_fx, pMsg->m_fy)) { |
- int32_t iHover = GetDayAtPoint(pMsg->m_fx, pMsg->m_fy); |
- bRepaint = m_iHovered != iHover; |
- if (bRepaint) { |
- if (m_iHovered > 0) |
- GetDayRect(m_iHovered, rtInvalidate); |
- if (iHover > 0) { |
- CFX_RectF rtDay; |
- GetDayRect(iHover, rtDay); |
- if (rtInvalidate.IsEmpty()) |
- rtInvalidate = rtDay; |
- else |
- rtInvalidate.Union(rtDay); |
- } |
- } |
- m_iHovered = iHover; |
- CFWL_Event_DtpHoverChanged ev; |
- ev.hoverday = iHover; |
- DispatchEvent(&ev); |
- } else { |
- bRepaint = m_iHovered > 0; |
- if (bRepaint) |
- GetDayRect(m_iHovered, rtInvalidate); |
- |
- m_iHovered = -1; |
- } |
- if (bRepaint && !rtInvalidate.IsEmpty()) |
- Repaint(&rtInvalidate); |
-} |
- |
-void IFWL_DateTimeCalendar::DisForm_OnProcessMessage(CFWL_Message* pMessage) { |
- if (pMessage->GetClassID() == CFWL_MessageType::Mouse) { |
- CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
- if (pMsg->m_dwCmd == FWL_MouseCommand::LeftButtonUp) { |
- DisForm_OnLButtonUpEx(pMsg); |
- return; |
- } |
- } |
- IFWL_MonthCalendar::OnProcessMessage(pMessage); |
-} |
- |
-void IFWL_DateTimeCalendar::DisForm_OnLButtonUpEx(CFWL_MsgMouse* pMsg) { |
- if (m_rtLBtn.Contains(pMsg->m_fx, pMsg->m_fy)) { |
- m_iLBtnPartStates = 0; |
- Repaint(&(m_rtLBtn)); |
- return; |
- } |
- if (m_rtRBtn.Contains(pMsg->m_fx, pMsg->m_fy)) { |
- m_iRBtnPartStates = 0; |
- Repaint(&(m_rtRBtn)); |
- return; |
- } |
- if (m_rtToday.Contains(pMsg->m_fx, pMsg->m_fy)) |
- return; |
- |
- int32_t iOldSel = 0; |
- if (m_arrSelDays.GetSize() > 0) |
- iOldSel = m_arrSelDays[0]; |
- |
- int32_t iCurSel = GetDayAtPoint(pMsg->m_fx, pMsg->m_fy); |
- if (iCurSel > 0) { |
- FWL_DATEINFO* lpDatesInfo = m_arrDates.GetAt(iCurSel - 1); |
- CFX_RectF rtInvalidate(lpDatesInfo->rect); |
- if (iOldSel > 0 && iOldSel <= m_arrDates.GetSize()) { |
- lpDatesInfo = m_arrDates.GetAt(iOldSel - 1); |
- rtInvalidate.Union(lpDatesInfo->rect); |
- } |
- AddSelDay(iCurSel); |
- IFWL_DateTimePicker* pDateTime = |
- static_cast<IFWL_DateTimePicker*>(m_pOuter); |
- pDateTime->ProcessSelChanged(m_iCurYear, m_iCurMonth, iCurSel); |
- pDateTime->ShowMonthCalendar(false); |
- } |
-} |