diff options
Diffstat (limited to 'core/fpdfdoc/cpdf_formfield.cpp')
-rw-r--r-- | core/fpdfdoc/cpdf_formfield.cpp | 118 |
1 files changed, 58 insertions, 60 deletions
diff --git a/core/fpdfdoc/cpdf_formfield.cpp b/core/fpdfdoc/cpdf_formfield.cpp index acb46a5beb..fec1945956 100644 --- a/core/fpdfdoc/cpdf_formfield.cpp +++ b/core/fpdfdoc/cpdf_formfield.cpp @@ -65,13 +65,13 @@ CPDF_Object* FPDF_GetFieldAttr(const CPDF_Dictionary* pFieldDict, return FPDF_GetFieldAttr(pParent, name, nLevel + 1); } -CFX_WideString FPDF_GetFullName(CPDF_Dictionary* pFieldDict) { - CFX_WideString full_name; +WideString FPDF_GetFullName(CPDF_Dictionary* pFieldDict) { + WideString full_name; std::set<CPDF_Dictionary*> visited; CPDF_Dictionary* pLevel = pFieldDict; while (pLevel) { visited.insert(pLevel); - CFX_WideString short_name = pLevel->GetUnicodeTextFor("T"); + WideString short_name = pLevel->GetUnicodeTextFor("T"); if (!short_name.IsEmpty()) { if (full_name.IsEmpty()) full_name = short_name; @@ -98,7 +98,7 @@ CPDF_FormField::~CPDF_FormField() {} void CPDF_FormField::SyncFieldFlags() { CPDF_Object* ft_attr = FPDF_GetFieldAttr(m_pDict.Get(), "FT"); - CFX_ByteString type_name = ft_attr ? ft_attr->GetString() : CFX_ByteString(); + ByteString type_name = ft_attr ? ft_attr->GetString() : ByteString(); CPDF_Object* ff_attr = FPDF_GetFieldAttr(m_pDict.Get(), "Ff"); uint32_t flags = ff_attr ? ff_attr->GetInteger() : 0; m_Flags = 0; @@ -154,7 +154,7 @@ void CPDF_FormField::SyncFieldFlags() { } } -CFX_WideString CPDF_FormField::GetFullName() const { +WideString CPDF_FormField::GetFullName() const { return FPDF_GetFullName(m_pDict.Get()); } @@ -180,7 +180,7 @@ bool CPDF_FormField::ResetField(bool bNotify) { } case CPDF_FormField::ComboBox: case CPDF_FormField::ListBox: { - CFX_WideString csValue; + WideString csValue; ClearSelection(); int iIndex = GetDefaultSelectedItem(); if (iIndex >= 0) @@ -199,12 +199,12 @@ bool CPDF_FormField::ResetField(bool bNotify) { case CPDF_FormField::File: default: { CPDF_Object* pDV = FPDF_GetFieldAttr(m_pDict.Get(), "DV"); - CFX_WideString csDValue; + WideString csDValue; if (pDV) csDValue = pDV->GetUnicodeText(); CPDF_Object* pV = FPDF_GetFieldAttr(m_pDict.Get(), "V"); - CFX_WideString csValue; + WideString csValue; if (pV) csValue = pV->GetUnicodeText(); @@ -272,12 +272,12 @@ CPDF_AAction CPDF_FormField::GetAdditionalAction() const { return CPDF_AAction(pObj ? pObj->GetDict() : nullptr); } -CFX_WideString CPDF_FormField::GetAlternateName() const { +WideString CPDF_FormField::GetAlternateName() const { CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict.Get(), "TU"); return pObj ? pObj->GetUnicodeText() : L""; } -CFX_WideString CPDF_FormField::GetMappingName() const { +WideString CPDF_FormField::GetMappingName() const { CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict.Get(), "TM"); return pObj ? pObj->GetUnicodeText() : L""; } @@ -287,17 +287,17 @@ uint32_t CPDF_FormField::GetFieldFlags() const { return pObj ? pObj->GetInteger() : 0; } -CFX_ByteString CPDF_FormField::GetDefaultStyle() const { +ByteString CPDF_FormField::GetDefaultStyle() const { CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict.Get(), "DS"); return pObj ? pObj->GetString() : ""; } -CFX_WideString CPDF_FormField::GetRichTextString() const { +WideString CPDF_FormField::GetRichTextString() const { CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict.Get(), "RV"); return pObj ? pObj->GetUnicodeText() : L""; } -CFX_WideString CPDF_FormField::GetValue(bool bDefault) const { +WideString CPDF_FormField::GetValue(bool bDefault) const { if (GetType() == CheckBox || GetType() == RadioButton) return GetCheckValue(bDefault); @@ -310,7 +310,7 @@ CFX_WideString CPDF_FormField::GetValue(bool bDefault) const { pValue = FPDF_GetFieldAttr(m_pDict.Get(), "DV"); } if (!pValue) - return CFX_WideString(); + return WideString(); } switch (pValue->GetType()) { @@ -325,18 +325,18 @@ CFX_WideString CPDF_FormField::GetValue(bool bDefault) const { default: break; } - return CFX_WideString(); + return WideString(); } -CFX_WideString CPDF_FormField::GetValue() const { +WideString CPDF_FormField::GetValue() const { return GetValue(false); } -CFX_WideString CPDF_FormField::GetDefaultValue() const { +WideString CPDF_FormField::GetDefaultValue() const { return GetValue(true); } -bool CPDF_FormField::SetValue(const CFX_WideString& value, +bool CPDF_FormField::SetValue(const WideString& value, bool bDefault, bool bNotify) { switch (m_Type) { @@ -349,14 +349,14 @@ bool CPDF_FormField::SetValue(const CFX_WideString& value, case RichText: case Text: case ComboBox: { - CFX_WideString csValue = value; + WideString csValue = value; if (bNotify && !NotifyBeforeValueChange(csValue)) return false; - CFX_ByteString key(bDefault ? "DV" : "V"); + ByteString key(bDefault ? "DV" : "V"); int iIndex = FindOptionValue(csValue); if (iIndex < 0) { - CFX_ByteString bsEncodeText = PDF_EncodeText(csValue); + ByteString bsEncodeText = PDF_EncodeText(csValue); m_pDict->SetNewFor<CPDF_String>(key, bsEncodeText, false); if (m_Type == RichText && !bDefault) m_pDict->SetNewFor<CPDF_String>("RV", bsEncodeText, false); @@ -397,7 +397,7 @@ bool CPDF_FormField::SetValue(const CFX_WideString& value, return true; } -bool CPDF_FormField::SetValue(const CFX_WideString& value, bool bNotify) { +bool CPDF_FormField::SetValue(const WideString& value, bool bNotify) { return SetValue(value, false, bNotify); } @@ -440,7 +440,7 @@ int CPDF_FormField::GetSelectedIndex(int index) const { if (pValue->IsNumber()) return pValue->GetInteger(); - CFX_WideString sel_value; + WideString sel_value; if (pValue->IsString()) { if (index != 0) return -1; @@ -451,12 +451,11 @@ int CPDF_FormField::GetSelectedIndex(int index) const { return -1; CPDF_Object* elementValue = pArray->GetDirectObjectAt(index); - sel_value = - elementValue ? elementValue->GetUnicodeText() : CFX_WideString(); + sel_value = elementValue ? elementValue->GetUnicodeText() : WideString(); } if (index < CountSelectedOptions()) { int iOptIndex = GetSelectedOptionIndex(index); - CFX_WideString csOpt = GetOptionValue(iOptIndex); + WideString csOpt = GetOptionValue(iOptIndex); if (csOpt == sel_value) return iOptIndex; } @@ -469,7 +468,7 @@ int CPDF_FormField::GetSelectedIndex(int index) const { bool CPDF_FormField::ClearSelection(bool bNotify) { if (bNotify && m_pForm->m_pFormNotify) { - CFX_WideString csValue; + WideString csValue; int iIndex = GetSelectedIndex(0); if (iIndex >= 0) csValue = GetOptionLabel(iIndex); @@ -491,7 +490,7 @@ bool CPDF_FormField::IsItemSelected(int index) const { if (IsOptionSelected(index)) return true; - CFX_WideString opt_value = GetOptionValue(index); + WideString opt_value = GetOptionValue(index); CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict.Get(), "V"); if (!pValue) { pValue = FPDF_GetFieldAttr(m_pDict.Get(), "I"); @@ -532,7 +531,7 @@ bool CPDF_FormField::SetItemSelection(int index, bool bSelected, bool bNotify) { if (index < 0 || index >= CountOptions()) return false; - CFX_WideString opt_value = GetOptionValue(index); + WideString opt_value = GetOptionValue(index); if (bNotify && !NotifyListOrComboBoxBeforeChange(opt_value)) return false; @@ -598,7 +597,7 @@ int CPDF_FormField::GetDefaultSelectedItem() const { CPDF_Object* pValue = FPDF_GetFieldAttr(m_pDict.Get(), "DV"); if (!pValue) return -1; - CFX_WideString csDV = pValue->GetUnicodeText(); + WideString csDV = pValue->GetUnicodeText(); if (csDV.IsEmpty()) return -1; for (int i = 0; i < CountOptions(); i++) { @@ -613,30 +612,30 @@ int CPDF_FormField::CountOptions() const { return pArray ? pArray->GetCount() : 0; } -CFX_WideString CPDF_FormField::GetOptionText(int index, int sub_index) const { +WideString CPDF_FormField::GetOptionText(int index, int sub_index) const { CPDF_Array* pArray = ToArray(FPDF_GetFieldAttr(m_pDict.Get(), "Opt")); if (!pArray) - return CFX_WideString(); + return WideString(); CPDF_Object* pOption = pArray->GetDirectObjectAt(index); if (!pOption) - return CFX_WideString(); + return WideString(); if (CPDF_Array* pOptionArray = pOption->AsArray()) pOption = pOptionArray->GetDirectObjectAt(sub_index); CPDF_String* pString = ToString(pOption); - return pString ? pString->GetUnicodeText() : CFX_WideString(); + return pString ? pString->GetUnicodeText() : WideString(); } -CFX_WideString CPDF_FormField::GetOptionLabel(int index) const { +WideString CPDF_FormField::GetOptionLabel(int index) const { return GetOptionText(index, 1); } -CFX_WideString CPDF_FormField::GetOptionValue(int index) const { +WideString CPDF_FormField::GetOptionValue(int index) const { return GetOptionText(index, 0); } -int CPDF_FormField::FindOption(CFX_WideString csOptLabel) const { +int CPDF_FormField::FindOption(WideString csOptLabel) const { for (int i = 0; i < CountOptions(); i++) { if (GetOptionValue(i) == csOptLabel) return i; @@ -644,7 +643,7 @@ int CPDF_FormField::FindOption(CFX_WideString csOptLabel) const { return -1; } -int CPDF_FormField::FindOptionValue(const CFX_WideString& csOptValue) const { +int CPDF_FormField::FindOptionValue(const WideString& csOptValue) const { for (int i = 0; i < CountOptions(); i++) { if (GetOptionValue(i) == csOptValue) return i; @@ -653,7 +652,7 @@ int CPDF_FormField::FindOptionValue(const CFX_WideString& csOptValue) const { } #ifdef PDF_ENABLE_XFA -int CPDF_FormField::InsertOption(CFX_WideString csOptLabel, +int CPDF_FormField::InsertOption(WideString csOptLabel, int index, bool bNotify) { if (csOptLabel.IsEmpty()) @@ -662,7 +661,7 @@ int CPDF_FormField::InsertOption(CFX_WideString csOptLabel, if (bNotify && !NotifyListOrComboBoxBeforeChange(csOptLabel)) return -1; - CFX_ByteString csStr = PDF_EncodeText(csOptLabel); + ByteString csStr = PDF_EncodeText(csOptLabel); CPDF_Array* pOpt = ToArray(FPDF_GetFieldAttr(m_pDict.Get(), "Opt")); if (!pOpt) pOpt = m_pDict->SetNewFor<CPDF_Array>("Opt"); @@ -682,7 +681,7 @@ int CPDF_FormField::InsertOption(CFX_WideString csOptLabel, bool CPDF_FormField::ClearOptions(bool bNotify) { if (bNotify && m_pForm->m_pFormNotify) { - CFX_WideString csValue; + WideString csValue; int iIndex = GetSelectedIndex(0); if (iIndex >= 0) csValue = GetOptionLabel(iIndex); @@ -713,14 +712,14 @@ bool CPDF_FormField::CheckControl(int iControlIndex, if (!bChecked && pControl->IsChecked() == bChecked) return false; - CFX_WideString csWExport = pControl->GetExportValue(); - CFX_ByteString csBExport = PDF_EncodeText(csWExport); + WideString csWExport = pControl->GetExportValue(); + ByteString csBExport = PDF_EncodeText(csWExport); int iCount = CountControls(); bool bUnison = IsUnison(this); for (int i = 0; i < iCount; i++) { CPDF_FormControl* pCtrl = GetControl(i); if (bUnison) { - CFX_WideString csEValue = pCtrl->GetExportValue(); + WideString csEValue = pCtrl->GetExportValue(); if (csEValue == csWExport) { if (pCtrl->GetOnStateName() == pControl->GetOnStateName()) pCtrl->CheckControl(bChecked); @@ -742,7 +741,7 @@ bool CPDF_FormField::CheckControl(int iControlIndex, if (bChecked) { m_pDict->SetNewFor<CPDF_Name>("V", csBExport); } else { - CFX_ByteString csV; + ByteString csV; CPDF_Object* pV = FPDF_GetFieldAttr(m_pDict.Get(), "V"); if (pV) csV = pV->GetString(); @@ -750,7 +749,7 @@ bool CPDF_FormField::CheckControl(int iControlIndex, m_pDict->SetNewFor<CPDF_Name>("V", "Off"); } } else if (bChecked) { - CFX_ByteString csIndex; + ByteString csIndex; csIndex.Format("%d", iControlIndex); m_pDict->SetNewFor<CPDF_Name>("V", csIndex); } @@ -759,9 +758,9 @@ bool CPDF_FormField::CheckControl(int iControlIndex, return true; } -CFX_WideString CPDF_FormField::GetCheckValue(bool bDefault) const { +WideString CPDF_FormField::GetCheckValue(bool bDefault) const { ASSERT(GetType() == CheckBox || GetType() == RadioButton); - CFX_WideString csExport = L"Off"; + WideString csExport = L"Off"; int iCount = CountControls(); for (int i = 0; i < iCount; i++) { CPDF_FormControl* pControl = GetControl(i); @@ -775,14 +774,14 @@ CFX_WideString CPDF_FormField::GetCheckValue(bool bDefault) const { return csExport; } -bool CPDF_FormField::SetCheckValue(const CFX_WideString& value, +bool CPDF_FormField::SetCheckValue(const WideString& value, bool bDefault, bool bNotify) { ASSERT(GetType() == CheckBox || GetType() == RadioButton); int iCount = CountControls(); for (int i = 0; i < iCount; i++) { CPDF_FormControl* pControl = GetControl(i); - CFX_WideString csExport = pControl->GetExportValue(); + WideString csExport = pControl->GetExportValue(); bool val = csExport == value; if (!bDefault) CheckControl(GetControlIndex(pControl), val); @@ -844,7 +843,7 @@ bool CPDF_FormField::SelectOption(int iOptIndex, bool bSelected, bool bNotify) { return true; if (bNotify && m_pForm->m_pFormNotify) { - CFX_WideString csValue = GetOptionLabel(iOptIndex); + WideString csValue = GetOptionLabel(iOptIndex); if (!NotifyListOrComboBoxBeforeChange(csValue)) return false; } @@ -858,7 +857,7 @@ bool CPDF_FormField::SelectOption(int iOptIndex, bool bSelected, bool bNotify) { continue; if (bNotify && m_pForm->m_pFormNotify) { - CFX_WideString csValue = GetOptionLabel(iOptIndex); + WideString csValue = GetOptionLabel(iOptIndex); if (!NotifyListOrComboBoxBeforeChange(csValue)) return false; } @@ -882,7 +881,7 @@ bool CPDF_FormField::SelectOption(int iOptIndex, bool bSelected, bool bNotify) { bool CPDF_FormField::ClearSelectedOptions(bool bNotify) { if (bNotify && m_pForm->m_pFormNotify) { - CFX_WideString csValue; + WideString csValue; int iIndex = GetSelectedIndex(0); if (iIndex >= 0) csValue = GetOptionLabel(iIndex); @@ -902,7 +901,7 @@ void CPDF_FormField::LoadDA() { if (!pFormDict) return; - CFX_ByteString DA; + ByteString DA; if (CPDF_Object* pObj = FPDF_GetFieldAttr(m_pDict.Get(), "DA")) DA = pObj->GetString(); @@ -920,9 +919,9 @@ void CPDF_FormField::LoadDA() { if (!pFont) return; - CPDF_SimpleParser syntax(DA.AsStringC()); + CPDF_SimpleParser syntax(DA.AsStringView()); syntax.FindTagParamFromStart("Tf", 2); - CFX_ByteString font_name(syntax.GetWord()); + ByteString font_name(syntax.GetWord()); CPDF_Dictionary* pFontDict = pFont->GetDictFor(font_name); if (!pFontDict) return; @@ -931,7 +930,7 @@ void CPDF_FormField::LoadDA() { m_FontSize = FX_atof(syntax.GetWord()); } -bool CPDF_FormField::NotifyBeforeSelectionChange(const CFX_WideString& value) { +bool CPDF_FormField::NotifyBeforeSelectionChange(const WideString& value) { if (!m_pForm->m_pFormNotify) return true; return m_pForm->m_pFormNotify->BeforeSelectionChange(this, value) >= 0; @@ -943,7 +942,7 @@ void CPDF_FormField::NotifyAfterSelectionChange() { m_pForm->m_pFormNotify->AfterSelectionChange(this); } -bool CPDF_FormField::NotifyBeforeValueChange(const CFX_WideString& value) { +bool CPDF_FormField::NotifyBeforeValueChange(const WideString& value) { if (!m_pForm->m_pFormNotify) return true; return m_pForm->m_pFormNotify->BeforeValueChange(this, value) >= 0; @@ -955,8 +954,7 @@ void CPDF_FormField::NotifyAfterValueChange() { m_pForm->m_pFormNotify->AfterValueChange(this); } -bool CPDF_FormField::NotifyListOrComboBoxBeforeChange( - const CFX_WideString& value) { +bool CPDF_FormField::NotifyListOrComboBoxBeforeChange(const WideString& value) { switch (GetType()) { case ListBox: return NotifyBeforeSelectionChange(value); |