Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Side by Side Diff: xfa/fwl/core/cfwl_datetimeedit.cpp

Issue 2530993002: Cleanup FWL Event and Message code. (Closed)
Patch Set: Review feedback Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "xfa/fwl/core/cfwl_datetimeedit.h" 7 #include "xfa/fwl/core/cfwl_datetimeedit.h"
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
11 11
12 #include "third_party/base/ptr_util.h" 12 #include "third_party/base/ptr_util.h"
13 #include "xfa/fwl/core/cfwl_datetimepicker.h" 13 #include "xfa/fwl/core/cfwl_datetimepicker.h"
14 #include "xfa/fwl/core/cfwl_msgmouse.h" 14 #include "xfa/fwl/core/cfwl_msgmouse.h"
15 #include "xfa/fwl/core/cfwl_widgetmgr.h" 15 #include "xfa/fwl/core/cfwl_widgetmgr.h"
16 16
17 CFWL_DateTimeEdit::CFWL_DateTimeEdit( 17 CFWL_DateTimeEdit::CFWL_DateTimeEdit(
18 const CFWL_App* app, 18 const CFWL_App* app,
19 std::unique_ptr<CFWL_WidgetProperties> properties, 19 std::unique_ptr<CFWL_WidgetProperties> properties,
20 CFWL_Widget* pOuter) 20 CFWL_Widget* pOuter)
21 : CFWL_Edit(app, std::move(properties), pOuter) {} 21 : CFWL_Edit(app, std::move(properties), pOuter) {}
22 22
23 void CFWL_DateTimeEdit::OnProcessMessage(CFWL_Message* pMessage) { 23 void CFWL_DateTimeEdit::OnProcessMessage(CFWL_Message* pMessage) {
24 if (m_pWidgetMgr->IsFormDisabled()) { 24 if (m_pWidgetMgr->IsFormDisabled()) {
25 DisForm_OnProcessMessage(pMessage); 25 DisForm_OnProcessMessage(pMessage);
26 return; 26 return;
27 } 27 }
28 28
29 CFWL_MessageType dwHashCode = pMessage->GetClassID(); 29 CFWL_Message::Type type = pMessage->GetType();
30 if (dwHashCode == CFWL_MessageType::SetFocus || 30 if (type == CFWL_Message::Type::SetFocus ||
31 dwHashCode == CFWL_MessageType::KillFocus) { 31 type == CFWL_Message::Type::KillFocus) {
32 CFWL_Widget* pOuter = GetOuter(); 32 CFWL_Widget* pOuter = GetOuter();
33 pOuter->GetDelegate()->OnProcessMessage(pMessage); 33 pOuter->GetDelegate()->OnProcessMessage(pMessage);
34 } 34 }
35 } 35 }
36 36
37 void CFWL_DateTimeEdit::DisForm_OnProcessMessage(CFWL_Message* pMessage) { 37 void CFWL_DateTimeEdit::DisForm_OnProcessMessage(CFWL_Message* pMessage) {
38 CFWL_MessageType dwHashCode = pMessage->GetClassID();
39 if (!m_pWidgetMgr->IsFormDisabled() || 38 if (!m_pWidgetMgr->IsFormDisabled() ||
40 dwHashCode != CFWL_MessageType::Mouse) { 39 pMessage->GetType() != CFWL_Message::Type::Mouse) {
41 CFWL_Edit::OnProcessMessage(pMessage); 40 CFWL_Edit::OnProcessMessage(pMessage);
42 return; 41 return;
43 } 42 }
44 43
45 CFWL_MsgMouse* pMouse = static_cast<CFWL_MsgMouse*>(pMessage); 44 CFWL_MsgMouse* pMouse = static_cast<CFWL_MsgMouse*>(pMessage);
46 if (pMouse->m_dwCmd == FWL_MouseCommand::LeftButtonDown || 45 if (pMouse->m_dwCmd == FWL_MouseCommand::LeftButtonDown ||
47 pMouse->m_dwCmd == FWL_MouseCommand::RightButtonDown) { 46 pMouse->m_dwCmd == FWL_MouseCommand::RightButtonDown) {
48 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0) 47 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0)
49 m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused; 48 m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused;
50 49
51 CFWL_DateTimePicker* pDateTime = 50 CFWL_DateTimePicker* pDateTime =
52 static_cast<CFWL_DateTimePicker*>(m_pOuter); 51 static_cast<CFWL_DateTimePicker*>(m_pOuter);
53 if (pDateTime->IsMonthCalendarVisible()) { 52 if (pDateTime->IsMonthCalendarVisible()) {
54 CFX_RectF rtInvalidate; 53 CFX_RectF rtInvalidate;
55 pDateTime->GetWidgetRect(rtInvalidate); 54 pDateTime->GetWidgetRect(rtInvalidate);
56 pDateTime->ShowMonthCalendar(false); 55 pDateTime->ShowMonthCalendar(false);
57 rtInvalidate.Offset(-rtInvalidate.left, -rtInvalidate.top); 56 rtInvalidate.Offset(-rtInvalidate.left, -rtInvalidate.top);
58 pDateTime->Repaint(&rtInvalidate); 57 pDateTime->Repaint(&rtInvalidate);
59 } 58 }
60 } 59 }
61 CFWL_Edit::OnProcessMessage(pMessage); 60 CFWL_Edit::OnProcessMessage(pMessage);
62 } 61 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698