summaryrefslogtreecommitdiff
path: root/xfa/fwl/core/cfwl_edit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fwl/core/cfwl_edit.cpp')
-rw-r--r--xfa/fwl/core/cfwl_edit.cpp63
1 files changed, 26 insertions, 37 deletions
diff --git a/xfa/fwl/core/cfwl_edit.cpp b/xfa/fwl/core/cfwl_edit.cpp
index 4544ebcb82..751bf4336a 100644
--- a/xfa/fwl/core/cfwl_edit.cpp
+++ b/xfa/fwl/core/cfwl_edit.cpp
@@ -20,9 +20,9 @@
#include "xfa/fgas/font/cfgas_gefont.h"
#include "xfa/fwl/core/cfwl_app.h"
#include "xfa/fwl/core/cfwl_caret.h"
+#include "xfa/fwl/core/cfwl_event.h"
#include "xfa/fwl/core/cfwl_evtcheckword.h"
#include "xfa/fwl/core/cfwl_evttextchanged.h"
-#include "xfa/fwl/core/cfwl_evttextfull.h"
#include "xfa/fwl/core/cfwl_evtvalidate.h"
#include "xfa/fwl/core/cfwl_msgkey.h"
#include "xfa/fwl/core/cfwl_msgmouse.h"
@@ -200,8 +200,7 @@ void CFWL_Edit::DrawSpellCheck(CFX_Graphics* pGraphics,
pGraphics->ConcatMatrix(const_cast<CFX_Matrix*>(pMatrix));
CFX_Color crLine(0xFFFF0000);
- CFWL_EvtCheckWord checkWordEvent;
- checkWordEvent.m_pSrcTarget = this;
+ CFWL_EvtCheckWord checkWordEvent(this);
CFX_ByteString sLatinWord;
CFX_Path pathSpell;
@@ -452,11 +451,7 @@ void CFWL_Edit::On_TextChanged(CFDE_TxtEdtEngine* pEdit,
CFX_RectF rtTemp;
GetClientRect(rtTemp);
- CFWL_EvtTextChanged event;
- event.m_pSrcTarget = this;
- event.nChangeType = ChangeInfo.nChangeType;
- event.wsInsert = ChangeInfo.wsInsert;
- event.wsDelete = ChangeInfo.wsDelete;
+ CFWL_EvtTextChanged event(this);
event.wsPrevText = ChangeInfo.wsPrevText;
DispatchEvent(&event);
@@ -502,9 +497,7 @@ bool CFWL_Edit::On_Validate(CFDE_TxtEdtEngine* pEdit, CFX_WideString& wsText) {
if (!pDst)
pDst = this;
- CFWL_EvtValidate event;
- event.pDstWidget = pDst;
- event.m_pSrcTarget = this;
+ CFWL_EvtValidate event(this);
event.wsInsert = wsText;
event.bValidate = true;
DispatchEvent(&event);
@@ -1277,8 +1270,7 @@ void CFWL_Edit::ProcessInsertError(int32_t iError) {
if (iError != -2)
return;
- CFWL_EvtTextFull textFullEvent;
- textFullEvent.m_pSrcTarget = this;
+ CFWL_Event textFullEvent(CFWL_Event::Type::TextFull, this);
DispatchEvent(&textFullEvent);
}
@@ -1286,13 +1278,14 @@ void CFWL_Edit::OnProcessMessage(CFWL_Message* pMessage) {
if (!pMessage)
return;
- CFWL_MessageType dwMsgCode = pMessage->GetClassID();
- switch (dwMsgCode) {
- case CFWL_MessageType::SetFocus:
- case CFWL_MessageType::KillFocus:
- OnFocusChanged(pMessage, dwMsgCode == CFWL_MessageType::SetFocus);
+ switch (pMessage->GetType()) {
+ case CFWL_Message::Type::SetFocus:
+ OnFocusChanged(pMessage, true);
break;
- case CFWL_MessageType::Mouse: {
+ case CFWL_Message::Type::KillFocus:
+ OnFocusChanged(pMessage, false);
+ break;
+ case CFWL_Message::Type::Mouse: {
CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage);
switch (pMsg->m_dwCmd) {
case FWL_MouseCommand::LeftButtonDown:
@@ -1315,7 +1308,7 @@ void CFWL_Edit::OnProcessMessage(CFWL_Message* pMessage) {
}
break;
}
- case CFWL_MessageType::Key: {
+ case CFWL_Message::Type::Key: {
CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage);
if (pKey->m_dwCmd == FWL_KeyCommand::KeyDown)
OnKeyDown(pKey);
@@ -1332,7 +1325,7 @@ void CFWL_Edit::OnProcessMessage(CFWL_Message* pMessage) {
void CFWL_Edit::OnProcessEvent(CFWL_Event* pEvent) {
if (!pEvent)
return;
- if (pEvent->GetClassID() != CFWL_EventType::Scroll)
+ if (pEvent->GetType() != CFWL_Event::Type::Scroll)
return;
CFWL_Widget* pSrcTarget = pEvent->m_pSrcTarget;
@@ -1522,11 +1515,7 @@ void CFWL_Edit::OnKeyDown(CFWL_MsgKey* pMsg) {
break;
}
case FWL_VKEY_F2:
- break;
- case FWL_VKEY_Tab: {
- DispatchKeyEvent(pMsg);
- break;
- }
+ case FWL_VKEY_Tab:
default:
break;
}
@@ -1589,54 +1578,54 @@ void CFWL_Edit::OnChar(CFWL_MsgKey* pMsg) {
}
bool CFWL_Edit::OnScroll(CFWL_ScrollBar* pScrollBar,
- FWL_SCBCODE dwCode,
+ CFWL_EvtScroll::Code dwCode,
FX_FLOAT fPos) {
CFX_SizeF fs;
pScrollBar->GetRange(&fs.x, &fs.y);
FX_FLOAT iCurPos = pScrollBar->GetPos();
FX_FLOAT fStep = pScrollBar->GetStepSize();
switch (dwCode) {
- case FWL_SCBCODE::Min: {
+ case CFWL_EvtScroll::Code::Min: {
fPos = fs.x;
break;
}
- case FWL_SCBCODE::Max: {
+ case CFWL_EvtScroll::Code::Max: {
fPos = fs.y;
break;
}
- case FWL_SCBCODE::StepBackward: {
+ case CFWL_EvtScroll::Code::StepBackward: {
fPos -= fStep;
if (fPos < fs.x + fStep / 2) {
fPos = fs.x;
}
break;
}
- case FWL_SCBCODE::StepForward: {
+ case CFWL_EvtScroll::Code::StepForward: {
fPos += fStep;
if (fPos > fs.y - fStep / 2) {
fPos = fs.y;
}
break;
}
- case FWL_SCBCODE::PageBackward: {
+ case CFWL_EvtScroll::Code::PageBackward: {
fPos -= pScrollBar->GetPageSize();
if (fPos < fs.x) {
fPos = fs.x;
}
break;
}
- case FWL_SCBCODE::PageForward: {
+ case CFWL_EvtScroll::Code::PageForward: {
fPos += pScrollBar->GetPageSize();
if (fPos > fs.y) {
fPos = fs.y;
}
break;
}
- case FWL_SCBCODE::Pos:
- case FWL_SCBCODE::TrackPos:
- case FWL_SCBCODE::None:
+ case CFWL_EvtScroll::Code::Pos:
+ case CFWL_EvtScroll::Code::TrackPos:
+ case CFWL_EvtScroll::Code::None:
break;
- case FWL_SCBCODE::EndScroll:
+ case CFWL_EvtScroll::Code::EndScroll:
return false;
}
if (iCurPos == fPos)