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

Side by Side Diff: core/fpdfdoc/doc_form.cpp

Issue 2003853003: Remove dead code from CPDF_InterForm. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: rebase Created 4 years, 7 months 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 | « no previous file | core/fpdfdoc/doc_formcontrol.cpp » ('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 <vector> 7 #include <vector>
8 8
9 #include "core/fpdfapi/fpdf_font/include/cpdf_fontencoding.h" 9 #include "core/fpdfapi/fpdf_font/include/cpdf_fontencoding.h"
10 #include "core/fpdfapi/fpdf_page/include/cpdf_page.h" 10 #include "core/fpdfapi/fpdf_page/include/cpdf_page.h"
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 name_extractor.GetNext(pName, nLength); 253 name_extractor.GetNext(pName, nLength);
254 _Node *pNode = &m_Root, *pLast = NULL; 254 _Node *pNode = &m_Root, *pLast = NULL;
255 while (nLength > 0 && pNode) { 255 while (nLength > 0 && pNode) {
256 pLast = pNode; 256 pLast = pNode;
257 CFX_WideString name = CFX_WideString(pName, nLength); 257 CFX_WideString name = CFX_WideString(pName, nLength);
258 pNode = _Lookup(pLast, name); 258 pNode = _Lookup(pLast, name);
259 name_extractor.GetNext(pName, nLength); 259 name_extractor.GetNext(pName, nLength);
260 } 260 }
261 return pNode; 261 return pNode;
262 } 262 }
263 CPDF_InterForm::CPDF_InterForm(CPDF_Document* pDocument, FX_BOOL bGenerateAP) 263
264 CPDF_InterForm::CPDF_InterForm(CPDF_Document* pDocument)
264 : CFX_PrivateData(), 265 : CFX_PrivateData(),
265 m_pDocument(pDocument), 266 m_pDocument(pDocument),
266 m_bGenerateAP(bGenerateAP),
267 m_pFormDict(nullptr), 267 m_pFormDict(nullptr),
268 m_pFieldTree(new CFieldTree), 268 m_pFieldTree(new CFieldTree),
269 m_pFormNotify(nullptr), 269 m_pFormNotify(nullptr) {
270 m_bUpdated(FALSE) {
271 CPDF_Dictionary* pRoot = m_pDocument->GetRoot(); 270 CPDF_Dictionary* pRoot = m_pDocument->GetRoot();
272 if (!pRoot) 271 if (!pRoot)
273 return; 272 return;
274 273
275 m_pFormDict = pRoot->GetDictBy("AcroForm"); 274 m_pFormDict = pRoot->GetDictBy("AcroForm");
276 if (!m_pFormDict) 275 if (!m_pFormDict)
277 return; 276 return;
278 277
279 CPDF_Array* pFields = m_pFormDict->GetArrayBy("Fields"); 278 CPDF_Array* pFields = m_pFormDict->GetArrayBy("Fields");
280 if (!pFields) 279 if (!pFields)
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after
725 } 724 }
726 return nullptr; 725 return nullptr;
727 } 726 }
728 727
729 CPDF_FormControl* CPDF_InterForm::GetControlByDict( 728 CPDF_FormControl* CPDF_InterForm::GetControlByDict(
730 const CPDF_Dictionary* pWidgetDict) const { 729 const CPDF_Dictionary* pWidgetDict) const {
731 const auto it = m_ControlMap.find(pWidgetDict); 730 const auto it = m_ControlMap.find(pWidgetDict);
732 return it != m_ControlMap.end() ? it->second : nullptr; 731 return it != m_ControlMap.end() ? it->second : nullptr;
733 } 732 }
734 733
735 FX_BOOL CPDF_InterForm::NeedConstructAP() { 734 FX_BOOL CPDF_InterForm::NeedConstructAP() const {
736 return m_pFormDict && m_pFormDict->GetBooleanBy("NeedAppearances"); 735 return m_pFormDict && m_pFormDict->GetBooleanBy("NeedAppearances");
737 } 736 }
738 void CPDF_InterForm::NeedConstructAP(FX_BOOL bNeedAP) {
739 if (!m_pFormDict) {
740 InitInterFormDict(m_pFormDict, m_pDocument);
741 }
742 m_pFormDict->SetAtBoolean("NeedAppearances", bNeedAP);
743 m_bGenerateAP = bNeedAP;
744 }
745 737
746 int CPDF_InterForm::CountFieldsInCalculationOrder() { 738 int CPDF_InterForm::CountFieldsInCalculationOrder() {
747 if (!m_pFormDict) { 739 if (!m_pFormDict)
748 return 0; 740 return 0;
749 } 741
750 CPDF_Array* pArray = m_pFormDict->GetArrayBy("CO"); 742 CPDF_Array* pArray = m_pFormDict->GetArrayBy("CO");
751 return pArray ? pArray->GetCount() : 0; 743 return pArray ? pArray->GetCount() : 0;
752 } 744 }
753 745
754 CPDF_FormField* CPDF_InterForm::GetFieldInCalculationOrder(int index) { 746 CPDF_FormField* CPDF_InterForm::GetFieldInCalculationOrder(int index) {
755 if (!m_pFormDict || index < 0) { 747 if (!m_pFormDict || index < 0)
756 return NULL; 748 return nullptr;
757 } 749
758 CPDF_Array* pArray = m_pFormDict->GetArrayBy("CO"); 750 CPDF_Array* pArray = m_pFormDict->GetArrayBy("CO");
759 if (!pArray) { 751 if (!pArray)
760 return NULL; 752 return nullptr;
761 } 753
762 if (CPDF_Dictionary* pElement = 754 CPDF_Dictionary* pElement = ToDictionary(pArray->GetDirectObjectAt(index));
763 ToDictionary(pArray->GetDirectObjectAt(index))) { 755 return pElement ? GetFieldByDict(pElement) : nullptr;
764 return GetFieldByDict(pElement);
765 }
766 return NULL;
767 } 756 }
757
768 int CPDF_InterForm::FindFieldInCalculationOrder(const CPDF_FormField* pField) { 758 int CPDF_InterForm::FindFieldInCalculationOrder(const CPDF_FormField* pField) {
769 if (!m_pFormDict || !pField) { 759 if (!m_pFormDict || !pField)
770 return -1; 760 return -1;
771 } 761
772 CPDF_Array* pArray = m_pFormDict->GetArrayBy("CO"); 762 CPDF_Array* pArray = m_pFormDict->GetArrayBy("CO");
773 if (!pArray) { 763 if (!pArray)
774 return -1; 764 return -1;
775 } 765
776 for (size_t i = 0; i < pArray->GetCount(); i++) { 766 for (size_t i = 0; i < pArray->GetCount(); i++) {
777 CPDF_Object* pElement = pArray->GetDirectObjectAt(i); 767 CPDF_Object* pElement = pArray->GetDirectObjectAt(i);
778 if (pElement == pField->m_pDict) { 768 if (pElement == pField->m_pDict) {
779 return i; 769 return i;
780 } 770 }
781 } 771 }
782 return -1; 772 return -1;
783 } 773 }
774
784 uint32_t CPDF_InterForm::CountFormFonts() { 775 uint32_t CPDF_InterForm::CountFormFonts() {
785 return CountInterFormFonts(m_pFormDict); 776 return CountInterFormFonts(m_pFormDict);
786 } 777 }
778
787 CPDF_Font* CPDF_InterForm::GetFormFont(uint32_t index, 779 CPDF_Font* CPDF_InterForm::GetFormFont(uint32_t index,
788 CFX_ByteString& csNameTag) { 780 CFX_ByteString& csNameTag) {
789 return GetInterFormFont(m_pFormDict, m_pDocument, index, csNameTag); 781 return GetInterFormFont(m_pFormDict, m_pDocument, index, csNameTag);
790 } 782 }
791 CPDF_Font* CPDF_InterForm::GetFormFont(CFX_ByteString csNameTag) { 783 CPDF_Font* CPDF_InterForm::GetFormFont(CFX_ByteString csNameTag) {
792 return GetInterFormFont(m_pFormDict, m_pDocument, csNameTag); 784 return GetInterFormFont(m_pFormDict, m_pDocument, csNameTag);
793 } 785 }
794 CPDF_Font* CPDF_InterForm::GetFormFont(CFX_ByteString csFontName, 786 CPDF_Font* CPDF_InterForm::GetFormFont(CFX_ByteString csFontName,
795 CFX_ByteString& csNameTag) { 787 CFX_ByteString& csNameTag) {
796 return GetInterFormFont(m_pFormDict, m_pDocument, csFontName, csNameTag); 788 return GetInterFormFont(m_pFormDict, m_pDocument, csFontName, csNameTag);
(...skipping 11 matching lines...) Expand all
808 } 800 }
809 FX_BOOL CPDF_InterForm::FindFormFont(CFX_ByteString csFontName, 801 FX_BOOL CPDF_InterForm::FindFormFont(CFX_ByteString csFontName,
810 CPDF_Font*& pFont, 802 CPDF_Font*& pFont,
811 CFX_ByteString& csNameTag) { 803 CFX_ByteString& csNameTag) {
812 return FindInterFormFont(m_pFormDict, m_pDocument, csFontName, pFont, 804 return FindInterFormFont(m_pFormDict, m_pDocument, csFontName, pFont,
813 csNameTag); 805 csNameTag);
814 } 806 }
815 void CPDF_InterForm::AddFormFont(const CPDF_Font* pFont, 807 void CPDF_InterForm::AddFormFont(const CPDF_Font* pFont,
816 CFX_ByteString& csNameTag) { 808 CFX_ByteString& csNameTag) {
817 AddInterFormFont(m_pFormDict, m_pDocument, pFont, csNameTag); 809 AddInterFormFont(m_pFormDict, m_pDocument, pFont, csNameTag);
818 m_bUpdated = TRUE;
819 } 810 }
811
820 CPDF_Font* CPDF_InterForm::AddNativeFormFont(uint8_t charSet, 812 CPDF_Font* CPDF_InterForm::AddNativeFormFont(uint8_t charSet,
821 CFX_ByteString& csNameTag) { 813 CFX_ByteString& csNameTag) {
822 m_bUpdated = TRUE;
823 return AddNativeInterFormFont(m_pFormDict, m_pDocument, charSet, csNameTag); 814 return AddNativeInterFormFont(m_pFormDict, m_pDocument, charSet, csNameTag);
824 } 815 }
816
825 CPDF_Font* CPDF_InterForm::AddNativeFormFont(CFX_ByteString& csNameTag) { 817 CPDF_Font* CPDF_InterForm::AddNativeFormFont(CFX_ByteString& csNameTag) {
826 m_bUpdated = TRUE;
827 return AddNativeInterFormFont(m_pFormDict, m_pDocument, csNameTag); 818 return AddNativeInterFormFont(m_pFormDict, m_pDocument, csNameTag);
828 } 819 }
820
829 void CPDF_InterForm::RemoveFormFont(const CPDF_Font* pFont) { 821 void CPDF_InterForm::RemoveFormFont(const CPDF_Font* pFont) {
830 m_bUpdated = TRUE;
831 RemoveInterFormFont(m_pFormDict, pFont); 822 RemoveInterFormFont(m_pFormDict, pFont);
832 } 823 }
824
833 void CPDF_InterForm::RemoveFormFont(CFX_ByteString csNameTag) { 825 void CPDF_InterForm::RemoveFormFont(CFX_ByteString csNameTag) {
834 m_bUpdated = TRUE;
835 RemoveInterFormFont(m_pFormDict, csNameTag); 826 RemoveInterFormFont(m_pFormDict, csNameTag);
836 } 827 }
837 828
838 CPDF_DefaultAppearance CPDF_InterForm::GetDefaultAppearance() { 829 CPDF_DefaultAppearance CPDF_InterForm::GetDefaultAppearance() {
839 if (!m_pFormDict) 830 if (!m_pFormDict)
840 return CPDF_DefaultAppearance(); 831 return CPDF_DefaultAppearance();
841 return CPDF_DefaultAppearance(m_pFormDict->GetStringBy("DA")); 832 return CPDF_DefaultAppearance(m_pFormDict->GetStringBy("DA"));
842 } 833 }
843 834
844 CPDF_Font* CPDF_InterForm::GetDefaultFormFont() { 835 CPDF_Font* CPDF_InterForm::GetDefaultFormFont() {
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
1164 } 1155 }
1165 if (bNotify && m_pFormNotify) { 1156 if (bNotify && m_pFormNotify) {
1166 if (iType == FIELDTYPE_CHECKBOX || iType == FIELDTYPE_RADIOBUTTON) { 1157 if (iType == FIELDTYPE_CHECKBOX || iType == FIELDTYPE_RADIOBUTTON) {
1167 m_pFormNotify->AfterCheckedStatusChange(pField); 1158 m_pFormNotify->AfterCheckedStatusChange(pField);
1168 } else if (iType == FIELDTYPE_LISTBOX) { 1159 } else if (iType == FIELDTYPE_LISTBOX) {
1169 m_pFormNotify->AfterSelectionChange(pField); 1160 m_pFormNotify->AfterSelectionChange(pField);
1170 } else if (iType == FIELDTYPE_COMBOBOX || iType == FIELDTYPE_TEXTFIELD) { 1161 } else if (iType == FIELDTYPE_COMBOBOX || iType == FIELDTYPE_TEXTFIELD) {
1171 m_pFormNotify->AfterValueChange(pField); 1162 m_pFormNotify->AfterValueChange(pField);
1172 } 1163 }
1173 } 1164 }
1174 if (CPDF_InterForm::m_bUpdateAP) {
1175 pField->UpdateAP(NULL);
1176 }
1177 } 1165 }
1166
1178 FX_BOOL CPDF_InterForm::ImportFromFDF(const CFDF_Document* pFDF, 1167 FX_BOOL CPDF_InterForm::ImportFromFDF(const CFDF_Document* pFDF,
1179 FX_BOOL bNotify) { 1168 FX_BOOL bNotify) {
1180 if (!pFDF) { 1169 if (!pFDF)
1181 return FALSE; 1170 return FALSE;
1182 } 1171
1183 CPDF_Dictionary* pMainDict = pFDF->GetRoot()->GetDictBy("FDF"); 1172 CPDF_Dictionary* pMainDict = pFDF->GetRoot()->GetDictBy("FDF");
1184 if (!pMainDict) { 1173 if (!pMainDict)
1185 return FALSE; 1174 return FALSE;
1186 } 1175
1187 CPDF_Array* pFields = pMainDict->GetArrayBy("Fields"); 1176 CPDF_Array* pFields = pMainDict->GetArrayBy("Fields");
1188 if (!pFields) { 1177 if (!pFields)
1189 return FALSE; 1178 return FALSE;
1190 } 1179
1191 m_bsEncoding = pMainDict->GetStringBy("Encoding"); 1180 m_bsEncoding = pMainDict->GetStringBy("Encoding");
1192 if (bNotify && m_pFormNotify) { 1181 if (bNotify && m_pFormNotify && m_pFormNotify->BeforeFormImportData(this) < 0)
1193 int iRet = m_pFormNotify->BeforeFormImportData(this); 1182 return FALSE;
1194 if (iRet < 0) { 1183
1195 return FALSE;
1196 }
1197 }
1198 for (size_t i = 0; i < pFields->GetCount(); i++) { 1184 for (size_t i = 0; i < pFields->GetCount(); i++) {
1199 CPDF_Dictionary* pField = pFields->GetDictAt(i); 1185 CPDF_Dictionary* pField = pFields->GetDictAt(i);
1200 if (!pField) { 1186 if (!pField)
1201 continue; 1187 continue;
1202 } 1188
1203 FDF_ImportField(pField, L"", bNotify); 1189 FDF_ImportField(pField, L"", bNotify);
1204 } 1190 }
1205 if (bNotify && m_pFormNotify) { 1191 if (bNotify && m_pFormNotify)
1206 m_pFormNotify->AfterFormImportData(this); 1192 m_pFormNotify->AfterFormImportData(this);
1207 }
1208 return TRUE; 1193 return TRUE;
1209 } 1194 }
1210 void CPDF_InterForm::SetFormNotify(const CPDF_FormNotify* pNotify) { 1195
1211 m_pFormNotify = (CPDF_FormNotify*)pNotify; 1196 void CPDF_InterForm::SetFormNotify(IPDF_FormNotify* pNotify) {
1197 m_pFormNotify = pNotify;
1212 } 1198 }
OLDNEW
« no previous file with comments | « no previous file | core/fpdfdoc/doc_formcontrol.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698