diff options
Diffstat (limited to 'xfa')
-rw-r--r-- | xfa/fxfa/cxfa_ffnotify.cpp | 59 | ||||
-rw-r--r-- | xfa/fxfa/parser/xfa_document_datamerger_imp.cpp | 38 |
2 files changed, 50 insertions, 47 deletions
diff --git a/xfa/fxfa/cxfa_ffnotify.cpp b/xfa/fxfa/cxfa_ffnotify.cpp index 0d9c8518eb..072359b621 100644 --- a/xfa/fxfa/cxfa_ffnotify.cpp +++ b/xfa/fxfa/cxfa_ffnotify.cpp @@ -193,19 +193,19 @@ CXFA_ContentLayoutItem* CXFA_FFNotify::OnCreateContentLayoutItem( void CXFA_FFNotify::StartFieldDrawLayout(CXFA_Node* pItem, float& fCalcWidth, float& fCalcHeight) { - CXFA_WidgetAcc* pAcc = pItem->GetWidgetAcc(); - if (!pAcc) + if (!pItem->GetWidgetAcc()) return; - pAcc->StartWidgetLayout(m_pDoc.Get(), fCalcWidth, fCalcHeight); + pItem->GetWidgetAcc()->StartWidgetLayout(m_pDoc.Get(), fCalcWidth, + fCalcHeight); } bool CXFA_FFNotify::FindSplitPos(CXFA_Node* pItem, int32_t iBlockIndex, float& fCalcHeightPos) { - CXFA_WidgetAcc* pAcc = pItem->GetWidgetAcc(); - return pAcc && - pAcc->FindSplitPos(m_pDoc->GetDocView(), iBlockIndex, fCalcHeightPos); + return pItem->GetWidgetAcc() && + pItem->GetWidgetAcc()->FindSplitPos(m_pDoc->GetDocView(), iBlockIndex, + fCalcHeightPos); } bool CXFA_FFNotify::RunScript(CXFA_Script* script, CXFA_Node* item) { @@ -237,13 +237,11 @@ void CXFA_FFNotify::AddCalcValidate(CXFA_Node* pNode) { CXFA_FFDocView* pDocView = m_pDoc->GetDocView(); if (!pDocView) return; - - CXFA_WidgetAcc* pWidgetAcc = pNode->GetWidgetAcc(); - if (!pWidgetAcc) + if (!pNode->GetWidgetAcc()) return; - pDocView->AddCalculateWidgetAcc(pWidgetAcc); - pDocView->AddValidateWidget(pWidgetAcc); + pDocView->AddCalculateWidgetAcc(pNode->GetWidgetAcc()); + pDocView->AddValidateWidget(pNode->GetWidgetAcc()); } CXFA_FFDoc* CXFA_FFNotify::GetHDOC() { @@ -320,8 +318,9 @@ CXFA_Node* CXFA_FFNotify::GetFocusWidgetNode() { if (!pDocView) return nullptr; - CXFA_WidgetAcc* pAcc = pDocView->GetFocusWidgetAcc(); - return pAcc ? pAcc->GetNode() : nullptr; + return pDocView->GetFocusWidgetAcc() + ? pDocView->GetFocusWidgetAcc()->GetNode() + : nullptr; } void CXFA_FFNotify::SetFocusWidgetNode(CXFA_Node* pNode) { @@ -329,8 +328,7 @@ void CXFA_FFNotify::SetFocusWidgetNode(CXFA_Node* pNode) { if (!pDocView) return; - CXFA_WidgetAcc* pAcc = pNode ? pNode->GetWidgetAcc() : nullptr; - pDocView->SetFocusWidgetAcc(pAcc); + pDocView->SetFocusWidgetAcc(pNode ? pNode->GetWidgetAcc() : nullptr); } void CXFA_FFNotify::OnNodeReady(CXFA_Node* pNode) { @@ -368,14 +366,11 @@ void CXFA_FFNotify::OnValueChanging(CXFA_Node* pSender, XFA_Attribute eAttr) { return; if (pDocView->GetLayoutStatus() < XFA_DOCVIEW_LAYOUTSTATUS_End) return; - - CXFA_WidgetAcc* pWidgetAcc = pSender->GetWidgetAcc(); - if (!pWidgetAcc) + if (!pSender->GetWidgetAcc()) return; - CXFA_FFWidget* pWidget = - m_pDoc->GetDocView()->GetWidgetForNode(pWidgetAcc->GetNode()); - for (; pWidget; pWidget = pWidgetAcc->GetNextWidget(pWidget)) { + CXFA_FFWidget* pWidget = m_pDoc->GetDocView()->GetWidgetForNode(pSender); + for (; pWidget; pWidget = pSender->GetWidgetAcc()->GetNextWidget(pWidget)) { if (pWidget->IsLoaded()) pWidget->AddInvalidateRect(); } @@ -397,15 +392,15 @@ void CXFA_FFNotify::OnValueChanged(CXFA_Node* pSender, XFA_Element eType = pParentNode->GetElementType(); bool bIsContainerNode = pParentNode->IsContainerNode(); - CXFA_WidgetAcc* pWidgetAcc = pWidgetNode->GetWidgetAcc(); - if (!pWidgetAcc) + if (!pWidgetNode->GetWidgetAcc()) return; bool bUpdateProperty = false; pDocView->SetChangeMark(); switch (eType) { case XFA_Element::Caption: { - CXFA_TextLayout* pCapOut = pWidgetAcc->GetCaptionTextLayout(); + CXFA_TextLayout* pCapOut = + pWidgetNode->GetWidgetAcc()->GetCaptionTextLayout(); if (!pCapOut) return; @@ -426,20 +421,22 @@ void CXFA_FFNotify::OnValueChanged(CXFA_Node* pSender, pDocView->AddCalculateNodeNotify(pSender); if (eType == XFA_Element::Value || bIsContainerNode) { if (bIsContainerNode) { - pWidgetAcc->UpdateUIDisplay(m_pDoc->GetDocView(), nullptr); - pDocView->AddCalculateWidgetAcc(pWidgetAcc); - pDocView->AddValidateWidget(pWidgetAcc); + pWidgetNode->GetWidgetAcc()->UpdateUIDisplay(m_pDoc->GetDocView(), + nullptr); + pDocView->AddCalculateWidgetAcc(pWidgetNode->GetWidgetAcc()); + pDocView->AddValidateWidget(pWidgetNode->GetWidgetAcc()); } else if (pWidgetNode->GetParent()->GetElementType() == XFA_Element::ExclGroup) { - pWidgetAcc->UpdateUIDisplay(m_pDoc->GetDocView(), nullptr); + pWidgetNode->GetWidgetAcc()->UpdateUIDisplay(m_pDoc->GetDocView(), + nullptr); } return; } } - CXFA_FFWidget* pWidget = - m_pDoc->GetDocView()->GetWidgetForNode(pWidgetAcc->GetNode()); - for (; pWidget; pWidget = pWidgetAcc->GetNextWidget(pWidget)) { + CXFA_FFWidget* pWidget = m_pDoc->GetDocView()->GetWidgetForNode(pWidgetNode); + for (; pWidget; + pWidget = pWidgetNode->GetWidgetAcc()->GetNextWidget(pWidget)) { if (!pWidget->IsLoaded()) continue; diff --git a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp index 7c11149cb7..d843fa8896 100644 --- a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp +++ b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp @@ -134,7 +134,6 @@ void CreateDataBinding(CXFA_Node* pFormNode, return; ASSERT(pFormNode->IsWidgetReady()); - CXFA_WidgetAcc* pWidgetAcc = pFormNode->GetWidgetAcc(); auto* defValue = pFormNode->JSObject()->GetOrCreateProperty<CXFA_Value>( 0, XFA_Element::Value); if (!bDataToForm) { @@ -154,7 +153,8 @@ void CreateDataBinding(CXFA_Node* pFormNode, ASSERT(pXMLDataElement); pDataNode->JSObject()->SetAttributeValue( - wsValue, pWidgetAcc->GetFormatDataValue(wsValue), false, false); + wsValue, pFormNode->GetWidgetAcc()->GetFormatDataValue(wsValue), + false, false); pDataNode->JSObject()->SetCData(XFA_Attribute::ContentType, wsContentType, false, false); if (!wsHref.IsEmpty()) @@ -164,9 +164,9 @@ void CreateDataBinding(CXFA_Node* pFormNode, } case XFA_Element::ChoiceList: wsValue = defValue ? defValue->GetChildValueContent() : L""; - if (pWidgetAcc->IsChoiceListMultiSelect()) { + if (pFormNode->GetWidgetAcc()->IsChoiceListMultiSelect()) { std::vector<WideString> wsSelTextArray = - pWidgetAcc->GetSelectedItemsValue(); + pFormNode->GetWidgetAcc()->GetSelectedItemsValue(); if (!wsSelTextArray.empty()) { for (const auto& text : wsSelTextArray) { CXFA_Node* pValue = @@ -186,7 +186,8 @@ void CreateDataBinding(CXFA_Node* pFormNode, } } else if (!wsValue.IsEmpty()) { pDataNode->JSObject()->SetAttributeValue( - wsValue, pWidgetAcc->GetFormatDataValue(wsValue), false, false); + wsValue, pFormNode->GetWidgetAcc()->GetFormatDataValue(wsValue), + false, false); } break; case XFA_Element::CheckButton: @@ -195,7 +196,8 @@ void CreateDataBinding(CXFA_Node* pFormNode, break; pDataNode->JSObject()->SetAttributeValue( - wsValue, pWidgetAcc->GetFormatDataValue(wsValue), false, false); + wsValue, pFormNode->GetWidgetAcc()->GetFormatDataValue(wsValue), + false, false); break; case XFA_Element::ExclGroup: { CXFA_Node* pChecked = nullptr; @@ -264,9 +266,10 @@ void CreateDataBinding(CXFA_Node* pFormNode, if (wsValue.IsEmpty()) break; - wsValue = pWidgetAcc->NormalizeNumStr(wsValue); + wsValue = pFormNode->GetWidgetAcc()->NormalizeNumStr(wsValue); pDataNode->JSObject()->SetAttributeValue( - wsValue, pWidgetAcc->GetFormatDataValue(wsValue), false, false); + wsValue, pFormNode->GetWidgetAcc()->GetFormatDataValue(wsValue), + false, false); CXFA_Value* pValue = pFormNode->JSObject()->GetOrCreateProperty<CXFA_Value>( 0, XFA_Element::Value); @@ -279,14 +282,16 @@ void CreateDataBinding(CXFA_Node* pFormNode, break; pDataNode->JSObject()->SetAttributeValue( - wsValue, pWidgetAcc->GetFormatDataValue(wsValue), false, false); + wsValue, pFormNode->GetWidgetAcc()->GetFormatDataValue(wsValue), + false, false); break; } return; } WideString wsXMLValue = pDataNode->JSObject()->GetContent(false); - WideString wsNormalizeValue = pWidgetAcc->GetNormalizeDataValue(wsXMLValue); + WideString wsNormalizeValue = + pFormNode->GetWidgetAcc()->GetNormalizeDataValue(wsXMLValue); pDataNode->JSObject()->SetAttributeValue(wsNormalizeValue, wsXMLValue, false, false); @@ -315,7 +320,7 @@ void CreateDataBinding(CXFA_Node* pFormNode, break; } case XFA_Element::ChoiceList: - if (pWidgetAcc->IsChoiceListMultiSelect()) { + if (pFormNode->GetWidgetAcc()->IsChoiceListMultiSelect()) { std::vector<CXFA_Node*> items = pDataNode->GetNodeList( XFA_NODEFILTER_Children | XFA_NODEFILTER_Properties, XFA_Element::Unknown); @@ -348,8 +353,8 @@ void CreateDataBinding(CXFA_Node* pFormNode, XFA_Element::Text); break; case XFA_Element::ExclGroup: { - pWidgetAcc->SetSelectedMemberByValue(wsNormalizeValue.AsStringView(), - false, false, false); + pFormNode->GetWidgetAcc()->SetSelectedMemberByValue( + wsNormalizeValue.AsStringView(), false, false, false); break; } case XFA_Element::DateTimeEdit: @@ -357,10 +362,11 @@ void CreateDataBinding(CXFA_Node* pFormNode, XFA_Element::DateTime); break; case XFA_Element::NumericEdit: { - WideString wsPicture = - pWidgetAcc->GetPictureContent(XFA_VALUEPICTURE_DataBind); + WideString wsPicture = pFormNode->GetWidgetAcc()->GetPictureContent( + XFA_VALUEPICTURE_DataBind); if (wsPicture.IsEmpty()) - wsNormalizeValue = pWidgetAcc->NormalizeNumStr(wsNormalizeValue); + wsNormalizeValue = + pFormNode->GetWidgetAcc()->NormalizeNumStr(wsNormalizeValue); FormValueNode_SetChildContent(defValue, wsNormalizeValue, XFA_Element::Float); |