| 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 #ifndef FPDFSDK_JAVASCRIPT_FIELD_H_ | 7 #ifndef FPDFSDK_JAVASCRIPT_FIELD_H_ |
| 8 #define FPDFSDK_JAVASCRIPT_FIELD_H_ | 8 #define FPDFSDK_JAVASCRIPT_FIELD_H_ |
| 9 | 9 |
| 10 #include <string> | 10 #include <string> |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 FP_ROTATION, | 46 FP_ROTATION, |
| 47 FP_STROKECOLOR, | 47 FP_STROKECOLOR, |
| 48 FP_STYLE, | 48 FP_STYLE, |
| 49 FP_TEXTCOLOR, | 49 FP_TEXTCOLOR, |
| 50 FP_TEXTFONT, | 50 FP_TEXTFONT, |
| 51 FP_TEXTSIZE, | 51 FP_TEXTSIZE, |
| 52 FP_USERNAME, | 52 FP_USERNAME, |
| 53 FP_VALUE | 53 FP_VALUE |
| 54 }; | 54 }; |
| 55 | 55 |
| 56 class CJS_WideStringArray { | 56 struct CJS_DelayData { |
| 57 public: | 57 CJS_DelayData(FIELD_PROP prop, int idx, const CFX_WideString& name) |
| 58 CJS_WideStringArray() {} | 58 : eProp(prop), nControlIndex(idx), sFieldName(name) {} |
| 59 virtual ~CJS_WideStringArray() { | |
| 60 for (int i = 0, sz = m_Data.GetSize(); i < sz; i++) | |
| 61 delete m_Data.GetAt(i); | |
| 62 m_Data.RemoveAll(); | |
| 63 } | |
| 64 | 59 |
| 65 void Add(const CFX_WideString& string) { | 60 FIELD_PROP eProp; |
| 66 m_Data.Add(new CFX_WideString(string)); | 61 int nControlIndex; |
| 67 } | |
| 68 | |
| 69 int GetSize() const { return m_Data.GetSize(); } | |
| 70 | |
| 71 CFX_WideString GetAt(int i) const { return *m_Data.GetAt(i); } | |
| 72 | |
| 73 private: | |
| 74 CFX_ArrayTemplate<CFX_WideString*> m_Data; | |
| 75 }; | |
| 76 | |
| 77 struct CJS_DelayData { | |
| 78 CFX_WideString sFieldName; | 62 CFX_WideString sFieldName; |
| 79 int nControlIndex; | |
| 80 enum FIELD_PROP eProp; | |
| 81 int32_t num; | 63 int32_t num; |
| 82 bool b; | 64 bool b; |
| 83 CFX_ByteString string; | 65 CFX_ByteString string; |
| 84 CFX_WideString widestring; | 66 CFX_WideString widestring; |
| 85 CFX_FloatRect rect; | 67 CFX_FloatRect rect; |
| 86 CPWL_Color color; | 68 CPWL_Color color; |
| 87 CFX_ArrayTemplate<uint32_t> wordarray; | 69 std::vector<uint32_t> wordarray; |
| 88 CJS_WideStringArray widestringarray; | 70 std::vector<CFX_WideString> widestringarray; |
| 89 }; | 71 }; |
| 90 | 72 |
| 91 class Field : public CJS_EmbedObj { | 73 class Field : public CJS_EmbedObj { |
| 92 public: | 74 public: |
| 93 explicit Field(CJS_Object* pJSObject); | 75 explicit Field(CJS_Object* pJSObject); |
| 94 ~Field() override; | 76 ~Field() override; |
| 95 | 77 |
| 96 FX_BOOL alignment(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError); | 78 FX_BOOL alignment(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError); |
| 97 FX_BOOL borderStyle(IJS_Context* cc, | 79 FX_BOOL borderStyle(IJS_Context* cc, |
| 98 CJS_PropValue& vp, | 80 CJS_PropValue& vp, |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 337 const CFX_WideString& swFieldName, | 319 const CFX_WideString& swFieldName, |
| 338 int nControlIndex, | 320 int nControlIndex, |
| 339 bool b); | 321 bool b); |
| 340 static void SetCommitOnSelChange(CPDFSDK_Document* pDocument, | 322 static void SetCommitOnSelChange(CPDFSDK_Document* pDocument, |
| 341 const CFX_WideString& swFieldName, | 323 const CFX_WideString& swFieldName, |
| 342 int nControlIndex, | 324 int nControlIndex, |
| 343 bool b); | 325 bool b); |
| 344 static void SetCurrentValueIndices(CPDFSDK_Document* pDocument, | 326 static void SetCurrentValueIndices(CPDFSDK_Document* pDocument, |
| 345 const CFX_WideString& swFieldName, | 327 const CFX_WideString& swFieldName, |
| 346 int nControlIndex, | 328 int nControlIndex, |
| 347 const CFX_ArrayTemplate<uint32_t>& array); | 329 const std::vector<uint32_t>& array); |
| 348 static void SetDefaultStyle(CPDFSDK_Document* pDocument, | 330 static void SetDefaultStyle(CPDFSDK_Document* pDocument, |
| 349 const CFX_WideString& swFieldName, | 331 const CFX_WideString& swFieldName, |
| 350 int nControlIndex); | 332 int nControlIndex); |
| 351 static void SetDefaultValue(CPDFSDK_Document* pDocument, | 333 static void SetDefaultValue(CPDFSDK_Document* pDocument, |
| 352 const CFX_WideString& swFieldName, | 334 const CFX_WideString& swFieldName, |
| 353 int nControlIndex, | 335 int nControlIndex, |
| 354 const CFX_WideString& string); | 336 const CFX_WideString& string); |
| 355 static void SetDoNotScroll(CPDFSDK_Document* pDocument, | 337 static void SetDoNotScroll(CPDFSDK_Document* pDocument, |
| 356 const CFX_WideString& swFieldName, | 338 const CFX_WideString& swFieldName, |
| 357 int nControlIndex, | 339 int nControlIndex, |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 423 const CFX_WideString& swFieldName, | 405 const CFX_WideString& swFieldName, |
| 424 int nControlIndex, | 406 int nControlIndex, |
| 425 int number); | 407 int number); |
| 426 static void SetUserName(CPDFSDK_Document* pDocument, | 408 static void SetUserName(CPDFSDK_Document* pDocument, |
| 427 const CFX_WideString& swFieldName, | 409 const CFX_WideString& swFieldName, |
| 428 int nControlIndex, | 410 int nControlIndex, |
| 429 const CFX_WideString& string); | 411 const CFX_WideString& string); |
| 430 static void SetValue(CPDFSDK_Document* pDocument, | 412 static void SetValue(CPDFSDK_Document* pDocument, |
| 431 const CFX_WideString& swFieldName, | 413 const CFX_WideString& swFieldName, |
| 432 int nControlIndex, | 414 int nControlIndex, |
| 433 const CJS_WideStringArray& strArray); | 415 const std::vector<CFX_WideString>& strArray); |
| 434 | 416 |
| 435 static void AddField(CPDFSDK_Document* pDocument, | 417 static void AddField(CPDFSDK_Document* pDocument, |
| 436 int nPageIndex, | 418 int nPageIndex, |
| 437 int nFieldType, | 419 int nFieldType, |
| 438 const CFX_WideString& sName, | 420 const CFX_WideString& sName, |
| 439 const CFX_FloatRect& rcCoords); | 421 const CFX_FloatRect& rcCoords); |
| 440 | 422 |
| 441 static void UpdateFormField(CPDFSDK_Document* pDocument, | 423 static void UpdateFormField(CPDFSDK_Document* pDocument, |
| 442 CPDF_FormField* pFormField, | 424 CPDF_FormField* pFormField, |
| 443 FX_BOOL bChangeMark, | 425 FX_BOOL bChangeMark, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 463 | 445 |
| 464 protected: | 446 protected: |
| 465 void ParseFieldName(const std::wstring& strFieldNameParsed, | 447 void ParseFieldName(const std::wstring& strFieldNameParsed, |
| 466 std::wstring& strFieldName, | 448 std::wstring& strFieldName, |
| 467 int& iControlNo); | 449 int& iControlNo); |
| 468 std::vector<CPDF_FormField*> GetFormFields( | 450 std::vector<CPDF_FormField*> GetFormFields( |
| 469 const CFX_WideString& csFieldName) const; | 451 const CFX_WideString& csFieldName) const; |
| 470 CPDF_FormControl* GetSmartFieldControl(CPDF_FormField* pFormField); | 452 CPDF_FormControl* GetSmartFieldControl(CPDF_FormField* pFormField); |
| 471 FX_BOOL ValueIsOccur(CPDF_FormField* pFormField, CFX_WideString csOptLabel); | 453 FX_BOOL ValueIsOccur(CPDF_FormField* pFormField, CFX_WideString csOptLabel); |
| 472 | 454 |
| 473 void AddDelay_Int(enum FIELD_PROP prop, int32_t n); | 455 void AddDelay_Int(FIELD_PROP prop, int32_t n); |
| 474 void AddDelay_Bool(enum FIELD_PROP prop, bool b); | 456 void AddDelay_Bool(FIELD_PROP prop, bool b); |
| 475 void AddDelay_String(enum FIELD_PROP prop, const CFX_ByteString& string); | 457 void AddDelay_String(FIELD_PROP prop, const CFX_ByteString& string); |
| 476 void AddDelay_WideString(enum FIELD_PROP prop, const CFX_WideString& string); | 458 void AddDelay_WideString(FIELD_PROP prop, const CFX_WideString& string); |
| 477 void AddDelay_Rect(enum FIELD_PROP prop, const CFX_FloatRect& rect); | 459 void AddDelay_Rect(FIELD_PROP prop, const CFX_FloatRect& rect); |
| 478 void AddDelay_Color(enum FIELD_PROP prop, const CPWL_Color& color); | 460 void AddDelay_Color(FIELD_PROP prop, const CPWL_Color& color); |
| 479 void AddDelay_WordArray(enum FIELD_PROP prop, | 461 void AddDelay_WordArray(FIELD_PROP prop, const std::vector<uint32_t>& array); |
| 480 const CFX_ArrayTemplate<uint32_t>& array); | 462 void AddDelay_WideStringArray(FIELD_PROP prop, |
| 481 void AddDelay_WideStringArray(enum FIELD_PROP prop, | 463 const std::vector<CFX_WideString>& array); |
| 482 const CJS_WideStringArray& array); | |
| 483 | 464 |
| 484 void DoDelay(); | 465 void DoDelay(); |
| 485 | 466 |
| 486 public: | 467 public: |
| 487 Document* m_pJSDoc; | 468 Document* m_pJSDoc; |
| 488 CPDFSDK_Document* m_pDocument; | 469 CPDFSDK_Document* m_pDocument; |
| 489 CFX_WideString m_FieldName; | 470 CFX_WideString m_FieldName; |
| 490 int m_nFormControlIndex; | 471 int m_nFormControlIndex; |
| 491 FX_BOOL m_bCanSet; | 472 FX_BOOL m_bCanSet; |
| 492 | 473 |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 JS_STATIC_METHOD(setLock, Field); | 558 JS_STATIC_METHOD(setLock, Field); |
| 578 JS_STATIC_METHOD(signatureGetModifications, Field); | 559 JS_STATIC_METHOD(signatureGetModifications, Field); |
| 579 JS_STATIC_METHOD(signatureGetSeedValue, Field); | 560 JS_STATIC_METHOD(signatureGetSeedValue, Field); |
| 580 JS_STATIC_METHOD(signatureInfo, Field); | 561 JS_STATIC_METHOD(signatureInfo, Field); |
| 581 JS_STATIC_METHOD(signatureSetSeedValue, Field); | 562 JS_STATIC_METHOD(signatureSetSeedValue, Field); |
| 582 JS_STATIC_METHOD(signatureSign, Field); | 563 JS_STATIC_METHOD(signatureSign, Field); |
| 583 JS_STATIC_METHOD(signatureValidate, Field); | 564 JS_STATIC_METHOD(signatureValidate, Field); |
| 584 }; | 565 }; |
| 585 | 566 |
| 586 #endif // FPDFSDK_JAVASCRIPT_FIELD_H_ | 567 #endif // FPDFSDK_JAVASCRIPT_FIELD_H_ |
| OLD | NEW |