7#include "xfa/fxfa/parser/cxfa_attachnodelist.h"
9#include "xfa/fxfa/parser/cxfa_node.h"
11CXFA_AttachNodeList::CXFA_AttachNodeList(CXFA_Document* pDocument,
17void CXFA_AttachNodeList::
Trace(
cppgc::Visitor* visitor)
const {
19 visitor->Trace(m_pAttachNode);
23 return m_pAttachNode->CountChildren(
25 m_pAttachNode->GetElementType() == XFA_Element::Subform);
29 if (pNode->IsAncestorOf(m_pAttachNode))
36 m_pAttachNode->InsertChildAndNotify(pNode,
nullptr);
41 if (pNewNode->IsAncestorOf(m_pAttachNode))
44 if (pBeforeNode && pBeforeNode->GetParent() != m_pAttachNode)
47 CXFA_Node* pParent = pNewNode->GetParent();
51 m_pAttachNode->InsertChildAndNotify(pNewNode, pBeforeNode);
56 m_pAttachNode->RemoveChildAndNotify(pNode,
true);
60 return m_pAttachNode->GetChild<CXFA_Node>(
61 index, XFA_Element::Unknown,
62 m_pAttachNode->GetElementType() == XFA_Element::Subform);
~CXFA_AttachNodeList() override
bool Insert(CXFA_Node *pNewNode, CXFA_Node *pBeforeNode) override
void Remove(CXFA_Node *pNode) override
CXFA_Node * Item(size_t iIndex) override
bool Append(CXFA_Node *pNode) override
size_t GetLength() override
void Trace(cppgc::Visitor *visitor) const override
void RemoveChildAndNotify(CXFA_Node *pNode, bool bNotify)
virtual void Trace(cppgc::Visitor *visitor) const
CXFA_TreeList(CXFA_Document *pDocument)