diff options
Diffstat (limited to 'xfa/fxfa/app/xfa_ffpageview.cpp')
-rw-r--r-- | xfa/fxfa/app/xfa_ffpageview.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/xfa/fxfa/app/xfa_ffpageview.cpp b/xfa/fxfa/app/xfa_ffpageview.cpp index 54c262faac..c1417c72a4 100644 --- a/xfa/fxfa/app/xfa_ffpageview.cpp +++ b/xfa/fxfa/app/xfa_ffpageview.cpp @@ -91,6 +91,24 @@ bool PageWidgetFilter(CXFA_FFWidget* pWidget, return (dwFilter & dwStatus) == dwFilter; } +bool IsLayoutElement(XFA_Element eElement, bool bLayoutContainer) { + switch (eElement) { + case XFA_Element::Draw: + case XFA_Element::Field: + case XFA_Element::InstanceManager: + return !bLayoutContainer; + case XFA_Element::Area: + case XFA_Element::Subform: + case XFA_Element::ExclGroup: + case XFA_Element::SubformSet: + case XFA_Element::PageArea: + case XFA_Element::Form: + return true; + default: + return false; + } +} + } // namespace CXFA_FFPageView::CXFA_FFPageView(CXFA_FFDocView* pDocView, CXFA_Node* pPageArea) @@ -373,8 +391,7 @@ void CXFA_FFTabOrderPageWidgetIterator::OrderContainer( CXFA_TabParam* pParam = new CXFA_TabParam; pParam->m_pWidget = hWidget; tabParams.Add(pParam); - if (XFA_IsLayoutElement(pSearchItem->GetFormNode()->GetElementType(), - TRUE)) { + if (IsLayoutElement(pSearchItem->GetFormNode()->GetElementType(), true)) { OrderContainer(sIterator, pSearchItem, pParam, bCurrentItem, bContentArea, bMarsterPage); } |