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 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 CPDF_Object* pRV = FPDF_GetFieldAttr(m_pDict, "RV"); | 177 CPDF_Object* pRV = FPDF_GetFieldAttr(m_pDict, "RV"); |
178 if (!pRV && (csDValue == csValue)) { | 178 if (!pRV && (csDValue == csValue)) { |
179 return FALSE; | 179 return FALSE; |
180 } | 180 } |
181 if (bNotify && m_pForm->m_pFormNotify) { | 181 if (bNotify && m_pForm->m_pFormNotify) { |
182 int iRet = m_pForm->m_pFormNotify->BeforeValueChange(this, csDValue); | 182 int iRet = m_pForm->m_pFormNotify->BeforeValueChange(this, csDValue); |
183 if (iRet < 0) { | 183 if (iRet < 0) { |
184 return FALSE; | 184 return FALSE; |
185 } | 185 } |
186 } | 186 } |
187 if (pDV == NULL) { | 187 if (pDV) { |
188 m_pDict->RemoveAt("V"); | |
189 m_pDict->RemoveAt("RV"); | |
190 } else { | |
191 CPDF_Object* pClone = pDV->Clone(); | 188 CPDF_Object* pClone = pDV->Clone(); |
192 if (pClone == NULL) { | 189 if (!pClone) { |
193 return FALSE; | 190 return FALSE; |
194 } | 191 } |
195 m_pDict->SetAt("V", pClone); | 192 m_pDict->SetAt("V", pClone); |
196 if (pRV) { | 193 if (pRV) { |
197 CPDF_Object* pCloneR = pDV->Clone(); | 194 CPDF_Object* pCloneR = pDV->Clone(); |
198 m_pDict->SetAt("RV", pCloneR); | 195 m_pDict->SetAt("RV", pCloneR); |
199 } | 196 } |
| 197 } else { |
| 198 m_pDict->RemoveAt("V"); |
| 199 m_pDict->RemoveAt("RV"); |
200 } | 200 } |
201 if (bNotify && m_pForm->m_pFormNotify) { | 201 if (bNotify && m_pForm->m_pFormNotify) { |
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) { |
(...skipping 24 matching lines...) Expand all Loading... |
234 return FIELDTYPE_TEXTFIELD; | 234 return FIELDTYPE_TEXTFIELD; |
235 case Sign: | 235 case Sign: |
236 return FIELDTYPE_SIGNATURE; | 236 return FIELDTYPE_SIGNATURE; |
237 default: | 237 default: |
238 break; | 238 break; |
239 } | 239 } |
240 return FIELDTYPE_UNKNOWN; | 240 return FIELDTYPE_UNKNOWN; |
241 } | 241 } |
242 CPDF_AAction CPDF_FormField::GetAdditionalAction() { | 242 CPDF_AAction CPDF_FormField::GetAdditionalAction() { |
243 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "AA"); | 243 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "AA"); |
244 if (pObj == NULL) { | 244 if (!pObj) { |
245 return NULL; | 245 return NULL; |
246 } | 246 } |
247 return pObj->GetDict(); | 247 return pObj->GetDict(); |
248 } | 248 } |
249 CFX_WideString CPDF_FormField::GetAlternateName() { | 249 CFX_WideString CPDF_FormField::GetAlternateName() { |
250 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "TU"); | 250 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "TU"); |
251 if (pObj == NULL) { | 251 if (!pObj) { |
252 return L""; | 252 return L""; |
253 } | 253 } |
254 return pObj->GetUnicodeText(); | 254 return pObj->GetUnicodeText(); |
255 } | 255 } |
256 CFX_WideString CPDF_FormField::GetMappingName() { | 256 CFX_WideString CPDF_FormField::GetMappingName() { |
257 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "TM"); | 257 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "TM"); |
258 if (pObj == NULL) { | 258 if (!pObj) { |
259 return L""; | 259 return L""; |
260 } | 260 } |
261 return pObj->GetUnicodeText(); | 261 return pObj->GetUnicodeText(); |
262 } | 262 } |
263 FX_DWORD CPDF_FormField::GetFieldFlags() { | 263 FX_DWORD CPDF_FormField::GetFieldFlags() { |
264 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "Ff"); | 264 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "Ff"); |
265 if (pObj == NULL) { | 265 if (!pObj) { |
266 return 0; | 266 return 0; |
267 } | 267 } |
268 return pObj->GetInteger(); | 268 return pObj->GetInteger(); |
269 } | 269 } |
270 CFX_ByteString CPDF_FormField::GetDefaultStyle() { | 270 CFX_ByteString CPDF_FormField::GetDefaultStyle() { |
271 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "DS"); | 271 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "DS"); |
272 if (pObj == NULL) { | 272 if (!pObj) { |
273 return ""; | 273 return ""; |
274 } | 274 } |
275 return pObj->GetString(); | 275 return pObj->GetString(); |
276 } | 276 } |
277 CFX_WideString CPDF_FormField::GetRichTextString() { | 277 CFX_WideString CPDF_FormField::GetRichTextString() { |
278 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "RV"); | 278 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "RV"); |
279 if (pObj == NULL) { | 279 if (!pObj) { |
280 return L""; | 280 return L""; |
281 } | 281 } |
282 return pObj->GetUnicodeText(); | 282 return pObj->GetUnicodeText(); |
283 } | 283 } |
284 CFX_WideString CPDF_FormField::GetValue(FX_BOOL bDefault) { | 284 CFX_WideString CPDF_FormField::GetValue(FX_BOOL bDefault) { |
285 if (GetType() == CheckBox || GetType() == RadioButton) { | 285 if (GetType() == CheckBox || GetType() == RadioButton) { |
286 return GetCheckValue(bDefault); | 286 return GetCheckValue(bDefault); |
287 } | 287 } |
288 CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict, bDefault ? "DV" : "V"); | 288 CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict, bDefault ? "DV" : "V"); |
289 if (pValue == NULL) { | 289 if (!pValue) { |
290 if (!bDefault) { | 290 if (!bDefault) { |
291 if (m_Type == RichText) { | 291 if (m_Type == RichText) { |
292 pValue = FPDF_GetFieldAttr(m_pDict, "V"); | 292 pValue = FPDF_GetFieldAttr(m_pDict, "V"); |
293 } | 293 } |
294 if (pValue == NULL && m_Type != Text) { | 294 if (!pValue && m_Type != Text) { |
295 pValue = FPDF_GetFieldAttr(m_pDict, "DV"); | 295 pValue = FPDF_GetFieldAttr(m_pDict, "DV"); |
296 } | 296 } |
297 } | 297 } |
298 if (pValue == NULL) { | 298 if (!pValue) { |
299 return CFX_WideString(); | 299 return CFX_WideString(); |
300 } | 300 } |
301 } | 301 } |
302 switch (pValue->GetType()) { | 302 switch (pValue->GetType()) { |
303 case PDFOBJ_STRING: | 303 case PDFOBJ_STRING: |
304 case PDFOBJ_STREAM: | 304 case PDFOBJ_STREAM: |
305 return pValue->GetUnicodeText(); | 305 return pValue->GetUnicodeText(); |
306 case PDFOBJ_ARRAY: | 306 case PDFOBJ_ARRAY: |
307 pValue = pValue->AsArray()->GetElementValue(0); | 307 pValue = pValue->AsArray()->GetElementValue(0); |
308 if (pValue) | 308 if (pValue) |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 FX_BOOL CPDF_FormField::IsItemSelected(int index) { | 500 FX_BOOL CPDF_FormField::IsItemSelected(int index) { |
501 ASSERT(GetType() == ComboBox || GetType() == ListBox); | 501 ASSERT(GetType() == ComboBox || GetType() == ListBox); |
502 if (index < 0 || index >= CountOptions()) { | 502 if (index < 0 || index >= CountOptions()) { |
503 return FALSE; | 503 return FALSE; |
504 } | 504 } |
505 if (IsOptionSelected(index)) { | 505 if (IsOptionSelected(index)) { |
506 return TRUE; | 506 return TRUE; |
507 } | 507 } |
508 CFX_WideString opt_value = GetOptionValue(index); | 508 CFX_WideString opt_value = GetOptionValue(index); |
509 CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict, "V"); | 509 CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict, "V"); |
510 if (pValue == NULL) { | 510 if (!pValue) { |
511 pValue = FPDF_GetFieldAttr(m_pDict, "I"); | 511 pValue = FPDF_GetFieldAttr(m_pDict, "I"); |
512 if (pValue == NULL) { | 512 if (!pValue) { |
513 return FALSE; | 513 return FALSE; |
514 } | 514 } |
515 } | 515 } |
516 | 516 |
517 if (pValue->IsString()) | 517 if (pValue->IsString()) |
518 return pValue->GetUnicodeText() == opt_value; | 518 return pValue->GetUnicodeText() == opt_value; |
519 | 519 |
520 if (pValue->IsNumber()) { | 520 if (pValue->IsNumber()) { |
521 if (pValue->GetString().IsEmpty()) | 521 if (pValue->GetString().IsEmpty()) |
522 return FALSE; | 522 return FALSE; |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
592 m_pDict->RemoveAt("I"); | 592 m_pDict->RemoveAt("I"); |
593 } | 593 } |
594 } | 594 } |
595 } else { | 595 } else { |
596 if (m_Type == ListBox) { | 596 if (m_Type == ListBox) { |
597 SelectOption(index, TRUE); | 597 SelectOption(index, TRUE); |
598 if (!(m_Flags & FORMLIST_MULTISELECT)) { | 598 if (!(m_Flags & FORMLIST_MULTISELECT)) { |
599 m_pDict->SetAtString("V", PDF_EncodeText(opt_value)); | 599 m_pDict->SetAtString("V", PDF_EncodeText(opt_value)); |
600 } else { | 600 } else { |
601 CPDF_Array* pArray = CPDF_Array::Create(); | 601 CPDF_Array* pArray = CPDF_Array::Create(); |
602 if (pArray == NULL) { | 602 if (!pArray) { |
603 return FALSE; | 603 return FALSE; |
604 } | 604 } |
605 FX_BOOL bSelected; | 605 FX_BOOL bSelected; |
606 int iCount = CountOptions(); | 606 int iCount = CountOptions(); |
607 for (int i = 0; i < iCount; i++) { | 607 for (int i = 0; i < iCount; i++) { |
608 if (i != index) { | 608 if (i != index) { |
609 bSelected = IsItemSelected(i); | 609 bSelected = IsItemSelected(i); |
610 } else { | 610 } else { |
611 bSelected = TRUE; | 611 bSelected = TRUE; |
612 } | 612 } |
613 if (bSelected) { | 613 if (bSelected) { |
614 opt_value = GetOptionValue(i); | 614 opt_value = GetOptionValue(i); |
615 pArray->AddString(PDF_EncodeText(opt_value)); | 615 pArray->AddString(PDF_EncodeText(opt_value)); |
616 } | 616 } |
617 } | 617 } |
618 m_pDict->SetAt("V", pArray); | 618 m_pDict->SetAt("V", pArray); |
619 } | 619 } |
620 } else if (m_Type == ComboBox) { | 620 } else if (m_Type == ComboBox) { |
621 m_pDict->SetAtString("V", PDF_EncodeText(opt_value)); | 621 m_pDict->SetAtString("V", PDF_EncodeText(opt_value)); |
622 CPDF_Array* pI = CPDF_Array::Create(); | 622 CPDF_Array* pI = CPDF_Array::Create(); |
623 if (pI == NULL) { | 623 if (!pI) { |
624 return FALSE; | 624 return FALSE; |
625 } | 625 } |
626 pI->AddInteger(index); | 626 pI->AddInteger(index); |
627 m_pDict->SetAt("I", pI); | 627 m_pDict->SetAt("I", pI); |
628 } | 628 } |
629 } | 629 } |
630 if (bNotify && m_pForm->m_pFormNotify) { | 630 if (bNotify && m_pForm->m_pFormNotify) { |
631 if (GetType() == ListBox) { | 631 if (GetType() == ListBox) { |
632 m_pForm->m_pFormNotify->AfterSelectionChange(this); | 632 m_pForm->m_pFormNotify->AfterSelectionChange(this); |
633 } | 633 } |
(...skipping 14 matching lines...) Expand all Loading... |
648 } | 648 } |
649 int iDVIndex = GetDefaultSelectedItem(); | 649 int iDVIndex = GetDefaultSelectedItem(); |
650 if (iDVIndex < 0) { | 650 if (iDVIndex < 0) { |
651 return FALSE; | 651 return FALSE; |
652 } | 652 } |
653 return (iDVIndex == index); | 653 return (iDVIndex == index); |
654 } | 654 } |
655 int CPDF_FormField::GetDefaultSelectedItem() { | 655 int CPDF_FormField::GetDefaultSelectedItem() { |
656 ASSERT(GetType() == ComboBox || GetType() == ListBox); | 656 ASSERT(GetType() == ComboBox || GetType() == ListBox); |
657 CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict, "DV"); | 657 CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict, "DV"); |
658 if (pValue == NULL) { | 658 if (!pValue) { |
659 return -1; | 659 return -1; |
660 } | 660 } |
661 CFX_WideString csDV = pValue->GetUnicodeText(); | 661 CFX_WideString csDV = pValue->GetUnicodeText(); |
662 if (csDV.IsEmpty()) { | 662 if (csDV.IsEmpty()) { |
663 return -1; | 663 return -1; |
664 } | 664 } |
665 int iCount = CountOptions(); | 665 int iCount = CountOptions(); |
666 for (int i = 0; i < iCount; i++) { | 666 for (int i = 0; i < iCount; i++) { |
667 if (csDV == GetOptionValue(i)) { | 667 if (csDV == GetOptionValue(i)) { |
668 return i; | 668 return i; |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
731 return iStartIndex; | 731 return iStartIndex; |
732 } | 732 } |
733 } | 733 } |
734 return -1; | 734 return -1; |
735 } | 735 } |
736 FX_BOOL CPDF_FormField::CheckControl(int iControlIndex, | 736 FX_BOOL CPDF_FormField::CheckControl(int iControlIndex, |
737 FX_BOOL bChecked, | 737 FX_BOOL bChecked, |
738 FX_BOOL bNotify) { | 738 FX_BOOL bNotify) { |
739 ASSERT(GetType() == CheckBox || GetType() == RadioButton); | 739 ASSERT(GetType() == CheckBox || GetType() == RadioButton); |
740 CPDF_FormControl* pControl = GetControl(iControlIndex); | 740 CPDF_FormControl* pControl = GetControl(iControlIndex); |
741 if (pControl == NULL) { | 741 if (!pControl) { |
742 return FALSE; | 742 return FALSE; |
743 } | 743 } |
744 if (!bChecked && pControl->IsChecked() == bChecked) { | 744 if (!bChecked && pControl->IsChecked() == bChecked) { |
745 return FALSE; | 745 return FALSE; |
746 } | 746 } |
747 CFX_ByteArray statusArray; | 747 CFX_ByteArray statusArray; |
748 if (bNotify && m_pForm->m_pFormNotify) { | 748 if (bNotify && m_pForm->m_pFormNotify) { |
749 SaveCheckedFieldStatus(this, statusArray); | 749 SaveCheckedFieldStatus(this, statusArray); |
750 } | 750 } |
751 CFX_WideString csWExport = pControl->GetExportValue(); | 751 CFX_WideString csWExport = pControl->GetExportValue(); |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
843 } | 843 } |
844 } | 844 } |
845 if (bNotify && m_pForm->m_pFormNotify) { | 845 if (bNotify && m_pForm->m_pFormNotify) { |
846 m_pForm->m_pFormNotify->AfterCheckedStatusChange(this, statusArray); | 846 m_pForm->m_pFormNotify->AfterCheckedStatusChange(this, statusArray); |
847 } | 847 } |
848 m_pForm->m_bUpdated = TRUE; | 848 m_pForm->m_bUpdated = TRUE; |
849 return TRUE; | 849 return TRUE; |
850 } | 850 } |
851 int CPDF_FormField::GetTopVisibleIndex() { | 851 int CPDF_FormField::GetTopVisibleIndex() { |
852 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "TI"); | 852 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "TI"); |
853 if (pObj == NULL) { | 853 if (!pObj) { |
854 return 0; | 854 return 0; |
855 } | 855 } |
856 return pObj->GetInteger(); | 856 return pObj->GetInteger(); |
857 } | 857 } |
858 int CPDF_FormField::CountSelectedOptions() { | 858 int CPDF_FormField::CountSelectedOptions() { |
859 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "I"); | 859 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "I"); |
860 if (pObj == NULL) { | 860 if (!pObj) { |
861 return 0; | 861 return 0; |
862 } | 862 } |
863 CPDF_Array* pArray = pObj->GetArray(); | 863 CPDF_Array* pArray = pObj->GetArray(); |
864 if (pArray == NULL) { | 864 if (!pArray) { |
865 return 0; | 865 return 0; |
866 } | 866 } |
867 return (int)pArray->GetCount(); | 867 return (int)pArray->GetCount(); |
868 } | 868 } |
869 int CPDF_FormField::GetSelectedOptionIndex(int index) { | 869 int CPDF_FormField::GetSelectedOptionIndex(int index) { |
870 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "I"); | 870 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "I"); |
871 if (pObj == NULL) { | 871 if (!pObj) { |
872 return -1; | 872 return -1; |
873 } | 873 } |
874 CPDF_Array* pArray = pObj->GetArray(); | 874 CPDF_Array* pArray = pObj->GetArray(); |
875 if (pArray == NULL) { | 875 if (!pArray) { |
876 return -1; | 876 return -1; |
877 } | 877 } |
878 int iCount = (int)pArray->GetCount(); | 878 int iCount = (int)pArray->GetCount(); |
879 if (iCount > 0 && index < iCount) { | 879 if (iCount > 0 && index < iCount) { |
880 return pArray->GetInteger(index); | 880 return pArray->GetInteger(index); |
881 } | 881 } |
882 return -1; | 882 return -1; |
883 } | 883 } |
884 FX_BOOL CPDF_FormField::IsOptionSelected(int iOptIndex) { | 884 FX_BOOL CPDF_FormField::IsOptionSelected(int iOptIndex) { |
885 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "I"); | 885 CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict, "I"); |
886 if (pObj == NULL) { | 886 if (!pObj) { |
887 return FALSE; | 887 return FALSE; |
888 } | 888 } |
889 CPDF_Array* pArray = pObj->GetArray(); | 889 CPDF_Array* pArray = pObj->GetArray(); |
890 if (pArray == NULL) { | 890 if (!pArray) { |
891 return FALSE; | 891 return FALSE; |
892 } | 892 } |
893 int iCount = (int)pArray->GetCount(); | 893 int iCount = (int)pArray->GetCount(); |
894 for (int i = 0; i < iCount; i++) { | 894 for (int i = 0; i < iCount; i++) { |
895 if (pArray->GetInteger(i) == iOptIndex) { | 895 if (pArray->GetInteger(i) == iOptIndex) { |
896 return TRUE; | 896 return TRUE; |
897 } | 897 } |
898 } | 898 } |
899 return FALSE; | 899 return FALSE; |
900 } | 900 } |
901 FX_BOOL CPDF_FormField::SelectOption(int iOptIndex, | 901 FX_BOOL CPDF_FormField::SelectOption(int iOptIndex, |
902 FX_BOOL bSelected, | 902 FX_BOOL bSelected, |
903 FX_BOOL bNotify) { | 903 FX_BOOL bNotify) { |
904 CPDF_Array* pArray = m_pDict->GetArray("I"); | 904 CPDF_Array* pArray = m_pDict->GetArray("I"); |
905 if (pArray == NULL) { | 905 if (!pArray) { |
906 if (!bSelected) { | 906 if (!bSelected) { |
907 return TRUE; | 907 return TRUE; |
908 } | 908 } |
909 pArray = CPDF_Array::Create(); | 909 pArray = CPDF_Array::Create(); |
910 if (pArray == NULL) { | 910 if (!pArray) { |
911 return FALSE; | 911 return FALSE; |
912 } | 912 } |
913 m_pDict->SetAt("I", pArray); | 913 m_pDict->SetAt("I", pArray); |
914 } | 914 } |
915 FX_BOOL bReturn = FALSE; | 915 FX_BOOL bReturn = FALSE; |
916 for (int i = 0; i < (int)pArray->GetCount(); i++) { | 916 for (int i = 0; i < (int)pArray->GetCount(); i++) { |
917 int iFind = pArray->GetInteger(i); | 917 int iFind = pArray->GetInteger(i); |
918 if (iFind == iOptIndex) { | 918 if (iFind == iOptIndex) { |
919 if (bSelected) { | 919 if (bSelected) { |
920 return TRUE; | 920 return TRUE; |
(...skipping 25 matching lines...) Expand all Loading... |
946 iRet = m_pForm->m_pFormNotify->BeforeSelectionChange(this, csValue); | 946 iRet = m_pForm->m_pFormNotify->BeforeSelectionChange(this, csValue); |
947 } | 947 } |
948 if (GetType() == ComboBox) { | 948 if (GetType() == ComboBox) { |
949 iRet = m_pForm->m_pFormNotify->BeforeValueChange(this, csValue); | 949 iRet = m_pForm->m_pFormNotify->BeforeValueChange(this, csValue); |
950 } | 950 } |
951 if (iRet < 0) { | 951 if (iRet < 0) { |
952 return FALSE; | 952 return FALSE; |
953 } | 953 } |
954 } | 954 } |
955 CPDF_Number* pNum = CPDF_Number::Create(iOptIndex); | 955 CPDF_Number* pNum = CPDF_Number::Create(iOptIndex); |
956 if (pNum == NULL) { | 956 if (!pNum) { |
957 return FALSE; | 957 return FALSE; |
958 } | 958 } |
959 pArray->InsertAt(i, pNum); | 959 pArray->InsertAt(i, pNum); |
960 bReturn = TRUE; | 960 bReturn = TRUE; |
961 break; | 961 break; |
962 } | 962 } |
963 } | 963 } |
964 if (!bReturn) { | 964 if (!bReturn) { |
965 if (bSelected) { | 965 if (bSelected) { |
966 pArray->AddInteger(iOptIndex); | 966 pArray->AddInteger(iOptIndex); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1023 } | 1023 } |
1024 CPDF_SimpleParser syntax(DA); | 1024 CPDF_SimpleParser syntax(DA); |
1025 syntax.FindTagParam("Tf", 2); | 1025 syntax.FindTagParam("Tf", 2); |
1026 CFX_ByteString font_name = syntax.GetWord(); | 1026 CFX_ByteString font_name = syntax.GetWord(); |
1027 CPDF_Dictionary* pFontDict = NULL; | 1027 CPDF_Dictionary* pFontDict = NULL; |
1028 if (m_pForm->m_pFormDict && m_pForm->m_pFormDict->GetDict("DR") && | 1028 if (m_pForm->m_pFormDict && m_pForm->m_pFormDict->GetDict("DR") && |
1029 m_pForm->m_pFormDict->GetDict("DR")->GetDict("Font")) | 1029 m_pForm->m_pFormDict->GetDict("DR")->GetDict("Font")) |
1030 pFontDict = m_pForm->m_pFormDict->GetDict("DR")->GetDict("Font")->GetDict( | 1030 pFontDict = m_pForm->m_pFormDict->GetDict("DR")->GetDict("Font")->GetDict( |
1031 font_name); | 1031 font_name); |
1032 | 1032 |
1033 if (pFontDict == NULL) { | 1033 if (!pFontDict) { |
1034 return; | 1034 return; |
1035 } | 1035 } |
1036 m_pFont = m_pForm->m_pDocument->LoadFont(pFontDict); | 1036 m_pFont = m_pForm->m_pDocument->LoadFont(pFontDict); |
1037 m_FontSize = FX_atof(syntax.GetWord()); | 1037 m_FontSize = FX_atof(syntax.GetWord()); |
1038 } | 1038 } |
OLD | NEW |