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 "../../include/javascript/JavaScript.h" | 7 #include "../../include/javascript/JavaScript.h" |
8 #include "../../include/javascript/IJavaScript.h" | 8 #include "../../include/javascript/IJavaScript.h" |
9 #include "../../include/javascript/JS_Define.h" | 9 #include "../../include/javascript/JS_Define.h" |
10 #include "../../include/javascript/JS_Object.h" | 10 #include "../../include/javascript/JS_Object.h" |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || | 181 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || |
182 m_pDocument->GetPermissions(FPDFPERM_MODIFY); | 182 m_pDocument->GetPermissions(FPDFPERM_MODIFY); |
183 | 183 |
184 CPDFSDK_InterForm* pRDInterForm = m_pDocument->GetInterForm(); | 184 CPDFSDK_InterForm* pRDInterForm = m_pDocument->GetInterForm(); |
185 ASSERT(pRDInterForm != NULL); | 185 ASSERT(pRDInterForm != NULL); |
186 | 186 |
187 CPDF_InterForm* pInterForm = pRDInterForm->GetInterForm(); | 187 CPDF_InterForm* pInterForm = pRDInterForm->GetInterForm(); |
188 ASSERT(pInterForm != NULL); | 188 ASSERT(pInterForm != NULL); |
189 | 189 |
190 CFX_WideString swFieldNameTemp = csFieldName; | 190 CFX_WideString swFieldNameTemp = csFieldName; |
191 » swFieldNameTemp.Replace((FX_LPCWSTR)L"..", (FX_LPCWSTR)L"."); | 191 » swFieldNameTemp.Replace(L"..", L"."); |
192 | 192 |
193 if (pInterForm->CountFields(swFieldNameTemp) <= 0) | 193 if (pInterForm->CountFields(swFieldNameTemp) <= 0) |
194 { | 194 { |
195 std::wstring strFieldName; | 195 std::wstring strFieldName; |
196 int iControlNo = -1; | 196 int iControlNo = -1; |
197 ParseFieldName((wchar_t*)(FX_LPCWSTR)swFieldNameTemp, strFieldNa
me, iControlNo); | 197 ParseFieldName((wchar_t*)(FX_LPCWSTR)swFieldNameTemp, strFieldNa
me, iControlNo); |
198 if (iControlNo == -1) return FALSE; | 198 if (iControlNo == -1) return FALSE; |
199 | 199 |
200 m_FieldName = strFieldName.c_str(); | 200 m_FieldName = strFieldName.c_str(); |
201 m_nFormControlIndex = iControlNo; | 201 m_nFormControlIndex = iControlNo; |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 | 408 |
409 if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 409 if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) |
410 return FALSE; | 410 return FALSE; |
411 | 411 |
412 CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField
); | 412 CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField
); |
413 if (!pFormControl)return FALSE; | 413 if (!pFormControl)return FALSE; |
414 | 414 |
415 switch (pFormControl->GetControlAlignment()) | 415 switch (pFormControl->GetControlAlignment()) |
416 { | 416 { |
417 case 1: | 417 case 1: |
418 » » » » vp << (FX_LPCWSTR)L"center"; | 418 » » » » vp << L"center"; |
419 break; | 419 break; |
420 case 0: | 420 case 0: |
421 » » » » vp << (FX_LPCWSTR)L"left"; | 421 » » » » vp << L"left"; |
422 break; | 422 break; |
423 case 2: | 423 case 2: |
424 » » » » vp << (FX_LPCWSTR)L"right"; | 424 » » » » vp << L"right"; |
425 break; | 425 break; |
426 default: | 426 default: |
427 » » » » vp << (FX_LPCWSTR)L""; | 427 » » » » vp << L""; |
428 } | 428 } |
429 } | 429 } |
430 | 430 |
431 return TRUE; | 431 return TRUE; |
432 } | 432 } |
433 | 433 |
434 void Field::SetAlignment(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
eldName, int nControlIndex, | 434 void Field::SetAlignment(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
eldName, int nControlIndex, |
435 const CFX_ByteString& string) | 435 const CFX_ByteString& string) |
436 { | 436 { |
437 //Not supported. | 437 //Not supported. |
(...skipping 29 matching lines...) Expand all Loading... |
467 if (!pFormField) return FALSE; | 467 if (!pFormField) return FALSE; |
468 | 468 |
469 CPDFSDK_Widget* pWidget = GetWidget(m_pDocument, GetSmartFieldCo
ntrol(pFormField)); | 469 CPDFSDK_Widget* pWidget = GetWidget(m_pDocument, GetSmartFieldCo
ntrol(pFormField)); |
470 if (!pWidget) return FALSE; | 470 if (!pWidget) return FALSE; |
471 | 471 |
472 int nBorderstyle = pWidget->GetBorderStyle(); | 472 int nBorderstyle = pWidget->GetBorderStyle(); |
473 | 473 |
474 switch (nBorderstyle) | 474 switch (nBorderstyle) |
475 { | 475 { |
476 case BBS_SOLID: | 476 case BBS_SOLID: |
477 » » » » vp << (FX_LPCWSTR)L"solid"; | 477 » » » » vp << L"solid"; |
478 break; | 478 break; |
479 case BBS_DASH: | 479 case BBS_DASH: |
480 » » » » vp << (FX_LPCWSTR)L"dashed"; | 480 » » » » vp << L"dashed"; |
481 break; | 481 break; |
482 case BBS_BEVELED: | 482 case BBS_BEVELED: |
483 » » » » vp << (FX_LPCWSTR)L"beveled"; | 483 » » » » vp << L"beveled"; |
484 break; | 484 break; |
485 case BBS_INSET: | 485 case BBS_INSET: |
486 » » » » vp << (FX_LPCWSTR)L"inset"; | 486 » » » » vp << L"inset"; |
487 break; | 487 break; |
488 case BBS_UNDERLINE: | 488 case BBS_UNDERLINE: |
489 » » » » vp << (FX_LPCWSTR)L"underline"; | 489 » » » » vp << L"underline"; |
490 break; | 490 break; |
491 default: | 491 default: |
492 » » » » vp << (FX_LPCWSTR)L""; | 492 » » » » vp << L""; |
493 break; | 493 break; |
494 } | 494 } |
495 } | 495 } |
496 | 496 |
497 return TRUE; | 497 return TRUE; |
498 } | 498 } |
499 | 499 |
500 void Field::SetBorderStyle(CPDFSDK_Document* pDocument, const CFX_WideString& sw
FieldName, int nControlIndex, | 500 void Field::SetBorderStyle(CPDFSDK_Document* pDocument, const CFX_WideString& sw
FieldName, int nControlIndex, |
501 const CFX_ByteString& string) | 501 const CFX_ByteString& string) |
502 { | 502 { |
(...skipping 1362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1865 if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 1865 if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) |
1866 return FALSE; | 1866 return FALSE; |
1867 | 1867 |
1868 CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField
); | 1868 CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField
); |
1869 if (!pFormControl) return FALSE; | 1869 if (!pFormControl) return FALSE; |
1870 | 1870 |
1871 int eHM = pFormControl->GetHighlightingMode(); | 1871 int eHM = pFormControl->GetHighlightingMode(); |
1872 switch (eHM) | 1872 switch (eHM) |
1873 { | 1873 { |
1874 case CPDF_FormControl::None: | 1874 case CPDF_FormControl::None: |
1875 » » » vp << (FX_LPCWSTR)L"none"; | 1875 » » » vp << L"none"; |
1876 break; | 1876 break; |
1877 case CPDF_FormControl::Push: | 1877 case CPDF_FormControl::Push: |
1878 » » » vp << (FX_LPCWSTR)L"push"; | 1878 » » » vp << L"push"; |
1879 break; | 1879 break; |
1880 case CPDF_FormControl::Invert: | 1880 case CPDF_FormControl::Invert: |
1881 » » » vp << (FX_LPCWSTR)L"invert"; | 1881 » » » vp << L"invert"; |
1882 break; | 1882 break; |
1883 case CPDF_FormControl::Outline: | 1883 case CPDF_FormControl::Outline: |
1884 » » » vp << (FX_LPCWSTR)L"outline"; | 1884 » » » vp << L"outline"; |
1885 break; | 1885 break; |
1886 case CPDF_FormControl::Toggle: | 1886 case CPDF_FormControl::Toggle: |
1887 » » » vp << (FX_LPCWSTR)L"toggle"; | 1887 » » » vp << L"toggle"; |
1888 break; | 1888 break; |
1889 } | 1889 } |
1890 } | 1890 } |
1891 | 1891 |
1892 return TRUE; | 1892 return TRUE; |
1893 } | 1893 } |
1894 | 1894 |
1895 void Field::SetHighlight(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
eldName, int nControlIndex, const CFX_ByteString& string) | 1895 void Field::SetHighlight(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
eldName, int nControlIndex, const CFX_ByteString& string) |
1896 { | 1896 { |
1897 //Not supported. | 1897 //Not supported. |
(...skipping 1095 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2993 CFX_PtrArray FieldArray; | 2993 CFX_PtrArray FieldArray; |
2994 GetFormFields(m_FieldName,FieldArray); | 2994 GetFormFields(m_FieldName,FieldArray); |
2995 if (FieldArray.GetSize() <= 0) return FALSE; | 2995 if (FieldArray.GetSize() <= 0) return FALSE; |
2996 | 2996 |
2997 CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2997 CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
2998 ASSERT(pFormField != NULL); | 2998 ASSERT(pFormField != NULL); |
2999 | 2999 |
3000 switch (pFormField->GetFieldType()) | 3000 switch (pFormField->GetFieldType()) |
3001 { | 3001 { |
3002 case FIELDTYPE_UNKNOWN: | 3002 case FIELDTYPE_UNKNOWN: |
3003 » » » vp << (FX_LPCWSTR)L"unknown"; | 3003 » » » vp << L"unknown"; |
3004 break; | 3004 break; |
3005 case FIELDTYPE_PUSHBUTTON: | 3005 case FIELDTYPE_PUSHBUTTON: |
3006 » » » vp << (FX_LPCWSTR)L"button"; | 3006 » » » vp << L"button"; |
3007 break; | 3007 break; |
3008 case FIELDTYPE_CHECKBOX: | 3008 case FIELDTYPE_CHECKBOX: |
3009 » » » vp << (FX_LPCWSTR)L"checkbox"; | 3009 » » » vp << L"checkbox"; |
3010 break; | 3010 break; |
3011 case FIELDTYPE_RADIOBUTTON: | 3011 case FIELDTYPE_RADIOBUTTON: |
3012 » » » vp << (FX_LPCWSTR)L"radiobutton"; | 3012 » » » vp << L"radiobutton"; |
3013 break; | 3013 break; |
3014 case FIELDTYPE_COMBOBOX: | 3014 case FIELDTYPE_COMBOBOX: |
3015 » » » vp << (FX_LPCWSTR)L"combobox"; | 3015 » » » vp << L"combobox"; |
3016 break; | 3016 break; |
3017 case FIELDTYPE_LISTBOX: | 3017 case FIELDTYPE_LISTBOX: |
3018 » » » vp << (FX_LPCWSTR)L"listbox"; | 3018 » » » vp << L"listbox"; |
3019 break; | 3019 break; |
3020 case FIELDTYPE_TEXTFIELD: | 3020 case FIELDTYPE_TEXTFIELD: |
3021 » » » vp << (FX_LPCWSTR)L"text"; | 3021 » » » vp << L"text"; |
3022 break; | 3022 break; |
3023 case FIELDTYPE_SIGNATURE: | 3023 case FIELDTYPE_SIGNATURE: |
3024 » » » vp << (FX_LPCWSTR)L"signature"; | 3024 » » » vp << L"signature"; |
3025 break; | 3025 break; |
3026 default : | 3026 default : |
3027 » » » vp << (FX_LPCWSTR)L"unknown"; | 3027 » » » vp << L"unknown"; |
3028 break; | 3028 break; |
3029 } | 3029 } |
3030 | 3030 |
3031 return TRUE; | 3031 return TRUE; |
3032 } | 3032 } |
3033 | 3033 |
3034 FX_BOOL Field::userName(OBJ_PROP_PARAMS) | 3034 FX_BOOL Field::userName(OBJ_PROP_PARAMS) |
3035 { | 3035 { |
3036 ASSERT(m_pDocument != NULL); | 3036 ASSERT(m_pDocument != NULL); |
3037 | 3037 |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3199 else | 3199 else |
3200 vp << swValue; | 3200 vp << swValue; |
3201 | 3201 |
3202 bFind = TRUE; | 3202 bFind = TRUE; |
3203 break; | 3203 break; |
3204 } | 3204 } |
3205 else | 3205 else |
3206 continue; | 3206 continue; |
3207 } | 3207 } |
3208 if (!bFind) | 3208 if (!bFind) |
3209 » » » » » vp << (FX_LPCWSTR)L"Off";» »
» » » | 3209 » » » » » vp << L"Off";» » » »
» |
3210 } | 3210 } |
3211 break; | 3211 break; |
3212 default: | 3212 default: |
3213 vp << pFormField->GetValue(); | 3213 vp << pFormField->GetValue(); |
3214 break; | 3214 break; |
3215 } | 3215 } |
3216 } | 3216 } |
3217 | 3217 |
3218 return TRUE; | 3218 return TRUE; |
3219 } | 3219 } |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3305 ASSERT(pFormField != NULL); | 3305 ASSERT(pFormField != NULL); |
3306 | 3306 |
3307 if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON) | 3307 if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON) |
3308 return FALSE; | 3308 return FALSE; |
3309 | 3309 |
3310 if (pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) | 3310 if (pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) |
3311 { | 3311 { |
3312 if(!pFormField->CountControls()) return FALSE; | 3312 if(!pFormField->CountControls()) return FALSE; |
3313 | 3313 |
3314 if (pFormField->GetControl(0)->IsChecked()) | 3314 if (pFormField->GetControl(0)->IsChecked()) |
3315 » » » vp << (FX_LPCWSTR)L"Yes"; | 3315 » » » vp << L"Yes"; |
3316 else | 3316 else |
3317 » » » vp << (FX_LPCWSTR)L"Off"; | 3317 » » » vp << L"Off"; |
3318 } | 3318 } |
3319 else if (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON && !(pFormF
ield->GetFieldFlags() & FIELDFLAG_RADIOSINUNISON)) | 3319 else if (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON && !(pFormF
ield->GetFieldFlags() & FIELDFLAG_RADIOSINUNISON)) |
3320 { | 3320 { |
3321 for (int i=0, sz=pFormField->CountControls(); i<sz; i++) | 3321 for (int i=0, sz=pFormField->CountControls(); i<sz; i++) |
3322 { | 3322 { |
3323 if (pFormField->GetControl(i)->IsChecked()) | 3323 if (pFormField->GetControl(i)->IsChecked()) |
3324 { | 3324 { |
3325 vp << (FX_LPCWSTR)pFormField->GetControl(i)->Get
ExportValue(); | 3325 vp << (FX_LPCWSTR)pFormField->GetControl(i)->Get
ExportValue(); |
3326 break; | 3326 break; |
3327 } | 3327 } |
3328 else | 3328 else |
3329 » » » » vp << (FX_LPCWSTR)L"Off"; | 3329 » » » » vp << L"Off"; |
3330 } | 3330 } |
3331 } | 3331 } |
3332 else if (pFormField->GetFieldType() == FIELDTYPE_LISTBOX && (pFormField-
>CountSelectedItems() > 1)) | 3332 else if (pFormField->GetFieldType() == FIELDTYPE_LISTBOX && (pFormField-
>CountSelectedItems() > 1)) |
3333 { | 3333 { |
3334 » » vp << (FX_LPCWSTR)L""; | 3334 » » vp << L""; |
3335 } | 3335 } |
3336 else | 3336 else |
3337 vp << (FX_LPCWSTR)pFormField->GetValue(); | 3337 vp << (FX_LPCWSTR)pFormField->GetValue(); |
3338 | 3338 |
3339 return TRUE; | 3339 return TRUE; |
3340 } | 3340 } |
3341 | 3341 |
3342 /* --------------------------------- methods --------------------------------- *
/ | 3342 /* --------------------------------- methods --------------------------------- *
/ |
3343 | 3343 |
3344 FX_BOOL Field::browseForFileToSubmit(OBJ_METHOD_PARAMS) | 3344 FX_BOOL Field::browseForFileToSubmit(OBJ_METHOD_PARAMS) |
(...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4119 | 4119 |
4120 #define JS_FIELD_MINWIDTH 1 | 4120 #define JS_FIELD_MINWIDTH 1 |
4121 #define JS_FIELD_MINHEIGHT 1 | 4121 #define JS_FIELD_MINHEIGHT 1 |
4122 | 4122 |
4123 void Field::AddField(CPDFSDK_Document* pDocument, int nPageIndex, int nFieldType
, | 4123 void Field::AddField(CPDFSDK_Document* pDocument, int nPageIndex, int nFieldType
, |
4124 const CFX_WideString& sN
ame, const CPDF_Rect& rcCoords) | 4124 const CFX_WideString& sN
ame, const CPDF_Rect& rcCoords) |
4125 { | 4125 { |
4126 //Not supported. | 4126 //Not supported. |
4127 } | 4127 } |
4128 | 4128 |
OLD | NEW |