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

Side by Side Diff: fpdfsdk/formfiller/cffl_combobox.cpp

Issue 2453683011: Remove FX_BOOL from fpdfsdk. (Closed)
Patch Set: Regenerate patch after rebase. Created 4 years, 1 month 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 | « fpdfsdk/formfiller/cffl_combobox.h ('k') | fpdfsdk/formfiller/cffl_formfiller.h » ('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 "fpdfsdk/formfiller/cffl_combobox.h" 7 #include "fpdfsdk/formfiller/cffl_combobox.h"
8 8
9 #include "fpdfsdk/cpdfsdk_formfillenvironment.h" 9 #include "fpdfsdk/cpdfsdk_formfillenvironment.h"
10 #include "fpdfsdk/cpdfsdk_widget.h" 10 #include "fpdfsdk/cpdfsdk_widget.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 68
69 for (int32_t i = 0, sz = m_pWidget->CountOptions(); i < sz; i++) { 69 for (int32_t i = 0, sz = m_pWidget->CountOptions(); i < sz; i++) {
70 pWnd->AddString(m_pWidget->GetOptionLabel(i)); 70 pWnd->AddString(m_pWidget->GetOptionLabel(i));
71 } 71 }
72 72
73 pWnd->SetSelect(nCurSel); 73 pWnd->SetSelect(nCurSel);
74 pWnd->SetText(swText); 74 pWnd->SetText(swText);
75 return pWnd; 75 return pWnd;
76 } 76 }
77 77
78 FX_BOOL CFFL_ComboBox::OnChar(CPDFSDK_Annot* pAnnot, 78 bool CFFL_ComboBox::OnChar(CPDFSDK_Annot* pAnnot,
79 uint32_t nChar, 79 uint32_t nChar,
80 uint32_t nFlags) { 80 uint32_t nFlags) {
81 return CFFL_FormFiller::OnChar(pAnnot, nChar, nFlags); 81 return CFFL_FormFiller::OnChar(pAnnot, nChar, nFlags);
82 } 82 }
83 83
84 FX_BOOL CFFL_ComboBox::IsDataChanged(CPDFSDK_PageView* pPageView) { 84 bool CFFL_ComboBox::IsDataChanged(CPDFSDK_PageView* pPageView) {
85 CPWL_ComboBox* pWnd = (CPWL_ComboBox*)GetPDFWindow(pPageView, FALSE); 85 CPWL_ComboBox* pWnd = (CPWL_ComboBox*)GetPDFWindow(pPageView, false);
86 if (!pWnd) 86 if (!pWnd)
87 return FALSE; 87 return false;
88 88
89 int32_t nCurSel = pWnd->GetSelect(); 89 int32_t nCurSel = pWnd->GetSelect();
90 if (!(m_pWidget->GetFieldFlags() & FIELDFLAG_EDIT)) 90 if (!(m_pWidget->GetFieldFlags() & FIELDFLAG_EDIT))
91 return nCurSel != m_pWidget->GetSelectedIndex(0); 91 return nCurSel != m_pWidget->GetSelectedIndex(0);
92 92
93 if (nCurSel >= 0) 93 if (nCurSel >= 0)
94 return nCurSel != m_pWidget->GetSelectedIndex(0); 94 return nCurSel != m_pWidget->GetSelectedIndex(0);
95 95
96 return pWnd->GetText() != m_pWidget->GetValue(); 96 return pWnd->GetText() != m_pWidget->GetValue();
97 } 97 }
98 98
99 void CFFL_ComboBox::SaveData(CPDFSDK_PageView* pPageView) { 99 void CFFL_ComboBox::SaveData(CPDFSDK_PageView* pPageView) {
100 CPWL_ComboBox* pWnd = 100 CPWL_ComboBox* pWnd =
101 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, FALSE)); 101 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, false));
102 if (!pWnd) 102 if (!pWnd)
103 return; 103 return;
104 104
105 CFX_WideString swText = pWnd->GetText(); 105 CFX_WideString swText = pWnd->GetText();
106 int32_t nCurSel = pWnd->GetSelect(); 106 int32_t nCurSel = pWnd->GetSelect();
107 107
108 bool bSetValue = false; 108 bool bSetValue = false;
109 109
110 if (m_pWidget->GetFieldFlags() & FIELDFLAG_EDIT) 110 if (m_pWidget->GetFieldFlags() & FIELDFLAG_EDIT)
111 bSetValue = (nCurSel < 0) || (swText != m_pWidget->GetOptionLabel(nCurSel)); 111 bSetValue = (nCurSel < 0) || (swText != m_pWidget->GetOptionLabel(nCurSel));
112 112
113 if (bSetValue) { 113 if (bSetValue) {
114 m_pWidget->SetValue(swText, FALSE); 114 m_pWidget->SetValue(swText, false);
115 } else { 115 } else {
116 m_pWidget->GetSelectedIndex(0); 116 m_pWidget->GetSelectedIndex(0);
117 m_pWidget->SetOptionSelection(nCurSel, TRUE, FALSE); 117 m_pWidget->SetOptionSelection(nCurSel, true, false);
118 } 118 }
119 119
120 m_pWidget->ResetFieldAppearance(TRUE); 120 m_pWidget->ResetFieldAppearance(true);
121 m_pWidget->UpdateField(); 121 m_pWidget->UpdateField();
122 SetChangeMark(); 122 SetChangeMark();
123 123
124 m_pWidget->GetPDFPage(); 124 m_pWidget->GetPDFPage();
125 } 125 }
126 126
127 void CFFL_ComboBox::GetActionData(CPDFSDK_PageView* pPageView, 127 void CFFL_ComboBox::GetActionData(CPDFSDK_PageView* pPageView,
128 CPDF_AAction::AActionType type, 128 CPDF_AAction::AActionType type,
129 PDFSDK_FieldAction& fa) { 129 PDFSDK_FieldAction& fa) {
130 switch (type) { 130 switch (type) {
131 case CPDF_AAction::KeyStroke: 131 case CPDF_AAction::KeyStroke:
132 if (CPWL_ComboBox* pComboBox = 132 if (CPWL_ComboBox* pComboBox =
133 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, FALSE))) { 133 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, false))) {
134 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) { 134 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) {
135 fa.bFieldFull = pEdit->IsTextFull(); 135 fa.bFieldFull = pEdit->IsTextFull();
136 int nSelStart = 0; 136 int nSelStart = 0;
137 int nSelEnd = 0; 137 int nSelEnd = 0;
138 pEdit->GetSel(nSelStart, nSelEnd); 138 pEdit->GetSel(nSelStart, nSelEnd);
139 fa.nSelEnd = nSelEnd; 139 fa.nSelEnd = nSelEnd;
140 fa.nSelStart = nSelStart; 140 fa.nSelStart = nSelStart;
141 fa.sValue = pEdit->GetText(); 141 fa.sValue = pEdit->GetText();
142 fa.sChangeEx = GetSelectExportText(); 142 fa.sChangeEx = GetSelectExportText();
143 143
144 if (fa.bFieldFull) { 144 if (fa.bFieldFull) {
145 fa.sChange = L""; 145 fa.sChange = L"";
146 fa.sChangeEx = L""; 146 fa.sChangeEx = L"";
147 } 147 }
148 } 148 }
149 } 149 }
150 break; 150 break;
151 case CPDF_AAction::Validate: 151 case CPDF_AAction::Validate:
152 if (CPWL_ComboBox* pComboBox = 152 if (CPWL_ComboBox* pComboBox =
153 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, FALSE))) { 153 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, false))) {
154 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) { 154 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) {
155 fa.sValue = pEdit->GetText(); 155 fa.sValue = pEdit->GetText();
156 } 156 }
157 } 157 }
158 break; 158 break;
159 case CPDF_AAction::LoseFocus: 159 case CPDF_AAction::LoseFocus:
160 case CPDF_AAction::GetFocus: 160 case CPDF_AAction::GetFocus:
161 fa.sValue = m_pWidget->GetValue(); 161 fa.sValue = m_pWidget->GetValue();
162 break; 162 break;
163 default: 163 default:
164 break; 164 break;
165 } 165 }
166 } 166 }
167 167
168 void CFFL_ComboBox::SetActionData(CPDFSDK_PageView* pPageView, 168 void CFFL_ComboBox::SetActionData(CPDFSDK_PageView* pPageView,
169 CPDF_AAction::AActionType type, 169 CPDF_AAction::AActionType type,
170 const PDFSDK_FieldAction& fa) { 170 const PDFSDK_FieldAction& fa) {
171 switch (type) { 171 switch (type) {
172 case CPDF_AAction::KeyStroke: 172 case CPDF_AAction::KeyStroke:
173 if (CPWL_ComboBox* pComboBox = 173 if (CPWL_ComboBox* pComboBox =
174 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, FALSE))) { 174 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, false))) {
175 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) { 175 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) {
176 pEdit->SetSel(fa.nSelStart, fa.nSelEnd); 176 pEdit->SetSel(fa.nSelStart, fa.nSelEnd);
177 pEdit->ReplaceSel(fa.sChange); 177 pEdit->ReplaceSel(fa.sChange);
178 } 178 }
179 } 179 }
180 break; 180 break;
181 default: 181 default:
182 break; 182 break;
183 } 183 }
184 } 184 }
185 185
186 FX_BOOL CFFL_ComboBox::IsActionDataChanged(CPDF_AAction::AActionType type, 186 bool CFFL_ComboBox::IsActionDataChanged(CPDF_AAction::AActionType type,
187 const PDFSDK_FieldAction& faOld, 187 const PDFSDK_FieldAction& faOld,
188 const PDFSDK_FieldAction& faNew) { 188 const PDFSDK_FieldAction& faNew) {
189 switch (type) { 189 switch (type) {
190 case CPDF_AAction::KeyStroke: 190 case CPDF_AAction::KeyStroke:
191 return (!faOld.bFieldFull && faOld.nSelEnd != faNew.nSelEnd) || 191 return (!faOld.bFieldFull && faOld.nSelEnd != faNew.nSelEnd) ||
192 faOld.nSelStart != faNew.nSelStart || 192 faOld.nSelStart != faNew.nSelStart ||
193 faOld.sChange != faNew.sChange; 193 faOld.sChange != faNew.sChange;
194 default: 194 default:
195 break; 195 break;
196 } 196 }
197 197
198 return FALSE; 198 return false;
199 } 199 }
200 200
201 void CFFL_ComboBox::SaveState(CPDFSDK_PageView* pPageView) { 201 void CFFL_ComboBox::SaveState(CPDFSDK_PageView* pPageView) {
202 ASSERT(pPageView); 202 ASSERT(pPageView);
203 203
204 if (CPWL_ComboBox* pComboBox = 204 if (CPWL_ComboBox* pComboBox =
205 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, FALSE))) { 205 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, false))) {
206 m_State.nIndex = pComboBox->GetSelect(); 206 m_State.nIndex = pComboBox->GetSelect();
207 207
208 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) { 208 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) {
209 pEdit->GetSel(m_State.nStart, m_State.nEnd); 209 pEdit->GetSel(m_State.nStart, m_State.nEnd);
210 m_State.sValue = pEdit->GetText(); 210 m_State.sValue = pEdit->GetText();
211 } 211 }
212 } 212 }
213 } 213 }
214 214
215 void CFFL_ComboBox::RestoreState(CPDFSDK_PageView* pPageView) { 215 void CFFL_ComboBox::RestoreState(CPDFSDK_PageView* pPageView) {
216 ASSERT(pPageView); 216 ASSERT(pPageView);
217 217
218 if (CPWL_ComboBox* pComboBox = 218 if (CPWL_ComboBox* pComboBox =
219 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, TRUE))) { 219 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, true))) {
220 if (m_State.nIndex >= 0) { 220 if (m_State.nIndex >= 0) {
221 pComboBox->SetSelect(m_State.nIndex); 221 pComboBox->SetSelect(m_State.nIndex);
222 } else { 222 } else {
223 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) { 223 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) {
224 pEdit->SetText(m_State.sValue); 224 pEdit->SetText(m_State.sValue);
225 pEdit->SetSel(m_State.nStart, m_State.nEnd); 225 pEdit->SetSel(m_State.nStart, m_State.nEnd);
226 } 226 }
227 } 227 }
228 } 228 }
229 } 229 }
230 230
231 CPWL_Wnd* CFFL_ComboBox::ResetPDFWindow(CPDFSDK_PageView* pPageView, 231 CPWL_Wnd* CFFL_ComboBox::ResetPDFWindow(CPDFSDK_PageView* pPageView,
232 FX_BOOL bRestoreValue) { 232 bool bRestoreValue) {
233 if (bRestoreValue) 233 if (bRestoreValue)
234 SaveState(pPageView); 234 SaveState(pPageView);
235 235
236 DestroyPDFWindow(pPageView); 236 DestroyPDFWindow(pPageView);
237 237
238 CPWL_Wnd* pRet = nullptr; 238 CPWL_Wnd* pRet = nullptr;
239 239
240 if (bRestoreValue) { 240 if (bRestoreValue) {
241 RestoreState(pPageView); 241 RestoreState(pPageView);
242 pRet = GetPDFWindow(pPageView, FALSE); 242 pRet = GetPDFWindow(pPageView, false);
243 } else { 243 } else {
244 pRet = GetPDFWindow(pPageView, TRUE); 244 pRet = GetPDFWindow(pPageView, true);
245 } 245 }
246 246
247 m_pWidget->UpdateField(); 247 m_pWidget->UpdateField();
248 248
249 return pRet; 249 return pRet;
250 } 250 }
251 251
252 #ifdef PDF_ENABLE_XFA 252 #ifdef PDF_ENABLE_XFA
253 FX_BOOL CFFL_ComboBox::IsFieldFull(CPDFSDK_PageView* pPageView) { 253 bool CFFL_ComboBox::IsFieldFull(CPDFSDK_PageView* pPageView) {
254 if (CPWL_ComboBox* pComboBox = 254 if (CPWL_ComboBox* pComboBox =
255 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, FALSE))) { 255 static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, false))) {
256 if (CPWL_Edit* pEdit = pComboBox->GetEdit()) 256 if (CPWL_Edit* pEdit = pComboBox->GetEdit())
257 return pEdit->IsTextFull(); 257 return pEdit->IsTextFull();
258 } 258 }
259 return FALSE; 259 return false;
260 } 260 }
261 #endif // PDF_ENABLE_XFA 261 #endif // PDF_ENABLE_XFA
262 262
263 void CFFL_ComboBox::OnSetFocus(CPWL_Wnd* pWnd) { 263 void CFFL_ComboBox::OnSetFocus(CPWL_Wnd* pWnd) {
264 ASSERT(m_pFormFillEnv); 264 ASSERT(m_pFormFillEnv);
265 265
266 if (pWnd->GetClassName() == PWL_CLASSNAME_EDIT) { 266 if (pWnd->GetClassName() == PWL_CLASSNAME_EDIT) {
267 CPWL_Edit* pEdit = (CPWL_Edit*)pWnd; 267 CPWL_Edit* pEdit = (CPWL_Edit*)pWnd;
268 pEdit->SetCharSet(FXFONT_GB2312_CHARSET); 268 pEdit->SetCharSet(FXFONT_GB2312_CHARSET);
269 pEdit->SetCodePage(936); 269 pEdit->SetCodePage(936);
270 270
271 pEdit->SetReadyToInput(); 271 pEdit->SetReadyToInput();
272 CFX_WideString wsText = pEdit->GetText(); 272 CFX_WideString wsText = pEdit->GetText();
273 int nCharacters = wsText.GetLength(); 273 int nCharacters = wsText.GetLength();
274 CFX_ByteString bsUTFText = wsText.UTF16LE_Encode(); 274 CFX_ByteString bsUTFText = wsText.UTF16LE_Encode();
275 unsigned short* pBuffer = (unsigned short*)bsUTFText.c_str(); 275 unsigned short* pBuffer = (unsigned short*)bsUTFText.c_str();
276 m_pFormFillEnv->OnSetFieldInputFocus(pBuffer, nCharacters, TRUE); 276 m_pFormFillEnv->OnSetFieldInputFocus(pBuffer, nCharacters, true);
277 } 277 }
278 } 278 }
279 279
280 CFX_WideString CFFL_ComboBox::GetSelectExportText() { 280 CFX_WideString CFFL_ComboBox::GetSelectExportText() {
281 CFX_WideString swRet; 281 CFX_WideString swRet;
282 282
283 int nExport = -1; 283 int nExport = -1;
284 CPDFSDK_PageView* pPageView = GetCurPageView(true); 284 CPDFSDK_PageView* pPageView = GetCurPageView(true);
285 if (CPWL_ComboBox* pComboBox = 285 if (CPWL_ComboBox* pComboBox =
286 (CPWL_ComboBox*)GetPDFWindow(pPageView, FALSE)) { 286 (CPWL_ComboBox*)GetPDFWindow(pPageView, false)) {
287 nExport = pComboBox->GetSelect(); 287 nExport = pComboBox->GetSelect();
288 } 288 }
289 289
290 if (nExport >= 0) { 290 if (nExport >= 0) {
291 if (CPDF_FormField* pFormField = m_pWidget->GetFormField()) { 291 if (CPDF_FormField* pFormField = m_pWidget->GetFormField()) {
292 swRet = pFormField->GetOptionValue(nExport); 292 swRet = pFormField->GetOptionValue(nExport);
293 if (swRet.IsEmpty()) 293 if (swRet.IsEmpty())
294 swRet = pFormField->GetOptionLabel(nExport); 294 swRet = pFormField->GetOptionLabel(nExport);
295 } 295 }
296 } 296 }
297 297
298 return swRet; 298 return swRet;
299 } 299 }
OLDNEW
« no previous file with comments | « fpdfsdk/formfiller/cffl_combobox.h ('k') | fpdfsdk/formfiller/cffl_formfiller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698