void CXFA_FFDocView::ResetWidgetData(CXFA_WidgetAcc* pWidgetAcc) { m_bLayoutEvent = TRUE; FX_BOOL bChanged = FALSE; CXFA_Node* pFormNode = NULL; if (pWidgetAcc) { bChanged = ResetSingleWidgetAccData(pWidgetAcc); pFormNode = pWidgetAcc->GetNode(); } else { pFormNode = GetRootSubform(); } if (!pFormNode) { return; } if (pFormNode->GetClassID() != XFA_ELEMENT_Field && pFormNode->GetClassID() != XFA_ELEMENT_ExclGroup) { CXFA_WidgetAccIterator Iterator(this, pFormNode); while (CXFA_WidgetAcc* pAcc = Iterator.MoveToNext()) { bChanged |= ResetSingleWidgetAccData(pAcc); if (pAcc->GetNode()->GetClassID() == XFA_ELEMENT_ExclGroup) { Iterator.SkipTree(); } } } if (bChanged) { m_pDoc->GetDocProvider()->SetChangeMark(m_pDoc); } }
IXFA_WidgetIterator* CXFA_FFDocView::CreateWidgetIterator() { CXFA_Node* pFormRoot = GetRootSubform(); if (!pFormRoot) { return NULL; } return new CXFA_FFDocWidgetIterator(this, pFormRoot); }
IXFA_WidgetAccIterator* CXFA_FFDocView::CreateWidgetAccIterator( XFA_WIDGETORDER eOrder) { CXFA_Node* pFormRoot = GetRootSubform(); if (!pFormRoot) { return NULL; } return new CXFA_WidgetAccIterator(this, pFormRoot); }
CXFA_WidgetAccIterator* CXFA_FFDocView::CreateWidgetAccIterator( XFA_WIDGETORDER eOrder) { CXFA_Node* pFormRoot = GetRootSubform(); return pFormRoot ? new CXFA_WidgetAccIterator(this, pFormRoot) : nullptr; }