diff options
Diffstat (limited to 'xfa/fxfa/parser')
-rw-r--r-- | xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp | 5 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.cpp | 45 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.h | 5 | ||||
-rw-r--r-- | xfa/fxfa/parser/xfa_document_datamerger_imp.cpp | 37 |
4 files changed, 37 insertions, 55 deletions
diff --git a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp index 434d7ed892..98e3234e40 100644 --- a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp +++ b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp @@ -15,6 +15,7 @@ #include "third_party/base/logging.h" #include "third_party/base/ptr_util.h" #include "third_party/base/stl_util.h" +#include "xfa/fxfa/cxfa_ffdoc.h" #include "xfa/fxfa/cxfa_ffnotify.h" #include "xfa/fxfa/parser/cxfa_containerlayoutitem.h" #include "xfa/fxfa/parser/cxfa_contentlayoutitem.h" @@ -1015,8 +1016,8 @@ bool FindLayoutItemSplitPos(CXFA_ContentLayoutItem* pLayoutItem, bChanged = false; { float fRelSplitPos = *fProposedSplitPos - fCurVerticalOffset; - if (pNotify->FindSplitPos(pFormNode, pLayoutItem->GetIndex(), - fRelSplitPos)) { + if (pFormNode->FindSplitPos(pNotify->GetHDOC()->GetDocView(), + pLayoutItem->GetIndex(), fRelSplitPos)) { bAnyChanged = true; bChanged = true; *fProposedSplitPos = fCurVerticalOffset + fRelSplitPos; diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp index 988d1e2ee5..46342a883d 100644 --- a/xfa/fxfa/parser/cxfa_node.cpp +++ b/xfa/fxfa/parser/cxfa_node.cpp @@ -1038,35 +1038,30 @@ CXFA_Node* CXFA_Node::GetContainerNode() { return nullptr; if (eType == XFA_Element::Field) { - CXFA_Node* pFieldWidgetAcc = GetWidgetAcc(); - if (pFieldWidgetAcc && pFieldWidgetAcc->IsChoiceListMultiSelect()) + if (IsChoiceListMultiSelect()) return nullptr; - WideString wsPicture; - if (pFieldWidgetAcc) { - wsPicture = pFieldWidgetAcc->GetPictureContent(XFA_VALUEPICTURE_DataBind); - } + WideString wsPicture = GetPictureContent(XFA_VALUEPICTURE_DataBind); if (!wsPicture.IsEmpty()) return this; CXFA_Node* pDataNode = GetBindData(); if (!pDataNode) return nullptr; - pFieldWidgetAcc = nullptr; + + CXFA_Node* pFieldNode = nullptr; for (const auto& pFormNode : *(pDataNode->GetBindItems())) { if (!pFormNode || pFormNode->HasRemovedChildren()) continue; - pFieldWidgetAcc = - pFormNode->IsWidgetReady() ? pFormNode->GetWidgetAcc() : nullptr; - if (pFieldWidgetAcc) { - wsPicture = - pFieldWidgetAcc->GetPictureContent(XFA_VALUEPICTURE_DataBind); - } + pFieldNode = pFormNode->IsWidgetReady() ? pFormNode.Get() : nullptr; + if (pFieldNode) + wsPicture = pFieldNode->GetPictureContent(XFA_VALUEPICTURE_DataBind); if (!wsPicture.IsEmpty()) break; - pFieldWidgetAcc = nullptr; + + pFieldNode = nullptr; } - return pFieldWidgetAcc ? pFieldWidgetAcc->GetNode() : nullptr; + return pFieldNode; } CXFA_Node* pGrandNode = pParentNode ? pParentNode->GetParent() : nullptr; @@ -1998,8 +1993,8 @@ void CXFA_Node::SendAttributeChangeMessage(XFA_Attribute eAttribute, void CXFA_Node::SyncValue(const WideString& wsValue, bool bNotify) { WideString wsFormatValue = wsValue; CXFA_Node* pContainerNode = GetContainerNode(); - if (pContainerNode && pContainerNode->GetWidgetAcc()) - wsFormatValue = pContainerNode->GetWidgetAcc()->GetFormatDataValue(wsValue); + if (pContainerNode) + wsFormatValue = pContainerNode->GetFormatDataValue(wsValue); JSObject()->SetContent(wsValue, wsFormatValue, bNotify, false, true); } @@ -2194,8 +2189,8 @@ int32_t CXFA_Node::ProcessCalculate(CXFA_FFDocView* docView) { return iRet; if (GetRawValue() != EventParam.m_wsResult) { - GetWidgetAcc()->SetValue(XFA_VALUEPICTURE_Raw, EventParam.m_wsResult); - GetWidgetAcc()->UpdateUIDisplay(docView, nullptr); + SetValue(XFA_VALUEPICTURE_Raw, EventParam.m_wsResult); + UpdateUIDisplay(docView, nullptr); } return XFA_EVENTERROR_Success; } @@ -2292,7 +2287,7 @@ int32_t CXFA_Node::ProcessNullTestValidate(CXFA_FFDocView* docView, CXFA_Validate* validate, int32_t iFlags, bool bVersionFlag) { - if (!GetWidgetAcc()->GetValue(XFA_VALUEPICTURE_Raw).IsEmpty()) + if (!GetValue(XFA_VALUEPICTURE_Raw).IsEmpty()) return XFA_EVENTERROR_Success; if (m_bIsNull && m_bPreNull) return XFA_EVENTERROR_Success; @@ -2502,8 +2497,7 @@ std::pair<int32_t, bool> CXFA_Node::ExecuteBoolScript( if (pEventParam->m_eType == XFA_EVENT_InitCalculate) { if ((iRet == XFA_EVENTERROR_Success) && (GetRawValue() != pEventParam->m_wsResult)) { - GetWidgetAcc()->SetValue(XFA_VALUEPICTURE_Raw, - pEventParam->m_wsResult); + SetValue(XFA_VALUEPICTURE_Raw, pEventParam->m_wsResult); docView->AddValidateNode(this); } } @@ -2778,14 +2772,13 @@ void CXFA_Node::ResetData() { if (!pChild->IsWidgetReady()) continue; - CXFA_Node* pAcc = pChild->GetWidgetAcc(); bool done = false; if (wsValue.IsEmpty()) { - CXFA_Value* defValue = pAcc->GetNode()->GetDefaultValueIfExists(); + CXFA_Value* defValue = pChild->GetDefaultValueIfExists(); if (defValue) { wsValue = defValue->GetChildValueContent(); SetValue(XFA_VALUEPICTURE_Raw, wsValue); - pAcc->SetValue(XFA_VALUEPICTURE_Raw, wsValue); + pChild->SetValue(XFA_VALUEPICTURE_Raw, wsValue); done = true; } } @@ -2802,7 +2795,7 @@ void CXFA_Node::ResetData() { ->JSObject() ->GetContent(false); } - pAcc->SetValue(XFA_VALUEPICTURE_Raw, itemText); + pChild->SetValue(XFA_VALUEPICTURE_Raw, itemText); } pNextChild = pChild->GetNextContainerSibling(); } diff --git a/xfa/fxfa/parser/cxfa_node.h b/xfa/fxfa/parser/cxfa_node.h index 6b6e865353..47fd30bc8e 100644 --- a/xfa/fxfa/parser/cxfa_node.h +++ b/xfa/fxfa/parser/cxfa_node.h @@ -324,11 +324,6 @@ class CXFA_Node : public CXFA_Object { void SetWidgetReady() { is_widget_ready_ = true; } bool IsWidgetReady() const { return is_widget_ready_; } - // TODO(dsinclair): Remove post WidgetAcc merge. - CXFA_Node* GetWidgetAcc() { - ASSERT(IsWidgetReady()); - return this; - } std::vector<CXFA_Event*> GetEventByActivity(XFA_AttributeEnum iActivity, bool bIsFormReady); diff --git a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp index 8b0fa40250..7875ff89d1 100644 --- a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp +++ b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp @@ -152,8 +152,7 @@ void CreateDataBinding(CXFA_Node* pFormNode, ASSERT(pXMLDataElement); pDataNode->JSObject()->SetAttributeValue( - wsValue, pFormNode->GetWidgetAcc()->GetFormatDataValue(wsValue), - false, false); + wsValue, pFormNode->GetFormatDataValue(wsValue), false, false); pDataNode->JSObject()->SetCData(XFA_Attribute::ContentType, wsContentType, false, false); if (!wsHref.IsEmpty()) @@ -163,9 +162,9 @@ void CreateDataBinding(CXFA_Node* pFormNode, } case XFA_Element::ChoiceList: wsValue = defValue ? defValue->GetChildValueContent() : L""; - if (pFormNode->GetWidgetAcc()->IsChoiceListMultiSelect()) { + if (pFormNode->IsChoiceListMultiSelect()) { std::vector<WideString> wsSelTextArray = - pFormNode->GetWidgetAcc()->GetSelectedItemsValue(); + pFormNode->GetSelectedItemsValue(); if (!wsSelTextArray.empty()) { for (const auto& text : wsSelTextArray) { CXFA_Node* pValue = @@ -185,8 +184,7 @@ void CreateDataBinding(CXFA_Node* pFormNode, } } else if (!wsValue.IsEmpty()) { pDataNode->JSObject()->SetAttributeValue( - wsValue, pFormNode->GetWidgetAcc()->GetFormatDataValue(wsValue), - false, false); + wsValue, pFormNode->GetFormatDataValue(wsValue), false, false); } break; case XFA_Element::CheckButton: @@ -195,8 +193,7 @@ void CreateDataBinding(CXFA_Node* pFormNode, break; pDataNode->JSObject()->SetAttributeValue( - wsValue, pFormNode->GetWidgetAcc()->GetFormatDataValue(wsValue), - false, false); + wsValue, pFormNode->GetFormatDataValue(wsValue), false, false); break; case XFA_Element::ExclGroup: { CXFA_Node* pChecked = nullptr; @@ -265,10 +262,9 @@ void CreateDataBinding(CXFA_Node* pFormNode, if (wsValue.IsEmpty()) break; - wsValue = pFormNode->GetWidgetAcc()->NormalizeNumStr(wsValue); + wsValue = pFormNode->NormalizeNumStr(wsValue); pDataNode->JSObject()->SetAttributeValue( - wsValue, pFormNode->GetWidgetAcc()->GetFormatDataValue(wsValue), - false, false); + wsValue, pFormNode->GetFormatDataValue(wsValue), false, false); CXFA_Value* pValue = pFormNode->JSObject()->GetOrCreateProperty<CXFA_Value>( 0, XFA_Element::Value); @@ -281,16 +277,14 @@ void CreateDataBinding(CXFA_Node* pFormNode, break; pDataNode->JSObject()->SetAttributeValue( - wsValue, pFormNode->GetWidgetAcc()->GetFormatDataValue(wsValue), - false, false); + wsValue, pFormNode->GetFormatDataValue(wsValue), false, false); break; } return; } WideString wsXMLValue = pDataNode->JSObject()->GetContent(false); - WideString wsNormalizeValue = - pFormNode->GetWidgetAcc()->GetNormalizeDataValue(wsXMLValue); + WideString wsNormalizeValue = pFormNode->GetNormalizeDataValue(wsXMLValue); pDataNode->JSObject()->SetAttributeValue(wsNormalizeValue, wsXMLValue, false, false); @@ -319,7 +313,7 @@ void CreateDataBinding(CXFA_Node* pFormNode, break; } case XFA_Element::ChoiceList: - if (pFormNode->GetWidgetAcc()->IsChoiceListMultiSelect()) { + if (pFormNode->IsChoiceListMultiSelect()) { std::vector<CXFA_Node*> items = pDataNode->GetNodeList( XFA_NODEFILTER_Children | XFA_NODEFILTER_Properties, XFA_Element::Unknown); @@ -352,8 +346,8 @@ void CreateDataBinding(CXFA_Node* pFormNode, XFA_Element::Text); break; case XFA_Element::ExclGroup: { - pFormNode->GetWidgetAcc()->SetSelectedMemberByValue( - wsNormalizeValue.AsStringView(), false, false, false); + pFormNode->SetSelectedMemberByValue(wsNormalizeValue.AsStringView(), + false, false, false); break; } case XFA_Element::DateTimeEdit: @@ -361,11 +355,10 @@ void CreateDataBinding(CXFA_Node* pFormNode, XFA_Element::DateTime); break; case XFA_Element::NumericEdit: { - WideString wsPicture = pFormNode->GetWidgetAcc()->GetPictureContent( - XFA_VALUEPICTURE_DataBind); + WideString wsPicture = + pFormNode->GetPictureContent(XFA_VALUEPICTURE_DataBind); if (wsPicture.IsEmpty()) - wsNormalizeValue = - pFormNode->GetWidgetAcc()->NormalizeNumStr(wsNormalizeValue); + wsNormalizeValue = pFormNode->NormalizeNumStr(wsNormalizeValue); FormValueNode_SetChildContent(defValue, wsNormalizeValue, XFA_Element::Float); |