Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/src/foxitlib.h" | 7 #include "xfa/src/foxitlib.h" |
| 8 #include "xfa/src/fxfa/src/common/xfa_common.h" | 8 #include "xfa/src/fxfa/src/common/xfa_common.h" |
| 9 #include "xfa_fwladapter.h" | 9 #include "xfa_fwladapter.h" |
| 10 #include "xfa_ffdocview.h" | 10 #include "xfa_ffdocview.h" |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 73 int32_t CXFA_FFDocView::StartLayout(int32_t iStartPage) { | 73 int32_t CXFA_FFDocView::StartLayout(int32_t iStartPage) { |
| 74 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Start; | 74 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Start; |
| 75 m_pDoc->GetXFADoc()->DoProtoMerge(); | 75 m_pDoc->GetXFADoc()->DoProtoMerge(); |
| 76 m_pDoc->GetXFADoc()->DoDataMerge(); | 76 m_pDoc->GetXFADoc()->DoDataMerge(); |
| 77 m_pXFADocLayout = GetXFALayout(); | 77 m_pXFADocLayout = GetXFALayout(); |
| 78 int32_t iStatus = m_pXFADocLayout->StartLayout(); | 78 int32_t iStatus = m_pXFADocLayout->StartLayout(); |
| 79 if (iStatus < 0) { | 79 if (iStatus < 0) { |
| 80 return iStatus; | 80 return iStatus; |
| 81 } | 81 } |
| 82 CXFA_Node* pRootItem = | 82 CXFA_Node* pRootItem = |
| 83 (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form); | 83 ToNode(m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form)); |
| 84 if (!pRootItem) { | 84 if (!pRootItem) { |
| 85 return iStatus; | 85 return iStatus; |
| 86 } | 86 } |
| 87 InitLayout(pRootItem); | 87 InitLayout(pRootItem); |
| 88 InitCalculate(pRootItem); | 88 InitCalculate(pRootItem); |
| 89 InitValidate(pRootItem); | 89 InitValidate(pRootItem); |
| 90 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_Ready, TRUE); | 90 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_Ready, TRUE); |
| 91 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Start; | 91 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Start; |
| 92 return iStatus; | 92 return iStatus; |
| 93 } | 93 } |
| 94 int32_t CXFA_FFDocView::DoLayout(IFX_Pause* pPause) { | 94 int32_t CXFA_FFDocView::DoLayout(IFX_Pause* pPause) { |
| 95 int32_t iStatus = 100; | 95 int32_t iStatus = 100; |
| 96 iStatus = m_pXFADocLayout->DoLayout(pPause); | 96 iStatus = m_pXFADocLayout->DoLayout(pPause); |
| 97 if (iStatus != 100) { | 97 if (iStatus != 100) { |
| 98 return iStatus; | 98 return iStatus; |
| 99 } | 99 } |
| 100 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Doing; | 100 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Doing; |
| 101 return iStatus; | 101 return iStatus; |
| 102 } | 102 } |
| 103 void CXFA_FFDocView::StopLayout() { | 103 void CXFA_FFDocView::StopLayout() { |
| 104 CXFA_Node* pRootItem = | 104 CXFA_Node* pRootItem = |
| 105 (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form); | 105 ToNode(m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form)); |
| 106 if (!pRootItem) { | 106 if (!pRootItem) { |
| 107 return; | 107 return; |
| 108 } | 108 } |
| 109 CXFA_Node* pSubformNode = pRootItem->GetChild(0, XFA_ELEMENT_Subform); | 109 CXFA_Node* pSubformNode = pRootItem->GetChild(0, XFA_ELEMENT_Subform); |
| 110 if (!pSubformNode) { | 110 if (!pSubformNode) { |
| 111 return; | 111 return; |
| 112 } | 112 } |
| 113 CXFA_Node* pPageSetNode = | 113 CXFA_Node* pPageSetNode = |
| 114 pSubformNode->GetFirstChildByClass(XFA_ELEMENT_PageSet); | 114 pSubformNode->GetFirstChildByClass(XFA_ELEMENT_PageSet); |
| 115 if (!pPageSetNode) { | 115 if (!pPageSetNode) { |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 163 } | 163 } |
| 164 m_arrNullTestMsg.RemoveAll(); | 164 m_arrNullTestMsg.RemoveAll(); |
| 165 } | 165 } |
| 166 void CXFA_FFDocView::UpdateDocView() { | 166 void CXFA_FFDocView::UpdateDocView() { |
| 167 if (IsUpdateLocked()) { | 167 if (IsUpdateLocked()) { |
| 168 return; | 168 return; |
| 169 } | 169 } |
| 170 LockUpdate(); | 170 LockUpdate(); |
| 171 int32_t iNewAdds = m_NewAddedNodes.GetSize(); | 171 int32_t iNewAdds = m_NewAddedNodes.GetSize(); |
| 172 for (int32_t i = 0; i < iNewAdds; i++) { | 172 for (int32_t i = 0; i < iNewAdds; i++) { |
| 173 CXFA_Node* pNode = (CXFA_Node*)m_NewAddedNodes[i]; | 173 CXFA_Node* pNode = reinterpret_cast<CXFA_Node*>(m_NewAddedNodes[i]); |
|
Lei Zhang
2016/02/04 01:41:04
Gah, a CFX_PtrArray!
| |
| 174 InitCalculate(pNode); | 174 InitCalculate(pNode); |
| 175 InitValidate(pNode); | 175 InitValidate(pNode); |
| 176 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_Ready, TRUE); | 176 ExecEventActivityByDeepFirst(pNode, XFA_EVENT_Ready, TRUE); |
| 177 } | 177 } |
| 178 m_NewAddedNodes.RemoveAll(); | 178 m_NewAddedNodes.RemoveAll(); |
| 179 this->RunSubformIndexChange(); | 179 this->RunSubformIndexChange(); |
| 180 this->RunCalculateWidgets(); | 180 this->RunCalculateWidgets(); |
| 181 this->RunValidate(); | 181 this->RunValidate(); |
| 182 ShowNullTestMsg(); | 182 ShowNullTestMsg(); |
| 183 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Next; | 183 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_Next; |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 258 } | 258 } |
| 259 } | 259 } |
| 260 int32_t CXFA_FFDocView::ProcessWidgetEvent(CXFA_EventParam* pParam, | 260 int32_t CXFA_FFDocView::ProcessWidgetEvent(CXFA_EventParam* pParam, |
| 261 CXFA_WidgetAcc* pWidgetAcc) { | 261 CXFA_WidgetAcc* pWidgetAcc) { |
| 262 if (pParam == NULL) { | 262 if (pParam == NULL) { |
| 263 return XFA_EVENTERROR_Error; | 263 return XFA_EVENTERROR_Error; |
| 264 } | 264 } |
| 265 if (pParam->m_eType == XFA_EVENT_Validate) { | 265 if (pParam->m_eType == XFA_EVENT_Validate) { |
| 266 CFX_WideString wsValidateStr = FX_WSTRC(L"preSubmit"); | 266 CFX_WideString wsValidateStr = FX_WSTRC(L"preSubmit"); |
| 267 CXFA_Node* pConfigItem = | 267 CXFA_Node* pConfigItem = |
| 268 (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Config); | 268 ToNode(m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Config)); |
| 269 if (pConfigItem) { | 269 if (pConfigItem) { |
| 270 CXFA_Node* pValidateNode = NULL; | 270 CXFA_Node* pValidateNode = NULL; |
| 271 CXFA_Node* pAcrobatNode = pConfigItem->GetChild(0, XFA_ELEMENT_Acrobat); | 271 CXFA_Node* pAcrobatNode = pConfigItem->GetChild(0, XFA_ELEMENT_Acrobat); |
| 272 pValidateNode = | 272 pValidateNode = |
| 273 pAcrobatNode ? pAcrobatNode->GetChild(0, XFA_ELEMENT_Validate) : NULL; | 273 pAcrobatNode ? pAcrobatNode->GetChild(0, XFA_ELEMENT_Validate) : NULL; |
| 274 if (!pValidateNode) { | 274 if (!pValidateNode) { |
| 275 CXFA_Node* pPresentNode = pConfigItem->GetChild(0, XFA_ELEMENT_Present); | 275 CXFA_Node* pPresentNode = pConfigItem->GetChild(0, XFA_ELEMENT_Present); |
| 276 pValidateNode = pPresentNode | 276 pValidateNode = pPresentNode |
| 277 ? pPresentNode->GetChild(0, XFA_ELEMENT_Validate) | 277 ? pPresentNode->GetChild(0, XFA_ELEMENT_Validate) |
| 278 : NULL; | 278 : NULL; |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 296 bValidate = wsValidateStr.Find(L"preSave") != -1; | 296 bValidate = wsValidateStr.Find(L"preSave") != -1; |
| 297 break; | 297 break; |
| 298 } | 298 } |
| 299 if (!bValidate) { | 299 if (!bValidate) { |
| 300 return XFA_EVENTERROR_Sucess; | 300 return XFA_EVENTERROR_Sucess; |
| 301 } | 301 } |
| 302 } | 302 } |
| 303 CXFA_Node* pNode = pWidgetAcc ? pWidgetAcc->GetNode() : NULL; | 303 CXFA_Node* pNode = pWidgetAcc ? pWidgetAcc->GetNode() : NULL; |
| 304 if (!pNode) { | 304 if (!pNode) { |
| 305 CXFA_Node* pRootItem = | 305 CXFA_Node* pRootItem = |
| 306 (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form); | 306 ToNode(m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form)); |
| 307 if (!pRootItem) { | 307 if (!pRootItem) { |
| 308 return XFA_EVENTERROR_Error; | 308 return XFA_EVENTERROR_Error; |
| 309 } | 309 } |
| 310 pNode = pRootItem->GetChild(0, XFA_ELEMENT_Subform); | 310 pNode = pRootItem->GetChild(0, XFA_ELEMENT_Subform); |
| 311 } | 311 } |
| 312 ExecEventActivityByDeepFirst(pNode, pParam->m_eType, pParam->m_bIsFormReady); | 312 ExecEventActivityByDeepFirst(pNode, pParam->m_eType, pParam->m_bIsFormReady); |
| 313 return XFA_EVENTERROR_Sucess; | 313 return XFA_EVENTERROR_Sucess; |
| 314 } | 314 } |
| 315 IXFA_WidgetHandler* CXFA_FFDocView::GetWidgetHandler() { | 315 IXFA_WidgetHandler* CXFA_FFDocView::GetWidgetHandler() { |
| 316 if (!m_pWidgetHandler) { | 316 if (!m_pWidgetHandler) { |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 518 } else { | 518 } else { |
| 519 wsExpression = L"$form." + wsName; | 519 wsExpression = L"$form." + wsName; |
| 520 } | 520 } |
| 521 XFA_RESOLVENODE_RS resoveNodeRS; | 521 XFA_RESOLVENODE_RS resoveNodeRS; |
| 522 int32_t iRet = pScriptContext->ResolveObjects(refNode, wsExpression, | 522 int32_t iRet = pScriptContext->ResolveObjects(refNode, wsExpression, |
| 523 resoveNodeRS, dwStyle); | 523 resoveNodeRS, dwStyle); |
| 524 if (iRet < 1) { | 524 if (iRet < 1) { |
| 525 return NULL; | 525 return NULL; |
| 526 } | 526 } |
| 527 if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) { | 527 if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) { |
| 528 CXFA_Object* pNode = resoveNodeRS.nodes[0]; | 528 CXFA_Node* pNode = resoveNodeRS.nodes[0]->AsNode(); |
| 529 if (pNode->IsNode()) { | 529 if (pNode) { |
| 530 return (CXFA_WidgetAcc*)((CXFA_Node*)pNode)->GetWidgetData(); | 530 return (CXFA_WidgetAcc*)pNode->GetWidgetData(); |
| 531 } | 531 } |
| 532 } | 532 } |
| 533 return NULL; | 533 return NULL; |
| 534 } | 534 } |
| 535 void CXFA_FFDocView::OnPageEvent(IXFA_LayoutPage* pSender, | 535 void CXFA_FFDocView::OnPageEvent(IXFA_LayoutPage* pSender, |
| 536 XFA_PAGEEVENT eEvent, | 536 XFA_PAGEEVENT eEvent, |
| 537 int32_t iPageIndex) { | 537 int32_t iPageIndex) { |
| 538 FX_BOOL bNofify = m_iStatus >= XFA_DOCVIEW_LAYOUTSTATUS_End; | 538 FX_BOOL bNofify = m_iStatus >= XFA_DOCVIEW_LAYOUTSTATUS_End; |
| 539 CXFA_FFPageView* pFFPageView = static_cast<CXFA_FFPageView*>(pSender); | 539 CXFA_FFPageView* pFFPageView = static_cast<CXFA_FFPageView*>(pSender); |
| 540 if (eEvent == XFA_PAGEEVENT_PageRemoved) { | 540 if (eEvent == XFA_PAGEEVENT_PageRemoved) { |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 606 m_bInLayoutStatus = FALSE; | 606 m_bInLayoutStatus = FALSE; |
| 607 return TRUE; | 607 return TRUE; |
| 608 } | 608 } |
| 609 m_bInLayoutStatus = FALSE; | 609 m_bInLayoutStatus = FALSE; |
| 610 UnlockUpdate(); | 610 UnlockUpdate(); |
| 611 return FALSE; | 611 return FALSE; |
| 612 } | 612 } |
| 613 void CXFA_FFDocView::RunSubformIndexChange() { | 613 void CXFA_FFDocView::RunSubformIndexChange() { |
| 614 int32_t iSubforms = m_IndexChangedSubforms.GetSize(); | 614 int32_t iSubforms = m_IndexChangedSubforms.GetSize(); |
| 615 for (int32_t i = 0; i < iSubforms; i++) { | 615 for (int32_t i = 0; i < iSubforms; i++) { |
| 616 CXFA_Node* pSubformNode = (CXFA_Node*)m_IndexChangedSubforms[i]; | 616 CXFA_Node* pSubformNode = |
| 617 reinterpret_cast<CXFA_Node*>(m_IndexChangedSubforms[i]); | |
| 617 CXFA_WidgetAcc* pWidgetAcc = (CXFA_WidgetAcc*)pSubformNode->GetWidgetData(); | 618 CXFA_WidgetAcc* pWidgetAcc = (CXFA_WidgetAcc*)pSubformNode->GetWidgetData(); |
| 618 if (!pWidgetAcc) { | 619 if (!pWidgetAcc) { |
| 619 continue; | 620 continue; |
| 620 } | 621 } |
| 621 CXFA_EventParam eParam; | 622 CXFA_EventParam eParam; |
| 622 eParam.m_eType = XFA_EVENT_IndexChange; | 623 eParam.m_eType = XFA_EVENT_IndexChange; |
| 623 eParam.m_pTarget = pWidgetAcc; | 624 eParam.m_pTarget = pWidgetAcc; |
| 624 pWidgetAcc->ProcessEvent(XFA_ATTRIBUTEENUM_IndexChange, &eParam); | 625 pWidgetAcc->ProcessEvent(XFA_ATTRIBUTEENUM_IndexChange, &eParam); |
| 625 } | 626 } |
| 626 m_IndexChangedSubforms.RemoveAll(); | 627 m_IndexChangedSubforms.RemoveAll(); |
| 627 } | 628 } |
| 628 void CXFA_FFDocView::AddNewFormNode(CXFA_Node* pNode) { | 629 void CXFA_FFDocView::AddNewFormNode(CXFA_Node* pNode) { |
| 629 m_NewAddedNodes.Add(pNode); | 630 m_NewAddedNodes.Add(pNode); |
| 630 this->InitLayout(pNode); | 631 this->InitLayout(pNode); |
| 631 } | 632 } |
| 632 void CXFA_FFDocView::AddIndexChangedSubform(CXFA_Node* pNode) { | 633 void CXFA_FFDocView::AddIndexChangedSubform(CXFA_Node* pNode) { |
| 633 FXSYS_assert(pNode->GetClassID() == XFA_ELEMENT_Subform); | 634 FXSYS_assert(pNode->GetClassID() == XFA_ELEMENT_Subform); |
| 634 m_IndexChangedSubforms.Add(pNode); | 635 m_IndexChangedSubforms.Add(pNode); |
| 635 } | 636 } |
| 636 void CXFA_FFDocView::RunDocClose() { | 637 void CXFA_FFDocView::RunDocClose() { |
| 637 CXFA_Node* pRootItem = | 638 CXFA_Node* pRootItem = |
| 638 (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form); | 639 ToNode(m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form)); |
| 639 if (!pRootItem) { | 640 if (!pRootItem) { |
| 640 return; | 641 return; |
| 641 } | 642 } |
| 642 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_DocClose); | 643 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_DocClose); |
| 643 } | 644 } |
| 644 void CXFA_FFDocView::DestroyDocView() { | 645 void CXFA_FFDocView::DestroyDocView() { |
| 645 ClearInvalidateList(); | 646 ClearInvalidateList(); |
| 646 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_None; | 647 m_iStatus = XFA_DOCVIEW_LAYOUTSTATUS_None; |
| 647 m_iLock = 0; | 648 m_iLock = 0; |
| 648 m_ValidateAccs.RemoveAll(); | 649 m_ValidateAccs.RemoveAll(); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 741 if (pAcc->GetNode()->HasFlag(XFA_NODEFLAG_HasRemoved)) { | 742 if (pAcc->GetNode()->HasFlag(XFA_NODEFLAG_HasRemoved)) { |
| 742 continue; | 743 continue; |
| 743 } | 744 } |
| 744 pAcc->ProcessValidate(); | 745 pAcc->ProcessValidate(); |
| 745 } | 746 } |
| 746 m_ValidateAccs.RemoveAll(); | 747 m_ValidateAccs.RemoveAll(); |
| 747 return TRUE; | 748 return TRUE; |
| 748 } | 749 } |
| 749 FX_BOOL CXFA_FFDocView::RunEventLayoutReady() { | 750 FX_BOOL CXFA_FFDocView::RunEventLayoutReady() { |
| 750 CXFA_Node* pRootItem = | 751 CXFA_Node* pRootItem = |
| 751 (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form); | 752 ToNode(m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form)); |
| 752 if (!pRootItem) { | 753 if (!pRootItem) { |
| 753 return FALSE; | 754 return FALSE; |
| 754 } | 755 } |
| 755 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_Ready); | 756 ExecEventActivityByDeepFirst(pRootItem, XFA_EVENT_Ready); |
| 756 RunLayout(); | 757 RunLayout(); |
| 757 return TRUE; | 758 return TRUE; |
| 758 } | 759 } |
| 759 void CXFA_FFDocView::RunBindItems() { | 760 void CXFA_FFDocView::RunBindItems() { |
| 760 int32_t iCount = m_bindItems.GetSize(); | 761 int32_t iCount = m_bindItems.GetSize(); |
| 761 for (int32_t i = 0; i < iCount; i++) { | 762 for (int32_t i = 0; i < iCount; i++) { |
| 762 if (((CXFA_Node*)m_bindItems[i])->HasFlag(XFA_NODEFLAG_HasRemoved)) { | 763 if (reinterpret_cast<CXFA_Node*>(m_bindItems[i]) |
| 764 ->HasFlag(XFA_NODEFLAG_HasRemoved)) { | |
| 763 continue; | 765 continue; |
| 764 } | 766 } |
| 765 CXFA_Node* pWidgetNode = | 767 CXFA_Node* pWidgetNode = reinterpret_cast<CXFA_Node*>(m_bindItems[i]) |
| 766 ((CXFA_Node*)m_bindItems[i])->GetNodeItem(XFA_NODEITEM_Parent); | 768 ->GetNodeItem(XFA_NODEITEM_Parent); |
| 767 CXFA_WidgetAcc* pAcc = (CXFA_WidgetAcc*)pWidgetNode->GetWidgetData(); | 769 CXFA_WidgetAcc* pAcc = (CXFA_WidgetAcc*)pWidgetNode->GetWidgetData(); |
| 768 if (!pAcc) { | 770 if (!pAcc) { |
| 769 continue; | 771 continue; |
| 770 } | 772 } |
| 771 CXFA_BindItems binditems((CXFA_Node*)m_bindItems[i]); | 773 CXFA_BindItems binditems(reinterpret_cast<CXFA_Node*>(m_bindItems[i])); |
| 772 IXFA_ScriptContext* pScriptContext = | 774 IXFA_ScriptContext* pScriptContext = |
| 773 pWidgetNode->GetDocument()->GetScriptContext(); | 775 pWidgetNode->GetDocument()->GetScriptContext(); |
| 774 CFX_WideStringC wsRef; | 776 CFX_WideStringC wsRef; |
| 775 binditems.GetRef(wsRef); | 777 binditems.GetRef(wsRef); |
| 776 FX_DWORD dwStyle = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Properties | | 778 FX_DWORD dwStyle = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Properties | |
| 777 XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_Parent | | 779 XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_Parent | |
| 778 XFA_RESOLVENODE_ALL; | 780 XFA_RESOLVENODE_ALL; |
| 779 XFA_RESOLVENODE_RS rs; | 781 XFA_RESOLVENODE_RS rs; |
| 780 pScriptContext->ResolveObjects(pWidgetNode, wsRef, rs, dwStyle); | 782 pScriptContext->ResolveObjects(pWidgetNode, wsRef, rs, dwStyle); |
| 781 int32_t iCount = rs.nodes.GetSize(); | 783 int32_t iCount = rs.nodes.GetSize(); |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 792 FX_BOOL bValueUseContent = | 794 FX_BOOL bValueUseContent = |
| 793 wsValueRef.IsEmpty() || wsValueRef == FX_WSTRC(L"$"); | 795 wsValueRef.IsEmpty() || wsValueRef == FX_WSTRC(L"$"); |
| 794 CFX_WideString wsValue, wsLabel; | 796 CFX_WideString wsValue, wsLabel; |
| 795 FX_DWORD uValueHash = FX_HashCode_String_GetW(CFX_WideString(wsValueRef), | 797 FX_DWORD uValueHash = FX_HashCode_String_GetW(CFX_WideString(wsValueRef), |
| 796 wsValueRef.GetLength()); | 798 wsValueRef.GetLength()); |
| 797 for (int32_t i = 0; i < iCount; i++) { | 799 for (int32_t i = 0; i < iCount; i++) { |
| 798 CXFA_Object* refObj = rs.nodes[i]; | 800 CXFA_Object* refObj = rs.nodes[i]; |
| 799 if (!refObj->IsNode()) { | 801 if (!refObj->IsNode()) { |
| 800 continue; | 802 continue; |
| 801 } | 803 } |
| 802 CXFA_Node* refNode = (CXFA_Node*)refObj; | 804 CXFA_Node* refNode = refObj->AsNode(); |
| 803 if (bValueUseContent) { | 805 if (bValueUseContent) { |
| 804 wsValue = refNode->GetContent(); | 806 wsValue = refNode->GetContent(); |
| 805 } else { | 807 } else { |
| 806 CXFA_Node* nodeValue = refNode->GetFirstChildByName(uValueHash); | 808 CXFA_Node* nodeValue = refNode->GetFirstChildByName(uValueHash); |
| 807 if (nodeValue == NULL) { | 809 if (nodeValue == NULL) { |
| 808 wsValue = refNode->GetContent(); | 810 wsValue = refNode->GetContent(); |
| 809 } else { | 811 } else { |
| 810 wsValue = nodeValue->GetContent(); | 812 wsValue = nodeValue->GetContent(); |
| 811 } | 813 } |
| 812 } | 814 } |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 828 m_bindItems.RemoveAll(); | 830 m_bindItems.RemoveAll(); |
| 829 } | 831 } |
| 830 void CXFA_FFDocView::SetChangeMark() { | 832 void CXFA_FFDocView::SetChangeMark() { |
| 831 if (m_iStatus < XFA_DOCVIEW_LAYOUTSTATUS_End) { | 833 if (m_iStatus < XFA_DOCVIEW_LAYOUTSTATUS_End) { |
| 832 return; | 834 return; |
| 833 } | 835 } |
| 834 m_pDoc->GetDocProvider()->SetChangeMark(m_pDoc); | 836 m_pDoc->GetDocProvider()->SetChangeMark(m_pDoc); |
| 835 } | 837 } |
| 836 CXFA_Node* CXFA_FFDocView::GetRootSubform() { | 838 CXFA_Node* CXFA_FFDocView::GetRootSubform() { |
| 837 CXFA_Node* pFormPacketNode = | 839 CXFA_Node* pFormPacketNode = |
| 838 (CXFA_Node*)m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form); | 840 ToNode(m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form)); |
| 839 if (!pFormPacketNode) { | 841 if (!pFormPacketNode) { |
| 840 return NULL; | 842 return NULL; |
| 841 } | 843 } |
| 842 return pFormPacketNode->GetFirstChildByClass(XFA_ELEMENT_Subform); | 844 return pFormPacketNode->GetFirstChildByClass(XFA_ELEMENT_Subform); |
| 843 } | 845 } |
| 844 CXFA_FFDocWidgetIterator::CXFA_FFDocWidgetIterator(CXFA_FFDocView* pDocView, | 846 CXFA_FFDocWidgetIterator::CXFA_FFDocWidgetIterator(CXFA_FFDocView* pDocView, |
| 845 CXFA_Node* pTravelRoot) | 847 CXFA_Node* pTravelRoot) |
| 846 : m_ContentIterator(pTravelRoot) { | 848 : m_ContentIterator(pTravelRoot) { |
| 847 m_pDocView = pDocView; | 849 m_pDocView = pDocView; |
| 848 m_pCurWidget = NULL; | 850 m_pCurWidget = NULL; |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 927 CXFA_WidgetAcc* CXFA_WidgetAccIterator::GetCurrentWidgetAcc() { | 929 CXFA_WidgetAcc* CXFA_WidgetAccIterator::GetCurrentWidgetAcc() { |
| 928 return NULL; | 930 return NULL; |
| 929 } | 931 } |
| 930 FX_BOOL CXFA_WidgetAccIterator::SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget) { | 932 FX_BOOL CXFA_WidgetAccIterator::SetCurrentWidgetAcc(CXFA_WidgetAcc* hWidget) { |
| 931 return FALSE; | 933 return FALSE; |
| 932 } | 934 } |
| 933 void CXFA_WidgetAccIterator::SkipTree() { | 935 void CXFA_WidgetAccIterator::SkipTree() { |
| 934 m_ContentIterator.SkipChildrenAndMoveToNext(); | 936 m_ContentIterator.SkipChildrenAndMoveToNext(); |
| 935 m_pCurWidgetAcc = NULL; | 937 m_pCurWidgetAcc = NULL; |
| 936 } | 938 } |
| OLD | NEW |