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/fxfa/parser/xfa_document_datamerger_imp.h" | 7 #include "xfa/fxfa/parser/xfa_document_datamerger_imp.h" |
8 | 8 |
9 #include "core/fxcrt/include/fx_ext.h" | 9 #include "core/fxcrt/include/fx_ext.h" |
10 #include "xfa/fde/xml/fde_xml_imp.h" | 10 #include "xfa/fde/xml/fde_xml_imp.h" |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 image.GetContentType(wsContentType); | 128 image.GetContentType(wsContentType); |
129 image.GetHref(wsHref); | 129 image.GetHref(wsHref); |
130 } | 130 } |
131 CFDE_XMLElement* pXMLDataElement = | 131 CFDE_XMLElement* pXMLDataElement = |
132 static_cast<CFDE_XMLElement*>(pDataNode->GetXMLMappingNode()); | 132 static_cast<CFDE_XMLElement*>(pDataNode->GetXMLMappingNode()); |
133 ASSERT(pXMLDataElement); | 133 ASSERT(pXMLDataElement); |
134 pWidgetData->GetFormatDataValue(wsValue, wsFormatedValue); | 134 pWidgetData->GetFormatDataValue(wsValue, wsFormatedValue); |
135 pDataNode->SetAttributeValue(wsValue, wsFormatedValue); | 135 pDataNode->SetAttributeValue(wsValue, wsFormatedValue); |
136 pDataNode->SetCData(XFA_ATTRIBUTE_ContentType, wsContentType); | 136 pDataNode->SetCData(XFA_ATTRIBUTE_ContentType, wsContentType); |
137 if (!wsHref.IsEmpty()) { | 137 if (!wsHref.IsEmpty()) { |
138 pXMLDataElement->SetString(FX_WSTRC(L"href"), wsHref); | 138 pXMLDataElement->SetString(L"href", wsHref); |
139 } | 139 } |
140 } break; | 140 } break; |
141 case XFA_ELEMENT_ChoiceList: | 141 case XFA_ELEMENT_ChoiceList: |
142 defValue.GetChildValueContent(wsValue); | 142 defValue.GetChildValueContent(wsValue); |
143 if (pWidgetData->GetChoiceListOpen() == XFA_ATTRIBUTEENUM_MultiSelect) { | 143 if (pWidgetData->GetChoiceListOpen() == XFA_ATTRIBUTEENUM_MultiSelect) { |
144 CFX_WideStringArray wsSelTextArray; | 144 CFX_WideStringArray wsSelTextArray; |
145 pWidgetData->GetSelectedItemsValue(wsSelTextArray); | 145 pWidgetData->GetSelectedItemsValue(wsSelTextArray); |
146 int32_t iSize = wsSelTextArray.GetSize(); | 146 int32_t iSize = wsSelTextArray.GetSize(); |
147 if (iSize >= 1) { | 147 if (iSize >= 1) { |
148 CXFA_Node* pValue = NULL; | 148 CXFA_Node* pValue = NULL; |
149 for (int32_t i = 0; i < iSize; i++) { | 149 for (int32_t i = 0; i < iSize; i++) { |
150 pValue = pDataNode->CreateSamePacketNode(XFA_ELEMENT_DataValue); | 150 pValue = pDataNode->CreateSamePacketNode(XFA_ELEMENT_DataValue); |
151 pValue->SetCData(XFA_ATTRIBUTE_Name, FX_WSTRC(L"value")); | 151 pValue->SetCData(XFA_ATTRIBUTE_Name, L"value"); |
152 pValue->CreateXMLMappingNode(); | 152 pValue->CreateXMLMappingNode(); |
153 pDataNode->InsertChild(pValue); | 153 pDataNode->InsertChild(pValue); |
154 pValue->SetCData(XFA_ATTRIBUTE_Value, wsSelTextArray[i]); | 154 pValue->SetCData(XFA_ATTRIBUTE_Value, wsSelTextArray[i]); |
155 } | 155 } |
156 } else { | 156 } else { |
157 CFDE_XMLNode* pXMLNode = pDataNode->GetXMLMappingNode(); | 157 CFDE_XMLNode* pXMLNode = pDataNode->GetXMLMappingNode(); |
158 ASSERT(pXMLNode->GetType() == FDE_XMLNODE_Element); | 158 ASSERT(pXMLNode->GetType() == FDE_XMLNODE_Element); |
159 static_cast<CFDE_XMLElement*>(pXMLNode) | 159 static_cast<CFDE_XMLElement*>(pXMLNode)->SetString(L"xfa:dataNode", |
160 ->SetString(FX_WSTRC(L"xfa:dataNode"), FX_WSTRC(L"dataGroup")); | 160 L"dataGroup"); |
161 } | 161 } |
162 } else if (!wsValue.IsEmpty()) { | 162 } else if (!wsValue.IsEmpty()) { |
163 pWidgetData->GetFormatDataValue(wsValue, wsFormatedValue); | 163 pWidgetData->GetFormatDataValue(wsValue, wsFormatedValue); |
164 pDataNode->SetAttributeValue(wsValue, wsFormatedValue); | 164 pDataNode->SetAttributeValue(wsValue, wsFormatedValue); |
165 } | 165 } |
166 break; | 166 break; |
167 case XFA_ELEMENT_CheckButton: | 167 case XFA_ELEMENT_CheckButton: |
168 defValue.GetChildValueContent(wsValue); | 168 defValue.GetChildValueContent(wsValue); |
169 if (wsValue.IsEmpty()) { | 169 if (wsValue.IsEmpty()) { |
170 break; | 170 break; |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 if (iCounts > 0) { | 290 if (iCounts > 0) { |
291 wsNormailizeValue.clear(); | 291 wsNormailizeValue.clear(); |
292 CFX_WideString wsItem; | 292 CFX_WideString wsItem; |
293 for (int32_t i = 0; i < iCounts; i++) { | 293 for (int32_t i = 0; i < iCounts; i++) { |
294 items[i]->TryContent(wsItem); | 294 items[i]->TryContent(wsItem); |
295 wsItem = (iCounts == 1) ? wsItem : wsItem + FX_WSTRC(L"\n"); | 295 wsItem = (iCounts == 1) ? wsItem : wsItem + FX_WSTRC(L"\n"); |
296 wsNormailizeValue += wsItem; | 296 wsNormailizeValue += wsItem; |
297 } | 297 } |
298 CXFA_ExData exData = defValue.GetExData(); | 298 CXFA_ExData exData = defValue.GetExData(); |
299 ASSERT(exData); | 299 ASSERT(exData); |
300 exData.SetContentType((iCounts == 1) ? FX_WSTRC(L"text/plain") | 300 exData.SetContentType(iCounts == 1 ? L"text/plain" : L"text/xml"); |
301 : FX_WSTRC(L"text/xml")); | |
302 } | 301 } |
303 XFA_DataMerge_FormValueNode_SetChildContent( | 302 XFA_DataMerge_FormValueNode_SetChildContent( |
304 defValue.GetNode(), wsNormailizeValue, XFA_ELEMENT_ExData); | 303 defValue.GetNode(), wsNormailizeValue, XFA_ELEMENT_ExData); |
305 } else { | 304 } else { |
306 XFA_DataMerge_FormValueNode_SetChildContent( | 305 XFA_DataMerge_FormValueNode_SetChildContent( |
307 defValue.GetNode(), wsNormailizeValue, XFA_ELEMENT_Text); | 306 defValue.GetNode(), wsNormailizeValue, XFA_ELEMENT_Text); |
308 } | 307 } |
309 break; | 308 break; |
310 case XFA_ELEMENT_CheckButton: | 309 case XFA_ELEMENT_CheckButton: |
311 XFA_DataMerge_FormValueNode_SetChildContent( | 310 XFA_DataMerge_FormValueNode_SetChildContent( |
(...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1123 if (!pDataNode) { | 1122 if (!pDataNode) { |
1124 if (pFormNode->GetNameHash() != 0 && | 1123 if (pFormNode->GetNameHash() != 0 && |
1125 pFormNode->GetEnum(XFA_ATTRIBUTE_Scope) != | 1124 pFormNode->GetEnum(XFA_ATTRIBUTE_Scope) != |
1126 XFA_ATTRIBUTEENUM_None) { | 1125 XFA_ATTRIBUTEENUM_None) { |
1127 XFA_ELEMENT eDataNodeType = (eClassID == XFA_ELEMENT_Subform || | 1126 XFA_ELEMENT eDataNodeType = (eClassID == XFA_ELEMENT_Subform || |
1128 XFA_FieldIsMultiListBox(pFormNode)) | 1127 XFA_FieldIsMultiListBox(pFormNode)) |
1129 ? XFA_ELEMENT_DataGroup | 1128 ? XFA_ELEMENT_DataGroup |
1130 : XFA_ELEMENT_DataValue; | 1129 : XFA_ELEMENT_DataValue; |
1131 pDataNode = XFA_DataDescription_MaybeCreateDataNode( | 1130 pDataNode = XFA_DataDescription_MaybeCreateDataNode( |
1132 pDocument, pDataScope, eDataNodeType, | 1131 pDocument, pDataScope, eDataNodeType, |
1133 pFormNode->GetCData(XFA_ATTRIBUTE_Name)); | 1132 CFX_WideString(pFormNode->GetCData(XFA_ATTRIBUTE_Name))); |
1134 if (pDataNode) { | 1133 if (pDataNode) { |
1135 XFA_DataMerge_CreateDataBinding(pFormNode, pDataNode, FALSE); | 1134 XFA_DataMerge_CreateDataBinding(pFormNode, pDataNode, FALSE); |
1136 } | 1135 } |
1137 } | 1136 } |
1138 if (!pDataNode) { | 1137 if (!pDataNode) { |
1139 XFA_DataMerge_FormValueNode_MatchNoneCreateChild(pFormNode); | 1138 XFA_DataMerge_FormValueNode_MatchNoneCreateChild(pFormNode); |
1140 } | 1139 } |
1141 } else { | 1140 } else { |
1142 CXFA_Node* pDataParent = | 1141 CXFA_Node* pDataParent = |
1143 pDataNode->GetNodeItem(XFA_NODEITEM_Parent); | 1142 pDataNode->GetNodeItem(XFA_NODEITEM_Parent); |
(...skipping 12 matching lines...) Expand all Loading... |
1156 pDataNode = XFA_DataMerge_GetGlobalBinding(pDocument, dwNameHash); | 1155 pDataNode = XFA_DataMerge_GetGlobalBinding(pDocument, dwNameHash); |
1157 if (!pDataNode) { | 1156 if (!pDataNode) { |
1158 XFA_ELEMENT eDataNodeType = (eClassID == XFA_ELEMENT_Subform || | 1157 XFA_ELEMENT eDataNodeType = (eClassID == XFA_ELEMENT_Subform || |
1159 XFA_FieldIsMultiListBox(pFormNode)) | 1158 XFA_FieldIsMultiListBox(pFormNode)) |
1160 ? XFA_ELEMENT_DataGroup | 1159 ? XFA_ELEMENT_DataGroup |
1161 : XFA_ELEMENT_DataValue; | 1160 : XFA_ELEMENT_DataValue; |
1162 CXFA_Node* pRecordNode = | 1161 CXFA_Node* pRecordNode = |
1163 ToNode(pDocument->GetXFAObject(XFA_HASHCODE_Record)); | 1162 ToNode(pDocument->GetXFAObject(XFA_HASHCODE_Record)); |
1164 pDataNode = XFA_DataDescription_MaybeCreateDataNode( | 1163 pDataNode = XFA_DataDescription_MaybeCreateDataNode( |
1165 pDocument, pRecordNode, eDataNodeType, | 1164 pDocument, pRecordNode, eDataNodeType, |
1166 pFormNode->GetCData(XFA_ATTRIBUTE_Name)); | 1165 CFX_WideString(pFormNode->GetCData(XFA_ATTRIBUTE_Name))); |
1167 if (pDataNode) { | 1166 if (pDataNode) { |
1168 XFA_DataMerge_CreateDataBinding(pFormNode, pDataNode, FALSE); | 1167 XFA_DataMerge_CreateDataBinding(pFormNode, pDataNode, FALSE); |
1169 XFA_DataMerge_RegisterGlobalBinding( | 1168 XFA_DataMerge_RegisterGlobalBinding( |
1170 pDocument, pFormNode->GetNameHash(), pDataNode); | 1169 pDocument, pFormNode->GetNameHash(), pDataNode); |
1171 } | 1170 } |
1172 } else { | 1171 } else { |
1173 XFA_DataMerge_CreateDataBinding(pFormNode, pDataNode); | 1172 XFA_DataMerge_CreateDataBinding(pFormNode, pDataNode); |
1174 } | 1173 } |
1175 } | 1174 } |
1176 if (!pDataNode) { | 1175 if (!pDataNode) { |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1253 for (int32_t i = 0; i < arrayNodes.GetSize(); i++) { | 1252 for (int32_t i = 0; i < arrayNodes.GetSize(); i++) { |
1254 CXFA_Node* pNode = arrayNodes[i]->AsNode(); | 1253 CXFA_Node* pNode = arrayNodes[i]->AsNode(); |
1255 if (pNode && !pNode->HasBindItem()) | 1254 if (pNode && !pNode->HasBindItem()) |
1256 return pNode; | 1255 return pNode; |
1257 } | 1256 } |
1258 return nullptr; | 1257 return nullptr; |
1259 } | 1258 } |
1260 void CXFA_Document::DoDataMerge() { | 1259 void CXFA_Document::DoDataMerge() { |
1261 CXFA_Node* pDatasetsRoot = ToNode(GetXFAObject(XFA_HASHCODE_Datasets)); | 1260 CXFA_Node* pDatasetsRoot = ToNode(GetXFAObject(XFA_HASHCODE_Datasets)); |
1262 if (!pDatasetsRoot) { | 1261 if (!pDatasetsRoot) { |
1263 CFDE_XMLElement* pDatasetsXMLNode = | 1262 CFDE_XMLElement* pDatasetsXMLNode = new CFDE_XMLElement(L"xfa:datasets"); |
1264 new CFDE_XMLElement(FX_WSTRC(L"xfa:datasets")); | 1263 pDatasetsXMLNode->SetString(L"xmlns:xfa", |
1265 | 1264 L"http://www.xfa.org/schema/xfa-data/1.0/"); |
1266 pDatasetsXMLNode->SetString( | |
1267 FX_WSTRC(L"xmlns:xfa"), | |
1268 FX_WSTRC(L"http://www.xfa.org/schema/xfa-data/1.0/")); | |
1269 pDatasetsRoot = CreateNode(XFA_XDPPACKET_Datasets, XFA_ELEMENT_DataModel); | 1265 pDatasetsRoot = CreateNode(XFA_XDPPACKET_Datasets, XFA_ELEMENT_DataModel); |
1270 pDatasetsRoot->SetCData(XFA_ATTRIBUTE_Name, FX_WSTRC(L"datasets")); | 1266 pDatasetsRoot->SetCData(XFA_ATTRIBUTE_Name, L"datasets"); |
1271 m_pRootNode->GetXMLMappingNode()->InsertChildNode(pDatasetsXMLNode); | 1267 m_pRootNode->GetXMLMappingNode()->InsertChildNode(pDatasetsXMLNode); |
1272 m_pRootNode->InsertChild(pDatasetsRoot); | 1268 m_pRootNode->InsertChild(pDatasetsRoot); |
1273 pDatasetsRoot->SetXMLMappingNode(pDatasetsXMLNode); | 1269 pDatasetsRoot->SetXMLMappingNode(pDatasetsXMLNode); |
1274 } | 1270 } |
1275 CXFA_Node *pDataRoot = NULL, *pDDRoot = NULL; | 1271 CXFA_Node *pDataRoot = NULL, *pDDRoot = NULL; |
1276 CFX_WideString wsDatasetsURI; | 1272 CFX_WideString wsDatasetsURI; |
1277 pDatasetsRoot->TryNamespace(wsDatasetsURI); | 1273 pDatasetsRoot->TryNamespace(wsDatasetsURI); |
1278 for (CXFA_Node* pChildNode = | 1274 for (CXFA_Node* pChildNode = |
1279 pDatasetsRoot->GetNodeItem(XFA_NODEITEM_FirstChild); | 1275 pDatasetsRoot->GetNodeItem(XFA_NODEITEM_FirstChild); |
1280 pChildNode; | 1276 pChildNode; |
(...skipping 16 matching lines...) Expand all Loading... |
1297 } | 1293 } |
1298 if (wsNamespaceURI == wsDatasetsURI) { | 1294 if (wsNamespaceURI == wsDatasetsURI) { |
1299 pDataRoot = pChildNode; | 1295 pDataRoot = pChildNode; |
1300 } | 1296 } |
1301 } | 1297 } |
1302 if (pDataRoot && pDDRoot) { | 1298 if (pDataRoot && pDDRoot) { |
1303 break; | 1299 break; |
1304 } | 1300 } |
1305 } | 1301 } |
1306 if (!pDataRoot) { | 1302 if (!pDataRoot) { |
1307 CFDE_XMLElement* pDataRootXMLNode = | 1303 CFDE_XMLElement* pDataRootXMLNode = new CFDE_XMLElement(L"xfa:data"); |
1308 new CFDE_XMLElement(FX_WSTRC(L"xfa:data")); | |
1309 | |
1310 pDataRoot = CreateNode(XFA_XDPPACKET_Datasets, XFA_ELEMENT_DataGroup); | 1304 pDataRoot = CreateNode(XFA_XDPPACKET_Datasets, XFA_ELEMENT_DataGroup); |
1311 pDataRoot->SetCData(XFA_ATTRIBUTE_Name, FX_WSTRC(L"data")); | 1305 pDataRoot->SetCData(XFA_ATTRIBUTE_Name, L"data"); |
1312 pDataRoot->SetXMLMappingNode(pDataRootXMLNode); | 1306 pDataRoot->SetXMLMappingNode(pDataRootXMLNode); |
1313 pDatasetsRoot->InsertChild(pDataRoot); | 1307 pDatasetsRoot->InsertChild(pDataRoot); |
1314 } | 1308 } |
1315 CXFA_Node* pDataTopLevel = | 1309 CXFA_Node* pDataTopLevel = |
1316 pDataRoot->GetFirstChildByClass(XFA_ELEMENT_DataGroup); | 1310 pDataRoot->GetFirstChildByClass(XFA_ELEMENT_DataGroup); |
1317 uint32_t dwNameHash = pDataTopLevel ? pDataTopLevel->GetNameHash() : 0; | 1311 uint32_t dwNameHash = pDataTopLevel ? pDataTopLevel->GetNameHash() : 0; |
1318 CXFA_Node* pTemplateRoot = | 1312 CXFA_Node* pTemplateRoot = |
1319 m_pRootNode->GetFirstChildByClass(XFA_ELEMENT_Template); | 1313 m_pRootNode->GetFirstChildByClass(XFA_ELEMENT_Template); |
1320 if (!pTemplateRoot) { | 1314 if (!pTemplateRoot) { |
1321 return; | 1315 return; |
1322 } | 1316 } |
1323 CXFA_Node* pTemplateChosen = | 1317 CXFA_Node* pTemplateChosen = |
1324 dwNameHash != 0 ? pTemplateRoot->GetFirstChildByName(dwNameHash) : NULL; | 1318 dwNameHash != 0 ? pTemplateRoot->GetFirstChildByName(dwNameHash) : NULL; |
1325 if (!pTemplateChosen || | 1319 if (!pTemplateChosen || |
1326 pTemplateChosen->GetClassID() != XFA_ELEMENT_Subform) { | 1320 pTemplateChosen->GetClassID() != XFA_ELEMENT_Subform) { |
1327 pTemplateChosen = pTemplateRoot->GetFirstChildByClass(XFA_ELEMENT_Subform); | 1321 pTemplateChosen = pTemplateRoot->GetFirstChildByClass(XFA_ELEMENT_Subform); |
1328 } | 1322 } |
1329 if (!pTemplateChosen) { | 1323 if (!pTemplateChosen) { |
1330 return; | 1324 return; |
1331 } | 1325 } |
1332 CXFA_Node* pFormRoot = m_pRootNode->GetFirstChildByClass(XFA_ELEMENT_Form); | 1326 CXFA_Node* pFormRoot = m_pRootNode->GetFirstChildByClass(XFA_ELEMENT_Form); |
1333 FX_BOOL bEmptyForm = FALSE; | 1327 FX_BOOL bEmptyForm = FALSE; |
1334 if (!pFormRoot) { | 1328 if (!pFormRoot) { |
1335 bEmptyForm = TRUE; | 1329 bEmptyForm = TRUE; |
1336 pFormRoot = CreateNode(XFA_XDPPACKET_Form, XFA_ELEMENT_Form); | 1330 pFormRoot = CreateNode(XFA_XDPPACKET_Form, XFA_ELEMENT_Form); |
1337 ASSERT(pFormRoot); | 1331 ASSERT(pFormRoot); |
1338 pFormRoot->SetCData(XFA_ATTRIBUTE_Name, FX_WSTRC(L"form")); | 1332 pFormRoot->SetCData(XFA_ATTRIBUTE_Name, L"form"); |
1339 m_pRootNode->InsertChild(pFormRoot, NULL); | 1333 m_pRootNode->InsertChild(pFormRoot, NULL); |
1340 } else { | 1334 } else { |
1341 CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFANode> | 1335 CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFANode> |
1342 sIterator(pFormRoot); | 1336 sIterator(pFormRoot); |
1343 for (CXFA_Node* pNode = sIterator.MoveToNext(); pNode; | 1337 for (CXFA_Node* pNode = sIterator.MoveToNext(); pNode; |
1344 pNode = sIterator.MoveToNext()) { | 1338 pNode = sIterator.MoveToNext()) { |
1345 pNode->SetFlag(XFA_NODEFLAG_UnusedNode, true); | 1339 pNode->SetFlag(XFA_NODEFLAG_UnusedNode, true); |
1346 } | 1340 } |
1347 } | 1341 } |
1348 CXFA_Node* pSubformSetNode = XFA_NodeMerge_CloneOrMergeContainer( | 1342 CXFA_Node* pSubformSetNode = XFA_NodeMerge_CloneOrMergeContainer( |
1349 this, pFormRoot, pTemplateChosen, FALSE); | 1343 this, pFormRoot, pTemplateChosen, FALSE); |
1350 ASSERT(pSubformSetNode); | 1344 ASSERT(pSubformSetNode); |
1351 if (!pDataTopLevel) { | 1345 if (!pDataTopLevel) { |
1352 CFX_WideStringC wsFormName = pSubformSetNode->GetCData(XFA_ATTRIBUTE_Name); | 1346 CFX_WideStringC wsFormName = pSubformSetNode->GetCData(XFA_ATTRIBUTE_Name); |
1353 CFX_WideString wsDataTopLevelName = | 1347 CFX_WideString wsDataTopLevelName(wsFormName.IsEmpty() ? L"form" |
1354 wsFormName.IsEmpty() ? FX_WSTRC(L"form") : wsFormName; | 1348 : wsFormName); |
1355 CFDE_XMLElement* pDataTopLevelXMLNode = | 1349 CFDE_XMLElement* pDataTopLevelXMLNode = |
1356 new CFDE_XMLElement(wsDataTopLevelName); | 1350 new CFDE_XMLElement(wsDataTopLevelName); |
1357 | 1351 |
1358 pDataTopLevel = CreateNode(XFA_XDPPACKET_Datasets, XFA_ELEMENT_DataGroup); | 1352 pDataTopLevel = CreateNode(XFA_XDPPACKET_Datasets, XFA_ELEMENT_DataGroup); |
1359 pDataTopLevel->SetCData(XFA_ATTRIBUTE_Name, wsDataTopLevelName); | 1353 pDataTopLevel->SetCData(XFA_ATTRIBUTE_Name, wsDataTopLevelName); |
1360 pDataTopLevel->SetXMLMappingNode(pDataTopLevelXMLNode); | 1354 pDataTopLevel->SetXMLMappingNode(pDataTopLevelXMLNode); |
1361 CXFA_Node* pBeforeNode = pDataRoot->GetNodeItem(XFA_NODEITEM_FirstChild); | 1355 CXFA_Node* pBeforeNode = pDataRoot->GetNodeItem(XFA_NODEITEM_FirstChild); |
1362 pDataRoot->InsertChild(pDataTopLevel, pBeforeNode); | 1356 pDataRoot->InsertChild(pDataTopLevel, pBeforeNode); |
1363 } | 1357 } |
1364 ASSERT(pDataTopLevel); | 1358 ASSERT(pDataTopLevel); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1419 } | 1413 } |
1420 pFormRoot->SetObject(XFA_ATTRIBUTE_BindingNode, NULL); | 1414 pFormRoot->SetObject(XFA_ATTRIBUTE_BindingNode, NULL); |
1421 } | 1415 } |
1422 XFA_DataMerge_ClearGlobalBinding(this); | 1416 XFA_DataMerge_ClearGlobalBinding(this); |
1423 if (bDoDataMerge) { | 1417 if (bDoDataMerge) { |
1424 DoDataMerge(); | 1418 DoDataMerge(); |
1425 } | 1419 } |
1426 CXFA_LayoutProcessor* pLayoutProcessor = GetLayoutProcessor(); | 1420 CXFA_LayoutProcessor* pLayoutProcessor = GetLayoutProcessor(); |
1427 pLayoutProcessor->SetForceReLayout(TRUE); | 1421 pLayoutProcessor->SetForceReLayout(TRUE); |
1428 } | 1422 } |
OLD | NEW |