7#include "xfa/fxfa/parser/xfa_document_datamerger_imp.h"
9#include "xfa/fxfa/parser/cxfa_document.h"
10#include "xfa/fxfa/parser/cxfa_node.h"
13 bool bUseInstanceManager) {
20 (bUseInstanceManager && eType ==
XFA_Element::Occur)) {
30 CXFA_Node* pFormChild = pFormParent->GetFirstChild();
31 for (; pFormChild; pFormChild = pFormChild->GetNextSibling()) {
41 CXFA_Document* pDocument,
45 std::vector<CXFA_Node*>* pSubformArray) {
48 pExistingNode = XFA_DataMerge_FindFormDOMInstance(
51 }
else if (!pSubformArray->empty()) {
52 pExistingNode = pSubformArray->front();
53 pSubformArray->erase(pSubformArray->begin());
65 for (
CXFA_Node* pTemplateChild = pTemplateNode->GetFirstChild();
66 pTemplateChild; pTemplateChild = pTemplateChild->GetNextSibling()) {
68 XFA_NodeMerge_CloneOrMergeContainer(
69 pDocument, pExistingNode, pTemplateChild, bRecursive,
nullptr);
80 for (
CXFA_Node* pTemplateChild = pTemplateNode->GetFirstChild();
81 pTemplateChild; pTemplateChild = pTemplateChild->GetNextSibling()) {
95 for (
CXFA_Node* pRootBoundNode = pParentFormNode;
97 pRootBoundNode = pRootBoundNode->GetParent()) {
void RemoveChildAndNotify(CXFA_Node *pNode, bool bNotify)
void SetTemplateNode(CXFA_Node *pTemplateNode)
void InsertChildAndNotify(CXFA_Node *pNode, CXFA_Node *pBeforeNode)
void ClearFlag(XFA_NodeFlag dwFlag)
CXFA_Node * GetBindData()
uint32_t GetNameHash() const
CXFA_Node * CloneTemplateToForm(bool bRecursive)
bool IsUnusedNode() const
void SetInitializedFlagAndNotify()
XFA_Element GetElementType() const
CXFA_Document * GetDocument() const
bool IsContainerNode() const
CXFA_Node * XFA_NodeMerge_CloneOrMergeContainer(CXFA_Document *pDocument, CXFA_Node *pFormParent, CXFA_Node *pTemplateNode, bool bRecursive, std::vector< CXFA_Node * > *pSubformArray)
CXFA_Node * XFA_DataMerge_FindFormDOMInstance(CXFA_Document *pDocument, XFA_Element eType, uint32_t dwNameHash, CXFA_Node *pFormParent)
bool XFA_DataMerge_NeedGenerateForm(CXFA_Node *pTemplateChild, bool bUseInstanceManager)
CXFA_Node * XFA_DataMerge_FindDataScope(CXFA_Node *pParentFormNode)