diff options
author | Lei Zhang <thestig@chromium.org> | 2018-04-17 15:12:58 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-04-17 15:12:58 +0000 |
commit | a4c7ac479d291fc3373b9c2f8f25302ecd53b0d5 (patch) | |
tree | 6403f92adcae02ef51897ad932ffc585c2422655 /xfa/fxfa/cxfa_ffcombobox.cpp | |
parent | 3900ddb64f30f36fd6696bd2927cf8f151e6ede9 (diff) | |
download | pdfium-a4c7ac479d291fc3373b9c2f8f25302ecd53b0d5.tar.xz |
Implement FORM_GetFocusedText() API.
If there is a focused form field, get its text.
BUG=chromium:753216
Change-Id: I05294f14d05c1c86769055f6c9eaf9177787d9fd
Reviewed-on: https://pdfium-review.googlesource.com/12072
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/cxfa_ffcombobox.cpp')
-rw-r--r-- | xfa/fxfa/cxfa_ffcombobox.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/xfa/fxfa/cxfa_ffcombobox.cpp b/xfa/fxfa/cxfa_ffcombobox.cpp index 268d1da2b4..e4de85c517 100644 --- a/xfa/fxfa/cxfa_ffcombobox.cpp +++ b/xfa/fxfa/cxfa_ffcombobox.cpp @@ -116,14 +116,7 @@ bool CXFA_FFComboBox::CommitData() { } bool CXFA_FFComboBox::IsDataChanged() { - auto* pFWLcombobox = ToComboBox(m_pNormalWidget.get()); - WideString wsText = pFWLcombobox->GetEditText(); - int32_t iCursel = pFWLcombobox->GetCurSel(); - if (iCursel >= 0) { - WideString wsSel = pFWLcombobox->GetTextByIndex(iCursel); - if (wsSel == wsText) - wsText = m_pNode->GetChoiceListItem(iCursel, true).value_or(L""); - } + WideString wsText = GetCurrentText(); if (m_pNode->GetValue(XFA_VALUEPICTURE_Raw) == wsText) return false; @@ -138,6 +131,18 @@ void CXFA_FFComboBox::FWLEventSelChange(CXFA_EventParam* pParam) { m_pNode->ProcessEvent(GetDocView(), XFA_AttributeEnum::Change, pParam); } +WideString CXFA_FFComboBox::GetCurrentText() const { + auto* pFWLcombobox = ToComboBox(m_pNormalWidget.get()); + WideString wsText = pFWLcombobox->GetEditText(); + int32_t iCursel = pFWLcombobox->GetCurSel(); + if (iCursel >= 0) { + WideString wsSel = pFWLcombobox->GetTextByIndex(iCursel); + if (wsSel == wsText) + wsText = m_pNode->GetChoiceListItem(iCursel, true).value_or(L""); + } + return wsText; +} + uint32_t CXFA_FFComboBox::GetAlignment() { CXFA_Para* para = m_pNode->GetParaIfExists(); if (!para) @@ -259,6 +264,10 @@ void CXFA_FFComboBox::DeSelect() { ToComboBox(m_pNormalWidget.get())->EditDeSelect(); } +WideString CXFA_FFComboBox::GetText() { + return GetCurrentText(); +} + FormFieldType CXFA_FFComboBox::GetFormFieldType() { return FormFieldType::kXFA_ComboBox; } |