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 "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 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 if (CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "MaxLen")) | 401 if (CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "MaxLen")) |
402 return pObj->GetInteger(); | 402 return pObj->GetInteger(); |
403 | 403 |
404 for (int i = 0; i < m_ControlList.GetSize(); i++) { | 404 for (int i = 0; i < m_ControlList.GetSize(); i++) { |
405 CPDF_FormControl* pControl = m_ControlList.GetAt(i); | 405 CPDF_FormControl* pControl = m_ControlList.GetAt(i); |
406 if (!pControl) | 406 if (!pControl) |
407 continue; | 407 continue; |
408 | 408 |
409 CPDF_Dictionary* pWidgetDict = pControl->m_pWidgetDict; | 409 CPDF_Dictionary* pWidgetDict = pControl->m_pWidgetDict; |
410 if (pWidgetDict->KeyExist("MaxLen")) | 410 if (pWidgetDict->KeyExist("MaxLen")) |
411 return pWidgetDict->GetInteger("MaxLen"); | 411 return pWidgetDict->GetIntegerBy("MaxLen"); |
412 } | 412 } |
413 return 0; | 413 return 0; |
414 } | 414 } |
415 int CPDF_FormField::CountSelectedItems() { | 415 int CPDF_FormField::CountSelectedItems() { |
416 CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict, "V"); | 416 CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict, "V"); |
417 if (!pValue) { | 417 if (!pValue) { |
418 pValue = FPDF_GetFieldAttr(m_pDict, "I"); | 418 pValue = FPDF_GetFieldAttr(m_pDict, "I"); |
419 if (!pValue) | 419 if (!pValue) |
420 return 0; | 420 return 0; |
421 } | 421 } |
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
866 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "I"); | 866 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "I"); |
867 if (!pObj) { | 867 if (!pObj) { |
868 return -1; | 868 return -1; |
869 } | 869 } |
870 CPDF_Array* pArray = pObj->GetArray(); | 870 CPDF_Array* pArray = pObj->GetArray(); |
871 if (!pArray) { | 871 if (!pArray) { |
872 return -1; | 872 return -1; |
873 } | 873 } |
874 int iCount = (int)pArray->GetCount(); | 874 int iCount = (int)pArray->GetCount(); |
875 if (iCount > 0 && index < iCount) { | 875 if (iCount > 0 && index < iCount) { |
876 return pArray->GetInteger(index); | 876 return pArray->GetIntegerAt(index); |
877 } | 877 } |
878 return -1; | 878 return -1; |
879 } | 879 } |
880 FX_BOOL CPDF_FormField::IsOptionSelected(int iOptIndex) { | 880 FX_BOOL CPDF_FormField::IsOptionSelected(int iOptIndex) { |
881 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "I"); | 881 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "I"); |
882 if (!pObj) { | 882 if (!pObj) { |
883 return FALSE; | 883 return FALSE; |
884 } | 884 } |
885 CPDF_Array* pArray = pObj->GetArray(); | 885 CPDF_Array* pArray = pObj->GetArray(); |
886 if (!pArray) { | 886 if (!pArray) { |
887 return FALSE; | 887 return FALSE; |
888 } | 888 } |
889 int iCount = (int)pArray->GetCount(); | 889 int iCount = (int)pArray->GetCount(); |
890 for (int i = 0; i < iCount; i++) { | 890 for (int i = 0; i < iCount; i++) { |
891 if (pArray->GetInteger(i) == iOptIndex) { | 891 if (pArray->GetIntegerAt(i) == iOptIndex) { |
892 return TRUE; | 892 return TRUE; |
893 } | 893 } |
894 } | 894 } |
895 return FALSE; | 895 return FALSE; |
896 } | 896 } |
897 FX_BOOL CPDF_FormField::SelectOption(int iOptIndex, | 897 FX_BOOL CPDF_FormField::SelectOption(int iOptIndex, |
898 FX_BOOL bSelected, | 898 FX_BOOL bSelected, |
899 FX_BOOL bNotify) { | 899 FX_BOOL bNotify) { |
900 CPDF_Array* pArray = m_pDict->GetArray("I"); | 900 CPDF_Array* pArray = m_pDict->GetArrayBy("I"); |
901 if (!pArray) { | 901 if (!pArray) { |
902 if (!bSelected) { | 902 if (!bSelected) { |
903 return TRUE; | 903 return TRUE; |
904 } | 904 } |
905 pArray = new CPDF_Array; | 905 pArray = new CPDF_Array; |
906 m_pDict->SetAt("I", pArray); | 906 m_pDict->SetAt("I", pArray); |
907 } | 907 } |
908 FX_BOOL bReturn = FALSE; | 908 FX_BOOL bReturn = FALSE; |
909 for (int i = 0; i < (int)pArray->GetCount(); i++) { | 909 for (int i = 0; i < (int)pArray->GetCount(); i++) { |
910 int iFind = pArray->GetInteger(i); | 910 int iFind = pArray->GetIntegerAt(i); |
911 if (iFind == iOptIndex) { | 911 if (iFind == iOptIndex) { |
912 if (bSelected) { | 912 if (bSelected) { |
913 return TRUE; | 913 return TRUE; |
914 } | 914 } |
915 if (bNotify && m_pForm->m_pFormNotify) { | 915 if (bNotify && m_pForm->m_pFormNotify) { |
916 int iRet = 0; | 916 int iRet = 0; |
917 CFX_WideString csValue = GetOptionLabel(iOptIndex); | 917 CFX_WideString csValue = GetOptionLabel(iOptIndex); |
918 if (GetType() == ListBox) { | 918 if (GetType() == ListBox) { |
919 iRet = m_pForm->m_pFormNotify->BeforeSelectionChange(this, csValue); | 919 iRet = m_pForm->m_pFormNotify->BeforeSelectionChange(this, csValue); |
920 } | 920 } |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
999 } | 999 } |
1000 m_pForm->m_bUpdated = TRUE; | 1000 m_pForm->m_bUpdated = TRUE; |
1001 return TRUE; | 1001 return TRUE; |
1002 } | 1002 } |
1003 void CPDF_FormField::LoadDA() { | 1003 void CPDF_FormField::LoadDA() { |
1004 CFX_ByteString DA; | 1004 CFX_ByteString DA; |
1005 if (CPDF_Object* pObj_t = FPDF_GetFieldAttr(m_pDict, "DA")) { | 1005 if (CPDF_Object* pObj_t = FPDF_GetFieldAttr(m_pDict, "DA")) { |
1006 DA = pObj_t->GetString(); | 1006 DA = pObj_t->GetString(); |
1007 } | 1007 } |
1008 if (DA.IsEmpty() && m_pForm->m_pFormDict) { | 1008 if (DA.IsEmpty() && m_pForm->m_pFormDict) { |
1009 DA = m_pForm->m_pFormDict->GetString("DA"); | 1009 DA = m_pForm->m_pFormDict->GetStringBy("DA"); |
1010 } | 1010 } |
1011 if (DA.IsEmpty()) { | 1011 if (DA.IsEmpty()) { |
1012 return; | 1012 return; |
1013 } | 1013 } |
1014 CPDF_SimpleParser syntax(DA); | 1014 CPDF_SimpleParser syntax(DA); |
1015 syntax.FindTagParam("Tf", 2); | 1015 syntax.FindTagParam("Tf", 2); |
1016 CFX_ByteString font_name = syntax.GetWord(); | 1016 CFX_ByteString font_name = syntax.GetWord(); |
1017 CPDF_Dictionary* pFontDict = NULL; | 1017 CPDF_Dictionary* pFontDict = NULL; |
1018 if (m_pForm->m_pFormDict && m_pForm->m_pFormDict->GetDict("DR") && | 1018 if (m_pForm->m_pFormDict && m_pForm->m_pFormDict->GetDictBy("DR") && |
1019 m_pForm->m_pFormDict->GetDict("DR")->GetDict("Font")) | 1019 m_pForm->m_pFormDict->GetDictBy("DR")->GetDictBy("Font")) |
1020 pFontDict = m_pForm->m_pFormDict->GetDict("DR")->GetDict("Font")->GetDict( | 1020 pFontDict = m_pForm->m_pFormDict->GetDictBy("DR") |
1021 font_name); | 1021 ->GetDictBy("Font") |
| 1022 ->GetDictBy(font_name); |
1022 | 1023 |
1023 if (!pFontDict) { | 1024 if (!pFontDict) { |
1024 return; | 1025 return; |
1025 } | 1026 } |
1026 m_pFont = m_pForm->m_pDocument->LoadFont(pFontDict); | 1027 m_pFont = m_pForm->m_pDocument->LoadFont(pFontDict); |
1027 m_FontSize = FX_atof(syntax.GetWord()); | 1028 m_FontSize = FX_atof(syntax.GetWord()); |
1028 } | 1029 } |
OLD | NEW |