| 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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 103     JS_STATIC_METHOD_ENTRY(signatureGetModifications) | 103     JS_STATIC_METHOD_ENTRY(signatureGetModifications) | 
| 104     JS_STATIC_METHOD_ENTRY(signatureGetSeedValue) | 104     JS_STATIC_METHOD_ENTRY(signatureGetSeedValue) | 
| 105     JS_STATIC_METHOD_ENTRY(signatureInfo) | 105     JS_STATIC_METHOD_ENTRY(signatureInfo) | 
| 106     JS_STATIC_METHOD_ENTRY(signatureSetSeedValue) | 106     JS_STATIC_METHOD_ENTRY(signatureSetSeedValue) | 
| 107     JS_STATIC_METHOD_ENTRY(signatureSign) | 107     JS_STATIC_METHOD_ENTRY(signatureSign) | 
| 108     JS_STATIC_METHOD_ENTRY(signatureValidate) | 108     JS_STATIC_METHOD_ENTRY(signatureValidate) | 
| 109 END_JS_STATIC_METHOD() | 109 END_JS_STATIC_METHOD() | 
| 110 | 110 | 
| 111 IMPLEMENT_JS_CLASS(CJS_Field, Field) | 111 IMPLEMENT_JS_CLASS(CJS_Field, Field) | 
| 112 | 112 | 
| 113 FX_BOOL CJS_Field::InitInstance(IFXJS_Context* cc) | 113 bool CJS_Field::InitInstance(IFXJS_Context* cc) | 
| 114 { | 114 { | 
| 115     CJS_Context* pContext = (CJS_Context*)cc; | 115     CJS_Context* pContext = (CJS_Context*)cc; | 
| 116     ASSERT(pContext != NULL); | 116     ASSERT(pContext != NULL); | 
| 117 | 117 | 
| 118     Field* pField = (Field*)GetEmbedObject(); | 118     Field* pField = (Field*)GetEmbedObject(); | 
| 119     ASSERT(pField != NULL); | 119     ASSERT(pField != NULL); | 
| 120 | 120 | 
| 121     pField->SetIsolate(pContext->GetJSRuntime()->GetIsolate()); | 121     pField->SetIsolate(pContext->GetJSRuntime()->GetIsolate()); | 
| 122 | 122 | 
| 123     return TRUE; | 123     return true; | 
| 124 }; | 124 }; | 
| 125 | 125 | 
| 126 Field::Field(CJS_Object* pJSObject): CJS_EmbedObj(pJSObject), | 126 Field::Field(CJS_Object* pJSObject): CJS_EmbedObj(pJSObject), | 
| 127     m_pJSDoc(NULL), | 127     m_pJSDoc(NULL), | 
| 128     m_pDocument(NULL), | 128     m_pDocument(NULL), | 
| 129     m_nFormControlIndex(-1), | 129     m_nFormControlIndex(-1), | 
| 130     m_bCanSet(FALSE), | 130     m_bCanSet(false), | 
| 131     m_bDelay(FALSE), | 131     m_bDelay(false), | 
| 132     m_isolate(NULL) | 132     m_isolate(NULL) | 
| 133 { | 133 { | 
| 134 } | 134 } | 
| 135 | 135 | 
| 136 Field::~Field() | 136 Field::~Field() | 
| 137 { | 137 { | 
| 138 } | 138 } | 
| 139 | 139 | 
| 140 //note: iControlNo = -1, means not a widget. | 140 //note: iControlNo = -1, means not a widget. | 
| 141 void Field::ParseFieldName(const std::wstring &strFieldNameParsed,std::wstring &
      strFieldName,int & iControlNo) | 141 void Field::ParseFieldName(const std::wstring &strFieldNameParsed,std::wstring &
      strFieldName,int & iControlNo) | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 161         { | 161         { | 
| 162             strFieldName = strFieldNameParsed; | 162             strFieldName = strFieldNameParsed; | 
| 163             iControlNo = -1; | 163             iControlNo = -1; | 
| 164             return; | 164             return; | 
| 165         } | 165         } | 
| 166 | 166 | 
| 167     } | 167     } | 
| 168     strFieldName = strFieldNameParsed.substr(0,iStart); | 168     strFieldName = strFieldNameParsed.substr(0,iStart); | 
| 169 } | 169 } | 
| 170 | 170 | 
| 171 FX_BOOL Field::AttachField(Document* pDocument, const CFX_WideString& csFieldNam
      e) | 171 bool Field::AttachField(Document* pDocument, const CFX_WideString& csFieldName) | 
| 172 { | 172 { | 
| 173     ASSERT(pDocument != NULL); | 173     ASSERT(pDocument != NULL); | 
| 174     m_pJSDoc = pDocument; | 174     m_pJSDoc = pDocument; | 
| 175 | 175 | 
| 176     m_pDocument = pDocument->GetReaderDoc(); | 176     m_pDocument = pDocument->GetReaderDoc(); | 
| 177     ASSERT(m_pDocument != NULL); | 177     ASSERT(m_pDocument != NULL); | 
| 178 | 178 | 
| 179     m_bCanSet = m_pDocument->GetPermissions(FPDFPERM_FILL_FORM) || | 179     m_bCanSet = m_pDocument->GetPermissions(FPDFPERM_FILL_FORM) || | 
| 180         m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || | 180         m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || | 
| 181         m_pDocument->GetPermissions(FPDFPERM_MODIFY); | 181         m_pDocument->GetPermissions(FPDFPERM_MODIFY); | 
| 182 | 182 | 
| 183     CPDFSDK_InterForm* pRDInterForm = m_pDocument->GetInterForm(); | 183     CPDFSDK_InterForm* pRDInterForm = m_pDocument->GetInterForm(); | 
| 184     ASSERT(pRDInterForm != NULL); | 184     ASSERT(pRDInterForm != NULL); | 
| 185 | 185 | 
| 186     CPDF_InterForm* pInterForm = pRDInterForm->GetInterForm(); | 186     CPDF_InterForm* pInterForm = pRDInterForm->GetInterForm(); | 
| 187     ASSERT(pInterForm != NULL); | 187     ASSERT(pInterForm != NULL); | 
| 188 | 188 | 
| 189     CFX_WideString swFieldNameTemp = csFieldName; | 189     CFX_WideString swFieldNameTemp = csFieldName; | 
| 190     swFieldNameTemp.Replace(L"..", L"."); | 190     swFieldNameTemp.Replace(L"..", L"."); | 
| 191 | 191 | 
| 192     if (pInterForm->CountFields(swFieldNameTemp) <= 0) | 192     if (pInterForm->CountFields(swFieldNameTemp) <= 0) | 
| 193     { | 193     { | 
| 194         std::wstring strFieldName; | 194         std::wstring strFieldName; | 
| 195         int iControlNo = -1; | 195         int iControlNo = -1; | 
| 196         ParseFieldName(swFieldNameTemp.c_str(), strFieldName, iControlNo); | 196         ParseFieldName(swFieldNameTemp.c_str(), strFieldName, iControlNo); | 
| 197         if (iControlNo == -1) return FALSE; | 197         if (iControlNo == -1) return false; | 
| 198 | 198 | 
| 199         m_FieldName = strFieldName.c_str(); | 199         m_FieldName = strFieldName.c_str(); | 
| 200         m_nFormControlIndex = iControlNo; | 200         m_nFormControlIndex = iControlNo; | 
| 201         return TRUE; | 201         return true; | 
| 202     } | 202     } | 
| 203 | 203 | 
| 204     m_FieldName = swFieldNameTemp; | 204     m_FieldName = swFieldNameTemp; | 
| 205     m_nFormControlIndex = -1; | 205     m_nFormControlIndex = -1; | 
| 206 | 206 | 
| 207     return TRUE; | 207     return true; | 
| 208 } | 208 } | 
| 209 | 209 | 
| 210 void Field::GetFormFields(CPDFSDK_Document* pDocument, const CFX_WideString& csF
      ieldName, CFX_PtrArray& FieldArray) | 210 void Field::GetFormFields(CPDFSDK_Document* pDocument, const CFX_WideString& csF
      ieldName, CFX_PtrArray& FieldArray) | 
| 211 { | 211 { | 
| 212     ASSERT(pDocument != NULL); | 212     ASSERT(pDocument != NULL); | 
| 213 | 213 | 
| 214     CPDFSDK_InterForm* pReaderInterForm = pDocument->GetInterForm(); | 214     CPDFSDK_InterForm* pReaderInterForm = pDocument->GetInterForm(); | 
| 215     ASSERT(pReaderInterForm != NULL); | 215     ASSERT(pReaderInterForm != NULL); | 
| 216 | 216 | 
| 217     CPDF_InterForm* pInterForm = pReaderInterForm->GetInterForm(); | 217     CPDF_InterForm* pInterForm = pReaderInterForm->GetInterForm(); | 
| 218     ASSERT(pInterForm != NULL); | 218     ASSERT(pInterForm != NULL); | 
| 219 | 219 | 
| 220     ASSERT(FieldArray.GetSize() == 0); | 220     ASSERT(FieldArray.GetSize() == 0); | 
| 221 | 221 | 
| 222     for (int i=0,sz=pInterForm->CountFields(csFieldName); i<sz; i++) | 222     for (int i=0,sz=pInterForm->CountFields(csFieldName); i<sz; i++) | 
| 223     { | 223     { | 
| 224         if (CPDF_FormField* pFormField = pInterForm->GetField(i, csFieldName)) | 224         if (CPDF_FormField* pFormField = pInterForm->GetField(i, csFieldName)) | 
| 225             FieldArray.Add((void*)pFormField); | 225             FieldArray.Add((void*)pFormField); | 
| 226     } | 226     } | 
| 227 } | 227 } | 
| 228 | 228 | 
| 229 void Field::GetFormFields(const CFX_WideString& csFieldName, CFX_PtrArray& Field
      Array) | 229 void Field::GetFormFields(const CFX_WideString& csFieldName, CFX_PtrArray& Field
      Array) | 
| 230 { | 230 { | 
| 231     ASSERT(m_pDocument != NULL); | 231     ASSERT(m_pDocument != NULL); | 
| 232 | 232 | 
| 233     Field::GetFormFields(m_pDocument, csFieldName, FieldArray); | 233     Field::GetFormFields(m_pDocument, csFieldName, FieldArray); | 
| 234 } | 234 } | 
| 235 | 235 | 
| 236 void Field::UpdateFormField(CPDFSDK_Document* pDocument, CPDF_FormField* pFormFi
      eld, | 236 void Field::UpdateFormField(CPDFSDK_Document* pDocument, CPDF_FormField* pFormFi
      eld, | 
| 237                             FX_BOOL bChangeMark, FX_BOOL bResetAP, FX_BOOL bRefr
      esh) | 237                             bool bChangeMark, bool bResetAP, bool bRefresh) | 
| 238 { | 238 { | 
| 239     ASSERT(pDocument != NULL); | 239     ASSERT(pDocument != NULL); | 
| 240     ASSERT(pFormField != NULL); | 240     ASSERT(pFormField != NULL); | 
| 241 | 241 | 
| 242     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 242     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 
| 243     ASSERT(pInterForm != NULL); | 243     ASSERT(pInterForm != NULL); | 
| 244 | 244 | 
| 245     CFX_PtrArray widgets; | 245     CFX_PtrArray widgets; | 
| 246     pInterForm->GetWidgets(pFormField, widgets); | 246     pInterForm->GetWidgets(pFormField, widgets); | 
| 247 | 247 | 
| 248     if (bResetAP) | 248     if (bResetAP) | 
| 249     { | 249     { | 
| 250         int nFieldType = pFormField->GetFieldType(); | 250         int nFieldType = pFormField->GetFieldType(); | 
| 251         if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_TEXTFIEL
      D) | 251         if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_TEXTFIEL
      D) | 
| 252         { | 252         { | 
| 253             for (int i=0,sz=widgets.GetSize(); i<sz; i++) | 253             for (int i=0,sz=widgets.GetSize(); i<sz; i++) | 
| 254             { | 254             { | 
| 255                 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); | 255                 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); | 
| 256                 ASSERT(pWidget != NULL); | 256                 ASSERT(pWidget != NULL); | 
| 257 | 257 | 
| 258                 FX_BOOL bFormated = FALSE; | 258                 bool bFormated = false; | 
| 259                 CFX_WideString sValue = pWidget->OnFormat(bFormated); | 259                 CFX_WideString sValue = pWidget->OnFormat(bFormated); | 
| 260                 if (bFormated) | 260                 if (bFormated) | 
| 261                     pWidget->ResetAppearance(sValue.c_str(), FALSE); | 261                     pWidget->ResetAppearance(sValue.c_str(), false); | 
| 262                 else | 262                 else | 
| 263                     pWidget->ResetAppearance(NULL, FALSE); | 263                     pWidget->ResetAppearance(NULL, false); | 
| 264             } | 264             } | 
| 265         } | 265         } | 
| 266         else | 266         else | 
| 267         { | 267         { | 
| 268             for (int i=0,sz=widgets.GetSize(); i<sz; i++) | 268             for (int i=0,sz=widgets.GetSize(); i<sz; i++) | 
| 269             { | 269             { | 
| 270                 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); | 270                 CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); | 
| 271                 ASSERT(pWidget != NULL); | 271                 ASSERT(pWidget != NULL); | 
| 272 | 272 | 
| 273                 pWidget->ResetAppearance(NULL, FALSE); | 273                 pWidget->ResetAppearance(NULL, false); | 
| 274             } | 274             } | 
| 275         } | 275         } | 
| 276     } | 276     } | 
| 277 | 277 | 
| 278     if (bRefresh) | 278     if (bRefresh) | 
| 279     { | 279     { | 
| 280         for (int i=0,sz=widgets.GetSize(); i<sz; i++) | 280         for (int i=0,sz=widgets.GetSize(); i<sz; i++) | 
| 281         { | 281         { | 
| 282             CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); | 282             CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets.GetAt(i); | 
| 283             ASSERT(pWidget != NULL); | 283             ASSERT(pWidget != NULL); | 
| 284 | 284 | 
| 285             CPDFSDK_InterForm * pInterForm = pWidget->GetInterForm(); | 285             CPDFSDK_InterForm * pInterForm = pWidget->GetInterForm(); | 
| 286             CPDFSDK_Document* pDoc = pInterForm->GetDocument(); | 286             CPDFSDK_Document* pDoc = pInterForm->GetDocument(); | 
| 287 //          CReader_Page* pPage = pWidget->GetPage(); | 287 //          CReader_Page* pPage = pWidget->GetPage(); | 
| 288             ASSERT(pDoc != NULL); | 288             ASSERT(pDoc != NULL); | 
| 289             pDoc->UpdateAllViews(NULL, pWidget); | 289             pDoc->UpdateAllViews(NULL, pWidget); | 
| 290         } | 290         } | 
| 291     } | 291     } | 
| 292 | 292 | 
| 293     if (bChangeMark) | 293     if (bChangeMark) | 
| 294         pDocument->SetChangeMark(); | 294         pDocument->SetChangeMark(); | 
| 295 } | 295 } | 
| 296 | 296 | 
| 297 void Field::UpdateFormControl(CPDFSDK_Document* pDocument, CPDF_FormControl* pFo
      rmControl, | 297 void Field::UpdateFormControl(CPDFSDK_Document* pDocument, CPDF_FormControl* pFo
      rmControl, | 
| 298                             FX_BOOL bChangeMark, FX_BOOL bResetAP, FX_BOOL bRefr
      esh) | 298                             bool bChangeMark, bool bResetAP, bool bRefresh) | 
| 299 { | 299 { | 
| 300     ASSERT(pDocument != NULL); | 300     ASSERT(pDocument != NULL); | 
| 301     ASSERT(pFormControl != NULL); | 301     ASSERT(pFormControl != NULL); | 
| 302 | 302 | 
| 303     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 303     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 
| 304     ASSERT(pInterForm != NULL); | 304     ASSERT(pInterForm != NULL); | 
| 305 | 305 | 
| 306     CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl); | 306     CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl); | 
| 307 | 307 | 
| 308     if (pWidget) | 308     if (pWidget) | 
| 309     { | 309     { | 
| 310         if (bResetAP) | 310         if (bResetAP) | 
| 311         { | 311         { | 
| 312             int nFieldType = pWidget->GetFieldType(); | 312             int nFieldType = pWidget->GetFieldType(); | 
| 313             if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_TEXT
      FIELD) | 313             if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_TEXT
      FIELD) | 
| 314             { | 314             { | 
| 315                 FX_BOOL bFormated = FALSE; | 315                 bool bFormated = false; | 
| 316                 CFX_WideString sValue = pWidget->OnFormat(bFormated); | 316                 CFX_WideString sValue = pWidget->OnFormat(bFormated); | 
| 317                 if (bFormated) | 317                 if (bFormated) | 
| 318                     pWidget->ResetAppearance(sValue.c_str(), FALSE); | 318                     pWidget->ResetAppearance(sValue.c_str(), false); | 
| 319                 else | 319                 else | 
| 320                     pWidget->ResetAppearance(NULL, FALSE); | 320                     pWidget->ResetAppearance(NULL, false); | 
| 321             } | 321             } | 
| 322             else | 322             else | 
| 323             { | 323             { | 
| 324                 pWidget->ResetAppearance(NULL, FALSE); | 324                 pWidget->ResetAppearance(NULL, false); | 
| 325             } | 325             } | 
| 326         } | 326         } | 
| 327 | 327 | 
| 328         if (bRefresh) | 328         if (bRefresh) | 
| 329         { | 329         { | 
| 330             CPDFSDK_InterForm * pInterForm = pWidget->GetInterForm(); | 330             CPDFSDK_InterForm * pInterForm = pWidget->GetInterForm(); | 
| 331             CPDFSDK_Document* pDoc = pInterForm->GetDocument(); | 331             CPDFSDK_Document* pDoc = pInterForm->GetDocument(); | 
| 332             ASSERT(pDoc != NULL); | 332             ASSERT(pDoc != NULL); | 
| 333             pDoc->UpdateAllViews(NULL, pWidget); | 333             pDoc->UpdateAllViews(NULL, pWidget); | 
| 334         } | 334         } | 
| 335 | 335 | 
| 336     } | 336     } | 
| 337 | 337 | 
| 338     if (bChangeMark) | 338     if (bChangeMark) | 
| 339         pDocument->SetChangeMark(); | 339         pDocument->SetChangeMark(); | 
| 340 } | 340 } | 
| 341 | 341 | 
| 342 CPDFSDK_Widget* Field::GetWidget(CPDFSDK_Document* pDocument, CPDF_FormControl* 
      pFormControl) | 342 CPDFSDK_Widget* Field::GetWidget(CPDFSDK_Document* pDocument, CPDF_FormControl* 
      pFormControl) | 
| 343 { | 343 { | 
| 344     ASSERT(pDocument != NULL); | 344     ASSERT(pDocument != NULL); | 
| 345     ASSERT(pFormControl != NULL); | 345     ASSERT(pFormControl != NULL); | 
| 346 | 346 | 
| 347     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 347     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 
| 348     ASSERT(pInterForm != NULL); | 348     ASSERT(pInterForm != NULL); | 
| 349 | 349 | 
| 350     return pInterForm->GetWidget(pFormControl); | 350     return pInterForm->GetWidget(pFormControl); | 
| 351 } | 351 } | 
| 352 | 352 | 
| 353 FX_BOOL Field::ValueIsOccur(CPDF_FormField* pFormField, CFX_WideString csOptLabe
      l) | 353 bool Field::ValueIsOccur(CPDF_FormField* pFormField, CFX_WideString csOptLabel) | 
| 354 { | 354 { | 
| 355     ASSERT(pFormField != NULL); | 355     ASSERT(pFormField != NULL); | 
| 356 | 356 | 
| 357     for (int i=0,sz = pFormField->CountOptions(); i < sz; i++) | 357     for (int i=0,sz = pFormField->CountOptions(); i < sz; i++) | 
| 358     { | 358     { | 
| 359         if (csOptLabel.Compare(pFormField->GetOptionLabel(i)) == 0) | 359         if (csOptLabel.Compare(pFormField->GetOptionLabel(i)) == 0) | 
| 360             return TRUE; | 360             return true; | 
| 361     } | 361     } | 
| 362 | 362 | 
| 363     return FALSE; | 363     return false; | 
| 364 } | 364 } | 
| 365 | 365 | 
| 366 CPDF_FormControl* Field::GetSmartFieldControl(CPDF_FormField* pFormField) | 366 CPDF_FormControl* Field::GetSmartFieldControl(CPDF_FormField* pFormField) | 
| 367 { | 367 { | 
| 368     if (!pFormField->CountControls() || m_nFormControlIndex >= pFormField->Count
      Controls()) | 368     if (!pFormField->CountControls() || m_nFormControlIndex >= pFormField->Count
      Controls()) | 
| 369         return NULL; | 369         return NULL; | 
| 370 | 370 | 
| 371     if (m_nFormControlIndex < 0) | 371     if (m_nFormControlIndex < 0) | 
| 372         return pFormField->GetControl(0); | 372         return pFormField->GetControl(0); | 
| 373 | 373 | 
| 374     return pFormField->GetControl(m_nFormControlIndex); | 374     return pFormField->GetControl(m_nFormControlIndex); | 
| 375 } | 375 } | 
| 376 | 376 | 
| 377 /* ---------------------------------------- property ---------------------------
      ------------- */ | 377 /* ---------------------------------------- property ---------------------------
      ------------- */ | 
| 378 | 378 | 
| 379 FX_BOOL Field::alignment(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 379 bool Field::alignment(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
      or) | 
| 380 { | 380 { | 
| 381     ASSERT(m_pDocument != NULL); | 381     ASSERT(m_pDocument != NULL); | 
| 382 | 382 | 
| 383     if (vp.IsSetting()) | 383     if (vp.IsSetting()) | 
| 384     { | 384     { | 
| 385         if (!m_bCanSet) return FALSE; | 385         if (!m_bCanSet) return false; | 
| 386 | 386 | 
| 387         CFX_ByteString alignStr; | 387         CFX_ByteString alignStr; | 
| 388         vp >> alignStr; | 388         vp >> alignStr; | 
| 389 | 389 | 
| 390         if (m_bDelay) | 390         if (m_bDelay) | 
| 391         { | 391         { | 
| 392             AddDelay_String(FP_ALIGNMENT, alignStr); | 392             AddDelay_String(FP_ALIGNMENT, alignStr); | 
| 393         } | 393         } | 
| 394         else | 394         else | 
| 395         { | 395         { | 
| 396             Field::SetAlignment(m_pDocument, m_FieldName, m_nFormControlIndex, a
      lignStr); | 396             Field::SetAlignment(m_pDocument, m_FieldName, m_nFormControlIndex, a
      lignStr); | 
| 397         } | 397         } | 
| 398     } | 398     } | 
| 399     else | 399     else | 
| 400     { | 400     { | 
| 401         CFX_PtrArray FieldArray; | 401         CFX_PtrArray FieldArray; | 
| 402         GetFormFields(m_FieldName, FieldArray); | 402         GetFormFields(m_FieldName, FieldArray); | 
| 403         if (FieldArray.GetSize() <= 0) return FALSE; | 403         if (FieldArray.GetSize() <= 0) return false; | 
| 404 | 404 | 
| 405         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 405         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 406         ASSERT(pFormField != NULL); | 406         ASSERT(pFormField != NULL); | 
| 407 | 407 | 
| 408         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 408         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 
| 409             return FALSE; | 409             return false; | 
| 410 | 410 | 
| 411         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 411         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 412         if (!pFormControl)return FALSE; | 412         if (!pFormControl)return false; | 
| 413 | 413 | 
| 414         switch (pFormControl->GetControlAlignment()) | 414         switch (pFormControl->GetControlAlignment()) | 
| 415         { | 415         { | 
| 416             case 1: | 416             case 1: | 
| 417                 vp << L"center"; | 417                 vp << L"center"; | 
| 418                 break; | 418                 break; | 
| 419             case 0: | 419             case 0: | 
| 420                 vp << L"left"; | 420                 vp << L"left"; | 
| 421                 break; | 421                 break; | 
| 422             case 2: | 422             case 2: | 
| 423                 vp << L"right"; | 423                 vp << L"right"; | 
| 424                 break; | 424                 break; | 
| 425             default: | 425             default: | 
| 426                 vp << L""; | 426                 vp << L""; | 
| 427         } | 427         } | 
| 428     } | 428     } | 
| 429 | 429 | 
| 430     return TRUE; | 430     return true; | 
| 431 } | 431 } | 
| 432 | 432 | 
| 433 void Field::SetAlignment(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, | 433 void Field::SetAlignment(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, | 
| 434                          const CFX_ByteString& string) | 434                          const CFX_ByteString& string) | 
| 435 { | 435 { | 
| 436     //Not supported. | 436     //Not supported. | 
| 437 } | 437 } | 
| 438 | 438 | 
| 439 FX_BOOL Field::borderStyle(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
       sError) | 439 bool Field::borderStyle(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 
| 440 { | 440 { | 
| 441     ASSERT(m_pDocument != NULL); | 441     ASSERT(m_pDocument != NULL); | 
| 442 | 442 | 
| 443     if (vp.IsSetting()) | 443     if (vp.IsSetting()) | 
| 444     { | 444     { | 
| 445         if (!m_bCanSet) return FALSE; | 445         if (!m_bCanSet) return false; | 
| 446 | 446 | 
| 447         CFX_ByteString strType = ""; | 447         CFX_ByteString strType = ""; | 
| 448         vp >> strType; | 448         vp >> strType; | 
| 449 | 449 | 
| 450         if (m_bDelay) | 450         if (m_bDelay) | 
| 451         { | 451         { | 
| 452             AddDelay_String(FP_BORDERSTYLE, strType); | 452             AddDelay_String(FP_BORDERSTYLE, strType); | 
| 453         } | 453         } | 
| 454         else | 454         else | 
| 455         { | 455         { | 
| 456             Field::SetBorderStyle(m_pDocument, m_FieldName, m_nFormControlIndex,
       strType); | 456             Field::SetBorderStyle(m_pDocument, m_FieldName, m_nFormControlIndex,
       strType); | 
| 457         } | 457         } | 
| 458     } | 458     } | 
| 459     else | 459     else | 
| 460     { | 460     { | 
| 461         CFX_PtrArray FieldArray; | 461         CFX_PtrArray FieldArray; | 
| 462         GetFormFields(m_FieldName, FieldArray); | 462         GetFormFields(m_FieldName, FieldArray); | 
| 463         if (FieldArray.GetSize() <= 0) return FALSE; | 463         if (FieldArray.GetSize() <= 0) return false; | 
| 464 | 464 | 
| 465         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 465         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 466         if (!pFormField) return FALSE; | 466         if (!pFormField) return false; | 
| 467 | 467 | 
| 468         CPDFSDK_Widget* pWidget = GetWidget(m_pDocument, GetSmartFieldControl(pF
      ormField)); | 468         CPDFSDK_Widget* pWidget = GetWidget(m_pDocument, GetSmartFieldControl(pF
      ormField)); | 
| 469         if (!pWidget) return FALSE; | 469         if (!pWidget) return false; | 
| 470 | 470 | 
| 471         int nBorderstyle = pWidget->GetBorderStyle(); | 471         int nBorderstyle = pWidget->GetBorderStyle(); | 
| 472 | 472 | 
| 473         switch (nBorderstyle) | 473         switch (nBorderstyle) | 
| 474         { | 474         { | 
| 475             case BBS_SOLID: | 475             case BBS_SOLID: | 
| 476                 vp << L"solid"; | 476                 vp << L"solid"; | 
| 477                 break; | 477                 break; | 
| 478             case BBS_DASH: | 478             case BBS_DASH: | 
| 479                 vp << L"dashed"; | 479                 vp << L"dashed"; | 
| 480                 break; | 480                 break; | 
| 481             case BBS_BEVELED: | 481             case BBS_BEVELED: | 
| 482                 vp << L"beveled"; | 482                 vp << L"beveled"; | 
| 483                 break; | 483                 break; | 
| 484             case BBS_INSET: | 484             case BBS_INSET: | 
| 485                 vp << L"inset"; | 485                 vp << L"inset"; | 
| 486                 break; | 486                 break; | 
| 487             case BBS_UNDERLINE: | 487             case BBS_UNDERLINE: | 
| 488                 vp << L"underline"; | 488                 vp << L"underline"; | 
| 489                 break; | 489                 break; | 
| 490             default: | 490             default: | 
| 491                 vp << L""; | 491                 vp << L""; | 
| 492                 break; | 492                 break; | 
| 493         } | 493         } | 
| 494     } | 494     } | 
| 495 | 495 | 
| 496     return TRUE; | 496     return true; | 
| 497 } | 497 } | 
| 498 | 498 | 
| 499 void Field::SetBorderStyle(CPDFSDK_Document* pDocument, const CFX_WideString& sw
      FieldName, int nControlIndex, | 499 void Field::SetBorderStyle(CPDFSDK_Document* pDocument, const CFX_WideString& sw
      FieldName, int nControlIndex, | 
| 500                            const CFX_ByteString& string) | 500                            const CFX_ByteString& string) | 
| 501 { | 501 { | 
| 502     ASSERT(pDocument != NULL); | 502     ASSERT(pDocument != NULL); | 
| 503 | 503 | 
| 504     int nBorderStyle = 0; | 504     int nBorderStyle = 0; | 
| 505 | 505 | 
| 506     if (string == "solid") | 506     if (string == "solid") | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 518     CFX_PtrArray FieldArray; | 518     CFX_PtrArray FieldArray; | 
| 519     GetFormFields(pDocument, swFieldName, FieldArray); | 519     GetFormFields(pDocument, swFieldName, FieldArray); | 
| 520 | 520 | 
| 521     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 521     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 
| 522     { | 522     { | 
| 523         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 523         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 
| 524         ASSERT(pFormField != NULL); | 524         ASSERT(pFormField != NULL); | 
| 525 | 525 | 
| 526         if (nControlIndex < 0) | 526         if (nControlIndex < 0) | 
| 527         { | 527         { | 
| 528             FX_BOOL bSet = FALSE; | 528             bool bSet = false; | 
| 529             for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) | 529             for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) | 
| 530             { | 530             { | 
| 531                 if (CPDFSDK_Widget* pWidget = GetWidget(pDocument, pFormField->G
      etControl(j))) | 531                 if (CPDFSDK_Widget* pWidget = GetWidget(pDocument, pFormField->G
      etControl(j))) | 
| 532                 { | 532                 { | 
| 533                     if (pWidget->GetBorderStyle() != nBorderStyle) | 533                     if (pWidget->GetBorderStyle() != nBorderStyle) | 
| 534                     { | 534                     { | 
| 535                         pWidget->SetBorderStyle(nBorderStyle); | 535                         pWidget->SetBorderStyle(nBorderStyle); | 
| 536                         bSet = TRUE; | 536                         bSet = true; | 
| 537                     } | 537                     } | 
| 538                 } | 538                 } | 
| 539             } | 539             } | 
| 540             if (bSet) UpdateFormField(pDocument, pFormField, TRUE, TRUE, TRUE); | 540             if (bSet) UpdateFormField(pDocument, pFormField, true, true, true); | 
| 541         } | 541         } | 
| 542         else | 542         else | 
| 543         { | 543         { | 
| 544             if(nControlIndex >= pFormField->CountControls()) return; | 544             if(nControlIndex >= pFormField->CountControls()) return; | 
| 545             if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControl
      Index)) | 545             if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControl
      Index)) | 
| 546             { | 546             { | 
| 547                 if (CPDFSDK_Widget* pWidget = GetWidget(pDocument, pFormControl)
      ) | 547                 if (CPDFSDK_Widget* pWidget = GetWidget(pDocument, pFormControl)
      ) | 
| 548                 { | 548                 { | 
| 549                     if (pWidget->GetBorderStyle() != nBorderStyle) | 549                     if (pWidget->GetBorderStyle() != nBorderStyle) | 
| 550                     { | 550                     { | 
| 551                         pWidget->SetBorderStyle(nBorderStyle); | 551                         pWidget->SetBorderStyle(nBorderStyle); | 
| 552                         UpdateFormControl(pDocument, pFormControl, TRUE, TRUE, T
      RUE); | 552                         UpdateFormControl(pDocument, pFormControl, true, true, t
      rue); | 
| 553                     } | 553                     } | 
| 554                 } | 554                 } | 
| 555             } | 555             } | 
| 556         } | 556         } | 
| 557     } | 557     } | 
| 558 } | 558 } | 
| 559 | 559 | 
| 560 FX_BOOL Field::buttonAlignX(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
      & sError) | 560 bool Field::buttonAlignX(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 
| 561 { | 561 { | 
| 562     ASSERT(m_pDocument != NULL); | 562     ASSERT(m_pDocument != NULL); | 
| 563 | 563 | 
| 564     if (vp.IsSetting()) | 564     if (vp.IsSetting()) | 
| 565     { | 565     { | 
| 566         if (!m_bCanSet) return FALSE; | 566         if (!m_bCanSet) return false; | 
| 567 | 567 | 
| 568         int nVP; | 568         int nVP; | 
| 569         vp >> nVP; | 569         vp >> nVP; | 
| 570 | 570 | 
| 571         if (m_bDelay) | 571         if (m_bDelay) | 
| 572         { | 572         { | 
| 573             AddDelay_Int(FP_BUTTONALIGNX, nVP); | 573             AddDelay_Int(FP_BUTTONALIGNX, nVP); | 
| 574         } | 574         } | 
| 575         else | 575         else | 
| 576         { | 576         { | 
| 577             Field::SetButtonAlignX(m_pDocument, m_FieldName, m_nFormControlIndex
      , nVP); | 577             Field::SetButtonAlignX(m_pDocument, m_FieldName, m_nFormControlIndex
      , nVP); | 
| 578         } | 578         } | 
| 579     } | 579     } | 
| 580     else | 580     else | 
| 581     { | 581     { | 
| 582         CFX_PtrArray FieldArray; | 582         CFX_PtrArray FieldArray; | 
| 583         GetFormFields(m_FieldName,FieldArray); | 583         GetFormFields(m_FieldName,FieldArray); | 
| 584         if (FieldArray.GetSize() <= 0) return FALSE; | 584         if (FieldArray.GetSize() <= 0) return false; | 
| 585 | 585 | 
| 586         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 586         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 587         ASSERT(pFormField != NULL); | 587         ASSERT(pFormField != NULL); | 
| 588 | 588 | 
| 589         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 589         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 
| 590             return FALSE; | 590             return false; | 
| 591 | 591 | 
| 592         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 592         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 593         if (!pFormControl)return FALSE; | 593         if (!pFormControl)return false; | 
| 594 | 594 | 
| 595         CPDF_IconFit IconFit = pFormControl->GetIconFit(); | 595         CPDF_IconFit IconFit = pFormControl->GetIconFit(); | 
| 596 | 596 | 
| 597         FX_FLOAT fLeft,fBottom; | 597         FX_FLOAT fLeft,fBottom; | 
| 598         IconFit.GetIconPosition(fLeft,fBottom); | 598         IconFit.GetIconPosition(fLeft,fBottom); | 
| 599 | 599 | 
| 600         vp << (int32_t)fLeft; | 600         vp << (int32_t)fLeft; | 
| 601     } | 601     } | 
| 602 | 602 | 
| 603     return TRUE; | 603     return true; | 
| 604 } | 604 } | 
| 605 | 605 | 
| 606 void Field::SetButtonAlignX(CPDFSDK_Document* pDocument, const CFX_WideString& s
      wFieldName, int nControlIndex, int number) | 606 void Field::SetButtonAlignX(CPDFSDK_Document* pDocument, const CFX_WideString& s
      wFieldName, int nControlIndex, int number) | 
| 607 { | 607 { | 
| 608     //Not supported. | 608     //Not supported. | 
| 609 } | 609 } | 
| 610 | 610 | 
| 611 FX_BOOL Field::buttonAlignY(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
      & sError) | 611 bool Field::buttonAlignY(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 
| 612 { | 612 { | 
| 613     ASSERT(m_pDocument != NULL); | 613     ASSERT(m_pDocument != NULL); | 
| 614 | 614 | 
| 615     if (vp.IsSetting()) | 615     if (vp.IsSetting()) | 
| 616     { | 616     { | 
| 617         if (!m_bCanSet) return FALSE; | 617         if (!m_bCanSet) return false; | 
| 618 | 618 | 
| 619         int nVP; | 619         int nVP; | 
| 620         vp >> nVP; | 620         vp >> nVP; | 
| 621 | 621 | 
| 622         if (m_bDelay) | 622         if (m_bDelay) | 
| 623         { | 623         { | 
| 624             AddDelay_Int(FP_BUTTONALIGNY, nVP); | 624             AddDelay_Int(FP_BUTTONALIGNY, nVP); | 
| 625         } | 625         } | 
| 626         else | 626         else | 
| 627         { | 627         { | 
| 628             Field::SetButtonAlignY(m_pDocument, m_FieldName, m_nFormControlIndex
      , nVP); | 628             Field::SetButtonAlignY(m_pDocument, m_FieldName, m_nFormControlIndex
      , nVP); | 
| 629         } | 629         } | 
| 630     } | 630     } | 
| 631     else | 631     else | 
| 632     { | 632     { | 
| 633         CFX_PtrArray FieldArray; | 633         CFX_PtrArray FieldArray; | 
| 634         GetFormFields(m_FieldName,FieldArray); | 634         GetFormFields(m_FieldName,FieldArray); | 
| 635         if (FieldArray.GetSize() <= 0) return FALSE; | 635         if (FieldArray.GetSize() <= 0) return false; | 
| 636 | 636 | 
| 637         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 637         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 638         ASSERT(pFormField != NULL); | 638         ASSERT(pFormField != NULL); | 
| 639 | 639 | 
| 640         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 640         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 
| 641             return FALSE; | 641             return false; | 
| 642 | 642 | 
| 643         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 643         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 644         if (!pFormControl)return FALSE; | 644         if (!pFormControl)return false; | 
| 645 | 645 | 
| 646         CPDF_IconFit IconFit = pFormControl->GetIconFit(); | 646         CPDF_IconFit IconFit = pFormControl->GetIconFit(); | 
| 647 | 647 | 
| 648         FX_FLOAT fLeft,fBottom; | 648         FX_FLOAT fLeft,fBottom; | 
| 649         IconFit.GetIconPosition(fLeft,fBottom); | 649         IconFit.GetIconPosition(fLeft,fBottom); | 
| 650 | 650 | 
| 651         vp <<  (int32_t)fBottom; | 651         vp <<  (int32_t)fBottom; | 
| 652     } | 652     } | 
| 653 | 653 | 
| 654     return TRUE; | 654     return true; | 
| 655 } | 655 } | 
| 656 | 656 | 
| 657 void Field::SetButtonAlignY(CPDFSDK_Document* pDocument, const CFX_WideString& s
      wFieldName, int nControlIndex, int number) | 657 void Field::SetButtonAlignY(CPDFSDK_Document* pDocument, const CFX_WideString& s
      wFieldName, int nControlIndex, int number) | 
| 658 { | 658 { | 
| 659     //Not supported. | 659     //Not supported. | 
| 660 } | 660 } | 
| 661 | 661 | 
| 662 FX_BOOL Field::buttonFitBounds(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStr
      ing& sError) | 662 bool Field::buttonFitBounds(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
      & sError) | 
| 663 { | 663 { | 
| 664     ASSERT(m_pDocument != NULL); | 664     ASSERT(m_pDocument != NULL); | 
| 665 | 665 | 
| 666     if (vp.IsSetting()) | 666     if (vp.IsSetting()) | 
| 667     { | 667     { | 
| 668         if (!m_bCanSet) return FALSE; | 668         if (!m_bCanSet) return false; | 
| 669 | 669 | 
| 670         bool bVP; | 670         bool bVP; | 
| 671         vp >> bVP; | 671         vp >> bVP; | 
| 672 | 672 | 
| 673         if (m_bDelay) | 673         if (m_bDelay) | 
| 674         { | 674         { | 
| 675             AddDelay_Bool(FP_BUTTONFITBOUNDS, bVP); | 675             AddDelay_Bool(FP_BUTTONFITBOUNDS, bVP); | 
| 676         } | 676         } | 
| 677         else | 677         else | 
| 678         { | 678         { | 
| 679             Field::SetButtonFitBounds(m_pDocument, m_FieldName, m_nFormControlIn
      dex, bVP); | 679             Field::SetButtonFitBounds(m_pDocument, m_FieldName, m_nFormControlIn
      dex, bVP); | 
| 680         } | 680         } | 
| 681     } | 681     } | 
| 682     else | 682     else | 
| 683     { | 683     { | 
| 684         CFX_PtrArray FieldArray; | 684         CFX_PtrArray FieldArray; | 
| 685         GetFormFields(m_FieldName,FieldArray); | 685         GetFormFields(m_FieldName,FieldArray); | 
| 686         if (FieldArray.GetSize() <= 0) return FALSE; | 686         if (FieldArray.GetSize() <= 0) return false; | 
| 687 | 687 | 
| 688         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 688         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 689         ASSERT(pFormField != NULL); | 689         ASSERT(pFormField != NULL); | 
| 690 | 690 | 
| 691         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 691         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 
| 692             return FALSE; | 692             return false; | 
| 693 | 693 | 
| 694         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 694         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 695         if (!pFormControl)return FALSE; | 695         if (!pFormControl)return false; | 
| 696 | 696 | 
| 697         CPDF_IconFit IconFit = pFormControl->GetIconFit(); | 697         CPDF_IconFit IconFit = pFormControl->GetIconFit(); | 
| 698         vp << IconFit.GetFittingBounds(); | 698         vp << IconFit.GetFittingBounds(); | 
| 699     } | 699     } | 
| 700 | 700 | 
| 701     return TRUE; | 701     return true; | 
| 702 } | 702 } | 
| 703 | 703 | 
| 704 void Field::SetButtonFitBounds(CPDFSDK_Document* pDocument, const CFX_WideString
      & swFieldName, int nControlIndex, bool b) | 704 void Field::SetButtonFitBounds(CPDFSDK_Document* pDocument, const CFX_WideString
      & swFieldName, int nControlIndex, bool b) | 
| 705 { | 705 { | 
| 706     //Not supported. | 706     //Not supported. | 
| 707 } | 707 } | 
| 708 | 708 | 
| 709 FX_BOOL Field::buttonPosition(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStri
      ng& sError) | 709 bool Field::buttonPosition(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
       sError) | 
| 710 { | 710 { | 
| 711     ASSERT(m_pDocument != NULL); | 711     ASSERT(m_pDocument != NULL); | 
| 712 | 712 | 
| 713     if (vp.IsSetting()) | 713     if (vp.IsSetting()) | 
| 714     { | 714     { | 
| 715         if (!m_bCanSet) return FALSE; | 715         if (!m_bCanSet) return false; | 
| 716 | 716 | 
| 717         int nVP; | 717         int nVP; | 
| 718         vp >> nVP; | 718         vp >> nVP; | 
| 719 | 719 | 
| 720         if (m_bDelay) | 720         if (m_bDelay) | 
| 721         { | 721         { | 
| 722             AddDelay_Int(FP_BUTTONPOSITION, nVP); | 722             AddDelay_Int(FP_BUTTONPOSITION, nVP); | 
| 723         } | 723         } | 
| 724         else | 724         else | 
| 725         { | 725         { | 
| 726             Field::SetButtonPosition(m_pDocument, m_FieldName, m_nFormControlInd
      ex, nVP); | 726             Field::SetButtonPosition(m_pDocument, m_FieldName, m_nFormControlInd
      ex, nVP); | 
| 727         } | 727         } | 
| 728     } | 728     } | 
| 729     else | 729     else | 
| 730     { | 730     { | 
| 731         CFX_PtrArray FieldArray; | 731         CFX_PtrArray FieldArray; | 
| 732         GetFormFields(m_FieldName,FieldArray); | 732         GetFormFields(m_FieldName,FieldArray); | 
| 733         if (FieldArray.GetSize() <= 0) return FALSE; | 733         if (FieldArray.GetSize() <= 0) return false; | 
| 734 | 734 | 
| 735         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 735         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 736         ASSERT(pFormField != NULL); | 736         ASSERT(pFormField != NULL); | 
| 737 | 737 | 
| 738         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 738         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 
| 739             return FALSE; | 739             return false; | 
| 740 | 740 | 
| 741         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 741         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 742         if (!pFormControl)return FALSE; | 742         if (!pFormControl)return false; | 
| 743 | 743 | 
| 744         vp <<  pFormControl->GetTextPosition(); | 744         vp <<  pFormControl->GetTextPosition(); | 
| 745     } | 745     } | 
| 746     return TRUE; | 746     return true; | 
| 747 } | 747 } | 
| 748 | 748 | 
| 749 void Field::SetButtonPosition(CPDFSDK_Document* pDocument, const CFX_WideString&
       swFieldName, int nControlIndex, int number) | 749 void Field::SetButtonPosition(CPDFSDK_Document* pDocument, const CFX_WideString&
       swFieldName, int nControlIndex, int number) | 
| 750 { | 750 { | 
| 751     //Not supported. | 751     //Not supported. | 
| 752 } | 752 } | 
| 753 | 753 | 
| 754 FX_BOOL Field::buttonScaleHow(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStri
      ng& sError) | 754 bool Field::buttonScaleHow(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
       sError) | 
| 755 { | 755 { | 
| 756     ASSERT(m_pDocument != NULL); | 756     ASSERT(m_pDocument != NULL); | 
| 757 | 757 | 
| 758     if (vp.IsSetting()) | 758     if (vp.IsSetting()) | 
| 759     { | 759     { | 
| 760         if (!m_bCanSet) return FALSE; | 760         if (!m_bCanSet) return false; | 
| 761 | 761 | 
| 762         int nVP; | 762         int nVP; | 
| 763         vp >> nVP; | 763         vp >> nVP; | 
| 764 | 764 | 
| 765         if (m_bDelay) | 765         if (m_bDelay) | 
| 766         { | 766         { | 
| 767             AddDelay_Int(FP_BUTTONSCALEHOW, nVP); | 767             AddDelay_Int(FP_BUTTONSCALEHOW, nVP); | 
| 768         } | 768         } | 
| 769         else | 769         else | 
| 770         { | 770         { | 
| 771             Field::SetButtonScaleHow(m_pDocument, m_FieldName, m_nFormControlInd
      ex, nVP); | 771             Field::SetButtonScaleHow(m_pDocument, m_FieldName, m_nFormControlInd
      ex, nVP); | 
| 772         } | 772         } | 
| 773     } | 773     } | 
| 774     else | 774     else | 
| 775     { | 775     { | 
| 776         CFX_PtrArray FieldArray; | 776         CFX_PtrArray FieldArray; | 
| 777         GetFormFields(m_FieldName, FieldArray); | 777         GetFormFields(m_FieldName, FieldArray); | 
| 778         if (FieldArray.GetSize() <= 0) return FALSE; | 778         if (FieldArray.GetSize() <= 0) return false; | 
| 779 | 779 | 
| 780         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 780         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 781         ASSERT(pFormField != NULL); | 781         ASSERT(pFormField != NULL); | 
| 782 | 782 | 
| 783         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 783         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 
| 784             return FALSE; | 784             return false; | 
| 785 | 785 | 
| 786         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 786         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 787         if (!pFormControl)return FALSE; | 787         if (!pFormControl)return false; | 
| 788 | 788 | 
| 789         CPDF_IconFit IconFit = pFormControl->GetIconFit(); | 789         CPDF_IconFit IconFit = pFormControl->GetIconFit(); | 
| 790         if (IconFit.IsProportionalScale()) | 790         if (IconFit.IsProportionalScale()) | 
| 791             vp << (int32_t)0; | 791             vp << (int32_t)0; | 
| 792         else | 792         else | 
| 793             vp << (int32_t)1; | 793             vp << (int32_t)1; | 
| 794     } | 794     } | 
| 795 | 795 | 
| 796     return TRUE; | 796     return true; | 
| 797 } | 797 } | 
| 798 | 798 | 
| 799 void Field::SetButtonScaleHow(CPDFSDK_Document* pDocument, const CFX_WideString&
       swFieldName, int nControlIndex, int number) | 799 void Field::SetButtonScaleHow(CPDFSDK_Document* pDocument, const CFX_WideString&
       swFieldName, int nControlIndex, int number) | 
| 800 { | 800 { | 
| 801     //Not supported. | 801     //Not supported. | 
| 802 } | 802 } | 
| 803 | 803 | 
| 804 FX_BOOL Field::buttonScaleWhen(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStr
      ing& sError) | 804 bool Field::buttonScaleWhen(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
      & sError) | 
| 805 { | 805 { | 
| 806     ASSERT(m_pDocument != NULL); | 806     ASSERT(m_pDocument != NULL); | 
| 807 | 807 | 
| 808     if (vp.IsSetting()) | 808     if (vp.IsSetting()) | 
| 809     { | 809     { | 
| 810         if (!m_bCanSet) return FALSE; | 810         if (!m_bCanSet) return false; | 
| 811 | 811 | 
| 812         int nVP; | 812         int nVP; | 
| 813         vp >> nVP; | 813         vp >> nVP; | 
| 814 | 814 | 
| 815         if (m_bDelay) | 815         if (m_bDelay) | 
| 816         { | 816         { | 
| 817             AddDelay_Int(FP_BUTTONSCALEWHEN, nVP); | 817             AddDelay_Int(FP_BUTTONSCALEWHEN, nVP); | 
| 818         } | 818         } | 
| 819         else | 819         else | 
| 820         { | 820         { | 
| 821             Field::SetButtonScaleWhen(m_pDocument, m_FieldName, m_nFormControlIn
      dex, nVP); | 821             Field::SetButtonScaleWhen(m_pDocument, m_FieldName, m_nFormControlIn
      dex, nVP); | 
| 822         } | 822         } | 
| 823     } | 823     } | 
| 824     else | 824     else | 
| 825     { | 825     { | 
| 826         CFX_PtrArray FieldArray; | 826         CFX_PtrArray FieldArray; | 
| 827         GetFormFields(m_FieldName,FieldArray); | 827         GetFormFields(m_FieldName,FieldArray); | 
| 828         if (FieldArray.GetSize() <= 0) return FALSE; | 828         if (FieldArray.GetSize() <= 0) return false; | 
| 829 | 829 | 
| 830         CPDF_FormField* pFormField = (CPDF_FormField*) FieldArray.ElementAt(0); | 830         CPDF_FormField* pFormField = (CPDF_FormField*) FieldArray.ElementAt(0); | 
| 831         ASSERT(pFormField != NULL); | 831         ASSERT(pFormField != NULL); | 
| 832 | 832 | 
| 833         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 833         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 
| 834             return FALSE; | 834             return false; | 
| 835 | 835 | 
| 836         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 836         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 837         if (!pFormControl) return FALSE; | 837         if (!pFormControl) return false; | 
| 838 | 838 | 
| 839         CPDF_IconFit IconFit = pFormControl->GetIconFit(); | 839         CPDF_IconFit IconFit = pFormControl->GetIconFit(); | 
| 840         int ScaleM = IconFit.GetScaleMethod(); | 840         int ScaleM = IconFit.GetScaleMethod(); | 
| 841         switch (ScaleM) | 841         switch (ScaleM) | 
| 842         { | 842         { | 
| 843             case CPDF_IconFit::Always : | 843             case CPDF_IconFit::Always : | 
| 844                 vp <<  (int32_t) CPDF_IconFit::Always; | 844                 vp <<  (int32_t) CPDF_IconFit::Always; | 
| 845                 break; | 845                 break; | 
| 846             case CPDF_IconFit::Bigger : | 846             case CPDF_IconFit::Bigger : | 
| 847                 vp <<  (int32_t) CPDF_IconFit::Bigger; | 847                 vp <<  (int32_t) CPDF_IconFit::Bigger; | 
| 848                 break; | 848                 break; | 
| 849             case CPDF_IconFit::Never : | 849             case CPDF_IconFit::Never : | 
| 850                 vp <<  (int32_t) CPDF_IconFit::Never; | 850                 vp <<  (int32_t) CPDF_IconFit::Never; | 
| 851                 break; | 851                 break; | 
| 852             case CPDF_IconFit::Smaller : | 852             case CPDF_IconFit::Smaller : | 
| 853                 vp <<  (int32_t) CPDF_IconFit::Smaller; | 853                 vp <<  (int32_t) CPDF_IconFit::Smaller; | 
| 854                 break; | 854                 break; | 
| 855         } | 855         } | 
| 856     } | 856     } | 
| 857 | 857 | 
| 858     return TRUE; | 858     return true; | 
| 859 } | 859 } | 
| 860 | 860 | 
| 861 void Field::SetButtonScaleWhen(CPDFSDK_Document* pDocument, const CFX_WideString
      & swFieldName, int nControlIndex, int number) | 861 void Field::SetButtonScaleWhen(CPDFSDK_Document* pDocument, const CFX_WideString
      & swFieldName, int nControlIndex, int number) | 
| 862 { | 862 { | 
| 863     //Not supported. | 863     //Not supported. | 
| 864 } | 864 } | 
| 865 | 865 | 
| 866 FX_BOOL Field::calcOrderIndex(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStri
      ng& sError) | 866 bool Field::calcOrderIndex(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
       sError) | 
| 867 { | 867 { | 
| 868     ASSERT(m_pDocument != NULL); | 868     ASSERT(m_pDocument != NULL); | 
| 869 | 869 | 
| 870     if (vp.IsSetting()) | 870     if (vp.IsSetting()) | 
| 871     { | 871     { | 
| 872         if (!m_bCanSet) return FALSE; | 872         if (!m_bCanSet) return false; | 
| 873 | 873 | 
| 874         int nVP; | 874         int nVP; | 
| 875         vp >> nVP; | 875         vp >> nVP; | 
| 876 | 876 | 
| 877         if (m_bDelay) | 877         if (m_bDelay) | 
| 878         { | 878         { | 
| 879             AddDelay_Int(FP_CALCORDERINDEX, nVP); | 879             AddDelay_Int(FP_CALCORDERINDEX, nVP); | 
| 880         } | 880         } | 
| 881         else | 881         else | 
| 882         { | 882         { | 
| 883             Field::SetCalcOrderIndex(m_pDocument, m_FieldName, m_nFormControlInd
      ex, nVP); | 883             Field::SetCalcOrderIndex(m_pDocument, m_FieldName, m_nFormControlInd
      ex, nVP); | 
| 884         } | 884         } | 
| 885     } | 885     } | 
| 886     else | 886     else | 
| 887     { | 887     { | 
| 888         CFX_PtrArray FieldArray; | 888         CFX_PtrArray FieldArray; | 
| 889         GetFormFields(m_FieldName, FieldArray); | 889         GetFormFields(m_FieldName, FieldArray); | 
| 890         if (FieldArray.GetSize() <= 0) return FALSE; | 890         if (FieldArray.GetSize() <= 0) return false; | 
| 891 | 891 | 
| 892         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 892         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 893         ASSERT(pFormField != NULL); | 893         ASSERT(pFormField != NULL); | 
| 894 | 894 | 
| 895         if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && pFormField->GetF
      ieldType() != FIELDTYPE_TEXTFIELD) | 895         if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && pFormField->GetF
      ieldType() != FIELDTYPE_TEXTFIELD) | 
| 896             return FALSE; | 896             return false; | 
| 897 | 897 | 
| 898         CPDFSDK_InterForm* pRDInterForm = m_pDocument->GetInterForm(); | 898         CPDFSDK_InterForm* pRDInterForm = m_pDocument->GetInterForm(); | 
| 899         ASSERT(pRDInterForm != NULL); | 899         ASSERT(pRDInterForm != NULL); | 
| 900 | 900 | 
| 901         CPDF_InterForm* pInterForm = pRDInterForm->GetInterForm(); | 901         CPDF_InterForm* pInterForm = pRDInterForm->GetInterForm(); | 
| 902         ASSERT(pInterForm != NULL); | 902         ASSERT(pInterForm != NULL); | 
| 903 | 903 | 
| 904         vp << (int32_t)pInterForm->FindFieldInCalculationOrder(pFormField); | 904         vp << (int32_t)pInterForm->FindFieldInCalculationOrder(pFormField); | 
| 905     } | 905     } | 
| 906 | 906 | 
| 907     return TRUE; | 907     return true; | 
| 908 } | 908 } | 
| 909 | 909 | 
| 910 void Field::SetCalcOrderIndex(CPDFSDK_Document* pDocument, const CFX_WideString&
       swFieldName, int nControlIndex, int number) | 910 void Field::SetCalcOrderIndex(CPDFSDK_Document* pDocument, const CFX_WideString&
       swFieldName, int nControlIndex, int number) | 
| 911 { | 911 { | 
| 912     //Not supported. | 912     //Not supported. | 
| 913 } | 913 } | 
| 914 | 914 | 
| 915 FX_BOOL Field::charLimit(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 915 bool Field::charLimit(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
      or) | 
| 916 { | 916 { | 
| 917     ASSERT(m_pDocument != NULL); | 917     ASSERT(m_pDocument != NULL); | 
| 918 | 918 | 
| 919     if (vp.IsSetting()) | 919     if (vp.IsSetting()) | 
| 920     { | 920     { | 
| 921         if (!m_bCanSet) return FALSE; | 921         if (!m_bCanSet) return false; | 
| 922 | 922 | 
| 923         int nVP; | 923         int nVP; | 
| 924         vp >> nVP; | 924         vp >> nVP; | 
| 925 | 925 | 
| 926         if (m_bDelay) | 926         if (m_bDelay) | 
| 927         { | 927         { | 
| 928             AddDelay_Int(FP_CHARLIMIT, nVP); | 928             AddDelay_Int(FP_CHARLIMIT, nVP); | 
| 929         } | 929         } | 
| 930         else | 930         else | 
| 931         { | 931         { | 
| 932             Field::SetCharLimit(m_pDocument, m_FieldName, m_nFormControlIndex, n
      VP); | 932             Field::SetCharLimit(m_pDocument, m_FieldName, m_nFormControlIndex, n
      VP); | 
| 933         } | 933         } | 
| 934     } | 934     } | 
| 935     else | 935     else | 
| 936     { | 936     { | 
| 937         CFX_PtrArray FieldArray; | 937         CFX_PtrArray FieldArray; | 
| 938         GetFormFields(m_FieldName, FieldArray); | 938         GetFormFields(m_FieldName, FieldArray); | 
| 939         if (FieldArray.GetSize() <= 0) return FALSE; | 939         if (FieldArray.GetSize() <= 0) return false; | 
| 940 | 940 | 
| 941         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 941         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 942         ASSERT(pFormField != NULL); | 942         ASSERT(pFormField != NULL); | 
| 943 | 943 | 
| 944         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 944         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 
| 945             return FALSE; | 945             return false; | 
| 946 | 946 | 
| 947         vp << (int32_t)pFormField->GetMaxLen(); | 947         vp << (int32_t)pFormField->GetMaxLen(); | 
| 948     } | 948     } | 
| 949     return TRUE; | 949     return true; | 
| 950 } | 950 } | 
| 951 | 951 | 
| 952 void Field::SetCharLimit(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, int number) | 952 void Field::SetCharLimit(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, int number) | 
| 953 { | 953 { | 
| 954     //Not supported. | 954     //Not supported. | 
| 955 } | 955 } | 
| 956 | 956 | 
| 957 FX_BOOL Field::comb(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError
      ) | 957 bool Field::comb(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 958 { | 958 { | 
| 959     ASSERT(m_pDocument != NULL); | 959     ASSERT(m_pDocument != NULL); | 
| 960 | 960 | 
| 961     if (vp.IsSetting()) | 961     if (vp.IsSetting()) | 
| 962     { | 962     { | 
| 963         if (!m_bCanSet) return FALSE; | 963         if (!m_bCanSet) return false; | 
| 964 | 964 | 
| 965         bool bVP; | 965         bool bVP; | 
| 966         vp >> bVP; | 966         vp >> bVP; | 
| 967 | 967 | 
| 968         if (m_bDelay) | 968         if (m_bDelay) | 
| 969         { | 969         { | 
| 970             AddDelay_Bool(FP_COMB, bVP); | 970             AddDelay_Bool(FP_COMB, bVP); | 
| 971         } | 971         } | 
| 972         else | 972         else | 
| 973         { | 973         { | 
| 974             Field::SetComb(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); | 974             Field::SetComb(m_pDocument, m_FieldName, m_nFormControlIndex, bVP); | 
| 975         } | 975         } | 
| 976     } | 976     } | 
| 977     else | 977     else | 
| 978     { | 978     { | 
| 979         CFX_PtrArray FieldArray; | 979         CFX_PtrArray FieldArray; | 
| 980         GetFormFields(m_FieldName,FieldArray); | 980         GetFormFields(m_FieldName,FieldArray); | 
| 981         if (FieldArray.GetSize() <= 0) return FALSE; | 981         if (FieldArray.GetSize() <= 0) return false; | 
| 982 | 982 | 
| 983         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 983         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 984         ASSERT(pFormField != NULL); | 984         ASSERT(pFormField != NULL); | 
| 985 | 985 | 
| 986         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 986         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 
| 987             return FALSE; | 987             return false; | 
| 988 | 988 | 
| 989         if (pFormField->GetFieldFlags() & FIELDFLAG_COMB) | 989         if (pFormField->GetFieldFlags() & FIELDFLAG_COMB) | 
| 990             vp << true; | 990             vp << true; | 
| 991         else | 991         else | 
| 992             vp << false; | 992             vp << false; | 
| 993     } | 993     } | 
| 994 | 994 | 
| 995     return TRUE; | 995     return true; | 
| 996 } | 996 } | 
| 997 | 997 | 
| 998 void Field::SetComb(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldNa
      me, int nControlIndex, bool b) | 998 void Field::SetComb(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldNa
      me, int nControlIndex, bool b) | 
| 999 { | 999 { | 
| 1000     //Not supported. | 1000     //Not supported. | 
| 1001 } | 1001 } | 
| 1002 | 1002 | 
| 1003 FX_BOOL Field::commitOnSelChange(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideS
      tring& sError) | 1003 bool Field::commitOnSelChange(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStri
      ng& sError) | 
| 1004 { | 1004 { | 
| 1005     ASSERT(m_pDocument != NULL); | 1005     ASSERT(m_pDocument != NULL); | 
| 1006 | 1006 | 
| 1007     if (vp.IsSetting()) | 1007     if (vp.IsSetting()) | 
| 1008     { | 1008     { | 
| 1009         if (!m_bCanSet) return FALSE; | 1009         if (!m_bCanSet) return false; | 
| 1010 | 1010 | 
| 1011         bool bVP; | 1011         bool bVP; | 
| 1012         vp >> bVP; | 1012         vp >> bVP; | 
| 1013 | 1013 | 
| 1014         if (m_bDelay) | 1014         if (m_bDelay) | 
| 1015         { | 1015         { | 
| 1016             AddDelay_Bool(FP_COMMITONSELCHANGE, bVP); | 1016             AddDelay_Bool(FP_COMMITONSELCHANGE, bVP); | 
| 1017         } | 1017         } | 
| 1018         else | 1018         else | 
| 1019         { | 1019         { | 
| 1020             Field::SetCommitOnSelChange(m_pDocument, m_FieldName, m_nFormControl
      Index, bVP); | 1020             Field::SetCommitOnSelChange(m_pDocument, m_FieldName, m_nFormControl
      Index, bVP); | 
| 1021         } | 1021         } | 
| 1022     } | 1022     } | 
| 1023     else | 1023     else | 
| 1024     { | 1024     { | 
| 1025         CFX_PtrArray FieldArray; | 1025         CFX_PtrArray FieldArray; | 
| 1026         GetFormFields(m_FieldName,FieldArray); | 1026         GetFormFields(m_FieldName,FieldArray); | 
| 1027         if (FieldArray.GetSize() <= 0) return FALSE; | 1027         if (FieldArray.GetSize() <= 0) return false; | 
| 1028 | 1028 | 
| 1029         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1029         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1030         ASSERT(pFormField != NULL); | 1030         ASSERT(pFormField != NULL); | 
| 1031 | 1031 | 
| 1032         if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && pFormField->GetF
      ieldType() != FIELDTYPE_LISTBOX) | 1032         if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && pFormField->GetF
      ieldType() != FIELDTYPE_LISTBOX) | 
| 1033             return FALSE; | 1033             return false; | 
| 1034 | 1034 | 
| 1035         if (pFormField->GetFieldFlags() & FIELDFLAG_COMMITONSELCHANGE) | 1035         if (pFormField->GetFieldFlags() & FIELDFLAG_COMMITONSELCHANGE) | 
| 1036             vp << true; | 1036             vp << true; | 
| 1037         else | 1037         else | 
| 1038             vp << false; | 1038             vp << false; | 
| 1039     } | 1039     } | 
| 1040 | 1040 | 
| 1041     return TRUE; | 1041     return true; | 
| 1042 } | 1042 } | 
| 1043 | 1043 | 
| 1044 void Field::SetCommitOnSelChange(CPDFSDK_Document* pDocument, const CFX_WideStri
      ng& swFieldName, int nControlIndex, bool b) | 1044 void Field::SetCommitOnSelChange(CPDFSDK_Document* pDocument, const CFX_WideStri
      ng& swFieldName, int nControlIndex, bool b) | 
| 1045 { | 1045 { | 
| 1046     //Not supported. | 1046     //Not supported. | 
| 1047 } | 1047 } | 
| 1048 | 1048 | 
| 1049 FX_BOOL Field::currentValueIndices(IFXJS_Context* cc, CJS_PropValue& vp, CFX_Wid
      eString& sError) | 1049 bool Field::currentValueIndices(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideSt
      ring& sError) | 
| 1050 { | 1050 { | 
| 1051     ASSERT(m_pDocument != NULL); | 1051     ASSERT(m_pDocument != NULL); | 
| 1052 | 1052 | 
| 1053     if (vp.IsSetting()) | 1053     if (vp.IsSetting()) | 
| 1054     { | 1054     { | 
| 1055         if (!m_bCanSet) return FALSE; | 1055         if (!m_bCanSet) return false; | 
| 1056 | 1056 | 
| 1057         CFX_DWordArray array; | 1057         CFX_DWordArray array; | 
| 1058 | 1058 | 
| 1059         if (vp.GetType() == VT_number) | 1059         if (vp.GetType() == VT_number) | 
| 1060         { | 1060         { | 
| 1061             int iSelecting = 0; | 1061             int iSelecting = 0; | 
| 1062             vp >> iSelecting; | 1062             vp >> iSelecting; | 
| 1063             array.Add(iSelecting); | 1063             array.Add(iSelecting); | 
| 1064         } | 1064         } | 
| 1065         else if (vp.IsArrayObject()) | 1065         else if (vp.IsArrayObject()) | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 1082         } | 1082         } | 
| 1083         else | 1083         else | 
| 1084         { | 1084         { | 
| 1085             Field::SetCurrentValueIndices(m_pDocument, m_FieldName, m_nFormContr
      olIndex, array); | 1085             Field::SetCurrentValueIndices(m_pDocument, m_FieldName, m_nFormContr
      olIndex, array); | 
| 1086         } | 1086         } | 
| 1087     } | 1087     } | 
| 1088     else | 1088     else | 
| 1089     { | 1089     { | 
| 1090         CFX_PtrArray FieldArray; | 1090         CFX_PtrArray FieldArray; | 
| 1091         GetFormFields(m_FieldName,FieldArray); | 1091         GetFormFields(m_FieldName,FieldArray); | 
| 1092         if (FieldArray.GetSize() <= 0) return FALSE; | 1092         if (FieldArray.GetSize() <= 0) return false; | 
| 1093 | 1093 | 
| 1094         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1094         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1095         ASSERT(pFormField != NULL); | 1095         ASSERT(pFormField != NULL); | 
| 1096 | 1096 | 
| 1097         if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && pFormField->GetF
      ieldType() != FIELDTYPE_LISTBOX) | 1097         if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && pFormField->GetF
      ieldType() != FIELDTYPE_LISTBOX) | 
| 1098             return FALSE; | 1098             return false; | 
| 1099 | 1099 | 
| 1100         if (pFormField->CountSelectedItems() == 1) | 1100         if (pFormField->CountSelectedItems() == 1) | 
| 1101             vp << pFormField->GetSelectedIndex(0); | 1101             vp << pFormField->GetSelectedIndex(0); | 
| 1102         else if (pFormField->CountSelectedItems() > 1) | 1102         else if (pFormField->CountSelectedItems() > 1) | 
| 1103         { | 1103         { | 
| 1104             CJS_Array SelArray(m_isolate); | 1104             CJS_Array SelArray(m_isolate); | 
| 1105             for (int i=0,sz=pFormField->CountSelectedItems(); i<sz; i++) | 1105             for (int i=0,sz=pFormField->CountSelectedItems(); i<sz; i++) | 
| 1106             { | 1106             { | 
| 1107                 SelArray.SetElement(i, CJS_Value(m_isolate,pFormField->GetSelect
      edIndex(i))); | 1107                 SelArray.SetElement(i, CJS_Value(m_isolate,pFormField->GetSelect
      edIndex(i))); | 
| 1108             } | 1108             } | 
| 1109             vp << SelArray; | 1109             vp << SelArray; | 
| 1110         } | 1110         } | 
| 1111         else | 1111         else | 
| 1112             vp << -1; | 1112             vp << -1; | 
| 1113     } | 1113     } | 
| 1114 | 1114 | 
| 1115     return TRUE; | 1115     return true; | 
| 1116 } | 1116 } | 
| 1117 | 1117 | 
| 1118 void Field::SetCurrentValueIndices(CPDFSDK_Document* pDocument, const CFX_WideSt
      ring& swFieldName, int nControlIndex, | 1118 void Field::SetCurrentValueIndices(CPDFSDK_Document* pDocument, const CFX_WideSt
      ring& swFieldName, int nControlIndex, | 
| 1119                                    const CFX_DWordArray& array) | 1119                                    const CFX_DWordArray& array) | 
| 1120 { | 1120 { | 
| 1121     ASSERT(pDocument != NULL); | 1121     ASSERT(pDocument != NULL); | 
| 1122 | 1122 | 
| 1123     CFX_PtrArray FieldArray; | 1123     CFX_PtrArray FieldArray; | 
| 1124     GetFormFields(pDocument, swFieldName, FieldArray); | 1124     GetFormFields(pDocument, swFieldName, FieldArray); | 
| 1125 | 1125 | 
| 1126     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 1126     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 
| 1127     { | 1127     { | 
| 1128         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 1128         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 
| 1129         ASSERT(pFormField != NULL); | 1129         ASSERT(pFormField != NULL); | 
| 1130 | 1130 | 
| 1131         int nFieldType = pFormField->GetFieldType(); | 1131         int nFieldType = pFormField->GetFieldType(); | 
| 1132         if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_LISTBOX) | 1132         if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_LISTBOX) | 
| 1133         { | 1133         { | 
| 1134             FX_DWORD dwFieldFlags = pFormField->GetFieldFlags(); | 1134             FX_DWORD dwFieldFlags = pFormField->GetFieldFlags(); | 
| 1135             pFormField->ClearSelection(TRUE); | 1135             pFormField->ClearSelection(true); | 
| 1136 | 1136 | 
| 1137             for (int i=0,sz=array.GetSize(); i<sz; i++) | 1137             for (int i=0,sz=array.GetSize(); i<sz; i++) | 
| 1138             { | 1138             { | 
| 1139                 if (i>0 && !(dwFieldFlags & (1<<21))) | 1139                 if (i>0 && !(dwFieldFlags & (1<<21))) | 
| 1140                 { | 1140                 { | 
| 1141                     break; | 1141                     break; | 
| 1142                 } | 1142                 } | 
| 1143 | 1143 | 
| 1144                 int iSelecting = (int32_t)array.GetAt(i); | 1144                 int iSelecting = (int32_t)array.GetAt(i); | 
| 1145                 if (iSelecting < pFormField->CountOptions() && !pFormField->IsIt
      emSelected(iSelecting)) | 1145                 if (iSelecting < pFormField->CountOptions() && !pFormField->IsIt
      emSelected(iSelecting)) | 
| 1146                     pFormField->SetItemSelection(iSelecting, TRUE); | 1146                     pFormField->SetItemSelection(iSelecting, true); | 
| 1147 | 1147 | 
| 1148             } | 1148             } | 
| 1149             UpdateFormField(pDocument, pFormField, TRUE, TRUE, TRUE); | 1149             UpdateFormField(pDocument, pFormField, true, true, true); | 
| 1150         } | 1150         } | 
| 1151     } | 1151     } | 
| 1152 } | 1152 } | 
| 1153 | 1153 | 
| 1154 FX_BOOL Field::defaultStyle(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
      & sError) | 1154 bool Field::defaultStyle(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 
| 1155 { | 1155 { | 
| 1156     // MQG sError = JSGetStringFromID(IDS_STRING_NOTSUPPORT); | 1156     // MQG sError = JSGetStringFromID(IDS_STRING_NOTSUPPORT); | 
| 1157     return FALSE; | 1157     return false; | 
| 1158 | 1158 | 
| 1159     if (vp.IsSetting()) | 1159     if (vp.IsSetting()) | 
| 1160     { | 1160     { | 
| 1161         if (!m_bCanSet) return FALSE; | 1161         if (!m_bCanSet) return false; | 
| 1162 | 1162 | 
| 1163         ; | 1163         ; | 
| 1164     } | 1164     } | 
| 1165     else | 1165     else | 
| 1166     { | 1166     { | 
| 1167         ; | 1167         ; | 
| 1168     } | 1168     } | 
| 1169     return TRUE; | 1169     return true; | 
| 1170 } | 1170 } | 
| 1171 | 1171 | 
| 1172 void Field::SetDefaultStyle(CPDFSDK_Document* pDocument, const CFX_WideString& s
      wFieldName, int nControlIndex) | 1172 void Field::SetDefaultStyle(CPDFSDK_Document* pDocument, const CFX_WideString& s
      wFieldName, int nControlIndex) | 
| 1173 { | 1173 { | 
| 1174     //Not supported. | 1174     //Not supported. | 
| 1175 } | 1175 } | 
| 1176 | 1176 | 
| 1177 FX_BOOL Field::defaultValue(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
      & sError) | 1177 bool Field::defaultValue(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 
| 1178 { | 1178 { | 
| 1179     ASSERT(m_pDocument != NULL); | 1179     ASSERT(m_pDocument != NULL); | 
| 1180 | 1180 | 
| 1181     if (vp.IsSetting()) | 1181     if (vp.IsSetting()) | 
| 1182     { | 1182     { | 
| 1183         if (!m_bCanSet) return FALSE; | 1183         if (!m_bCanSet) return false; | 
| 1184 | 1184 | 
| 1185         CFX_WideString WideStr; | 1185         CFX_WideString WideStr; | 
| 1186         vp >> WideStr; | 1186         vp >> WideStr; | 
| 1187 | 1187 | 
| 1188         if (m_bDelay) | 1188         if (m_bDelay) | 
| 1189         { | 1189         { | 
| 1190             AddDelay_WideString(FP_DEFAULTVALUE, WideStr); | 1190             AddDelay_WideString(FP_DEFAULTVALUE, WideStr); | 
| 1191         } | 1191         } | 
| 1192         else | 1192         else | 
| 1193         { | 1193         { | 
| 1194             Field::SetDefaultValue(m_pDocument, m_FieldName, m_nFormControlIndex
      , WideStr); | 1194             Field::SetDefaultValue(m_pDocument, m_FieldName, m_nFormControlIndex
      , WideStr); | 
| 1195         } | 1195         } | 
| 1196     } | 1196     } | 
| 1197     else | 1197     else | 
| 1198     { | 1198     { | 
| 1199         CFX_PtrArray FieldArray; | 1199         CFX_PtrArray FieldArray; | 
| 1200         GetFormFields(m_FieldName,FieldArray); | 1200         GetFormFields(m_FieldName,FieldArray); | 
| 1201         if (FieldArray.GetSize() <= 0) return FALSE; | 1201         if (FieldArray.GetSize() <= 0) return false; | 
| 1202 | 1202 | 
| 1203         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1203         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1204         ASSERT(pFormField != NULL); | 1204         ASSERT(pFormField != NULL); | 
| 1205 | 1205 | 
| 1206         if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON || | 1206         if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON || | 
| 1207             pFormField->GetFieldType() == FIELDTYPE_SIGNATURE) | 1207             pFormField->GetFieldType() == FIELDTYPE_SIGNATURE) | 
| 1208             return FALSE; | 1208             return false; | 
| 1209 | 1209 | 
| 1210         vp << pFormField->GetDefaultValue(); | 1210         vp << pFormField->GetDefaultValue(); | 
| 1211     } | 1211     } | 
| 1212     return TRUE; | 1212     return true; | 
| 1213 } | 1213 } | 
| 1214 | 1214 | 
| 1215 void Field::SetDefaultValue(CPDFSDK_Document* pDocument, const CFX_WideString& s
      wFieldName, int nControlIndex, | 1215 void Field::SetDefaultValue(CPDFSDK_Document* pDocument, const CFX_WideString& s
      wFieldName, int nControlIndex, | 
| 1216                             const CFX_WideString& string) | 1216                             const CFX_WideString& string) | 
| 1217 { | 1217 { | 
| 1218     //Not supported. | 1218     //Not supported. | 
| 1219 } | 1219 } | 
| 1220 | 1220 | 
| 1221 FX_BOOL Field::doNotScroll(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
       sError) | 1221 bool Field::doNotScroll(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 
| 1222 { | 1222 { | 
| 1223     ASSERT(m_pDocument != NULL); | 1223     ASSERT(m_pDocument != NULL); | 
| 1224 | 1224 | 
| 1225     if (vp.IsSetting()) | 1225     if (vp.IsSetting()) | 
| 1226     { | 1226     { | 
| 1227         if (!m_bCanSet) return FALSE; | 1227         if (!m_bCanSet) return false; | 
| 1228 | 1228 | 
| 1229         bool bVP; | 1229         bool bVP; | 
| 1230         vp >> bVP; | 1230         vp >> bVP; | 
| 1231 | 1231 | 
| 1232         if (m_bDelay) | 1232         if (m_bDelay) | 
| 1233         { | 1233         { | 
| 1234             AddDelay_Bool(FP_DONOTSCROLL, bVP); | 1234             AddDelay_Bool(FP_DONOTSCROLL, bVP); | 
| 1235         } | 1235         } | 
| 1236         else | 1236         else | 
| 1237         { | 1237         { | 
| 1238             Field::SetDoNotScroll(m_pDocument, m_FieldName, m_nFormControlIndex,
       bVP); | 1238             Field::SetDoNotScroll(m_pDocument, m_FieldName, m_nFormControlIndex,
       bVP); | 
| 1239         } | 1239         } | 
| 1240     } | 1240     } | 
| 1241     else | 1241     else | 
| 1242     { | 1242     { | 
| 1243         CFX_PtrArray FieldArray; | 1243         CFX_PtrArray FieldArray; | 
| 1244         GetFormFields(m_FieldName,FieldArray); | 1244         GetFormFields(m_FieldName,FieldArray); | 
| 1245         if (FieldArray.GetSize() <= 0) return FALSE; | 1245         if (FieldArray.GetSize() <= 0) return false; | 
| 1246 | 1246 | 
| 1247         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1247         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1248         ASSERT(pFormField != NULL); | 1248         ASSERT(pFormField != NULL); | 
| 1249 | 1249 | 
| 1250         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 1250         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 
| 1251             return FALSE; | 1251             return false; | 
| 1252 | 1252 | 
| 1253         if (pFormField->GetFieldFlags() & FIELDFLAG_DONOTSCROLL) | 1253         if (pFormField->GetFieldFlags() & FIELDFLAG_DONOTSCROLL) | 
| 1254             vp << true; | 1254             vp << true; | 
| 1255         else | 1255         else | 
| 1256             vp << false; | 1256             vp << false; | 
| 1257     } | 1257     } | 
| 1258 | 1258 | 
| 1259     return TRUE; | 1259     return true; | 
| 1260 } | 1260 } | 
| 1261 | 1261 | 
| 1262 void Field::SetDoNotScroll(CPDFSDK_Document* pDocument, const CFX_WideString& sw
      FieldName, int nControlIndex, bool b) | 1262 void Field::SetDoNotScroll(CPDFSDK_Document* pDocument, const CFX_WideString& sw
      FieldName, int nControlIndex, bool b) | 
| 1263 { | 1263 { | 
| 1264     //Not supported. | 1264     //Not supported. | 
| 1265 } | 1265 } | 
| 1266 | 1266 | 
| 1267 FX_BOOL Field::doNotSpellCheck(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStr
      ing& sError) | 1267 bool Field::doNotSpellCheck(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
      & sError) | 
| 1268 { | 1268 { | 
| 1269     ASSERT(m_pDocument != NULL); | 1269     ASSERT(m_pDocument != NULL); | 
| 1270 | 1270 | 
| 1271     if (vp.IsSetting()) | 1271     if (vp.IsSetting()) | 
| 1272     { | 1272     { | 
| 1273         if (!m_bCanSet) return FALSE; | 1273         if (!m_bCanSet) return false; | 
| 1274 | 1274 | 
| 1275         bool bVP; | 1275         bool bVP; | 
| 1276         vp >> bVP; | 1276         vp >> bVP; | 
| 1277     } | 1277     } | 
| 1278     else | 1278     else | 
| 1279     { | 1279     { | 
| 1280         CFX_PtrArray FieldArray; | 1280         CFX_PtrArray FieldArray; | 
| 1281         GetFormFields(m_FieldName,FieldArray); | 1281         GetFormFields(m_FieldName,FieldArray); | 
| 1282         if (FieldArray.GetSize() <= 0) return FALSE; | 1282         if (FieldArray.GetSize() <= 0) return false; | 
| 1283 | 1283 | 
| 1284         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1284         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1285         ASSERT(pFormField != NULL); | 1285         ASSERT(pFormField != NULL); | 
| 1286 | 1286 | 
| 1287         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD && | 1287         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD && | 
| 1288             pFormField->GetFieldType() != FIELDTYPE_COMBOBOX) | 1288             pFormField->GetFieldType() != FIELDTYPE_COMBOBOX) | 
| 1289             return FALSE; | 1289             return false; | 
| 1290 | 1290 | 
| 1291         if (pFormField->GetFieldFlags() & FIELDFLAG_DONOTSPELLCHECK) | 1291         if (pFormField->GetFieldFlags() & FIELDFLAG_DONOTSPELLCHECK) | 
| 1292             vp << true; | 1292             vp << true; | 
| 1293         else | 1293         else | 
| 1294             vp << false; | 1294             vp << false; | 
| 1295     } | 1295     } | 
| 1296 | 1296 | 
| 1297     return TRUE; | 1297     return true; | 
| 1298 } | 1298 } | 
| 1299 | 1299 | 
| 1300 void Field::SetDelay(FX_BOOL bDelay) | 1300 void Field::SetDelay(bool bDelay) | 
| 1301 { | 1301 { | 
| 1302     m_bDelay = bDelay; | 1302     m_bDelay = bDelay; | 
| 1303 | 1303 | 
| 1304     if (!m_bDelay) | 1304     if (!m_bDelay) | 
| 1305     { | 1305     { | 
| 1306         if (m_pJSDoc) | 1306         if (m_pJSDoc) | 
| 1307             m_pJSDoc->DoFieldDelay(m_FieldName, m_nFormControlIndex); | 1307             m_pJSDoc->DoFieldDelay(m_FieldName, m_nFormControlIndex); | 
| 1308     } | 1308     } | 
| 1309 } | 1309 } | 
| 1310 | 1310 | 
| 1311 FX_BOOL Field::delay(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 1311 bool Field::delay(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 1312 { | 1312 { | 
| 1313     if (vp.IsSetting()) | 1313     if (vp.IsSetting()) | 
| 1314     { | 1314     { | 
| 1315         if (!m_bCanSet) return FALSE; | 1315         if (!m_bCanSet) return false; | 
| 1316 | 1316 | 
| 1317         bool bVP; | 1317         bool bVP; | 
| 1318         vp >> bVP; | 1318         vp >> bVP; | 
| 1319 | 1319 | 
| 1320         SetDelay(bVP); | 1320         SetDelay(bVP); | 
| 1321     } | 1321     } | 
| 1322     else | 1322     else | 
| 1323     { | 1323     { | 
| 1324         vp << m_bDelay; | 1324         vp << m_bDelay; | 
| 1325     } | 1325     } | 
| 1326     return TRUE; | 1326     return true; | 
| 1327 } | 1327 } | 
| 1328 | 1328 | 
| 1329 FX_BOOL Field::display(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
      ror) | 1329 bool Field::display(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError
      ) | 
| 1330 { | 1330 { | 
| 1331     ASSERT(m_pDocument != NULL); | 1331     ASSERT(m_pDocument != NULL); | 
| 1332 | 1332 | 
| 1333     if (vp.IsSetting()) | 1333     if (vp.IsSetting()) | 
| 1334     { | 1334     { | 
| 1335         if (!m_bCanSet) return FALSE; | 1335         if (!m_bCanSet) return false; | 
| 1336 | 1336 | 
| 1337         int nVP; | 1337         int nVP; | 
| 1338         vp >> nVP; | 1338         vp >> nVP; | 
| 1339 | 1339 | 
| 1340         if (m_bDelay) | 1340         if (m_bDelay) | 
| 1341         { | 1341         { | 
| 1342             AddDelay_Int(FP_DISPLAY, nVP); | 1342             AddDelay_Int(FP_DISPLAY, nVP); | 
| 1343         } | 1343         } | 
| 1344         else | 1344         else | 
| 1345         { | 1345         { | 
| 1346             Field::SetDisplay(m_pDocument, m_FieldName, m_nFormControlIndex, nVP
      ); | 1346             Field::SetDisplay(m_pDocument, m_FieldName, m_nFormControlIndex, nVP
      ); | 
| 1347         } | 1347         } | 
| 1348     } | 1348     } | 
| 1349     else | 1349     else | 
| 1350     { | 1350     { | 
| 1351         CFX_PtrArray FieldArray; | 1351         CFX_PtrArray FieldArray; | 
| 1352         GetFormFields(m_FieldName,FieldArray); | 1352         GetFormFields(m_FieldName,FieldArray); | 
| 1353         if (FieldArray.GetSize() <= 0) return FALSE; | 1353         if (FieldArray.GetSize() <= 0) return false; | 
| 1354 | 1354 | 
| 1355         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1355         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1356         ASSERT(pFormField != NULL); | 1356         ASSERT(pFormField != NULL); | 
| 1357 | 1357 | 
| 1358         CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte
      rForm(); | 1358         CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte
      rForm(); | 
| 1359         ASSERT(pInterForm != NULL); | 1359         ASSERT(pInterForm != NULL); | 
| 1360 | 1360 | 
| 1361         CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFo
      rmField)); | 1361         CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFo
      rmField)); | 
| 1362         if (!pWidget)return FALSE; | 1362         if (!pWidget)return false; | 
| 1363 | 1363 | 
| 1364         FX_DWORD dwFlag = pWidget->GetFlags(); | 1364         FX_DWORD dwFlag = pWidget->GetFlags(); | 
| 1365 | 1365 | 
| 1366         if (ANNOTFLAG_INVISIBLE & dwFlag || ANNOTFLAG_HIDDEN & dwFlag) | 1366         if (ANNOTFLAG_INVISIBLE & dwFlag || ANNOTFLAG_HIDDEN & dwFlag) | 
| 1367         { | 1367         { | 
| 1368             vp << (int32_t)1; | 1368             vp << (int32_t)1; | 
| 1369         } | 1369         } | 
| 1370         else | 1370         else | 
| 1371         { | 1371         { | 
| 1372             if (ANNOTFLAG_PRINT & dwFlag) | 1372             if (ANNOTFLAG_PRINT & dwFlag) | 
| 1373             { | 1373             { | 
| 1374                 if (ANNOTFLAG_NOVIEW & dwFlag) | 1374                 if (ANNOTFLAG_NOVIEW & dwFlag) | 
| 1375                 { | 1375                 { | 
| 1376                     vp << (int32_t)3; | 1376                     vp << (int32_t)3; | 
| 1377                 } | 1377                 } | 
| 1378                 else | 1378                 else | 
| 1379                 { | 1379                 { | 
| 1380                     vp << (int32_t)0; | 1380                     vp << (int32_t)0; | 
| 1381                 } | 1381                 } | 
| 1382             } | 1382             } | 
| 1383             else | 1383             else | 
| 1384             { | 1384             { | 
| 1385                 vp << (int32_t)2; | 1385                 vp << (int32_t)2; | 
| 1386             } | 1386             } | 
| 1387         } | 1387         } | 
| 1388     } | 1388     } | 
| 1389 | 1389 | 
| 1390     return TRUE; | 1390     return true; | 
| 1391 } | 1391 } | 
| 1392 | 1392 | 
| 1393 void Field::SetDisplay(CPDFSDK_Document* pDocument, const CFX_WideString& swFiel
      dName, int nControlIndex, int number) | 1393 void Field::SetDisplay(CPDFSDK_Document* pDocument, const CFX_WideString& swFiel
      dName, int nControlIndex, int number) | 
| 1394 { | 1394 { | 
| 1395     ASSERT(pDocument != NULL); | 1395     ASSERT(pDocument != NULL); | 
| 1396 | 1396 | 
| 1397     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 1397     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 
| 1398     ASSERT(pInterForm != NULL); | 1398     ASSERT(pInterForm != NULL); | 
| 1399 | 1399 | 
| 1400     CFX_PtrArray FieldArray; | 1400     CFX_PtrArray FieldArray; | 
| 1401     GetFormFields(pDocument, swFieldName, FieldArray); | 1401     GetFormFields(pDocument, swFieldName, FieldArray); | 
| 1402 | 1402 | 
| 1403     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 1403     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 
| 1404     { | 1404     { | 
| 1405         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 1405         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 
| 1406         ASSERT(pFormField != NULL); | 1406         ASSERT(pFormField != NULL); | 
| 1407 | 1407 | 
| 1408         if (nControlIndex < 0) | 1408         if (nControlIndex < 0) | 
| 1409         { | 1409         { | 
| 1410             FX_BOOL bSet = FALSE; | 1410             bool bSet = false; | 
| 1411             for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) | 1411             for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) | 
| 1412             { | 1412             { | 
| 1413                 CPDF_FormControl* pFormControl = pFormField->GetControl(j); | 1413                 CPDF_FormControl* pFormControl = pFormField->GetControl(j); | 
| 1414                 ASSERT(pFormControl != NULL); | 1414                 ASSERT(pFormControl != NULL); | 
| 1415 | 1415 | 
| 1416                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 1416                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 
| 1417                 { | 1417                 { | 
| 1418                     FX_DWORD dwFlag = pWidget->GetFlags(); | 1418                     FX_DWORD dwFlag = pWidget->GetFlags(); | 
| 1419                     switch (number) | 1419                     switch (number) | 
| 1420                     { | 1420                     { | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
| 1438                     case 3: | 1438                     case 3: | 
| 1439                         dwFlag |= ANNOTFLAG_NOVIEW; | 1439                         dwFlag |= ANNOTFLAG_NOVIEW; | 
| 1440                         dwFlag |= ANNOTFLAG_PRINT; | 1440                         dwFlag |= ANNOTFLAG_PRINT; | 
| 1441                         dwFlag &= (~ANNOTFLAG_HIDDEN); | 1441                         dwFlag &= (~ANNOTFLAG_HIDDEN); | 
| 1442                         break; | 1442                         break; | 
| 1443                     } | 1443                     } | 
| 1444 | 1444 | 
| 1445                     if (dwFlag != pWidget->GetFlags()) | 1445                     if (dwFlag != pWidget->GetFlags()) | 
| 1446                     { | 1446                     { | 
| 1447                         pWidget->SetFlags(dwFlag); | 1447                         pWidget->SetFlags(dwFlag); | 
| 1448                         bSet = TRUE; | 1448                         bSet = true; | 
| 1449                     } | 1449                     } | 
| 1450                 } | 1450                 } | 
| 1451             } | 1451             } | 
| 1452 | 1452 | 
| 1453             if (bSet) UpdateFormField(pDocument, pFormField, TRUE, FALSE, TRUE); | 1453             if (bSet) UpdateFormField(pDocument, pFormField, true, false, true); | 
| 1454         } | 1454         } | 
| 1455         else | 1455         else | 
| 1456         { | 1456         { | 
| 1457             if(nControlIndex >= pFormField->CountControls()) return; | 1457             if(nControlIndex >= pFormField->CountControls()) return; | 
| 1458             if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControl
      Index)) | 1458             if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControl
      Index)) | 
| 1459             { | 1459             { | 
| 1460                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 1460                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 
| 1461                 { | 1461                 { | 
| 1462 | 1462 | 
| 1463                     FX_DWORD dwFlag = pWidget->GetFlags(); | 1463                     FX_DWORD dwFlag = pWidget->GetFlags(); | 
| (...skipping 18 matching lines...) Expand all  Loading... | 
| 1482                         break; | 1482                         break; | 
| 1483                     case 3: | 1483                     case 3: | 
| 1484                         dwFlag |= ANNOTFLAG_NOVIEW; | 1484                         dwFlag |= ANNOTFLAG_NOVIEW; | 
| 1485                         dwFlag |= ANNOTFLAG_PRINT; | 1485                         dwFlag |= ANNOTFLAG_PRINT; | 
| 1486                         dwFlag &= (~ANNOTFLAG_HIDDEN); | 1486                         dwFlag &= (~ANNOTFLAG_HIDDEN); | 
| 1487                         break; | 1487                         break; | 
| 1488                     } | 1488                     } | 
| 1489                     if (dwFlag != pWidget->GetFlags()) | 1489                     if (dwFlag != pWidget->GetFlags()) | 
| 1490                     { | 1490                     { | 
| 1491                         pWidget->SetFlags(dwFlag); | 1491                         pWidget->SetFlags(dwFlag); | 
| 1492                         UpdateFormControl(pDocument, pFormControl, TRUE, FALSE, 
      TRUE); | 1492                         UpdateFormControl(pDocument, pFormControl, true, false, 
      true); | 
| 1493                     } | 1493                     } | 
| 1494                 } | 1494                 } | 
| 1495             } | 1495             } | 
| 1496         } | 1496         } | 
| 1497     } | 1497     } | 
| 1498 } | 1498 } | 
| 1499 | 1499 | 
| 1500 FX_BOOL Field::doc(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 1500 bool Field::doc(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 1501 { | 1501 { | 
| 1502     if (!vp.IsGetting()) { | 1502     if (!vp.IsGetting()) { | 
| 1503         return FALSE; | 1503         return false; | 
| 1504     } | 1504     } | 
| 1505     vp << m_pJSDoc->GetCJSDoc(); | 1505     vp << m_pJSDoc->GetCJSDoc(); | 
| 1506     return TRUE; | 1506     return true; | 
| 1507 } | 1507 } | 
| 1508 | 1508 | 
| 1509 FX_BOOL Field::editable(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 1509 bool Field::editable(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 
| 1510 { | 1510 { | 
| 1511     ASSERT(m_pDocument != NULL); | 1511     ASSERT(m_pDocument != NULL); | 
| 1512     if (vp.IsSetting()) | 1512     if (vp.IsSetting()) | 
| 1513     { | 1513     { | 
| 1514         if (!m_bCanSet) return FALSE; | 1514         if (!m_bCanSet) return false; | 
| 1515 | 1515 | 
| 1516         bool bVP; | 1516         bool bVP; | 
| 1517         vp >> bVP; | 1517         vp >> bVP; | 
| 1518     } | 1518     } | 
| 1519     else | 1519     else | 
| 1520     { | 1520     { | 
| 1521         CFX_PtrArray FieldArray; | 1521         CFX_PtrArray FieldArray; | 
| 1522         GetFormFields(m_FieldName, FieldArray); | 1522         GetFormFields(m_FieldName, FieldArray); | 
| 1523         if (FieldArray.GetSize() <= 0) return FALSE; | 1523         if (FieldArray.GetSize() <= 0) return false; | 
| 1524 | 1524 | 
| 1525         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1525         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1526         ASSERT(pFormField != NULL); | 1526         ASSERT(pFormField != NULL); | 
| 1527 | 1527 | 
| 1528         if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX) | 1528         if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX) | 
| 1529             return FALSE; | 1529             return false; | 
| 1530 | 1530 | 
| 1531         if (pFormField->GetFieldFlags() & FIELDFLAG_EDIT) | 1531         if (pFormField->GetFieldFlags() & FIELDFLAG_EDIT) | 
| 1532             vp << true; | 1532             vp << true; | 
| 1533         else | 1533         else | 
| 1534             vp << false; | 1534             vp << false; | 
| 1535     } | 1535     } | 
| 1536 | 1536 | 
| 1537     return TRUE; | 1537     return true; | 
| 1538 } | 1538 } | 
| 1539 | 1539 | 
| 1540 FX_BOOL Field::exportValues(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString
      & sError) | 1540 bool Field::exportValues(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 
| 1541 { | 1541 { | 
| 1542     ASSERT(m_pDocument != NULL); | 1542     ASSERT(m_pDocument != NULL); | 
| 1543 | 1543 | 
| 1544     CFX_PtrArray FieldArray; | 1544     CFX_PtrArray FieldArray; | 
| 1545     GetFormFields(m_FieldName,FieldArray); | 1545     GetFormFields(m_FieldName,FieldArray); | 
| 1546     if (FieldArray.GetSize() <= 0) | 1546     if (FieldArray.GetSize() <= 0) | 
| 1547         return FALSE; | 1547         return false; | 
| 1548 | 1548 | 
| 1549     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1549     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1550     if (pFormField->GetFieldType() != FIELDTYPE_CHECKBOX && | 1550     if (pFormField->GetFieldType() != FIELDTYPE_CHECKBOX && | 
| 1551         pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) | 1551         pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) | 
| 1552         return FALSE; | 1552         return false; | 
| 1553 | 1553 | 
| 1554     if (vp.IsSetting()) | 1554     if (vp.IsSetting()) | 
| 1555     { | 1555     { | 
| 1556         if (!m_bCanSet) | 1556         if (!m_bCanSet) | 
| 1557             return FALSE; | 1557             return false; | 
| 1558 | 1558 | 
| 1559         if (!vp.IsArrayObject()) | 1559         if (!vp.IsArrayObject()) | 
| 1560             return FALSE; | 1560             return false; | 
| 1561     } | 1561     } | 
| 1562     else | 1562     else | 
| 1563     { | 1563     { | 
| 1564         CJS_Array ExportValusArray(m_isolate); | 1564         CJS_Array ExportValusArray(m_isolate); | 
| 1565         if (m_nFormControlIndex < 0) | 1565         if (m_nFormControlIndex < 0) | 
| 1566         { | 1566         { | 
| 1567             for (int i=0,sz=pFormField->CountControls(); i<sz; i++) | 1567             for (int i=0,sz=pFormField->CountControls(); i<sz; i++) | 
| 1568             { | 1568             { | 
| 1569                 CPDF_FormControl* pFormControl = pFormField->GetControl(i); | 1569                 CPDF_FormControl* pFormControl = pFormField->GetControl(i); | 
| 1570                 ExportValusArray.SetElement(i, CJS_Value(m_isolate,pFormControl-
      >GetExportValue().c_str())); | 1570                 ExportValusArray.SetElement(i, CJS_Value(m_isolate,pFormControl-
      >GetExportValue().c_str())); | 
| 1571             } | 1571             } | 
| 1572         } | 1572         } | 
| 1573         else | 1573         else | 
| 1574         { | 1574         { | 
| 1575             if (m_nFormControlIndex >= pFormField->CountControls()) | 1575             if (m_nFormControlIndex >= pFormField->CountControls()) | 
| 1576                 return FALSE; | 1576                 return false; | 
| 1577 | 1577 | 
| 1578             CPDF_FormControl* pFormControl = pFormField->GetControl(m_nFormContr
      olIndex); | 1578             CPDF_FormControl* pFormControl = pFormField->GetControl(m_nFormContr
      olIndex); | 
| 1579             if (!pFormControl) | 1579             if (!pFormControl) | 
| 1580                 return FALSE; | 1580                 return false; | 
| 1581 | 1581 | 
| 1582             ExportValusArray.SetElement(0, CJS_Value(m_isolate,pFormControl->Get
      ExportValue().c_str())); | 1582             ExportValusArray.SetElement(0, CJS_Value(m_isolate,pFormControl->Get
      ExportValue().c_str())); | 
| 1583         } | 1583         } | 
| 1584         vp << ExportValusArray; | 1584         vp << ExportValusArray; | 
| 1585     } | 1585     } | 
| 1586     return TRUE; | 1586     return true; | 
| 1587 } | 1587 } | 
| 1588 | 1588 | 
| 1589 FX_BOOL Field::fileSelect(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& 
      sError) | 1589 bool Field::fileSelect(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
      ror) | 
| 1590 { | 1590 { | 
| 1591     ASSERT(m_pDocument != NULL); | 1591     ASSERT(m_pDocument != NULL); | 
| 1592 | 1592 | 
| 1593     CFX_PtrArray FieldArray; | 1593     CFX_PtrArray FieldArray; | 
| 1594     GetFormFields(m_FieldName, FieldArray); | 1594     GetFormFields(m_FieldName, FieldArray); | 
| 1595     if (FieldArray.GetSize() <= 0) | 1595     if (FieldArray.GetSize() <= 0) | 
| 1596         return FALSE; | 1596         return false; | 
| 1597 | 1597 | 
| 1598     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1598     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1599     if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 1599     if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 
| 1600         return FALSE; | 1600         return false; | 
| 1601 | 1601 | 
| 1602     if (vp.IsSetting()) | 1602     if (vp.IsSetting()) | 
| 1603     { | 1603     { | 
| 1604         if (!m_bCanSet) | 1604         if (!m_bCanSet) | 
| 1605             return FALSE; | 1605             return false; | 
| 1606 | 1606 | 
| 1607         bool bVP; | 1607         bool bVP; | 
| 1608         vp >> bVP; | 1608         vp >> bVP; | 
| 1609     } | 1609     } | 
| 1610     else | 1610     else | 
| 1611     { | 1611     { | 
| 1612         if (pFormField->GetFieldFlags() & FIELDFLAG_FILESELECT) | 1612         if (pFormField->GetFieldFlags() & FIELDFLAG_FILESELECT) | 
| 1613             vp << true; | 1613             vp << true; | 
| 1614         else | 1614         else | 
| 1615             vp << false; | 1615             vp << false; | 
| 1616     } | 1616     } | 
| 1617     return TRUE; | 1617     return true; | 
| 1618 } | 1618 } | 
| 1619 | 1619 | 
| 1620 FX_BOOL Field::fillColor(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 1620 bool Field::fillColor(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
      or) | 
| 1621 { | 1621 { | 
| 1622     ASSERT(m_pDocument != NULL); | 1622     ASSERT(m_pDocument != NULL); | 
| 1623 | 1623 | 
| 1624     CJS_Array crArray(m_isolate); | 1624     CJS_Array crArray(m_isolate); | 
| 1625 | 1625 | 
| 1626     CFX_PtrArray FieldArray; | 1626     CFX_PtrArray FieldArray; | 
| 1627     GetFormFields(m_FieldName, FieldArray); | 1627     GetFormFields(m_FieldName, FieldArray); | 
| 1628     if (FieldArray.GetSize() <= 0) | 1628     if (FieldArray.GetSize() <= 0) | 
| 1629         return FALSE; | 1629         return false; | 
| 1630 | 1630 | 
| 1631     if (vp.IsSetting()) | 1631     if (vp.IsSetting()) | 
| 1632     { | 1632     { | 
| 1633         if (!m_bCanSet) | 1633         if (!m_bCanSet) | 
| 1634             return FALSE; | 1634             return false; | 
| 1635 | 1635 | 
| 1636         if (!vp.IsArrayObject()) | 1636         if (!vp.IsArrayObject()) | 
| 1637             return FALSE; | 1637             return false; | 
| 1638 | 1638 | 
| 1639         vp >> crArray; | 1639         vp >> crArray; | 
| 1640 | 1640 | 
| 1641         CPWL_Color color; | 1641         CPWL_Color color; | 
| 1642         color::ConvertArrayToPWLColor(crArray, color); | 1642         color::ConvertArrayToPWLColor(crArray, color); | 
| 1643         if (m_bDelay) | 1643         if (m_bDelay) | 
| 1644         { | 1644         { | 
| 1645             AddDelay_Color(FP_FILLCOLOR, color); | 1645             AddDelay_Color(FP_FILLCOLOR, color); | 
| 1646         } | 1646         } | 
| 1647         else | 1647         else | 
| 1648         { | 1648         { | 
| 1649             Field::SetFillColor(m_pDocument, m_FieldName, m_nFormControlIndex, c
      olor); | 1649             Field::SetFillColor(m_pDocument, m_FieldName, m_nFormControlIndex, c
      olor); | 
| 1650         } | 1650         } | 
| 1651     } | 1651     } | 
| 1652     else | 1652     else | 
| 1653     { | 1653     { | 
| 1654         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1654         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1655         ASSERT(pFormField != NULL); | 1655         ASSERT(pFormField != NULL); | 
| 1656 | 1656 | 
| 1657         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 1657         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 1658         if (!pFormControl) | 1658         if (!pFormControl) | 
| 1659             return FALSE; | 1659             return false; | 
| 1660 | 1660 | 
| 1661         int iColorType; | 1661         int iColorType; | 
| 1662         pFormControl->GetBackgroundColor(iColorType); | 1662         pFormControl->GetBackgroundColor(iColorType); | 
| 1663 | 1663 | 
| 1664         CPWL_Color color; | 1664         CPWL_Color color; | 
| 1665         if (iColorType == COLORTYPE_TRANSPARENT) | 1665         if (iColorType == COLORTYPE_TRANSPARENT) | 
| 1666         { | 1666         { | 
| 1667             color = CPWL_Color(COLORTYPE_TRANSPARENT); | 1667             color = CPWL_Color(COLORTYPE_TRANSPARENT); | 
| 1668         } | 1668         } | 
| 1669         else if (iColorType == COLORTYPE_GRAY) | 1669         else if (iColorType == COLORTYPE_GRAY) | 
| 1670         { | 1670         { | 
| 1671             color = CPWL_Color(COLORTYPE_GRAY, pFormControl->GetOriginalBackgrou
      ndColor(0)); | 1671             color = CPWL_Color(COLORTYPE_GRAY, pFormControl->GetOriginalBackgrou
      ndColor(0)); | 
| 1672         } | 1672         } | 
| 1673         else if (iColorType == COLORTYPE_RGB) | 1673         else if (iColorType == COLORTYPE_RGB) | 
| 1674         { | 1674         { | 
| 1675             color = CPWL_Color(COLORTYPE_RGB, pFormControl->GetOriginalBackgroun
      dColor(0), | 1675             color = CPWL_Color(COLORTYPE_RGB, pFormControl->GetOriginalBackgroun
      dColor(0), | 
| 1676                 pFormControl->GetOriginalBackgroundColor(1), | 1676                 pFormControl->GetOriginalBackgroundColor(1), | 
| 1677                 pFormControl->GetOriginalBackgroundColor(2)); | 1677                 pFormControl->GetOriginalBackgroundColor(2)); | 
| 1678         } | 1678         } | 
| 1679         else if (iColorType == COLORTYPE_CMYK) | 1679         else if (iColorType == COLORTYPE_CMYK) | 
| 1680         { | 1680         { | 
| 1681             color = CPWL_Color(COLORTYPE_CMYK, pFormControl->GetOriginalBackgrou
      ndColor(0), | 1681             color = CPWL_Color(COLORTYPE_CMYK, pFormControl->GetOriginalBackgrou
      ndColor(0), | 
| 1682                 pFormControl->GetOriginalBackgroundColor(1), | 1682                 pFormControl->GetOriginalBackgroundColor(1), | 
| 1683                 pFormControl->GetOriginalBackgroundColor(2), | 1683                 pFormControl->GetOriginalBackgroundColor(2), | 
| 1684                 pFormControl->GetOriginalBackgroundColor(3)); | 1684                 pFormControl->GetOriginalBackgroundColor(3)); | 
| 1685         } | 1685         } | 
| 1686         else | 1686         else | 
| 1687             return FALSE; | 1687             return false; | 
| 1688 | 1688 | 
| 1689         color::ConvertPWLColorToArray(color, crArray); | 1689         color::ConvertPWLColorToArray(color, crArray); | 
| 1690         vp  <<  crArray; | 1690         vp  <<  crArray; | 
| 1691     } | 1691     } | 
| 1692 | 1692 | 
| 1693     return TRUE; | 1693     return true; | 
| 1694 } | 1694 } | 
| 1695 | 1695 | 
| 1696 void Field::SetFillColor(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, const CPWL_Color& color) | 1696 void Field::SetFillColor(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, const CPWL_Color& color) | 
| 1697 { | 1697 { | 
| 1698     //Not supported. | 1698     //Not supported. | 
| 1699 } | 1699 } | 
| 1700 | 1700 | 
| 1701 FX_BOOL Field::hidden(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
      or) | 1701 bool Field::hidden(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 1702 { | 1702 { | 
| 1703     ASSERT(m_pDocument != NULL); | 1703     ASSERT(m_pDocument != NULL); | 
| 1704 | 1704 | 
| 1705     if (vp.IsSetting()) | 1705     if (vp.IsSetting()) | 
| 1706     { | 1706     { | 
| 1707         if (!m_bCanSet) return FALSE; | 1707         if (!m_bCanSet) return false; | 
| 1708 | 1708 | 
| 1709         bool bVP; | 1709         bool bVP; | 
| 1710         vp >> bVP; | 1710         vp >> bVP; | 
| 1711 | 1711 | 
| 1712         if (m_bDelay) | 1712         if (m_bDelay) | 
| 1713         { | 1713         { | 
| 1714             AddDelay_Bool(FP_HIDDEN, bVP); | 1714             AddDelay_Bool(FP_HIDDEN, bVP); | 
| 1715         } | 1715         } | 
| 1716         else | 1716         else | 
| 1717         { | 1717         { | 
| 1718             Field::SetHidden(m_pDocument, m_FieldName, m_nFormControlIndex, bVP)
      ; | 1718             Field::SetHidden(m_pDocument, m_FieldName, m_nFormControlIndex, bVP)
      ; | 
| 1719         } | 1719         } | 
| 1720     } | 1720     } | 
| 1721     else | 1721     else | 
| 1722     { | 1722     { | 
| 1723         CFX_PtrArray FieldArray; | 1723         CFX_PtrArray FieldArray; | 
| 1724         GetFormFields(m_FieldName,FieldArray); | 1724         GetFormFields(m_FieldName,FieldArray); | 
| 1725         if (FieldArray.GetSize() <= 0) return FALSE; | 1725         if (FieldArray.GetSize() <= 0) return false; | 
| 1726 | 1726 | 
| 1727         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1727         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1728         ASSERT(pFormField != NULL); | 1728         ASSERT(pFormField != NULL); | 
| 1729 | 1729 | 
| 1730         CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte
      rForm(); | 1730         CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte
      rForm(); | 
| 1731         ASSERT(pInterForm != NULL); | 1731         ASSERT(pInterForm != NULL); | 
| 1732 | 1732 | 
| 1733         CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFo
      rmField)); | 1733         CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFo
      rmField)); | 
| 1734         if (!pWidget) return FALSE; | 1734         if (!pWidget) return false; | 
| 1735 | 1735 | 
| 1736         FX_DWORD dwFlags = pWidget->GetFlags(); | 1736         FX_DWORD dwFlags = pWidget->GetFlags(); | 
| 1737 | 1737 | 
| 1738         if (ANNOTFLAG_INVISIBLE & dwFlags || ANNOTFLAG_HIDDEN & dwFlags) | 1738         if (ANNOTFLAG_INVISIBLE & dwFlags || ANNOTFLAG_HIDDEN & dwFlags) | 
| 1739         { | 1739         { | 
| 1740             vp << true; | 1740             vp << true; | 
| 1741         } | 1741         } | 
| 1742         else | 1742         else | 
| 1743             vp << false; | 1743             vp << false; | 
| 1744     } | 1744     } | 
| 1745 | 1745 | 
| 1746     return TRUE; | 1746     return true; | 
| 1747 } | 1747 } | 
| 1748 | 1748 | 
| 1749 void Field::SetHidden(CPDFSDK_Document* pDocument, const CFX_WideString& swField
      Name, int nControlIndex, bool b) | 1749 void Field::SetHidden(CPDFSDK_Document* pDocument, const CFX_WideString& swField
      Name, int nControlIndex, bool b) | 
| 1750 { | 1750 { | 
| 1751     ASSERT(pDocument != NULL); | 1751     ASSERT(pDocument != NULL); | 
| 1752 | 1752 | 
| 1753     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 1753     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 
| 1754     ASSERT(pInterForm != NULL); | 1754     ASSERT(pInterForm != NULL); | 
| 1755 | 1755 | 
| 1756     CFX_PtrArray FieldArray; | 1756     CFX_PtrArray FieldArray; | 
| 1757     GetFormFields(pDocument, swFieldName, FieldArray); | 1757     GetFormFields(pDocument, swFieldName, FieldArray); | 
| 1758 | 1758 | 
| 1759     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 1759     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 
| 1760     { | 1760     { | 
| 1761         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 1761         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 
| 1762         ASSERT(pFormField != NULL); | 1762         ASSERT(pFormField != NULL); | 
| 1763 | 1763 | 
| 1764         if (nControlIndex < 0) | 1764         if (nControlIndex < 0) | 
| 1765         { | 1765         { | 
| 1766             FX_BOOL bSet = FALSE; | 1766             bool bSet = false; | 
| 1767             for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) | 1767             for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) | 
| 1768             { | 1768             { | 
| 1769                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormField->
      GetControl(j))) | 1769                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormField->
      GetControl(j))) | 
| 1770                 { | 1770                 { | 
| 1771                     FX_DWORD dwFlags = pWidget->GetFlags(); | 1771                     FX_DWORD dwFlags = pWidget->GetFlags(); | 
| 1772 | 1772 | 
| 1773                     if (b) | 1773                     if (b) | 
| 1774                     { | 1774                     { | 
| 1775                         dwFlags &= (~ANNOTFLAG_INVISIBLE); | 1775                         dwFlags &= (~ANNOTFLAG_INVISIBLE); | 
| 1776                         dwFlags &= (~ANNOTFLAG_NOVIEW); | 1776                         dwFlags &= (~ANNOTFLAG_NOVIEW); | 
| 1777                         dwFlags |= (ANNOTFLAG_HIDDEN | ANNOTFLAG_PRINT); | 1777                         dwFlags |= (ANNOTFLAG_HIDDEN | ANNOTFLAG_PRINT); | 
| 1778                     } | 1778                     } | 
| 1779                     else | 1779                     else | 
| 1780                     { | 1780                     { | 
| 1781                         dwFlags &= (~ANNOTFLAG_INVISIBLE); | 1781                         dwFlags &= (~ANNOTFLAG_INVISIBLE); | 
| 1782                         dwFlags &= (~ANNOTFLAG_HIDDEN); | 1782                         dwFlags &= (~ANNOTFLAG_HIDDEN); | 
| 1783                         dwFlags &= (~ANNOTFLAG_NOVIEW); | 1783                         dwFlags &= (~ANNOTFLAG_NOVIEW); | 
| 1784                         dwFlags |= ANNOTFLAG_PRINT; | 1784                         dwFlags |= ANNOTFLAG_PRINT; | 
| 1785                     } | 1785                     } | 
| 1786 | 1786 | 
| 1787                     if (dwFlags != pWidget->GetFlags()) | 1787                     if (dwFlags != pWidget->GetFlags()) | 
| 1788                     { | 1788                     { | 
| 1789                         pWidget->SetFlags(dwFlags); | 1789                         pWidget->SetFlags(dwFlags); | 
| 1790                         bSet = TRUE; | 1790                         bSet = true; | 
| 1791                     } | 1791                     } | 
| 1792                 } | 1792                 } | 
| 1793             } | 1793             } | 
| 1794 | 1794 | 
| 1795             if (bSet) | 1795             if (bSet) | 
| 1796                 UpdateFormField(pDocument, pFormField, TRUE, FALSE, TRUE); | 1796                 UpdateFormField(pDocument, pFormField, true, false, true); | 
| 1797         } | 1797         } | 
| 1798         else | 1798         else | 
| 1799         { | 1799         { | 
| 1800             if(nControlIndex >= pFormField->CountControls()) return; | 1800             if(nControlIndex >= pFormField->CountControls()) return; | 
| 1801             if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControl
      Index)) | 1801             if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControl
      Index)) | 
| 1802             { | 1802             { | 
| 1803                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 1803                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 
| 1804                 { | 1804                 { | 
| 1805                     FX_DWORD dwFlags = pWidget->GetFlags(); | 1805                     FX_DWORD dwFlags = pWidget->GetFlags(); | 
| 1806 | 1806 | 
| 1807                     if (b) | 1807                     if (b) | 
| 1808                     { | 1808                     { | 
| 1809                         dwFlags &= (~ANNOTFLAG_INVISIBLE); | 1809                         dwFlags &= (~ANNOTFLAG_INVISIBLE); | 
| 1810                         dwFlags &= (~ANNOTFLAG_NOVIEW); | 1810                         dwFlags &= (~ANNOTFLAG_NOVIEW); | 
| 1811                         dwFlags |= (ANNOTFLAG_HIDDEN | ANNOTFLAG_PRINT); | 1811                         dwFlags |= (ANNOTFLAG_HIDDEN | ANNOTFLAG_PRINT); | 
| 1812                     } | 1812                     } | 
| 1813                     else | 1813                     else | 
| 1814                     { | 1814                     { | 
| 1815                         dwFlags &= (~ANNOTFLAG_INVISIBLE); | 1815                         dwFlags &= (~ANNOTFLAG_INVISIBLE); | 
| 1816                         dwFlags &= (~ANNOTFLAG_HIDDEN); | 1816                         dwFlags &= (~ANNOTFLAG_HIDDEN); | 
| 1817                         dwFlags &= (~ANNOTFLAG_NOVIEW); | 1817                         dwFlags &= (~ANNOTFLAG_NOVIEW); | 
| 1818                         dwFlags |= ANNOTFLAG_PRINT; | 1818                         dwFlags |= ANNOTFLAG_PRINT; | 
| 1819                     } | 1819                     } | 
| 1820 | 1820 | 
| 1821                     if (dwFlags != pWidget->GetFlags()) | 1821                     if (dwFlags != pWidget->GetFlags()) | 
| 1822                     { | 1822                     { | 
| 1823                         pWidget->SetFlags(dwFlags); | 1823                         pWidget->SetFlags(dwFlags); | 
| 1824                         UpdateFormControl(pDocument, pFormControl, TRUE, FALSE, 
      TRUE); | 1824                         UpdateFormControl(pDocument, pFormControl, true, false, 
      true); | 
| 1825                     } | 1825                     } | 
| 1826                 } | 1826                 } | 
| 1827             } | 1827             } | 
| 1828         } | 1828         } | 
| 1829     } | 1829     } | 
| 1830 } | 1830 } | 
| 1831 | 1831 | 
| 1832 FX_BOOL Field::highlight(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 1832 bool Field::highlight(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
      or) | 
| 1833 { | 1833 { | 
| 1834     ASSERT(m_pDocument != NULL); | 1834     ASSERT(m_pDocument != NULL); | 
| 1835 | 1835 | 
| 1836     if (vp.IsSetting()) | 1836     if (vp.IsSetting()) | 
| 1837     { | 1837     { | 
| 1838         if (!m_bCanSet) return FALSE; | 1838         if (!m_bCanSet) return false; | 
| 1839 | 1839 | 
| 1840         CFX_ByteString strMode; | 1840         CFX_ByteString strMode; | 
| 1841         vp >> strMode; | 1841         vp >> strMode; | 
| 1842 | 1842 | 
| 1843         if (m_bDelay) | 1843         if (m_bDelay) | 
| 1844         { | 1844         { | 
| 1845             AddDelay_String(FP_HIGHLIGHT, strMode); | 1845             AddDelay_String(FP_HIGHLIGHT, strMode); | 
| 1846         } | 1846         } | 
| 1847         else | 1847         else | 
| 1848         { | 1848         { | 
| 1849             Field::SetHighlight(m_pDocument, m_FieldName, m_nFormControlIndex, s
      trMode); | 1849             Field::SetHighlight(m_pDocument, m_FieldName, m_nFormControlIndex, s
      trMode); | 
| 1850         } | 1850         } | 
| 1851     } | 1851     } | 
| 1852     else | 1852     else | 
| 1853     { | 1853     { | 
| 1854         CFX_PtrArray FieldArray; | 1854         CFX_PtrArray FieldArray; | 
| 1855         GetFormFields(m_FieldName,FieldArray); | 1855         GetFormFields(m_FieldName,FieldArray); | 
| 1856         if (FieldArray.GetSize() <= 0) return FALSE; | 1856         if (FieldArray.GetSize() <= 0) return false; | 
| 1857 | 1857 | 
| 1858         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1858         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1859         ASSERT(pFormField != NULL); | 1859         ASSERT(pFormField != NULL); | 
| 1860 | 1860 | 
| 1861         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 1861         if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 
| 1862             return FALSE; | 1862             return false; | 
| 1863 | 1863 | 
| 1864         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 1864         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 1865         if (!pFormControl) return FALSE; | 1865         if (!pFormControl) return false; | 
| 1866 | 1866 | 
| 1867         int eHM = pFormControl->GetHighlightingMode(); | 1867         int eHM = pFormControl->GetHighlightingMode(); | 
| 1868         switch (eHM) | 1868         switch (eHM) | 
| 1869         { | 1869         { | 
| 1870         case CPDF_FormControl::None: | 1870         case CPDF_FormControl::None: | 
| 1871             vp  <<  L"none"; | 1871             vp  <<  L"none"; | 
| 1872             break; | 1872             break; | 
| 1873         case CPDF_FormControl::Push: | 1873         case CPDF_FormControl::Push: | 
| 1874             vp  <<  L"push"; | 1874             vp  <<  L"push"; | 
| 1875             break; | 1875             break; | 
| 1876         case CPDF_FormControl::Invert: | 1876         case CPDF_FormControl::Invert: | 
| 1877             vp  <<  L"invert"; | 1877             vp  <<  L"invert"; | 
| 1878             break; | 1878             break; | 
| 1879         case CPDF_FormControl::Outline: | 1879         case CPDF_FormControl::Outline: | 
| 1880             vp  <<  L"outline"; | 1880             vp  <<  L"outline"; | 
| 1881             break; | 1881             break; | 
| 1882         case CPDF_FormControl::Toggle: | 1882         case CPDF_FormControl::Toggle: | 
| 1883              vp  <<  L"toggle"; | 1883              vp  <<  L"toggle"; | 
| 1884              break; | 1884              break; | 
| 1885         } | 1885         } | 
| 1886     } | 1886     } | 
| 1887 | 1887 | 
| 1888     return TRUE; | 1888     return true; | 
| 1889 } | 1889 } | 
| 1890 | 1890 | 
| 1891 void Field::SetHighlight(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, const CFX_ByteString& string) | 1891 void Field::SetHighlight(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, const CFX_ByteString& string) | 
| 1892 { | 1892 { | 
| 1893     //Not supported. | 1893     //Not supported. | 
| 1894 } | 1894 } | 
| 1895 | 1895 | 
| 1896 FX_BOOL Field::lineWidth(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 1896 bool Field::lineWidth(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
      or) | 
| 1897 { | 1897 { | 
| 1898     ASSERT(m_pDocument != NULL); | 1898     ASSERT(m_pDocument != NULL); | 
| 1899 | 1899 | 
| 1900     if (vp.IsSetting()) | 1900     if (vp.IsSetting()) | 
| 1901     { | 1901     { | 
| 1902         if (!m_bCanSet) return FALSE; | 1902         if (!m_bCanSet) return false; | 
| 1903 | 1903 | 
| 1904         int iWidth; | 1904         int iWidth; | 
| 1905         vp >> iWidth; | 1905         vp >> iWidth; | 
| 1906 | 1906 | 
| 1907         if (m_bDelay) | 1907         if (m_bDelay) | 
| 1908         { | 1908         { | 
| 1909             AddDelay_Int(FP_LINEWIDTH, iWidth); | 1909             AddDelay_Int(FP_LINEWIDTH, iWidth); | 
| 1910         } | 1910         } | 
| 1911         else | 1911         else | 
| 1912         { | 1912         { | 
| 1913             Field::SetLineWidth(m_pDocument, m_FieldName, m_nFormControlIndex, i
      Width); | 1913             Field::SetLineWidth(m_pDocument, m_FieldName, m_nFormControlIndex, i
      Width); | 
| 1914         } | 1914         } | 
| 1915     } | 1915     } | 
| 1916     else | 1916     else | 
| 1917     { | 1917     { | 
| 1918         CFX_PtrArray FieldArray; | 1918         CFX_PtrArray FieldArray; | 
| 1919         GetFormFields(m_FieldName,FieldArray); | 1919         GetFormFields(m_FieldName,FieldArray); | 
| 1920         if (FieldArray.GetSize() <= 0) return FALSE; | 1920         if (FieldArray.GetSize() <= 0) return false; | 
| 1921 | 1921 | 
| 1922         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 1922         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 1923         ASSERT(pFormField != NULL); | 1923         ASSERT(pFormField != NULL); | 
| 1924 | 1924 | 
| 1925         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 1925         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 1926         if (!pFormControl) return FALSE; | 1926         if (!pFormControl) return false; | 
| 1927 | 1927 | 
| 1928         CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte
      rForm(); | 1928         CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte
      rForm(); | 
| 1929         ASSERT(pInterForm != NULL); | 1929         ASSERT(pInterForm != NULL); | 
| 1930 | 1930 | 
| 1931         if(!pFormField->CountControls()) return FALSE; | 1931         if(!pFormField->CountControls()) return false; | 
| 1932 | 1932 | 
| 1933         CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormField->GetControl(0
      )); | 1933         CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormField->GetControl(0
      )); | 
| 1934         if (!pWidget) return FALSE; | 1934         if (!pWidget) return false; | 
| 1935 | 1935 | 
| 1936         vp << (int32_t)pWidget->GetBorderWidth(); | 1936         vp << (int32_t)pWidget->GetBorderWidth(); | 
| 1937     } | 1937     } | 
| 1938 | 1938 | 
| 1939     return TRUE; | 1939     return true; | 
| 1940 } | 1940 } | 
| 1941 | 1941 | 
| 1942 void Field::SetLineWidth(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, int number) | 1942 void Field::SetLineWidth(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, int number) | 
| 1943 { | 1943 { | 
| 1944     ASSERT(pDocument != NULL); | 1944     ASSERT(pDocument != NULL); | 
| 1945 | 1945 | 
| 1946     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 1946     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 
| 1947     ASSERT(pInterForm != NULL); | 1947     ASSERT(pInterForm != NULL); | 
| 1948 | 1948 | 
| 1949     CFX_PtrArray FieldArray; | 1949     CFX_PtrArray FieldArray; | 
| 1950     GetFormFields(pDocument, swFieldName, FieldArray); | 1950     GetFormFields(pDocument, swFieldName, FieldArray); | 
| 1951 | 1951 | 
| 1952     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 1952     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 
| 1953     { | 1953     { | 
| 1954         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 1954         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 
| 1955         ASSERT(pFormField != NULL); | 1955         ASSERT(pFormField != NULL); | 
| 1956 | 1956 | 
| 1957         if (nControlIndex < 0) | 1957         if (nControlIndex < 0) | 
| 1958         { | 1958         { | 
| 1959             FX_BOOL bSet = FALSE; | 1959             bool bSet = false; | 
| 1960             for (int j=0,jsz=pFormField->CountControls(); j<jsz; j++) | 1960             for (int j=0,jsz=pFormField->CountControls(); j<jsz; j++) | 
| 1961             { | 1961             { | 
| 1962                 CPDF_FormControl* pFormControl = pFormField->GetControl(j); | 1962                 CPDF_FormControl* pFormControl = pFormField->GetControl(j); | 
| 1963                 ASSERT(pFormControl != NULL); | 1963                 ASSERT(pFormControl != NULL); | 
| 1964 | 1964 | 
| 1965                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 1965                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 
| 1966                 { | 1966                 { | 
| 1967                     if (number != pWidget->GetBorderWidth()) | 1967                     if (number != pWidget->GetBorderWidth()) | 
| 1968                     { | 1968                     { | 
| 1969                         pWidget->SetBorderWidth(number); | 1969                         pWidget->SetBorderWidth(number); | 
| 1970                         bSet = TRUE; | 1970                         bSet = true; | 
| 1971                     } | 1971                     } | 
| 1972                 } | 1972                 } | 
| 1973             } | 1973             } | 
| 1974             if (bSet) UpdateFormField(pDocument, pFormField, TRUE, TRUE, TRUE); | 1974             if (bSet) UpdateFormField(pDocument, pFormField, true, true, true); | 
| 1975         } | 1975         } | 
| 1976         else | 1976         else | 
| 1977         { | 1977         { | 
| 1978             if(nControlIndex >= pFormField->CountControls()) return; | 1978             if(nControlIndex >= pFormField->CountControls()) return; | 
| 1979             if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControl
      Index)) | 1979             if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControl
      Index)) | 
| 1980             { | 1980             { | 
| 1981                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 1981                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 
| 1982                 { | 1982                 { | 
| 1983                     if (number != pWidget->GetBorderWidth()) | 1983                     if (number != pWidget->GetBorderWidth()) | 
| 1984                     { | 1984                     { | 
| 1985                         pWidget->SetBorderWidth(number); | 1985                         pWidget->SetBorderWidth(number); | 
| 1986                         UpdateFormControl(pDocument, pFormControl, TRUE, TRUE, T
      RUE); | 1986                         UpdateFormControl(pDocument, pFormControl, true, true, t
      rue); | 
| 1987                     } | 1987                     } | 
| 1988                 } | 1988                 } | 
| 1989             } | 1989             } | 
| 1990         } | 1990         } | 
| 1991     } | 1991     } | 
| 1992 } | 1992 } | 
| 1993 | 1993 | 
| 1994 FX_BOOL Field::multiline(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 1994 bool Field::multiline(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
      or) | 
| 1995 { | 1995 { | 
| 1996     ASSERT(m_pDocument != NULL); | 1996     ASSERT(m_pDocument != NULL); | 
| 1997 | 1997 | 
| 1998     if (vp.IsSetting()) | 1998     if (vp.IsSetting()) | 
| 1999     { | 1999     { | 
| 2000         if (!m_bCanSet) return FALSE; | 2000         if (!m_bCanSet) return false; | 
| 2001 | 2001 | 
| 2002         bool bVP; | 2002         bool bVP; | 
| 2003         vp >> bVP; | 2003         vp >> bVP; | 
| 2004 | 2004 | 
| 2005         if (m_bDelay) | 2005         if (m_bDelay) | 
| 2006         { | 2006         { | 
| 2007             AddDelay_Bool(FP_MULTILINE, bVP); | 2007             AddDelay_Bool(FP_MULTILINE, bVP); | 
| 2008         } | 2008         } | 
| 2009         else | 2009         else | 
| 2010         { | 2010         { | 
| 2011             Field::SetMultiline(m_pDocument, m_FieldName, m_nFormControlIndex, b
      VP); | 2011             Field::SetMultiline(m_pDocument, m_FieldName, m_nFormControlIndex, b
      VP); | 
| 2012         } | 2012         } | 
| 2013     } | 2013     } | 
| 2014     else | 2014     else | 
| 2015     { | 2015     { | 
| 2016         CFX_PtrArray FieldArray; | 2016         CFX_PtrArray FieldArray; | 
| 2017         GetFormFields(m_FieldName, FieldArray); | 2017         GetFormFields(m_FieldName, FieldArray); | 
| 2018         if (FieldArray.GetSize() <= 0) return FALSE; | 2018         if (FieldArray.GetSize() <= 0) return false; | 
| 2019 | 2019 | 
| 2020         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2020         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2021         ASSERT(pFormField != NULL); | 2021         ASSERT(pFormField != NULL); | 
| 2022 | 2022 | 
| 2023         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 2023         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 
| 2024             return FALSE; | 2024             return false; | 
| 2025 | 2025 | 
| 2026         if (pFormField->GetFieldFlags() & FIELDFLAG_MULTILINE) | 2026         if (pFormField->GetFieldFlags() & FIELDFLAG_MULTILINE) | 
| 2027             vp << true; | 2027             vp << true; | 
| 2028         else | 2028         else | 
| 2029             vp << false; | 2029             vp << false; | 
| 2030     } | 2030     } | 
| 2031 | 2031 | 
| 2032     return TRUE; | 2032     return true; | 
| 2033 } | 2033 } | 
| 2034 | 2034 | 
| 2035 void Field::SetMultiline(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, bool b) | 2035 void Field::SetMultiline(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, bool b) | 
| 2036 { | 2036 { | 
| 2037     //Not supported. | 2037     //Not supported. | 
| 2038 } | 2038 } | 
| 2039 | 2039 | 
| 2040 FX_BOOL Field::multipleSelection(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideS
      tring& sError) | 2040 bool Field::multipleSelection(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStri
      ng& sError) | 
| 2041 { | 2041 { | 
| 2042     ASSERT(m_pDocument != NULL); | 2042     ASSERT(m_pDocument != NULL); | 
| 2043 | 2043 | 
| 2044     if (vp.IsSetting()) | 2044     if (vp.IsSetting()) | 
| 2045     { | 2045     { | 
| 2046         if (!m_bCanSet) return FALSE; | 2046         if (!m_bCanSet) return false; | 
| 2047 | 2047 | 
| 2048         bool bVP; | 2048         bool bVP; | 
| 2049         vp >> bVP; | 2049         vp >> bVP; | 
| 2050 | 2050 | 
| 2051         if (m_bDelay) | 2051         if (m_bDelay) | 
| 2052         { | 2052         { | 
| 2053             AddDelay_Bool(FP_MULTIPLESELECTION, bVP); | 2053             AddDelay_Bool(FP_MULTIPLESELECTION, bVP); | 
| 2054         } | 2054         } | 
| 2055         else | 2055         else | 
| 2056         { | 2056         { | 
| 2057             Field::SetMultipleSelection(m_pDocument, m_FieldName, m_nFormControl
      Index, bVP); | 2057             Field::SetMultipleSelection(m_pDocument, m_FieldName, m_nFormControl
      Index, bVP); | 
| 2058         } | 2058         } | 
| 2059     } | 2059     } | 
| 2060     else | 2060     else | 
| 2061     { | 2061     { | 
| 2062         CFX_PtrArray FieldArray; | 2062         CFX_PtrArray FieldArray; | 
| 2063         GetFormFields(m_FieldName,FieldArray); | 2063         GetFormFields(m_FieldName,FieldArray); | 
| 2064         if (FieldArray.GetSize() <= 0) return FALSE; | 2064         if (FieldArray.GetSize() <= 0) return false; | 
| 2065 | 2065 | 
| 2066         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2066         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2067         ASSERT(pFormField != NULL); | 2067         ASSERT(pFormField != NULL); | 
| 2068 | 2068 | 
| 2069         if (pFormField->GetFieldType() != FIELDTYPE_LISTBOX) | 2069         if (pFormField->GetFieldType() != FIELDTYPE_LISTBOX) | 
| 2070             return FALSE; | 2070             return false; | 
| 2071 | 2071 | 
| 2072         if (pFormField->GetFieldFlags() & FIELDFLAG_MULTISELECT) | 2072         if (pFormField->GetFieldFlags() & FIELDFLAG_MULTISELECT) | 
| 2073             vp << true; | 2073             vp << true; | 
| 2074         else | 2074         else | 
| 2075             vp << false; | 2075             vp << false; | 
| 2076     } | 2076     } | 
| 2077 | 2077 | 
| 2078     return TRUE; | 2078     return true; | 
| 2079 } | 2079 } | 
| 2080 | 2080 | 
| 2081 void Field::SetMultipleSelection(CPDFSDK_Document* pDocument, const CFX_WideStri
      ng& swFieldName, int nControlIndex, bool b) | 2081 void Field::SetMultipleSelection(CPDFSDK_Document* pDocument, const CFX_WideStri
      ng& swFieldName, int nControlIndex, bool b) | 
| 2082 { | 2082 { | 
| 2083     //Not supported. | 2083     //Not supported. | 
| 2084 } | 2084 } | 
| 2085 | 2085 | 
| 2086 FX_BOOL Field::name(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError
      ) | 2086 bool Field::name(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 2087 { | 2087 { | 
| 2088     if (!vp.IsGetting()) return FALSE; | 2088     if (!vp.IsGetting()) return false; | 
| 2089 | 2089 | 
| 2090     CFX_PtrArray FieldArray; | 2090     CFX_PtrArray FieldArray; | 
| 2091     GetFormFields(m_FieldName, FieldArray); | 2091     GetFormFields(m_FieldName, FieldArray); | 
| 2092     if (FieldArray.GetSize() <= 0) return FALSE; | 2092     if (FieldArray.GetSize() <= 0) return false; | 
| 2093 | 2093 | 
| 2094     vp << m_FieldName; | 2094     vp << m_FieldName; | 
| 2095 | 2095 | 
| 2096     return TRUE; | 2096     return true; | 
| 2097 } | 2097 } | 
| 2098 | 2098 | 
| 2099 FX_BOOL Field::numItems(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 2099 bool Field::numItems(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 
| 2100 { | 2100 { | 
| 2101     CFX_PtrArray FieldArray; | 2101     CFX_PtrArray FieldArray; | 
| 2102     GetFormFields(m_FieldName, FieldArray); | 2102     GetFormFields(m_FieldName, FieldArray); | 
| 2103     if (FieldArray.GetSize() <= 0) return FALSE; | 2103     if (FieldArray.GetSize() <= 0) return false; | 
| 2104 | 2104 | 
| 2105     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2105     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2106     ASSERT(pFormField != NULL); | 2106     ASSERT(pFormField != NULL); | 
| 2107 | 2107 | 
| 2108     if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && | 2108     if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX && | 
| 2109         pFormField->GetFieldType() != FIELDTYPE_LISTBOX) | 2109         pFormField->GetFieldType() != FIELDTYPE_LISTBOX) | 
| 2110         return FALSE; | 2110         return false; | 
| 2111 | 2111 | 
| 2112     if (!vp.IsGetting()) return FALSE; | 2112     if (!vp.IsGetting()) return false; | 
| 2113 | 2113 | 
| 2114     vp << (int32_t)pFormField->CountOptions(); | 2114     vp << (int32_t)pFormField->CountOptions(); | 
| 2115 | 2115 | 
| 2116     return TRUE; | 2116     return true; | 
| 2117 } | 2117 } | 
| 2118 | 2118 | 
| 2119 FX_BOOL Field::page(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError
      ) | 2119 bool Field::page(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 2120 { | 2120 { | 
| 2121     if (!vp.IsGetting()) return FALSE; | 2121     if (!vp.IsGetting()) return false; | 
| 2122 | 2122 | 
| 2123     CFX_PtrArray FieldArray; | 2123     CFX_PtrArray FieldArray; | 
| 2124     GetFormFields(m_FieldName, FieldArray); | 2124     GetFormFields(m_FieldName, FieldArray); | 
| 2125     if (FieldArray.GetSize() <= 0) return FALSE; | 2125     if (FieldArray.GetSize() <= 0) return false; | 
| 2126 | 2126 | 
| 2127     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2127     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2128     if (!pFormField) return FALSE; | 2128     if (!pFormField) return false; | 
| 2129 | 2129 | 
| 2130     ASSERT(m_pDocument != NULL); | 2130     ASSERT(m_pDocument != NULL); | 
| 2131 | 2131 | 
| 2132     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
      m(); | 2132     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
      m(); | 
| 2133     ASSERT(pInterForm != NULL); | 2133     ASSERT(pInterForm != NULL); | 
| 2134 | 2134 | 
| 2135     CFX_PtrArray widgetArray; | 2135     CFX_PtrArray widgetArray; | 
| 2136     pInterForm->GetWidgets(pFormField, widgetArray); | 2136     pInterForm->GetWidgets(pFormField, widgetArray); | 
| 2137 | 2137 | 
| 2138     if (widgetArray.GetSize() > 0) | 2138     if (widgetArray.GetSize() > 0) | 
| 2139     { | 2139     { | 
| 2140         CJS_Array PageArray(m_isolate); | 2140         CJS_Array PageArray(m_isolate); | 
| 2141 | 2141 | 
| 2142         for (int i=0,sz=widgetArray.GetSize(); i<sz; i++) | 2142         for (int i=0,sz=widgetArray.GetSize(); i<sz; i++) | 
| 2143         { | 2143         { | 
| 2144             CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgetArray.GetAt(i); | 2144             CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgetArray.GetAt(i); | 
| 2145             ASSERT(pWidget != NULL); | 2145             ASSERT(pWidget != NULL); | 
| 2146 | 2146 | 
| 2147             CPDFSDK_PageView* pPageView = pWidget->GetPageView(); | 2147             CPDFSDK_PageView* pPageView = pWidget->GetPageView(); | 
| 2148             if(!pPageView) | 2148             if(!pPageView) | 
| 2149                 return FALSE; | 2149                 return false; | 
| 2150 | 2150 | 
| 2151             PageArray.SetElement(i, CJS_Value(m_isolate,(int32_t)pPageView->GetP
      ageIndex())); | 2151             PageArray.SetElement(i, CJS_Value(m_isolate,(int32_t)pPageView->GetP
      ageIndex())); | 
| 2152         } | 2152         } | 
| 2153 | 2153 | 
| 2154         vp << PageArray; | 2154         vp << PageArray; | 
| 2155     } | 2155     } | 
| 2156     else | 2156     else | 
| 2157     { | 2157     { | 
| 2158         vp << (int32_t) -1; | 2158         vp << (int32_t) -1; | 
| 2159     } | 2159     } | 
| 2160 | 2160 | 
| 2161     return TRUE; | 2161     return true; | 
| 2162 } | 2162 } | 
| 2163 | 2163 | 
| 2164 FX_BOOL Field::password(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 2164 bool Field::password(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 
| 2165 { | 2165 { | 
| 2166     ASSERT(m_pDocument != NULL); | 2166     ASSERT(m_pDocument != NULL); | 
| 2167 | 2167 | 
| 2168     if (vp.IsSetting()) | 2168     if (vp.IsSetting()) | 
| 2169     { | 2169     { | 
| 2170         if (!m_bCanSet) return FALSE; | 2170         if (!m_bCanSet) return false; | 
| 2171 | 2171 | 
| 2172         bool bVP; | 2172         bool bVP; | 
| 2173         vp >> bVP; | 2173         vp >> bVP; | 
| 2174 | 2174 | 
| 2175         if (m_bDelay) | 2175         if (m_bDelay) | 
| 2176         { | 2176         { | 
| 2177             AddDelay_Bool(FP_PASSWORD, bVP); | 2177             AddDelay_Bool(FP_PASSWORD, bVP); | 
| 2178         } | 2178         } | 
| 2179         else | 2179         else | 
| 2180         { | 2180         { | 
| 2181             Field::SetPassword(m_pDocument, m_FieldName, m_nFormControlIndex, bV
      P); | 2181             Field::SetPassword(m_pDocument, m_FieldName, m_nFormControlIndex, bV
      P); | 
| 2182         } | 2182         } | 
| 2183     } | 2183     } | 
| 2184     else | 2184     else | 
| 2185     { | 2185     { | 
| 2186         CFX_PtrArray FieldArray; | 2186         CFX_PtrArray FieldArray; | 
| 2187         GetFormFields(m_FieldName,FieldArray); | 2187         GetFormFields(m_FieldName,FieldArray); | 
| 2188         if (FieldArray.GetSize() <= 0) return FALSE; | 2188         if (FieldArray.GetSize() <= 0) return false; | 
| 2189 | 2189 | 
| 2190         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2190         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2191         ASSERT(pFormField != NULL); | 2191         ASSERT(pFormField != NULL); | 
| 2192 | 2192 | 
| 2193         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 2193         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 
| 2194             return FALSE; | 2194             return false; | 
| 2195 | 2195 | 
| 2196         if (pFormField->GetFieldFlags() & FIELDFLAG_PASSWORD) | 2196         if (pFormField->GetFieldFlags() & FIELDFLAG_PASSWORD) | 
| 2197             vp << true; | 2197             vp << true; | 
| 2198         else | 2198         else | 
| 2199             vp << false; | 2199             vp << false; | 
| 2200     } | 2200     } | 
| 2201 | 2201 | 
| 2202     return TRUE; | 2202     return true; | 
| 2203 } | 2203 } | 
| 2204 | 2204 | 
| 2205 void Field::SetPassword(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, bool b) | 2205 void Field::SetPassword(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, bool b) | 
| 2206 { | 2206 { | 
| 2207     //Not supported. | 2207     //Not supported. | 
| 2208 } | 2208 } | 
| 2209 | 2209 | 
| 2210 FX_BOOL Field::print(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 2210 bool Field::print(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 2211 { | 2211 { | 
| 2212     ASSERT(m_pDocument != NULL); | 2212     ASSERT(m_pDocument != NULL); | 
| 2213 | 2213 | 
| 2214     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
      m(); | 2214     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
      m(); | 
| 2215     ASSERT(pInterForm != NULL); | 2215     ASSERT(pInterForm != NULL); | 
| 2216 | 2216 | 
| 2217     CFX_PtrArray FieldArray; | 2217     CFX_PtrArray FieldArray; | 
| 2218     GetFormFields(m_FieldName, FieldArray); | 2218     GetFormFields(m_FieldName, FieldArray); | 
| 2219     if (FieldArray.GetSize() <= 0) return FALSE; | 2219     if (FieldArray.GetSize() <= 0) return false; | 
| 2220 | 2220 | 
| 2221     if (vp.IsSetting()) | 2221     if (vp.IsSetting()) | 
| 2222     { | 2222     { | 
| 2223         if (!m_bCanSet) return FALSE; | 2223         if (!m_bCanSet) return false; | 
| 2224 | 2224 | 
| 2225         bool bVP; | 2225         bool bVP; | 
| 2226         vp >> bVP; | 2226         vp >> bVP; | 
| 2227 | 2227 | 
| 2228         for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 2228         for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 
| 2229         { | 2229         { | 
| 2230             CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i
      ); | 2230             CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i
      ); | 
| 2231             ASSERT(pFormField != NULL); | 2231             ASSERT(pFormField != NULL); | 
| 2232 | 2232 | 
| 2233             if (m_nFormControlIndex < 0) | 2233             if (m_nFormControlIndex < 0) | 
| 2234             { | 2234             { | 
| 2235                 FX_BOOL bSet = FALSE; | 2235                 bool bSet = false; | 
| 2236                 for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) | 2236                 for (int j=0,jsz = pFormField->CountControls(); j<jsz; j++) | 
| 2237                 { | 2237                 { | 
| 2238                     if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormFie
      ld->GetControl(j))) | 2238                     if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormFie
      ld->GetControl(j))) | 
| 2239                     { | 2239                     { | 
| 2240                         FX_DWORD dwFlags = pWidget->GetFlags(); | 2240                         FX_DWORD dwFlags = pWidget->GetFlags(); | 
| 2241                         if (bVP) | 2241                         if (bVP) | 
| 2242                             dwFlags |= ANNOTFLAG_PRINT; | 2242                             dwFlags |= ANNOTFLAG_PRINT; | 
| 2243                         else | 2243                         else | 
| 2244                             dwFlags &= ~ANNOTFLAG_PRINT; | 2244                             dwFlags &= ~ANNOTFLAG_PRINT; | 
| 2245 | 2245 | 
| 2246                         if (dwFlags != pWidget->GetFlags()) | 2246                         if (dwFlags != pWidget->GetFlags()) | 
| 2247                         { | 2247                         { | 
| 2248                             pWidget->SetFlags(dwFlags); | 2248                             pWidget->SetFlags(dwFlags); | 
| 2249                             bSet = TRUE; | 2249                             bSet = true; | 
| 2250                         } | 2250                         } | 
| 2251                     } | 2251                     } | 
| 2252                 } | 2252                 } | 
| 2253 | 2253 | 
| 2254                 if (bSet) | 2254                 if (bSet) | 
| 2255                     UpdateFormField(m_pDocument, pFormField, TRUE, FALSE, TRUE); | 2255                     UpdateFormField(m_pDocument, pFormField, true, false, true); | 
| 2256             } | 2256             } | 
| 2257             else | 2257             else | 
| 2258             { | 2258             { | 
| 2259                 if(m_nFormControlIndex >= pFormField->CountControls()) return FA
      LSE; | 2259                 if(m_nFormControlIndex >= pFormField->CountControls()) return fa
      lse; | 
| 2260                 if (CPDF_FormControl* pFormControl = pFormField->GetControl(m_nF
      ormControlIndex)) | 2260                 if (CPDF_FormControl* pFormControl = pFormField->GetControl(m_nF
      ormControlIndex)) | 
| 2261                 { | 2261                 { | 
| 2262                     if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormCon
      trol)) | 2262                     if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormCon
      trol)) | 
| 2263                     { | 2263                     { | 
| 2264                         FX_DWORD dwFlags = pWidget->GetFlags(); | 2264                         FX_DWORD dwFlags = pWidget->GetFlags(); | 
| 2265                         if (bVP) | 2265                         if (bVP) | 
| 2266                             dwFlags |= ANNOTFLAG_PRINT; | 2266                             dwFlags |= ANNOTFLAG_PRINT; | 
| 2267                         else | 2267                         else | 
| 2268                             dwFlags &= ~ANNOTFLAG_PRINT; | 2268                             dwFlags &= ~ANNOTFLAG_PRINT; | 
| 2269 | 2269 | 
| 2270                         if (dwFlags != pWidget->GetFlags()) | 2270                         if (dwFlags != pWidget->GetFlags()) | 
| 2271                         { | 2271                         { | 
| 2272                             pWidget->SetFlags(dwFlags); | 2272                             pWidget->SetFlags(dwFlags); | 
| 2273                             UpdateFormControl(m_pDocument, pFormField->GetContro
      l(m_nFormControlIndex), TRUE, FALSE, TRUE); | 2273                             UpdateFormControl(m_pDocument, pFormField->GetContro
      l(m_nFormControlIndex), true, false, true); | 
| 2274                         } | 2274                         } | 
| 2275                     } | 2275                     } | 
| 2276                 } | 2276                 } | 
| 2277             } | 2277             } | 
| 2278         } | 2278         } | 
| 2279     } | 2279     } | 
| 2280     else | 2280     else | 
| 2281     { | 2281     { | 
| 2282         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2282         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2283         ASSERT(pFormField != NULL); | 2283         ASSERT(pFormField != NULL); | 
| 2284 | 2284 | 
| 2285         CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFo
      rmField)); | 2285         CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFo
      rmField)); | 
| 2286         if (!pWidget) return FALSE; | 2286         if (!pWidget) return false; | 
| 2287 | 2287 | 
| 2288         if (pWidget->GetFlags() & ANNOTFLAG_PRINT) | 2288         if (pWidget->GetFlags() & ANNOTFLAG_PRINT) | 
| 2289             vp << true; | 2289             vp << true; | 
| 2290         else | 2290         else | 
| 2291             vp << false; | 2291             vp << false; | 
| 2292     } | 2292     } | 
| 2293 | 2293 | 
| 2294     return TRUE; | 2294     return true; | 
| 2295 } | 2295 } | 
| 2296 | 2296 | 
| 2297 FX_BOOL Field::radiosInUnison(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStri
      ng& sError) | 2297 bool Field::radiosInUnison(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
       sError) | 
| 2298 { | 2298 { | 
| 2299     ASSERT(m_pDocument != NULL); | 2299     ASSERT(m_pDocument != NULL); | 
| 2300 | 2300 | 
| 2301     CFX_PtrArray FieldArray; | 2301     CFX_PtrArray FieldArray; | 
| 2302     GetFormFields(m_FieldName,FieldArray); | 2302     GetFormFields(m_FieldName,FieldArray); | 
| 2303     if (FieldArray.GetSize() <= 0) return FALSE; | 2303     if (FieldArray.GetSize() <= 0) return false; | 
| 2304 | 2304 | 
| 2305     if (vp.IsSetting()) | 2305     if (vp.IsSetting()) | 
| 2306     { | 2306     { | 
| 2307         if (!m_bCanSet) return FALSE; | 2307         if (!m_bCanSet) return false; | 
| 2308 | 2308 | 
| 2309         bool bVP; | 2309         bool bVP; | 
| 2310         vp >> bVP; | 2310         vp >> bVP; | 
| 2311 | 2311 | 
| 2312     } | 2312     } | 
| 2313     else | 2313     else | 
| 2314     { | 2314     { | 
| 2315         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2315         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2316         ASSERT(pFormField != NULL); | 2316         ASSERT(pFormField != NULL); | 
| 2317 | 2317 | 
| 2318         if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) | 2318         if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) | 
| 2319             return FALSE; | 2319             return false; | 
| 2320 | 2320 | 
| 2321         if (pFormField->GetFieldFlags() & FIELDFLAG_RADIOSINUNISON) | 2321         if (pFormField->GetFieldFlags() & FIELDFLAG_RADIOSINUNISON) | 
| 2322             vp << true; | 2322             vp << true; | 
| 2323         else | 2323         else | 
| 2324             vp << false; | 2324             vp << false; | 
| 2325     } | 2325     } | 
| 2326 | 2326 | 
| 2327     return TRUE; | 2327     return true; | 
| 2328 } | 2328 } | 
| 2329 | 2329 | 
| 2330 FX_BOOL Field::readonly(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 2330 bool Field::readonly(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 
| 2331 { | 2331 { | 
| 2332     ASSERT(m_pDocument != NULL); | 2332     ASSERT(m_pDocument != NULL); | 
| 2333 | 2333 | 
| 2334     CFX_PtrArray FieldArray; | 2334     CFX_PtrArray FieldArray; | 
| 2335     GetFormFields(m_FieldName,FieldArray); | 2335     GetFormFields(m_FieldName,FieldArray); | 
| 2336     if (FieldArray.GetSize() <= 0) return FALSE; | 2336     if (FieldArray.GetSize() <= 0) return false; | 
| 2337 | 2337 | 
| 2338     if (vp.IsSetting()) | 2338     if (vp.IsSetting()) | 
| 2339     { | 2339     { | 
| 2340         if (!m_bCanSet) return FALSE; | 2340         if (!m_bCanSet) return false; | 
| 2341 | 2341 | 
| 2342         bool bVP; | 2342         bool bVP; | 
| 2343         vp >> bVP; | 2343         vp >> bVP; | 
| 2344 | 2344 | 
| 2345     } | 2345     } | 
| 2346     else | 2346     else | 
| 2347     { | 2347     { | 
| 2348         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2348         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2349         ASSERT(pFormField != NULL); | 2349         ASSERT(pFormField != NULL); | 
| 2350 | 2350 | 
| 2351         if (pFormField->GetFieldFlags() & FIELDFLAG_READONLY) | 2351         if (pFormField->GetFieldFlags() & FIELDFLAG_READONLY) | 
| 2352             vp << true; | 2352             vp << true; | 
| 2353         else | 2353         else | 
| 2354             vp << false; | 2354             vp << false; | 
| 2355     } | 2355     } | 
| 2356 | 2356 | 
| 2357     return TRUE; | 2357     return true; | 
| 2358 } | 2358 } | 
| 2359 | 2359 | 
| 2360 FX_BOOL Field::rect(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError
      ) | 2360 bool Field::rect(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 2361 { | 2361 { | 
| 2362     ASSERT(m_pDocument != NULL); | 2362     ASSERT(m_pDocument != NULL); | 
| 2363 | 2363 | 
| 2364     if (vp.IsSetting()) | 2364     if (vp.IsSetting()) | 
| 2365     { | 2365     { | 
| 2366         if (!m_bCanSet) return FALSE; | 2366         if (!m_bCanSet) return false; | 
| 2367         if (!vp.IsArrayObject())return FALSE; | 2367         if (!vp.IsArrayObject())return false; | 
| 2368 | 2368 | 
| 2369         CJS_Array rcArray(m_isolate); | 2369         CJS_Array rcArray(m_isolate); | 
| 2370         vp >> rcArray; | 2370         vp >> rcArray; | 
| 2371         CJS_Value Upper_Leftx(m_isolate), Upper_Lefty(m_isolate), Lower_Rightx(m
      _isolate), Lower_Righty(m_isolate); | 2371         CJS_Value Upper_Leftx(m_isolate), Upper_Lefty(m_isolate), Lower_Rightx(m
      _isolate), Lower_Righty(m_isolate); | 
| 2372         rcArray.GetElement(0, Upper_Leftx); | 2372         rcArray.GetElement(0, Upper_Leftx); | 
| 2373         rcArray.GetElement(1, Upper_Lefty); | 2373         rcArray.GetElement(1, Upper_Lefty); | 
| 2374         rcArray.GetElement(2, Lower_Rightx); | 2374         rcArray.GetElement(2, Lower_Rightx); | 
| 2375         rcArray.GetElement(3, Lower_Righty); | 2375         rcArray.GetElement(3, Lower_Righty); | 
| 2376 | 2376 | 
| 2377         FX_FLOAT pArray[4] = {0.0f,0.0f,0.0f,0.0f}; | 2377         FX_FLOAT pArray[4] = {0.0f,0.0f,0.0f,0.0f}; | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
| 2388         } | 2388         } | 
| 2389         else | 2389         else | 
| 2390         { | 2390         { | 
| 2391             Field::SetRect(m_pDocument, m_FieldName, m_nFormControlIndex, crRect
      ); | 2391             Field::SetRect(m_pDocument, m_FieldName, m_nFormControlIndex, crRect
      ); | 
| 2392         } | 2392         } | 
| 2393     } | 2393     } | 
| 2394     else | 2394     else | 
| 2395     { | 2395     { | 
| 2396         CFX_PtrArray FieldArray; | 2396         CFX_PtrArray FieldArray; | 
| 2397         GetFormFields(m_FieldName,FieldArray); | 2397         GetFormFields(m_FieldName,FieldArray); | 
| 2398         if (FieldArray.GetSize() <= 0) return FALSE; | 2398         if (FieldArray.GetSize() <= 0) return false; | 
| 2399 | 2399 | 
| 2400         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2400         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2401         ASSERT(pFormField != NULL); | 2401         ASSERT(pFormField != NULL); | 
| 2402 | 2402 | 
| 2403         CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte
      rForm(); | 2403         CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte
      rForm(); | 
| 2404         ASSERT(pInterForm != NULL); | 2404         ASSERT(pInterForm != NULL); | 
| 2405 | 2405 | 
| 2406         CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFo
      rmField)); | 2406         CPDFSDK_Widget* pWidget = pInterForm->GetWidget(GetSmartFieldControl(pFo
      rmField)); | 
| 2407         if (!pWidget) return FALSE; | 2407         if (!pWidget) return false; | 
| 2408 | 2408 | 
| 2409         CFX_FloatRect crRect = pWidget->GetRect(); | 2409         CFX_FloatRect crRect = pWidget->GetRect(); | 
| 2410         CJS_Value Upper_Leftx(m_isolate),Upper_Lefty(m_isolate),Lower_Rightx(m_i
      solate),Lower_Righty(m_isolate); | 2410         CJS_Value Upper_Leftx(m_isolate),Upper_Lefty(m_isolate),Lower_Rightx(m_i
      solate),Lower_Righty(m_isolate); | 
| 2411         Upper_Leftx = (int32_t)crRect.left; | 2411         Upper_Leftx = (int32_t)crRect.left; | 
| 2412         Upper_Lefty = (int32_t)crRect.top; | 2412         Upper_Lefty = (int32_t)crRect.top; | 
| 2413         Lower_Rightx = (int32_t)crRect.right; | 2413         Lower_Rightx = (int32_t)crRect.right; | 
| 2414         Lower_Righty = (int32_t)crRect.bottom; | 2414         Lower_Righty = (int32_t)crRect.bottom; | 
| 2415 | 2415 | 
| 2416         CJS_Array rcArray(m_isolate); | 2416         CJS_Array rcArray(m_isolate); | 
| 2417         rcArray.SetElement(0,Upper_Leftx); | 2417         rcArray.SetElement(0,Upper_Leftx); | 
| 2418         rcArray.SetElement(1,Upper_Lefty); | 2418         rcArray.SetElement(1,Upper_Lefty); | 
| 2419         rcArray.SetElement(2,Lower_Rightx); | 2419         rcArray.SetElement(2,Lower_Rightx); | 
| 2420         rcArray.SetElement(3,Lower_Righty); | 2420         rcArray.SetElement(3,Lower_Righty); | 
| 2421 | 2421 | 
| 2422         vp  <<  rcArray; | 2422         vp  <<  rcArray; | 
| 2423     } | 2423     } | 
| 2424 | 2424 | 
| 2425     return TRUE; | 2425     return true; | 
| 2426 } | 2426 } | 
| 2427 | 2427 | 
| 2428 void Field::SetRect(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldNa
      me, int nControlIndex, const CPDF_Rect& rect) | 2428 void Field::SetRect(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldNa
      me, int nControlIndex, const CPDF_Rect& rect) | 
| 2429 { | 2429 { | 
| 2430     ASSERT(pDocument != NULL); | 2430     ASSERT(pDocument != NULL); | 
| 2431 | 2431 | 
| 2432     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 2432     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(
      ); | 
| 2433     ASSERT(pInterForm != NULL); | 2433     ASSERT(pInterForm != NULL); | 
| 2434 | 2434 | 
| 2435     CFX_PtrArray FieldArray; | 2435     CFX_PtrArray FieldArray; | 
| 2436     GetFormFields(pDocument, swFieldName, FieldArray); | 2436     GetFormFields(pDocument, swFieldName, FieldArray); | 
| 2437 | 2437 | 
| 2438     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 2438     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 
| 2439     { | 2439     { | 
| 2440         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 2440         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 
| 2441         ASSERT(pFormField != NULL); | 2441         ASSERT(pFormField != NULL); | 
| 2442 | 2442 | 
| 2443         if (nControlIndex < 0) | 2443         if (nControlIndex < 0) | 
| 2444         { | 2444         { | 
| 2445             FX_BOOL bSet = FALSE; | 2445             bool bSet = false; | 
| 2446             for (int i=0, sz=pFormField->CountControls(); i<sz; i++) | 2446             for (int i=0, sz=pFormField->CountControls(); i<sz; i++) | 
| 2447             { | 2447             { | 
| 2448                 CPDF_FormControl* pFormControl = pFormField->GetControl(i); | 2448                 CPDF_FormControl* pFormControl = pFormField->GetControl(i); | 
| 2449                 ASSERT(pFormControl != NULL); | 2449                 ASSERT(pFormControl != NULL); | 
| 2450 | 2450 | 
| 2451                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 2451                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 
| 2452                 { | 2452                 { | 
| 2453                     CPDF_Rect crRect = rect; | 2453                     CPDF_Rect crRect = rect; | 
| 2454 | 2454 | 
| 2455                     CPDF_Page* pPDFPage = pWidget->GetPDFPage(); | 2455                     CPDF_Page* pPDFPage = pWidget->GetPDFPage(); | 
| 2456                     ASSERT(pPDFPage != NULL); | 2456                     ASSERT(pPDFPage != NULL); | 
| 2457 | 2457 | 
| 2458 //                  CPDF_Page* pPDFPage = pPage->GetPage(); | 2458 //                  CPDF_Page* pPDFPage = pPage->GetPage(); | 
| 2459 //                  ASSERT(pPDFPage != NULL); | 2459 //                  ASSERT(pPDFPage != NULL); | 
| 2460 | 2460 | 
| 2461                     crRect.Intersect(pPDFPage->GetPageBBox()); | 2461                     crRect.Intersect(pPDFPage->GetPageBBox()); | 
| 2462 | 2462 | 
| 2463                     if (!crRect.IsEmpty()) | 2463                     if (!crRect.IsEmpty()) | 
| 2464                     { | 2464                     { | 
| 2465                         CPDF_Rect rcOld = pWidget->GetRect(); | 2465                         CPDF_Rect rcOld = pWidget->GetRect(); | 
| 2466                         if (crRect.left != rcOld.left || | 2466                         if (crRect.left != rcOld.left || | 
| 2467                             crRect.right != rcOld.right || | 2467                             crRect.right != rcOld.right || | 
| 2468                             crRect.top != rcOld.top || | 2468                             crRect.top != rcOld.top || | 
| 2469                             crRect.bottom != rcOld.bottom) | 2469                             crRect.bottom != rcOld.bottom) | 
| 2470                         { | 2470                         { | 
| 2471                             pWidget->SetRect(crRect); | 2471                             pWidget->SetRect(crRect); | 
| 2472                             bSet = TRUE; | 2472                             bSet = true; | 
| 2473                         } | 2473                         } | 
| 2474                     } | 2474                     } | 
| 2475                 } | 2475                 } | 
| 2476             } | 2476             } | 
| 2477 | 2477 | 
| 2478             if (bSet) UpdateFormField(pDocument, pFormField, TRUE, TRUE, TRUE); | 2478             if (bSet) UpdateFormField(pDocument, pFormField, true, true, true); | 
| 2479         } | 2479         } | 
| 2480         else | 2480         else | 
| 2481         { | 2481         { | 
| 2482             if(nControlIndex >= pFormField->CountControls()) return; | 2482             if(nControlIndex >= pFormField->CountControls()) return; | 
| 2483             if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControl
      Index)) | 2483             if (CPDF_FormControl* pFormControl = pFormField->GetControl(nControl
      Index)) | 
| 2484             { | 2484             { | 
| 2485                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 2485                 if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl
      )) | 
| 2486                 { | 2486                 { | 
| 2487                     CPDF_Rect crRect = rect; | 2487                     CPDF_Rect crRect = rect; | 
| 2488 | 2488 | 
| 2489                     CPDF_Page* pPDFPage = pWidget->GetPDFPage(); | 2489                     CPDF_Page* pPDFPage = pWidget->GetPDFPage(); | 
| 2490                     ASSERT(pPDFPage != NULL); | 2490                     ASSERT(pPDFPage != NULL); | 
| 2491 | 2491 | 
| 2492 //                  CPDF_Page* pPDFPage = pPage->GetPage(); | 2492 //                  CPDF_Page* pPDFPage = pPage->GetPage(); | 
| 2493 //                  ASSERT(pPDFPage != NULL); | 2493 //                  ASSERT(pPDFPage != NULL); | 
| 2494 | 2494 | 
| 2495                     crRect.Intersect(pPDFPage->GetPageBBox()); | 2495                     crRect.Intersect(pPDFPage->GetPageBBox()); | 
| 2496 | 2496 | 
| 2497                     if (!crRect.IsEmpty()) | 2497                     if (!crRect.IsEmpty()) | 
| 2498                     { | 2498                     { | 
| 2499                         CPDF_Rect rcOld = pWidget->GetRect(); | 2499                         CPDF_Rect rcOld = pWidget->GetRect(); | 
| 2500                         if (crRect.left != rcOld.left || | 2500                         if (crRect.left != rcOld.left || | 
| 2501                             crRect.right != rcOld.right || | 2501                             crRect.right != rcOld.right || | 
| 2502                             crRect.top != rcOld.top || | 2502                             crRect.top != rcOld.top || | 
| 2503                             crRect.bottom != rcOld.bottom) | 2503                             crRect.bottom != rcOld.bottom) | 
| 2504                         { | 2504                         { | 
| 2505                             pWidget->SetRect(crRect); | 2505                             pWidget->SetRect(crRect); | 
| 2506                             UpdateFormControl(pDocument, pFormControl, TRUE, TRU
      E, TRUE); | 2506                             UpdateFormControl(pDocument, pFormControl, true, tru
      e, true); | 
| 2507                         } | 2507                         } | 
| 2508                     } | 2508                     } | 
| 2509                 } | 2509                 } | 
| 2510             } | 2510             } | 
| 2511         } | 2511         } | 
| 2512     } | 2512     } | 
| 2513 } | 2513 } | 
| 2514 | 2514 | 
| 2515 FX_BOOL Field::required(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 2515 bool Field::required(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 
| 2516 { | 2516 { | 
| 2517     ASSERT(m_pDocument != NULL); | 2517     ASSERT(m_pDocument != NULL); | 
| 2518 | 2518 | 
| 2519     CFX_PtrArray FieldArray; | 2519     CFX_PtrArray FieldArray; | 
| 2520     GetFormFields(m_FieldName,FieldArray); | 2520     GetFormFields(m_FieldName,FieldArray); | 
| 2521     if (FieldArray.GetSize() <= 0) return FALSE; | 2521     if (FieldArray.GetSize() <= 0) return false; | 
| 2522 | 2522 | 
| 2523     if (vp.IsSetting()) | 2523     if (vp.IsSetting()) | 
| 2524     { | 2524     { | 
| 2525         if (!m_bCanSet) return FALSE; | 2525         if (!m_bCanSet) return false; | 
| 2526 | 2526 | 
| 2527 | 2527 | 
| 2528         bool bVP; | 2528         bool bVP; | 
| 2529         vp >> bVP; | 2529         vp >> bVP; | 
| 2530 | 2530 | 
| 2531     } | 2531     } | 
| 2532     else | 2532     else | 
| 2533     { | 2533     { | 
| 2534         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2534         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2535         ASSERT(pFormField != NULL); | 2535         ASSERT(pFormField != NULL); | 
| 2536 | 2536 | 
| 2537         if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON) | 2537         if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON) | 
| 2538             return FALSE; | 2538             return false; | 
| 2539 | 2539 | 
| 2540         if (pFormField->GetFieldFlags() & FIELDFLAG_REQUIRED) | 2540         if (pFormField->GetFieldFlags() & FIELDFLAG_REQUIRED) | 
| 2541             vp << true; | 2541             vp << true; | 
| 2542         else | 2542         else | 
| 2543             vp << false; | 2543             vp << false; | 
| 2544     } | 2544     } | 
| 2545 | 2545 | 
| 2546     return TRUE; | 2546     return true; | 
| 2547 } | 2547 } | 
| 2548 | 2548 | 
| 2549 FX_BOOL Field::richText(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 2549 bool Field::richText(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 
| 2550 { | 2550 { | 
| 2551     ASSERT(m_pDocument != NULL); | 2551     ASSERT(m_pDocument != NULL); | 
| 2552 | 2552 | 
| 2553     if (vp.IsSetting()) | 2553     if (vp.IsSetting()) | 
| 2554     { | 2554     { | 
| 2555         if (!m_bCanSet) return FALSE; | 2555         if (!m_bCanSet) return false; | 
| 2556 | 2556 | 
| 2557         bool bVP; | 2557         bool bVP; | 
| 2558         vp >> bVP; | 2558         vp >> bVP; | 
| 2559 | 2559 | 
| 2560         if (m_bDelay) | 2560         if (m_bDelay) | 
| 2561         { | 2561         { | 
| 2562             AddDelay_Bool(FP_RICHTEXT, bVP); | 2562             AddDelay_Bool(FP_RICHTEXT, bVP); | 
| 2563         } | 2563         } | 
| 2564         else | 2564         else | 
| 2565         { | 2565         { | 
| 2566             Field::SetRichText(m_pDocument, m_FieldName, m_nFormControlIndex, bV
      P); | 2566             Field::SetRichText(m_pDocument, m_FieldName, m_nFormControlIndex, bV
      P); | 
| 2567         } | 2567         } | 
| 2568     } | 2568     } | 
| 2569     else | 2569     else | 
| 2570     { | 2570     { | 
| 2571         CFX_PtrArray FieldArray; | 2571         CFX_PtrArray FieldArray; | 
| 2572         GetFormFields(m_FieldName,FieldArray); | 2572         GetFormFields(m_FieldName,FieldArray); | 
| 2573         if (FieldArray.GetSize() <= 0) return FALSE; | 2573         if (FieldArray.GetSize() <= 0) return false; | 
| 2574 | 2574 | 
| 2575         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2575         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2576         ASSERT(pFormField != NULL); | 2576         ASSERT(pFormField != NULL); | 
| 2577 | 2577 | 
| 2578         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 2578         if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD) | 
| 2579             return FALSE; | 2579             return false; | 
| 2580 | 2580 | 
| 2581         if (pFormField->GetFieldFlags() & FIELDFLAG_RICHTEXT) | 2581         if (pFormField->GetFieldFlags() & FIELDFLAG_RICHTEXT) | 
| 2582             vp << true; | 2582             vp << true; | 
| 2583         else | 2583         else | 
| 2584             vp << false; | 2584             vp << false; | 
| 2585     } | 2585     } | 
| 2586 | 2586 | 
| 2587     return TRUE; | 2587     return true; | 
| 2588 } | 2588 } | 
| 2589 | 2589 | 
| 2590 void Field::SetRichText(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, bool b) | 2590 void Field::SetRichText(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, bool b) | 
| 2591 { | 2591 { | 
| 2592     //Not supported. | 2592     //Not supported. | 
| 2593 } | 2593 } | 
| 2594 | 2594 | 
| 2595 FX_BOOL Field::richValue(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 2595 bool Field::richValue(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
      or) | 
| 2596 { | 2596 { | 
| 2597     return TRUE; | 2597     return true; | 
| 2598     if (vp.IsSetting()) | 2598     if (vp.IsSetting()) | 
| 2599     { | 2599     { | 
| 2600         if (!m_bCanSet) return FALSE; | 2600         if (!m_bCanSet) return false; | 
| 2601         ; | 2601         ; | 
| 2602     } | 2602     } | 
| 2603     else | 2603     else | 
| 2604     { | 2604     { | 
| 2605         ; | 2605         ; | 
| 2606     } | 2606     } | 
| 2607     return TRUE; | 2607     return true; | 
| 2608 } | 2608 } | 
| 2609 | 2609 | 
| 2610 void Field::SetRichValue(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex) | 2610 void Field::SetRichValue(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex) | 
| 2611 { | 2611 { | 
| 2612     //Not supported. | 2612     //Not supported. | 
| 2613 } | 2613 } | 
| 2614 | 2614 | 
| 2615 FX_BOOL Field::rotation(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 2615 bool Field::rotation(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 
| 2616 { | 2616 { | 
| 2617     ASSERT(m_pDocument != NULL); | 2617     ASSERT(m_pDocument != NULL); | 
| 2618 | 2618 | 
| 2619     if (vp.IsSetting()) | 2619     if (vp.IsSetting()) | 
| 2620     { | 2620     { | 
| 2621         if (!m_bCanSet) return FALSE; | 2621         if (!m_bCanSet) return false; | 
| 2622 | 2622 | 
| 2623         int nVP; | 2623         int nVP; | 
| 2624         vp >> nVP; | 2624         vp >> nVP; | 
| 2625 | 2625 | 
| 2626         if (m_bDelay) | 2626         if (m_bDelay) | 
| 2627         { | 2627         { | 
| 2628             AddDelay_Int(FP_ROTATION, nVP); | 2628             AddDelay_Int(FP_ROTATION, nVP); | 
| 2629         } | 2629         } | 
| 2630         else | 2630         else | 
| 2631         { | 2631         { | 
| 2632             Field::SetRotation(m_pDocument, m_FieldName, m_nFormControlIndex, nV
      P); | 2632             Field::SetRotation(m_pDocument, m_FieldName, m_nFormControlIndex, nV
      P); | 
| 2633         } | 2633         } | 
| 2634     } | 2634     } | 
| 2635     else | 2635     else | 
| 2636     { | 2636     { | 
| 2637         CFX_PtrArray FieldArray; | 2637         CFX_PtrArray FieldArray; | 
| 2638         GetFormFields(m_FieldName,FieldArray); | 2638         GetFormFields(m_FieldName,FieldArray); | 
| 2639         if (FieldArray.GetSize() <= 0) return FALSE; | 2639         if (FieldArray.GetSize() <= 0) return false; | 
| 2640 | 2640 | 
| 2641         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2641         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2642         ASSERT(pFormField != NULL); | 2642         ASSERT(pFormField != NULL); | 
| 2643 | 2643 | 
| 2644         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 2644         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 2645         if (!pFormControl)return FALSE; | 2645         if (!pFormControl)return false; | 
| 2646 | 2646 | 
| 2647         vp << (int32_t)pFormControl->GetRotation(); | 2647         vp << (int32_t)pFormControl->GetRotation(); | 
| 2648     } | 2648     } | 
| 2649 | 2649 | 
| 2650     return TRUE; | 2650     return true; | 
| 2651 } | 2651 } | 
| 2652 | 2652 | 
| 2653 void Field::SetRotation(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, int number) | 2653 void Field::SetRotation(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, int number) | 
| 2654 { | 2654 { | 
| 2655     //Not supported. | 2655     //Not supported. | 
| 2656 } | 2656 } | 
| 2657 | 2657 | 
| 2658 FX_BOOL Field::strokeColor(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString&
       sError) | 2658 bool Field::strokeColor(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 
| 2659 { | 2659 { | 
| 2660     ASSERT(m_pDocument != NULL); | 2660     ASSERT(m_pDocument != NULL); | 
| 2661 | 2661 | 
| 2662     if (vp.IsSetting()) | 2662     if (vp.IsSetting()) | 
| 2663     { | 2663     { | 
| 2664         if (!m_bCanSet) return FALSE; | 2664         if (!m_bCanSet) return false; | 
| 2665 | 2665 | 
| 2666         if (!vp.IsArrayObject())return FALSE; | 2666         if (!vp.IsArrayObject())return false; | 
| 2667 | 2667 | 
| 2668         CJS_Array crArray(m_isolate); | 2668         CJS_Array crArray(m_isolate); | 
| 2669         vp >> crArray; | 2669         vp >> crArray; | 
| 2670 | 2670 | 
| 2671         CPWL_Color color; | 2671         CPWL_Color color; | 
| 2672         color::ConvertArrayToPWLColor(crArray, color); | 2672         color::ConvertArrayToPWLColor(crArray, color); | 
| 2673 | 2673 | 
| 2674         if (m_bDelay) | 2674         if (m_bDelay) | 
| 2675         { | 2675         { | 
| 2676             AddDelay_Color(FP_STROKECOLOR, color); | 2676             AddDelay_Color(FP_STROKECOLOR, color); | 
| 2677         } | 2677         } | 
| 2678         else | 2678         else | 
| 2679         { | 2679         { | 
| 2680             Field::SetStrokeColor(m_pDocument, m_FieldName, m_nFormControlIndex,
       color); | 2680             Field::SetStrokeColor(m_pDocument, m_FieldName, m_nFormControlIndex,
       color); | 
| 2681         } | 2681         } | 
| 2682     } | 2682     } | 
| 2683     else | 2683     else | 
| 2684     { | 2684     { | 
| 2685         CFX_PtrArray FieldArray; | 2685         CFX_PtrArray FieldArray; | 
| 2686         GetFormFields(m_FieldName,FieldArray); | 2686         GetFormFields(m_FieldName,FieldArray); | 
| 2687         if (FieldArray.GetSize() <= 0) return FALSE; | 2687         if (FieldArray.GetSize() <= 0) return false; | 
| 2688 | 2688 | 
| 2689         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2689         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2690         ASSERT(pFormField != NULL); | 2690         ASSERT(pFormField != NULL); | 
| 2691 | 2691 | 
| 2692         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 2692         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 2693         if (!pFormControl)return FALSE; | 2693         if (!pFormControl)return false; | 
| 2694 | 2694 | 
| 2695         int iColorType; | 2695         int iColorType; | 
| 2696         pFormControl->GetBorderColor(iColorType); | 2696         pFormControl->GetBorderColor(iColorType); | 
| 2697 | 2697 | 
| 2698         CPWL_Color color; | 2698         CPWL_Color color; | 
| 2699 | 2699 | 
| 2700         if (iColorType == COLORTYPE_TRANSPARENT) | 2700         if (iColorType == COLORTYPE_TRANSPARENT) | 
| 2701         { | 2701         { | 
| 2702             color = CPWL_Color(COLORTYPE_TRANSPARENT); | 2702             color = CPWL_Color(COLORTYPE_TRANSPARENT); | 
| 2703         } | 2703         } | 
| 2704         else if (iColorType == COLORTYPE_GRAY) | 2704         else if (iColorType == COLORTYPE_GRAY) | 
| 2705         { | 2705         { | 
| 2706             color = CPWL_Color(COLORTYPE_GRAY, pFormControl->GetOriginalBorderCo
      lor(0)); | 2706             color = CPWL_Color(COLORTYPE_GRAY, pFormControl->GetOriginalBorderCo
      lor(0)); | 
| 2707         } | 2707         } | 
| 2708         else if (iColorType == COLORTYPE_RGB) | 2708         else if (iColorType == COLORTYPE_RGB) | 
| 2709         { | 2709         { | 
| 2710             color = CPWL_Color(COLORTYPE_RGB, pFormControl->GetOriginalBorderCol
      or(0), | 2710             color = CPWL_Color(COLORTYPE_RGB, pFormControl->GetOriginalBorderCol
      or(0), | 
| 2711                 pFormControl->GetOriginalBorderColor(1), | 2711                 pFormControl->GetOriginalBorderColor(1), | 
| 2712                 pFormControl->GetOriginalBorderColor(2)); | 2712                 pFormControl->GetOriginalBorderColor(2)); | 
| 2713         } | 2713         } | 
| 2714         else if (iColorType == COLORTYPE_CMYK) | 2714         else if (iColorType == COLORTYPE_CMYK) | 
| 2715         { | 2715         { | 
| 2716             color = CPWL_Color(COLORTYPE_CMYK, pFormControl->GetOriginalBorderCo
      lor(0), | 2716             color = CPWL_Color(COLORTYPE_CMYK, pFormControl->GetOriginalBorderCo
      lor(0), | 
| 2717                 pFormControl->GetOriginalBorderColor(1), | 2717                 pFormControl->GetOriginalBorderColor(1), | 
| 2718                 pFormControl->GetOriginalBorderColor(2), | 2718                 pFormControl->GetOriginalBorderColor(2), | 
| 2719                 pFormControl->GetOriginalBorderColor(3)); | 2719                 pFormControl->GetOriginalBorderColor(3)); | 
| 2720         } | 2720         } | 
| 2721         else | 2721         else | 
| 2722             return FALSE; | 2722             return false; | 
| 2723 | 2723 | 
| 2724         CJS_Array crArray(m_isolate); | 2724         CJS_Array crArray(m_isolate); | 
| 2725         color::ConvertPWLColorToArray(color, crArray); | 2725         color::ConvertPWLColorToArray(color, crArray); | 
| 2726         vp  <<  crArray; | 2726         vp  <<  crArray; | 
| 2727     } | 2727     } | 
| 2728 | 2728 | 
| 2729     return TRUE; | 2729     return true; | 
| 2730 } | 2730 } | 
| 2731 | 2731 | 
| 2732 void Field::SetStrokeColor(CPDFSDK_Document* pDocument, const CFX_WideString& sw
      FieldName, int nControlIndex, const CPWL_Color& color) | 2732 void Field::SetStrokeColor(CPDFSDK_Document* pDocument, const CFX_WideString& sw
      FieldName, int nControlIndex, const CPWL_Color& color) | 
| 2733 { | 2733 { | 
| 2734     //Not supported. | 2734     //Not supported. | 
| 2735 } | 2735 } | 
| 2736 | 2736 | 
| 2737 FX_BOOL Field::style(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 2737 bool Field::style(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 2738 { | 2738 { | 
| 2739     ASSERT(m_pDocument != NULL); | 2739     ASSERT(m_pDocument != NULL); | 
| 2740 | 2740 | 
| 2741     if (vp.IsSetting()) | 2741     if (vp.IsSetting()) | 
| 2742     { | 2742     { | 
| 2743         if (!m_bCanSet) return FALSE; | 2743         if (!m_bCanSet) return false; | 
| 2744 | 2744 | 
| 2745         CFX_ByteString csBCaption; | 2745         CFX_ByteString csBCaption; | 
| 2746         vp >> csBCaption; | 2746         vp >> csBCaption; | 
| 2747 | 2747 | 
| 2748         if (m_bDelay) | 2748         if (m_bDelay) | 
| 2749         { | 2749         { | 
| 2750             AddDelay_String(FP_STYLE, csBCaption); | 2750             AddDelay_String(FP_STYLE, csBCaption); | 
| 2751         } | 2751         } | 
| 2752         else | 2752         else | 
| 2753         { | 2753         { | 
| 2754             Field::SetStyle(m_pDocument, m_FieldName, m_nFormControlIndex, csBCa
      ption); | 2754             Field::SetStyle(m_pDocument, m_FieldName, m_nFormControlIndex, csBCa
      ption); | 
| 2755         } | 2755         } | 
| 2756     } | 2756     } | 
| 2757     else | 2757     else | 
| 2758     { | 2758     { | 
| 2759         CFX_PtrArray FieldArray; | 2759         CFX_PtrArray FieldArray; | 
| 2760         GetFormFields(m_FieldName,FieldArray); | 2760         GetFormFields(m_FieldName,FieldArray); | 
| 2761         if (FieldArray.GetSize() <= 0) return FALSE; | 2761         if (FieldArray.GetSize() <= 0) return false; | 
| 2762 | 2762 | 
| 2763         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2763         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2764         ASSERT(pFormField != NULL); | 2764         ASSERT(pFormField != NULL); | 
| 2765 | 2765 | 
| 2766         if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON && | 2766         if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON && | 
| 2767             pFormField->GetFieldType() != FIELDTYPE_CHECKBOX) | 2767             pFormField->GetFieldType() != FIELDTYPE_CHECKBOX) | 
| 2768             return FALSE; | 2768             return false; | 
| 2769 | 2769 | 
| 2770         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 2770         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 2771         if (!pFormControl) return FALSE; | 2771         if (!pFormControl) return false; | 
| 2772 | 2772 | 
| 2773         CFX_WideString csWCaption = pFormControl->GetNormalCaption(); | 2773         CFX_WideString csWCaption = pFormControl->GetNormalCaption(); | 
| 2774         CFX_ByteString csBCaption; | 2774         CFX_ByteString csBCaption; | 
| 2775 | 2775 | 
| 2776         switch (csWCaption[0]) | 2776         switch (csWCaption[0]) | 
| 2777         { | 2777         { | 
| 2778             case L'l': | 2778             case L'l': | 
| 2779                 csBCaption = "circle"; | 2779                 csBCaption = "circle"; | 
| 2780                 break; | 2780                 break; | 
| 2781             case L'8': | 2781             case L'8': | 
| 2782                 csBCaption = "cross"; | 2782                 csBCaption = "cross"; | 
| 2783                 break; | 2783                 break; | 
| 2784             case L'u': | 2784             case L'u': | 
| 2785                 csBCaption = "diamond"; | 2785                 csBCaption = "diamond"; | 
| 2786                 break; | 2786                 break; | 
| 2787             case L'n': | 2787             case L'n': | 
| 2788                 csBCaption = "square"; | 2788                 csBCaption = "square"; | 
| 2789                 break; | 2789                 break; | 
| 2790             case L'H': | 2790             case L'H': | 
| 2791                 csBCaption = "star"; | 2791                 csBCaption = "star"; | 
| 2792                 break; | 2792                 break; | 
| 2793             default: //L'4' | 2793             default: //L'4' | 
| 2794                 csBCaption = "check"; | 2794                 csBCaption = "check"; | 
| 2795                 break; | 2795                 break; | 
| 2796         } | 2796         } | 
| 2797         vp << csBCaption; | 2797         vp << csBCaption; | 
| 2798     } | 2798     } | 
| 2799 | 2799 | 
| 2800     return TRUE; | 2800     return true; | 
| 2801 } | 2801 } | 
| 2802 | 2802 | 
| 2803 void Field::SetStyle(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldN
      ame, int nControlIndex, | 2803 void Field::SetStyle(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldN
      ame, int nControlIndex, | 
| 2804                      const CFX_ByteString& string) | 2804                      const CFX_ByteString& string) | 
| 2805 { | 2805 { | 
| 2806     //Not supported. | 2806     //Not supported. | 
| 2807 } | 2807 } | 
| 2808 | 2808 | 
| 2809 FX_BOOL Field::submitName(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& 
      sError) | 2809 bool Field::submitName(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr
      ror) | 
| 2810 { | 2810 { | 
| 2811     return TRUE; | 2811     return true; | 
| 2812 } | 2812 } | 
| 2813 | 2813 | 
| 2814 FX_BOOL Field::textColor(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& s
      Error) | 2814 bool Field::textColor(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
      or) | 
| 2815 { | 2815 { | 
| 2816     ASSERT(m_pDocument != NULL); | 2816     ASSERT(m_pDocument != NULL); | 
| 2817 | 2817 | 
| 2818     if (vp.IsSetting()) | 2818     if (vp.IsSetting()) | 
| 2819     { | 2819     { | 
| 2820         if (!m_bCanSet) return FALSE; | 2820         if (!m_bCanSet) return false; | 
| 2821 | 2821 | 
| 2822         CJS_Array crArray(m_isolate); | 2822         CJS_Array crArray(m_isolate); | 
| 2823         if (!vp.IsArrayObject())return FALSE; | 2823         if (!vp.IsArrayObject())return false; | 
| 2824         vp >> crArray; | 2824         vp >> crArray; | 
| 2825 | 2825 | 
| 2826         CPWL_Color color; | 2826         CPWL_Color color; | 
| 2827         color::ConvertArrayToPWLColor(crArray, color); | 2827         color::ConvertArrayToPWLColor(crArray, color); | 
| 2828 | 2828 | 
| 2829         if (m_bDelay) | 2829         if (m_bDelay) | 
| 2830         { | 2830         { | 
| 2831             AddDelay_Color(FP_TEXTCOLOR, color); | 2831             AddDelay_Color(FP_TEXTCOLOR, color); | 
| 2832         } | 2832         } | 
| 2833         else | 2833         else | 
| 2834         { | 2834         { | 
| 2835             Field::SetTextColor(m_pDocument, m_FieldName, m_nFormControlIndex, c
      olor); | 2835             Field::SetTextColor(m_pDocument, m_FieldName, m_nFormControlIndex, c
      olor); | 
| 2836         } | 2836         } | 
| 2837     } | 2837     } | 
| 2838     else | 2838     else | 
| 2839     { | 2839     { | 
| 2840         CFX_PtrArray FieldArray; | 2840         CFX_PtrArray FieldArray; | 
| 2841         GetFormFields(m_FieldName,FieldArray); | 2841         GetFormFields(m_FieldName,FieldArray); | 
| 2842         if (FieldArray.GetSize() <= 0) return FALSE; | 2842         if (FieldArray.GetSize() <= 0) return false; | 
| 2843 | 2843 | 
| 2844         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2844         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2845         ASSERT(pFormField != NULL); | 2845         ASSERT(pFormField != NULL); | 
| 2846 | 2846 | 
| 2847         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 2847         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 2848         if (!pFormControl)return FALSE; | 2848         if (!pFormControl)return false; | 
| 2849 | 2849 | 
| 2850         int iColorType; | 2850         int iColorType; | 
| 2851         FX_ARGB color; | 2851         FX_ARGB color; | 
| 2852         CPDF_DefaultAppearance FieldAppearance = pFormControl->GetDefaultAppeara
      nce(); | 2852         CPDF_DefaultAppearance FieldAppearance = pFormControl->GetDefaultAppeara
      nce(); | 
| 2853         FieldAppearance.GetColor(color, iColorType); | 2853         FieldAppearance.GetColor(color, iColorType); | 
| 2854         int32_t a,r,g,b; | 2854         int32_t a,r,g,b; | 
| 2855         ArgbDecode(color, a, r, g, b); | 2855         ArgbDecode(color, a, r, g, b); | 
| 2856 | 2856 | 
| 2857         CPWL_Color crRet = CPWL_Color(COLORTYPE_RGB, r / 255.0f, | 2857         CPWL_Color crRet = CPWL_Color(COLORTYPE_RGB, r / 255.0f, | 
| 2858                 g / 255.0f, | 2858                 g / 255.0f, | 
| 2859                 b / 255.0f); | 2859                 b / 255.0f); | 
| 2860 | 2860 | 
| 2861         if (iColorType == COLORTYPE_TRANSPARENT) | 2861         if (iColorType == COLORTYPE_TRANSPARENT) | 
| 2862             crRet = CPWL_Color(COLORTYPE_TRANSPARENT); | 2862             crRet = CPWL_Color(COLORTYPE_TRANSPARENT); | 
| 2863 | 2863 | 
| 2864         CJS_Array crArray(m_isolate); | 2864         CJS_Array crArray(m_isolate); | 
| 2865         color::ConvertPWLColorToArray(crRet, crArray); | 2865         color::ConvertPWLColorToArray(crRet, crArray); | 
| 2866         vp  <<  crArray; | 2866         vp  <<  crArray; | 
| 2867     } | 2867     } | 
| 2868 | 2868 | 
| 2869     return TRUE; | 2869     return true; | 
| 2870 } | 2870 } | 
| 2871 | 2871 | 
| 2872 void Field::SetTextColor(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, const CPWL_Color& color) | 2872 void Field::SetTextColor(CPDFSDK_Document* pDocument, const CFX_WideString& swFi
      eldName, int nControlIndex, const CPWL_Color& color) | 
| 2873 { | 2873 { | 
| 2874     //Not supported. | 2874     //Not supported. | 
| 2875 } | 2875 } | 
| 2876 | 2876 | 
| 2877 FX_BOOL Field::textFont(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 2877 bool Field::textFont(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 
| 2878 { | 2878 { | 
| 2879     ASSERT(m_pDocument != NULL); | 2879     ASSERT(m_pDocument != NULL); | 
| 2880 | 2880 | 
| 2881     if (vp.IsSetting()) | 2881     if (vp.IsSetting()) | 
| 2882     { | 2882     { | 
| 2883         if (!m_bCanSet) return FALSE; | 2883         if (!m_bCanSet) return false; | 
| 2884 | 2884 | 
| 2885         CFX_ByteString csFontName; | 2885         CFX_ByteString csFontName; | 
| 2886         vp >> csFontName; | 2886         vp >> csFontName; | 
| 2887         if (csFontName.IsEmpty()) return FALSE; | 2887         if (csFontName.IsEmpty()) return false; | 
| 2888 | 2888 | 
| 2889         if (m_bDelay) | 2889         if (m_bDelay) | 
| 2890         { | 2890         { | 
| 2891             AddDelay_String(FP_TEXTFONT, csFontName); | 2891             AddDelay_String(FP_TEXTFONT, csFontName); | 
| 2892         } | 2892         } | 
| 2893         else | 2893         else | 
| 2894         { | 2894         { | 
| 2895             Field::SetTextFont(m_pDocument, m_FieldName, m_nFormControlIndex, cs
      FontName); | 2895             Field::SetTextFont(m_pDocument, m_FieldName, m_nFormControlIndex, cs
      FontName); | 
| 2896         } | 2896         } | 
| 2897     } | 2897     } | 
| 2898     else | 2898     else | 
| 2899     { | 2899     { | 
| 2900         CFX_PtrArray FieldArray; | 2900         CFX_PtrArray FieldArray; | 
| 2901         GetFormFields(m_FieldName,FieldArray); | 2901         GetFormFields(m_FieldName,FieldArray); | 
| 2902         if (FieldArray.GetSize() <= 0) return FALSE; | 2902         if (FieldArray.GetSize() <= 0) return false; | 
| 2903 | 2903 | 
| 2904         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2904         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2905         ASSERT(pFormField != NULL); | 2905         ASSERT(pFormField != NULL); | 
| 2906 | 2906 | 
| 2907         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 2907         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 2908         if (!pFormControl)return FALSE; | 2908         if (!pFormControl)return false; | 
| 2909 | 2909 | 
| 2910         int nFieldType = pFormField->GetFieldType(); | 2910         int nFieldType = pFormField->GetFieldType(); | 
| 2911 | 2911 | 
| 2912         if (nFieldType == FIELDTYPE_PUSHBUTTON || | 2912         if (nFieldType == FIELDTYPE_PUSHBUTTON || | 
| 2913             nFieldType == FIELDTYPE_COMBOBOX || | 2913             nFieldType == FIELDTYPE_COMBOBOX || | 
| 2914             nFieldType == FIELDTYPE_LISTBOX || | 2914             nFieldType == FIELDTYPE_LISTBOX || | 
| 2915             nFieldType == FIELDTYPE_TEXTFIELD) | 2915             nFieldType == FIELDTYPE_TEXTFIELD) | 
| 2916         { | 2916         { | 
| 2917             CPDF_Font * pFont = pFormControl->GetDefaultControlFont(); | 2917             CPDF_Font * pFont = pFormControl->GetDefaultControlFont(); | 
| 2918             if (!pFont) return FALSE; | 2918             if (!pFont) return false; | 
| 2919 | 2919 | 
| 2920             vp << pFont->GetBaseFont(); | 2920             vp << pFont->GetBaseFont(); | 
| 2921         } | 2921         } | 
| 2922         else | 2922         else | 
| 2923             return FALSE; | 2923             return false; | 
| 2924     } | 2924     } | 
| 2925 | 2925 | 
| 2926     return TRUE; | 2926     return true; | 
| 2927 } | 2927 } | 
| 2928 | 2928 | 
| 2929 void Field::SetTextFont(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, const CFX_ByteString& string) | 2929 void Field::SetTextFont(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, const CFX_ByteString& string) | 
| 2930 { | 2930 { | 
| 2931     //Not supported. | 2931     //Not supported. | 
| 2932 } | 2932 } | 
| 2933 | 2933 | 
| 2934 FX_BOOL Field::textSize(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 2934 bool Field::textSize(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 
| 2935 { | 2935 { | 
| 2936     ASSERT(m_pDocument != NULL); | 2936     ASSERT(m_pDocument != NULL); | 
| 2937 | 2937 | 
| 2938     if (vp.IsSetting()) | 2938     if (vp.IsSetting()) | 
| 2939     { | 2939     { | 
| 2940         if (!m_bCanSet) return FALSE; | 2940         if (!m_bCanSet) return false; | 
| 2941 | 2941 | 
| 2942         int nVP; | 2942         int nVP; | 
| 2943         vp >> nVP; | 2943         vp >> nVP; | 
| 2944 | 2944 | 
| 2945         if (m_bDelay) | 2945         if (m_bDelay) | 
| 2946         { | 2946         { | 
| 2947             AddDelay_Int(FP_TEXTSIZE, nVP); | 2947             AddDelay_Int(FP_TEXTSIZE, nVP); | 
| 2948         } | 2948         } | 
| 2949         else | 2949         else | 
| 2950         { | 2950         { | 
| 2951             Field::SetTextSize(m_pDocument, m_FieldName, m_nFormControlIndex, nV
      P); | 2951             Field::SetTextSize(m_pDocument, m_FieldName, m_nFormControlIndex, nV
      P); | 
| 2952         } | 2952         } | 
| 2953     } | 2953     } | 
| 2954     else | 2954     else | 
| 2955     { | 2955     { | 
| 2956         CFX_PtrArray FieldArray; | 2956         CFX_PtrArray FieldArray; | 
| 2957         GetFormFields(m_FieldName,FieldArray); | 2957         GetFormFields(m_FieldName,FieldArray); | 
| 2958         if (FieldArray.GetSize() <= 0) return FALSE; | 2958         if (FieldArray.GetSize() <= 0) return false; | 
| 2959 | 2959 | 
| 2960         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2960         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2961         ASSERT(pFormField != NULL); | 2961         ASSERT(pFormField != NULL); | 
| 2962 | 2962 | 
| 2963         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 2963         CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 2964         if (!pFormControl)return FALSE; | 2964         if (!pFormControl)return false; | 
| 2965 | 2965 | 
| 2966         CPDF_DefaultAppearance FieldAppearance = pFormControl->GetDefaultAppeara
      nce(); | 2966         CPDF_DefaultAppearance FieldAppearance = pFormControl->GetDefaultAppeara
      nce(); | 
| 2967 | 2967 | 
| 2968         CFX_ByteString csFontNameTag; | 2968         CFX_ByteString csFontNameTag; | 
| 2969         FX_FLOAT fFontSize; | 2969         FX_FLOAT fFontSize; | 
| 2970         FieldAppearance.GetFont(csFontNameTag,fFontSize); | 2970         FieldAppearance.GetFont(csFontNameTag,fFontSize); | 
| 2971 | 2971 | 
| 2972         vp << (int)fFontSize; | 2972         vp << (int)fFontSize; | 
| 2973     } | 2973     } | 
| 2974 | 2974 | 
| 2975     return TRUE; | 2975     return true; | 
| 2976 } | 2976 } | 
| 2977 | 2977 | 
| 2978 void Field::SetTextSize(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, int number) | 2978 void Field::SetTextSize(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, int number) | 
| 2979 { | 2979 { | 
| 2980     //Not supported. | 2980     //Not supported. | 
| 2981 } | 2981 } | 
| 2982 | 2982 | 
| 2983 FX_BOOL Field::type(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError
      ) | 2983 bool Field::type(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 2984 { | 2984 { | 
| 2985     ASSERT(m_pDocument != NULL); | 2985     ASSERT(m_pDocument != NULL); | 
| 2986 | 2986 | 
| 2987     if (!vp.IsGetting()) return FALSE; | 2987     if (!vp.IsGetting()) return false; | 
| 2988 | 2988 | 
| 2989     CFX_PtrArray FieldArray; | 2989     CFX_PtrArray FieldArray; | 
| 2990     GetFormFields(m_FieldName,FieldArray); | 2990     GetFormFields(m_FieldName,FieldArray); | 
| 2991     if (FieldArray.GetSize() <= 0) return FALSE; | 2991     if (FieldArray.GetSize() <= 0) return false; | 
| 2992 | 2992 | 
| 2993     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 2993     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 2994     ASSERT(pFormField != NULL); | 2994     ASSERT(pFormField != NULL); | 
| 2995 | 2995 | 
| 2996     switch (pFormField->GetFieldType()) | 2996     switch (pFormField->GetFieldType()) | 
| 2997     { | 2997     { | 
| 2998         case FIELDTYPE_UNKNOWN: | 2998         case FIELDTYPE_UNKNOWN: | 
| 2999             vp << L"unknown"; | 2999             vp << L"unknown"; | 
| 3000             break; | 3000             break; | 
| 3001         case FIELDTYPE_PUSHBUTTON: | 3001         case FIELDTYPE_PUSHBUTTON: | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 3017             vp << L"text"; | 3017             vp << L"text"; | 
| 3018             break; | 3018             break; | 
| 3019         case FIELDTYPE_SIGNATURE: | 3019         case FIELDTYPE_SIGNATURE: | 
| 3020             vp << L"signature"; | 3020             vp << L"signature"; | 
| 3021             break; | 3021             break; | 
| 3022         default : | 3022         default : | 
| 3023             vp << L"unknown"; | 3023             vp << L"unknown"; | 
| 3024             break; | 3024             break; | 
| 3025     } | 3025     } | 
| 3026 | 3026 | 
| 3027     return TRUE; | 3027     return true; | 
| 3028 } | 3028 } | 
| 3029 | 3029 | 
| 3030 FX_BOOL Field::userName(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sE
      rror) | 3030 bool Field::userName(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 
| 3031 { | 3031 { | 
| 3032     ASSERT(m_pDocument != NULL); | 3032     ASSERT(m_pDocument != NULL); | 
| 3033 | 3033 | 
| 3034     if (vp.IsSetting()) | 3034     if (vp.IsSetting()) | 
| 3035     { | 3035     { | 
| 3036         if (!m_bCanSet) return FALSE; | 3036         if (!m_bCanSet) return false; | 
| 3037 | 3037 | 
| 3038         CFX_WideString swName; | 3038         CFX_WideString swName; | 
| 3039         vp >> swName; | 3039         vp >> swName; | 
| 3040 | 3040 | 
| 3041         if (m_bDelay) | 3041         if (m_bDelay) | 
| 3042         { | 3042         { | 
| 3043             AddDelay_WideString(FP_USERNAME, swName); | 3043             AddDelay_WideString(FP_USERNAME, swName); | 
| 3044         } | 3044         } | 
| 3045         else | 3045         else | 
| 3046         { | 3046         { | 
| 3047             Field::SetUserName(m_pDocument, m_FieldName, m_nFormControlIndex, sw
      Name); | 3047             Field::SetUserName(m_pDocument, m_FieldName, m_nFormControlIndex, sw
      Name); | 
| 3048         } | 3048         } | 
| 3049     } | 3049     } | 
| 3050     else | 3050     else | 
| 3051     { | 3051     { | 
| 3052         CFX_PtrArray FieldArray; | 3052         CFX_PtrArray FieldArray; | 
| 3053         GetFormFields(m_FieldName,FieldArray); | 3053         GetFormFields(m_FieldName,FieldArray); | 
| 3054         if (FieldArray.GetSize() <= 0) return FALSE; | 3054         if (FieldArray.GetSize() <= 0) return false; | 
| 3055 | 3055 | 
| 3056         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3056         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3057         ASSERT(pFormField != NULL); | 3057         ASSERT(pFormField != NULL); | 
| 3058 | 3058 | 
| 3059         vp << (CFX_WideString)pFormField->GetAlternateName(); | 3059         vp << (CFX_WideString)pFormField->GetAlternateName(); | 
| 3060     } | 3060     } | 
| 3061 | 3061 | 
| 3062     return TRUE; | 3062     return true; | 
| 3063 } | 3063 } | 
| 3064 | 3064 | 
| 3065 void Field::SetUserName(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, const CFX_WideString& string) | 3065 void Field::SetUserName(CPDFSDK_Document* pDocument, const CFX_WideString& swFie
      ldName, int nControlIndex, const CFX_WideString& string) | 
| 3066 { | 3066 { | 
| 3067     //Not supported. | 3067     //Not supported. | 
| 3068 } | 3068 } | 
| 3069 | 3069 | 
| 3070 FX_BOOL Field::value(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErro
      r) | 3070 bool Field::value(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 3071 { | 3071 { | 
| 3072     ASSERT(m_pDocument != NULL); | 3072     ASSERT(m_pDocument != NULL); | 
| 3073 | 3073 | 
| 3074     if (vp.IsSetting()) | 3074     if (vp.IsSetting()) | 
| 3075     { | 3075     { | 
| 3076         if (!m_bCanSet) return FALSE; | 3076         if (!m_bCanSet) return false; | 
| 3077 | 3077 | 
| 3078         CJS_WideStringArray strArray; | 3078         CJS_WideStringArray strArray; | 
| 3079 | 3079 | 
| 3080         if (vp.IsArrayObject()) | 3080         if (vp.IsArrayObject()) | 
| 3081         { | 3081         { | 
| 3082             CJS_Array ValueArray(m_isolate); | 3082             CJS_Array ValueArray(m_isolate); | 
| 3083             vp.ConvertToArray(ValueArray); | 3083             vp.ConvertToArray(ValueArray); | 
| 3084             for (int i = 0,sz = ValueArray.GetLength(); i < sz; i++) | 3084             for (int i = 0,sz = ValueArray.GetLength(); i < sz; i++) | 
| 3085             { | 3085             { | 
| 3086                 CJS_Value ElementValue(m_isolate); | 3086                 CJS_Value ElementValue(m_isolate); | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 3102         } | 3102         } | 
| 3103         else | 3103         else | 
| 3104         { | 3104         { | 
| 3105             Field::SetValue(m_pDocument, m_FieldName, m_nFormControlIndex, strAr
      ray); | 3105             Field::SetValue(m_pDocument, m_FieldName, m_nFormControlIndex, strAr
      ray); | 
| 3106         } | 3106         } | 
| 3107     } | 3107     } | 
| 3108     else | 3108     else | 
| 3109     { | 3109     { | 
| 3110         CFX_PtrArray FieldArray; | 3110         CFX_PtrArray FieldArray; | 
| 3111         GetFormFields(m_FieldName,FieldArray); | 3111         GetFormFields(m_FieldName,FieldArray); | 
| 3112         if (FieldArray.GetSize() <= 0) return FALSE; | 3112         if (FieldArray.GetSize() <= 0) return false; | 
| 3113 | 3113 | 
| 3114         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3114         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3115         ASSERT(pFormField != NULL); | 3115         ASSERT(pFormField != NULL); | 
| 3116 | 3116 | 
| 3117 | 3117 | 
| 3118 | 3118 | 
| 3119         switch (pFormField->GetFieldType()) | 3119         switch (pFormField->GetFieldType()) | 
| 3120         { | 3120         { | 
| 3121         case FIELDTYPE_PUSHBUTTON: | 3121         case FIELDTYPE_PUSHBUTTON: | 
| 3122             return FALSE; | 3122             return false; | 
| 3123         case FIELDTYPE_COMBOBOX: | 3123         case FIELDTYPE_COMBOBOX: | 
| 3124         case FIELDTYPE_TEXTFIELD: | 3124         case FIELDTYPE_TEXTFIELD: | 
| 3125             { | 3125             { | 
| 3126                 CFX_WideString swValue = pFormField->GetValue(); | 3126                 CFX_WideString swValue = pFormField->GetValue(); | 
| 3127 | 3127 | 
| 3128                 double dRet; | 3128                 double dRet; | 
| 3129                 FX_BOOL bDot; | 3129                 bool bDot; | 
| 3130                 if (CJS_PublicMethods::ConvertStringToNumber(swValue.c_str(), dR
      et, bDot)) | 3130                 if (CJS_PublicMethods::ConvertStringToNumber(swValue.c_str(), dR
      et, bDot)) | 
| 3131                 { | 3131                 { | 
| 3132                     if (bDot) | 3132                     if (bDot) | 
| 3133                         vp << dRet; | 3133                         vp << dRet; | 
| 3134                     else | 3134                     else | 
| 3135                         vp << dRet; | 3135                         vp << dRet; | 
| 3136                 } | 3136                 } | 
| 3137                 else | 3137                 else | 
| 3138                     vp << swValue; | 3138                     vp << swValue; | 
| 3139             } | 3139             } | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
| 3153                             ElementValue = pFormField->GetOptionLabel(iIndex).c_
      str(); | 3153                             ElementValue = pFormField->GetOptionLabel(iIndex).c_
      str(); | 
| 3154                         ValueArray.SetElement(i, ElementValue); | 3154                         ValueArray.SetElement(i, ElementValue); | 
| 3155                     } | 3155                     } | 
| 3156                     vp << ValueArray; | 3156                     vp << ValueArray; | 
| 3157                 } | 3157                 } | 
| 3158                 else | 3158                 else | 
| 3159                 { | 3159                 { | 
| 3160                     CFX_WideString swValue = pFormField->GetValue(); | 3160                     CFX_WideString swValue = pFormField->GetValue(); | 
| 3161 | 3161 | 
| 3162                     double dRet; | 3162                     double dRet; | 
| 3163                     FX_BOOL bDot; | 3163                     bool bDot; | 
| 3164                     if (CJS_PublicMethods::ConvertStringToNumber(swValue.c_str()
      , dRet, bDot)) | 3164                     if (CJS_PublicMethods::ConvertStringToNumber(swValue.c_str()
      , dRet, bDot)) | 
| 3165                     { | 3165                     { | 
| 3166                         if (bDot) | 3166                         if (bDot) | 
| 3167                             vp << dRet; | 3167                             vp << dRet; | 
| 3168                         else | 3168                         else | 
| 3169                             vp << dRet; | 3169                             vp << dRet; | 
| 3170                     } | 3170                     } | 
| 3171                     else | 3171                     else | 
| 3172                         vp << swValue; | 3172                         vp << swValue; | 
| 3173                 } | 3173                 } | 
| 3174             } | 3174             } | 
| 3175             break; | 3175             break; | 
| 3176         case FIELDTYPE_CHECKBOX: | 3176         case FIELDTYPE_CHECKBOX: | 
| 3177         case FIELDTYPE_RADIOBUTTON: | 3177         case FIELDTYPE_RADIOBUTTON: | 
| 3178             { | 3178             { | 
| 3179                 FX_BOOL bFind = FALSE; | 3179                 bool bFind = false; | 
| 3180                 for (int i = 0 , sz = pFormField->CountControls(); i < sz; i++) | 3180                 for (int i = 0 , sz = pFormField->CountControls(); i < sz; i++) | 
| 3181                 { | 3181                 { | 
| 3182                     if (pFormField->GetControl(i)->IsChecked()) | 3182                     if (pFormField->GetControl(i)->IsChecked()) | 
| 3183                     { | 3183                     { | 
| 3184                         CFX_WideString swValue = pFormField->GetControl(i)->GetE
      xportValue(); | 3184                         CFX_WideString swValue = pFormField->GetControl(i)->GetE
      xportValue(); | 
| 3185                         double dRet; | 3185                         double dRet; | 
| 3186                         FX_BOOL bDot; | 3186                         bool bDot; | 
| 3187                         if (CJS_PublicMethods::ConvertStringToNumber(swValue.c_s
      tr(), dRet, bDot)) | 3187                         if (CJS_PublicMethods::ConvertStringToNumber(swValue.c_s
      tr(), dRet, bDot)) | 
| 3188                         { | 3188                         { | 
| 3189                             if (bDot) | 3189                             if (bDot) | 
| 3190                                 vp << dRet; | 3190                                 vp << dRet; | 
| 3191                             else | 3191                             else | 
| 3192                                 vp << dRet; | 3192                                 vp << dRet; | 
| 3193                         } | 3193                         } | 
| 3194                         else | 3194                         else | 
| 3195                             vp << swValue; | 3195                             vp << swValue; | 
| 3196 | 3196 | 
| 3197                         bFind = TRUE; | 3197                         bFind = true; | 
| 3198                         break; | 3198                         break; | 
| 3199                     } | 3199                     } | 
| 3200                     else | 3200                     else | 
| 3201                         continue; | 3201                         continue; | 
| 3202                 } | 3202                 } | 
| 3203                 if (!bFind) | 3203                 if (!bFind) | 
| 3204                     vp << L"Off"; | 3204                     vp << L"Off"; | 
| 3205             } | 3205             } | 
| 3206             break; | 3206             break; | 
| 3207         default: | 3207         default: | 
| 3208             vp << pFormField->GetValue(); | 3208             vp << pFormField->GetValue(); | 
| 3209             break; | 3209             break; | 
| 3210         } | 3210         } | 
| 3211     } | 3211     } | 
| 3212 | 3212 | 
| 3213     return TRUE; | 3213     return true; | 
| 3214 } | 3214 } | 
| 3215 | 3215 | 
| 3216 void Field::SetValue(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldN
      ame, | 3216 void Field::SetValue(CPDFSDK_Document* pDocument, const CFX_WideString& swFieldN
      ame, | 
| 3217                      int nControlIndex, const CJS_WideStringArray& strArray) | 3217                      int nControlIndex, const CJS_WideStringArray& strArray) | 
| 3218 { | 3218 { | 
| 3219     ASSERT(pDocument != NULL); | 3219     ASSERT(pDocument != NULL); | 
| 3220 | 3220 | 
| 3221     if (strArray.GetSize() < 1) return; | 3221     if (strArray.GetSize() < 1) return; | 
| 3222 | 3222 | 
| 3223     CFX_PtrArray FieldArray; | 3223     CFX_PtrArray FieldArray; | 
| 3224     GetFormFields(pDocument, swFieldName, FieldArray); | 3224     GetFormFields(pDocument, swFieldName, FieldArray); | 
| 3225 | 3225 | 
| 3226     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 3226     for (int i=0,isz=FieldArray.GetSize(); i<isz; i++) | 
| 3227     { | 3227     { | 
| 3228         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 3228         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 
| 3229         ASSERT(pFormField != NULL); | 3229         ASSERT(pFormField != NULL); | 
| 3230 | 3230 | 
| 3231         if (pFormField->GetFullName().Compare(swFieldName) != 0) | 3231         if (pFormField->GetFullName().Compare(swFieldName) != 0) | 
| 3232             continue; | 3232             continue; | 
| 3233 | 3233 | 
| 3234         switch (pFormField->GetFieldType()) | 3234         switch (pFormField->GetFieldType()) | 
| 3235         { | 3235         { | 
| 3236         case FIELDTYPE_TEXTFIELD: | 3236         case FIELDTYPE_TEXTFIELD: | 
| 3237         case FIELDTYPE_COMBOBOX: | 3237         case FIELDTYPE_COMBOBOX: | 
| 3238             if (pFormField->GetValue() != strArray.GetAt(0)) | 3238             if (pFormField->GetValue() != strArray.GetAt(0)) | 
| 3239             { | 3239             { | 
| 3240                 CFX_WideString WideString = strArray.GetAt(0); | 3240                 CFX_WideString WideString = strArray.GetAt(0); | 
| 3241                 pFormField->SetValue(strArray.GetAt(0), TRUE); | 3241                 pFormField->SetValue(strArray.GetAt(0), true); | 
| 3242                 UpdateFormField(pDocument, pFormField, TRUE, FALSE, TRUE); | 3242                 UpdateFormField(pDocument, pFormField, true, false, true); | 
| 3243             } | 3243             } | 
| 3244             break; | 3244             break; | 
| 3245         case FIELDTYPE_CHECKBOX: //mantis: 0004493 | 3245         case FIELDTYPE_CHECKBOX: //mantis: 0004493 | 
| 3246         case FIELDTYPE_RADIOBUTTON: | 3246         case FIELDTYPE_RADIOBUTTON: | 
| 3247             { | 3247             { | 
| 3248                 if (pFormField->GetValue() != strArray.GetAt(0)) | 3248                 if (pFormField->GetValue() != strArray.GetAt(0)) | 
| 3249                 { | 3249                 { | 
| 3250                     pFormField->SetValue(strArray.GetAt(0), TRUE); | 3250                     pFormField->SetValue(strArray.GetAt(0), true); | 
| 3251                     UpdateFormField(pDocument, pFormField, TRUE, FALSE, TRUE); | 3251                     UpdateFormField(pDocument, pFormField, true, false, true); | 
| 3252                 } | 3252                 } | 
| 3253             } | 3253             } | 
| 3254             break; | 3254             break; | 
| 3255         case FIELDTYPE_LISTBOX: | 3255         case FIELDTYPE_LISTBOX: | 
| 3256             { | 3256             { | 
| 3257                 FX_BOOL bModified = FALSE; | 3257                 bool bModified = false; | 
| 3258 | 3258 | 
| 3259                 for (int i=0,sz=strArray.GetSize(); i<sz; i++) | 3259                 for (int i=0,sz=strArray.GetSize(); i<sz; i++) | 
| 3260                 { | 3260                 { | 
| 3261                     int iIndex = pFormField->FindOption(strArray.GetAt(i)); | 3261                     int iIndex = pFormField->FindOption(strArray.GetAt(i)); | 
| 3262 | 3262 | 
| 3263                     if (!pFormField->IsItemSelected(iIndex)) | 3263                     if (!pFormField->IsItemSelected(iIndex)) | 
| 3264                     { | 3264                     { | 
| 3265                         bModified = TRUE; | 3265                         bModified = true; | 
| 3266                         break; | 3266                         break; | 
| 3267                     } | 3267                     } | 
| 3268                 } | 3268                 } | 
| 3269 | 3269 | 
| 3270                 if (bModified) | 3270                 if (bModified) | 
| 3271                 { | 3271                 { | 
| 3272                     pFormField->ClearSelection(TRUE); | 3272                     pFormField->ClearSelection(true); | 
| 3273                     for (int i=0,sz=strArray.GetSize(); i<sz; i++) | 3273                     for (int i=0,sz=strArray.GetSize(); i<sz; i++) | 
| 3274                     { | 3274                     { | 
| 3275                         int iIndex = pFormField->FindOption(strArray.GetAt(i)); | 3275                         int iIndex = pFormField->FindOption(strArray.GetAt(i)); | 
| 3276                         pFormField->SetItemSelection(iIndex, TRUE, TRUE); | 3276                         pFormField->SetItemSelection(iIndex, true, true); | 
| 3277                     } | 3277                     } | 
| 3278 | 3278 | 
| 3279                     UpdateFormField(pDocument, pFormField, TRUE, FALSE, TRUE); | 3279                     UpdateFormField(pDocument, pFormField, true, false, true); | 
| 3280                 } | 3280                 } | 
| 3281             } | 3281             } | 
| 3282             break; | 3282             break; | 
| 3283         default: | 3283         default: | 
| 3284             break; | 3284             break; | 
| 3285         } | 3285         } | 
| 3286     } | 3286     } | 
| 3287 } | 3287 } | 
| 3288 | 3288 | 
| 3289 FX_BOOL Field::valueAsString(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStrin
      g& sError) | 3289 bool Field::valueAsString(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& 
      sError) | 
| 3290 { | 3290 { | 
| 3291     ASSERT(m_pDocument != NULL); | 3291     ASSERT(m_pDocument != NULL); | 
| 3292 | 3292 | 
| 3293     if (!vp.IsGetting()) return FALSE; | 3293     if (!vp.IsGetting()) return false; | 
| 3294 | 3294 | 
| 3295     CFX_PtrArray FieldArray; | 3295     CFX_PtrArray FieldArray; | 
| 3296     GetFormFields(m_FieldName,FieldArray); | 3296     GetFormFields(m_FieldName,FieldArray); | 
| 3297     if (FieldArray.GetSize() <= 0) return FALSE; | 3297     if (FieldArray.GetSize() <= 0) return false; | 
| 3298 | 3298 | 
| 3299     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3299     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3300     ASSERT(pFormField != NULL); | 3300     ASSERT(pFormField != NULL); | 
| 3301 | 3301 | 
| 3302     if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON) | 3302     if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON) | 
| 3303         return FALSE; | 3303         return false; | 
| 3304 | 3304 | 
| 3305     if (pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) | 3305     if (pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) | 
| 3306     { | 3306     { | 
| 3307         if(!pFormField->CountControls()) return FALSE; | 3307         if(!pFormField->CountControls()) return false; | 
| 3308 | 3308 | 
| 3309         if (pFormField->GetControl(0)->IsChecked()) | 3309         if (pFormField->GetControl(0)->IsChecked()) | 
| 3310             vp << L"Yes"; | 3310             vp << L"Yes"; | 
| 3311         else | 3311         else | 
| 3312             vp << L"Off"; | 3312             vp << L"Off"; | 
| 3313     } | 3313     } | 
| 3314     else if (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON && !(pFormField
      ->GetFieldFlags() & FIELDFLAG_RADIOSINUNISON)) | 3314     else if (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON && !(pFormField
      ->GetFieldFlags() & FIELDFLAG_RADIOSINUNISON)) | 
| 3315     { | 3315     { | 
| 3316         for (int i=0, sz=pFormField->CountControls(); i<sz; i++) | 3316         for (int i=0, sz=pFormField->CountControls(); i<sz; i++) | 
| 3317         { | 3317         { | 
| 3318             if (pFormField->GetControl(i)->IsChecked()) | 3318             if (pFormField->GetControl(i)->IsChecked()) | 
| 3319             { | 3319             { | 
| 3320                 vp << pFormField->GetControl(i)->GetExportValue().c_str(); | 3320                 vp << pFormField->GetControl(i)->GetExportValue().c_str(); | 
| 3321                 break; | 3321                 break; | 
| 3322             } | 3322             } | 
| 3323             else | 3323             else | 
| 3324                 vp << L"Off"; | 3324                 vp << L"Off"; | 
| 3325         } | 3325         } | 
| 3326     } | 3326     } | 
| 3327     else if (pFormField->GetFieldType() == FIELDTYPE_LISTBOX && (pFormField->Cou
      ntSelectedItems() > 1)) | 3327     else if (pFormField->GetFieldType() == FIELDTYPE_LISTBOX && (pFormField->Cou
      ntSelectedItems() > 1)) | 
| 3328     { | 3328     { | 
| 3329         vp << L""; | 3329         vp << L""; | 
| 3330     } | 3330     } | 
| 3331     else | 3331     else | 
| 3332         vp << pFormField->GetValue().c_str(); | 3332         vp << pFormField->GetValue().c_str(); | 
| 3333 | 3333 | 
| 3334     return TRUE; | 3334     return true; | 
| 3335 } | 3335 } | 
| 3336 | 3336 | 
| 3337 /* --------------------------------- methods --------------------------------- *
      / | 3337 /* --------------------------------- methods --------------------------------- *
      / | 
| 3338 | 3338 | 
| 3339 FX_BOOL Field::browseForFileToSubmit(IFXJS_Context* cc, const CJS_Parameters& pa
      rams, CJS_Value& vRet, CFX_WideString& sError) | 3339 bool Field::browseForFileToSubmit(IFXJS_Context* cc, const CJS_Parameters& param
      s, CJS_Value& vRet, CFX_WideString& sError) | 
| 3340 { | 3340 { | 
| 3341     ASSERT(m_pDocument != NULL); | 3341     ASSERT(m_pDocument != NULL); | 
| 3342 | 3342 | 
| 3343     CFX_PtrArray FieldArray; | 3343     CFX_PtrArray FieldArray; | 
| 3344     GetFormFields(m_FieldName, FieldArray); | 3344     GetFormFields(m_FieldName, FieldArray); | 
| 3345     if (FieldArray.GetSize() <= 0) return FALSE; | 3345     if (FieldArray.GetSize() <= 0) return false; | 
| 3346 | 3346 | 
| 3347     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3347     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3348     ASSERT(pFormField != NULL); | 3348     ASSERT(pFormField != NULL); | 
| 3349 | 3349 | 
| 3350     CPDFDoc_Environment* pApp = m_pDocument->GetEnv(); | 3350     CPDFDoc_Environment* pApp = m_pDocument->GetEnv(); | 
| 3351     ASSERT(pApp != NULL); | 3351     ASSERT(pApp != NULL); | 
| 3352 | 3352 | 
| 3353     if ((pFormField->GetFieldFlags() & FIELDFLAG_FILESELECT) && | 3353     if ((pFormField->GetFieldFlags() & FIELDFLAG_FILESELECT) && | 
| 3354         (pFormField->GetFieldType() == FIELDTYPE_TEXTFIELD)) | 3354         (pFormField->GetFieldType() == FIELDTYPE_TEXTFIELD)) | 
| 3355     { | 3355     { | 
| 3356         CFX_WideString wsFileName = pApp->JS_fieldBrowse(); | 3356         CFX_WideString wsFileName = pApp->JS_fieldBrowse(); | 
| 3357         if(!wsFileName.IsEmpty()) | 3357         if(!wsFileName.IsEmpty()) | 
| 3358         { | 3358         { | 
| 3359             pFormField->SetValue(wsFileName); | 3359             pFormField->SetValue(wsFileName); | 
| 3360             UpdateFormField(m_pDocument, pFormField, TRUE, TRUE, TRUE); | 3360             UpdateFormField(m_pDocument, pFormField, true, true, true); | 
| 3361          } | 3361          } | 
| 3362     } | 3362     } | 
| 3363     else | 3363     else | 
| 3364         return FALSE; | 3364         return false; | 
| 3365 | 3365 | 
| 3366     return TRUE; | 3366     return true; | 
| 3367 } | 3367 } | 
| 3368 | 3368 | 
| 3369 | 3369 | 
| 3370 FX_BOOL Field::buttonGetCaption(IFXJS_Context* cc, const CJS_Parameters& params,
       CJS_Value& vRet, CFX_WideString& sError) | 3370 bool Field::buttonGetCaption(IFXJS_Context* cc, const CJS_Parameters& params, CJ
      S_Value& vRet, CFX_WideString& sError) | 
| 3371 { | 3371 { | 
| 3372     ASSERT(m_pDocument != NULL); | 3372     ASSERT(m_pDocument != NULL); | 
| 3373 | 3373 | 
| 3374     int nface = 0; | 3374     int nface = 0; | 
| 3375     int iSize = params.size(); | 3375     int iSize = params.size(); | 
| 3376     if (iSize >= 1) | 3376     if (iSize >= 1) | 
| 3377         nface = params[0].ToInt(); | 3377         nface = params[0].ToInt(); | 
| 3378 | 3378 | 
| 3379     CFX_PtrArray FieldArray; | 3379     CFX_PtrArray FieldArray; | 
| 3380     GetFormFields(m_FieldName,FieldArray); | 3380     GetFormFields(m_FieldName,FieldArray); | 
| 3381     if (FieldArray.GetSize() <= 0) return FALSE; | 3381     if (FieldArray.GetSize() <= 0) return false; | 
| 3382 | 3382 | 
| 3383     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3383     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3384     ASSERT(pFormField != NULL); | 3384     ASSERT(pFormField != NULL); | 
| 3385 | 3385 | 
| 3386     if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 3386     if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 
| 3387         return FALSE; | 3387         return false; | 
| 3388 | 3388 | 
| 3389     CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 3389     CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 3390     if (!pFormControl)return FALSE; | 3390     if (!pFormControl)return false; | 
| 3391 | 3391 | 
| 3392     if (nface == 0) | 3392     if (nface == 0) | 
| 3393         vRet = pFormControl->GetNormalCaption().c_str(); | 3393         vRet = pFormControl->GetNormalCaption().c_str(); | 
| 3394     else if (nface == 1) | 3394     else if (nface == 1) | 
| 3395         vRet = pFormControl->GetDownCaption().c_str(); | 3395         vRet = pFormControl->GetDownCaption().c_str(); | 
| 3396     else if (nface == 2) | 3396     else if (nface == 2) | 
| 3397         vRet = pFormControl->GetRolloverCaption().c_str(); | 3397         vRet = pFormControl->GetRolloverCaption().c_str(); | 
| 3398     else | 3398     else | 
| 3399         return FALSE; | 3399         return false; | 
| 3400 | 3400 | 
| 3401     return TRUE; | 3401     return true; | 
| 3402 } | 3402 } | 
| 3403 | 3403 | 
| 3404 //#pragma warning(disable: 4800) | 3404 //#pragma warning(disable: 4800) | 
| 3405 | 3405 | 
| 3406 FX_BOOL Field::buttonGetIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJ
      S_Value& vRet, CFX_WideString& sError) | 3406 bool Field::buttonGetIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
      alue& vRet, CFX_WideString& sError) | 
| 3407 { | 3407 { | 
| 3408     ASSERT(m_pDocument != NULL); | 3408     ASSERT(m_pDocument != NULL); | 
| 3409 | 3409 | 
| 3410     int nface = 0; | 3410     int nface = 0; | 
| 3411     int iSize = params.size(); | 3411     int iSize = params.size(); | 
| 3412     if (iSize >= 1) | 3412     if (iSize >= 1) | 
| 3413         nface = params[0].ToInt(); | 3413         nface = params[0].ToInt(); | 
| 3414 | 3414 | 
| 3415     CFX_PtrArray FieldArray; | 3415     CFX_PtrArray FieldArray; | 
| 3416     GetFormFields(m_FieldName,FieldArray); | 3416     GetFormFields(m_FieldName,FieldArray); | 
| 3417     if (FieldArray.GetSize() <= 0) return FALSE; | 3417     if (FieldArray.GetSize() <= 0) return false; | 
| 3418 | 3418 | 
| 3419     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3419     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3420     ASSERT(pFormField != NULL); | 3420     ASSERT(pFormField != NULL); | 
| 3421 | 3421 | 
| 3422     if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 3422     if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON) | 
| 3423         return FALSE; | 3423         return false; | 
| 3424 | 3424 | 
| 3425     CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 3425     CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 3426     if (!pFormControl)return FALSE; | 3426     if (!pFormControl)return false; | 
| 3427 | 3427 | 
| 3428     CJS_Context* pContext = (CJS_Context*)cc; | 3428     CJS_Context* pContext = (CJS_Context*)cc; | 
| 3429     ASSERT(pContext != NULL); | 3429     ASSERT(pContext != NULL); | 
| 3430 | 3430 | 
| 3431     CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 3431     CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 
| 3432     ASSERT(pRuntime != NULL); | 3432     ASSERT(pRuntime != NULL); | 
| 3433 | 3433 | 
| 3434     JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID(*p
      Runtime, L"Icon")); | 3434     JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID(*p
      Runtime, L"Icon")); | 
| 3435     ASSERT(pObj.IsEmpty() == FALSE); | 3435     ASSERT(pObj.IsEmpty() == false); | 
| 3436 | 3436 | 
| 3437     CJS_Icon* pJS_Icon = (CJS_Icon*)JS_GetPrivate(pObj); | 3437     CJS_Icon* pJS_Icon = (CJS_Icon*)JS_GetPrivate(pObj); | 
| 3438     ASSERT(pJS_Icon != NULL); | 3438     ASSERT(pJS_Icon != NULL); | 
| 3439 | 3439 | 
| 3440     Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); | 3440     Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); | 
| 3441     ASSERT(pIcon != NULL); | 3441     ASSERT(pIcon != NULL); | 
| 3442 | 3442 | 
| 3443     CPDF_Stream* pIconStream = NULL; | 3443     CPDF_Stream* pIconStream = NULL; | 
| 3444     if (nface == 0) | 3444     if (nface == 0) | 
| 3445         pIconStream = pFormControl->GetNormalIcon(); | 3445         pIconStream = pFormControl->GetNormalIcon(); | 
| 3446     else if (nface == 1) | 3446     else if (nface == 1) | 
| 3447         pIconStream = pFormControl->GetDownIcon(); | 3447         pIconStream = pFormControl->GetDownIcon(); | 
| 3448     else if (nface == 2) | 3448     else if (nface == 2) | 
| 3449         pIconStream = pFormControl->GetRolloverIcon(); | 3449         pIconStream = pFormControl->GetRolloverIcon(); | 
| 3450     else | 3450     else | 
| 3451         return FALSE; | 3451         return false; | 
| 3452 | 3452 | 
| 3453     pIcon->SetStream(pIconStream); | 3453     pIcon->SetStream(pIconStream); | 
| 3454     vRet = pJS_Icon; | 3454     vRet = pJS_Icon; | 
| 3455 | 3455 | 
| 3456     return TRUE; | 3456     return true; | 
| 3457 } | 3457 } | 
| 3458 | 3458 | 
| 3459 //#pragma warning(default: 4800) | 3459 //#pragma warning(default: 4800) | 
| 3460 | 3460 | 
| 3461 FX_BOOL Field::buttonImportIcon(IFXJS_Context* cc, const CJS_Parameters& params,
       CJS_Value& vRet, CFX_WideString& sError) | 3461 bool Field::buttonImportIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJ
      S_Value& vRet, CFX_WideString& sError) | 
| 3462 { | 3462 { | 
| 3463 #if 0 | 3463 #if 0 | 
| 3464     ASSERT(m_pDocument != NULL); | 3464     ASSERT(m_pDocument != NULL); | 
| 3465 | 3465 | 
| 3466     CFX_PtrArray FieldArray; | 3466     CFX_PtrArray FieldArray; | 
| 3467     GetFormFields(m_FieldName,FieldArray); | 3467     GetFormFields(m_FieldName,FieldArray); | 
| 3468     if (FieldArray.GetSize() <= 0) return FALSE; | 3468     if (FieldArray.GetSize() <= 0) return false; | 
| 3469 | 3469 | 
| 3470     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3470     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3471     if (!pFormField)return FALSE; | 3471     if (!pFormField)return false; | 
| 3472 | 3472 | 
| 3473     CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); | 3473     CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); | 
| 3474     ASSERT(pEnv); | 3474     ASSERT(pEnv); | 
| 3475 | 3475 | 
| 3476     CFX_WideString sIconFileName = pEnv->JS_fieldBrowse(); | 3476     CFX_WideString sIconFileName = pEnv->JS_fieldBrowse(); | 
| 3477     if (sIconFileName.IsEmpty()) | 3477     if (sIconFileName.IsEmpty()) | 
| 3478     { | 3478     { | 
| 3479         vRet = 1; | 3479         vRet = 1; | 
| 3480         return TRUE; | 3480         return true; | 
| 3481     } | 3481     } | 
| 3482 | 3482 | 
| 3483     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
      m(); | 3483     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
      m(); | 
| 3484     ASSERT(pInterForm != NULL); | 3484     ASSERT(pInterForm != NULL); | 
| 3485 | 3485 | 
| 3486     CPDF_Stream* pStream = pInterForm->LoadImageFromFile(sIconFileName); | 3486     CPDF_Stream* pStream = pInterForm->LoadImageFromFile(sIconFileName); | 
| 3487     if (!pStream) | 3487     if (!pStream) | 
| 3488     { | 3488     { | 
| 3489         vRet = -1; | 3489         vRet = -1; | 
| 3490         return TRUE; | 3490         return true; | 
| 3491     } | 3491     } | 
| 3492 | 3492 | 
| 3493     CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 3493     CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField); | 
| 3494     if (!pFormControl)return FALSE; | 3494     if (!pFormControl)return false; | 
| 3495 | 3495 | 
| 3496     pFormControl->SetNormalIcon(pStream); | 3496     pFormControl->SetNormalIcon(pStream); | 
| 3497     UpdateFormControl(m_pDocument, pFormControl, TRUE, TRUE, TRUE); | 3497     UpdateFormControl(m_pDocument, pFormControl, true, true, true); | 
| 3498 | 3498 | 
| 3499     vRet = 0; | 3499     vRet = 0; | 
| 3500 #endif // 0 | 3500 #endif // 0 | 
| 3501     return TRUE; | 3501     return true; | 
| 3502 } | 3502 } | 
| 3503 | 3503 | 
| 3504 FX_BOOL Field::buttonSetCaption(IFXJS_Context* cc, const CJS_Parameters& params,
       CJS_Value& vRet, CFX_WideString& sError) | 3504 bool Field::buttonSetCaption(IFXJS_Context* cc, const CJS_Parameters& params, CJ
      S_Value& vRet, CFX_WideString& sError) | 
| 3505 { | 3505 { | 
| 3506     return FALSE; | 3506     return false; | 
| 3507 } | 3507 } | 
| 3508 | 3508 | 
| 3509 FX_BOOL Field::buttonSetIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJ
      S_Value& vRet, CFX_WideString& sError) | 3509 bool Field::buttonSetIcon(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
      alue& vRet, CFX_WideString& sError) | 
| 3510 { | 3510 { | 
| 3511     return FALSE; | 3511     return false; | 
| 3512 } | 3512 } | 
| 3513 | 3513 | 
| 3514 FX_BOOL Field::checkThisBox(IFXJS_Context* cc, const CJS_Parameters& params, CJS
      _Value& vRet, CFX_WideString& sError) | 3514 bool Field::checkThisBox(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
      lue& vRet, CFX_WideString& sError) | 
| 3515 { | 3515 { | 
| 3516     ASSERT(m_pDocument != NULL); | 3516     ASSERT(m_pDocument != NULL); | 
| 3517 | 3517 | 
| 3518     if (!m_bCanSet) return FALSE; | 3518     if (!m_bCanSet) return false; | 
| 3519 | 3519 | 
| 3520     int iSize = params.size(); | 3520     int iSize = params.size(); | 
| 3521     if (iSize < 1) | 3521     if (iSize < 1) | 
| 3522         return FALSE; | 3522         return false; | 
| 3523 | 3523 | 
| 3524     int nWidget = params[0].ToInt(); | 3524     int nWidget = params[0].ToInt(); | 
| 3525 | 3525 | 
| 3526     FX_BOOL bCheckit = TRUE; | 3526     bool bCheckit = true; | 
| 3527     if (iSize >= 2) | 3527     if (iSize >= 2) | 
| 3528         bCheckit = params[1].ToBool(); | 3528         bCheckit = params[1].ToBool(); | 
| 3529 | 3529 | 
| 3530     CFX_PtrArray FieldArray; | 3530     CFX_PtrArray FieldArray; | 
| 3531     GetFormFields(m_FieldName,FieldArray); | 3531     GetFormFields(m_FieldName,FieldArray); | 
| 3532     if (FieldArray.GetSize() <= 0) return FALSE; | 3532     if (FieldArray.GetSize() <= 0) return false; | 
| 3533 | 3533 | 
| 3534     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3534     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3535     ASSERT(pFormField != NULL); | 3535     ASSERT(pFormField != NULL); | 
| 3536 | 3536 | 
| 3537     if (pFormField->GetFieldType() != FIELDTYPE_CHECKBOX && pFormField->GetField
      Type() != FIELDTYPE_RADIOBUTTON) | 3537     if (pFormField->GetFieldType() != FIELDTYPE_CHECKBOX && pFormField->GetField
      Type() != FIELDTYPE_RADIOBUTTON) | 
| 3538         return FALSE; | 3538         return false; | 
| 3539     if(nWidget <0 || nWidget >= pFormField->CountControls()) | 3539     if(nWidget <0 || nWidget >= pFormField->CountControls()) | 
| 3540         return FALSE; | 3540         return false; | 
| 3541     if (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON) | 3541     if (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON) | 
| 3542         pFormField->CheckControl(nWidget, bCheckit, TRUE); | 3542         pFormField->CheckControl(nWidget, bCheckit, true); | 
| 3543     else | 3543     else | 
| 3544         pFormField->CheckControl(nWidget, bCheckit, TRUE); | 3544         pFormField->CheckControl(nWidget, bCheckit, true); | 
| 3545 | 3545 | 
| 3546     UpdateFormField(m_pDocument, pFormField, TRUE, TRUE, TRUE); | 3546     UpdateFormField(m_pDocument, pFormField, true, true, true); | 
| 3547     return TRUE; | 3547     return true; | 
| 3548 } | 3548 } | 
| 3549 | 3549 | 
| 3550 FX_BOOL Field::clearItems(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
      alue& vRet, CFX_WideString& sError) | 3550 bool Field::clearItems(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
      e& vRet, CFX_WideString& sError) | 
| 3551 { | 3551 { | 
| 3552     return TRUE; | 3552     return true; | 
| 3553 } | 3553 } | 
| 3554 | 3554 | 
| 3555 FX_BOOL Field::defaultIsChecked(IFXJS_Context* cc, const CJS_Parameters& params,
       CJS_Value& vRet, CFX_WideString& sError) | 3555 bool Field::defaultIsChecked(IFXJS_Context* cc, const CJS_Parameters& params, CJ
      S_Value& vRet, CFX_WideString& sError) | 
| 3556 { | 3556 { | 
| 3557     ASSERT(m_pDocument != NULL); | 3557     ASSERT(m_pDocument != NULL); | 
| 3558 | 3558 | 
| 3559     if (!m_bCanSet) return FALSE; | 3559     if (!m_bCanSet) return false; | 
| 3560 | 3560 | 
| 3561     int iSize = params.size(); | 3561     int iSize = params.size(); | 
| 3562     if (iSize < 1) | 3562     if (iSize < 1) | 
| 3563         return FALSE; | 3563         return false; | 
| 3564 | 3564 | 
| 3565     int nWidget = params[0].ToInt(); | 3565     int nWidget = params[0].ToInt(); | 
| 3566 | 3566 | 
| 3567     CFX_PtrArray FieldArray; | 3567     CFX_PtrArray FieldArray; | 
| 3568     GetFormFields(m_FieldName,FieldArray); | 3568     GetFormFields(m_FieldName,FieldArray); | 
| 3569     if (FieldArray.GetSize() <= 0) return FALSE; | 3569     if (FieldArray.GetSize() <= 0) return false; | 
| 3570 | 3570 | 
| 3571     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3571     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3572     ASSERT(pFormField != NULL); | 3572     ASSERT(pFormField != NULL); | 
| 3573 | 3573 | 
| 3574     if(nWidget <0 || nWidget >= pFormField->CountControls()) | 3574     if(nWidget <0 || nWidget >= pFormField->CountControls()) | 
| 3575     { | 3575     { | 
| 3576         vRet = FALSE; | 3576         vRet = false; | 
| 3577         return FALSE; | 3577         return false; | 
| 3578     } | 3578     } | 
| 3579     if ((pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) | 3579     if ((pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) | 
| 3580         || (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON)) | 3580         || (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON)) | 
| 3581     { | 3581     { | 
| 3582 | 3582 | 
| 3583         vRet = TRUE; | 3583         vRet = true; | 
| 3584     } | 3584     } | 
| 3585     else | 3585     else | 
| 3586         vRet = FALSE; | 3586         vRet = false; | 
| 3587 | 3587 | 
| 3588     return TRUE; | 3588     return true; | 
| 3589 } | 3589 } | 
| 3590 | 3590 | 
| 3591 FX_BOOL Field::deleteItemAt(IFXJS_Context* cc, const CJS_Parameters& params, CJS
      _Value& vRet, CFX_WideString& sError) | 3591 bool Field::deleteItemAt(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
      lue& vRet, CFX_WideString& sError) | 
| 3592 { | 3592 { | 
| 3593     return TRUE; | 3593     return true; | 
| 3594 } | 3594 } | 
| 3595 | 3595 | 
| 3596 int JS_COMPARESTRING(CFX_WideString* ps1, CFX_WideString* ps2) | 3596 int JS_COMPARESTRING(CFX_WideString* ps1, CFX_WideString* ps2) | 
| 3597 { | 3597 { | 
| 3598     ASSERT(ps1 != NULL); | 3598     ASSERT(ps1 != NULL); | 
| 3599     ASSERT(ps2 != NULL); | 3599     ASSERT(ps2 != NULL); | 
| 3600 | 3600 | 
| 3601     return ps1->Compare(*ps2); | 3601     return ps1->Compare(*ps2); | 
| 3602 } | 3602 } | 
| 3603 | 3603 | 
| 3604 | 3604 | 
| 3605 FX_BOOL Field::getArray(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
      ue& vRet, CFX_WideString& sError) | 3605 bool Field::getArray(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
       vRet, CFX_WideString& sError) | 
| 3606 { | 3606 { | 
| 3607     ASSERT(m_pDocument != NULL); | 3607     ASSERT(m_pDocument != NULL); | 
| 3608 | 3608 | 
| 3609     CFX_PtrArray FieldArray; | 3609     CFX_PtrArray FieldArray; | 
| 3610     GetFormFields(m_FieldName,FieldArray); | 3610     GetFormFields(m_FieldName,FieldArray); | 
| 3611     if (FieldArray.GetSize() <= 0) return FALSE; | 3611     if (FieldArray.GetSize() <= 0) return false; | 
| 3612 | 3612 | 
| 3613     CGW_ArrayTemplate<CFX_WideString*> swSort; | 3613     CGW_ArrayTemplate<CFX_WideString*> swSort; | 
| 3614 | 3614 | 
| 3615     for (int i=0,sz=FieldArray.GetSize(); i<sz; i++) | 3615     for (int i=0,sz=FieldArray.GetSize(); i<sz; i++) | 
| 3616     { | 3616     { | 
| 3617         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 3617         CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(i); | 
| 3618         ASSERT(pFormField != NULL); | 3618         ASSERT(pFormField != NULL); | 
| 3619 | 3619 | 
| 3620         swSort.Add(new CFX_WideString(pFormField->GetFullName())); | 3620         swSort.Add(new CFX_WideString(pFormField->GetFullName())); | 
| 3621 | 3621 | 
| 3622     } | 3622     } | 
| 3623     swSort.Sort(JS_COMPARESTRING); | 3623     swSort.Sort(JS_COMPARESTRING); | 
| 3624 | 3624 | 
| 3625     CJS_Context* pContext = (CJS_Context*)cc; | 3625     CJS_Context* pContext = (CJS_Context*)cc; | 
| 3626     ASSERT(pContext != NULL); | 3626     ASSERT(pContext != NULL); | 
| 3627     CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 3627     CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 
| 3628     ASSERT(pRuntime != NULL); | 3628     ASSERT(pRuntime != NULL); | 
| 3629 | 3629 | 
| 3630     CJS_Array FormFieldArray(m_isolate); | 3630     CJS_Array FormFieldArray(m_isolate); | 
| 3631     for (int j=0,jsz = swSort.GetSize(); j<jsz; j++) | 3631     for (int j=0,jsz = swSort.GetSize(); j<jsz; j++) | 
| 3632     { | 3632     { | 
| 3633         CFX_WideString* pStr = swSort.GetAt(j); | 3633         CFX_WideString* pStr = swSort.GetAt(j); | 
| 3634 | 3634 | 
| 3635         JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnI
      D(*pRuntime, L"Field")); | 3635         JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnI
      D(*pRuntime, L"Field")); | 
| 3636         ASSERT(pObj.IsEmpty() == FALSE); | 3636         ASSERT(pObj.IsEmpty() == false); | 
| 3637 | 3637 | 
| 3638         CJS_Field* pJSField = (CJS_Field*)JS_GetPrivate(pObj); | 3638         CJS_Field* pJSField = (CJS_Field*)JS_GetPrivate(pObj); | 
| 3639         ASSERT(pJSField != NULL); | 3639         ASSERT(pJSField != NULL); | 
| 3640 | 3640 | 
| 3641         Field* pField = (Field*)pJSField->GetEmbedObject(); | 3641         Field* pField = (Field*)pJSField->GetEmbedObject(); | 
| 3642         ASSERT(pField != NULL); | 3642         ASSERT(pField != NULL); | 
| 3643 | 3643 | 
| 3644         pField->AttachField(m_pJSDoc, *pStr); | 3644         pField->AttachField(m_pJSDoc, *pStr); | 
| 3645 | 3645 | 
| 3646         CJS_Value FormFieldValue(m_isolate); | 3646         CJS_Value FormFieldValue(m_isolate); | 
| 3647         FormFieldValue = pJSField; | 3647         FormFieldValue = pJSField; | 
| 3648         FormFieldArray.SetElement(j, FormFieldValue); | 3648         FormFieldArray.SetElement(j, FormFieldValue); | 
| 3649 | 3649 | 
| 3650         delete pStr; | 3650         delete pStr; | 
| 3651     } | 3651     } | 
| 3652 | 3652 | 
| 3653     vRet = FormFieldArray; | 3653     vRet = FormFieldArray; | 
| 3654     swSort.RemoveAll(); | 3654     swSort.RemoveAll(); | 
| 3655     return TRUE; | 3655     return true; | 
| 3656 } | 3656 } | 
| 3657 | 3657 | 
| 3658 FX_BOOL Field::getItemAt(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
      lue& vRet, CFX_WideString& sError) | 3658 bool Field::getItemAt(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value
      & vRet, CFX_WideString& sError) | 
| 3659 { | 3659 { | 
| 3660     ASSERT(m_pDocument != NULL); | 3660     ASSERT(m_pDocument != NULL); | 
| 3661     int iSize = params.size(); | 3661     int iSize = params.size(); | 
| 3662 | 3662 | 
| 3663     int nIdx = -1; | 3663     int nIdx = -1; | 
| 3664     if (iSize >= 1) | 3664     if (iSize >= 1) | 
| 3665         nIdx = params[0].ToInt(); | 3665         nIdx = params[0].ToInt(); | 
| 3666 | 3666 | 
| 3667     FX_BOOL bExport = TRUE; | 3667     bool bExport = true; | 
| 3668     if (iSize >= 2) | 3668     if (iSize >= 2) | 
| 3669         bExport = params[1].ToBool(); | 3669         bExport = params[1].ToBool(); | 
| 3670 | 3670 | 
| 3671     CFX_PtrArray FieldArray; | 3671     CFX_PtrArray FieldArray; | 
| 3672     GetFormFields(m_FieldName,FieldArray); | 3672     GetFormFields(m_FieldName,FieldArray); | 
| 3673     if (FieldArray.GetSize() <= 0) return FALSE; | 3673     if (FieldArray.GetSize() <= 0) return false; | 
| 3674 | 3674 | 
| 3675     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3675     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3676     ASSERT(pFormField != NULL); | 3676     ASSERT(pFormField != NULL); | 
| 3677 | 3677 | 
| 3678     if ((pFormField->GetFieldType() == FIELDTYPE_LISTBOX) | 3678     if ((pFormField->GetFieldType() == FIELDTYPE_LISTBOX) | 
| 3679         || (pFormField->GetFieldType() == FIELDTYPE_COMBOBOX)) | 3679         || (pFormField->GetFieldType() == FIELDTYPE_COMBOBOX)) | 
| 3680     { | 3680     { | 
| 3681         if (nIdx == -1 || nIdx > pFormField->CountOptions()) | 3681         if (nIdx == -1 || nIdx > pFormField->CountOptions()) | 
| 3682             nIdx = pFormField->CountOptions() -1; | 3682             nIdx = pFormField->CountOptions() -1; | 
| 3683         if (bExport) | 3683         if (bExport) | 
| 3684         { | 3684         { | 
| 3685             CFX_WideString strval = pFormField->GetOptionValue(nIdx); | 3685             CFX_WideString strval = pFormField->GetOptionValue(nIdx); | 
| 3686             if (strval.IsEmpty()) | 3686             if (strval.IsEmpty()) | 
| 3687                 vRet = pFormField->GetOptionLabel(nIdx).c_str(); | 3687                 vRet = pFormField->GetOptionLabel(nIdx).c_str(); | 
| 3688             else | 3688             else | 
| 3689                 vRet = strval.c_str(); | 3689                 vRet = strval.c_str(); | 
| 3690         } | 3690         } | 
| 3691         else | 3691         else | 
| 3692             vRet = pFormField->GetOptionLabel(nIdx).c_str(); | 3692             vRet = pFormField->GetOptionLabel(nIdx).c_str(); | 
| 3693     } | 3693     } | 
| 3694     else | 3694     else | 
| 3695         return FALSE; | 3695         return false; | 
| 3696 | 3696 | 
| 3697     return TRUE; | 3697     return true; | 
| 3698 } | 3698 } | 
| 3699 | 3699 | 
| 3700 FX_BOOL Field::getLock(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
      e& vRet, CFX_WideString& sError) | 3700 bool Field::getLock(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& 
      vRet, CFX_WideString& sError) | 
| 3701 { | 3701 { | 
| 3702     return FALSE; | 3702     return false; | 
| 3703 } | 3703 } | 
| 3704 | 3704 | 
| 3705 FX_BOOL Field::insertItemAt(IFXJS_Context* cc, const CJS_Parameters& params, CJS
      _Value& vRet, CFX_WideString& sError) | 3705 bool Field::insertItemAt(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
      lue& vRet, CFX_WideString& sError) | 
| 3706 { | 3706 { | 
| 3707     return TRUE; | 3707     return true; | 
| 3708 } | 3708 } | 
| 3709 | 3709 | 
| 3710 FX_BOOL Field::isBoxChecked(IFXJS_Context* cc, const CJS_Parameters& params, CJS
      _Value& vRet, CFX_WideString& sError) | 3710 bool Field::isBoxChecked(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
      lue& vRet, CFX_WideString& sError) | 
| 3711 { | 3711 { | 
| 3712     ASSERT(m_pDocument != NULL); | 3712     ASSERT(m_pDocument != NULL); | 
| 3713 | 3713 | 
| 3714     int nIndex = -1; | 3714     int nIndex = -1; | 
| 3715     if (params.size() >= 1) | 3715     if (params.size() >= 1) | 
| 3716         nIndex = params[0].ToInt(); | 3716         nIndex = params[0].ToInt(); | 
| 3717 | 3717 | 
| 3718     CFX_PtrArray FieldArray; | 3718     CFX_PtrArray FieldArray; | 
| 3719     GetFormFields(m_FieldName,FieldArray); | 3719     GetFormFields(m_FieldName,FieldArray); | 
| 3720     if (FieldArray.GetSize() <= 0) return FALSE; | 3720     if (FieldArray.GetSize() <= 0) return false; | 
| 3721 | 3721 | 
| 3722     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3722     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3723     ASSERT(pFormField != NULL); | 3723     ASSERT(pFormField != NULL); | 
| 3724 | 3724 | 
| 3725     if(nIndex <0 || nIndex >= pFormField->CountControls()) | 3725     if(nIndex <0 || nIndex >= pFormField->CountControls()) | 
| 3726     { | 3726     { | 
| 3727         vRet = FALSE; | 3727         vRet = false; | 
| 3728         return FALSE; | 3728         return false; | 
| 3729     } | 3729     } | 
| 3730 | 3730 | 
| 3731     if ((pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) | 3731     if ((pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) | 
| 3732         || (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON)) | 3732         || (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON)) | 
| 3733     { | 3733     { | 
| 3734         if (pFormField->GetControl(nIndex)->IsChecked() !=0 ) | 3734         if (pFormField->GetControl(nIndex)->IsChecked() !=0 ) | 
| 3735             vRet = TRUE; | 3735             vRet = true; | 
| 3736         else | 3736         else | 
| 3737             vRet = FALSE; | 3737             vRet = false; | 
| 3738     } | 3738     } | 
| 3739     else | 3739     else | 
| 3740         vRet = FALSE; | 3740         vRet = false; | 
| 3741 | 3741 | 
| 3742     return TRUE; | 3742     return true; | 
| 3743 } | 3743 } | 
| 3744 | 3744 | 
| 3745 FX_BOOL Field::isDefaultChecked(IFXJS_Context* cc, const CJS_Parameters& params,
       CJS_Value& vRet, CFX_WideString& sError) | 3745 bool Field::isDefaultChecked(IFXJS_Context* cc, const CJS_Parameters& params, CJ
      S_Value& vRet, CFX_WideString& sError) | 
| 3746 { | 3746 { | 
| 3747     ASSERT(m_pDocument != NULL); | 3747     ASSERT(m_pDocument != NULL); | 
| 3748 | 3748 | 
| 3749     int nIndex = -1; | 3749     int nIndex = -1; | 
| 3750     if (params.size() >= 1) | 3750     if (params.size() >= 1) | 
| 3751         nIndex = params[0].ToInt(); | 3751         nIndex = params[0].ToInt(); | 
| 3752 | 3752 | 
| 3753     CFX_PtrArray FieldArray; | 3753     CFX_PtrArray FieldArray; | 
| 3754     GetFormFields(m_FieldName,FieldArray); | 3754     GetFormFields(m_FieldName,FieldArray); | 
| 3755     if (FieldArray.GetSize() <= 0) return FALSE; | 3755     if (FieldArray.GetSize() <= 0) return false; | 
| 3756 | 3756 | 
| 3757     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3757     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3758     ASSERT(pFormField != NULL); | 3758     ASSERT(pFormField != NULL); | 
| 3759 | 3759 | 
| 3760     if(nIndex <0 || nIndex >= pFormField->CountControls()) | 3760     if(nIndex <0 || nIndex >= pFormField->CountControls()) | 
| 3761     { | 3761     { | 
| 3762         vRet = FALSE; | 3762         vRet = false; | 
| 3763         return FALSE; | 3763         return false; | 
| 3764     } | 3764     } | 
| 3765     if ((pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) | 3765     if ((pFormField->GetFieldType() == FIELDTYPE_CHECKBOX) | 
| 3766         || (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON)) | 3766         || (pFormField->GetFieldType() == FIELDTYPE_RADIOBUTTON)) | 
| 3767     { | 3767     { | 
| 3768         if (pFormField->GetControl(nIndex)->IsDefaultChecked() != 0) | 3768         if (pFormField->GetControl(nIndex)->IsDefaultChecked() != 0) | 
| 3769             vRet = TRUE; | 3769             vRet = true; | 
| 3770         else | 3770         else | 
| 3771             vRet = FALSE; | 3771             vRet = false; | 
| 3772     } | 3772     } | 
| 3773     else | 3773     else | 
| 3774         vRet = FALSE; | 3774         vRet = false; | 
| 3775 | 3775 | 
| 3776     return TRUE; | 3776     return true; | 
| 3777 } | 3777 } | 
| 3778 | 3778 | 
| 3779 FX_BOOL Field::setAction(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
      lue& vRet, CFX_WideString& sError) | 3779 bool Field::setAction(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value
      & vRet, CFX_WideString& sError) | 
| 3780 { | 3780 { | 
| 3781     return TRUE; | 3781     return true; | 
| 3782 } | 3782 } | 
| 3783 | 3783 | 
| 3784 FX_BOOL Field::setFocus(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
      ue& vRet, CFX_WideString& sError) | 3784 bool Field::setFocus(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
       vRet, CFX_WideString& sError) | 
| 3785 { | 3785 { | 
| 3786     ASSERT(m_pDocument != NULL); | 3786     ASSERT(m_pDocument != NULL); | 
| 3787 | 3787 | 
| 3788     CFX_PtrArray FieldArray; | 3788     CFX_PtrArray FieldArray; | 
| 3789     GetFormFields(m_FieldName,FieldArray); | 3789     GetFormFields(m_FieldName,FieldArray); | 
| 3790     if (FieldArray.GetSize() <= 0) return FALSE; | 3790     if (FieldArray.GetSize() <= 0) return false; | 
| 3791 | 3791 | 
| 3792     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 3792     CPDF_FormField* pFormField = (CPDF_FormField*)FieldArray.ElementAt(0); | 
| 3793     ASSERT(pFormField != NULL); | 3793     ASSERT(pFormField != NULL); | 
| 3794 | 3794 | 
| 3795     int32_t nCount = pFormField->CountControls(); | 3795     int32_t nCount = pFormField->CountControls(); | 
| 3796 | 3796 | 
| 3797     if (nCount < 1) return FALSE; | 3797     if (nCount < 1) return false; | 
| 3798 | 3798 | 
| 3799     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
      m(); | 3799     CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterFor
      m(); | 
| 3800     ASSERT(pInterForm != NULL); | 3800     ASSERT(pInterForm != NULL); | 
| 3801 | 3801 | 
| 3802     CPDFSDK_Widget* pWidget = NULL; | 3802     CPDFSDK_Widget* pWidget = NULL; | 
| 3803     if (nCount == 1) | 3803     if (nCount == 1) | 
| 3804     { | 3804     { | 
| 3805         pWidget = pInterForm->GetWidget(pFormField->GetControl(0)); | 3805         pWidget = pInterForm->GetWidget(pFormField->GetControl(0)); | 
| 3806     } | 3806     } | 
| 3807     else | 3807     else | 
| 3808     { | 3808     { | 
| 3809         CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); | 3809         CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); | 
| 3810         ASSERT(pEnv); | 3810         ASSERT(pEnv); | 
| 3811         CPDF_Page* pPage = (CPDF_Page*)pEnv->FFI_GetCurrentPage(m_pDocument->Get
      Document()); | 3811         CPDF_Page* pPage = (CPDF_Page*)pEnv->FFI_GetCurrentPage(m_pDocument->Get
      Document()); | 
| 3812         if(!pPage) | 3812         if(!pPage) | 
| 3813             return FALSE; | 3813             return false; | 
| 3814         if (CPDFSDK_PageView* pCurPageView = m_pDocument->GetPageView(pPage)) | 3814         if (CPDFSDK_PageView* pCurPageView = m_pDocument->GetPageView(pPage)) | 
| 3815         { | 3815         { | 
| 3816             for (int32_t i=0; i<nCount; i++) | 3816             for (int32_t i=0; i<nCount; i++) | 
| 3817             { | 3817             { | 
| 3818                 if (CPDFSDK_Widget* pTempWidget =  pInterForm->GetWidget(pFormFi
      eld->GetControl(i))) | 3818                 if (CPDFSDK_Widget* pTempWidget =  pInterForm->GetWidget(pFormFi
      eld->GetControl(i))) | 
| 3819                 { | 3819                 { | 
| 3820                     if (pTempWidget->GetPDFPage() == pCurPageView->GetPDFPage()) | 3820                     if (pTempWidget->GetPDFPage() == pCurPageView->GetPDFPage()) | 
| 3821                     { | 3821                     { | 
| 3822                         pWidget = pTempWidget; | 3822                         pWidget = pTempWidget; | 
| 3823                         break; | 3823                         break; | 
| 3824                     } | 3824                     } | 
| 3825                 } | 3825                 } | 
| 3826             } | 3826             } | 
| 3827         } | 3827         } | 
| 3828     } | 3828     } | 
| 3829 | 3829 | 
| 3830     if (pWidget) | 3830     if (pWidget) | 
| 3831     { | 3831     { | 
| 3832         m_pDocument->SetFocusAnnot(pWidget); | 3832         m_pDocument->SetFocusAnnot(pWidget); | 
| 3833     } | 3833     } | 
| 3834 | 3834 | 
| 3835     return TRUE; | 3835     return true; | 
| 3836 } | 3836 } | 
| 3837 | 3837 | 
| 3838 FX_BOOL Field::setItems(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
      ue& vRet, CFX_WideString& sError) | 3838 bool Field::setItems(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
       vRet, CFX_WideString& sError) | 
| 3839 { | 3839 { | 
| 3840     return TRUE; | 3840     return true; | 
| 3841 } | 3841 } | 
| 3842 | 3842 | 
| 3843 FX_BOOL Field::setLock(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
      e& vRet, CFX_WideString& sError) | 3843 bool Field::setLock(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& 
      vRet, CFX_WideString& sError) | 
| 3844 { | 3844 { | 
| 3845     return FALSE; | 3845     return false; | 
| 3846 } | 3846 } | 
| 3847 | 3847 | 
| 3848 FX_BOOL Field::signatureGetModifications(IFXJS_Context* cc, const CJS_Parameters
      & params, CJS_Value& vRet, CFX_WideString& sError) | 3848 bool Field::signatureGetModifications(IFXJS_Context* cc, const CJS_Parameters& p
      arams, CJS_Value& vRet, CFX_WideString& sError) | 
| 3849 { | 3849 { | 
| 3850     return FALSE; | 3850     return false; | 
| 3851 } | 3851 } | 
| 3852 | 3852 | 
| 3853 FX_BOOL Field::signatureGetSeedValue(IFXJS_Context* cc, const CJS_Parameters& pa
      rams, CJS_Value& vRet, CFX_WideString& sError) | 3853 bool Field::signatureGetSeedValue(IFXJS_Context* cc, const CJS_Parameters& param
      s, CJS_Value& vRet, CFX_WideString& sError) | 
| 3854 { | 3854 { | 
| 3855     return FALSE; | 3855     return false; | 
| 3856 } | 3856 } | 
| 3857 | 3857 | 
| 3858 FX_BOOL Field::signatureInfo(IFXJS_Context* cc, const CJS_Parameters& params, CJ
      S_Value& vRet, CFX_WideString& sError) | 3858 bool Field::signatureInfo(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
      alue& vRet, CFX_WideString& sError) | 
| 3859 { | 3859 { | 
| 3860     return FALSE; | 3860     return false; | 
| 3861 } | 3861 } | 
| 3862 | 3862 | 
| 3863 FX_BOOL Field::signatureSetSeedValue(IFXJS_Context* cc, const CJS_Parameters& pa
      rams, CJS_Value& vRet, CFX_WideString& sError) | 3863 bool Field::signatureSetSeedValue(IFXJS_Context* cc, const CJS_Parameters& param
      s, CJS_Value& vRet, CFX_WideString& sError) | 
| 3864 { | 3864 { | 
| 3865     return FALSE; | 3865     return false; | 
| 3866 } | 3866 } | 
| 3867 | 3867 | 
| 3868 FX_BOOL Field::signatureSign(IFXJS_Context* cc, const CJS_Parameters& params, CJ
      S_Value& vRet, CFX_WideString& sError) | 3868 bool Field::signatureSign(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
      alue& vRet, CFX_WideString& sError) | 
| 3869 { | 3869 { | 
| 3870     return FALSE; | 3870     return false; | 
| 3871 } | 3871 } | 
| 3872 | 3872 | 
| 3873 FX_BOOL Field::signatureValidate(IFXJS_Context* cc, const CJS_Parameters& params
      , CJS_Value& vRet, CFX_WideString& sError) | 3873 bool Field::signatureValidate(IFXJS_Context* cc, const CJS_Parameters& params, C
      JS_Value& vRet, CFX_WideString& sError) | 
| 3874 { | 3874 { | 
| 3875     return FALSE; | 3875     return false; | 
| 3876 } | 3876 } | 
| 3877 | 3877 | 
| 3878 FX_BOOL Field::source(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sErr
      or) | 3878 bool Field::source(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 
| 3879 { | 3879 { | 
| 3880     if (vp.IsGetting()) | 3880     if (vp.IsGetting()) | 
| 3881     { | 3881     { | 
| 3882         vp << (CJS_Object*)NULL; | 3882         vp << (CJS_Object*)NULL; | 
| 3883     } | 3883     } | 
| 3884 | 3884 | 
| 3885     return TRUE; | 3885     return true; | 
| 3886 } | 3886 } | 
| 3887 | 3887 | 
| 3888 /////////////////////////////////////////// delay //////////////////////////////
      /////////////// | 3888 /////////////////////////////////////////// delay //////////////////////////////
      /////////////// | 
| 3889 | 3889 | 
| 3890 void Field::AddDelay_Int(enum FIELD_PROP prop, int32_t n) | 3890 void Field::AddDelay_Int(enum FIELD_PROP prop, int32_t n) | 
| 3891 { | 3891 { | 
| 3892     ASSERT(m_pJSDoc != NULL); | 3892     ASSERT(m_pJSDoc != NULL); | 
| 3893 | 3893 | 
| 3894     CJS_DelayData* pNewData = new CJS_DelayData; | 3894     CJS_DelayData* pNewData = new CJS_DelayData; | 
| 3895     pNewData->sFieldName = m_FieldName; | 3895     pNewData->sFieldName = m_FieldName; | 
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4107 | 4107 | 
| 4108 #define JS_FIELD_MINWIDTH   1 | 4108 #define JS_FIELD_MINWIDTH   1 | 
| 4109 #define JS_FIELD_MINHEIGHT  1 | 4109 #define JS_FIELD_MINHEIGHT  1 | 
| 4110 | 4110 | 
| 4111 void Field::AddField(CPDFSDK_Document* pDocument, int nPageIndex, int nFieldType
      , | 4111 void Field::AddField(CPDFSDK_Document* pDocument, int nPageIndex, int nFieldType
      , | 
| 4112                      const CFX_WideString& sName, const CPDF_Rect& rcCoords) | 4112                      const CFX_WideString& sName, const CPDF_Rect& rcCoords) | 
| 4113 { | 4113 { | 
| 4114     //Not supported. | 4114     //Not supported. | 
| 4115 } | 4115 } | 
| 4116 | 4116 | 
| OLD | NEW | 
|---|