Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(187)

Side by Side Diff: core/src/fpdfdoc/doc_formfield.cpp

Issue 1513103002: Merge to XFA: Get rid of most uses of CFX_PtrArray. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/src/fpdfdoc/doc_form.cpp ('k') | core/src/fpdfdoc/tagged_int.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "core/include/fpdfdoc/fpdf_doc.h" 7 #include "core/include/fpdfdoc/fpdf_doc.h"
8 #include "doc_utils.h" 8 #include "doc_utils.h"
9 9
10 FX_BOOL PDF_FormField_IsUnison(CPDF_FormField* pField) { 10 FX_BOOL PDF_FormField_IsUnison(CPDF_FormField* pField) {
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 } 200 }
201 if (bNotify && m_pForm->m_pFormNotify != NULL) { 201 if (bNotify && m_pForm->m_pFormNotify != NULL) {
202 m_pForm->m_pFormNotify->AfterValueChange(this); 202 m_pForm->m_pFormNotify->AfterValueChange(this);
203 } 203 }
204 m_pForm->m_bUpdated = TRUE; 204 m_pForm->m_bUpdated = TRUE;
205 } break; 205 } break;
206 } 206 }
207 return TRUE; 207 return TRUE;
208 } 208 }
209 int CPDF_FormField::GetControlIndex(const CPDF_FormControl* pControl) { 209 int CPDF_FormField::GetControlIndex(const CPDF_FormControl* pControl) {
210 if (pControl == NULL) { 210 if (!pControl) {
211 return -1; 211 return -1;
212 } 212 }
213 int iCount = m_ControlList.GetSize(); 213 for (int i = 0; i < m_ControlList.GetSize(); i++) {
214 for (int i = 0; i < iCount; i++) { 214 if (m_ControlList.GetAt(i) == pControl)
215 CPDF_FormControl* pFind = (CPDF_FormControl*)m_ControlList.GetAt(i);
216 if (pFind == pControl) {
217 return i; 215 return i;
218 }
219 } 216 }
220 return -1; 217 return -1;
221 } 218 }
222 int CPDF_FormField::GetFieldType() { 219 int CPDF_FormField::GetFieldType() {
223 switch (m_Type) { 220 switch (m_Type) {
224 case PushButton: 221 case PushButton:
225 return FIELDTYPE_PUSHBUTTON; 222 return FIELDTYPE_PUSHBUTTON;
226 case CheckBox: 223 case CheckBox:
227 return FIELDTYPE_CHECKBOX; 224 return FIELDTYPE_CHECKBOX;
228 case RadioButton: 225 case RadioButton:
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 } 389 }
393 if (CPDF_InterForm::m_bUpdateAP) { 390 if (CPDF_InterForm::m_bUpdateAP) {
394 UpdateAP(NULL); 391 UpdateAP(NULL);
395 } 392 }
396 return TRUE; 393 return TRUE;
397 } 394 }
398 FX_BOOL CPDF_FormField::SetValue(const CFX_WideString& value, FX_BOOL bNotify) { 395 FX_BOOL CPDF_FormField::SetValue(const CFX_WideString& value, FX_BOOL bNotify) {
399 return SetValue(value, FALSE, bNotify); 396 return SetValue(value, FALSE, bNotify);
400 } 397 }
401 int CPDF_FormField::GetMaxLen() { 398 int CPDF_FormField::GetMaxLen() {
402 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "MaxLen"); 399 if (CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "MaxLen"))
403 if (pObj == NULL) { 400 return pObj->GetInteger();
404 int iCount = m_ControlList.GetSize(); 401
405 for (int i = 0; i < iCount; i++) { 402 for (int i = 0; i < m_ControlList.GetSize(); i++) {
406 CPDF_FormControl* pControl = (CPDF_FormControl*)m_ControlList.GetAt(i); 403 CPDF_FormControl* pControl = m_ControlList.GetAt(i);
407 if (pControl == NULL) { 404 if (!pControl)
408 continue; 405 continue;
409 } 406
410 CPDF_Dictionary* pWidgetDict = pControl->m_pWidgetDict; 407 CPDF_Dictionary* pWidgetDict = pControl->m_pWidgetDict;
411 if (pWidgetDict->KeyExist("MaxLen")) { 408 if (pWidgetDict->KeyExist("MaxLen"))
412 return pWidgetDict->GetInteger("MaxLen"); 409 return pWidgetDict->GetInteger("MaxLen");
413 }
414 }
415 return 0;
416 } 410 }
417 return pObj->GetInteger(); 411 return 0;
418 } 412 }
419 int CPDF_FormField::CountSelectedItems() { 413 int CPDF_FormField::CountSelectedItems() {
420 CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict, "V"); 414 CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict, "V");
421 if (!pValue) { 415 if (!pValue) {
422 pValue = FPDF_GetFieldAttr(m_pDict, "I"); 416 pValue = FPDF_GetFieldAttr(m_pDict, "I");
423 if (!pValue) 417 if (!pValue)
424 return 0; 418 return 0;
425 } 419 }
426 420
427 if (pValue->IsString() || pValue->IsNumber()) 421 if (pValue->IsString() || pValue->IsNumber())
(...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after
1114 m_pForm->m_pFormDict->GetDict("DR")->GetDict("Font")) 1108 m_pForm->m_pFormDict->GetDict("DR")->GetDict("Font"))
1115 pFontDict = m_pForm->m_pFormDict->GetDict("DR")->GetDict("Font")->GetDict( 1109 pFontDict = m_pForm->m_pFormDict->GetDict("DR")->GetDict("Font")->GetDict(
1116 font_name); 1110 font_name);
1117 1111
1118 if (pFontDict == NULL) { 1112 if (pFontDict == NULL) {
1119 return; 1113 return;
1120 } 1114 }
1121 m_pFont = m_pForm->m_pDocument->LoadFont(pFontDict); 1115 m_pFont = m_pForm->m_pDocument->LoadFont(pFontDict);
1122 m_FontSize = FX_atof(syntax.GetWord()); 1116 m_FontSize = FX_atof(syntax.GetWord());
1123 } 1117 }
OLDNEW
« no previous file with comments | « core/src/fpdfdoc/doc_form.cpp ('k') | core/src/fpdfdoc/tagged_int.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698