| Index: xfa/fwl/core/cfwl_combobox.cpp
|
| diff --git a/xfa/fwl/core/cfwl_combobox.cpp b/xfa/fwl/core/cfwl_combobox.cpp
|
| index 5996af9c411fef721d2a67589d8ac7d09f6e6905..c8486c39c4ee366ac9f5a68796b954da476a883d 100644
|
| --- a/xfa/fwl/core/cfwl_combobox.cpp
|
| +++ b/xfa/fwl/core/cfwl_combobox.cpp
|
| @@ -14,9 +14,7 @@
|
| #include "xfa/fde/cfde_txtedtengine.h"
|
| #include "xfa/fde/tto/fde_textout.h"
|
| #include "xfa/fwl/core/cfwl_app.h"
|
| -#include "xfa/fwl/core/cfwl_evteditchanged.h"
|
| -#include "xfa/fwl/core/cfwl_evtpostdropdown.h"
|
| -#include "xfa/fwl/core/cfwl_evtpredropdown.h"
|
| +#include "xfa/fwl/core/cfwl_event.h"
|
| #include "xfa/fwl/core/cfwl_evtselectchanged.h"
|
| #include "xfa/fwl/core/cfwl_evttextchanged.h"
|
| #include "xfa/fwl/core/cfwl_formproxy.h"
|
| @@ -399,8 +397,7 @@ void CFWL_ComboBox::ShowDropList(bool bActivate) {
|
| m_pListBox->SetWidgetRect(m_rtList);
|
| m_pListBox->Update();
|
|
|
| - CFWL_EvtPreDropDown ev;
|
| - ev.m_pSrcTarget = this;
|
| + CFWL_Event ev(CFWL_Event::Type::PreDropDown, this);
|
| DispatchEvent(&ev);
|
|
|
| m_fItemHeight = m_pListBox->GetItemHeight();
|
| @@ -553,9 +550,8 @@ void CFWL_ComboBox::ProcessSelChanged(bool bLButtonUp) {
|
| m_pEdit->SetSelected();
|
| }
|
|
|
| - CFWL_EvtSelectChanged ev;
|
| + CFWL_EvtSelectChanged ev(this);
|
| ev.bLButtonUp = bLButtonUp;
|
| - ev.m_pSrcTarget = this;
|
| DispatchEvent(&ev);
|
| }
|
|
|
| @@ -608,8 +604,7 @@ void CFWL_ComboBox::DisForm_ShowDropList(bool bActivate) {
|
| return;
|
|
|
| if (bActivate) {
|
| - CFWL_EvtPreDropDown preEvent;
|
| - preEvent.m_pSrcTarget = this;
|
| + CFWL_Event preEvent(CFWL_Event::Type::PreDropDown, this);
|
| DispatchEvent(&preEvent);
|
|
|
| CFWL_ComboList* pComboList = m_pListBox.get();
|
| @@ -642,8 +637,7 @@ void CFWL_ComboBox::DisForm_ShowDropList(bool bActivate) {
|
|
|
| m_pListBox->SetStates(FWL_WGTSTATE_Invisible, !bActivate);
|
| if (bActivate) {
|
| - CFWL_EvtPostDropDown postEvent;
|
| - postEvent.m_pSrcTarget = this;
|
| + CFWL_Event postEvent(CFWL_Event::Type::PostDropDown, this);
|
| DispatchEvent(&postEvent);
|
| }
|
|
|
| @@ -794,14 +788,14 @@ void CFWL_ComboBox::OnProcessMessage(CFWL_Message* pMessage) {
|
| if (!pMessage)
|
| return;
|
|
|
| - switch (pMessage->GetClassID()) {
|
| - case CFWL_MessageType::SetFocus:
|
| + switch (pMessage->GetType()) {
|
| + case CFWL_Message::Type::SetFocus:
|
| OnFocusChanged(pMessage, true);
|
| break;
|
| - case CFWL_MessageType::KillFocus:
|
| + case CFWL_Message::Type::KillFocus:
|
| OnFocusChanged(pMessage, false);
|
| break;
|
| - case CFWL_MessageType::Mouse: {
|
| + case CFWL_Message::Type::Mouse: {
|
| CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage);
|
| switch (pMsg->m_dwCmd) {
|
| case FWL_MouseCommand::LeftButtonDown:
|
| @@ -821,7 +815,7 @@ void CFWL_ComboBox::OnProcessMessage(CFWL_Message* pMessage) {
|
| }
|
| break;
|
| }
|
| - case CFWL_MessageType::Key:
|
| + case CFWL_Message::Type::Key:
|
| OnKey(static_cast<CFWL_MsgKey*>(pMessage));
|
| break;
|
| default:
|
| @@ -832,17 +826,15 @@ void CFWL_ComboBox::OnProcessMessage(CFWL_Message* pMessage) {
|
| }
|
|
|
| void CFWL_ComboBox::OnProcessEvent(CFWL_Event* pEvent) {
|
| - CFWL_EventType dwFlag = pEvent->GetClassID();
|
| - if (dwFlag == CFWL_EventType::Scroll) {
|
| + CFWL_Event::Type type = pEvent->GetType();
|
| + if (type == CFWL_Event::Type::Scroll) {
|
| CFWL_EvtScroll* pScrollEvent = static_cast<CFWL_EvtScroll*>(pEvent);
|
| - CFWL_EvtScroll pScrollEv;
|
| - pScrollEv.m_pSrcTarget = this;
|
| + CFWL_EvtScroll pScrollEv(this);
|
| pScrollEv.m_iScrollCode = pScrollEvent->m_iScrollCode;
|
| pScrollEv.m_fPos = pScrollEvent->m_fPos;
|
| DispatchEvent(&pScrollEv);
|
| - } else if (dwFlag == CFWL_EventType::TextChanged) {
|
| - CFWL_EvtEditChanged pTemp;
|
| - pTemp.m_pSrcTarget = this;
|
| + } else if (type == CFWL_Event::Type::TextChanged) {
|
| + CFWL_Event pTemp(CFWL_Event::Type::EditChanged, this);
|
| DispatchEvent(&pTemp);
|
| }
|
| }
|
| @@ -934,10 +926,8 @@ void CFWL_ComboBox::OnMouseLeave(CFWL_MsgMouse* pMsg) {
|
|
|
| void CFWL_ComboBox::OnKey(CFWL_MsgKey* pMsg) {
|
| uint32_t dwKeyCode = pMsg->m_dwKeyCode;
|
| - if (dwKeyCode == FWL_VKEY_Tab) {
|
| - DispatchKeyEvent(pMsg);
|
| + if (dwKeyCode == FWL_VKEY_Tab)
|
| return;
|
| - }
|
| if (pMsg->m_pDstTarget == this)
|
| DoSubCtrlKey(pMsg);
|
| }
|
| @@ -990,18 +980,18 @@ void CFWL_ComboBox::DisForm_OnProcessMessage(CFWL_Message* pMessage) {
|
| return;
|
|
|
| bool backDefault = true;
|
| - switch (pMessage->GetClassID()) {
|
| - case CFWL_MessageType::SetFocus: {
|
| + switch (pMessage->GetType()) {
|
| + case CFWL_Message::Type::SetFocus: {
|
| backDefault = false;
|
| DisForm_OnFocusChanged(pMessage, true);
|
| break;
|
| }
|
| - case CFWL_MessageType::KillFocus: {
|
| + case CFWL_Message::Type::KillFocus: {
|
| backDefault = false;
|
| DisForm_OnFocusChanged(pMessage, false);
|
| break;
|
| }
|
| - case CFWL_MessageType::Mouse: {
|
| + case CFWL_Message::Type::Mouse: {
|
| backDefault = false;
|
| CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage);
|
| switch (pMsg->m_dwCmd) {
|
| @@ -1016,7 +1006,7 @@ void CFWL_ComboBox::DisForm_OnProcessMessage(CFWL_Message* pMessage) {
|
| }
|
| break;
|
| }
|
| - case CFWL_MessageType::Key: {
|
| + case CFWL_Message::Type::Key: {
|
| backDefault = false;
|
| CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage);
|
| if (pKey->m_dwCmd == FWL_KeyCommand::KeyUp)
|
| @@ -1061,17 +1051,13 @@ void CFWL_ComboBox::DisForm_OnFocusChanged(CFWL_Message* pMsg, bool bSet) {
|
| if (bSet) {
|
| m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused;
|
| if ((m_pEdit->GetStates() & FWL_WGTSTATE_Focused) == 0) {
|
| - CFWL_MsgSetFocus msg;
|
| - msg.m_pDstTarget = m_pEdit.get();
|
| - msg.m_pSrcTarget = nullptr;
|
| + CFWL_MsgSetFocus msg(nullptr, m_pEdit.get());
|
| m_pEdit->GetDelegate()->OnProcessMessage(&msg);
|
| }
|
| } else {
|
| m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused;
|
| DisForm_ShowDropList(false);
|
| - CFWL_MsgKillFocus msg;
|
| - msg.m_pDstTarget = nullptr;
|
| - msg.m_pSrcTarget = m_pEdit.get();
|
| + CFWL_MsgKillFocus msg(m_pEdit.get());
|
| m_pEdit->GetDelegate()->OnProcessMessage(&msg);
|
| }
|
| }
|
|
|