Cleanup: Mark methods with the override keyword.
- Delete unneeded CFFL_ComboBox::CanCopy() and friends.
- Delete unneeded CFFL_FormFiller::CanCopy() and friends.
- Delete unneeded CFFL_TextField::CanCopy() and friends.
- Delete unneeded FormFiller::DoCopy() and friends.
- Rename CFFL_FormFiller::On{Set,Kill}Focus to avoid conflicts.
BUG=pdfium:185
R=thakis@chromium.org
Review URL: https://codereview.chromium.org/1283493004 .
diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp
index c07806c..cc6c9e9 100644
--- a/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp
+++ b/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp
@@ -512,7 +512,7 @@
int pixels,
int image_width,
int image_height,
- FX_BOOL bTransMask = FALSE) const;
+ FX_BOOL bTransMask = FALSE) const override;
FX_FLOAT m_WhitePoint[3];
FX_FLOAT m_BlackPoint[3];
diff --git a/fpdfsdk/include/formfiller/FFL_ComboBox.h b/fpdfsdk/include/formfiller/FFL_ComboBox.h
index 5be7198..5bfbc12 100644
--- a/fpdfsdk/include/formfiller/FFL_ComboBox.h
+++ b/fpdfsdk/include/formfiller/FFL_ComboBox.h
@@ -25,49 +25,40 @@
public IPWL_Edit_Notify {
public:
CFFL_ComboBox(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pWidget);
- virtual ~CFFL_ComboBox();
+ ~CFFL_ComboBox() override;
- virtual PWL_CREATEPARAM GetCreateParam();
- virtual CPWL_Wnd* NewPDFWindow(const PWL_CREATEPARAM& cp,
- CPDFSDK_PageView* pPageView);
+ // CFFL_FormFiller:
+ PWL_CREATEPARAM GetCreateParam() override;
+ CPWL_Wnd* NewPDFWindow(const PWL_CREATEPARAM& cp,
+ CPDFSDK_PageView* pPageView) override;
+ FX_BOOL OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags) override;
+ FX_BOOL IsDataChanged(CPDFSDK_PageView* pPageView) override;
+ void SaveData(CPDFSDK_PageView* pPageView) override;
+ void GetActionData(CPDFSDK_PageView* pPageView,
+ CPDF_AAction::AActionType type,
+ PDFSDK_FieldAction& fa) override;
+ void SetActionData(CPDFSDK_PageView* pPageView,
+ CPDF_AAction::AActionType type,
+ const PDFSDK_FieldAction& fa) override;
+ FX_BOOL IsActionDataChanged(CPDF_AAction::AActionType type,
+ const PDFSDK_FieldAction& faOld,
+ const PDFSDK_FieldAction& faNew) override;
+ void SaveState(CPDFSDK_PageView* pPageView) override;
+ void RestoreState(CPDFSDK_PageView* pPageView) override;
+ CPWL_Wnd* ResetPDFWindow(CPDFSDK_PageView* pPageView,
+ FX_BOOL bRestoreValue) override;
+ void OnKeyStroke(FX_BOOL bKeyDown, FX_DWORD nFlag) override;
- virtual FX_BOOL OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags);
+ // IPWL_FocusHandler:
+ void OnSetFocus(CPWL_Wnd* pWnd) override;
+ void OnKillFocus(CPWL_Wnd* pWnd) override;
- virtual FX_BOOL IsDataChanged(CPDFSDK_PageView* pPageView);
- virtual void SaveData(CPDFSDK_PageView* pPageView);
-
- virtual void GetActionData(CPDFSDK_PageView* pPageView,
- CPDF_AAction::AActionType type,
- PDFSDK_FieldAction& fa);
- virtual void SetActionData(CPDFSDK_PageView* pPageView,
- CPDF_AAction::AActionType type,
- const PDFSDK_FieldAction& fa);
- virtual FX_BOOL IsActionDataChanged(CPDF_AAction::AActionType type,
- const PDFSDK_FieldAction& faOld,
- const PDFSDK_FieldAction& faNew);
- virtual void SaveState(CPDFSDK_PageView* pPageView);
- virtual void RestoreState(CPDFSDK_PageView* pPageView);
-
- virtual CPWL_Wnd* ResetPDFWindow(CPDFSDK_PageView* pPageView,
- FX_BOOL bRestoreValue);
- virtual void OnKeyStroke(FX_BOOL bKeyDown, FX_UINT nFlag);
-
- public:
- virtual void OnSetFocus(CPWL_Wnd* pWnd);
- virtual void OnKillFocus(CPWL_Wnd* pWnd);
-
- public:
- virtual void OnAddUndo(CPWL_Edit* pEdit);
-
- public:
- virtual FX_BOOL CanCopy(CPDFSDK_Document* pDocument);
- virtual FX_BOOL CanCut(CPDFSDK_Document* pDocument);
- virtual FX_BOOL CanPaste(CPDFSDK_Document* pDocument);
+ // IPWL_Edit_Notify:
+ void OnAddUndo(CPWL_Edit* pEdit) override;
private:
CFX_WideString GetSelectExportText();
- private:
CBA_FontMap* m_pFontMap;
FFL_ComboBoxState m_State;
};
diff --git a/fpdfsdk/include/formfiller/FFL_FormFiller.h b/fpdfsdk/include/formfiller/FFL_FormFiller.h
index 64c8136..87fb7ac 100644
--- a/fpdfsdk/include/formfiller/FFL_FormFiller.h
+++ b/fpdfsdk/include/formfiller/FFL_FormFiller.h
@@ -10,18 +10,16 @@
#include "FFL_IFormFiller.h"
#include "FFL_CBA_Fontmap.h"
-class CPDFSDK_Annot;
-class CFFL_FormFiller;
-class CFFL_Notify;
class CPDFDoc_Environment;
-class CPDFSDK_PageView;
+class CPDFSDK_Annot;
class CPDFSDK_Document;
+class CPDFSDK_PageView;
class CPDFSDK_Widget;
class CFFL_FormFiller : public IPWL_Provider, public CPWL_TimerHandler {
public:
CFFL_FormFiller(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pAnnot);
- virtual ~CFFL_FormFiller();
+ ~CFFL_FormFiller() override;
virtual FX_RECT GetViewBBox(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot);
@@ -78,23 +76,16 @@
FX_UINT nFlags);
virtual FX_BOOL OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags);
- virtual FX_BOOL OnSetFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag);
- virtual FX_BOOL OnKillFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag);
-
- virtual FX_BOOL CanCopy(CPDFSDK_Document* pDocument);
- virtual FX_BOOL CanCut(CPDFSDK_Document* pDocument);
- virtual FX_BOOL CanPaste(CPDFSDK_Document* pDocument);
-
- virtual void DoCopy(CPDFSDK_Document* pDocument);
- virtual void DoCut(CPDFSDK_Document* pDocument);
- virtual void DoPaste(CPDFSDK_Document* pDocument);
+ FX_BOOL SetFocusForAnnot(CPDFSDK_Annot* pAnnot, FX_UINT nFlag);
+ FX_BOOL KillFocusForAnnot(CPDFSDK_Annot* pAnnot, FX_UINT nFlag);
// CPWL_TimerHandler
- virtual void TimerProc();
- virtual IFX_SystemHandler* GetSystemHandler() const;
+ void TimerProc() override;
+ IFX_SystemHandler* GetSystemHandler() const override;
- virtual CPDF_Matrix GetWindowMatrix(void* pAttachedData);
- virtual CFX_WideString LoadPopupMenuString(int nIndex);
+ // IPWL_Provider
+ CPDF_Matrix GetWindowMatrix(void* pAttachedData) override;
+ CFX_WideString LoadPopupMenuString(int nIndex) override;
virtual void GetActionData(CPDFSDK_PageView* pPageView,
CPDF_AAction::AActionType type,
@@ -112,7 +103,7 @@
virtual CPWL_Wnd* ResetPDFWindow(CPDFSDK_PageView* pPageView,
FX_BOOL bRestoreValue);
- virtual void OnKeyStroke(FX_BOOL bKeyDown);
+ virtual void OnKeyStroke(FX_BOOL bKeyDown, FX_DWORD nFlag);
CPDF_Matrix GetCurMatrix();
diff --git a/fpdfsdk/include/formfiller/FFL_IFormFiller.h b/fpdfsdk/include/formfiller/FFL_IFormFiller.h
index 3acdb23..8421774 100644
--- a/fpdfsdk/include/formfiller/FFL_IFormFiller.h
+++ b/fpdfsdk/include/formfiller/FFL_IFormFiller.h
@@ -16,8 +16,8 @@
class CFFL_IFormFiller : public IPWL_Filler_Notify {
public:
- CFFL_IFormFiller(CPDFDoc_Environment* pApp);
- virtual ~CFFL_IFormFiller();
+ explicit CFFL_IFormFiller(CPDFDoc_Environment* pApp);
+ ~CFFL_IFormFiller() override;
virtual FX_BOOL Annot_HitTest(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
@@ -25,10 +25,10 @@
virtual FX_RECT GetViewBBox(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot);
virtual void OnDraw(CPDFSDK_PageView* pPageView,
- /*HDC hDC,*/ CPDFSDK_Annot* pAnnot,
+ CPDFSDK_Annot* pAnnot,
CFX_RenderDevice* pDevice,
CPDF_Matrix* pUser2Device,
- /*const CRect& rcWindow,*/ FX_DWORD dwFlags);
+ FX_DWORD dwFlags);
virtual void OnCreate(CPDFSDK_Annot* pAnnot);
virtual void OnLoad(CPDFSDK_Annot* pAnnot);
@@ -79,27 +79,6 @@
virtual FX_BOOL OnSetFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag);
virtual FX_BOOL OnKillFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag);
- virtual void QueryWherePopup(void* pPrivateData,
- FX_FLOAT fPopupMin,
- FX_FLOAT fPopupMax,
- int32_t& nRet,
- FX_FLOAT& fPopupRet);
- virtual void OnBeforeKeyStroke(FX_BOOL bEditOrList,
- void* pPrivateData,
- int32_t nKeyCode,
- CFX_WideString& strChange,
- const CFX_WideString& strChangeEx,
- int nSelStart,
- int nSelEnd,
- FX_BOOL bKeyDown,
- FX_BOOL& bRC,
- FX_BOOL& bExit,
- FX_DWORD nFlag);
- virtual void OnAfterKeyStroke(FX_BOOL bEditOrList,
- void* pPrivateData,
- FX_BOOL& bExit,
- FX_DWORD nFlag);
-
CFFL_FormFiller* GetFormFiller(CPDFSDK_Annot* pAnnot, FX_BOOL bRegister);
void RemoveFormFiller(CPDFSDK_Annot* pAnnot);
@@ -137,6 +116,28 @@
private:
using CFFL_Widget2Filler = std::map<CPDFSDK_Annot*, CFFL_FormFiller*>;
+ // IPWL_Filler_Notify:
+ void QueryWherePopup(void* pPrivateData,
+ FX_FLOAT fPopupMin,
+ FX_FLOAT fPopupMax,
+ int32_t& nRet,
+ FX_FLOAT& fPopupRet) override;
+ void OnBeforeKeyStroke(FX_BOOL bEditOrList,
+ void* pPrivateData,
+ int32_t nKeyCode,
+ CFX_WideString& strChange,
+ const CFX_WideString& strChangeEx,
+ int nSelStart,
+ int nSelEnd,
+ FX_BOOL bKeyDown,
+ FX_BOOL& bRC,
+ FX_BOOL& bExit,
+ FX_DWORD nFlag) override;
+ void OnAfterKeyStroke(FX_BOOL bEditOrList,
+ void* pPrivateData,
+ FX_BOOL& bExit,
+ FX_DWORD nFlag) override;
+
void UnRegisterFormFiller(CPDFSDK_Annot* pAnnot);
CPDFDoc_Environment* m_pApp;
diff --git a/fpdfsdk/include/formfiller/FFL_TextField.h b/fpdfsdk/include/formfiller/FFL_TextField.h
index 65da925..057825a 100644
--- a/fpdfsdk/include/formfiller/FFL_TextField.h
+++ b/fpdfsdk/include/formfiller/FFL_TextField.h
@@ -26,43 +26,35 @@
public IPWL_Edit_Notify {
public:
CFFL_TextField(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pAnnot);
- virtual ~CFFL_TextField();
+ ~CFFL_TextField() override;
- virtual PWL_CREATEPARAM GetCreateParam();
- virtual CPWL_Wnd* NewPDFWindow(const PWL_CREATEPARAM& cp,
- CPDFSDK_PageView* pPageView);
+ // CFFL_FormFiller:
+ PWL_CREATEPARAM GetCreateParam() override;
+ CPWL_Wnd* NewPDFWindow(const PWL_CREATEPARAM& cp,
+ CPDFSDK_PageView* pPageView) override;
+ FX_BOOL OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags) override;
+ FX_BOOL IsDataChanged(CPDFSDK_PageView* pPageView) override;
+ void SaveData(CPDFSDK_PageView* pPageView) override;
+ void GetActionData(CPDFSDK_PageView* pPageView,
+ CPDF_AAction::AActionType type,
+ PDFSDK_FieldAction& fa) override;
+ void SetActionData(CPDFSDK_PageView* pPageView,
+ CPDF_AAction::AActionType type,
+ const PDFSDK_FieldAction& fa) override;
+ FX_BOOL IsActionDataChanged(CPDF_AAction::AActionType type,
+ const PDFSDK_FieldAction& faOld,
+ const PDFSDK_FieldAction& faNew) override;
+ void SaveState(CPDFSDK_PageView* pPageView) override;
+ void RestoreState(CPDFSDK_PageView* pPageView) override;
+ CPWL_Wnd* ResetPDFWindow(CPDFSDK_PageView* pPageView,
+ FX_BOOL bRestoreValue) override;
- virtual FX_BOOL OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags);
+ // IPWL_FocusHandler:
+ void OnSetFocus(CPWL_Wnd* pWnd) override;
+ void OnKillFocus(CPWL_Wnd* pWnd) override;
- virtual FX_BOOL IsDataChanged(CPDFSDK_PageView* pPageView);
- virtual void SaveData(CPDFSDK_PageView* pPageView);
-
- virtual void GetActionData(CPDFSDK_PageView* pPageView,
- CPDF_AAction::AActionType type,
- PDFSDK_FieldAction& fa);
- virtual void SetActionData(CPDFSDK_PageView* pPageView,
- CPDF_AAction::AActionType type,
- const PDFSDK_FieldAction& fa);
- virtual FX_BOOL IsActionDataChanged(CPDF_AAction::AActionType type,
- const PDFSDK_FieldAction& faOld,
- const PDFSDK_FieldAction& faNew);
- virtual void SaveState(CPDFSDK_PageView* pPageView);
- virtual void RestoreState(CPDFSDK_PageView* pPageView);
-
- virtual CPWL_Wnd* ResetPDFWindow(CPDFSDK_PageView* pPageView,
- FX_BOOL bRestoreValue);
-
- public:
- virtual void OnSetFocus(CPWL_Wnd* pWnd);
- virtual void OnKillFocus(CPWL_Wnd* pWnd);
-
- public:
- virtual void OnAddUndo(CPWL_Edit* pEdit);
-
- public:
- virtual FX_BOOL CanCopy(CPDFSDK_Document* pDocument);
- virtual FX_BOOL CanCut(CPDFSDK_Document* pDocument);
- virtual FX_BOOL CanPaste(CPDFSDK_Document* pDocument);
+ // IPWL_Edit_Notify:
+ void OnAddUndo(CPWL_Edit* pEdit) override;
private:
CBA_FontMap* m_pFontMap;
diff --git a/fpdfsdk/include/fsdk_baseform.h b/fpdfsdk/include/fsdk_baseform.h
index 7b69e5d..bb3e7cd 100644
--- a/fpdfsdk/include/fsdk_baseform.h
+++ b/fpdfsdk/include/fsdk_baseform.h
@@ -231,18 +231,19 @@
CFX_WideString GetTemporaryFileName(const CFX_WideString& sFileExt);
private:
- virtual int BeforeValueChange(const CPDF_FormField* pField,
- CFX_WideString& csValue);
- virtual int AfterValueChange(const CPDF_FormField* pField);
- virtual int BeforeSelectionChange(const CPDF_FormField* pField,
- CFX_WideString& csValue);
- virtual int AfterSelectionChange(const CPDF_FormField* pField);
- virtual int AfterCheckedStatusChange(const CPDF_FormField* pField,
- const CFX_ByteArray& statusArray);
- virtual int BeforeFormReset(const CPDF_InterForm* pForm);
- virtual int AfterFormReset(const CPDF_InterForm* pForm);
- virtual int BeforeFormImportData(const CPDF_InterForm* pForm);
- virtual int AfterFormImportData(const CPDF_InterForm* pForm);
+ // CPDF_FormNotify
+ int BeforeValueChange(const CPDF_FormField* pField,
+ CFX_WideString& csValue) override;
+ int AfterValueChange(const CPDF_FormField* pField) override;
+ int BeforeSelectionChange(const CPDF_FormField* pField,
+ CFX_WideString& csValue) override;
+ int AfterSelectionChange(const CPDF_FormField* pField) override;
+ int AfterCheckedStatusChange(const CPDF_FormField* pField,
+ const CFX_ByteArray& statusArray) override;
+ int BeforeFormReset(const CPDF_InterForm* pForm) override;
+ int AfterFormReset(const CPDF_InterForm* pForm) override;
+ int BeforeFormImportData(const CPDF_InterForm* pForm) override;
+ int AfterFormImportData(const CPDF_InterForm* pForm) override;
FX_BOOL FDFToURLEncodedData(CFX_WideString csFDFFile,
CFX_WideString csTxtFile);
diff --git a/fpdfsdk/src/formfiller/FFL_ComboBox.cpp b/fpdfsdk/src/formfiller/FFL_ComboBox.cpp
index b49726d..2935221 100644
--- a/fpdfsdk/src/formfiller/FFL_ComboBox.cpp
+++ b/fpdfsdk/src/formfiller/FFL_ComboBox.cpp
@@ -300,24 +300,6 @@
ASSERT(m_pApp != NULL);
}
-FX_BOOL CFFL_ComboBox::CanCopy(CPDFSDK_Document* pDocument) {
- ASSERT(pDocument != NULL);
-
- return FALSE;
-}
-
-FX_BOOL CFFL_ComboBox::CanCut(CPDFSDK_Document* pDocument) {
- ASSERT(pDocument != NULL);
-
- return FALSE;
-}
-
-FX_BOOL CFFL_ComboBox::CanPaste(CPDFSDK_Document* pDocument) {
- ASSERT(pDocument != NULL);
-
- return FALSE;
-}
-
void CFFL_ComboBox::OnAddUndo(CPWL_Edit* pEdit) {
ASSERT(pEdit != NULL);
}
diff --git a/fpdfsdk/src/formfiller/FFL_FormFiller.cpp b/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
index 4fb7542..80e1b0e 100644
--- a/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
+++ b/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
@@ -242,7 +242,8 @@
return FALSE;
}
-FX_BOOL CFFL_FormFiller::OnSetFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) {
+FX_BOOL CFFL_FormFiller::SetFocusForAnnot(CPDFSDK_Annot* pAnnot,
+ FX_UINT nFlag) {
CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot;
CPDF_Page* pPage = pWidget->GetPDFPage();
CPDFSDK_Document* pDoc = m_pApp->GetSDKDocument();
@@ -256,7 +257,8 @@
return TRUE;
}
-FX_BOOL CFFL_FormFiller::OnKillFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) {
+FX_BOOL CFFL_FormFiller::KillFocusForAnnot(CPDFSDK_Annot* pAnnot,
+ FX_UINT nFlag) {
if (!IsValid())
return TRUE;
@@ -597,7 +599,7 @@
return m_pApp->GetSysHandler();
}
-void CFFL_FormFiller::OnKeyStroke(FX_BOOL bKeyDown) {}
+void CFFL_FormFiller::OnKeyStroke(FX_BOOL bKeyDown, FX_DWORD nFlag) {}
void CFFL_FormFiller::EscapeFiller(CPDFSDK_PageView* pPageView,
FX_BOOL bDestroyPDFWindow) {
@@ -610,24 +612,6 @@
DestroyPDFWindow(pPageView);
}
-FX_BOOL CFFL_FormFiller::CanCopy(CPDFSDK_Document* pDocument) {
- return FALSE;
-}
-
-FX_BOOL CFFL_FormFiller::CanCut(CPDFSDK_Document* pDocument) {
- return FALSE;
-}
-
-FX_BOOL CFFL_FormFiller::CanPaste(CPDFSDK_Document* pDocument) {
- return FALSE;
-}
-
-void CFFL_FormFiller::DoCopy(CPDFSDK_Document* pDocument) {}
-
-void CFFL_FormFiller::DoCut(CPDFSDK_Document* pDocument) {}
-
-void CFFL_FormFiller::DoPaste(CPDFSDK_Document* pDocument) {}
-
void CFFL_FormFiller::InvalidateRect(double left,
double top,
double right,
diff --git a/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp b/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
index ad57347..f8f8c6a 100644
--- a/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
+++ b/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
@@ -459,7 +459,7 @@
}
if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, TRUE))
- return pFormFiller->OnSetFocus(pAnnot, nFlag);
+ return pFormFiller->SetFocusForAnnot(pAnnot, nFlag);
return TRUE;
}
@@ -470,28 +470,28 @@
ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget");
if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, FALSE)) {
- if (pFormFiller->OnKillFocus(pAnnot, nFlag)) {
- if (!m_bNotifying) {
- CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot;
- if (pWidget->GetAAction(CPDF_AAction::LoseFocus)) {
- m_bNotifying = TRUE;
- pWidget->ClearAppModified();
-
- CPDFSDK_PageView* pPageView = pWidget->GetPageView();
- ASSERT(pPageView != NULL);
-
- PDFSDK_FieldAction fa;
- fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag);
- fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag);
-
- pFormFiller->GetActionData(pPageView, CPDF_AAction::LoseFocus, fa);
-
- pWidget->OnAAction(CPDF_AAction::LoseFocus, fa, pPageView);
- m_bNotifying = FALSE;
- }
- }
- } else
+ if (!pFormFiller->KillFocusForAnnot(pAnnot, nFlag))
return FALSE;
+
+ if (!m_bNotifying) {
+ CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot;
+ if (pWidget->GetAAction(CPDF_AAction::LoseFocus)) {
+ m_bNotifying = TRUE;
+ pWidget->ClearAppModified();
+
+ CPDFSDK_PageView* pPageView = pWidget->GetPageView();
+ ASSERT(pPageView != NULL);
+
+ PDFSDK_FieldAction fa;
+ fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag);
+ fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag);
+
+ pFormFiller->GetActionData(pPageView, CPDF_AAction::LoseFocus, fa);
+
+ pWidget->OnAAction(CPDF_AAction::LoseFocus, fa, pPageView);
+ m_bNotifying = FALSE;
+ }
+ }
}
return TRUE;
@@ -898,13 +898,11 @@
void* pPrivateData,
FX_BOOL& bExit,
FX_DWORD nFlag) {
- ASSERT(pPrivateData != NULL);
CFFL_PrivateData* pData = (CFFL_PrivateData*)pPrivateData;
- ASSERT(pData->pWidget != NULL);
+ ASSERT(pData->pWidget);
CFFL_FormFiller* pFormFiller = GetFormFiller(pData->pWidget, FALSE);
- ASSERT(pFormFiller != NULL);
if (!bEditOrList)
- pFormFiller->OnKeyStroke(bExit);
+ pFormFiller->OnKeyStroke(bExit, nFlag);
}
diff --git a/fpdfsdk/src/formfiller/FFL_TextField.cpp b/fpdfsdk/src/formfiller/FFL_TextField.cpp
index 2acf6b8..b95ac93 100644
--- a/fpdfsdk/src/formfiller/FFL_TextField.cpp
+++ b/fpdfsdk/src/formfiller/FFL_TextField.cpp
@@ -287,22 +287,9 @@
nCharacters, TRUE);
pEdit->SetEditNotify(this);
- // pUndo->BeginEdit(pDocument);
}
}
void CFFL_TextField::OnKillFocus(CPWL_Wnd* pWnd) {}
-FX_BOOL CFFL_TextField::CanCopy(CPDFSDK_Document* pDocument) {
- return FALSE;
-}
-
-FX_BOOL CFFL_TextField::CanCut(CPDFSDK_Document* pDocument) {
- return FALSE;
-}
-
-FX_BOOL CFFL_TextField::CanPaste(CPDFSDK_Document* pDocument) {
- return FALSE;
-}
-
void CFFL_TextField::OnAddUndo(CPWL_Edit* pEdit) {}