OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "fpdfsdk/include/formfiller/FFL_IFormFiller.h" | 7 #include "fpdfsdk/include/formfiller/FFL_IFormFiller.h" |
8 | 8 |
9 #include "fpdfsdk/include/formfiller/FFL_CheckBox.h" | 9 #include "fpdfsdk/include/formfiller/FFL_CheckBox.h" |
10 #include "fpdfsdk/include/formfiller/FFL_ComboBox.h" | 10 #include "fpdfsdk/include/formfiller/FFL_ComboBox.h" |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 UnRegisterFormFiller(pAnnot); | 121 UnRegisterFormFiller(pAnnot); |
122 } | 122 } |
123 | 123 |
124 void CFFL_IFormFiller::OnMouseEnter(CPDFSDK_PageView* pPageView, | 124 void CFFL_IFormFiller::OnMouseEnter(CPDFSDK_PageView* pPageView, |
125 CPDFSDK_Annot* pAnnot, | 125 CPDFSDK_Annot* pAnnot, |
126 FX_UINT nFlag) { | 126 FX_UINT nFlag) { |
127 ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget"); | 127 ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget"); |
128 | 128 |
129 if (!m_bNotifying) { | 129 if (!m_bNotifying) { |
130 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; | 130 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; |
131 if (pWidget->GetAAction(CPDF_AAction::CursorEnter)) { | 131 if (pWidget->GetAAction(CPDF_AAction::CursorEnter).GetDict()) { |
132 m_bNotifying = TRUE; | 132 m_bNotifying = TRUE; |
133 | 133 |
134 int nValueAge = pWidget->GetValueAge(); | 134 int nValueAge = pWidget->GetValueAge(); |
135 | 135 |
136 pWidget->ClearAppModified(); | 136 pWidget->ClearAppModified(); |
137 | 137 |
138 ASSERT(pPageView); | 138 ASSERT(pPageView); |
139 | 139 |
140 PDFSDK_FieldAction fa; | 140 PDFSDK_FieldAction fa; |
141 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); | 141 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); |
(...skipping 15 matching lines...) Expand all Loading... |
157 } | 157 } |
158 } | 158 } |
159 | 159 |
160 void CFFL_IFormFiller::OnMouseExit(CPDFSDK_PageView* pPageView, | 160 void CFFL_IFormFiller::OnMouseExit(CPDFSDK_PageView* pPageView, |
161 CPDFSDK_Annot* pAnnot, | 161 CPDFSDK_Annot* pAnnot, |
162 FX_UINT nFlag) { | 162 FX_UINT nFlag) { |
163 ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget"); | 163 ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget"); |
164 | 164 |
165 if (!m_bNotifying) { | 165 if (!m_bNotifying) { |
166 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; | 166 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; |
167 if (pWidget->GetAAction(CPDF_AAction::CursorExit)) { | 167 if (pWidget->GetAAction(CPDF_AAction::CursorExit).GetDict()) { |
168 m_bNotifying = TRUE; | 168 m_bNotifying = TRUE; |
169 pWidget->GetAppearanceAge(); | 169 pWidget->GetAppearanceAge(); |
170 int nValueAge = pWidget->GetValueAge(); | 170 int nValueAge = pWidget->GetValueAge(); |
171 pWidget->ClearAppModified(); | 171 pWidget->ClearAppModified(); |
172 | 172 |
173 ASSERT(pPageView); | 173 ASSERT(pPageView); |
174 | 174 |
175 PDFSDK_FieldAction fa; | 175 PDFSDK_FieldAction fa; |
176 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); | 176 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); |
177 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); | 177 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); |
(...skipping 17 matching lines...) Expand all Loading... |
195 | 195 |
196 FX_BOOL CFFL_IFormFiller::OnLButtonDown(CPDFSDK_PageView* pPageView, | 196 FX_BOOL CFFL_IFormFiller::OnLButtonDown(CPDFSDK_PageView* pPageView, |
197 CPDFSDK_Annot* pAnnot, | 197 CPDFSDK_Annot* pAnnot, |
198 FX_UINT nFlags, | 198 FX_UINT nFlags, |
199 const CFX_FloatPoint& point) { | 199 const CFX_FloatPoint& point) { |
200 ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget"); | 200 ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget"); |
201 | 201 |
202 if (!m_bNotifying) { | 202 if (!m_bNotifying) { |
203 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; | 203 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; |
204 if (Annot_HitTest(pPageView, pAnnot, point) && | 204 if (Annot_HitTest(pPageView, pAnnot, point) && |
205 pWidget->GetAAction(CPDF_AAction::ButtonDown)) { | 205 pWidget->GetAAction(CPDF_AAction::ButtonDown).GetDict()) { |
206 m_bNotifying = TRUE; | 206 m_bNotifying = TRUE; |
207 pWidget->GetAppearanceAge(); | 207 pWidget->GetAppearanceAge(); |
208 int nValueAge = pWidget->GetValueAge(); | 208 int nValueAge = pWidget->GetValueAge(); |
209 pWidget->ClearAppModified(); | 209 pWidget->ClearAppModified(); |
210 | 210 |
211 ASSERT(pPageView); | 211 ASSERT(pPageView); |
212 | 212 |
213 PDFSDK_FieldAction fa; | 213 PDFSDK_FieldAction fa; |
214 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlags); | 214 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlags); |
215 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlags); | 215 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlags); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 } | 277 } |
278 | 278 |
279 void CFFL_IFormFiller::OnButtonUp(CPDFSDK_Widget* pWidget, | 279 void CFFL_IFormFiller::OnButtonUp(CPDFSDK_Widget* pWidget, |
280 CPDFSDK_PageView* pPageView, | 280 CPDFSDK_PageView* pPageView, |
281 FX_BOOL& bReset, | 281 FX_BOOL& bReset, |
282 FX_BOOL& bExit, | 282 FX_BOOL& bExit, |
283 FX_UINT nFlag) { | 283 FX_UINT nFlag) { |
284 ASSERT(pWidget); | 284 ASSERT(pWidget); |
285 | 285 |
286 if (!m_bNotifying) { | 286 if (!m_bNotifying) { |
287 if (pWidget->GetAAction(CPDF_AAction::ButtonUp)) { | 287 if (pWidget->GetAAction(CPDF_AAction::ButtonUp).GetDict()) { |
288 m_bNotifying = TRUE; | 288 m_bNotifying = TRUE; |
289 int nAge = pWidget->GetAppearanceAge(); | 289 int nAge = pWidget->GetAppearanceAge(); |
290 int nValueAge = pWidget->GetValueAge(); | 290 int nValueAge = pWidget->GetValueAge(); |
291 | 291 |
292 ASSERT(pPageView); | 292 ASSERT(pPageView); |
293 | 293 |
294 PDFSDK_FieldAction fa; | 294 PDFSDK_FieldAction fa; |
295 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); | 295 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); |
296 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); | 296 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); |
297 | 297 |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 } | 408 } |
409 | 409 |
410 FX_BOOL CFFL_IFormFiller::OnSetFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) { | 410 FX_BOOL CFFL_IFormFiller::OnSetFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) { |
411 if (!pAnnot) | 411 if (!pAnnot) |
412 return FALSE; | 412 return FALSE; |
413 | 413 |
414 ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget"); | 414 ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget"); |
415 | 415 |
416 if (!m_bNotifying) { | 416 if (!m_bNotifying) { |
417 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; | 417 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; |
418 if (pWidget->GetAAction(CPDF_AAction::GetFocus)) { | 418 if (pWidget->GetAAction(CPDF_AAction::GetFocus).GetDict()) { |
419 m_bNotifying = TRUE; | 419 m_bNotifying = TRUE; |
420 pWidget->GetAppearanceAge(); | 420 pWidget->GetAppearanceAge(); |
421 | 421 |
422 int nValueAge = pWidget->GetValueAge(); | 422 int nValueAge = pWidget->GetValueAge(); |
423 pWidget->ClearAppModified(); | 423 pWidget->ClearAppModified(); |
424 | 424 |
425 CPDFSDK_PageView* pPageView = pAnnot->GetPageView(); | 425 CPDFSDK_PageView* pPageView = pAnnot->GetPageView(); |
426 ASSERT(pPageView); | 426 ASSERT(pPageView); |
427 | 427 |
428 PDFSDK_FieldAction fa; | 428 PDFSDK_FieldAction fa; |
(...skipping 25 matching lines...) Expand all Loading... |
454 FX_BOOL CFFL_IFormFiller::OnKillFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) { | 454 FX_BOOL CFFL_IFormFiller::OnKillFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) { |
455 if (!pAnnot) | 455 if (!pAnnot) |
456 return FALSE; | 456 return FALSE; |
457 ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget"); | 457 ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget"); |
458 | 458 |
459 if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, FALSE)) { | 459 if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, FALSE)) { |
460 pFormFiller->KillFocusForAnnot(pAnnot, nFlag); | 460 pFormFiller->KillFocusForAnnot(pAnnot, nFlag); |
461 | 461 |
462 if (!m_bNotifying) { | 462 if (!m_bNotifying) { |
463 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; | 463 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; |
464 if (pWidget->GetAAction(CPDF_AAction::LoseFocus)) { | 464 if (pWidget->GetAAction(CPDF_AAction::LoseFocus).GetDict()) { |
465 m_bNotifying = TRUE; | 465 m_bNotifying = TRUE; |
466 pWidget->ClearAppModified(); | 466 pWidget->ClearAppModified(); |
467 | 467 |
468 CPDFSDK_PageView* pPageView = pWidget->GetPageView(); | 468 CPDFSDK_PageView* pPageView = pWidget->GetPageView(); |
469 ASSERT(pPageView); | 469 ASSERT(pPageView); |
470 | 470 |
471 PDFSDK_FieldAction fa; | 471 PDFSDK_FieldAction fa; |
472 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); | 472 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); |
473 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); | 473 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); |
474 | 474 |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
635 nRet = bBottom ? 0 : 1; | 635 nRet = bBottom ? 0 : 1; |
636 fPopupRet = fFactHeight; | 636 fPopupRet = fFactHeight; |
637 } | 637 } |
638 | 638 |
639 void CFFL_IFormFiller::OnKeyStrokeCommit(CPDFSDK_Widget* pWidget, | 639 void CFFL_IFormFiller::OnKeyStrokeCommit(CPDFSDK_Widget* pWidget, |
640 CPDFSDK_PageView* pPageView, | 640 CPDFSDK_PageView* pPageView, |
641 FX_BOOL& bRC, | 641 FX_BOOL& bRC, |
642 FX_BOOL& bExit, | 642 FX_BOOL& bExit, |
643 FX_DWORD nFlag) { | 643 FX_DWORD nFlag) { |
644 if (!m_bNotifying) { | 644 if (!m_bNotifying) { |
645 if (pWidget->GetAAction(CPDF_AAction::KeyStroke)) { | 645 if (pWidget->GetAAction(CPDF_AAction::KeyStroke).GetDict()) { |
646 m_bNotifying = TRUE; | 646 m_bNotifying = TRUE; |
647 pWidget->ClearAppModified(); | 647 pWidget->ClearAppModified(); |
648 | 648 |
649 ASSERT(pPageView); | 649 ASSERT(pPageView); |
650 | 650 |
651 PDFSDK_FieldAction fa; | 651 PDFSDK_FieldAction fa; |
652 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); | 652 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); |
653 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); | 653 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); |
654 fa.bWillCommit = TRUE; | 654 fa.bWillCommit = TRUE; |
655 fa.bKeyDown = TRUE; | 655 fa.bKeyDown = TRUE; |
(...skipping 11 matching lines...) Expand all Loading... |
667 } | 667 } |
668 } | 668 } |
669 } | 669 } |
670 | 670 |
671 void CFFL_IFormFiller::OnValidate(CPDFSDK_Widget* pWidget, | 671 void CFFL_IFormFiller::OnValidate(CPDFSDK_Widget* pWidget, |
672 CPDFSDK_PageView* pPageView, | 672 CPDFSDK_PageView* pPageView, |
673 FX_BOOL& bRC, | 673 FX_BOOL& bRC, |
674 FX_BOOL& bExit, | 674 FX_BOOL& bExit, |
675 FX_DWORD nFlag) { | 675 FX_DWORD nFlag) { |
676 if (!m_bNotifying) { | 676 if (!m_bNotifying) { |
677 if (pWidget->GetAAction(CPDF_AAction::Validate)) { | 677 if (pWidget->GetAAction(CPDF_AAction::Validate).GetDict()) { |
678 m_bNotifying = TRUE; | 678 m_bNotifying = TRUE; |
679 pWidget->ClearAppModified(); | 679 pWidget->ClearAppModified(); |
680 | 680 |
681 ASSERT(pPageView); | 681 ASSERT(pPageView); |
682 | 682 |
683 PDFSDK_FieldAction fa; | 683 PDFSDK_FieldAction fa; |
684 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); | 684 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); |
685 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); | 685 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); |
686 fa.bKeyDown = TRUE; | 686 fa.bKeyDown = TRUE; |
687 fa.bRC = TRUE; | 687 fa.bRC = TRUE; |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
944 OnFull(pData->pWidget, pData->pPageView, bFullReset, bFullExit, nFlag); | 944 OnFull(pData->pWidget, pData->pPageView, bFullReset, bFullExit, nFlag); |
945 | 945 |
946 if (bFullReset || bFullExit) { | 946 if (bFullReset || bFullExit) { |
947 bExit = TRUE; | 947 bExit = TRUE; |
948 return; | 948 return; |
949 } | 949 } |
950 } | 950 } |
951 #endif // PDF_ENABLE_XFA | 951 #endif // PDF_ENABLE_XFA |
952 | 952 |
953 if (!m_bNotifying) { | 953 if (!m_bNotifying) { |
954 if (pData->pWidget->GetAAction(CPDF_AAction::KeyStroke)) { | 954 if (pData->pWidget->GetAAction(CPDF_AAction::KeyStroke).GetDict()) { |
955 m_bNotifying = TRUE; | 955 m_bNotifying = TRUE; |
956 int nAge = pData->pWidget->GetAppearanceAge(); | 956 int nAge = pData->pWidget->GetAppearanceAge(); |
957 int nValueAge = pData->pWidget->GetValueAge(); | 957 int nValueAge = pData->pWidget->GetValueAge(); |
958 | 958 |
959 CPDFSDK_Document* pDocument = pData->pPageView->GetSDKDocument(); | 959 CPDFSDK_Document* pDocument = pData->pPageView->GetSDKDocument(); |
960 | 960 |
961 PDFSDK_FieldAction fa; | 961 PDFSDK_FieldAction fa; |
962 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); | 962 fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag); |
963 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); | 963 fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag); |
964 fa.sChange = strChange; | 964 fa.sChange = strChange; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1005 bExit = TRUE; | 1005 bExit = TRUE; |
1006 m_bNotifying = FALSE; | 1006 m_bNotifying = FALSE; |
1007 return; | 1007 return; |
1008 } | 1008 } |
1009 } | 1009 } |
1010 | 1010 |
1011 m_bNotifying = FALSE; | 1011 m_bNotifying = FALSE; |
1012 } | 1012 } |
1013 } | 1013 } |
1014 } | 1014 } |
OLD | NEW |