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

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

Issue 1846993002: Remove IXFA_* interfaces. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 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.h ('k') | xfa/fxfa/app/xfa_ffpageview.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/app/xfa_ffnotify.h" 7 #include "xfa/fxfa/app/xfa_ffnotify.h"
8 8
9 #include "xfa/fxfa/app/xfa_ffapp.h"
10 #include "xfa/fxfa/app/xfa_ffbarcode.h" 9 #include "xfa/fxfa/app/xfa_ffbarcode.h"
11 #include "xfa/fxfa/app/xfa_ffcheckbutton.h" 10 #include "xfa/fxfa/app/xfa_ffcheckbutton.h"
12 #include "xfa/fxfa/app/xfa_ffchoicelist.h" 11 #include "xfa/fxfa/app/xfa_ffchoicelist.h"
13 #include "xfa/fxfa/app/xfa_ffdoc.h"
14 #include "xfa/fxfa/app/xfa_ffdocview.h"
15 #include "xfa/fxfa/app/xfa_ffdraw.h" 12 #include "xfa/fxfa/app/xfa_ffdraw.h"
16 #include "xfa/fxfa/app/xfa_ffexclgroup.h" 13 #include "xfa/fxfa/app/xfa_ffexclgroup.h"
17 #include "xfa/fxfa/app/xfa_fffield.h" 14 #include "xfa/fxfa/app/xfa_fffield.h"
18 #include "xfa/fxfa/app/xfa_ffimage.h" 15 #include "xfa/fxfa/app/xfa_ffimage.h"
19 #include "xfa/fxfa/app/xfa_ffimageedit.h" 16 #include "xfa/fxfa/app/xfa_ffimageedit.h"
20 #include "xfa/fxfa/app/xfa_ffpageview.h"
21 #include "xfa/fxfa/app/xfa_ffpath.h" 17 #include "xfa/fxfa/app/xfa_ffpath.h"
22 #include "xfa/fxfa/app/xfa_ffpushbutton.h" 18 #include "xfa/fxfa/app/xfa_ffpushbutton.h"
23 #include "xfa/fxfa/app/xfa_ffsignature.h" 19 #include "xfa/fxfa/app/xfa_ffsignature.h"
24 #include "xfa/fxfa/app/xfa_ffsubform.h" 20 #include "xfa/fxfa/app/xfa_ffsubform.h"
25 #include "xfa/fxfa/app/xfa_fftext.h" 21 #include "xfa/fxfa/app/xfa_fftext.h"
26 #include "xfa/fxfa/app/xfa_fftextedit.h" 22 #include "xfa/fxfa/app/xfa_fftextedit.h"
27 #include "xfa/fxfa/app/xfa_ffwidget.h" 23 #include "xfa/fxfa/app/xfa_ffwidget.h"
28 #include "xfa/fxfa/app/xfa_ffwidgetacc.h" 24 #include "xfa/fxfa/app/xfa_ffwidgetacc.h"
29 #include "xfa/fxfa/app/xfa_ffwidgethandler.h"
30 #include "xfa/fxfa/app/xfa_fwladapter.h" 25 #include "xfa/fxfa/app/xfa_fwladapter.h"
31 #include "xfa/fxfa/app/xfa_textlayout.h" 26 #include "xfa/fxfa/app/xfa_textlayout.h"
27 #include "xfa/include/fxfa/xfa_ffapp.h"
28 #include "xfa/include/fxfa/xfa_ffdoc.h"
29 #include "xfa/include/fxfa/xfa_ffdocview.h"
30 #include "xfa/include/fxfa/xfa_ffpageview.h"
31 #include "xfa/include/fxfa/xfa_ffwidgethandler.h"
32 32
33 static void XFA_FFDeleteWidgetAcc(void* pData) { 33 static void XFA_FFDeleteWidgetAcc(void* pData) {
34 delete static_cast<CXFA_WidgetAcc*>(pData); 34 delete static_cast<CXFA_WidgetAcc*>(pData);
35 } 35 }
36
36 static XFA_MAPDATABLOCKCALLBACKINFO gs_XFADeleteWidgetAcc = { 37 static XFA_MAPDATABLOCKCALLBACKINFO gs_XFADeleteWidgetAcc = {
37 XFA_FFDeleteWidgetAcc, NULL}; 38 XFA_FFDeleteWidgetAcc, nullptr};
39
38 CXFA_FFNotify::CXFA_FFNotify(CXFA_FFDoc* pDoc) : m_pDoc(pDoc) {} 40 CXFA_FFNotify::CXFA_FFNotify(CXFA_FFDoc* pDoc) : m_pDoc(pDoc) {}
39 CXFA_FFNotify::~CXFA_FFNotify() {} 41 CXFA_FFNotify::~CXFA_FFNotify() {}
40 void CXFA_FFNotify::OnPageEvent(IXFA_LayoutPage* pSender, 42 void CXFA_FFNotify::OnPageEvent(CXFA_ContainerLayoutItem* pSender,
41 XFA_PAGEEVENT eEvent, 43 XFA_PAGEEVENT eEvent,
42 void* pParam) { 44 void* pParam) {
43 CXFA_FFDocView* pDocView = m_pDoc->GetDocView(pSender->GetLayout()); 45 CXFA_FFDocView* pDocView = m_pDoc->GetDocView(pSender->GetLayout());
44 if (!pDocView) { 46 if (!pDocView) {
45 return; 47 return;
46 } 48 }
47 pDocView->OnPageEvent(pSender, eEvent, (int32_t)(uintptr_t)pParam); 49 pDocView->OnPageEvent(pSender, eEvent, (int32_t)(uintptr_t)pParam);
48 } 50 }
49 void CXFA_FFNotify::OnNodeEvent(CXFA_Node* pSender, 51 void CXFA_FFNotify::OnNodeEvent(CXFA_Node* pSender,
50 XFA_NODEEVENT eEvent, 52 XFA_NODEEVENT eEvent,
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 pWidgetAcc->GetDoc()->GetDocProvider()->WidgetEvent( 141 pWidgetAcc->GetDoc()->GetDocProvider()->WidgetEvent(
140 pWidget, pWidgetAcc, XFA_WIDGETEVENT_ListItemRemoved, pParam, 142 pWidget, pWidgetAcc, XFA_WIDGETEVENT_ListItemRemoved, pParam,
141 pAdditional); 143 pAdditional);
142 } 144 }
143 pWidget = pWidgetAcc->GetNextWidget(pWidget); 145 pWidget = pWidgetAcc->GetNextWidget(pWidget);
144 } 146 }
145 } break; 147 } break;
146 } 148 }
147 } 149 }
148 CXFA_LayoutItem* CXFA_FFNotify::OnCreateLayoutItem(CXFA_Node* pNode) { 150 CXFA_LayoutItem* CXFA_FFNotify::OnCreateLayoutItem(CXFA_Node* pNode) {
149 IXFA_DocLayout* pLayout = m_pDoc->GetXFADoc()->GetDocLayout(); 151 CXFA_LayoutProcessor* pLayout = m_pDoc->GetXFADoc()->GetDocLayout();
150 CXFA_FFDocView* pDocView = m_pDoc->GetDocView(pLayout); 152 CXFA_FFDocView* pDocView = m_pDoc->GetDocView(pLayout);
151 XFA_ELEMENT eType = pNode->GetClassID(); 153 XFA_ELEMENT eType = pNode->GetClassID();
152 if (eType == XFA_ELEMENT_PageArea) { 154 if (eType == XFA_ELEMENT_PageArea) {
153 return new CXFA_FFPageView(pDocView, pNode); 155 return new CXFA_FFPageView(pDocView, pNode);
154 } 156 }
155 if (eType == XFA_ELEMENT_ContentArea) { 157 if (eType == XFA_ELEMENT_ContentArea) {
156 return new CXFA_ContainerLayoutItem(pNode); 158 return new CXFA_ContainerLayoutItem(pNode);
157 } 159 }
158 CXFA_WidgetAcc* pAcc = static_cast<CXFA_WidgetAcc*>(pNode->GetWidgetData()); 160 CXFA_WidgetAcc* pAcc = static_cast<CXFA_WidgetAcc*>(pNode->GetWidgetData());
159 if (!pAcc) { 161 if (!pAcc) {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 default: 226 default:
225 pWidget = NULL; 227 pWidget = NULL;
226 break; 228 break;
227 } 229 }
228 if (!pWidget) { 230 if (!pWidget) {
229 return NULL; 231 return NULL;
230 } 232 }
231 pWidget->SetDocView(pDocView); 233 pWidget->SetDocView(pDocView);
232 return pWidget; 234 return pWidget;
233 } 235 }
234 void CXFA_FFNotify::OnLayoutEvent(IXFA_DocLayout* pLayout, 236 void CXFA_FFNotify::OnLayoutEvent(CXFA_LayoutProcessor* pLayout,
235 CXFA_LayoutItem* pSender, 237 CXFA_LayoutItem* pSender,
236 XFA_LAYOUTEVENT eEvent, 238 XFA_LAYOUTEVENT eEvent,
237 void* pParam, 239 void* pParam,
238 void* pParam2) { 240 void* pParam2) {
239 CXFA_FFDocView* pDocView = m_pDoc->GetDocView(pLayout); 241 CXFA_FFDocView* pDocView = m_pDoc->GetDocView(pLayout);
240 if (!pDocView || !XFA_GetWidgetFromLayoutItem(pSender)) { 242 if (!pDocView || !XFA_GetWidgetFromLayoutItem(pSender)) {
241 return; 243 return;
242 } 244 }
243 switch (eEvent) { 245 switch (eEvent) {
244 case XFA_LAYOUTEVENT_ItemAdded: 246 case XFA_LAYOUTEVENT_ItemAdded:
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 return; 316 return;
315 } 317 }
316 CXFA_WidgetAcc* pWidgetAcc = 318 CXFA_WidgetAcc* pWidgetAcc =
317 static_cast<CXFA_WidgetAcc*>(pNode->GetWidgetData()); 319 static_cast<CXFA_WidgetAcc*>(pNode->GetWidgetData());
318 if (!pWidgetAcc) { 320 if (!pWidgetAcc) {
319 return; 321 return;
320 } 322 }
321 pDocView->AddCalculateWidgetAcc(pWidgetAcc); 323 pDocView->AddCalculateWidgetAcc(pWidgetAcc);
322 pDocView->AddValidateWidget(pWidgetAcc); 324 pDocView->AddValidateWidget(pWidgetAcc);
323 } 325 }
324 IXFA_Doc* CXFA_FFNotify::GetHDOC() { 326 CXFA_FFDoc* CXFA_FFNotify::GetHDOC() {
325 return m_pDoc; 327 return m_pDoc;
326 } 328 }
327 IXFA_DocProvider* CXFA_FFNotify::GetDocProvider() { 329 IXFA_DocProvider* CXFA_FFNotify::GetDocProvider() {
328 return m_pDoc->GetDocProvider(); 330 return m_pDoc->GetDocProvider();
329 } 331 }
330 IXFA_AppProvider* CXFA_FFNotify::GetAppProvider() { 332 IXFA_AppProvider* CXFA_FFNotify::GetAppProvider() {
331 return m_pDoc->GetApp()->GetAppProvider(); 333 return m_pDoc->GetApp()->GetAppProvider();
332 } 334 }
333 IXFA_WidgetHandler* CXFA_FFNotify::GetWidgetHandler() { 335 CXFA_FFWidgetHandler* CXFA_FFNotify::GetWidgetHandler() {
334 CXFA_FFDocView* pDocView = m_pDoc->GetDocView(); 336 CXFA_FFDocView* pDocView = m_pDoc->GetDocView();
335 return pDocView ? pDocView->GetWidgetHandler() : NULL; 337 return pDocView ? pDocView->GetWidgetHandler() : NULL;
336 } 338 }
337 IXFA_Widget* CXFA_FFNotify::GetHWidget(CXFA_LayoutItem* pLayoutItem) { 339 CXFA_FFWidget* CXFA_FFNotify::GetHWidget(CXFA_LayoutItem* pLayoutItem) {
338 return XFA_GetWidgetFromLayoutItem(pLayoutItem); 340 return XFA_GetWidgetFromLayoutItem(pLayoutItem);
339 } 341 }
340 void CXFA_FFNotify::OpenDropDownList(IXFA_Widget* hWidget) { 342 void CXFA_FFNotify::OpenDropDownList(CXFA_FFWidget* hWidget) {
341 CXFA_FFWidget* pWidget = static_cast<CXFA_FFWidget*>(hWidget); 343 if (hWidget->GetDataAcc()->GetUIType() != XFA_ELEMENT_ChoiceList) {
342 if (pWidget->GetDataAcc()->GetUIType() != XFA_ELEMENT_ChoiceList) {
343 return; 344 return;
344 } 345 }
345 CXFA_FFDocView* pDocView = m_pDoc->GetDocView(); 346 CXFA_FFDocView* pDocView = m_pDoc->GetDocView();
346 pDocView->LockUpdate(); 347 pDocView->LockUpdate();
347 static_cast<CXFA_FFComboBox*>(pWidget)->OpenDropDownList(); 348 static_cast<CXFA_FFComboBox*>(hWidget)->OpenDropDownList();
348 pDocView->UnlockUpdate(); 349 pDocView->UnlockUpdate();
349 pDocView->UpdateDocView(); 350 pDocView->UpdateDocView();
350 } 351 }
351 CFX_WideString CXFA_FFNotify::GetCurrentDateTime() { 352 CFX_WideString CXFA_FFNotify::GetCurrentDateTime() {
352 CFX_Unitime dataTime; 353 CFX_Unitime dataTime;
353 dataTime.Now(); 354 dataTime.Now();
354 CFX_WideString wsDateTime; 355 CFX_WideString wsDateTime;
355 wsDateTime.Format(L"%d%02d%02dT%02d%02d%02d", dataTime.GetYear(), 356 wsDateTime.Format(L"%d%02d%02dT%02d%02d%02d", dataTime.GetYear(),
356 dataTime.GetMonth(), dataTime.GetDay(), dataTime.GetHour(), 357 dataTime.GetMonth(), dataTime.GetDay(), dataTime.GetHour(),
357 dataTime.GetMinute(), dataTime.GetSecond()); 358 dataTime.GetMinute(), dataTime.GetSecond());
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 pNode ? static_cast<CXFA_WidgetAcc*>(pNode->GetWidgetData()) : nullptr; 400 pNode ? static_cast<CXFA_WidgetAcc*>(pNode->GetWidgetData()) : nullptr;
400 pDocView->SetFocusWidgetAcc(pAcc); 401 pDocView->SetFocusWidgetAcc(pAcc);
401 } 402 }
402 void CXFA_FFNotify::OnNodeReady(CXFA_Node* pNode) { 403 void CXFA_FFNotify::OnNodeReady(CXFA_Node* pNode) {
403 CXFA_FFDocView* pDocView = m_pDoc->GetDocView(); 404 CXFA_FFDocView* pDocView = m_pDoc->GetDocView();
404 if (!pDocView) { 405 if (!pDocView) {
405 return; 406 return;
406 } 407 }
407 XFA_ELEMENT iType = pNode->GetClassID(); 408 XFA_ELEMENT iType = pNode->GetClassID();
408 if (XFA_IsCreateWidget(iType)) { 409 if (XFA_IsCreateWidget(iType)) {
409 CXFA_WidgetAcc* pAcc = 410 CXFA_WidgetAcc* pAcc = new CXFA_WidgetAcc(pDocView, pNode);
410 new CXFA_WidgetAcc(pDocView, static_cast<CXFA_Node*>(pNode));
411 pNode->SetObject(XFA_ATTRIBUTE_WidgetData, pAcc, &gs_XFADeleteWidgetAcc); 411 pNode->SetObject(XFA_ATTRIBUTE_WidgetData, pAcc, &gs_XFADeleteWidgetAcc);
412 return; 412 return;
413 } 413 }
414 switch (iType) { 414 switch (iType) {
415 case XFA_ELEMENT_BindItems: 415 case XFA_ELEMENT_BindItems:
416 pDocView->m_bindItems.Add(pNode); 416 pDocView->m_bindItems.Add(pNode);
417 break; 417 break;
418 case XFA_ELEMENT_Validate: { 418 case XFA_ELEMENT_Validate: {
419 pNode->SetFlag(XFA_NODEFLAG_NeedsInitApp, TRUE, FALSE); 419 pNode->SetFlag(XFA_NODEFLAG_NeedsInitApp, TRUE, FALSE);
420 } break; 420 } break;
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 if (CXFA_FFDocView* pDocView = m_pDoc->GetDocView()) { 561 if (CXFA_FFDocView* pDocView = m_pDoc->GetDocView()) {
562 FX_BOOL bLayoutReady = 562 FX_BOOL bLayoutReady =
563 !(pDocView->m_bInLayoutStatus) && 563 !(pDocView->m_bInLayoutStatus) &&
564 (pDocView->GetLayoutStatus() == XFA_DOCVIEW_LAYOUTSTATUS_End); 564 (pDocView->GetLayoutStatus() == XFA_DOCVIEW_LAYOUTSTATUS_End);
565 if (bLayoutReady) { 565 if (bLayoutReady) {
566 m_pDoc->GetDocProvider()->SetChangeMark(m_pDoc); 566 m_pDoc->GetDocProvider()->SetChangeMark(m_pDoc);
567 } 567 }
568 } 568 }
569 } 569 }
570 void CXFA_FFNotify::OnLayoutItemAdd(CXFA_FFDocView* pDocView, 570 void CXFA_FFNotify::OnLayoutItemAdd(CXFA_FFDocView* pDocView,
571 IXFA_DocLayout* pLayout, 571 CXFA_LayoutProcessor* pLayout,
572 CXFA_LayoutItem* pSender, 572 CXFA_LayoutItem* pSender,
573 void* pParam, 573 void* pParam,
574 void* pParam2) { 574 void* pParam2) {
575 CXFA_FFWidget* pWidget = static_cast<CXFA_FFWidget*>(pSender); 575 CXFA_FFWidget* pWidget = static_cast<CXFA_FFWidget*>(pSender);
576 int32_t iPageIdx = (int32_t)(uintptr_t)pParam; 576 int32_t iPageIdx = (int32_t)(uintptr_t)pParam;
577 IXFA_PageView* pNewPageView = pDocView->GetPageView(iPageIdx); 577 CXFA_FFPageView* pNewPageView = pDocView->GetPageView(iPageIdx);
578 uint32_t dwStatus = (uint32_t)(uintptr_t)pParam2; 578 uint32_t dwStatus = (uint32_t)(uintptr_t)pParam2;
579 uint32_t dwFilter = XFA_WIDGETSTATUS_Visible | XFA_WIDGETSTATUS_Viewable | 579 uint32_t dwFilter = XFA_WIDGETSTATUS_Visible | XFA_WIDGETSTATUS_Viewable |
580 XFA_WIDGETSTATUS_Printable; 580 XFA_WIDGETSTATUS_Printable;
581 pWidget->ModifyStatus(dwStatus, dwFilter); 581 pWidget->ModifyStatus(dwStatus, dwFilter);
582 IXFA_PageView* pPrePageView = pWidget->GetPageView(); 582 CXFA_FFPageView* pPrePageView = pWidget->GetPageView();
583 if (pPrePageView != pNewPageView || 583 if (pPrePageView != pNewPageView ||
584 (dwStatus & (XFA_WIDGETSTATUS_Visible | XFA_WIDGETSTATUS_Viewable)) == 584 (dwStatus & (XFA_WIDGETSTATUS_Visible | XFA_WIDGETSTATUS_Viewable)) ==
585 (XFA_WIDGETSTATUS_Visible | XFA_WIDGETSTATUS_Viewable)) { 585 (XFA_WIDGETSTATUS_Visible | XFA_WIDGETSTATUS_Viewable)) {
586 pWidget->SetPageView(pNewPageView); 586 pWidget->SetPageView(pNewPageView);
587 m_pDoc->GetDocProvider()->WidgetEvent(pWidget, pWidget->GetDataAcc(), 587 m_pDoc->GetDocProvider()->WidgetEvent(pWidget, pWidget->GetDataAcc(),
588 XFA_WIDGETEVENT_PostAdded, 588 XFA_WIDGETEVENT_PostAdded,
589 pNewPageView, pPrePageView); 589 pNewPageView, pPrePageView);
590 } 590 }
591 if (pDocView->GetLayoutStatus() != XFA_DOCVIEW_LAYOUTSTATUS_End || 591 if (pDocView->GetLayoutStatus() != XFA_DOCVIEW_LAYOUTSTATUS_End ||
592 !(dwStatus & XFA_WIDGETSTATUS_Visible)) { 592 !(dwStatus & XFA_WIDGETSTATUS_Visible)) {
593 return; 593 return;
594 } 594 }
595 if (pWidget->IsLoaded()) { 595 if (pWidget->IsLoaded()) {
596 CFX_RectF rtOld; 596 CFX_RectF rtOld;
597 pWidget->GetWidgetRect(rtOld); 597 pWidget->GetWidgetRect(rtOld);
598 if (rtOld != pWidget->ReCacheWidgetRect()) 598 if (rtOld != pWidget->ReCacheWidgetRect())
599 pWidget->PerformLayout(); 599 pWidget->PerformLayout();
600 } else { 600 } else {
601 pWidget->LoadWidget(); 601 pWidget->LoadWidget();
602 } 602 }
603 pWidget->AddInvalidateRect(nullptr); 603 pWidget->AddInvalidateRect(nullptr);
604 } 604 }
605 void CXFA_FFNotify::OnLayoutItemRemoving(CXFA_FFDocView* pDocView, 605 void CXFA_FFNotify::OnLayoutItemRemoving(CXFA_FFDocView* pDocView,
606 IXFA_DocLayout* pLayout, 606 CXFA_LayoutProcessor* pLayout,
607 CXFA_LayoutItem* pSender, 607 CXFA_LayoutItem* pSender,
608 void* pParam, 608 void* pParam,
609 void* pParam2) { 609 void* pParam2) {
610 CXFA_FFWidget* pWidget = static_cast<CXFA_FFWidget*>(pSender); 610 CXFA_FFWidget* pWidget = static_cast<CXFA_FFWidget*>(pSender);
611 pDocView->DeleteLayoutItem(pWidget); 611 pDocView->DeleteLayoutItem(pWidget);
612 m_pDoc->GetDocProvider()->WidgetEvent(pWidget, pWidget->GetDataAcc(), 612 m_pDoc->GetDocProvider()->WidgetEvent(pWidget, pWidget->GetDataAcc(),
613 XFA_WIDGETEVENT_PreRemoved, nullptr, 613 XFA_WIDGETEVENT_PreRemoved, nullptr,
614 pWidget->GetPageView()); 614 pWidget->GetPageView());
615 pWidget->AddInvalidateRect(nullptr); 615 pWidget->AddInvalidateRect(nullptr);
616 } 616 }
617 void CXFA_FFNotify::OnLayoutItemRectChanged(CXFA_FFDocView* pDocView, 617 void CXFA_FFNotify::OnLayoutItemRectChanged(CXFA_FFDocView* pDocView,
618 IXFA_DocLayout* pLayout, 618 CXFA_LayoutProcessor* pLayout,
619 CXFA_LayoutItem* pSender, 619 CXFA_LayoutItem* pSender,
620 void* pParam, 620 void* pParam,
621 void* pParam2) {} 621 void* pParam2) {}
622 void CXFA_FFNotify::OnLayoutItemStatustChanged(CXFA_FFDocView* pDocView, 622 void CXFA_FFNotify::OnLayoutItemStatustChanged(CXFA_FFDocView* pDocView,
623 IXFA_DocLayout* pLayout, 623 CXFA_LayoutProcessor* pLayout,
624 CXFA_LayoutItem* pSender, 624 CXFA_LayoutItem* pSender,
625 void* pParam, 625 void* pParam,
626 void* pParam2) { 626 void* pParam2) {
627 CXFA_FFWidget* pWidget = static_cast<CXFA_FFWidget*>(pSender); 627 CXFA_FFWidget* pWidget = static_cast<CXFA_FFWidget*>(pSender);
628 if (!pWidget) { 628 if (!pWidget) {
629 return; 629 return;
630 } 630 }
631 uint32_t dwStatus = (uint32_t)(uintptr_t)pParam; 631 uint32_t dwStatus = (uint32_t)(uintptr_t)pParam;
632 if (dwStatus == 0) { 632 if (dwStatus == 0) {
633 CXFA_LayoutItem* pPreItem = pSender->GetPrev(); 633 CXFA_LayoutItem* pPreItem = pSender->GetPrev();
634 if (pPreItem) { 634 if (pPreItem) {
635 CXFA_FFWidget* pPreWidget = static_cast<CXFA_FFWidget*>(pPreItem); 635 CXFA_FFWidget* pPreWidget = static_cast<CXFA_FFWidget*>(pPreItem);
636 if (pPreWidget) { 636 if (pPreWidget) {
637 dwStatus = pPreWidget->GetStatus(); 637 dwStatus = pPreWidget->GetStatus();
638 } 638 }
639 } 639 }
640 } 640 }
641 uint32_t dwOldStatus = pWidget->GetStatus(); 641 uint32_t dwOldStatus = pWidget->GetStatus();
642 uint32_t dwFilter = XFA_WIDGETSTATUS_Visible | XFA_WIDGETSTATUS_Viewable | 642 uint32_t dwFilter = XFA_WIDGETSTATUS_Visible | XFA_WIDGETSTATUS_Viewable |
643 XFA_WIDGETSTATUS_Printable; 643 XFA_WIDGETSTATUS_Printable;
644 if ((dwOldStatus & dwFilter) == dwStatus) { 644 if ((dwOldStatus & dwFilter) == dwStatus) {
645 return; 645 return;
646 } 646 }
647 pWidget->ModifyStatus(dwStatus, dwFilter); 647 pWidget->ModifyStatus(dwStatus, dwFilter);
648 } 648 }
OLDNEW
« no previous file with comments | « xfa/fxfa/app/xfa_ffnotify.h ('k') | xfa/fxfa/app/xfa_ffpageview.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698