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

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

Issue 2095653002: Remove NULL in xfa/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Rebase to master Created 4 years, 5 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_fffield.h ('k') | xfa/fxfa/app/xfa_ffimage.cpp » ('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/app/xfa_fffield.h" 7 #include "xfa/fxfa/app/xfa_fffield.h"
8 8
9 #include "xfa/fwl/basewidget/ifwl_edit.h" 9 #include "xfa/fwl/basewidget/ifwl_edit.h"
10 #include "xfa/fwl/core/cfwl_message.h" 10 #include "xfa/fwl/core/cfwl_message.h"
11 #include "xfa/fwl/core/cfwl_widgetmgr.h" 11 #include "xfa/fwl/core/cfwl_widgetmgr.h"
12 #include "xfa/fwl/lightwidget/cfwl_edit.h" 12 #include "xfa/fwl/lightwidget/cfwl_edit.h"
13 #include "xfa/fwl/lightwidget/cfwl_picturebox.h" 13 #include "xfa/fwl/lightwidget/cfwl_picturebox.h"
14 #include "xfa/fxfa/app/xfa_fwltheme.h" 14 #include "xfa/fxfa/app/xfa_fwltheme.h"
15 #include "xfa/fxfa/app/xfa_textlayout.h" 15 #include "xfa/fxfa/app/xfa_textlayout.h"
16 #include "xfa/fxfa/include/xfa_ffapp.h" 16 #include "xfa/fxfa/include/xfa_ffapp.h"
17 #include "xfa/fxfa/include/xfa_ffdoc.h" 17 #include "xfa/fxfa/include/xfa_ffdoc.h"
18 #include "xfa/fxfa/include/xfa_ffdocview.h" 18 #include "xfa/fxfa/include/xfa_ffdocview.h"
19 #include "xfa/fxfa/include/xfa_ffpageview.h" 19 #include "xfa/fxfa/include/xfa_ffpageview.h"
20 #include "xfa/fxfa/include/xfa_ffwidget.h" 20 #include "xfa/fxfa/include/xfa_ffwidget.h"
21 #include "xfa/fxgraphics/cfx_color.h" 21 #include "xfa/fxgraphics/cfx_color.h"
22 #include "xfa/fxgraphics/cfx_path.h" 22 #include "xfa/fxgraphics/cfx_path.h"
23 23
24 CXFA_FFField::CXFA_FFField(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc) 24 CXFA_FFField::CXFA_FFField(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc)
25 : CXFA_FFWidget(pPageView, pDataAcc), m_pNormalWidget(NULL) { 25 : CXFA_FFWidget(pPageView, pDataAcc), m_pNormalWidget(nullptr) {
26 m_rtUI.Set(0, 0, 0, 0); 26 m_rtUI.Set(0, 0, 0, 0);
27 m_rtCaption.Set(0, 0, 0, 0); 27 m_rtCaption.Set(0, 0, 0, 0);
28 } 28 }
29 CXFA_FFField::~CXFA_FFField() { 29 CXFA_FFField::~CXFA_FFField() {
30 CXFA_FFField::UnloadWidget(); 30 CXFA_FFField::UnloadWidget();
31 } 31 }
32 32
33 FX_BOOL CXFA_FFField::GetBBox(CFX_RectF& rtBox, 33 FX_BOOL CXFA_FFField::GetBBox(CFX_RectF& rtBox,
34 uint32_t dwStatus, 34 uint32_t dwStatus,
35 FX_BOOL bDrawFocus) { 35 FX_BOOL bDrawFocus) {
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 CFX_RectF rtWidget; 159 CFX_RectF rtWidget;
160 GetRectWithoutRotate(rtWidget); 160 GetRectWithoutRotate(rtWidget);
161 CXFA_Margin mgWidget = m_pDataAcc->GetMargin(); 161 CXFA_Margin mgWidget = m_pDataAcc->GetMargin();
162 if (mgWidget) { 162 if (mgWidget) {
163 CXFA_LayoutItem* pItem = this; 163 CXFA_LayoutItem* pItem = this;
164 FX_FLOAT fLeftInset = 0, fRightInset = 0, fTopInset = 0, fBottomInset = 0; 164 FX_FLOAT fLeftInset = 0, fRightInset = 0, fTopInset = 0, fBottomInset = 0;
165 mgWidget.GetLeftInset(fLeftInset); 165 mgWidget.GetLeftInset(fLeftInset);
166 mgWidget.GetRightInset(fRightInset); 166 mgWidget.GetRightInset(fRightInset);
167 mgWidget.GetTopInset(fTopInset); 167 mgWidget.GetTopInset(fTopInset);
168 mgWidget.GetBottomInset(fBottomInset); 168 mgWidget.GetBottomInset(fBottomInset);
169 if (pItem->GetPrev() == NULL && pItem->GetNext() == NULL) { 169 if (!pItem->GetPrev() && !pItem->GetNext()) {
170 rtWidget.Deflate(fLeftInset, fTopInset, fRightInset, fBottomInset); 170 rtWidget.Deflate(fLeftInset, fTopInset, fRightInset, fBottomInset);
171 } else { 171 } else {
172 if (pItem->GetPrev() == NULL) { 172 if (!pItem->GetPrev()) {
173 rtWidget.Deflate(fLeftInset, fTopInset, fRightInset, 0); 173 rtWidget.Deflate(fLeftInset, fTopInset, fRightInset, 0);
174 } else if (pItem->GetNext() == NULL) { 174 } else if (!pItem->GetNext()) {
175 rtWidget.Deflate(fLeftInset, 0, fRightInset, fBottomInset); 175 rtWidget.Deflate(fLeftInset, 0, fRightInset, fBottomInset);
176 } else { 176 } else {
177 rtWidget.Deflate(fLeftInset, 0, fRightInset, 0); 177 rtWidget.Deflate(fLeftInset, 0, fRightInset, 0);
178 } 178 }
179 } 179 }
180 } 180 }
181 XFA_ATTRIBUTEENUM iCapPlacement = XFA_ATTRIBUTEENUM_Unknown; 181 XFA_ATTRIBUTEENUM iCapPlacement = XFA_ATTRIBUTEENUM_Unknown;
182 FX_FLOAT fCapReserve = 0; 182 FX_FLOAT fCapReserve = 0;
183 CXFA_Caption caption = m_pDataAcc->GetCaption(); 183 CXFA_Caption caption = m_pDataAcc->GetCaption();
184 if (caption && caption.GetPresence() != XFA_ATTRIBUTEENUM_Hidden) { 184 if (caption && caption.GetPresence() != XFA_ATTRIBUTEENUM_Hidden) {
185 iCapPlacement = (XFA_ATTRIBUTEENUM)caption.GetPlacementType(); 185 iCapPlacement = (XFA_ATTRIBUTEENUM)caption.GetPlacementType();
186 if (iCapPlacement == XFA_ATTRIBUTEENUM_Top && GetPrev()) { 186 if (iCapPlacement == XFA_ATTRIBUTEENUM_Top && GetPrev()) {
187 m_rtCaption.Set(0, 0, 0, 0); 187 m_rtCaption.Set(0, 0, 0, 0);
188 } else if (iCapPlacement == XFA_ATTRIBUTEENUM_Bottom && GetNext()) { 188 } else if (iCapPlacement == XFA_ATTRIBUTEENUM_Bottom && GetNext()) {
189 m_rtCaption.Set(0, 0, 0, 0); 189 m_rtCaption.Set(0, 0, 0, 0);
190 } else { 190 } else {
191 fCapReserve = caption.GetReserve(); 191 fCapReserve = caption.GetReserve();
192 CXFA_LayoutItem* pItem = this; 192 CXFA_LayoutItem* pItem = this;
193 if (pItem->GetPrev() == NULL && pItem->GetNext() == NULL) { 193 if (!pItem->GetPrev() && !pItem->GetNext()) {
194 m_rtCaption.Set(rtWidget.left, rtWidget.top, rtWidget.width, 194 m_rtCaption.Set(rtWidget.left, rtWidget.top, rtWidget.width,
195 rtWidget.height); 195 rtWidget.height);
196 } else { 196 } else {
197 pItem = pItem->GetFirst(); 197 pItem = pItem->GetFirst();
198 pItem->GetRect(m_rtCaption); 198 pItem->GetRect(m_rtCaption);
199 pItem = pItem->GetNext(); 199 pItem = pItem->GetNext();
200 while (pItem) { 200 while (pItem) {
201 CFX_RectF rtRect; 201 CFX_RectF rtRect;
202 pItem->GetRect(rtRect); 202 pItem->GetRect(rtRect);
203 m_rtCaption.height += rtRect.Height(); 203 m_rtCaption.height += rtRect.Height();
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 } 343 }
344 m_pNormalWidget->SetWidgetRect(rtUi); 344 m_pNormalWidget->SetWidgetRect(rtUi);
345 } 345 }
346 FX_BOOL CXFA_FFField::OnMouseEnter() { 346 FX_BOOL CXFA_FFField::OnMouseEnter() {
347 if (!m_pNormalWidget) { 347 if (!m_pNormalWidget) {
348 return FALSE; 348 return FALSE;
349 } 349 }
350 CFWL_MsgMouse ms; 350 CFWL_MsgMouse ms;
351 ms.m_dwCmd = FWL_MouseCommand::Enter; 351 ms.m_dwCmd = FWL_MouseCommand::Enter;
352 ms.m_pDstTarget = m_pNormalWidget->m_pIface; 352 ms.m_pDstTarget = m_pNormalWidget->m_pIface;
353 ms.m_pSrcTarget = NULL; 353 ms.m_pSrcTarget = nullptr;
354 TranslateFWLMessage(&ms); 354 TranslateFWLMessage(&ms);
355 return TRUE; 355 return TRUE;
356 } 356 }
357 FX_BOOL CXFA_FFField::OnMouseExit() { 357 FX_BOOL CXFA_FFField::OnMouseExit() {
358 if (!m_pNormalWidget) { 358 if (!m_pNormalWidget) {
359 return FALSE; 359 return FALSE;
360 } 360 }
361 CFWL_MsgMouse ms; 361 CFWL_MsgMouse ms;
362 ms.m_dwCmd = FWL_MouseCommand::Leave; 362 ms.m_dwCmd = FWL_MouseCommand::Leave;
363 ms.m_pDstTarget = m_pNormalWidget->m_pIface; 363 ms.m_pDstTarget = m_pNormalWidget->m_pIface;
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 return TRUE; 522 return TRUE;
523 } 523 }
524 524
525 FX_BOOL CXFA_FFField::OnSetFocus(CXFA_FFWidget* pOldWidget) { 525 FX_BOOL CXFA_FFField::OnSetFocus(CXFA_FFWidget* pOldWidget) {
526 CXFA_FFWidget::OnSetFocus(pOldWidget); 526 CXFA_FFWidget::OnSetFocus(pOldWidget);
527 if (!m_pNormalWidget) { 527 if (!m_pNormalWidget) {
528 return FALSE; 528 return FALSE;
529 } 529 }
530 CFWL_MsgSetFocus ms; 530 CFWL_MsgSetFocus ms;
531 ms.m_pDstTarget = m_pNormalWidget->m_pIface; 531 ms.m_pDstTarget = m_pNormalWidget->m_pIface;
532 ms.m_pSrcTarget = NULL; 532 ms.m_pSrcTarget = nullptr;
533 TranslateFWLMessage(&ms); 533 TranslateFWLMessage(&ms);
534 m_dwStatus |= XFA_WidgetStatus_Focused; 534 m_dwStatus |= XFA_WidgetStatus_Focused;
535 AddInvalidateRect(); 535 AddInvalidateRect();
536 return TRUE; 536 return TRUE;
537 } 537 }
538 FX_BOOL CXFA_FFField::OnKillFocus(CXFA_FFWidget* pNewWidget) { 538 FX_BOOL CXFA_FFField::OnKillFocus(CXFA_FFWidget* pNewWidget) {
539 if (!m_pNormalWidget) { 539 if (!m_pNormalWidget) {
540 return CXFA_FFWidget::OnKillFocus(pNewWidget); 540 return CXFA_FFWidget::OnKillFocus(pNewWidget);
541 } 541 }
542 CFWL_MsgKillFocus ms; 542 CFWL_MsgKillFocus ms;
543 ms.m_pDstTarget = m_pNormalWidget->m_pIface; 543 ms.m_pDstTarget = m_pNormalWidget->m_pIface;
544 ms.m_pSrcTarget = NULL; 544 ms.m_pSrcTarget = nullptr;
545 TranslateFWLMessage(&ms); 545 TranslateFWLMessage(&ms);
546 m_dwStatus &= ~XFA_WidgetStatus_Focused; 546 m_dwStatus &= ~XFA_WidgetStatus_Focused;
547 AddInvalidateRect(); 547 AddInvalidateRect();
548 CXFA_FFWidget::OnKillFocus(pNewWidget); 548 CXFA_FFWidget::OnKillFocus(pNewWidget);
549 return TRUE; 549 return TRUE;
550 } 550 }
551 FX_BOOL CXFA_FFField::OnKeyDown(uint32_t dwKeyCode, uint32_t dwFlags) { 551 FX_BOOL CXFA_FFField::OnKeyDown(uint32_t dwKeyCode, uint32_t dwFlags) {
552 if (!m_pNormalWidget || !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { 552 if (!m_pNormalWidget || !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) {
553 return FALSE; 553 return FALSE;
554 } 554 }
555 CFWL_MsgKey ms; 555 CFWL_MsgKey ms;
556 ms.m_dwCmd = FWL_KeyCommand::KeyDown; 556 ms.m_dwCmd = FWL_KeyCommand::KeyDown;
557 ms.m_dwFlags = dwFlags; 557 ms.m_dwFlags = dwFlags;
558 ms.m_dwKeyCode = dwKeyCode; 558 ms.m_dwKeyCode = dwKeyCode;
559 ms.m_pDstTarget = m_pNormalWidget->m_pIface; 559 ms.m_pDstTarget = m_pNormalWidget->m_pIface;
560 ms.m_pSrcTarget = NULL; 560 ms.m_pSrcTarget = nullptr;
561 TranslateFWLMessage(&ms); 561 TranslateFWLMessage(&ms);
562 return TRUE; 562 return TRUE;
563 } 563 }
564 FX_BOOL CXFA_FFField::OnKeyUp(uint32_t dwKeyCode, uint32_t dwFlags) { 564 FX_BOOL CXFA_FFField::OnKeyUp(uint32_t dwKeyCode, uint32_t dwFlags) {
565 if (!m_pNormalWidget || !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { 565 if (!m_pNormalWidget || !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) {
566 return FALSE; 566 return FALSE;
567 } 567 }
568 CFWL_MsgKey ms; 568 CFWL_MsgKey ms;
569 ms.m_dwCmd = FWL_KeyCommand::KeyUp; 569 ms.m_dwCmd = FWL_KeyCommand::KeyUp;
570 ms.m_dwFlags = dwFlags; 570 ms.m_dwFlags = dwFlags;
571 ms.m_dwKeyCode = dwKeyCode; 571 ms.m_dwKeyCode = dwKeyCode;
572 ms.m_pDstTarget = m_pNormalWidget->m_pIface; 572 ms.m_pDstTarget = m_pNormalWidget->m_pIface;
573 ms.m_pSrcTarget = NULL; 573 ms.m_pSrcTarget = nullptr;
574 TranslateFWLMessage(&ms); 574 TranslateFWLMessage(&ms);
575 return TRUE; 575 return TRUE;
576 } 576 }
577 FX_BOOL CXFA_FFField::OnChar(uint32_t dwChar, uint32_t dwFlags) { 577 FX_BOOL CXFA_FFField::OnChar(uint32_t dwChar, uint32_t dwFlags) {
578 if (!m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { 578 if (!m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) {
579 return FALSE; 579 return FALSE;
580 } 580 }
581 if (dwChar == FWL_VKEY_Tab) { 581 if (dwChar == FWL_VKEY_Tab) {
582 return TRUE; 582 return TRUE;
583 } 583 }
584 if (!m_pNormalWidget) { 584 if (!m_pNormalWidget) {
585 return FALSE; 585 return FALSE;
586 } 586 }
587 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open) { 587 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open) {
588 return FALSE; 588 return FALSE;
589 } 589 }
590 CFWL_MsgKey ms; 590 CFWL_MsgKey ms;
591 ms.m_dwCmd = FWL_KeyCommand::Char; 591 ms.m_dwCmd = FWL_KeyCommand::Char;
592 ms.m_dwFlags = dwFlags; 592 ms.m_dwFlags = dwFlags;
593 ms.m_dwKeyCode = dwChar; 593 ms.m_dwKeyCode = dwChar;
594 ms.m_pDstTarget = m_pNormalWidget->m_pIface; 594 ms.m_pDstTarget = m_pNormalWidget->m_pIface;
595 ms.m_pSrcTarget = NULL; 595 ms.m_pSrcTarget = nullptr;
596 TranslateFWLMessage(&ms); 596 TranslateFWLMessage(&ms);
597 return TRUE; 597 return TRUE;
598 } 598 }
599 FWL_WidgetHit CXFA_FFField::OnHitTest(FX_FLOAT fx, FX_FLOAT fy) { 599 FWL_WidgetHit CXFA_FFField::OnHitTest(FX_FLOAT fx, FX_FLOAT fy) {
600 if (m_pNormalWidget) { 600 if (m_pNormalWidget) {
601 FX_FLOAT ffx = fx, ffy = fy; 601 FX_FLOAT ffx = fx, ffy = fy;
602 FWLToClient(ffx, ffy); 602 FWLToClient(ffx, ffy);
603 if (m_pNormalWidget->HitTest(ffx, ffy) != FWL_WidgetHit::Unknown) 603 if (m_pNormalWidget->HitTest(ffx, ffy) != FWL_WidgetHit::Unknown)
604 return FWL_WidgetHit::Client; 604 return FWL_WidgetHit::Client;
605 } 605 }
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 if (!pAcc) { 682 if (!pAcc) {
683 return CalculateWidgetAcc(m_pDataAcc); 683 return CalculateWidgetAcc(m_pDataAcc);
684 } 684 }
685 if (CalculateWidgetAcc(pAcc) == 0) { 685 if (CalculateWidgetAcc(pAcc) == 0) {
686 return 0; 686 return 0;
687 } 687 }
688 CXFA_Node* pNode = pAcc->GetExclGroupFirstMember(); 688 CXFA_Node* pNode = pAcc->GetExclGroupFirstMember();
689 if (!pNode) { 689 if (!pNode) {
690 return 1; 690 return 1;
691 } 691 }
692 CXFA_WidgetAcc* pWidgetAcc = NULL; 692 CXFA_WidgetAcc* pWidgetAcc = nullptr;
693 while (pNode) { 693 while (pNode) {
694 pWidgetAcc = static_cast<CXFA_WidgetAcc*>(pNode->GetWidgetData()); 694 pWidgetAcc = static_cast<CXFA_WidgetAcc*>(pNode->GetWidgetData());
695 if (!pWidgetAcc) { 695 if (!pWidgetAcc) {
696 return 1; 696 return 1;
697 } 697 }
698 if (CalculateWidgetAcc(pWidgetAcc) == 0) { 698 if (CalculateWidgetAcc(pWidgetAcc) == 0) {
699 return 0; 699 return 0;
700 } 700 }
701 pNode = pWidgetAcc->GetExclGroupNextMember(pNode); 701 pNode = pWidgetAcc->GetExclGroupNextMember(pNode);
702 } 702 }
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Click, &eParam); 818 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Click, &eParam);
819 break; 819 break;
820 } 820 }
821 default: 821 default:
822 break; 822 break;
823 } 823 }
824 } 824 }
825 825
826 void CXFA_FFField::OnDrawWidget(CFX_Graphics* pGraphics, 826 void CXFA_FFField::OnDrawWidget(CFX_Graphics* pGraphics,
827 const CFX_Matrix* pMatrix) {} 827 const CFX_Matrix* pMatrix) {}
OLDNEW
« no previous file with comments | « xfa/fxfa/app/xfa_fffield.h ('k') | xfa/fxfa/app/xfa_ffimage.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698