| Index: xfa/fxfa/parser/xfa_object_imp.cpp
|
| diff --git a/xfa/fxfa/parser/xfa_object_imp.cpp b/xfa/fxfa/parser/xfa_object_imp.cpp
|
| index 87941af070350665662581b4c64fd04738573720..be6689131a6fe3b591636cd61905a5699435c9c6 100644
|
| --- a/xfa/fxfa/parser/xfa_object_imp.cpp
|
| +++ b/xfa/fxfa/parser/xfa_object_imp.cpp
|
| @@ -1298,9 +1298,9 @@ void CXFA_Node::Script_Attribute_BOOLRead(FXJSE_HVALUE hValue,
|
| ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET);
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_Attribute_SendAttributeChangeMessage(
|
| - void* eAttribute,
|
| - void* eValue,
|
| + XFA_ATTRIBUTE eAttribute,
|
| FX_BOOL bScriptModify) {
|
| CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor();
|
| if (!pLayoutPro) {
|
| @@ -1317,20 +1317,19 @@ void CXFA_Node::Script_Attribute_SendAttributeChangeMessage(
|
| switch (eType) {
|
| case XFA_ELEMENT_Caption:
|
| bNeedFindContainer = TRUE;
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, this, GetNodeItem(XFA_NODEITEM_Parent));
|
| + pNotify->OnValueChanged(this, eAttribute, this,
|
| + GetNodeItem(XFA_NODEITEM_Parent));
|
| break;
|
| case XFA_ELEMENT_Font:
|
| case XFA_ELEMENT_Para: {
|
| bNeedFindContainer = TRUE;
|
| CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent);
|
| if (pParentNode->GetClassID() == XFA_ELEMENT_Caption) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, pParentNode,
|
| - pParentNode->GetNodeItem(XFA_NODEITEM_Parent));
|
| + pNotify->OnValueChanged(
|
| + this, eAttribute, pParentNode,
|
| + pParentNode->GetNodeItem(XFA_NODEITEM_Parent));
|
| } else {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, this, pParentNode);
|
| + pNotify->OnValueChanged(this, eAttribute, this, pParentNode);
|
| }
|
| } break;
|
| case XFA_ELEMENT_Margin: {
|
| @@ -1338,18 +1337,16 @@ void CXFA_Node::Script_Attribute_SendAttributeChangeMessage(
|
| CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent);
|
| XFA_ELEMENT eParentType = pParentNode->GetClassID();
|
| if (pParentNode->IsContainerNode()) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, this, pParentNode);
|
| + pNotify->OnValueChanged(this, eAttribute, this, pParentNode);
|
| } else if (eParentType == XFA_ELEMENT_Caption) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, pParentNode,
|
| - pParentNode->GetNodeItem(XFA_NODEITEM_Parent));
|
| + pNotify->OnValueChanged(
|
| + this, eAttribute, pParentNode,
|
| + pParentNode->GetNodeItem(XFA_NODEITEM_Parent));
|
| } else {
|
| CXFA_Node* pNode = pParentNode->GetNodeItem(XFA_NODEITEM_Parent);
|
| if (pNode && pNode->GetClassID() == XFA_ELEMENT_Ui) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, pNode,
|
| - pNode->GetNodeItem(XFA_NODEITEM_Parent));
|
| + pNotify->OnValueChanged(this, eAttribute, pNode,
|
| + pNode->GetNodeItem(XFA_NODEITEM_Parent));
|
| }
|
| }
|
| } break;
|
| @@ -1361,9 +1358,8 @@ void CXFA_Node::Script_Attribute_SendAttributeChangeMessage(
|
| eUIType == XFA_ELEMENT_TextEdit)) {
|
| CXFA_Node* pUINode = pEditNode->GetNodeItem(XFA_NODEITEM_Parent);
|
| if (pUINode) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, pUINode,
|
| - pUINode->GetNodeItem(XFA_NODEITEM_Parent));
|
| + pNotify->OnValueChanged(this, eAttribute, pUINode,
|
| + pUINode->GetNodeItem(XFA_NODEITEM_Parent));
|
| }
|
| }
|
| } break;
|
| @@ -1376,18 +1372,16 @@ void CXFA_Node::Script_Attribute_SendAttributeChangeMessage(
|
| case XFA_ELEMENT_TextEdit: {
|
| CXFA_Node* pUINode = GetNodeItem(XFA_NODEITEM_Parent);
|
| if (pUINode) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, pUINode,
|
| - pUINode->GetNodeItem(XFA_NODEITEM_Parent));
|
| + pNotify->OnValueChanged(this, eAttribute, pUINode,
|
| + pUINode->GetNodeItem(XFA_NODEITEM_Parent));
|
| }
|
| } break;
|
| case XFA_ELEMENT_CheckButton: {
|
| bNeedFindContainer = TRUE;
|
| CXFA_Node* pUINode = GetNodeItem(XFA_NODEITEM_Parent);
|
| if (pUINode) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, pUINode,
|
| - pUINode->GetNodeItem(XFA_NODEITEM_Parent));
|
| + pNotify->OnValueChanged(this, eAttribute, pUINode,
|
| + pUINode->GetNodeItem(XFA_NODEITEM_Parent));
|
| }
|
| } break;
|
| case XFA_ELEMENT_Keep:
|
| @@ -1405,8 +1399,7 @@ void CXFA_Node::Script_Attribute_SendAttributeChangeMessage(
|
| case XFA_ELEMENT_Subform:
|
| case XFA_ELEMENT_SubformSet:
|
| pLayoutPro->AddChangedContainer(this);
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, this, this);
|
| + pNotify->OnValueChanged(this, eAttribute, this, this);
|
| break;
|
| case XFA_ELEMENT_Sharptext:
|
| case XFA_ELEMENT_Sharpxml:
|
| @@ -1427,19 +1420,16 @@ void CXFA_Node::Script_Attribute_SendAttributeChangeMessage(
|
| if (bScriptModify) {
|
| pValueNode = pNode;
|
| }
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, pValueNode, pNode);
|
| + pNotify->OnValueChanged(this, eAttribute, pValueNode, pNode);
|
| } else {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, pNode,
|
| - pNode->GetNodeItem(XFA_NODEITEM_Parent));
|
| + pNotify->OnValueChanged(this, eAttribute, pNode,
|
| + pNode->GetNodeItem(XFA_NODEITEM_Parent));
|
| }
|
| } else {
|
| if (eType == XFA_ELEMENT_Items) {
|
| CXFA_Node* pNode = pValueNode->GetNodeItem(XFA_NODEITEM_Parent);
|
| if (pNode && pNode->IsContainerNode()) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
|
| - eValue, pValueNode, pNode);
|
| + pNotify->OnValueChanged(this, eAttribute, pValueNode, pNode);
|
| }
|
| }
|
| }
|
| @@ -1460,10 +1450,10 @@ void CXFA_Node::Script_Attribute_SendAttributeChangeMessage(
|
| }
|
| }
|
| } else {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute, eValue,
|
| - this, this);
|
| + pNotify->OnValueChanged(this, eAttribute, this, this);
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_Attribute_String(FXJSE_HVALUE hValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| @@ -3912,9 +3902,9 @@ FX_BOOL CXFA_Node::SetMeasure(XFA_ATTRIBUTE eAttr,
|
| CXFA_Measurement mValue,
|
| FX_BOOL bNotify) {
|
| void* pKey = XFA_GetMapKey_Element(GetClassID(), eAttr);
|
| - OnChanging(eAttr, &mValue, bNotify);
|
| + OnChanging(eAttr, bNotify);
|
| SetMapModuleBuffer(pKey, &mValue, sizeof(CXFA_Measurement));
|
| - OnChanged(eAttr, &mValue, bNotify);
|
| + OnChanged(eAttr, bNotify);
|
| return TRUE;
|
| }
|
| FX_BOOL CXFA_Node::TryMeasure(XFA_ATTRIBUTE eAttr,
|
| @@ -3946,7 +3936,7 @@ FX_BOOL CXFA_Node::SetCData(XFA_ATTRIBUTE eAttr,
|
| FX_BOOL bNotify,
|
| FX_BOOL bScriptModify) {
|
| void* pKey = XFA_GetMapKey_Element(GetClassID(), eAttr);
|
| - OnChanging(eAttr, (void*)wsValue.c_str(), bNotify);
|
| + OnChanging(eAttr, bNotify);
|
| if (eAttr == XFA_ATTRIBUTE_Value) {
|
| CFX_WideString* pClone = new CFX_WideString(wsValue);
|
| SetUserData(pKey, pClone, &deleteWideStringCallBack);
|
| @@ -3955,7 +3945,7 @@ FX_BOOL CXFA_Node::SetCData(XFA_ATTRIBUTE eAttr,
|
| if (eAttr == XFA_ATTRIBUTE_Name)
|
| UpdateNameHash();
|
| }
|
| - OnChanged(eAttr, (void*)wsValue.c_str(), bNotify, bScriptModify);
|
| + OnChanged(eAttr, bNotify, bScriptModify);
|
| if (IsNeedSavingXMLNode() && eAttr != XFA_ATTRIBUTE_QualifiedName &&
|
| eAttr != XFA_ATTRIBUTE_BindingNode) {
|
| if (eAttr == XFA_ATTRIBUTE_Name &&
|
| @@ -4015,11 +4005,10 @@ FX_BOOL CXFA_Node::SetAttributeValue(const CFX_WideString& wsValue,
|
| FX_BOOL bNotify,
|
| FX_BOOL bScriptModify) {
|
| void* pKey = XFA_GetMapKey_Element(GetClassID(), XFA_ATTRIBUTE_Value);
|
| - OnChanging(XFA_ATTRIBUTE_Value, (void*)wsValue.c_str(), bNotify);
|
| + OnChanging(XFA_ATTRIBUTE_Value, bNotify);
|
| CFX_WideString* pClone = new CFX_WideString(wsValue);
|
| SetUserData(pKey, pClone, &deleteWideStringCallBack);
|
| - OnChanged(XFA_ATTRIBUTE_Value, (void*)wsValue.c_str(), bNotify,
|
| - bScriptModify);
|
| + OnChanged(XFA_ATTRIBUTE_Value, bNotify, bScriptModify);
|
| if (IsNeedSavingXMLNode()) {
|
| FDE_XMLNODETYPE eXMLType = m_pXMLNode->GetType();
|
| switch (eXMLType) {
|
| @@ -4128,9 +4117,9 @@ FX_BOOL CXFA_Node::SetValue(XFA_ATTRIBUTE eAttr,
|
| void* pValue,
|
| FX_BOOL bNotify) {
|
| void* pKey = XFA_GetMapKey_Element(GetClassID(), eAttr);
|
| - OnChanging(eAttr, pValue, bNotify);
|
| + OnChanging(eAttr, bNotify);
|
| SetMapModuleValue(pKey, pValue);
|
| - OnChanged(eAttr, pValue, bNotify);
|
| + OnChanged(eAttr, bNotify);
|
| if (IsNeedSavingXMLNode()) {
|
| FXSYS_assert(m_pXMLNode->GetType() == FDE_XMLNODE_Element);
|
| const XFA_ATTRIBUTEINFO* pInfo = XFA_GetAttributeByID(eAttr);
|
| @@ -4620,9 +4609,9 @@ int32_t CXFA_Node::InsertChild(int32_t index, CXFA_Node* pNode) {
|
| ASSERT(m_pLastChild->m_pNext == NULL);
|
| pNode->SetFlag(XFA_NODEFLAG_HasRemoved, FALSE);
|
| CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
|
| - if (pNotify) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ChildAdded, pNode);
|
| - }
|
| + if (pNotify)
|
| + pNotify->OnChildAdded(this);
|
| +
|
| if (IsNeedSavingXMLNode() && pNode->m_pXMLNode) {
|
| FXSYS_assert(pNode->m_pXMLNode->GetNodeItem(CFDE_XMLNode::Parent) == NULL);
|
| m_pXMLNode->InsertChildNode(pNode->m_pXMLNode, index);
|
| @@ -4666,9 +4655,9 @@ FX_BOOL CXFA_Node::InsertChild(CXFA_Node* pNode, CXFA_Node* pBeforeNode) {
|
| ASSERT(m_pLastChild->m_pNext == NULL);
|
| pNode->SetFlag(XFA_NODEFLAG_HasRemoved, FALSE);
|
| CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
|
| - if (pNotify) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ChildAdded, pNode);
|
| - }
|
| + if (pNotify)
|
| + pNotify->OnChildAdded(this);
|
| +
|
| if (IsNeedSavingXMLNode() && pNode->m_pXMLNode) {
|
| FXSYS_assert(pNode->m_pXMLNode->GetNodeItem(CFDE_XMLNode::Parent) == NULL);
|
| m_pXMLNode->InsertChildNode(pNode->m_pXMLNode, nIndex);
|
| @@ -4858,7 +4847,7 @@ void CXFA_Node::SetFlag(uint32_t dwFlag, FX_BOOL bOn, FX_BOOL bNotify) {
|
| if (bNotify && !HasFlag(XFA_NODEFLAG_Initialized)) {
|
| CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
|
| if (pNotify) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_Ready);
|
| + pNotify->OnNodeReady(this);
|
| }
|
| }
|
| break;
|
| @@ -4873,34 +4862,32 @@ void CXFA_Node::SetFlag(uint32_t dwFlag, FX_BOOL bOn, FX_BOOL bNotify) {
|
| FX_BOOL CXFA_Node::IsAttributeInXML() {
|
| return GetEnum(XFA_ATTRIBUTE_Contains) == XFA_ATTRIBUTEENUM_MetaData;
|
| }
|
| +
|
| void CXFA_Node::OnRemoved(CXFA_Node* pParent,
|
| CXFA_Node* pRemoved,
|
| FX_BOOL bNotify) {
|
| if (bNotify && pParent) {
|
| CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
|
| if (pNotify) {
|
| - pNotify->OnNodeEvent(pParent, XFA_NODEEVENT_ChildRemoved, pRemoved);
|
| + pNotify->OnChildRemoved();
|
| }
|
| }
|
| }
|
| -void CXFA_Node::OnChanging(XFA_ATTRIBUTE eAttr,
|
| - void* pNewValue,
|
| - FX_BOOL bNotify) {
|
| +
|
| +void CXFA_Node::OnChanging(XFA_ATTRIBUTE eAttr, FX_BOOL bNotify) {
|
| if (bNotify && HasFlag(XFA_NODEFLAG_Initialized)) {
|
| CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
|
| if (pNotify) {
|
| - pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanging,
|
| - (void*)(uintptr_t)eAttr, pNewValue);
|
| + pNotify->OnValueChanging(this, eAttr);
|
| }
|
| }
|
| }
|
| +
|
| void CXFA_Node::OnChanged(XFA_ATTRIBUTE eAttr,
|
| - void* pNewValue,
|
| FX_BOOL bNotify,
|
| FX_BOOL bScriptModify) {
|
| if (bNotify && HasFlag(XFA_NODEFLAG_Initialized)) {
|
| - Script_Attribute_SendAttributeChangeMessage((void*)(uintptr_t)eAttr,
|
| - pNewValue, bScriptModify);
|
| + Script_Attribute_SendAttributeChangeMessage(eAttr, bScriptModify);
|
| }
|
| }
|
| int32_t CXFA_Node::execSingleEventByName(const CFX_WideStringC& wsEventName,
|
|
|