Index: xfa/fwl/basewidget/fwl_comboboximp.cpp |
diff --git a/xfa/fwl/basewidget/fwl_comboboximp.cpp b/xfa/fwl/basewidget/fwl_comboboximp.cpp |
index b093b6c17137c85067e5f726ae5de354285d004d..d7fe209e16d02a01a0fa307c02b7ecb808375e0a 100644 |
--- a/xfa/fwl/basewidget/fwl_comboboximp.cpp |
+++ b/xfa/fwl/basewidget/fwl_comboboximp.cpp |
@@ -141,23 +141,24 @@ CFWL_ComboEditImp::CFWL_ComboEditImp(const CFWL_WidgetImpProperties& properties, |
CFWL_ComboEditImpDelegate::CFWL_ComboEditImpDelegate(CFWL_ComboEditImp* pOwner) |
: CFWL_EditImpDelegate(pOwner), m_pOwner(pOwner) {} |
+ |
int32_t CFWL_ComboEditImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { |
if (!pMessage) |
return 0; |
- uint32_t dwMsgCode = pMessage->GetClassID(); |
+ |
FX_BOOL backDefault = TRUE; |
- switch (dwMsgCode) { |
- case FWL_MSGHASH_SetFocus: |
- case FWL_MSGHASH_KillFocus: { |
- if (dwMsgCode == FWL_MSGHASH_SetFocus) { |
- m_pOwner->m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused; |
- } else { |
- m_pOwner->m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused; |
- } |
+ switch (pMessage->GetClassID()) { |
+ case CFWL_MessageType::SetFocus: { |
+ m_pOwner->m_pProperties->m_dwStates |= FWL_WGTSTATE_Focused; |
+ backDefault = FALSE; |
+ break; |
+ } |
+ case CFWL_MessageType::KillFocus: { |
+ m_pOwner->m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused; |
backDefault = FALSE; |
break; |
} |
- case FWL_MSGHASH_Mouse: { |
+ case CFWL_MessageType::Mouse: { |
CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
if ((pMsg->m_dwCmd == FWL_MSGMOUSECMD_LButtonDown) && |
((m_pOwner->m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0)) { |
@@ -166,13 +167,14 @@ int32_t CFWL_ComboEditImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { |
} |
break; |
} |
- default: {} |
+ default: |
+ break; |
} |
- if (!backDefault) { |
+ if (!backDefault) |
return 1; |
- } |
return CFWL_EditImpDelegate::OnProcessMessage(pMessage); |
} |
+ |
void CFWL_ComboEditImp::ClearSelected() { |
ClearSelections(); |
Repaint(&m_rtClient); |
@@ -281,17 +283,20 @@ void CFWL_ComboListImp::ClientToOuter(FX_FLOAT& fx, FX_FLOAT& fy) { |
void CFWL_ComboListImp::SetFocus(FX_BOOL bSet) { |
CFWL_WidgetImp::SetFocus(bSet); |
} |
+ |
CFWL_ComboListImpDelegate::CFWL_ComboListImpDelegate(CFWL_ComboListImp* pOwner) |
: CFWL_ListBoxImpDelegate(pOwner), m_pOwner(pOwner) {} |
+ |
int32_t CFWL_ComboListImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { |
if (!pMessage) |
return 0; |
- uint32_t dwHashCode = pMessage->GetClassID(); |
+ |
+ CFWL_MessageType dwHashCode = pMessage->GetClassID(); |
FX_BOOL backDefault = TRUE; |
- if (dwHashCode == FWL_MSGHASH_SetFocus || |
- dwHashCode == FWL_MSGHASH_KillFocus) { |
- OnDropListFocusChanged(pMessage, dwHashCode == FWL_MSGHASH_SetFocus); |
- } else if (dwHashCode == FWL_MSGHASH_Mouse) { |
+ if (dwHashCode == CFWL_MessageType::SetFocus || |
+ dwHashCode == CFWL_MessageType::KillFocus) { |
+ OnDropListFocusChanged(pMessage, dwHashCode == CFWL_MessageType::SetFocus); |
+ } else if (dwHashCode == CFWL_MessageType::Mouse) { |
CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
if (m_pOwner->IsShowScrollBar(TRUE) && m_pOwner->m_pVertScrollBar) { |
CFX_RectF rect; |
@@ -323,14 +328,14 @@ int32_t CFWL_ComboListImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { |
} |
default: {} |
} |
- } else if (dwHashCode == FWL_MSGHASH_Key) { |
+ } else if (dwHashCode == CFWL_MessageType::Key) { |
backDefault = !OnDropListKey(static_cast<CFWL_MsgKey*>(pMessage)); |
} |
- if (!backDefault) { |
+ if (!backDefault) |
return 1; |
- } |
return CFWL_ListBoxImpDelegate::OnProcessMessage(pMessage); |
} |
+ |
void CFWL_ComboListImpDelegate::OnDropListFocusChanged(CFWL_Message* pMsg, |
FX_BOOL bSet) { |
if (!bSet) { |
@@ -1356,26 +1361,30 @@ void CFWL_ComboBoxImp::DisForm_Layout() { |
m_pEdit->Update(); |
} |
} |
+ |
CFWL_ComboBoxImpDelegate::CFWL_ComboBoxImpDelegate(CFWL_ComboBoxImp* pOwner) |
: m_pOwner(pOwner) {} |
+ |
int32_t CFWL_ComboBoxImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { |
- if (m_pOwner->m_pWidgetMgr->IsFormDisabled()) { |
+ if (m_pOwner->m_pWidgetMgr->IsFormDisabled()) |
return DisForm_OnProcessMessage(pMessage); |
- } |
+ |
if (!pMessage) |
return 0; |
- uint32_t dwMsgCode = pMessage->GetClassID(); |
+ |
FX_BOOL iRet = 1; |
- switch (dwMsgCode) { |
- case FWL_MSGHASH_SetFocus: |
- case FWL_MSGHASH_KillFocus: { |
- OnFocusChanged(pMessage, dwMsgCode == FWL_MSGHASH_SetFocus); |
+ switch (pMessage->GetClassID()) { |
+ case CFWL_MessageType::SetFocus: { |
+ OnFocusChanged(pMessage, TRUE); |
+ break; |
+ } |
+ case CFWL_MessageType::KillFocus: { |
+ OnFocusChanged(pMessage, FALSE); |
break; |
} |
- case FWL_MSGHASH_Mouse: { |
+ case CFWL_MessageType::Mouse: { |
CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
- uint32_t dwCmd = pMsg->m_dwCmd; |
- switch (dwCmd) { |
+ switch (pMsg->m_dwCmd) { |
case FWL_MSGMOUSECMD_LButtonDown: { |
OnLButtonDown(pMsg); |
break; |
@@ -1392,22 +1401,28 @@ int32_t CFWL_ComboBoxImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { |
OnMouseLeave(pMsg); |
break; |
} |
- default: {} |
+ default: |
+ break; |
} |
break; |
} |
- case FWL_MSGHASH_Key: { |
+ case CFWL_MessageType::Key: { |
OnKey(static_cast<CFWL_MsgKey*>(pMessage)); |
break; |
} |
- default: { iRet = 0; } |
+ default: { |
+ iRet = 0; |
+ break; |
+ } |
} |
+ |
CFWL_WidgetImpDelegate::OnProcessMessage(pMessage); |
return iRet; |
} |
+ |
FWL_ERR CFWL_ComboBoxImpDelegate::OnProcessEvent(CFWL_Event* pEvent) { |
- uint32_t dwFlag = pEvent->GetClassID(); |
- if (dwFlag == FWL_EVTHASH_LTB_DrawItem) { |
+ CFWL_EventType dwFlag = pEvent->GetClassID(); |
+ if (dwFlag == CFWL_EventType::DrawItem) { |
CFWL_EvtLtbDrawItem* pDrawItemEvent = |
static_cast<CFWL_EvtLtbDrawItem*>(pEvent); |
CFWL_EvtCmbDrawItem pTemp; |
@@ -1416,14 +1431,14 @@ FWL_ERR CFWL_ComboBoxImpDelegate::OnProcessEvent(CFWL_Event* pEvent) { |
pTemp.m_index = pDrawItemEvent->m_index; |
pTemp.m_rtItem = pDrawItemEvent->m_rect; |
m_pOwner->DispatchEvent(&pTemp); |
- } else if (dwFlag == FWL_EVTHASH_Scroll) { |
+ } else if (dwFlag == CFWL_EventType::Scroll) { |
CFWL_EvtScroll* pScrollEvent = static_cast<CFWL_EvtScroll*>(pEvent); |
CFWL_EvtScroll pScrollEv; |
pScrollEv.m_pSrcTarget = m_pOwner->m_pInterface; |
pScrollEv.m_iScrollCode = pScrollEvent->m_iScrollCode; |
pScrollEv.m_fPos = pScrollEvent->m_fPos; |
m_pOwner->DispatchEvent(&pScrollEv); |
- } else if (dwFlag == FWL_EVTHASH_EDT_TextChanged) { |
+ } else if (dwFlag == CFWL_EventType::TextChanged) { |
CFWL_EvtEdtTextChanged* pTextChangedEvent = |
static_cast<CFWL_EvtEdtTextChanged*>(pEvent); |
CFWL_EvtCmbEditChanged pTemp; |
@@ -1435,6 +1450,7 @@ FWL_ERR CFWL_ComboBoxImpDelegate::OnProcessEvent(CFWL_Event* pEvent) { |
} |
return FWL_ERR_Succeeded; |
} |
+ |
FWL_ERR CFWL_ComboBoxImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics, |
const CFX_Matrix* pMatrix) { |
return m_pOwner->DrawWidget(pGraphics, pMatrix); |
@@ -1586,20 +1602,23 @@ int32_t CFWL_ComboBoxImpDelegate::DisForm_OnProcessMessage( |
CFWL_Message* pMessage) { |
if (!pMessage) |
return 0; |
- uint32_t dwMsgCode = pMessage->GetClassID(); |
+ |
FX_BOOL backDefault = TRUE; |
- switch (dwMsgCode) { |
- case FWL_MSGHASH_SetFocus: |
- case FWL_MSGHASH_KillFocus: { |
+ switch (pMessage->GetClassID()) { |
+ case CFWL_MessageType::SetFocus: { |
backDefault = FALSE; |
- DisForm_OnFocusChanged(pMessage, dwMsgCode == FWL_MSGHASH_SetFocus); |
+ DisForm_OnFocusChanged(pMessage, TRUE); |
break; |
} |
- case FWL_MSGHASH_Mouse: { |
+ case CFWL_MessageType::KillFocus: { |
+ backDefault = FALSE; |
+ DisForm_OnFocusChanged(pMessage, FALSE); |
+ break; |
+ } |
+ case CFWL_MessageType::Mouse: { |
backDefault = FALSE; |
CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
- uint32_t dwCmd = pMsg->m_dwCmd; |
- switch (dwCmd) { |
+ switch (pMsg->m_dwCmd) { |
case FWL_MSGMOUSECMD_LButtonDown: { |
DisForm_OnLButtonDown(pMsg); |
break; |
@@ -1608,22 +1627,22 @@ int32_t CFWL_ComboBoxImpDelegate::DisForm_OnProcessMessage( |
OnLButtonUp(pMsg); |
break; |
} |
- default: {} |
+ default: |
+ break; |
} |
break; |
} |
- case FWL_MSGHASH_Key: { |
+ case CFWL_MessageType::Key: { |
backDefault = FALSE; |
CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage); |
- if (pKey->m_dwCmd == FWL_MSGKEYCMD_KeyUp) { |
+ if (pKey->m_dwCmd == FWL_MSGKEYCMD_KeyUp) |
break; |
- } |
if (m_pOwner->DisForm_IsDropListShowed() && |
pKey->m_dwCmd == FWL_MSGKEYCMD_KeyDown) { |
- uint32_t dwKeyCode = pKey->m_dwKeyCode; |
- FX_BOOL bListKey = |
- dwKeyCode == FWL_VKEY_Up || dwKeyCode == FWL_VKEY_Down || |
- dwKeyCode == FWL_VKEY_Return || dwKeyCode == FWL_VKEY_Escape; |
+ FX_BOOL bListKey = pKey->m_dwKeyCode == FWL_VKEY_Up || |
+ pKey->m_dwKeyCode == FWL_VKEY_Down || |
+ pKey->m_dwKeyCode == FWL_VKEY_Return || |
+ pKey->m_dwKeyCode == FWL_VKEY_Escape; |
if (bListKey) { |
IFWL_WidgetDelegate* pDelegate = |
m_pOwner->m_pListBox->SetDelegate(NULL); |
@@ -1634,13 +1653,14 @@ int32_t CFWL_ComboBoxImpDelegate::DisForm_OnProcessMessage( |
DisForm_OnKey(pKey); |
break; |
} |
- default: {} |
+ default: |
+ break; |
} |
- if (!backDefault) { |
+ if (!backDefault) |
return 1; |
- } |
return CFWL_WidgetImpDelegate::OnProcessMessage(pMessage); |
} |
+ |
void CFWL_ComboBoxImpDelegate::DisForm_OnLButtonDown(CFWL_MsgMouse* pMsg) { |
FX_BOOL bDropDown = m_pOwner->DisForm_IsDropListShowed(); |
CFX_RectF& rtBtn = bDropDown ? m_pOwner->m_rtBtn : m_pOwner->m_rtClient; |
@@ -1724,6 +1744,7 @@ void CFWL_ComboBoxImpDelegate::DisForm_OnKey(CFWL_MsgKey* pMsg) { |
pDelegate->OnProcessMessage(pMsg); |
} |
} |
+ |
CFWL_ComboProxyImpDelegate::CFWL_ComboProxyImpDelegate( |
IFWL_Form* pForm, |
CFWL_ComboBoxImp* pComboBox) |
@@ -1732,38 +1753,50 @@ CFWL_ComboProxyImpDelegate::CFWL_ComboProxyImpDelegate( |
m_fStartPos(0), |
m_pForm(pForm), |
m_pComboBox(pComboBox) {} |
+ |
int32_t CFWL_ComboProxyImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { |
if (!pMessage) |
return 0; |
- uint32_t dwMsgCode = pMessage->GetClassID(); |
- if (dwMsgCode == FWL_MSGHASH_Mouse) { |
- CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
- uint32_t dwCmd = pMsg->m_dwCmd; |
- switch (dwCmd) { |
- case FWL_MSGMOUSECMD_LButtonDown: { |
- OnLButtonDown(pMsg); |
- break; |
- } |
- case FWL_MSGMOUSECMD_LButtonUp: { |
- OnLButtonUp(pMsg); |
- break; |
- } |
- case FWL_MSGMOUSECMD_MouseMove: { |
- OnMouseMove(pMsg); |
- break; |
+ |
+ switch (pMessage->GetClassID()) { |
+ case CFWL_MessageType::Mouse: { |
+ CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
+ switch (pMsg->m_dwCmd) { |
+ case FWL_MSGMOUSECMD_LButtonDown: { |
+ OnLButtonDown(pMsg); |
+ break; |
+ } |
+ case FWL_MSGMOUSECMD_LButtonUp: { |
+ OnLButtonUp(pMsg); |
+ break; |
+ } |
+ case FWL_MSGMOUSECMD_MouseMove: { |
+ OnMouseMove(pMsg); |
+ break; |
+ } |
+ default: |
+ break; |
} |
- default: {} |
+ break; |
} |
- } |
- if (dwMsgCode == FWL_MSGHASH_Deactivate) { |
- OnDeactive(static_cast<CFWL_MsgDeactivate*>(pMessage)); |
- } |
- if (dwMsgCode == FWL_MSGHASH_KillFocus || dwMsgCode == FWL_MSGHASH_SetFocus) { |
- OnFocusChanged(static_cast<CFWL_MsgKillFocus*>(pMessage), |
- dwMsgCode == FWL_MSGHASH_SetFocus); |
+ case CFWL_MessageType::Deactivate: { |
+ OnDeactive(static_cast<CFWL_MsgDeactivate*>(pMessage)); |
+ break; |
+ } |
+ case CFWL_MessageType::KillFocus: { |
+ OnFocusChanged(static_cast<CFWL_MsgKillFocus*>(pMessage), FALSE); |
+ break; |
+ } |
+ case CFWL_MessageType::SetFocus: { |
+ OnFocusChanged(static_cast<CFWL_MsgKillFocus*>(pMessage), TRUE); |
+ break; |
+ } |
+ default: |
+ break; |
} |
return CFWL_WidgetImpDelegate::OnProcessMessage(pMessage); |
} |
+ |
FWL_ERR CFWL_ComboProxyImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics, |
const CFX_Matrix* pMatrix) { |
m_pComboBox->DrawStretchHandler(pGraphics, pMatrix); |