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

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

Issue 2082573007: Update GetClassID to GetElementType (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@remove_script_obj_hash
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
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_ffdocview.h" 7 #include "xfa/fxfa/include/xfa_ffdocview.h"
8 8
9 #include "core/fxcrt/include/fx_ext.h" 9 #include "core/fxcrt/include/fx_ext.h"
10 #include "xfa/fxfa/app/xfa_ffbarcode.h" 10 #include "xfa/fxfa/app/xfa_ffbarcode.h"
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 return NULL; 202 return NULL;
203 } 203 }
204 return static_cast<CXFA_FFPageView*>(m_pXFADocLayout->GetPage(nIndex)); 204 return static_cast<CXFA_FFPageView*>(m_pXFADocLayout->GetPage(nIndex));
205 } 205 }
206 206
207 CXFA_LayoutProcessor* CXFA_FFDocView::GetXFALayout() const { 207 CXFA_LayoutProcessor* CXFA_FFDocView::GetXFALayout() const {
208 return m_pDoc->GetXFADoc()->GetDocLayout(); 208 return m_pDoc->GetXFADoc()->GetDocLayout();
209 } 209 }
210 FX_BOOL CXFA_FFDocView::ResetSingleWidgetAccData(CXFA_WidgetAcc* pWidgetAcc) { 210 FX_BOOL CXFA_FFDocView::ResetSingleWidgetAccData(CXFA_WidgetAcc* pWidgetAcc) {
211 CXFA_Node* pNode = pWidgetAcc->GetNode(); 211 CXFA_Node* pNode = pWidgetAcc->GetNode();
212 XFA_Element eType = pNode->GetClassID(); 212 XFA_Element eType = pNode->GetElementType();
213 if (eType != XFA_Element::Field && eType != XFA_Element::ExclGroup) { 213 if (eType != XFA_Element::Field && eType != XFA_Element::ExclGroup) {
214 return FALSE; 214 return FALSE;
215 } 215 }
216 pWidgetAcc->ResetData(); 216 pWidgetAcc->ResetData();
217 pWidgetAcc->UpdateUIDisplay(); 217 pWidgetAcc->UpdateUIDisplay();
218 if (CXFA_Validate validate = pWidgetAcc->GetValidate()) { 218 if (CXFA_Validate validate = pWidgetAcc->GetValidate()) {
219 AddValidateWidget(pWidgetAcc); 219 AddValidateWidget(pWidgetAcc);
220 validate.GetNode()->SetFlag(XFA_NodeFlag_NeedsInitApp, false); 220 validate.GetNode()->SetFlag(XFA_NodeFlag_NeedsInitApp, false);
221 } 221 }
222 return TRUE; 222 return TRUE;
223 } 223 }
224 void CXFA_FFDocView::ResetWidgetData(CXFA_WidgetAcc* pWidgetAcc) { 224 void CXFA_FFDocView::ResetWidgetData(CXFA_WidgetAcc* pWidgetAcc) {
225 m_bLayoutEvent = TRUE; 225 m_bLayoutEvent = TRUE;
226 FX_BOOL bChanged = FALSE; 226 FX_BOOL bChanged = FALSE;
227 CXFA_Node* pFormNode = NULL; 227 CXFA_Node* pFormNode = NULL;
228 if (pWidgetAcc) { 228 if (pWidgetAcc) {
229 bChanged = ResetSingleWidgetAccData(pWidgetAcc); 229 bChanged = ResetSingleWidgetAccData(pWidgetAcc);
230 pFormNode = pWidgetAcc->GetNode(); 230 pFormNode = pWidgetAcc->GetNode();
231 } else { 231 } else {
232 pFormNode = GetRootSubform(); 232 pFormNode = GetRootSubform();
233 } 233 }
234 if (!pFormNode) { 234 if (!pFormNode) {
235 return; 235 return;
236 } 236 }
237 if (pFormNode->GetClassID() != XFA_Element::Field && 237 if (pFormNode->GetElementType() != XFA_Element::Field &&
238 pFormNode->GetClassID() != XFA_Element::ExclGroup) { 238 pFormNode->GetElementType() != XFA_Element::ExclGroup) {
239 CXFA_WidgetAccIterator Iterator(this, pFormNode); 239 CXFA_WidgetAccIterator Iterator(this, pFormNode);
240 while (CXFA_WidgetAcc* pAcc = Iterator.MoveToNext()) { 240 while (CXFA_WidgetAcc* pAcc = Iterator.MoveToNext()) {
241 bChanged |= ResetSingleWidgetAccData(pAcc); 241 bChanged |= ResetSingleWidgetAccData(pAcc);
242 if (pAcc->GetNode()->GetClassID() == XFA_Element::ExclGroup) { 242 if (pAcc->GetNode()->GetElementType() == XFA_Element::ExclGroup) {
243 Iterator.SkipTree(); 243 Iterator.SkipTree();
244 } 244 }
245 } 245 }
246 } 246 }
247 if (bChanged) { 247 if (bChanged) {
248 m_pDoc->GetDocProvider()->SetChangeMark(m_pDoc); 248 m_pDoc->GetDocProvider()->SetChangeMark(m_pDoc);
249 } 249 }
250 } 250 }
251 int32_t CXFA_FFDocView::ProcessWidgetEvent(CXFA_EventParam* pParam, 251 int32_t CXFA_FFDocView::ProcessWidgetEvent(CXFA_EventParam* pParam,
252 CXFA_WidgetAcc* pWidgetAcc) { 252 CXFA_WidgetAcc* pWidgetAcc) {
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 m_pFocusWidget = NULL; 394 m_pFocusWidget = NULL;
395 m_pOldFocusWidget = NULL; 395 m_pOldFocusWidget = NULL;
396 } 396 }
397 } 397 }
398 static int32_t XFA_ProcessEvent(CXFA_FFDocView* pDocView, 398 static int32_t XFA_ProcessEvent(CXFA_FFDocView* pDocView,
399 CXFA_WidgetAcc* pWidgetAcc, 399 CXFA_WidgetAcc* pWidgetAcc,
400 CXFA_EventParam* pParam) { 400 CXFA_EventParam* pParam) {
401 if (!pParam || pParam->m_eType == XFA_EVENT_Unknown) { 401 if (!pParam || pParam->m_eType == XFA_EVENT_Unknown) {
402 return XFA_EVENTERROR_NotExist; 402 return XFA_EVENTERROR_NotExist;
403 } 403 }
404 if (!pWidgetAcc || pWidgetAcc->GetClassID() == XFA_Element::Draw) { 404 if (!pWidgetAcc || pWidgetAcc->GetElementType() == XFA_Element::Draw) {
405 return XFA_EVENTERROR_NotExist; 405 return XFA_EVENTERROR_NotExist;
406 } 406 }
407 switch (pParam->m_eType) { 407 switch (pParam->m_eType) {
408 case XFA_EVENT_Calculate: 408 case XFA_EVENT_Calculate:
409 return pWidgetAcc->ProcessCalculate(); 409 return pWidgetAcc->ProcessCalculate();
410 case XFA_EVENT_Validate: 410 case XFA_EVENT_Validate:
411 if (((CXFA_FFDoc*)pDocView->GetDoc()) 411 if (((CXFA_FFDoc*)pDocView->GetDoc())
412 ->GetDocProvider() 412 ->GetDocProvider()
413 ->IsValidationsEnabled(pDocView->GetDoc())) { 413 ->IsValidationsEnabled(pDocView->GetDoc())) {
414 return pWidgetAcc->ProcessValidate(0x01); 414 return pWidgetAcc->ProcessValidate(0x01);
(...skipping 19 matching lines...) Expand all
434 } 434 }
435 int32_t CXFA_FFDocView::ExecEventActivityByDeepFirst(CXFA_Node* pFormNode, 435 int32_t CXFA_FFDocView::ExecEventActivityByDeepFirst(CXFA_Node* pFormNode,
436 XFA_EVENTTYPE eEventType, 436 XFA_EVENTTYPE eEventType,
437 FX_BOOL bIsFormReady, 437 FX_BOOL bIsFormReady,
438 FX_BOOL bRecursive, 438 FX_BOOL bRecursive,
439 CXFA_Node* pExclude) { 439 CXFA_Node* pExclude) {
440 int32_t iRet = XFA_EVENTERROR_NotExist; 440 int32_t iRet = XFA_EVENTERROR_NotExist;
441 if (pFormNode == pExclude) { 441 if (pFormNode == pExclude) {
442 return iRet; 442 return iRet;
443 } 443 }
444 XFA_Element elementType = pFormNode->GetClassID(); 444 XFA_Element elementType = pFormNode->GetElementType();
445 if (elementType == XFA_Element::Field) { 445 if (elementType == XFA_Element::Field) {
446 if (eEventType == XFA_EVENT_IndexChange) { 446 if (eEventType == XFA_EVENT_IndexChange) {
447 return iRet; 447 return iRet;
448 } 448 }
449 CXFA_WidgetAcc* pWidgetAcc = (CXFA_WidgetAcc*)pFormNode->GetWidgetData(); 449 CXFA_WidgetAcc* pWidgetAcc = (CXFA_WidgetAcc*)pFormNode->GetWidgetData();
450 if (pWidgetAcc == NULL) { 450 if (pWidgetAcc == NULL) {
451 return iRet; 451 return iRet;
452 } 452 }
453 CXFA_EventParam eParam; 453 CXFA_EventParam eParam;
454 eParam.m_eType = eEventType; 454 eParam.m_eType = eEventType;
455 eParam.m_pTarget = pWidgetAcc; 455 eParam.m_pTarget = pWidgetAcc;
456 eParam.m_bIsFormReady = bIsFormReady; 456 eParam.m_bIsFormReady = bIsFormReady;
457 return XFA_ProcessEvent(this, pWidgetAcc, &eParam); 457 return XFA_ProcessEvent(this, pWidgetAcc, &eParam);
458 } 458 }
459 if (bRecursive) { 459 if (bRecursive) {
460 for (CXFA_Node* pNode = pFormNode->GetNodeItem( 460 for (CXFA_Node* pNode = pFormNode->GetNodeItem(
461 XFA_NODEITEM_FirstChild, XFA_ObjectType::ContainerNode); 461 XFA_NODEITEM_FirstChild, XFA_ObjectType::ContainerNode);
462 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling, 462 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling,
463 XFA_ObjectType::ContainerNode)) { 463 XFA_ObjectType::ContainerNode)) {
464 elementType = pNode->GetClassID(); 464 elementType = pNode->GetElementType();
465 if (elementType != XFA_Element::Variables && 465 if (elementType != XFA_Element::Variables &&
466 elementType != XFA_Element::Draw) { 466 elementType != XFA_Element::Draw) {
467 iRet |= ExecEventActivityByDeepFirst(pNode, eEventType, bIsFormReady, 467 iRet |= ExecEventActivityByDeepFirst(pNode, eEventType, bIsFormReady,
468 bRecursive, pExclude); 468 bRecursive, pExclude);
469 } 469 }
470 } 470 }
471 } 471 }
472 CXFA_WidgetAcc* pWidgetAcc = (CXFA_WidgetAcc*)pFormNode->GetWidgetData(); 472 CXFA_WidgetAcc* pWidgetAcc = (CXFA_WidgetAcc*)pFormNode->GetWidgetData();
473 if (pWidgetAcc == NULL) { 473 if (pWidgetAcc == NULL) {
474 return iRet; 474 return iRet;
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 eParam.m_pTarget = pWidgetAcc; 593 eParam.m_pTarget = pWidgetAcc;
594 pWidgetAcc->ProcessEvent(XFA_ATTRIBUTEENUM_IndexChange, &eParam); 594 pWidgetAcc->ProcessEvent(XFA_ATTRIBUTEENUM_IndexChange, &eParam);
595 } 595 }
596 m_IndexChangedSubforms.RemoveAll(); 596 m_IndexChangedSubforms.RemoveAll();
597 } 597 }
598 void CXFA_FFDocView::AddNewFormNode(CXFA_Node* pNode) { 598 void CXFA_FFDocView::AddNewFormNode(CXFA_Node* pNode) {
599 m_NewAddedNodes.Add(pNode); 599 m_NewAddedNodes.Add(pNode);
600 InitLayout(pNode); 600 InitLayout(pNode);
601 } 601 }
602 void CXFA_FFDocView::AddIndexChangedSubform(CXFA_Node* pNode) { 602 void CXFA_FFDocView::AddIndexChangedSubform(CXFA_Node* pNode) {
603 ASSERT(pNode->GetClassID() == XFA_Element::Subform); 603 ASSERT(pNode->GetElementType() == XFA_Element::Subform);
604 m_IndexChangedSubforms.Add(pNode); 604 m_IndexChangedSubforms.Add(pNode);
605 } 605 }
606 void CXFA_FFDocView::RunDocClose() { 606 void CXFA_FFDocView::RunDocClose() {
607 CXFA_Node* pRootItem = 607 CXFA_Node* pRootItem =
608 ToNode(m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form)); 608 ToNode(m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form));
609 if (!pRootItem) { 609 if (!pRootItem) {
610 return; 610 return;
611 } 611 }
612 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_DocClose); 612 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_DocClose);
613 } 613 }
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
841 CXFA_WidgetAcc* CXFA_WidgetAccIterator::GetCurrentWidgetAcc() { 841 CXFA_WidgetAcc* CXFA_WidgetAccIterator::GetCurrentWidgetAcc() {
842 return NULL; 842 return NULL;
843 } 843 }
844 FX_BOOL CXFA_WidgetAccIterator::SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget) { 844 FX_BOOL CXFA_WidgetAccIterator::SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget) {
845 return FALSE; 845 return FALSE;
846 } 846 }
847 void CXFA_WidgetAccIterator::SkipTree() { 847 void CXFA_WidgetAccIterator::SkipTree() {
848 m_ContentIterator.SkipChildrenAndMoveToNext(); 848 m_ContentIterator.SkipChildrenAndMoveToNext();
849 m_pCurWidgetAcc = NULL; 849 m_pCurWidgetAcc = NULL;
850 } 850 }
OLDNEW
« no previous file with comments | « no previous file | xfa/fxfa/app/xfa_fffield.cpp » ('j') | xfa/fxfa/parser/xfa_document_datamerger_imp.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698