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 |