| 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" |
| 11 #include "../../include/javascript/JS_Value.h" | 11 #include "../../include/javascript/JS_Value.h" |
| 12 #include "../../include/javascript/Field.h" | 12 #include "../../include/javascript/Field.h" |
| 13 #include "../../include/javascript/JS_EventHandler.h" | 13 #include "../../include/javascript/JS_EventHandler.h" |
| 14 //#include "../include/JS_ResMgr.h" | |
| 15 #include "../../include/javascript/JS_Context.h" | 14 #include "../../include/javascript/JS_Context.h" |
| 16 #include "../../include/javascript/JS_Runtime.h" | 15 #include "../../include/javascript/JS_Runtime.h" |
| 17 #include "../../include/javascript/Document.h" | 16 #include "../../include/javascript/Document.h" |
| 18 #include "../../include/javascript/color.h" | 17 #include "../../include/javascript/color.h" |
| 19 #include "../../include/javascript/PublicMethods.h" | 18 #include "../../include/javascript/PublicMethods.h" |
| 20 #include "../../include/javascript/Icon.h" | 19 #include "../../include/javascript/Icon.h" |
| 21 | 20 |
| 22 | 21 |
| 23 /* ---------------------- Field ---------------------- */ | 22 /* ---------------------- Field ---------------------- */ |
| 24 | 23 |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_
TEXTFIELD) | 251 if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_
TEXTFIELD) |
| 253 { | 252 { |
| 254 for (int i=0,sz=widgets.GetSize(); i<sz; i++) | 253 for (int i=0,sz=widgets.GetSize(); i<sz; i++) |
| 255 { | 254 { |
| 256 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widge
ts.GetAt(i); | 255 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widge
ts.GetAt(i); |
| 257 ASSERT(pWidget != NULL); | 256 ASSERT(pWidget != NULL); |
| 258 | 257 |
| 259 FX_BOOL bFormated = FALSE; | 258 FX_BOOL bFormated = FALSE; |
| 260 CFX_WideString sValue = pWidget->OnFormat(0, bFo
rmated); | 259 CFX_WideString sValue = pWidget->OnFormat(0, bFo
rmated); |
| 261 if (bFormated) | 260 if (bFormated) |
| 262 » » » » » pWidget->ResetAppearance(sValue, FALSE); | 261 » » » » » pWidget->ResetAppearance(sValue.c_str(),
FALSE); |
| 263 else | 262 else |
| 264 pWidget->ResetAppearance(NULL, FALSE); | 263 pWidget->ResetAppearance(NULL, FALSE); |
| 265 } | 264 } |
| 266 } | 265 } |
| 267 else | 266 else |
| 268 { | 267 { |
| 269 for (int i=0,sz=widgets.GetSize(); i<sz; i++) | 268 for (int i=0,sz=widgets.GetSize(); i<sz; i++) |
| 270 { | 269 { |
| 271 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widge
ts.GetAt(i); | 270 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widge
ts.GetAt(i); |
| 272 ASSERT(pWidget != NULL); | 271 ASSERT(pWidget != NULL); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 309 if (pWidget) | 308 if (pWidget) |
| 310 { | 309 { |
| 311 if (bResetAP) | 310 if (bResetAP) |
| 312 { | 311 { |
| 313 int nFieldType = pWidget->GetFieldType(); | 312 int nFieldType = pWidget->GetFieldType(); |
| 314 if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FI
ELDTYPE_TEXTFIELD) | 313 if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FI
ELDTYPE_TEXTFIELD) |
| 315 { | 314 { |
| 316 FX_BOOL bFormated = FALSE; | 315 FX_BOOL bFormated = FALSE; |
| 317 CFX_WideString sValue = pWidget->OnFormat(0, bFo
rmated); | 316 CFX_WideString sValue = pWidget->OnFormat(0, bFo
rmated); |
| 318 if (bFormated) | 317 if (bFormated) |
| 319 » » » » » pWidget->ResetAppearance(sValue, FALSE); | 318 » » » » » pWidget->ResetAppearance(sValue.c_str(),
FALSE); |
| 320 else | 319 else |
| 321 pWidget->ResetAppearance(NULL, FALSE); | 320 pWidget->ResetAppearance(NULL, FALSE); |
| 322 } | 321 } |
| 323 else | 322 else |
| 324 { | 323 { |
| 325 pWidget->ResetAppearance(NULL, FALSE); | 324 pWidget->ResetAppearance(NULL, FALSE); |
| 326 } | 325 } |
| 327 } | 326 } |
| 328 | 327 |
| 329 if (bRefresh) | 328 if (bRefresh) |
| (...skipping 2790 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3120 { | 3119 { |
| 3121 case FIELDTYPE_PUSHBUTTON: | 3120 case FIELDTYPE_PUSHBUTTON: |
| 3122 return FALSE; | 3121 return FALSE; |
| 3123 case FIELDTYPE_COMBOBOX: | 3122 case FIELDTYPE_COMBOBOX: |
| 3124 case FIELDTYPE_TEXTFIELD: | 3123 case FIELDTYPE_TEXTFIELD: |
| 3125 { | 3124 { |
| 3126 CFX_WideString swValue = pFormField->GetValue(); | 3125 CFX_WideString swValue = pFormField->GetValue(); |
| 3127 | 3126 |
| 3128 double dRet; | 3127 double dRet; |
| 3129 FX_BOOL bDot; | 3128 FX_BOOL bDot; |
| 3130 » » » » if (CJS_PublicMethods::ConvertStringToNumber(swV
alue,dRet,bDot)) | 3129 » » » » if (CJS_PublicMethods::ConvertStringToNumber(swV
alue.c_str(), dRet, bDot)) |
| 3131 { | 3130 { |
| 3132 if (bDot) | 3131 if (bDot) |
| 3133 vp << dRet; | 3132 vp << dRet; |
| 3134 else | 3133 else |
| 3135 vp << dRet; | 3134 vp << dRet; |
| 3136 } | 3135 } |
| 3137 else | 3136 else |
| 3138 vp << swValue; | 3137 vp << swValue; |
| 3139 } | 3138 } |
| 3140 break; | 3139 break; |
| 3141 case FIELDTYPE_LISTBOX: | 3140 case FIELDTYPE_LISTBOX: |
| 3142 { | 3141 { |
| 3143 if (pFormField->CountSelectedItems() > 1) | 3142 if (pFormField->CountSelectedItems() > 1) |
| 3144 { | 3143 { |
| 3145 CJS_Array ValueArray(m_isolate); | 3144 CJS_Array ValueArray(m_isolate); |
| 3146 CJS_Value ElementValue(m_isolate); | 3145 CJS_Value ElementValue(m_isolate); |
| 3147 int iIndex; | 3146 int iIndex; |
| 3148 for (int i = 0, sz = pFormField->CountSe
lectedItems(); i < sz; i++) | 3147 for (int i = 0, sz = pFormField->CountSe
lectedItems(); i < sz; i++) |
| 3149 { | 3148 { |
| 3150 iIndex = pFormField->GetSelected
Index(i); | 3149 iIndex = pFormField->GetSelected
Index(i); |
| 3151 » » » » » » ElementValue = pFormField->GetOp
tionValue(iIndex); | 3150 » » » » » » ElementValue = pFormField->GetOp
tionValue(iIndex).c_str(); |
| 3152 if (FXSYS_wcslen(ElementValue.To
CFXWideString().c_str()) == 0) | 3151 if (FXSYS_wcslen(ElementValue.To
CFXWideString().c_str()) == 0) |
| 3153 » » » » » » » ElementValue = pFormFiel
d->GetOptionLabel(iIndex); | 3152 » » » » » » » ElementValue = pFormFiel
d->GetOptionLabel(iIndex).c_str(); |
| 3154 ValueArray.SetElement(i, Element
Value); | 3153 ValueArray.SetElement(i, Element
Value); |
| 3155 } | 3154 } |
| 3156 vp << ValueArray; | 3155 vp << ValueArray; |
| 3157 } | 3156 } |
| 3158 else | 3157 else |
| 3159 { | 3158 { |
| 3160 CFX_WideString swValue = pFormField->Get
Value(); | 3159 CFX_WideString swValue = pFormField->Get
Value(); |
| 3161 | 3160 |
| 3162 double dRet; | 3161 double dRet; |
| 3163 FX_BOOL bDot; | 3162 FX_BOOL bDot; |
| 3164 » » » » » if (CJS_PublicMethods::ConvertStringToNu
mber(swValue,dRet,bDot)) | 3163 » » » » » if (CJS_PublicMethods::ConvertStringToNu
mber(swValue.c_str(), dRet, bDot)) |
| 3165 { | 3164 { |
| 3166 if (bDot) | 3165 if (bDot) |
| 3167 vp << dRet; | 3166 vp << dRet; |
| 3168 else | 3167 else |
| 3169 vp << dRet; | 3168 vp << dRet; |
| 3170 } | 3169 } |
| 3171 else | 3170 else |
| 3172 vp << swValue; | 3171 vp << swValue; |
| 3173 } | 3172 } |
| 3174 } | 3173 } |
| 3175 break; | 3174 break; |
| 3176 case FIELDTYPE_CHECKBOX: | 3175 case FIELDTYPE_CHECKBOX: |
| 3177 case FIELDTYPE_RADIOBUTTON: | 3176 case FIELDTYPE_RADIOBUTTON: |
| 3178 { | 3177 { |
| 3179 FX_BOOL bFind = FALSE; | 3178 FX_BOOL bFind = FALSE; |
| 3180 for (int i = 0 , sz = pFormField->CountControls(
); i < sz; i++) | 3179 for (int i = 0 , sz = pFormField->CountControls(
); i < sz; i++) |
| 3181 { | 3180 { |
| 3182 if (pFormField->GetControl(i)->IsChecked
()) | 3181 if (pFormField->GetControl(i)->IsChecked
()) |
| 3183 { | 3182 { |
| 3184 CFX_WideString swValue = pFormFi
eld->GetControl(i)->GetExportValue(); | 3183 CFX_WideString swValue = pFormFi
eld->GetControl(i)->GetExportValue(); |
| 3185 | |
| 3186 double dRet; | 3184 double dRet; |
| 3187 FX_BOOL bDot; | 3185 FX_BOOL bDot; |
| 3188 » » » » » » if (CJS_PublicMethods::ConvertSt
ringToNumber(swValue,dRet,bDot)) | 3186 » » » » » » if (CJS_PublicMethods::ConvertSt
ringToNumber(swValue.c_str(), dRet, bDot)) |
| 3189 { | 3187 { |
| 3190 if (bDot) | 3188 if (bDot) |
| 3191 vp << dRet; | 3189 vp << dRet; |
| 3192 else | 3190 else |
| 3193 vp << dRet; | 3191 vp << dRet; |
| 3194 } | 3192 } |
| 3195 else | 3193 else |
| 3196 vp << swValue; | 3194 vp << swValue; |
| 3197 | 3195 |
| 3198 bFind = TRUE; | 3196 bFind = TRUE; |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3384 CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3382 CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); |
| 3385 ASSERT(pFormField != NULL); | 3383 ASSERT(pFormField != NULL); |
| 3386 | 3384 |
| 3387 if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 3385 if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) |
| 3388 return FALSE; | 3386 return FALSE; |
| 3389 | 3387 |
| 3390 CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 3388 CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); |
| 3391 if (!pFormControl)return FALSE; | 3389 if (!pFormControl)return FALSE; |
| 3392 | 3390 |
| 3393 if (nface == 0) | 3391 if (nface == 0) |
| 3394 » » vRet = pFormControl->GetNormalCaption(); | 3392 » » vRet = pFormControl->GetNormalCaption().c_str(); |
| 3395 else if (nface == 1) | 3393 else if (nface == 1) |
| 3396 » » vRet = pFormControl->GetDownCaption(); | 3394 » » vRet = pFormControl->GetDownCaption().c_str(); |
| 3397 else if (nface == 2) | 3395 else if (nface == 2) |
| 3398 » » vRet = pFormControl->GetRolloverCaption(); | 3396 » » vRet = pFormControl->GetRolloverCaption().c_str(); |
| 3399 else | 3397 else |
| 3400 return FALSE; | 3398 return FALSE; |
| 3401 | 3399 |
| 3402 return TRUE; | 3400 return TRUE; |
| 3403 } | 3401 } |
| 3404 | 3402 |
| 3405 //#pragma warning(disable: 4800) | 3403 //#pragma warning(disable: 4800) |
| 3406 | 3404 |
| 3407 FX_BOOL Field::buttonGetIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJ
S_Value& vRet, CFX_WideString& sError) | 3405 FX_BOOL Field::buttonGetIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJ
S_Value& vRet, CFX_WideString& sError) |
| 3408 { | 3406 { |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3678 | 3676 |
| 3679 if ((pFormField->GetFieldType() == FIELDTYPE_LISTBOX) | 3677 if ((pFormField->GetFieldType() == FIELDTYPE_LISTBOX) |
| 3680 || (pFormField->GetFieldType() == FIELDTYPE_COMBOBOX)) | 3678 || (pFormField->GetFieldType() == FIELDTYPE_COMBOBOX)) |
| 3681 { | 3679 { |
| 3682 if (nIdx == -1 || nIdx > pFormField->CountOptions()) | 3680 if (nIdx == -1 || nIdx > pFormField->CountOptions()) |
| 3683 nIdx = pFormField->CountOptions() -1; | 3681 nIdx = pFormField->CountOptions() -1; |
| 3684 if (bExport) | 3682 if (bExport) |
| 3685 { | 3683 { |
| 3686 CFX_WideString strval = pFormField->GetOptionValue(nIdx)
; | 3684 CFX_WideString strval = pFormField->GetOptionValue(nIdx)
; |
| 3687 if (strval.IsEmpty()) | 3685 if (strval.IsEmpty()) |
| 3688 » » » » vRet = pFormField->GetOptionLabel(nIdx); | 3686 » » » » vRet = pFormField->GetOptionLabel(nIdx).c_str(); |
| 3689 else | 3687 else |
| 3690 » » » » vRet = strval; | 3688 » » » » vRet = strval.c_str(); |
| 3691 } | 3689 } |
| 3692 else | 3690 else |
| 3693 » » » vRet = pFormField->GetOptionLabel(nIdx); | 3691 » » » vRet = pFormField->GetOptionLabel(nIdx).c_str(); |
| 3694 } | 3692 } |
| 3695 else | 3693 else |
| 3696 return FALSE; | 3694 return FALSE; |
| 3697 | 3695 |
| 3698 return TRUE; | 3696 return TRUE; |
| 3699 } | 3697 } |
| 3700 | 3698 |
| 3701 FX_BOOL Field::getLock(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
e& vRet, CFX_WideString& sError) | 3699 FX_BOOL Field::getLock(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
e& vRet, CFX_WideString& sError) |
| 3702 { | 3700 { |
| 3703 return FALSE; | 3701 return FALSE; |
| (...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4108 | 4106 |
| 4109 #define JS_FIELD_MINWIDTH 1 | 4107 #define JS_FIELD_MINWIDTH 1 |
| 4110 #define JS_FIELD_MINHEIGHT 1 | 4108 #define JS_FIELD_MINHEIGHT 1 |
| 4111 | 4109 |
| 4112 void Field::AddField(CPDFSDK_Document* pDocument, int nPageIndex, int nFieldType
, | 4110 void Field::AddField(CPDFSDK_Document* pDocument, int nPageIndex, int nFieldType
, |
| 4113 const CFX_WideString& sN
ame, const CPDF_Rect& rcCoords) | 4111 const CFX_WideString& sN
ame, const CPDF_Rect& rcCoords) |
| 4114 { | 4112 { |
| 4115 //Not supported. | 4113 //Not supported. |
| 4116 } | 4114 } |
| 4117 | 4115 |
| OLD | NEW |