From 098f454bddc57c9af00d725132a6d9ad8bdb171f Mon Sep 17 00:00:00 2001 From: dsinclair Date: Thu, 17 Nov 2016 09:25:05 -0800 Subject: Move the IFWL_Edit Events out of ifwl_edit.h This Cl moves the edit events to actual class files and renames to drop the Edt from the names. Review-Url: https://codereview.chromium.org/2515463002 --- BUILD.gn | 8 ++++++++ xfa/fwl/core/cfwl_evtcheckword.cpp | 15 +++++++++++++++ xfa/fwl/core/cfwl_evtcheckword.h | 23 +++++++++++++++++++++++ xfa/fwl/core/cfwl_evttextchanged.cpp | 15 +++++++++++++++ xfa/fwl/core/cfwl_evttextchanged.h | 25 +++++++++++++++++++++++++ xfa/fwl/core/cfwl_evttextfull.cpp | 15 +++++++++++++++ xfa/fwl/core/cfwl_evttextfull.h | 20 ++++++++++++++++++++ xfa/fwl/core/cfwl_evtvalidate.cpp | 15 +++++++++++++++ xfa/fwl/core/cfwl_evtvalidate.h | 24 ++++++++++++++++++++++++ xfa/fwl/core/ifwl_combobox.cpp | 5 +++-- xfa/fwl/core/ifwl_edit.cpp | 27 ++++++++++++++------------- xfa/fwl/core/ifwl_edit.h | 26 -------------------------- xfa/fxfa/app/xfa_fftextedit.cpp | 14 ++++++++------ 13 files changed, 185 insertions(+), 47 deletions(-) create mode 100644 xfa/fwl/core/cfwl_evtcheckword.cpp create mode 100644 xfa/fwl/core/cfwl_evtcheckword.h create mode 100644 xfa/fwl/core/cfwl_evttextchanged.cpp create mode 100644 xfa/fwl/core/cfwl_evttextchanged.h create mode 100644 xfa/fwl/core/cfwl_evttextfull.cpp create mode 100644 xfa/fwl/core/cfwl_evttextfull.h create mode 100644 xfa/fwl/core/cfwl_evtvalidate.cpp create mode 100644 xfa/fwl/core/cfwl_evtvalidate.h diff --git a/BUILD.gn b/BUILD.gn index d7cab2d3a3..99823cfea3 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -1180,6 +1180,8 @@ if (pdf_enable_xfa) { "xfa/fwl/core/cfwl_edit.h", "xfa/fwl/core/cfwl_event.cpp", "xfa/fwl/core/cfwl_event.h", + "xfa/fwl/core/cfwl_evtcheckword.cpp", + "xfa/fwl/core/cfwl_evtcheckword.h", "xfa/fwl/core/cfwl_evtclick.cpp", "xfa/fwl/core/cfwl_evtclick.h", "xfa/fwl/core/cfwl_evtclose.cpp", @@ -1198,6 +1200,12 @@ if (pdf_enable_xfa) { "xfa/fwl/core/cfwl_evtsetfocus.h", "xfa/fwl/core/cfwl_evtsizechanged.cpp", "xfa/fwl/core/cfwl_evtsizechanged.h", + "xfa/fwl/core/cfwl_evttextchanged.cpp", + "xfa/fwl/core/cfwl_evttextchanged.h", + "xfa/fwl/core/cfwl_evttextfull.cpp", + "xfa/fwl/core/cfwl_evttextfull.h", + "xfa/fwl/core/cfwl_evtvalidate.cpp", + "xfa/fwl/core/cfwl_evtvalidate.h", "xfa/fwl/core/cfwl_listbox.cpp", "xfa/fwl/core/cfwl_listbox.h", "xfa/fwl/core/cfwl_listitem.cpp", diff --git a/xfa/fwl/core/cfwl_evtcheckword.cpp b/xfa/fwl/core/cfwl_evtcheckword.cpp new file mode 100644 index 0000000000..99ecee96e0 --- /dev/null +++ b/xfa/fwl/core/cfwl_evtcheckword.cpp @@ -0,0 +1,15 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "xfa/fwl/core/cfwl_evtcheckword.h" + +CFWL_EvtCheckWord::CFWL_EvtCheckWord() {} + +CFWL_EvtCheckWord::~CFWL_EvtCheckWord() {} + +CFWL_EventType CFWL_EvtCheckWord::GetClassID() const { + return CFWL_EventType::CheckWord; +} diff --git a/xfa/fwl/core/cfwl_evtcheckword.h b/xfa/fwl/core/cfwl_evtcheckword.h new file mode 100644 index 0000000000..aceb865cf5 --- /dev/null +++ b/xfa/fwl/core/cfwl_evtcheckword.h @@ -0,0 +1,23 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef XFA_FWL_CORE_CFWL_EVTCHECKWORD_H_ +#define XFA_FWL_CORE_CFWL_EVTCHECKWORD_H_ + +#include "xfa/fwl/core/cfwl_event.h" + +class CFWL_EvtCheckWord : public CFWL_Event { + public: + CFWL_EvtCheckWord(); + ~CFWL_EvtCheckWord() override; + + CFWL_EventType GetClassID() const override; + + CFX_ByteString bsWord; + bool bCheckWord; +}; + +#endif // XFA_FWL_CORE_CFWL_EVTCHECKWORD_H_ diff --git a/xfa/fwl/core/cfwl_evttextchanged.cpp b/xfa/fwl/core/cfwl_evttextchanged.cpp new file mode 100644 index 0000000000..76718be6a2 --- /dev/null +++ b/xfa/fwl/core/cfwl_evttextchanged.cpp @@ -0,0 +1,15 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "xfa/fwl/core/cfwl_evttextchanged.h" + +CFWL_EvtTextChanged::CFWL_EvtTextChanged() {} + +CFWL_EvtTextChanged::~CFWL_EvtTextChanged() {} + +CFWL_EventType CFWL_EvtTextChanged::GetClassID() const { + return CFWL_EventType::TextChanged; +} diff --git a/xfa/fwl/core/cfwl_evttextchanged.h b/xfa/fwl/core/cfwl_evttextchanged.h new file mode 100644 index 0000000000..69d28bb4a6 --- /dev/null +++ b/xfa/fwl/core/cfwl_evttextchanged.h @@ -0,0 +1,25 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef XFA_FWL_CORE_CFWL_EVTTEXTCHANGED_H_ +#define XFA_FWL_CORE_CFWL_EVTTEXTCHANGED_H_ + +#include "xfa/fwl/core/cfwl_event.h" + +class CFWL_EvtTextChanged : public CFWL_Event { + public: + CFWL_EvtTextChanged(); + ~CFWL_EvtTextChanged() override; + + CFWL_EventType GetClassID() const override; + + int32_t nChangeType; + CFX_WideString wsInsert; + CFX_WideString wsDelete; + CFX_WideString wsPrevText; +}; + +#endif // XFA_FWL_CORE_CFWL_EVTTEXTCHANGED_H_ diff --git a/xfa/fwl/core/cfwl_evttextfull.cpp b/xfa/fwl/core/cfwl_evttextfull.cpp new file mode 100644 index 0000000000..4762f24755 --- /dev/null +++ b/xfa/fwl/core/cfwl_evttextfull.cpp @@ -0,0 +1,15 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "xfa/fwl/core/cfwl_evttextfull.h" + +CFWL_EvtTextFull::CFWL_EvtTextFull() {} + +CFWL_EvtTextFull::~CFWL_EvtTextFull() {} + +CFWL_EventType CFWL_EvtTextFull::GetClassID() const { + return CFWL_EventType::TextFull; +} diff --git a/xfa/fwl/core/cfwl_evttextfull.h b/xfa/fwl/core/cfwl_evttextfull.h new file mode 100644 index 0000000000..40fcd8a84e --- /dev/null +++ b/xfa/fwl/core/cfwl_evttextfull.h @@ -0,0 +1,20 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef XFA_FWL_CORE_CFWL_EVTTEXTFULL_H_ +#define XFA_FWL_CORE_CFWL_EVTTEXTFULL_H_ + +#include "xfa/fwl/core/cfwl_event.h" + +class CFWL_EvtTextFull : public CFWL_Event { + public: + CFWL_EvtTextFull(); + ~CFWL_EvtTextFull() override; + + CFWL_EventType GetClassID() const override; +}; + +#endif // XFA_FWL_CORE_CFWL_EVTTEXTFULL_H_ diff --git a/xfa/fwl/core/cfwl_evtvalidate.cpp b/xfa/fwl/core/cfwl_evtvalidate.cpp new file mode 100644 index 0000000000..7b795f6ca6 --- /dev/null +++ b/xfa/fwl/core/cfwl_evtvalidate.cpp @@ -0,0 +1,15 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "xfa/fwl/core/cfwl_evtvalidate.h" + +CFWL_EvtValidate::CFWL_EvtValidate() {} + +CFWL_EvtValidate::~CFWL_EvtValidate() {} + +CFWL_EventType CFWL_EvtValidate::GetClassID() const { + return CFWL_EventType::Validate; +} diff --git a/xfa/fwl/core/cfwl_evtvalidate.h b/xfa/fwl/core/cfwl_evtvalidate.h new file mode 100644 index 0000000000..be9fd5642e --- /dev/null +++ b/xfa/fwl/core/cfwl_evtvalidate.h @@ -0,0 +1,24 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef XFA_FWL_CORE_CFWL_EVTVALIDATE_H_ +#define XFA_FWL_CORE_CFWL_EVTVALIDATE_H_ + +#include "xfa/fwl/core/cfwl_event.h" + +class CFWL_EvtValidate : public CFWL_Event { + public: + CFWL_EvtValidate(); + ~CFWL_EvtValidate() override; + + CFWL_EventType GetClassID() const override; + + IFWL_Widget* pDstWidget; + CFX_WideString wsInsert; + bool bValidate; +}; + +#endif // XFA_FWL_CORE_CFWL_EVTVALIDATE_H_ diff --git a/xfa/fwl/core/ifwl_combobox.cpp b/xfa/fwl/core/ifwl_combobox.cpp index f47e4a1a5e..5221f773e5 100644 --- a/xfa/fwl/core/ifwl_combobox.cpp +++ b/xfa/fwl/core/ifwl_combobox.cpp @@ -9,6 +9,7 @@ #include "third_party/base/ptr_util.h" #include "xfa/fde/cfde_txtedtengine.h" #include "xfa/fde/tto/fde_textout.h" +#include "xfa/fwl/core/cfwl_evttextchanged.h" #include "xfa/fwl/core/cfwl_msgkey.h" #include "xfa/fwl/core/cfwl_msgkillfocus.h" #include "xfa/fwl/core/cfwl_msgmouse.h" @@ -865,8 +866,8 @@ void IFWL_ComboBox::OnProcessEvent(CFWL_Event* pEvent) { pScrollEv.m_fPos = pScrollEvent->m_fPos; DispatchEvent(&pScrollEv); } else if (dwFlag == CFWL_EventType::TextChanged) { - CFWL_EvtEdtTextChanged* pTextChangedEvent = - static_cast(pEvent); + CFWL_EvtTextChanged* pTextChangedEvent = + static_cast(pEvent); CFWL_EvtCmbEditChanged pTemp; pTemp.m_pSrcTarget = this; pTemp.wsInsert = pTextChangedEvent->wsInsert; diff --git a/xfa/fwl/core/ifwl_edit.cpp b/xfa/fwl/core/ifwl_edit.cpp index d046a624a8..c3b0be0240 100644 --- a/xfa/fwl/core/ifwl_edit.cpp +++ b/xfa/fwl/core/ifwl_edit.cpp @@ -17,6 +17,10 @@ #include "xfa/fde/fde_render.h" #include "xfa/fde/ifde_txtedtpage.h" #include "xfa/fgas/font/fgas_gefont.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" #include "xfa/fwl/core/cfwl_themebackground.h" @@ -196,7 +200,7 @@ void IFWL_Edit::DrawSpellCheck(CFX_Graphics* pGraphics, pGraphics->ConcatMatrix(const_cast(pMatrix)); CFX_Color crLine(0xFFFF0000); - CFWL_EvtEdtCheckWord checkWordEvent; + CFWL_EvtCheckWord checkWordEvent; checkWordEvent.m_pSrcTarget = this; CFX_ByteString sLatinWord; @@ -220,6 +224,7 @@ void IFWL_Edit::DrawSpellCheck(CFX_Graphics* pGraphics, checkWordEvent.bsWord = sLatinWord; checkWordEvent.bCheckWord = true; DispatchEvent(&checkWordEvent); + if (!sLatinWord.IsEmpty() && !checkWordEvent.bCheckWord) { AddSpellCheckObj(pathSpell, nStart, sLatinWord.GetLength(), fOffSetX, fOffSetY); @@ -450,7 +455,7 @@ void IFWL_Edit::On_TextChanged(CFDE_TxtEdtEngine* pEdit, CFX_RectF rtTemp; GetClientRect(rtTemp); - CFWL_EvtEdtTextChanged event; + CFWL_EvtTextChanged event; event.m_pSrcTarget = this; event.nChangeType = ChangeInfo.nChangeType; event.wsInsert = ChangeInfo.wsInsert; @@ -500,7 +505,7 @@ bool IFWL_Edit::On_Validate(CFDE_TxtEdtEngine* pEdit, CFX_WideString& wsText) { if (!pDst) pDst = this; - CFWL_EvtEdtValidate event; + CFWL_EvtValidate event; event.pDstWidget = pDst; event.m_pSrcTarget = this; event.wsInsert = wsText; @@ -1273,16 +1278,12 @@ void IFWL_Edit::ClearRecord() { } void IFWL_Edit::ProcessInsertError(int32_t iError) { - switch (iError) { - case -2: { - CFWL_EvtEdtTextFull textFullEvent; - textFullEvent.m_pSrcTarget = this; - DispatchEvent(&textFullEvent); - break; - } - default: - break; - } + if (iError != -2) + return; + + CFWL_EvtTextFull textFullEvent; + textFullEvent.m_pSrcTarget = this; + DispatchEvent(&textFullEvent); } void IFWL_Edit::OnProcessMessage(CFWL_Message* pMessage) { diff --git a/xfa/fwl/core/ifwl_edit.h b/xfa/fwl/core/ifwl_edit.h index 0f8b7a1219..e02ae31d7f 100644 --- a/xfa/fwl/core/ifwl_edit.h +++ b/xfa/fwl/core/ifwl_edit.h @@ -50,32 +50,6 @@ #define FWL_STYLEEXT_EDT_OuterScrollbar (1L << 26) #define FWL_STYLEEXT_EDT_LastLineHeight (1L << 27) -enum FWL_EDT_TEXTCHANGED { - FWL_EDT_TEXTCHANGED_Insert = 0, - FWL_EDT_TEXTCHANGED_Delete, - FWL_EDT_TEXTCHANGED_Replace, -}; - -FWL_EVENT_DEF(CFWL_EvtEdtTextChanged, - CFWL_EventType::TextChanged, - int32_t nChangeType; - CFX_WideString wsInsert; - CFX_WideString wsDelete; - CFX_WideString wsPrevText;) - -FWL_EVENT_DEF(CFWL_EvtEdtTextFull, CFWL_EventType::TextFull) - -FWL_EVENT_DEF(CFWL_EvtEdtValidate, - CFWL_EventType::Validate, - IFWL_Widget* pDstWidget; - CFX_WideString wsInsert; - bool bValidate;) - -FWL_EVENT_DEF(CFWL_EvtEdtCheckWord, - CFWL_EventType::CheckWord, - CFX_ByteString bsWord; - bool bCheckWord;) - class IFDE_TxtEdtDoRecord; class IFWL_Edit; class CFWL_MsgMouse; diff --git a/xfa/fxfa/app/xfa_fftextedit.cpp b/xfa/fxfa/app/xfa_fftextedit.cpp index 1c6c28352b..8475f293d3 100644 --- a/xfa/fxfa/app/xfa_fftextedit.cpp +++ b/xfa/fxfa/app/xfa_fftextedit.cpp @@ -10,11 +10,13 @@ #include "xfa/fwl/core/cfwl_datetimepicker.h" #include "xfa/fwl/core/cfwl_edit.h" +#include "xfa/fwl/core/cfwl_evtcheckword.h" +#include "xfa/fwl/core/cfwl_evttextchanged.h" +#include "xfa/fwl/core/cfwl_evtvalidate.h" #include "xfa/fwl/core/cfwl_msgkillfocus.h" #include "xfa/fwl/core/cfwl_msgmouse.h" #include "xfa/fwl/core/cfwl_msgsetfocus.h" #include "xfa/fwl/core/fwl_noteimp.h" -#include "xfa/fwl/core/ifwl_edit.h" #include "xfa/fxfa/app/xfa_fffield.h" #include "xfa/fxfa/app/xfa_fwladapter.h" #include "xfa/fxfa/app/xfa_textlayout.h" @@ -338,7 +340,7 @@ void CXFA_FFTextEdit::OnProcessEvent(CFWL_Event* pEvent) { CXFA_FFField::OnProcessEvent(pEvent); switch (pEvent->GetClassID()) { case CFWL_EventType::TextChanged: { - CFWL_EvtEdtTextChanged* event = (CFWL_EvtEdtTextChanged*)pEvent; + CFWL_EvtTextChanged* event = static_cast(pEvent); CFX_WideString wsChange; OnTextChanged(m_pNormalWidget->GetWidget(), wsChange, event->wsPrevText); break; @@ -349,7 +351,7 @@ void CXFA_FFTextEdit::OnProcessEvent(CFWL_Event* pEvent) { } case CFWL_EventType::CheckWord: { CFX_WideString wstr(L"FWL_EVENT_DTP_SelectChanged"); - CFWL_EvtEdtCheckWord* event = (CFWL_EvtEdtCheckWord*)pEvent; + CFWL_EvtCheckWord* event = static_cast(pEvent); event->bCheckWord = CheckWord(event->bsWord.AsStringC()); break; } @@ -417,9 +419,9 @@ void CXFA_FFNumericEdit::UpdateWidgetProperty() { void CXFA_FFNumericEdit::OnProcessEvent(CFWL_Event* pEvent) { if (pEvent->GetClassID() == CFWL_EventType::Validate) { - CFWL_EvtEdtValidate* event = (CFWL_EvtEdtValidate*)pEvent; - CFX_WideString wsChange = event->wsInsert; - event->bValidate = OnValidate(m_pNormalWidget->GetWidget(), wsChange); + CFWL_EvtValidate* event = static_cast(pEvent); + event->bValidate = + OnValidate(m_pNormalWidget->GetWidget(), event->wsInsert); return; } CXFA_FFTextEdit::OnProcessEvent(pEvent); -- cgit v1.2.3