| 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/core/cfwl_spinbutton.h" | 7 #include "xfa/fwl/core/cfwl_spinbutton.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_evtclick.h" | 13 #include "xfa/fwl/core/cfwl_event.h" |
| 14 #include "xfa/fwl/core/cfwl_msgkey.h" | 14 #include "xfa/fwl/core/cfwl_msgkey.h" |
| 15 #include "xfa/fwl/core/cfwl_msgmouse.h" | 15 #include "xfa/fwl/core/cfwl_msgmouse.h" |
| 16 #include "xfa/fwl/core/cfwl_notedriver.h" | 16 #include "xfa/fwl/core/cfwl_notedriver.h" |
| 17 #include "xfa/fwl/core/cfwl_themebackground.h" | 17 #include "xfa/fwl/core/cfwl_themebackground.h" |
| 18 #include "xfa/fwl/core/cfwl_timerinfo.h" | 18 #include "xfa/fwl/core/cfwl_timerinfo.h" |
| 19 #include "xfa/fwl/core/cfwl_widgetproperties.h" | 19 #include "xfa/fwl/core/cfwl_widgetproperties.h" |
| 20 #include "xfa/fwl/core/ifwl_themeprovider.h" | 20 #include "xfa/fwl/core/ifwl_themeprovider.h" |
| 21 | 21 |
| 22 namespace { | 22 namespace { |
| 23 | 23 |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 params.m_matrix.Concat(*pMatrix); | 154 params.m_matrix.Concat(*pMatrix); |
| 155 | 155 |
| 156 params.m_rtPart = m_rtDnButton; | 156 params.m_rtPart = m_rtDnButton; |
| 157 pTheme->DrawBackground(¶ms); | 157 pTheme->DrawBackground(¶ms); |
| 158 } | 158 } |
| 159 | 159 |
| 160 void CFWL_SpinButton::OnProcessMessage(CFWL_Message* pMessage) { | 160 void CFWL_SpinButton::OnProcessMessage(CFWL_Message* pMessage) { |
| 161 if (!pMessage) | 161 if (!pMessage) |
| 162 return; | 162 return; |
| 163 | 163 |
| 164 CFWL_MessageType dwMsgCode = pMessage->GetClassID(); | 164 switch (pMessage->GetType()) { |
| 165 switch (dwMsgCode) { | 165 case CFWL_Message::Type::SetFocus: { |
| 166 case CFWL_MessageType::SetFocus: { | |
| 167 OnFocusChanged(pMessage, true); | 166 OnFocusChanged(pMessage, true); |
| 168 break; | 167 break; |
| 169 } | 168 } |
| 170 case CFWL_MessageType::KillFocus: { | 169 case CFWL_Message::Type::KillFocus: { |
| 171 OnFocusChanged(pMessage, false); | 170 OnFocusChanged(pMessage, false); |
| 172 break; | 171 break; |
| 173 } | 172 } |
| 174 case CFWL_MessageType::Mouse: { | 173 case CFWL_Message::Type::Mouse: { |
| 175 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); | 174 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
| 176 switch (pMsg->m_dwCmd) { | 175 switch (pMsg->m_dwCmd) { |
| 177 case FWL_MouseCommand::LeftButtonDown: | 176 case FWL_MouseCommand::LeftButtonDown: |
| 178 OnLButtonDown(pMsg); | 177 OnLButtonDown(pMsg); |
| 179 break; | 178 break; |
| 180 case FWL_MouseCommand::LeftButtonUp: | 179 case FWL_MouseCommand::LeftButtonUp: |
| 181 OnLButtonUp(pMsg); | 180 OnLButtonUp(pMsg); |
| 182 break; | 181 break; |
| 183 case FWL_MouseCommand::Move: | 182 case FWL_MouseCommand::Move: |
| 184 OnMouseMove(pMsg); | 183 OnMouseMove(pMsg); |
| 185 break; | 184 break; |
| 186 case FWL_MouseCommand::Leave: | 185 case FWL_MouseCommand::Leave: |
| 187 OnMouseLeave(pMsg); | 186 OnMouseLeave(pMsg); |
| 188 break; | 187 break; |
| 189 default: | 188 default: |
| 190 break; | 189 break; |
| 191 } | 190 } |
| 192 break; | 191 break; |
| 193 } | 192 } |
| 194 case CFWL_MessageType::Key: { | 193 case CFWL_Message::Type::Key: { |
| 195 CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage); | 194 CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage); |
| 196 if (pKey->m_dwCmd == FWL_KeyCommand::KeyDown) | 195 if (pKey->m_dwCmd == FWL_KeyCommand::KeyDown) |
| 197 OnKeyDown(pKey); | 196 OnKeyDown(pKey); |
| 198 break; | 197 break; |
| 199 } | 198 } |
| 200 default: | 199 default: |
| 201 break; | 200 break; |
| 202 } | 201 } |
| 203 CFWL_Widget::OnProcessMessage(pMessage); | 202 CFWL_Widget::OnProcessMessage(pMessage); |
| 204 } | 203 } |
| (...skipping 25 matching lines...) Expand all Loading... |
| 230 return; | 229 return; |
| 231 if (bUpPress) { | 230 if (bUpPress) { |
| 232 m_iButtonIndex = 0; | 231 m_iButtonIndex = 0; |
| 233 m_dwUpState = CFWL_PartState_Pressed; | 232 m_dwUpState = CFWL_PartState_Pressed; |
| 234 } | 233 } |
| 235 if (bDnPress) { | 234 if (bDnPress) { |
| 236 m_iButtonIndex = 1; | 235 m_iButtonIndex = 1; |
| 237 m_dwDnState = CFWL_PartState_Pressed; | 236 m_dwDnState = CFWL_PartState_Pressed; |
| 238 } | 237 } |
| 239 | 238 |
| 240 CFWL_EvtClick wmPosChanged; | 239 CFWL_Event wmPosChanged(CFWL_Event::Type::Click, this); |
| 241 wmPosChanged.m_pSrcTarget = this; | |
| 242 DispatchEvent(&wmPosChanged); | 240 DispatchEvent(&wmPosChanged); |
| 243 | 241 |
| 244 Repaint(bUpPress ? &m_rtUpButton : &m_rtDnButton); | 242 Repaint(bUpPress ? &m_rtUpButton : &m_rtDnButton); |
| 245 m_pTimerInfo = m_Timer.StartTimer(kElapseTime, true); | 243 m_pTimerInfo = m_Timer.StartTimer(kElapseTime, true); |
| 246 } | 244 } |
| 247 | 245 |
| 248 void CFWL_SpinButton::OnLButtonUp(CFWL_MsgMouse* pMsg) { | 246 void CFWL_SpinButton::OnLButtonUp(CFWL_MsgMouse* pMsg) { |
| 249 if (m_pProperties->m_dwStates & CFWL_PartState_Disabled) | 247 if (m_pProperties->m_dwStates & CFWL_PartState_Disabled) |
| 250 return; | 248 return; |
| 251 | 249 |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 352 bool bDown = | 350 bool bDown = |
| 353 pMsg->m_dwKeyCode == FWL_VKEY_Down || pMsg->m_dwKeyCode == FWL_VKEY_Right; | 351 pMsg->m_dwKeyCode == FWL_VKEY_Down || pMsg->m_dwKeyCode == FWL_VKEY_Right; |
| 354 if (!bUp && !bDown) | 352 if (!bUp && !bDown) |
| 355 return; | 353 return; |
| 356 | 354 |
| 357 bool bUpEnable = IsButtonEnabled(true); | 355 bool bUpEnable = IsButtonEnabled(true); |
| 358 bool bDownEnable = IsButtonEnabled(false); | 356 bool bDownEnable = IsButtonEnabled(false); |
| 359 if (!bUpEnable && !bDownEnable) | 357 if (!bUpEnable && !bDownEnable) |
| 360 return; | 358 return; |
| 361 | 359 |
| 362 CFWL_EvtClick wmPosChanged; | 360 CFWL_Event wmPosChanged(CFWL_Event::Type::Click, this); |
| 363 wmPosChanged.m_pSrcTarget = this; | |
| 364 DispatchEvent(&wmPosChanged); | 361 DispatchEvent(&wmPosChanged); |
| 365 | 362 |
| 366 Repaint(bUpEnable ? &m_rtUpButton : &m_rtDnButton); | 363 Repaint(bUpEnable ? &m_rtUpButton : &m_rtDnButton); |
| 367 } | 364 } |
| 368 | 365 |
| 369 CFWL_SpinButton::Timer::Timer(CFWL_SpinButton* pToolTip) | 366 CFWL_SpinButton::Timer::Timer(CFWL_SpinButton* pToolTip) |
| 370 : CFWL_Timer(pToolTip) {} | 367 : CFWL_Timer(pToolTip) {} |
| 371 | 368 |
| 372 void CFWL_SpinButton::Timer::Run(CFWL_TimerInfo* pTimerInfo) { | 369 void CFWL_SpinButton::Timer::Run(CFWL_TimerInfo* pTimerInfo) { |
| 373 CFWL_SpinButton* pButton = static_cast<CFWL_SpinButton*>(m_pWidget); | 370 CFWL_SpinButton* pButton = static_cast<CFWL_SpinButton*>(m_pWidget); |
| 374 | 371 |
| 375 if (!pButton->m_pTimerInfo) | 372 if (!pButton->m_pTimerInfo) |
| 376 return; | 373 return; |
| 377 | 374 |
| 378 CFWL_EvtClick wmPosChanged; | 375 CFWL_Event wmPosChanged(CFWL_Event::Type::Click, pButton); |
| 379 wmPosChanged.m_pSrcTarget = pButton; | |
| 380 pButton->DispatchEvent(&wmPosChanged); | 376 pButton->DispatchEvent(&wmPosChanged); |
| 381 } | 377 } |
| OLD | NEW |