OLD | NEW |
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/basewidget/fwl_spinbuttonimp.h" | 7 #include "xfa/fwl/basewidget/fwl_spinbuttonimp.h" |
8 | 8 |
9 #include "xfa/fwl/basewidget/ifwl_spinbutton.h" | 9 #include "xfa/fwl/basewidget/ifwl_spinbutton.h" |
10 #include "xfa/fwl/core/cfwl_message.h" | 10 #include "xfa/fwl/core/cfwl_message.h" |
11 #include "xfa/fwl/core/cfwl_themebackground.h" | 11 #include "xfa/fwl/core/cfwl_themebackground.h" |
12 #include "xfa/fwl/core/cfwl_widgetimpproperties.h" | 12 #include "xfa/fwl/core/cfwl_widgetimpproperties.h" |
13 #include "xfa/fwl/core/fwl_noteimp.h" | 13 #include "xfa/fwl/core/fwl_noteimp.h" |
14 #include "xfa/fwl/core/fwl_widgetimp.h" | 14 #include "xfa/fwl/core/fwl_widgetimp.h" |
15 #include "xfa/fwl/core/ifwl_themeprovider.h" | 15 #include "xfa/fwl/core/ifwl_themeprovider.h" |
16 #include "xfa/fwl/core/ifwl_themeprovider.h" | 16 #include "xfa/fwl/core/ifwl_themeprovider.h" |
17 #include "xfa/fwl/core/ifwl_timer.h" | 17 #include "xfa/fwl/core/ifwl_timer.h" |
18 | 18 |
19 #define FWL_SPN_MinWidth 18 | 19 namespace { |
20 #define FWL_SPN_MinHeight 32 | 20 |
21 #define FWL_SPIN_Elapse 200 | 21 const int kMinWidth = 18; |
| 22 const int kMinHeight = 32; |
| 23 const int kElapseTime = 200; |
| 24 |
| 25 } // namespace |
22 | 26 |
23 // static | 27 // static |
24 IFWL_SpinButton* IFWL_SpinButton::Create( | 28 IFWL_SpinButton* IFWL_SpinButton::Create( |
25 const CFWL_WidgetImpProperties& properties, | 29 const CFWL_WidgetImpProperties& properties, |
26 IFWL_Widget* pOuter) { | 30 IFWL_Widget* pOuter) { |
27 IFWL_SpinButton* pSpinButton = new IFWL_SpinButton; | 31 IFWL_SpinButton* pSpinButton = new IFWL_SpinButton; |
28 CFWL_SpinButtonImp* pSpinButtonImpl = | 32 CFWL_SpinButtonImp* pSpinButtonImpl = |
29 new CFWL_SpinButtonImp(properties, nullptr); | 33 new CFWL_SpinButtonImp(properties, nullptr); |
30 pSpinButton->SetImpl(pSpinButtonImpl); | 34 pSpinButton->SetImpl(pSpinButtonImpl); |
31 pSpinButtonImpl->SetInterface(pSpinButton); | 35 pSpinButtonImpl->SetInterface(pSpinButton); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 m_pDelegate = new CFWL_SpinButtonImpDelegate(this); | 72 m_pDelegate = new CFWL_SpinButtonImpDelegate(this); |
69 return FWL_ERR_Succeeded; | 73 return FWL_ERR_Succeeded; |
70 } | 74 } |
71 FWL_ERR CFWL_SpinButtonImp::Finalize() { | 75 FWL_ERR CFWL_SpinButtonImp::Finalize() { |
72 delete m_pDelegate; | 76 delete m_pDelegate; |
73 m_pDelegate = nullptr; | 77 m_pDelegate = nullptr; |
74 return CFWL_WidgetImp::Finalize(); | 78 return CFWL_WidgetImp::Finalize(); |
75 } | 79 } |
76 FWL_ERR CFWL_SpinButtonImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { | 80 FWL_ERR CFWL_SpinButtonImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { |
77 if (bAutoSize) { | 81 if (bAutoSize) { |
78 rect.Set(0, 0, FWL_SPN_MinWidth, FWL_SPN_MinHeight); | 82 rect.Set(0, 0, kMinWidth, kMinHeight); |
79 CFWL_WidgetImp::GetWidgetRect(rect, TRUE); | 83 CFWL_WidgetImp::GetWidgetRect(rect, TRUE); |
80 } else { | 84 } else { |
81 rect = m_pProperties->m_rtWidget; | 85 rect = m_pProperties->m_rtWidget; |
82 } | 86 } |
83 return FWL_ERR_Succeeded; | 87 return FWL_ERR_Succeeded; |
84 } | 88 } |
85 FWL_ERR CFWL_SpinButtonImp::Update() { | 89 FWL_ERR CFWL_SpinButtonImp::Update() { |
86 if (IsLocked()) { | 90 if (IsLocked()) { |
87 return FWL_ERR_Indefinite; | 91 return FWL_ERR_Indefinite; |
88 } | 92 } |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 OnFocusChanged(pMessage, TRUE); | 215 OnFocusChanged(pMessage, TRUE); |
212 break; | 216 break; |
213 } | 217 } |
214 case CFWL_MessageType::KillFocus: { | 218 case CFWL_MessageType::KillFocus: { |
215 OnFocusChanged(pMessage, FALSE); | 219 OnFocusChanged(pMessage, FALSE); |
216 break; | 220 break; |
217 } | 221 } |
218 case CFWL_MessageType::Mouse: { | 222 case CFWL_MessageType::Mouse: { |
219 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); | 223 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
220 switch (pMsg->m_dwCmd) { | 224 switch (pMsg->m_dwCmd) { |
221 case FWL_MSGMOUSECMD_LButtonDown: { | 225 case FWL_MouseCommand::LeftButtonDown: { |
222 OnLButtonDown(pMsg); | 226 OnLButtonDown(pMsg); |
223 break; | 227 break; |
224 } | 228 } |
225 case FWL_MSGMOUSECMD_LButtonUp: { | 229 case FWL_MouseCommand::LeftButtonUp: { |
226 OnLButtonUp(pMsg); | 230 OnLButtonUp(pMsg); |
227 break; | 231 break; |
228 } | 232 } |
229 case FWL_MSGMOUSECMD_MouseMove: { | 233 case FWL_MouseCommand::Move: { |
230 OnMouseMove(pMsg); | 234 OnMouseMove(pMsg); |
231 break; | 235 break; |
232 } | 236 } |
233 case FWL_MSGMOUSECMD_MouseLeave: { | 237 case FWL_MouseCommand::Leave: { |
234 OnMouseLeave(pMsg); | 238 OnMouseLeave(pMsg); |
235 break; | 239 break; |
236 } | 240 } |
237 default: | 241 default: |
238 break; | 242 break; |
239 } | 243 } |
240 break; | 244 break; |
241 } | 245 } |
242 case CFWL_MessageType::Key: { | 246 case CFWL_MessageType::Key: { |
243 CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage); | 247 CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage); |
244 if (pKey->m_dwCmd == FWL_MSGKEYCMD_KeyDown) | 248 if (pKey->m_dwCmd == FWL_KeyCommand::KeyDown) |
245 OnKeyDown(pKey); | 249 OnKeyDown(pKey); |
246 break; | 250 break; |
247 } | 251 } |
248 default: { | 252 default: { |
249 iRet = 0; | 253 iRet = 0; |
250 break; | 254 break; |
251 } | 255 } |
252 } | 256 } |
253 CFWL_WidgetImpDelegate::OnProcessMessage(pMessage); | 257 CFWL_WidgetImpDelegate::OnProcessMessage(pMessage); |
254 return iRet; | 258 return iRet; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 if (bDnPress) { | 294 if (bDnPress) { |
291 m_pOwner->m_iButtonIndex = 1; | 295 m_pOwner->m_iButtonIndex = 1; |
292 m_pOwner->m_dwDnState = CFWL_PartState_Pressed; | 296 m_pOwner->m_dwDnState = CFWL_PartState_Pressed; |
293 } | 297 } |
294 CFWL_EvtSpbClick wmPosChanged; | 298 CFWL_EvtSpbClick wmPosChanged; |
295 wmPosChanged.m_pSrcTarget = m_pOwner->m_pInterface; | 299 wmPosChanged.m_pSrcTarget = m_pOwner->m_pInterface; |
296 wmPosChanged.m_bUp = bUpPress; | 300 wmPosChanged.m_bUp = bUpPress; |
297 m_pOwner->DispatchEvent(&wmPosChanged); | 301 m_pOwner->DispatchEvent(&wmPosChanged); |
298 m_pOwner->Repaint(bUpPress ? &m_pOwner->m_rtUpButton | 302 m_pOwner->Repaint(bUpPress ? &m_pOwner->m_rtUpButton |
299 : &m_pOwner->m_rtDnButton); | 303 : &m_pOwner->m_rtDnButton); |
300 m_pOwner->m_hTimer = FWL_StartTimer(m_pOwner, FWL_SPIN_Elapse); | 304 m_pOwner->m_hTimer = FWL_StartTimer(m_pOwner, kElapseTime); |
301 } | 305 } |
302 void CFWL_SpinButtonImpDelegate::OnLButtonUp(CFWL_MsgMouse* pMsg) { | 306 void CFWL_SpinButtonImpDelegate::OnLButtonUp(CFWL_MsgMouse* pMsg) { |
303 if (m_pOwner->m_pProperties->m_dwStates & CFWL_PartState_Disabled) { | 307 if (m_pOwner->m_pProperties->m_dwStates & CFWL_PartState_Disabled) { |
304 return; | 308 return; |
305 } | 309 } |
306 m_pOwner->m_bLButtonDwn = FALSE; | 310 m_pOwner->m_bLButtonDwn = FALSE; |
307 m_pOwner->SetGrab(FALSE); | 311 m_pOwner->SetGrab(FALSE); |
308 m_pOwner->SetFocus(FALSE); | 312 m_pOwner->SetFocus(FALSE); |
309 if (m_pOwner->m_hTimer) { | 313 if (m_pOwner->m_hTimer) { |
310 FWL_StopTimer(m_pOwner->m_hTimer); | 314 FWL_StopTimer(m_pOwner->m_hTimer); |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 if (!bUpEnable && !bDownEnable) { | 428 if (!bUpEnable && !bDownEnable) { |
425 return; | 429 return; |
426 } | 430 } |
427 CFWL_EvtSpbClick wmPosChanged; | 431 CFWL_EvtSpbClick wmPosChanged; |
428 wmPosChanged.m_pSrcTarget = m_pOwner->m_pInterface; | 432 wmPosChanged.m_pSrcTarget = m_pOwner->m_pInterface; |
429 wmPosChanged.m_bUp = bUpEnable; | 433 wmPosChanged.m_bUp = bUpEnable; |
430 m_pOwner->DispatchEvent(&wmPosChanged); | 434 m_pOwner->DispatchEvent(&wmPosChanged); |
431 m_pOwner->Repaint(bUpEnable ? &m_pOwner->m_rtUpButton | 435 m_pOwner->Repaint(bUpEnable ? &m_pOwner->m_rtUpButton |
432 : &m_pOwner->m_rtDnButton); | 436 : &m_pOwner->m_rtDnButton); |
433 } | 437 } |
OLD | NEW |