summaryrefslogtreecommitdiff
path: root/fpdfsdk
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk')
-rw-r--r--fpdfsdk/include/formfiller/FFL_ComboBox.h69
-rw-r--r--fpdfsdk/include/formfiller/FFL_FormFiller.h31
-rw-r--r--fpdfsdk/include/formfiller/FFL_IFormFiller.h51
-rw-r--r--fpdfsdk/include/formfiller/FFL_TextField.h66
-rw-r--r--fpdfsdk/include/fsdk_baseform.h25
-rw-r--r--fpdfsdk/src/formfiller/FFL_ComboBox.cpp18
-rw-r--r--fpdfsdk/src/formfiller/FFL_FormFiller.cpp26
-rw-r--r--fpdfsdk/src/formfiller/FFL_IFormFiller.cpp42
-rw-r--r--fpdfsdk/src/formfiller/FFL_TextField.cpp13
9 files changed, 134 insertions, 207 deletions
diff --git a/fpdfsdk/include/formfiller/FFL_ComboBox.h b/fpdfsdk/include/formfiller/FFL_ComboBox.h
index 5be7198918..5bfbc12a8e 100644
--- a/fpdfsdk/include/formfiller/FFL_ComboBox.h
+++ b/fpdfsdk/include/formfiller/FFL_ComboBox.h
@@ -25,49 +25,40 @@ class CFFL_ComboBox : public CFFL_FormFiller,
public IPWL_Edit_Notify {
public:
CFFL_ComboBox(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pWidget);
- virtual ~CFFL_ComboBox();
-
- virtual PWL_CREATEPARAM GetCreateParam();
- virtual CPWL_Wnd* NewPDFWindow(const PWL_CREATEPARAM& cp,
- CPDFSDK_PageView* pPageView);
-
- virtual FX_BOOL OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags);
-
- 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);
+ ~CFFL_ComboBox() override;
+
+ // 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;
+
+ // IPWL_FocusHandler:
+ void OnSetFocus(CPWL_Wnd* pWnd) override;
+ void OnKillFocus(CPWL_Wnd* pWnd) override;
+
+ // 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 64c813671a..87fb7acec5 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 @@ class CFFL_FormFiller : public IPWL_Provider, public CPWL_TimerHandler {
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 @@ class CFFL_FormFiller : public IPWL_Provider, public CPWL_TimerHandler {
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 3acdb237d0..8421774bcb 100644
--- a/fpdfsdk/include/formfiller/FFL_IFormFiller.h
+++ b/fpdfsdk/include/formfiller/FFL_IFormFiller.h
@@ -16,8 +16,8 @@ class CFFL_PrivateData;
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 @@ class CFFL_IFormFiller : public IPWL_Filler_Notify {
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 @@ class CFFL_IFormFiller : public IPWL_Filler_Notify {
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 @@ class CFFL_IFormFiller : public IPWL_Filler_Notify {
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 65da9257ac..057825a4e1 100644
--- a/fpdfsdk/include/formfiller/FFL_TextField.h
+++ b/fpdfsdk/include/formfiller/FFL_TextField.h
@@ -26,43 +26,35 @@ class CFFL_TextField : public CFFL_FormFiller,
public IPWL_Edit_Notify {
public:
CFFL_TextField(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pAnnot);
- virtual ~CFFL_TextField();
-
- virtual PWL_CREATEPARAM GetCreateParam();
- virtual CPWL_Wnd* NewPDFWindow(const PWL_CREATEPARAM& cp,
- CPDFSDK_PageView* pPageView);
-
- virtual FX_BOOL OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags);
-
- 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);
+ ~CFFL_TextField() override;
+
+ // 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;
+
+ // IPWL_FocusHandler:
+ void OnSetFocus(CPWL_Wnd* pWnd) override;
+ void OnKillFocus(CPWL_Wnd* pWnd) override;
+
+ // 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 7b69e5d7fa..bb3e7cd653 100644
--- a/fpdfsdk/include/fsdk_baseform.h
+++ b/fpdfsdk/include/fsdk_baseform.h
@@ -231,18 +231,19 @@ class CPDFSDK_InterForm : public CPDF_FormNotify {
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 b49726d5ab..29352216ab 100644
--- a/fpdfsdk/src/formfiller/FFL_ComboBox.cpp
+++ b/fpdfsdk/src/formfiller/FFL_ComboBox.cpp
@@ -300,24 +300,6 @@ void CFFL_ComboBox::OnKillFocus(CPWL_Wnd* pWnd) {
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 4fb7542091..80e1b0e887 100644
--- a/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
+++ b/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
@@ -242,7 +242,8 @@ FX_BOOL CFFL_FormFiller::OnChar(CPDFSDK_Annot* pAnnot,
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 @@ FX_BOOL CFFL_FormFiller::OnSetFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) {
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 @@ IFX_SystemHandler* CFFL_FormFiller::GetSystemHandler() const {
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 @@ void CFFL_FormFiller::EscapeFiller(CPDFSDK_PageView* pPageView,
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 ad573470bd..f8f8c6a943 100644
--- a/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
+++ b/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
@@ -459,7 +459,7 @@ FX_BOOL CFFL_IFormFiller::OnSetFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) {
}
if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, TRUE))
- return pFormFiller->OnSetFocus(pAnnot, nFlag);
+ return pFormFiller->SetFocusForAnnot(pAnnot, nFlag);
return TRUE;
}
@@ -470,28 +470,28 @@ FX_BOOL CFFL_IFormFiller::OnKillFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) {
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();
+ if (!pFormFiller->KillFocusForAnnot(pAnnot, nFlag))
+ return FALSE;
- CPDFSDK_PageView* pPageView = pWidget->GetPageView();
- ASSERT(pPageView != NULL);
+ if (!m_bNotifying) {
+ CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot;
+ if (pWidget->GetAAction(CPDF_AAction::LoseFocus)) {
+ m_bNotifying = TRUE;
+ pWidget->ClearAppModified();
- PDFSDK_FieldAction fa;
- fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag);
- fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag);
+ CPDFSDK_PageView* pPageView = pWidget->GetPageView();
+ ASSERT(pPageView != NULL);
- pFormFiller->GetActionData(pPageView, CPDF_AAction::LoseFocus, fa);
+ PDFSDK_FieldAction fa;
+ fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag);
+ fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag);
- pWidget->OnAAction(CPDF_AAction::LoseFocus, fa, pPageView);
- m_bNotifying = FALSE;
- }
+ pFormFiller->GetActionData(pPageView, CPDF_AAction::LoseFocus, fa);
+
+ pWidget->OnAAction(CPDF_AAction::LoseFocus, fa, pPageView);
+ m_bNotifying = FALSE;
}
- } else
- return FALSE;
+ }
}
return TRUE;
@@ -898,13 +898,11 @@ void CFFL_IFormFiller::OnAfterKeyStroke(FX_BOOL bEditOrList,
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 2acf6b8fda..b95ac9356f 100644
--- a/fpdfsdk/src/formfiller/FFL_TextField.cpp
+++ b/fpdfsdk/src/formfiller/FFL_TextField.cpp
@@ -287,22 +287,9 @@ void CFFL_TextField::OnSetFocus(CPWL_Wnd* pWnd) {
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) {}