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

Side by Side Diff: xfa/fxfa/app/xfa_ffpageview.cpp

Issue 2031873003: Get rid of NULLs in xfa/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium@nullptr_fpdfsdk
Patch Set: Created 4 years, 6 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 | « xfa/fxfa/app/xfa_ffnotify.cpp ('k') | xfa/fxfa/app/xfa_ffpath.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 "xfa/fxfa/include/xfa_ffpageview.h" 7 #include "xfa/fxfa/include/xfa_ffpageview.h"
8 8
9 #include "xfa/fde/fde_render.h" 9 #include "xfa/fde/fde_render.h"
10 #include "xfa/fxfa/app/xfa_ffcheckbutton.h" 10 #include "xfa/fxfa/app/xfa_ffcheckbutton.h"
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 m_sIterator.Reset(); 147 m_sIterator.Reset();
148 } 148 }
149 CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToFirst() { 149 CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToFirst() {
150 m_sIterator.Reset(); 150 m_sIterator.Reset();
151 for (CXFA_LayoutItem* pLayoutItem = m_sIterator.GetCurrent(); pLayoutItem; 151 for (CXFA_LayoutItem* pLayoutItem = m_sIterator.GetCurrent(); pLayoutItem;
152 pLayoutItem = m_sIterator.MoveToNext()) { 152 pLayoutItem = m_sIterator.MoveToNext()) {
153 if (CXFA_FFWidget* hWidget = GetWidget(pLayoutItem)) { 153 if (CXFA_FFWidget* hWidget = GetWidget(pLayoutItem)) {
154 return hWidget; 154 return hWidget;
155 } 155 }
156 } 156 }
157 return NULL; 157 return nullptr;
158 } 158 }
159 CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToLast() { 159 CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToLast() {
160 m_sIterator.SetCurrent(NULL); 160 m_sIterator.SetCurrent(nullptr);
161 return MoveToPrevious(); 161 return MoveToPrevious();
162 } 162 }
163 CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToNext() { 163 CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToNext() {
164 for (CXFA_LayoutItem* pLayoutItem = m_sIterator.MoveToNext(); pLayoutItem; 164 for (CXFA_LayoutItem* pLayoutItem = m_sIterator.MoveToNext(); pLayoutItem;
165 pLayoutItem = m_sIterator.MoveToNext()) { 165 pLayoutItem = m_sIterator.MoveToNext()) {
166 if (CXFA_FFWidget* hWidget = GetWidget(pLayoutItem)) { 166 if (CXFA_FFWidget* hWidget = GetWidget(pLayoutItem)) {
167 return hWidget; 167 return hWidget;
168 } 168 }
169 } 169 }
170 return NULL; 170 return nullptr;
171 } 171 }
172 CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToPrevious() { 172 CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToPrevious() {
173 for (CXFA_LayoutItem* pLayoutItem = m_sIterator.MoveToPrev(); pLayoutItem; 173 for (CXFA_LayoutItem* pLayoutItem = m_sIterator.MoveToPrev(); pLayoutItem;
174 pLayoutItem = m_sIterator.MoveToPrev()) { 174 pLayoutItem = m_sIterator.MoveToPrev()) {
175 if (CXFA_FFWidget* hWidget = GetWidget(pLayoutItem)) { 175 if (CXFA_FFWidget* hWidget = GetWidget(pLayoutItem)) {
176 return hWidget; 176 return hWidget;
177 } 177 }
178 } 178 }
179 return NULL; 179 return nullptr;
180 } 180 }
181 CXFA_FFWidget* CXFA_FFPageWidgetIterator::GetCurrentWidget() { 181 CXFA_FFWidget* CXFA_FFPageWidgetIterator::GetCurrentWidget() {
182 CXFA_LayoutItem* pLayoutItem = m_sIterator.GetCurrent(); 182 CXFA_LayoutItem* pLayoutItem = m_sIterator.GetCurrent();
183 return pLayoutItem ? XFA_GetWidgetFromLayoutItem(pLayoutItem) : NULL; 183 return pLayoutItem ? XFA_GetWidgetFromLayoutItem(pLayoutItem) : nullptr;
184 } 184 }
185 FX_BOOL CXFA_FFPageWidgetIterator::SetCurrentWidget(CXFA_FFWidget* hWidget) { 185 FX_BOOL CXFA_FFPageWidgetIterator::SetCurrentWidget(CXFA_FFWidget* hWidget) {
186 return hWidget && m_sIterator.SetCurrent(hWidget); 186 return hWidget && m_sIterator.SetCurrent(hWidget);
187 } 187 }
188 CXFA_FFWidget* CXFA_FFPageWidgetIterator::GetWidget( 188 CXFA_FFWidget* CXFA_FFPageWidgetIterator::GetWidget(
189 CXFA_LayoutItem* pLayoutItem) { 189 CXFA_LayoutItem* pLayoutItem) {
190 if (CXFA_FFWidget* pWidget = XFA_GetWidgetFromLayoutItem(pLayoutItem)) { 190 if (CXFA_FFWidget* pWidget = XFA_GetWidgetFromLayoutItem(pLayoutItem)) {
191 if (!PageWidgetFilter(pWidget, m_dwFilter, FALSE, m_bIgnorerelevant)) { 191 if (!PageWidgetFilter(pWidget, m_dwFilter, FALSE, m_bIgnorerelevant)) {
192 return NULL; 192 return nullptr;
193 } 193 }
194 if (!pWidget->IsLoaded() && 194 if (!pWidget->IsLoaded() &&
195 (pWidget->GetStatus() & XFA_WidgetStatus_Visible) != 0) { 195 (pWidget->GetStatus() & XFA_WidgetStatus_Visible) != 0) {
196 pWidget->LoadWidget(); 196 pWidget->LoadWidget();
197 } 197 }
198 return pWidget; 198 return pWidget;
199 } 199 }
200 return NULL; 200 return nullptr;
201 } 201 }
202 202
203 CXFA_FFTabOrderPageWidgetIterator::CXFA_FFTabOrderPageWidgetIterator( 203 CXFA_FFTabOrderPageWidgetIterator::CXFA_FFTabOrderPageWidgetIterator(
204 CXFA_FFPageView* pPageView, 204 CXFA_FFPageView* pPageView,
205 uint32_t dwFilter) 205 uint32_t dwFilter)
206 : m_pPageView(pPageView), m_dwFilter(dwFilter), m_iCurWidget(-1) { 206 : m_pPageView(pPageView), m_dwFilter(dwFilter), m_iCurWidget(-1) {
207 m_bIgnorerelevant = ((CXFA_FFDoc*)m_pPageView->GetDocView()->GetDoc()) 207 m_bIgnorerelevant = ((CXFA_FFDoc*)m_pPageView->GetDocView()->GetDoc())
208 ->GetXFADoc() 208 ->GetXFADoc()
209 ->GetCurVersionMode() < XFA_VERSION_205; 209 ->GetCurVersionMode() < XFA_VERSION_205;
210 Reset(); 210 Reset();
211 } 211 }
212 212
213 CXFA_FFTabOrderPageWidgetIterator::~CXFA_FFTabOrderPageWidgetIterator() {} 213 CXFA_FFTabOrderPageWidgetIterator::~CXFA_FFTabOrderPageWidgetIterator() {}
214 214
215 void CXFA_FFTabOrderPageWidgetIterator::Reset() { 215 void CXFA_FFTabOrderPageWidgetIterator::Reset() {
216 CreateTabOrderWidgetArray(); 216 CreateTabOrderWidgetArray();
217 m_iCurWidget = -1; 217 m_iCurWidget = -1;
218 } 218 }
219 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToFirst() { 219 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToFirst() {
220 if (m_TabOrderWidgetArray.GetSize() > 0) { 220 if (m_TabOrderWidgetArray.GetSize() > 0) {
221 for (int32_t i = 0; i < m_TabOrderWidgetArray.GetSize(); i++) { 221 for (int32_t i = 0; i < m_TabOrderWidgetArray.GetSize(); i++) {
222 if (PageWidgetFilter(m_TabOrderWidgetArray[i], m_dwFilter, TRUE, 222 if (PageWidgetFilter(m_TabOrderWidgetArray[i], m_dwFilter, TRUE,
223 m_bIgnorerelevant)) { 223 m_bIgnorerelevant)) {
224 m_iCurWidget = i; 224 m_iCurWidget = i;
225 return m_TabOrderWidgetArray[m_iCurWidget]; 225 return m_TabOrderWidgetArray[m_iCurWidget];
226 } 226 }
227 } 227 }
228 } 228 }
229 return NULL; 229 return nullptr;
230 } 230 }
231 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToLast() { 231 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToLast() {
232 if (m_TabOrderWidgetArray.GetSize() > 0) { 232 if (m_TabOrderWidgetArray.GetSize() > 0) {
233 for (int32_t i = m_TabOrderWidgetArray.GetSize() - 1; i >= 0; i--) { 233 for (int32_t i = m_TabOrderWidgetArray.GetSize() - 1; i >= 0; i--) {
234 if (PageWidgetFilter(m_TabOrderWidgetArray[i], m_dwFilter, TRUE, 234 if (PageWidgetFilter(m_TabOrderWidgetArray[i], m_dwFilter, TRUE,
235 m_bIgnorerelevant)) { 235 m_bIgnorerelevant)) {
236 m_iCurWidget = i; 236 m_iCurWidget = i;
237 return m_TabOrderWidgetArray[m_iCurWidget]; 237 return m_TabOrderWidgetArray[m_iCurWidget];
238 } 238 }
239 } 239 }
240 } 240 }
241 return NULL; 241 return nullptr;
242 } 242 }
243 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToNext() { 243 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToNext() {
244 for (int32_t i = m_iCurWidget + 1; i < m_TabOrderWidgetArray.GetSize(); i++) { 244 for (int32_t i = m_iCurWidget + 1; i < m_TabOrderWidgetArray.GetSize(); i++) {
245 if (PageWidgetFilter(m_TabOrderWidgetArray[i], m_dwFilter, TRUE, 245 if (PageWidgetFilter(m_TabOrderWidgetArray[i], m_dwFilter, TRUE,
246 m_bIgnorerelevant)) { 246 m_bIgnorerelevant)) {
247 m_iCurWidget = i; 247 m_iCurWidget = i;
248 return m_TabOrderWidgetArray[m_iCurWidget]; 248 return m_TabOrderWidgetArray[m_iCurWidget];
249 } 249 }
250 } 250 }
251 m_iCurWidget = -1; 251 m_iCurWidget = -1;
252 return NULL; 252 return nullptr;
253 } 253 }
254 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToPrevious() { 254 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToPrevious() {
255 for (int32_t i = m_iCurWidget - 1; i >= 0; i--) { 255 for (int32_t i = m_iCurWidget - 1; i >= 0; i--) {
256 if (PageWidgetFilter(m_TabOrderWidgetArray[i], m_dwFilter, TRUE, 256 if (PageWidgetFilter(m_TabOrderWidgetArray[i], m_dwFilter, TRUE,
257 m_bIgnorerelevant)) { 257 m_bIgnorerelevant)) {
258 m_iCurWidget = i; 258 m_iCurWidget = i;
259 return m_TabOrderWidgetArray[m_iCurWidget]; 259 return m_TabOrderWidgetArray[m_iCurWidget];
260 } 260 }
261 } 261 }
262 m_iCurWidget = -1; 262 m_iCurWidget = -1;
263 return NULL; 263 return nullptr;
264 } 264 }
265 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::GetCurrentWidget() { 265 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::GetCurrentWidget() {
266 if (m_iCurWidget >= 0) { 266 if (m_iCurWidget >= 0) {
267 return m_TabOrderWidgetArray[m_iCurWidget]; 267 return m_TabOrderWidgetArray[m_iCurWidget];
268 } 268 }
269 return NULL; 269 return nullptr;
270 } 270 }
271 FX_BOOL CXFA_FFTabOrderPageWidgetIterator::SetCurrentWidget( 271 FX_BOOL CXFA_FFTabOrderPageWidgetIterator::SetCurrentWidget(
272 CXFA_FFWidget* hWidget) { 272 CXFA_FFWidget* hWidget) {
273 int32_t iWidgetIndex = m_TabOrderWidgetArray.Find(hWidget); 273 int32_t iWidgetIndex = m_TabOrderWidgetArray.Find(hWidget);
274 if (iWidgetIndex >= 0) { 274 if (iWidgetIndex >= 0) {
275 m_iCurWidget = iWidgetIndex; 275 m_iCurWidget = iWidgetIndex;
276 return TRUE; 276 return TRUE;
277 } 277 }
278 return FALSE; 278 return FALSE;
279 } 279 }
280 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::GetTraverseWidget( 280 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::GetTraverseWidget(
281 CXFA_FFWidget* pWidget) { 281 CXFA_FFWidget* pWidget) {
282 CXFA_WidgetAcc* pAcc = pWidget->GetDataAcc(); 282 CXFA_WidgetAcc* pAcc = pWidget->GetDataAcc();
283 CXFA_Node* pTraversal = pAcc->GetNode()->GetChild(0, XFA_ELEMENT_Traversal); 283 CXFA_Node* pTraversal = pAcc->GetNode()->GetChild(0, XFA_ELEMENT_Traversal);
284 if (pTraversal) { 284 if (pTraversal) {
285 CXFA_Node* pTraverse = pTraversal->GetChild(0, XFA_ELEMENT_Traverse); 285 CXFA_Node* pTraverse = pTraversal->GetChild(0, XFA_ELEMENT_Traverse);
286 if (pTraverse) { 286 if (pTraverse) {
287 CFX_WideString wsTraverseWidgetName; 287 CFX_WideString wsTraverseWidgetName;
288 if (pTraverse->GetAttribute(XFA_ATTRIBUTE_Ref, wsTraverseWidgetName)) { 288 if (pTraverse->GetAttribute(XFA_ATTRIBUTE_Ref, wsTraverseWidgetName)) {
289 return FindWidgetByName(wsTraverseWidgetName, pWidget); 289 return FindWidgetByName(wsTraverseWidgetName, pWidget);
290 } 290 }
291 } 291 }
292 } 292 }
293 return NULL; 293 return nullptr;
294 } 294 }
295 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::FindWidgetByName( 295 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::FindWidgetByName(
296 const CFX_WideString& wsWidgetName, 296 const CFX_WideString& wsWidgetName,
297 CXFA_FFWidget* pRefWidget) { 297 CXFA_FFWidget* pRefWidget) {
298 return pRefWidget->GetDocView()->GetWidgetByName(wsWidgetName, pRefWidget); 298 return pRefWidget->GetDocView()->GetWidgetByName(wsWidgetName, pRefWidget);
299 } 299 }
300 void CXFA_FFTabOrderPageWidgetIterator::CreateTabOrderWidgetArray() { 300 void CXFA_FFTabOrderPageWidgetIterator::CreateTabOrderWidgetArray() {
301 m_TabOrderWidgetArray.RemoveAll(); 301 m_TabOrderWidgetArray.RemoveAll();
302 CXFA_WidgetArray SpaceOrderWidgetArray; 302 CXFA_WidgetArray SpaceOrderWidgetArray;
303 CreateSpaceOrderWidgetArray(SpaceOrderWidgetArray); 303 CreateSpaceOrderWidgetArray(SpaceOrderWidgetArray);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 } 404 }
405 tabParams.RemoveAll(); 405 tabParams.RemoveAll();
406 } 406 }
407 void CXFA_FFTabOrderPageWidgetIterator::CreateSpaceOrderWidgetArray( 407 void CXFA_FFTabOrderPageWidgetIterator::CreateSpaceOrderWidgetArray(
408 CXFA_WidgetArray& WidgetArray) { 408 CXFA_WidgetArray& WidgetArray) {
409 CXFA_LayoutItemIterator sIterator; 409 CXFA_LayoutItemIterator sIterator;
410 sIterator.Init(m_pPageView); 410 sIterator.Init(m_pPageView);
411 CXFA_TabParam* pParam = new CXFA_TabParam; 411 CXFA_TabParam* pParam = new CXFA_TabParam;
412 FX_BOOL bCurrentItem = FALSE; 412 FX_BOOL bCurrentItem = FALSE;
413 FX_BOOL bContentArea = FALSE; 413 FX_BOOL bContentArea = FALSE;
414 OrderContainer(&sIterator, NULL, pParam, bCurrentItem, bContentArea); 414 OrderContainer(&sIterator, nullptr, pParam, bCurrentItem, bContentArea);
415 if (pParam->m_Children.GetSize() > 0) { 415 if (pParam->m_Children.GetSize() > 0) {
416 WidgetArray.Append(pParam->m_Children); 416 WidgetArray.Append(pParam->m_Children);
417 } 417 }
418 sIterator.Reset(); 418 sIterator.Reset();
419 bCurrentItem = FALSE; 419 bCurrentItem = FALSE;
420 bContentArea = FALSE; 420 bContentArea = FALSE;
421 pParam->m_Children.RemoveAll(); 421 pParam->m_Children.RemoveAll();
422 OrderContainer(&sIterator, NULL, pParam, bCurrentItem, bContentArea, TRUE); 422 OrderContainer(&sIterator, nullptr, pParam, bCurrentItem, bContentArea, TRUE);
423 if (pParam->m_Children.GetSize() > 0) { 423 if (pParam->m_Children.GetSize() > 0) {
424 WidgetArray.Append(pParam->m_Children); 424 WidgetArray.Append(pParam->m_Children);
425 } 425 }
426 delete pParam; 426 delete pParam;
427 } 427 }
428 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::GetWidget( 428 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::GetWidget(
429 CXFA_LayoutItem* pLayoutItem) { 429 CXFA_LayoutItem* pLayoutItem) {
430 if (CXFA_FFWidget* pWidget = XFA_GetWidgetFromLayoutItem(pLayoutItem)) { 430 if (CXFA_FFWidget* pWidget = XFA_GetWidgetFromLayoutItem(pLayoutItem)) {
431 if (!pWidget->IsLoaded() && 431 if (!pWidget->IsLoaded() &&
432 (pWidget->GetStatus() & XFA_WidgetStatus_Visible)) { 432 (pWidget->GetStatus() & XFA_WidgetStatus_Visible)) {
433 pWidget->LoadWidget(); 433 pWidget->LoadWidget();
434 } 434 }
435 return pWidget; 435 return pWidget;
436 } 436 }
437 return NULL; 437 return nullptr;
438 } 438 }
OLDNEW
« no previous file with comments | « xfa/fxfa/app/xfa_ffnotify.cpp ('k') | xfa/fxfa/app/xfa_ffpath.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698