| 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 "fpdfsdk/include/formfiller/FFL_CBA_Fontmap.h" | 7 #include "fpdfsdk/include/formfiller/FFL_CBA_Fontmap.h" |
| 8 #include "fpdfsdk/include/formfiller/FFL_ComboBox.h" | 8 #include "fpdfsdk/include/formfiller/FFL_ComboBox.h" |
| 9 #include "fpdfsdk/include/formfiller/FFL_FormFiller.h" | 9 #include "fpdfsdk/include/formfiller/FFL_FormFiller.h" |
| 10 #include "fpdfsdk/include/formfiller/FFL_IFormFiller.h" | 10 #include "fpdfsdk/include/formfiller/FFL_IFormFiller.h" |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 m_pWidget->GetPDFPage(); | 130 m_pWidget->GetPDFPage(); |
| 131 } | 131 } |
| 132 } | 132 } |
| 133 | 133 |
| 134 void CFFL_ComboBox::GetActionData(CPDFSDK_PageView* pPageView, | 134 void CFFL_ComboBox::GetActionData(CPDFSDK_PageView* pPageView, |
| 135 CPDF_AAction::AActionType type, | 135 CPDF_AAction::AActionType type, |
| 136 PDFSDK_FieldAction& fa) { | 136 PDFSDK_FieldAction& fa) { |
| 137 switch (type) { | 137 switch (type) { |
| 138 case CPDF_AAction::KeyStroke: | 138 case CPDF_AAction::KeyStroke: |
| 139 if (CPWL_ComboBox* pComboBox = | 139 if (CPWL_ComboBox* pComboBox = |
| 140 (CPWL_ComboBox*)GetPDFWindow(pPageView, FALSE)) { | 140 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, FALSE))) { |
| 141 if (CPWL_Edit* pEdit = (CPWL_Edit*)*pComboBox) { | 141 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) { |
| 142 fa.bFieldFull = pEdit->IsTextFull(); | 142 fa.bFieldFull = pEdit->IsTextFull(); |
| 143 int nSelStart = 0; | 143 int nSelStart = 0; |
| 144 int nSelEnd = 0; | 144 int nSelEnd = 0; |
| 145 pEdit->GetSel(nSelStart, nSelEnd); | 145 pEdit->GetSel(nSelStart, nSelEnd); |
| 146 fa.nSelEnd = nSelEnd; | 146 fa.nSelEnd = nSelEnd; |
| 147 fa.nSelStart = nSelStart; | 147 fa.nSelStart = nSelStart; |
| 148 fa.sValue = pEdit->GetText(); | 148 fa.sValue = pEdit->GetText(); |
| 149 fa.sChangeEx = GetSelectExportText(); | 149 fa.sChangeEx = GetSelectExportText(); |
| 150 | 150 |
| 151 if (fa.bFieldFull) { | 151 if (fa.bFieldFull) { |
| 152 fa.sChange = L""; | 152 fa.sChange = L""; |
| 153 fa.sChangeEx = L""; | 153 fa.sChangeEx = L""; |
| 154 } | 154 } |
| 155 } | 155 } |
| 156 } | 156 } |
| 157 break; | 157 break; |
| 158 case CPDF_AAction::Validate: | 158 case CPDF_AAction::Validate: |
| 159 if (CPWL_ComboBox* pComboBox = | 159 if (CPWL_ComboBox* pComboBox = |
| 160 (CPWL_ComboBox*)GetPDFWindow(pPageView, FALSE)) { | 160 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, FALSE))) { |
| 161 if (CPWL_Edit* pEdit = (CPWL_Edit*)*pComboBox) { | 161 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) { |
| 162 fa.sValue = pEdit->GetText(); | 162 fa.sValue = pEdit->GetText(); |
| 163 } | 163 } |
| 164 } | 164 } |
| 165 break; | 165 break; |
| 166 case CPDF_AAction::LoseFocus: | 166 case CPDF_AAction::LoseFocus: |
| 167 case CPDF_AAction::GetFocus: | 167 case CPDF_AAction::GetFocus: |
| 168 ASSERT(m_pWidget != NULL); | 168 ASSERT(m_pWidget != NULL); |
| 169 fa.sValue = m_pWidget->GetValue(); | 169 fa.sValue = m_pWidget->GetValue(); |
| 170 break; | 170 break; |
| 171 default: | 171 default: |
| 172 break; | 172 break; |
| 173 } | 173 } |
| 174 } | 174 } |
| 175 | 175 |
| 176 void CFFL_ComboBox::SetActionData(CPDFSDK_PageView* pPageView, | 176 void CFFL_ComboBox::SetActionData(CPDFSDK_PageView* pPageView, |
| 177 CPDF_AAction::AActionType type, | 177 CPDF_AAction::AActionType type, |
| 178 const PDFSDK_FieldAction& fa) { | 178 const PDFSDK_FieldAction& fa) { |
| 179 switch (type) { | 179 switch (type) { |
| 180 case CPDF_AAction::KeyStroke: | 180 case CPDF_AAction::KeyStroke: |
| 181 if (CPWL_ComboBox* pComboBox = | 181 if (CPWL_ComboBox* pComboBox = |
| 182 (CPWL_ComboBox*)GetPDFWindow(pPageView, FALSE)) { | 182 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, FALSE))) { |
| 183 if (CPWL_Edit* pEdit = (CPWL_Edit*)*pComboBox) { | 183 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) { |
| 184 pEdit->SetSel(fa.nSelStart, fa.nSelEnd); | 184 pEdit->SetSel(fa.nSelStart, fa.nSelEnd); |
| 185 pEdit->ReplaceSel(fa.sChange.c_str()); | 185 pEdit->ReplaceSel(fa.sChange.c_str()); |
| 186 } | 186 } |
| 187 } | 187 } |
| 188 break; | 188 break; |
| 189 default: | 189 default: |
| 190 break; | 190 break; |
| 191 } | 191 } |
| 192 } | 192 } |
| 193 | 193 |
| 194 FX_BOOL CFFL_ComboBox::IsActionDataChanged(CPDF_AAction::AActionType type, | 194 FX_BOOL CFFL_ComboBox::IsActionDataChanged(CPDF_AAction::AActionType type, |
| 195 const PDFSDK_FieldAction& faOld, | 195 const PDFSDK_FieldAction& faOld, |
| 196 const PDFSDK_FieldAction& faNew) { | 196 const PDFSDK_FieldAction& faNew) { |
| 197 switch (type) { | 197 switch (type) { |
| 198 case CPDF_AAction::KeyStroke: | 198 case CPDF_AAction::KeyStroke: |
| 199 return (!faOld.bFieldFull && faOld.nSelEnd != faNew.nSelEnd) || | 199 return (!faOld.bFieldFull && faOld.nSelEnd != faNew.nSelEnd) || |
| 200 faOld.nSelStart != faNew.nSelStart || | 200 faOld.nSelStart != faNew.nSelStart || |
| 201 faOld.sChange != faNew.sChange; | 201 faOld.sChange != faNew.sChange; |
| 202 default: | 202 default: |
| 203 break; | 203 break; |
| 204 } | 204 } |
| 205 | 205 |
| 206 return FALSE; | 206 return FALSE; |
| 207 } | 207 } |
| 208 | 208 |
| 209 void CFFL_ComboBox::SaveState(CPDFSDK_PageView* pPageView) { | 209 void CFFL_ComboBox::SaveState(CPDFSDK_PageView* pPageView) { |
| 210 ASSERT(pPageView != NULL); | 210 ASSERT(pPageView != NULL); |
| 211 | 211 |
| 212 if (CPWL_ComboBox* pComboBox = | 212 if (CPWL_ComboBox* pComboBox = |
| 213 (CPWL_ComboBox*)GetPDFWindow(pPageView, FALSE)) { | 213 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, FALSE))) { |
| 214 m_State.nIndex = pComboBox->GetSelect(); | 214 m_State.nIndex = pComboBox->GetSelect(); |
| 215 | 215 |
| 216 if (CPWL_Edit* pEdit = (CPWL_Edit*)*pComboBox) { | 216 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) { |
| 217 pEdit->GetSel(m_State.nStart, m_State.nEnd); | 217 pEdit->GetSel(m_State.nStart, m_State.nEnd); |
| 218 m_State.sValue = pEdit->GetText(); | 218 m_State.sValue = pEdit->GetText(); |
| 219 } | 219 } |
| 220 } | 220 } |
| 221 } | 221 } |
| 222 | 222 |
| 223 void CFFL_ComboBox::RestoreState(CPDFSDK_PageView* pPageView) { | 223 void CFFL_ComboBox::RestoreState(CPDFSDK_PageView* pPageView) { |
| 224 ASSERT(pPageView != NULL); | 224 ASSERT(pPageView != NULL); |
| 225 | 225 |
| 226 if (CPWL_ComboBox* pComboBox = | 226 if (CPWL_ComboBox* pComboBox = |
| 227 (CPWL_ComboBox*)GetPDFWindow(pPageView, TRUE)) { | 227 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, TRUE))) { |
| 228 if (m_State.nIndex >= 0) | 228 if (m_State.nIndex >= 0) |
| 229 pComboBox->SetSelect(m_State.nIndex); | 229 pComboBox->SetSelect(m_State.nIndex); |
| 230 else { | 230 else { |
| 231 if (CPWL_Edit* pEdit = (CPWL_Edit*)*pComboBox) { | 231 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) { |
| 232 pEdit->SetText(m_State.sValue.c_str()); | 232 pEdit->SetText(m_State.sValue.c_str()); |
| 233 pEdit->SetSel(m_State.nStart, m_State.nEnd); | 233 pEdit->SetSel(m_State.nStart, m_State.nEnd); |
| 234 } | 234 } |
| 235 } | 235 } |
| 236 } | 236 } |
| 237 } | 237 } |
| 238 | 238 |
| 239 CPWL_Wnd* CFFL_ComboBox::ResetPDFWindow(CPDFSDK_PageView* pPageView, | 239 CPWL_Wnd* CFFL_ComboBox::ResetPDFWindow(CPDFSDK_PageView* pPageView, |
| 240 FX_BOOL bRestoreValue) { | 240 FX_BOOL bRestoreValue) { |
| 241 if (bRestoreValue) | 241 if (bRestoreValue) |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 299 if (nExport >= 0) { | 299 if (nExport >= 0) { |
| 300 if (CPDF_FormField* pFormField = m_pWidget->GetFormField()) { | 300 if (CPDF_FormField* pFormField = m_pWidget->GetFormField()) { |
| 301 swRet = pFormField->GetOptionValue(nExport); | 301 swRet = pFormField->GetOptionValue(nExport); |
| 302 if (swRet.IsEmpty()) | 302 if (swRet.IsEmpty()) |
| 303 swRet = pFormField->GetOptionLabel(nExport); | 303 swRet = pFormField->GetOptionLabel(nExport); |
| 304 } | 304 } |
| 305 } | 305 } |
| 306 | 306 |
| 307 return swRet; | 307 return swRet; |
| 308 } | 308 } |
| OLD | NEW |