| 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/fsdk_baseform.h" | 7 #include "fpdfsdk/include/fsdk_baseform.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 2336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2347 fa.bShift = pEnv->FFI_IsSHIFTKeyDown(0); | 2347 fa.bShift = pEnv->FFI_IsSHIFTKeyDown(0); |
| 2348 fa.sValue = csValue; | 2348 fa.sValue = csValue; |
| 2349 pActionHandler->DoAction_FieldJavaScript(action, CPDF_AAction::Validate, | 2349 pActionHandler->DoAction_FieldJavaScript(action, CPDF_AAction::Validate, |
| 2350 m_pDocument, pFormField, fa); | 2350 m_pDocument, pFormField, fa); |
| 2351 return fa.bRC; | 2351 return fa.bRC; |
| 2352 } | 2352 } |
| 2353 | 2353 |
| 2354 FX_BOOL CPDFSDK_InterForm::DoAction_Hide(const CPDF_Action& action) { | 2354 FX_BOOL CPDFSDK_InterForm::DoAction_Hide(const CPDF_Action& action) { |
| 2355 ASSERT(action); | 2355 ASSERT(action); |
| 2356 | 2356 |
| 2357 CPDF_ActionFields af = action.GetWidgets(); | 2357 CPDF_ActionFields af(&action); |
| 2358 std::vector<CPDF_Object*> fieldObjects = af.GetAllFields(); | 2358 std::vector<CPDF_Object*> fieldObjects = af.GetAllFields(); |
| 2359 std::vector<CPDF_FormField*> fields = GetFieldFromObjects(fieldObjects); | 2359 std::vector<CPDF_FormField*> fields = GetFieldFromObjects(fieldObjects); |
| 2360 | 2360 |
| 2361 FX_BOOL bHide = action.GetHideStatus(); | 2361 FX_BOOL bHide = action.GetHideStatus(); |
| 2362 FX_BOOL bChanged = FALSE; | 2362 FX_BOOL bChanged = FALSE; |
| 2363 | 2363 |
| 2364 for (CPDF_FormField* pField : fields) { | 2364 for (CPDF_FormField* pField : fields) { |
| 2365 for (int i = 0, sz = pField->CountControls(); i < sz; ++i) { | 2365 for (int i = 0, sz = pField->CountControls(); i < sz; ++i) { |
| 2366 CPDF_FormControl* pControl = pField->GetControl(i); | 2366 CPDF_FormControl* pControl = pField->GetControl(i); |
| 2367 ASSERT(pControl); | 2367 ASSERT(pControl); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2384 return bChanged; | 2384 return bChanged; |
| 2385 } | 2385 } |
| 2386 | 2386 |
| 2387 FX_BOOL CPDFSDK_InterForm::DoAction_SubmitForm(const CPDF_Action& action) { | 2387 FX_BOOL CPDFSDK_InterForm::DoAction_SubmitForm(const CPDF_Action& action) { |
| 2388 CFX_WideString sDestination = action.GetFilePath(); | 2388 CFX_WideString sDestination = action.GetFilePath(); |
| 2389 if (sDestination.IsEmpty()) | 2389 if (sDestination.IsEmpty()) |
| 2390 return FALSE; | 2390 return FALSE; |
| 2391 | 2391 |
| 2392 CPDF_Dictionary* pActionDict = action.GetDict(); | 2392 CPDF_Dictionary* pActionDict = action.GetDict(); |
| 2393 if (pActionDict->KeyExist("Fields")) { | 2393 if (pActionDict->KeyExist("Fields")) { |
| 2394 CPDF_ActionFields af = action.GetWidgets(); | 2394 CPDF_ActionFields af(&action); |
| 2395 FX_DWORD dwFlags = action.GetFlags(); | 2395 FX_DWORD dwFlags = action.GetFlags(); |
| 2396 std::vector<CPDF_Object*> fieldObjects = af.GetAllFields(); | 2396 std::vector<CPDF_Object*> fieldObjects = af.GetAllFields(); |
| 2397 std::vector<CPDF_FormField*> fields = GetFieldFromObjects(fieldObjects); | 2397 std::vector<CPDF_FormField*> fields = GetFieldFromObjects(fieldObjects); |
| 2398 if (!fields.empty()) { | 2398 if (!fields.empty()) { |
| 2399 bool bIncludeOrExclude = !(dwFlags & 0x01); | 2399 bool bIncludeOrExclude = !(dwFlags & 0x01); |
| 2400 if (m_pInterForm->CheckRequiredFields(&fields, bIncludeOrExclude)) | 2400 if (m_pInterForm->CheckRequiredFields(&fields, bIncludeOrExclude)) |
| 2401 return FALSE; | 2401 return FALSE; |
| 2402 | 2402 |
| 2403 return SubmitFields(sDestination, fields, bIncludeOrExclude, FALSE); | 2403 return SubmitFields(sDestination, fields, bIncludeOrExclude, FALSE); |
| 2404 } | 2404 } |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2557 return bRet; | 2557 return bRet; |
| 2558 } | 2558 } |
| 2559 | 2559 |
| 2560 FX_BOOL CPDFSDK_InterForm::DoAction_ResetForm(const CPDF_Action& action) { | 2560 FX_BOOL CPDFSDK_InterForm::DoAction_ResetForm(const CPDF_Action& action) { |
| 2561 ASSERT(action); | 2561 ASSERT(action); |
| 2562 | 2562 |
| 2563 CPDF_Dictionary* pActionDict = action.GetDict(); | 2563 CPDF_Dictionary* pActionDict = action.GetDict(); |
| 2564 if (!pActionDict->KeyExist("Fields")) | 2564 if (!pActionDict->KeyExist("Fields")) |
| 2565 return m_pInterForm->ResetForm(true); | 2565 return m_pInterForm->ResetForm(true); |
| 2566 | 2566 |
| 2567 CPDF_ActionFields af = action.GetWidgets(); | 2567 CPDF_ActionFields af(&action); |
| 2568 FX_DWORD dwFlags = action.GetFlags(); | 2568 FX_DWORD dwFlags = action.GetFlags(); |
| 2569 | 2569 |
| 2570 std::vector<CPDF_Object*> fieldObjects = af.GetAllFields(); | 2570 std::vector<CPDF_Object*> fieldObjects = af.GetAllFields(); |
| 2571 std::vector<CPDF_FormField*> fields = GetFieldFromObjects(fieldObjects); | 2571 std::vector<CPDF_FormField*> fields = GetFieldFromObjects(fieldObjects); |
| 2572 return m_pInterForm->ResetForm(fields, !(dwFlags & 0x01), true); | 2572 return m_pInterForm->ResetForm(fields, !(dwFlags & 0x01), true); |
| 2573 } | 2573 } |
| 2574 | 2574 |
| 2575 FX_BOOL CPDFSDK_InterForm::DoAction_ImportData(const CPDF_Action& action) { | 2575 FX_BOOL CPDFSDK_InterForm::DoAction_ImportData(const CPDF_Action& action) { |
| 2576 return FALSE; | 2576 return FALSE; |
| 2577 } | 2577 } |
| (...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2857 break; | 2857 break; |
| 2858 } | 2858 } |
| 2859 } | 2859 } |
| 2860 } | 2860 } |
| 2861 | 2861 |
| 2862 CFX_FloatRect CBA_AnnotIterator::GetAnnotRect(const CPDFSDK_Annot* pAnnot) { | 2862 CFX_FloatRect CBA_AnnotIterator::GetAnnotRect(const CPDFSDK_Annot* pAnnot) { |
| 2863 CFX_FloatRect rcAnnot; | 2863 CFX_FloatRect rcAnnot; |
| 2864 pAnnot->GetPDFAnnot()->GetRect(rcAnnot); | 2864 pAnnot->GetPDFAnnot()->GetRect(rcAnnot); |
| 2865 return rcAnnot; | 2865 return rcAnnot; |
| 2866 } | 2866 } |
| OLD | NEW |