| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "xfa/fxfa/parser/xfa_object.h" | 7 #include "xfa/fxfa/parser/xfa_object.h" |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 } | 45 } |
| 46 if (IsNodeList()) { | 46 if (IsNodeList()) { |
| 47 return AsNodeList()->GetClassID(); | 47 return AsNodeList()->GetClassID(); |
| 48 } | 48 } |
| 49 if (IsOrdinaryList()) { | 49 if (IsOrdinaryList()) { |
| 50 return XFA_ELEMENT_List; | 50 return XFA_ELEMENT_List; |
| 51 } | 51 } |
| 52 ASSERT(FALSE); | 52 ASSERT(FALSE); |
| 53 return (XFA_ELEMENT)0; | 53 return (XFA_ELEMENT)0; |
| 54 } | 54 } |
| 55 void CXFA_Object::Script_ObjectClass_ClassName(FXJSE_HVALUE hValue, | 55 void CXFA_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue, |
| 56 FX_BOOL bSetting, | 56 FX_BOOL bSetting, |
| 57 XFA_ATTRIBUTE eAttribute) { | 57 XFA_ATTRIBUTE eAttribute) { |
| 58 if (!bSetting) { | 58 if (!bSetting) { |
| 59 CFX_WideStringC className; | 59 CFX_WideStringC className; |
| 60 GetClassName(className); | 60 GetClassName(className); |
| 61 FXJSE_Value_SetUTF8String( | 61 FXJSE_Value_SetUTF8String( |
| 62 hValue, | 62 pValue, |
| 63 FX_UTF8Encode(className.c_str(), className.GetLength()).AsStringC()); | 63 FX_UTF8Encode(className.c_str(), className.GetLength()).AsStringC()); |
| 64 } else { | 64 } else { |
| 65 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 65 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 66 } | 66 } |
| 67 } | 67 } |
| 68 void CXFA_Object::ThrowScriptErrorMessage(int32_t iStringID, ...) { | 68 void CXFA_Object::ThrowScriptErrorMessage(int32_t iStringID, ...) { |
| 69 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider(); | 69 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider(); |
| 70 ASSERT(pAppProvider); | 70 ASSERT(pAppProvider); |
| 71 CFX_WideString wsFormat; | 71 CFX_WideString wsFormat; |
| 72 pAppProvider->LoadString(iStringID, wsFormat); | 72 pAppProvider->LoadString(iStringID, wsFormat); |
| (...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 647 } | 647 } |
| 648 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | | 648 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | |
| 649 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | | 649 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | |
| 650 XFA_RESOLVENODE_Siblings; | 650 XFA_RESOLVENODE_Siblings; |
| 651 XFA_RESOLVENODE_RS resoveNodeRS; | 651 XFA_RESOLVENODE_RS resoveNodeRS; |
| 652 int32_t iRet = pScriptContext->ResolveObjects( | 652 int32_t iRet = pScriptContext->ResolveObjects( |
| 653 refNode, wsExpression.AsStringC(), resoveNodeRS, dwFlag); | 653 refNode, wsExpression.AsStringC(), resoveNodeRS, dwFlag); |
| 654 if (iRet < 1) { | 654 if (iRet < 1) { |
| 655 return FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 655 return FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 656 } | 656 } |
| 657 FXJSE_HVALUE hValue = NULL; | 657 CFXJSE_Value* pValue = nullptr; |
| 658 if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) { | 658 if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) { |
| 659 CXFA_Object* pNode = resoveNodeRS.nodes[0]; | 659 CXFA_Object* pNode = resoveNodeRS.nodes[0]; |
| 660 hValue = pScriptContext->GetJSValueFromMap(pNode); | 660 pValue = pScriptContext->GetJSValueFromMap(pNode); |
| 661 FXJSE_Value_Set(pArguments->GetReturnValue(), hValue); | 661 FXJSE_Value_Set(pArguments->GetReturnValue(), pValue); |
| 662 } else { | 662 } else { |
| 663 const XFA_SCRIPTATTRIBUTEINFO* lpAttributeInfo = | 663 const XFA_SCRIPTATTRIBUTEINFO* lpAttributeInfo = |
| 664 resoveNodeRS.pScriptAttribute; | 664 resoveNodeRS.pScriptAttribute; |
| 665 if (lpAttributeInfo && lpAttributeInfo->eValueType == XFA_SCRIPT_Object) { | 665 if (lpAttributeInfo && lpAttributeInfo->eValueType == XFA_SCRIPT_Object) { |
| 666 hValue = FXJSE_Value_Create(pScriptContext->GetRuntime()); | 666 pValue = FXJSE_Value_Create(pScriptContext->GetRuntime()); |
| 667 (resoveNodeRS.nodes[0]->*(lpAttributeInfo->lpfnCallback))( | 667 (resoveNodeRS.nodes[0]->*(lpAttributeInfo->lpfnCallback))( |
| 668 hValue, FALSE, (XFA_ATTRIBUTE)lpAttributeInfo->eAttribute); | 668 pValue, FALSE, (XFA_ATTRIBUTE)lpAttributeInfo->eAttribute); |
| 669 FXJSE_Value_Set(pArguments->GetReturnValue(), hValue); | 669 FXJSE_Value_Set(pArguments->GetReturnValue(), pValue); |
| 670 FXJSE_Value_Release(hValue); | 670 FXJSE_Value_Release(pValue); |
| 671 } else { | 671 } else { |
| 672 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 672 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 673 } | 673 } |
| 674 } | 674 } |
| 675 } | 675 } |
| 676 void CXFA_Node::Script_TreeClass_ResolveNodes(CFXJSE_Arguments* pArguments) { | 676 void CXFA_Node::Script_TreeClass_ResolveNodes(CFXJSE_Arguments* pArguments) { |
| 677 int32_t iLength = pArguments->GetLength(); | 677 int32_t iLength = pArguments->GetLength(); |
| 678 if (iLength != 1) { | 678 if (iLength != 1) { |
| 679 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 679 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 680 L"resolveNodes"); | 680 L"resolveNodes"); |
| 681 return; | 681 return; |
| 682 } | 682 } |
| 683 CFX_WideString wsExpression = | 683 CFX_WideString wsExpression = |
| 684 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 684 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 685 FXJSE_HVALUE hValue = pArguments->GetReturnValue(); | 685 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 686 if (!hValue) { | 686 if (!pValue) { |
| 687 return; | 687 return; |
| 688 } | 688 } |
| 689 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | | 689 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | |
| 690 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | | 690 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | |
| 691 XFA_RESOLVENODE_Siblings; | 691 XFA_RESOLVENODE_Siblings; |
| 692 CXFA_Node* refNode = this; | 692 CXFA_Node* refNode = this; |
| 693 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) { | 693 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) { |
| 694 refNode = ToNode(m_pDocument->GetScriptContext()->GetThisObject()); | 694 refNode = ToNode(m_pDocument->GetScriptContext()->GetThisObject()); |
| 695 } | 695 } |
| 696 Script_Som_ResolveNodeList(hValue, wsExpression, dwFlag, refNode); | 696 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag, refNode); |
| 697 } | 697 } |
| 698 void CXFA_Node::Script_Som_ResolveNodeList(FXJSE_HVALUE hValue, | 698 void CXFA_Node::Script_Som_ResolveNodeList(CFXJSE_Value* pValue, |
| 699 CFX_WideString wsExpression, | 699 CFX_WideString wsExpression, |
| 700 uint32_t dwFlag, | 700 uint32_t dwFlag, |
| 701 CXFA_Node* refNode) { | 701 CXFA_Node* refNode) { |
| 702 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); | 702 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); |
| 703 if (!pScriptContext) { | 703 if (!pScriptContext) { |
| 704 return; | 704 return; |
| 705 } | 705 } |
| 706 XFA_RESOLVENODE_RS resoveNodeRS; | 706 XFA_RESOLVENODE_RS resoveNodeRS; |
| 707 if (refNode == NULL) { | 707 if (refNode == NULL) { |
| 708 refNode = this; | 708 refNode = this; |
| 709 } | 709 } |
| 710 pScriptContext->ResolveObjects(refNode, wsExpression.AsStringC(), | 710 pScriptContext->ResolveObjects(refNode, wsExpression.AsStringC(), |
| 711 resoveNodeRS, dwFlag); | 711 resoveNodeRS, dwFlag); |
| 712 CXFA_ArrayNodeList* pNodeList = new CXFA_ArrayNodeList(m_pDocument); | 712 CXFA_ArrayNodeList* pNodeList = new CXFA_ArrayNodeList(m_pDocument); |
| 713 if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) { | 713 if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) { |
| 714 for (int32_t i = 0; i < resoveNodeRS.nodes.GetSize(); i++) { | 714 for (int32_t i = 0; i < resoveNodeRS.nodes.GetSize(); i++) { |
| 715 if (resoveNodeRS.nodes[i]->IsNode()) | 715 if (resoveNodeRS.nodes[i]->IsNode()) |
| 716 pNodeList->Append(resoveNodeRS.nodes[i]->AsNode()); | 716 pNodeList->Append(resoveNodeRS.nodes[i]->AsNode()); |
| 717 } | 717 } |
| 718 } else { | 718 } else { |
| 719 CXFA_HVALUEArray hValueArray(pScriptContext->GetRuntime()); | 719 CXFA_ValueArray valueArray(pScriptContext->GetRuntime()); |
| 720 if (resoveNodeRS.GetAttributeResult(hValueArray) > 0) { | 720 if (resoveNodeRS.GetAttributeResult(valueArray) > 0) { |
| 721 CXFA_ObjArray objectArray; | 721 CXFA_ObjArray objectArray; |
| 722 hValueArray.GetAttributeObject(objectArray); | 722 valueArray.GetAttributeObject(objectArray); |
| 723 for (int32_t i = 0; i < objectArray.GetSize(); i++) { | 723 for (int32_t i = 0; i < objectArray.GetSize(); i++) { |
| 724 if (objectArray[i]->IsNode()) | 724 if (objectArray[i]->IsNode()) |
| 725 pNodeList->Append(objectArray[i]->AsNode()); | 725 pNodeList->Append(objectArray[i]->AsNode()); |
| 726 } | 726 } |
| 727 } | 727 } |
| 728 } | 728 } |
| 729 FXJSE_Value_SetObject(hValue, (CXFA_Object*)pNodeList, | 729 FXJSE_Value_SetObject(pValue, (CXFA_Object*)pNodeList, |
| 730 pScriptContext->GetJseNormalClass()); | 730 pScriptContext->GetJseNormalClass()); |
| 731 } | 731 } |
| 732 void CXFA_Node::Script_TreeClass_All(FXJSE_HVALUE hValue, | 732 void CXFA_Node::Script_TreeClass_All(CFXJSE_Value* pValue, |
| 733 FX_BOOL bSetting, | 733 FX_BOOL bSetting, |
| 734 XFA_ATTRIBUTE eAttribute) { | 734 XFA_ATTRIBUTE eAttribute) { |
| 735 if (bSetting) { | 735 if (bSetting) { |
| 736 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 736 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 737 } else { | 737 } else { |
| 738 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; | 738 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; |
| 739 CFX_WideString wsName; | 739 CFX_WideString wsName; |
| 740 GetAttribute(XFA_ATTRIBUTE_Name, wsName); | 740 GetAttribute(XFA_ATTRIBUTE_Name, wsName); |
| 741 CFX_WideString wsExpression = wsName + FX_WSTRC(L"[*]"); | 741 CFX_WideString wsExpression = wsName + FX_WSTRC(L"[*]"); |
| 742 Script_Som_ResolveNodeList(hValue, wsExpression, dwFlag); | 742 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag); |
| 743 } | 743 } |
| 744 } | 744 } |
| 745 void CXFA_Node::Script_TreeClass_Nodes(FXJSE_HVALUE hValue, | 745 void CXFA_Node::Script_TreeClass_Nodes(CFXJSE_Value* pValue, |
| 746 FX_BOOL bSetting, | 746 FX_BOOL bSetting, |
| 747 XFA_ATTRIBUTE eAttribute) { | 747 XFA_ATTRIBUTE eAttribute) { |
| 748 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); | 748 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); |
| 749 if (!pScriptContext) { | 749 if (!pScriptContext) { |
| 750 return; | 750 return; |
| 751 } | 751 } |
| 752 if (bSetting) { | 752 if (bSetting) { |
| 753 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider(); | 753 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider(); |
| 754 ASSERT(pAppProvider); | 754 ASSERT(pAppProvider); |
| 755 CFX_WideString wsMessage; | 755 CFX_WideString wsMessage; |
| 756 pAppProvider->LoadString(XFA_IDS_Unable_TO_SET, wsMessage); | 756 pAppProvider->LoadString(XFA_IDS_Unable_TO_SET, wsMessage); |
| 757 FXJSE_ThrowMessage( | 757 FXJSE_ThrowMessage( |
| 758 "", | 758 "", |
| 759 FX_UTF8Encode(wsMessage.c_str(), wsMessage.GetLength()).AsStringC()); | 759 FX_UTF8Encode(wsMessage.c_str(), wsMessage.GetLength()).AsStringC()); |
| 760 } else { | 760 } else { |
| 761 CXFA_AttachNodeList* pNodeList = new CXFA_AttachNodeList(m_pDocument, this); | 761 CXFA_AttachNodeList* pNodeList = new CXFA_AttachNodeList(m_pDocument, this); |
| 762 FXJSE_Value_SetObject(hValue, (CXFA_Object*)pNodeList, | 762 FXJSE_Value_SetObject(pValue, (CXFA_Object*)pNodeList, |
| 763 pScriptContext->GetJseNormalClass()); | 763 pScriptContext->GetJseNormalClass()); |
| 764 } | 764 } |
| 765 } | 765 } |
| 766 void CXFA_Node::Script_TreeClass_ClassAll(FXJSE_HVALUE hValue, | 766 void CXFA_Node::Script_TreeClass_ClassAll(CFXJSE_Value* pValue, |
| 767 FX_BOOL bSetting, | 767 FX_BOOL bSetting, |
| 768 XFA_ATTRIBUTE eAttribute) { | 768 XFA_ATTRIBUTE eAttribute) { |
| 769 if (bSetting) { | 769 if (bSetting) { |
| 770 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 770 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 771 } else { | 771 } else { |
| 772 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; | 772 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; |
| 773 CFX_WideStringC wsName; | 773 CFX_WideStringC wsName; |
| 774 GetClassName(wsName); | 774 GetClassName(wsName); |
| 775 CFX_WideString wsExpression = FX_WSTRC(L"#") + wsName + FX_WSTRC(L"[*]"); | 775 CFX_WideString wsExpression = FX_WSTRC(L"#") + wsName + FX_WSTRC(L"[*]"); |
| 776 Script_Som_ResolveNodeList(hValue, wsExpression, dwFlag); | 776 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag); |
| 777 } | 777 } |
| 778 } | 778 } |
| 779 void CXFA_Node::Script_TreeClass_Parent(FXJSE_HVALUE hValue, | 779 void CXFA_Node::Script_TreeClass_Parent(CFXJSE_Value* pValue, |
| 780 FX_BOOL bSetting, | 780 FX_BOOL bSetting, |
| 781 XFA_ATTRIBUTE eAttribute) { | 781 XFA_ATTRIBUTE eAttribute) { |
| 782 if (bSetting) { | 782 if (bSetting) { |
| 783 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 783 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 784 } else { | 784 } else { |
| 785 CXFA_Node* pParent = GetNodeItem(XFA_NODEITEM_Parent); | 785 CXFA_Node* pParent = GetNodeItem(XFA_NODEITEM_Parent); |
| 786 if (pParent) { | 786 if (pParent) { |
| 787 FXJSE_Value_Set( | 787 FXJSE_Value_Set( |
| 788 hValue, m_pDocument->GetScriptContext()->GetJSValueFromMap(pParent)); | 788 pValue, m_pDocument->GetScriptContext()->GetJSValueFromMap(pParent)); |
| 789 } else { | 789 } else { |
| 790 FXJSE_Value_SetNull(hValue); | 790 FXJSE_Value_SetNull(pValue); |
| 791 } | 791 } |
| 792 } | 792 } |
| 793 } | 793 } |
| 794 void CXFA_Node::Script_TreeClass_Index(FXJSE_HVALUE hValue, | 794 void CXFA_Node::Script_TreeClass_Index(CFXJSE_Value* pValue, |
| 795 FX_BOOL bSetting, | 795 FX_BOOL bSetting, |
| 796 XFA_ATTRIBUTE eAttribute) { | 796 XFA_ATTRIBUTE eAttribute) { |
| 797 if (bSetting) { | 797 if (bSetting) { |
| 798 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 798 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 799 } else { | 799 } else { |
| 800 FXJSE_Value_SetInteger(hValue, GetNodeSameNameIndex()); | 800 FXJSE_Value_SetInteger(pValue, GetNodeSameNameIndex()); |
| 801 } | 801 } |
| 802 } | 802 } |
| 803 void CXFA_Node::Script_TreeClass_ClassIndex(FXJSE_HVALUE hValue, | 803 void CXFA_Node::Script_TreeClass_ClassIndex(CFXJSE_Value* pValue, |
| 804 FX_BOOL bSetting, | 804 FX_BOOL bSetting, |
| 805 XFA_ATTRIBUTE eAttribute) { | 805 XFA_ATTRIBUTE eAttribute) { |
| 806 if (bSetting) { | 806 if (bSetting) { |
| 807 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 807 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 808 } else { | 808 } else { |
| 809 FXJSE_Value_SetInteger(hValue, GetNodeSameClassIndex()); | 809 FXJSE_Value_SetInteger(pValue, GetNodeSameClassIndex()); |
| 810 } | 810 } |
| 811 } | 811 } |
| 812 void CXFA_Node::Script_TreeClass_SomExpression(FXJSE_HVALUE hValue, | 812 void CXFA_Node::Script_TreeClass_SomExpression(CFXJSE_Value* pValue, |
| 813 FX_BOOL bSetting, | 813 FX_BOOL bSetting, |
| 814 XFA_ATTRIBUTE eAttribute) { | 814 XFA_ATTRIBUTE eAttribute) { |
| 815 if (bSetting) { | 815 if (bSetting) { |
| 816 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 816 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 817 } else { | 817 } else { |
| 818 CFX_WideString wsSOMExpression; | 818 CFX_WideString wsSOMExpression; |
| 819 GetSOMExpression(wsSOMExpression); | 819 GetSOMExpression(wsSOMExpression); |
| 820 FXJSE_Value_SetUTF8String(hValue, | 820 FXJSE_Value_SetUTF8String(pValue, |
| 821 FX_UTF8Encode(wsSOMExpression).AsStringC()); | 821 FX_UTF8Encode(wsSOMExpression).AsStringC()); |
| 822 } | 822 } |
| 823 } | 823 } |
| 824 void CXFA_Node::Script_NodeClass_ApplyXSL(CFXJSE_Arguments* pArguments) { | 824 void CXFA_Node::Script_NodeClass_ApplyXSL(CFXJSE_Arguments* pArguments) { |
| 825 int32_t iLength = pArguments->GetLength(); | 825 int32_t iLength = pArguments->GetLength(); |
| 826 if (iLength != 1) { | 826 if (iLength != 1) { |
| 827 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"applyXSL"); | 827 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"applyXSL"); |
| 828 return; | 828 return; |
| 829 } | 829 } |
| 830 CFX_WideString wsExpression = | 830 CFX_WideString wsExpression = |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 869 int32_t iLength = pArguments->GetLength(); | 869 int32_t iLength = pArguments->GetLength(); |
| 870 if (iLength != 1) { | 870 if (iLength != 1) { |
| 871 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 871 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 872 L"getAttribute"); | 872 L"getAttribute"); |
| 873 return; | 873 return; |
| 874 } | 874 } |
| 875 CFX_WideString wsExpression = | 875 CFX_WideString wsExpression = |
| 876 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 876 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 877 CFX_WideString wsValue; | 877 CFX_WideString wsValue; |
| 878 GetAttribute(wsExpression.AsStringC(), wsValue); | 878 GetAttribute(wsExpression.AsStringC(), wsValue); |
| 879 FXJSE_HVALUE hValue = pArguments->GetReturnValue(); | 879 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 880 if (hValue) { | 880 if (pValue) { |
| 881 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsValue).AsStringC()); | 881 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsValue).AsStringC()); |
| 882 } | 882 } |
| 883 } | 883 } |
| 884 void CXFA_Node::Script_NodeClass_GetElement(CFXJSE_Arguments* pArguments) { | 884 void CXFA_Node::Script_NodeClass_GetElement(CFXJSE_Arguments* pArguments) { |
| 885 int32_t iLength = pArguments->GetLength(); | 885 int32_t iLength = pArguments->GetLength(); |
| 886 if (iLength < 1 || iLength > 2) { | 886 if (iLength < 1 || iLength > 2) { |
| 887 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getElement"); | 887 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getElement"); |
| 888 return; | 888 return; |
| 889 } | 889 } |
| 890 CFX_WideString wsExpression; | 890 CFX_WideString wsExpression; |
| 891 int32_t iValue = 0; | 891 int32_t iValue = 0; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 932 const XFA_ELEMENTINFO* pElementInfo = | 932 const XFA_ELEMENTINFO* pElementInfo = |
| 933 XFA_GetElementByName(wsExpression.AsStringC()); | 933 XFA_GetElementByName(wsExpression.AsStringC()); |
| 934 bHas = !!GetProperty(iIndex, pElementInfo->eName); | 934 bHas = !!GetProperty(iIndex, pElementInfo->eName); |
| 935 if (!bHas && bParent && m_pParent) { | 935 if (!bHas && bParent && m_pParent) { |
| 936 // Also check on the parent. | 936 // Also check on the parent. |
| 937 bHas = m_pParent->HasAttribute(pAttributeInfo->eName); | 937 bHas = m_pParent->HasAttribute(pAttributeInfo->eName); |
| 938 if (!bHas) | 938 if (!bHas) |
| 939 bHas = !!m_pParent->GetProperty(iIndex, pElementInfo->eName); | 939 bHas = !!m_pParent->GetProperty(iIndex, pElementInfo->eName); |
| 940 } | 940 } |
| 941 } | 941 } |
| 942 FXJSE_HVALUE hValue = pArguments->GetReturnValue(); | 942 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 943 if (hValue) | 943 if (pValue) |
| 944 FXJSE_Value_SetBoolean(hValue, bHas); | 944 FXJSE_Value_SetBoolean(pValue, bHas); |
| 945 } | 945 } |
| 946 | 946 |
| 947 void CXFA_Node::Script_NodeClass_LoadXML(CFXJSE_Arguments* pArguments) { | 947 void CXFA_Node::Script_NodeClass_LoadXML(CFXJSE_Arguments* pArguments) { |
| 948 int32_t iLength = pArguments->GetLength(); | 948 int32_t iLength = pArguments->GetLength(); |
| 949 if (iLength < 1 || iLength > 3) { | 949 if (iLength < 1 || iLength > 3) { |
| 950 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"loadXML"); | 950 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"loadXML"); |
| 951 return; | 951 return; |
| 952 } | 952 } |
| 953 CFX_WideString wsExpression; | 953 CFX_WideString wsExpression; |
| 954 FX_BOOL bIgnoreRoot = TRUE; | 954 FX_BOOL bIgnoreRoot = TRUE; |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1148 CXFA_Node* pNode = NULL; | 1148 CXFA_Node* pNode = NULL; |
| 1149 CFX_WideString wsName; | 1149 CFX_WideString wsName; |
| 1150 if (iLength >= 1) { | 1150 if (iLength >= 1) { |
| 1151 pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); | 1151 pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); |
| 1152 } | 1152 } |
| 1153 if (iLength >= 2) { | 1153 if (iLength >= 2) { |
| 1154 CFX_ByteString bsName = pArguments->GetUTF8String(1); | 1154 CFX_ByteString bsName = pArguments->GetUTF8String(1); |
| 1155 wsName = CFX_WideString::FromUTF8(bsName.AsStringC()); | 1155 wsName = CFX_WideString::FromUTF8(bsName.AsStringC()); |
| 1156 } | 1156 } |
| 1157 } | 1157 } |
| 1158 void CXFA_Node::Script_NodeClass_Ns(FXJSE_HVALUE hValue, | 1158 void CXFA_Node::Script_NodeClass_Ns(CFXJSE_Value* pValue, |
| 1159 FX_BOOL bSetting, | 1159 FX_BOOL bSetting, |
| 1160 XFA_ATTRIBUTE eAttribute) { | 1160 XFA_ATTRIBUTE eAttribute) { |
| 1161 if (bSetting) { | 1161 if (bSetting) { |
| 1162 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1162 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 1163 } else { | 1163 } else { |
| 1164 CFX_WideString wsNameSpace; | 1164 CFX_WideString wsNameSpace; |
| 1165 TryNamespace(wsNameSpace); | 1165 TryNamespace(wsNameSpace); |
| 1166 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsNameSpace).AsStringC()); | 1166 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsNameSpace).AsStringC()); |
| 1167 } | 1167 } |
| 1168 } | 1168 } |
| 1169 void CXFA_Node::Script_NodeClass_Model(FXJSE_HVALUE hValue, | 1169 void CXFA_Node::Script_NodeClass_Model(CFXJSE_Value* pValue, |
| 1170 FX_BOOL bSetting, | 1170 FX_BOOL bSetting, |
| 1171 XFA_ATTRIBUTE eAttribute) { | 1171 XFA_ATTRIBUTE eAttribute) { |
| 1172 if (bSetting) { | 1172 if (bSetting) { |
| 1173 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1173 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 1174 } else { | 1174 } else { |
| 1175 FXJSE_Value_Set(hValue, m_pDocument->GetScriptContext()->GetJSValueFromMap( | 1175 FXJSE_Value_Set(pValue, m_pDocument->GetScriptContext()->GetJSValueFromMap( |
| 1176 GetModelNode())); | 1176 GetModelNode())); |
| 1177 } | 1177 } |
| 1178 } | 1178 } |
| 1179 void CXFA_Node::Script_NodeClass_IsContainer(FXJSE_HVALUE hValue, | 1179 void CXFA_Node::Script_NodeClass_IsContainer(CFXJSE_Value* pValue, |
| 1180 FX_BOOL bSetting, | 1180 FX_BOOL bSetting, |
| 1181 XFA_ATTRIBUTE eAttribute) { | 1181 XFA_ATTRIBUTE eAttribute) { |
| 1182 if (bSetting) { | 1182 if (bSetting) { |
| 1183 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1183 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 1184 } else { | 1184 } else { |
| 1185 FXJSE_Value_SetBoolean(hValue, IsContainerNode()); | 1185 FXJSE_Value_SetBoolean(pValue, IsContainerNode()); |
| 1186 } | 1186 } |
| 1187 } | 1187 } |
| 1188 void CXFA_Node::Script_NodeClass_IsNull(FXJSE_HVALUE hValue, | 1188 void CXFA_Node::Script_NodeClass_IsNull(CFXJSE_Value* pValue, |
| 1189 FX_BOOL bSetting, | 1189 FX_BOOL bSetting, |
| 1190 XFA_ATTRIBUTE eAttribute) { | 1190 XFA_ATTRIBUTE eAttribute) { |
| 1191 if (bSetting) { | 1191 if (bSetting) { |
| 1192 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1192 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 1193 } else { | 1193 } else { |
| 1194 if (GetClassID() == XFA_ELEMENT_Subform) { | 1194 if (GetClassID() == XFA_ELEMENT_Subform) { |
| 1195 FXJSE_Value_SetBoolean(hValue, FALSE); | 1195 FXJSE_Value_SetBoolean(pValue, FALSE); |
| 1196 return; | 1196 return; |
| 1197 } | 1197 } |
| 1198 CFX_WideString strValue; | 1198 CFX_WideString strValue; |
| 1199 FXJSE_Value_SetBoolean(hValue, !TryContent(strValue) || strValue.IsEmpty()); | 1199 FXJSE_Value_SetBoolean(pValue, !TryContent(strValue) || strValue.IsEmpty()); |
| 1200 } | 1200 } |
| 1201 } | 1201 } |
| 1202 void CXFA_Node::Script_NodeClass_OneOfChild(FXJSE_HVALUE hValue, | 1202 void CXFA_Node::Script_NodeClass_OneOfChild(CFXJSE_Value* pValue, |
| 1203 FX_BOOL bSetting, | 1203 FX_BOOL bSetting, |
| 1204 XFA_ATTRIBUTE eAttribute) { | 1204 XFA_ATTRIBUTE eAttribute) { |
| 1205 if (bSetting) { | 1205 if (bSetting) { |
| 1206 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1206 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 1207 } else { | 1207 } else { |
| 1208 CXFA_NodeArray properts; | 1208 CXFA_NodeArray properts; |
| 1209 int32_t iSize = GetNodeList(properts, XFA_NODEFILTER_OneOfProperty); | 1209 int32_t iSize = GetNodeList(properts, XFA_NODEFILTER_OneOfProperty); |
| 1210 if (iSize > 0) { | 1210 if (iSize > 0) { |
| 1211 FXJSE_Value_Set( | 1211 FXJSE_Value_Set( |
| 1212 hValue, | 1212 pValue, |
| 1213 m_pDocument->GetScriptContext()->GetJSValueFromMap(properts[0])); | 1213 m_pDocument->GetScriptContext()->GetJSValueFromMap(properts[0])); |
| 1214 } | 1214 } |
| 1215 } | 1215 } |
| 1216 } | 1216 } |
| 1217 void CXFA_Node::Script_ContainerClass_GetDelta(CFXJSE_Arguments* pArguments) {} | 1217 void CXFA_Node::Script_ContainerClass_GetDelta(CFXJSE_Arguments* pArguments) {} |
| 1218 void CXFA_Node::Script_ContainerClass_GetDeltas(CFXJSE_Arguments* pArguments) { | 1218 void CXFA_Node::Script_ContainerClass_GetDeltas(CFXJSE_Arguments* pArguments) { |
| 1219 CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument); | 1219 CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument); |
| 1220 FXJSE_Value_SetObject(pArguments->GetReturnValue(), (CXFA_Object*)pFormNodes, | 1220 FXJSE_Value_SetObject(pArguments->GetReturnValue(), (CXFA_Object*)pFormNodes, |
| 1221 m_pDocument->GetScriptContext()->GetJseNormalClass()); | 1221 m_pDocument->GetScriptContext()->GetJseNormalClass()); |
| 1222 } | 1222 } |
| 1223 void CXFA_Node::Script_ModelClass_ClearErrorList(CFXJSE_Arguments* pArguments) { | 1223 void CXFA_Node::Script_ModelClass_ClearErrorList(CFXJSE_Arguments* pArguments) { |
| 1224 } | 1224 } |
| 1225 void CXFA_Node::Script_ModelClass_CreateNode(CFXJSE_Arguments* pArguments) { | 1225 void CXFA_Node::Script_ModelClass_CreateNode(CFXJSE_Arguments* pArguments) { |
| 1226 Script_Template_CreateNode(pArguments); | 1226 Script_Template_CreateNode(pArguments); |
| 1227 } | 1227 } |
| 1228 void CXFA_Node::Script_ModelClass_IsCompatibleNS(CFXJSE_Arguments* pArguments) { | 1228 void CXFA_Node::Script_ModelClass_IsCompatibleNS(CFXJSE_Arguments* pArguments) { |
| 1229 int32_t iLength = pArguments->GetLength(); | 1229 int32_t iLength = pArguments->GetLength(); |
| 1230 if (iLength < 1) { | 1230 if (iLength < 1) { |
| 1231 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 1231 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 1232 L"isCompatibleNS"); | 1232 L"isCompatibleNS"); |
| 1233 return; | 1233 return; |
| 1234 } | 1234 } |
| 1235 CFX_WideString wsNameSpace; | 1235 CFX_WideString wsNameSpace; |
| 1236 if (iLength >= 1) { | 1236 if (iLength >= 1) { |
| 1237 CFX_ByteString bsNameSpace = pArguments->GetUTF8String(0); | 1237 CFX_ByteString bsNameSpace = pArguments->GetUTF8String(0); |
| 1238 wsNameSpace = CFX_WideString::FromUTF8(bsNameSpace.AsStringC()); | 1238 wsNameSpace = CFX_WideString::FromUTF8(bsNameSpace.AsStringC()); |
| 1239 } | 1239 } |
| 1240 CFX_WideString wsNodeNameSpace; | 1240 CFX_WideString wsNodeNameSpace; |
| 1241 TryNamespace(wsNodeNameSpace); | 1241 TryNamespace(wsNodeNameSpace); |
| 1242 FXJSE_HVALUE hValue = pArguments->GetReturnValue(); | 1242 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 1243 if (hValue) { | 1243 if (pValue) { |
| 1244 FXJSE_Value_SetBoolean(hValue, wsNodeNameSpace == wsNameSpace); | 1244 FXJSE_Value_SetBoolean(pValue, wsNodeNameSpace == wsNameSpace); |
| 1245 } | 1245 } |
| 1246 } | 1246 } |
| 1247 void CXFA_Node::Script_ModelClass_Context(FXJSE_HVALUE hValue, | 1247 void CXFA_Node::Script_ModelClass_Context(CFXJSE_Value* pValue, |
| 1248 FX_BOOL bSetting, | 1248 FX_BOOL bSetting, |
| 1249 XFA_ATTRIBUTE eAttribute) {} | 1249 XFA_ATTRIBUTE eAttribute) {} |
| 1250 void CXFA_Node::Script_ModelClass_AliasNode(FXJSE_HVALUE hValue, | 1250 void CXFA_Node::Script_ModelClass_AliasNode(CFXJSE_Value* pValue, |
| 1251 FX_BOOL bSetting, | 1251 FX_BOOL bSetting, |
| 1252 XFA_ATTRIBUTE eAttribute) {} | 1252 XFA_ATTRIBUTE eAttribute) {} |
| 1253 void CXFA_Node::Script_Attribute_Integer(FXJSE_HVALUE hValue, | 1253 void CXFA_Node::Script_Attribute_Integer(CFXJSE_Value* pValue, |
| 1254 FX_BOOL bSetting, | 1254 FX_BOOL bSetting, |
| 1255 XFA_ATTRIBUTE eAttribute) { | 1255 XFA_ATTRIBUTE eAttribute) { |
| 1256 if (bSetting) { | 1256 if (bSetting) { |
| 1257 SetInteger(eAttribute, FXJSE_Value_ToInteger(hValue), true); | 1257 SetInteger(eAttribute, FXJSE_Value_ToInteger(pValue), true); |
| 1258 } else { | 1258 } else { |
| 1259 FXJSE_Value_SetInteger(hValue, GetInteger(eAttribute)); | 1259 FXJSE_Value_SetInteger(pValue, GetInteger(eAttribute)); |
| 1260 } | 1260 } |
| 1261 } | 1261 } |
| 1262 void CXFA_Node::Script_Attribute_IntegerRead(FXJSE_HVALUE hValue, | 1262 void CXFA_Node::Script_Attribute_IntegerRead(CFXJSE_Value* pValue, |
| 1263 FX_BOOL bSetting, | 1263 FX_BOOL bSetting, |
| 1264 XFA_ATTRIBUTE eAttribute) { | 1264 XFA_ATTRIBUTE eAttribute) { |
| 1265 if (!bSetting) { | 1265 if (!bSetting) { |
| 1266 FXJSE_Value_SetInteger(hValue, GetInteger(eAttribute)); | 1266 FXJSE_Value_SetInteger(pValue, GetInteger(eAttribute)); |
| 1267 } else { | 1267 } else { |
| 1268 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1268 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 1269 } | 1269 } |
| 1270 } | 1270 } |
| 1271 void CXFA_Node::Script_Attribute_BOOL(FXJSE_HVALUE hValue, | 1271 void CXFA_Node::Script_Attribute_BOOL(CFXJSE_Value* pValue, |
| 1272 FX_BOOL bSetting, | 1272 FX_BOOL bSetting, |
| 1273 XFA_ATTRIBUTE eAttribute) { | 1273 XFA_ATTRIBUTE eAttribute) { |
| 1274 if (bSetting) { | 1274 if (bSetting) { |
| 1275 SetBoolean(eAttribute, FXJSE_Value_ToBoolean(hValue), true); | 1275 SetBoolean(eAttribute, FXJSE_Value_ToBoolean(pValue), true); |
| 1276 } else { | 1276 } else { |
| 1277 FXJSE_Value_SetUTF8String(hValue, GetBoolean(eAttribute) ? "1" : "0"); | 1277 FXJSE_Value_SetUTF8String(pValue, GetBoolean(eAttribute) ? "1" : "0"); |
| 1278 } | 1278 } |
| 1279 } | 1279 } |
| 1280 void CXFA_Node::Script_Attribute_BOOLRead(FXJSE_HVALUE hValue, | 1280 void CXFA_Node::Script_Attribute_BOOLRead(CFXJSE_Value* pValue, |
| 1281 FX_BOOL bSetting, | 1281 FX_BOOL bSetting, |
| 1282 XFA_ATTRIBUTE eAttribute) { | 1282 XFA_ATTRIBUTE eAttribute) { |
| 1283 if (!bSetting) { | 1283 if (!bSetting) { |
| 1284 FXJSE_Value_SetUTF8String(hValue, GetBoolean(eAttribute) ? "1" : "0"); | 1284 FXJSE_Value_SetUTF8String(pValue, GetBoolean(eAttribute) ? "1" : "0"); |
| 1285 } else { | 1285 } else { |
| 1286 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1286 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 1287 } | 1287 } |
| 1288 } | 1288 } |
| 1289 | 1289 |
| 1290 void CXFA_Node::Script_Attribute_SendAttributeChangeMessage( | 1290 void CXFA_Node::Script_Attribute_SendAttributeChangeMessage( |
| 1291 XFA_ATTRIBUTE eAttribute, | 1291 XFA_ATTRIBUTE eAttribute, |
| 1292 FX_BOOL bScriptModify) { | 1292 FX_BOOL bScriptModify) { |
| 1293 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 1293 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| 1294 if (!pLayoutPro) | 1294 if (!pLayoutPro) |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1434 break; | 1434 break; |
| 1435 | 1435 |
| 1436 pParent = pParent->GetNodeItem(XFA_NODEITEM_Parent); | 1436 pParent = pParent->GetNodeItem(XFA_NODEITEM_Parent); |
| 1437 } | 1437 } |
| 1438 if (pParent) { | 1438 if (pParent) { |
| 1439 pLayoutPro->AddChangedContainer(pParent); | 1439 pLayoutPro->AddChangedContainer(pParent); |
| 1440 } | 1440 } |
| 1441 } | 1441 } |
| 1442 } | 1442 } |
| 1443 | 1443 |
| 1444 void CXFA_Node::Script_Attribute_String(FXJSE_HVALUE hValue, | 1444 void CXFA_Node::Script_Attribute_String(CFXJSE_Value* pValue, |
| 1445 FX_BOOL bSetting, | 1445 FX_BOOL bSetting, |
| 1446 XFA_ATTRIBUTE eAttribute) { | 1446 XFA_ATTRIBUTE eAttribute) { |
| 1447 if (bSetting) { | 1447 if (bSetting) { |
| 1448 CFX_ByteString szValue; | 1448 CFX_ByteString szValue; |
| 1449 FXJSE_Value_ToUTF8String(hValue, szValue); | 1449 FXJSE_Value_ToUTF8String(pValue, szValue); |
| 1450 CFX_WideString wsValue = CFX_WideString::FromUTF8(szValue.AsStringC()); | 1450 CFX_WideString wsValue = CFX_WideString::FromUTF8(szValue.AsStringC()); |
| 1451 SetAttribute(eAttribute, wsValue.AsStringC(), true); | 1451 SetAttribute(eAttribute, wsValue.AsStringC(), true); |
| 1452 if (eAttribute == XFA_ATTRIBUTE_Use && GetClassID() == XFA_ELEMENT_Desc) { | 1452 if (eAttribute == XFA_ATTRIBUTE_Use && GetClassID() == XFA_ELEMENT_Desc) { |
| 1453 CFX_WideString wsUseVal = wsValue, wsID, wsSOM; | 1453 CFX_WideString wsUseVal = wsValue, wsID, wsSOM; |
| 1454 CXFA_Node* pTemplateNode = | 1454 CXFA_Node* pTemplateNode = |
| 1455 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Template)); | 1455 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Template)); |
| 1456 CXFA_Node* pProtoRoot = | 1456 CXFA_Node* pProtoRoot = |
| 1457 pTemplateNode->GetFirstChildByClass(XFA_ELEMENT_Subform) | 1457 pTemplateNode->GetFirstChildByClass(XFA_ELEMENT_Subform) |
| 1458 ->GetFirstChildByClass(XFA_ELEMENT_Proto); | 1458 ->GetFirstChildByClass(XFA_ELEMENT_Proto); |
| 1459 if (!wsUseVal.IsEmpty()) { | 1459 if (!wsUseVal.IsEmpty()) { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1496 pHeadChild = pSibling; | 1496 pHeadChild = pSibling; |
| 1497 } | 1497 } |
| 1498 m_pDocument->RemovePurgeNode(pProtoForm); | 1498 m_pDocument->RemovePurgeNode(pProtoForm); |
| 1499 delete pProtoForm; | 1499 delete pProtoForm; |
| 1500 } | 1500 } |
| 1501 } | 1501 } |
| 1502 } else { | 1502 } else { |
| 1503 CFX_WideString wsValue; | 1503 CFX_WideString wsValue; |
| 1504 GetAttribute(eAttribute, wsValue); | 1504 GetAttribute(eAttribute, wsValue); |
| 1505 FXJSE_Value_SetUTF8String( | 1505 FXJSE_Value_SetUTF8String( |
| 1506 hValue, | 1506 pValue, |
| 1507 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); | 1507 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); |
| 1508 } | 1508 } |
| 1509 } | 1509 } |
| 1510 void CXFA_Node::Script_Attribute_StringRead(FXJSE_HVALUE hValue, | 1510 void CXFA_Node::Script_Attribute_StringRead(CFXJSE_Value* pValue, |
| 1511 FX_BOOL bSetting, | 1511 FX_BOOL bSetting, |
| 1512 XFA_ATTRIBUTE eAttribute) { | 1512 XFA_ATTRIBUTE eAttribute) { |
| 1513 if (!bSetting) { | 1513 if (!bSetting) { |
| 1514 CFX_WideString wsValue; | 1514 CFX_WideString wsValue; |
| 1515 GetAttribute(eAttribute, wsValue); | 1515 GetAttribute(eAttribute, wsValue); |
| 1516 FXJSE_Value_SetUTF8String( | 1516 FXJSE_Value_SetUTF8String( |
| 1517 hValue, | 1517 pValue, |
| 1518 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); | 1518 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); |
| 1519 } else { | 1519 } else { |
| 1520 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1520 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 1521 } | 1521 } |
| 1522 } | 1522 } |
| 1523 void CXFA_Node::Script_WsdlConnection_Execute(CFXJSE_Arguments* pArguments) { | 1523 void CXFA_Node::Script_WsdlConnection_Execute(CFXJSE_Arguments* pArguments) { |
| 1524 int32_t argc = pArguments->GetLength(); | 1524 int32_t argc = pArguments->GetLength(); |
| 1525 if ((argc == 0) || (argc == 1)) { | 1525 if ((argc == 0) || (argc == 1)) { |
| 1526 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 1526 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 1527 } else { | 1527 } else { |
| 1528 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execute"); | 1528 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execute"); |
| 1529 } | 1529 } |
| 1530 } | 1530 } |
| 1531 void CXFA_Node::Script_Delta_Restore(CFXJSE_Arguments* pArguments) { | 1531 void CXFA_Node::Script_Delta_Restore(CFXJSE_Arguments* pArguments) { |
| 1532 int32_t argc = pArguments->GetLength(); | 1532 int32_t argc = pArguments->GetLength(); |
| 1533 if (argc == 0) { | 1533 if (argc == 0) { |
| 1534 } else { | 1534 } else { |
| 1535 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"restore"); | 1535 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"restore"); |
| 1536 } | 1536 } |
| 1537 } | 1537 } |
| 1538 void CXFA_Node::Script_Delta_CurrentValue(FXJSE_HVALUE hValue, | 1538 void CXFA_Node::Script_Delta_CurrentValue(CFXJSE_Value* pValue, |
| 1539 FX_BOOL bSetting, | 1539 FX_BOOL bSetting, |
| 1540 XFA_ATTRIBUTE eAttribute) {} | 1540 XFA_ATTRIBUTE eAttribute) {} |
| 1541 void CXFA_Node::Script_Delta_SavedValue(FXJSE_HVALUE hValue, | 1541 void CXFA_Node::Script_Delta_SavedValue(CFXJSE_Value* pValue, |
| 1542 FX_BOOL bSetting, | 1542 FX_BOOL bSetting, |
| 1543 XFA_ATTRIBUTE eAttribute) {} | 1543 XFA_ATTRIBUTE eAttribute) {} |
| 1544 void CXFA_Node::Script_Delta_Target(FXJSE_HVALUE hValue, | 1544 void CXFA_Node::Script_Delta_Target(CFXJSE_Value* pValue, |
| 1545 FX_BOOL bSetting, | 1545 FX_BOOL bSetting, |
| 1546 XFA_ATTRIBUTE eAttribute) {} | 1546 XFA_ATTRIBUTE eAttribute) {} |
| 1547 void CXFA_Node::Script_Som_Message(FXJSE_HVALUE hValue, | 1547 void CXFA_Node::Script_Som_Message(CFXJSE_Value* pValue, |
| 1548 FX_BOOL bSetting, | 1548 FX_BOOL bSetting, |
| 1549 XFA_SOM_MESSAGETYPE iMessageType) { | 1549 XFA_SOM_MESSAGETYPE iMessageType) { |
| 1550 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1550 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1551 if (!pWidgetData) { | 1551 if (!pWidgetData) { |
| 1552 return; | 1552 return; |
| 1553 } | 1553 } |
| 1554 FX_BOOL bNew = FALSE; | 1554 FX_BOOL bNew = FALSE; |
| 1555 CXFA_Validate validate = pWidgetData->GetValidate(); | 1555 CXFA_Validate validate = pWidgetData->GetValidate(); |
| 1556 if (!validate) { | 1556 if (!validate) { |
| 1557 validate = pWidgetData->GetValidate(TRUE); | 1557 validate = pWidgetData->GetValidate(TRUE); |
| 1558 bNew = TRUE; | 1558 bNew = TRUE; |
| 1559 } | 1559 } |
| 1560 if (bSetting) { | 1560 if (bSetting) { |
| 1561 CFX_ByteString bsMessage; | 1561 CFX_ByteString bsMessage; |
| 1562 FXJSE_Value_ToUTF8String(hValue, bsMessage); | 1562 FXJSE_Value_ToUTF8String(pValue, bsMessage); |
| 1563 switch (iMessageType) { | 1563 switch (iMessageType) { |
| 1564 case XFA_SOM_ValidationMessage: | 1564 case XFA_SOM_ValidationMessage: |
| 1565 validate.SetScriptMessageText( | 1565 validate.SetScriptMessageText( |
| 1566 CFX_WideString::FromUTF8(bsMessage.AsStringC())); | 1566 CFX_WideString::FromUTF8(bsMessage.AsStringC())); |
| 1567 break; | 1567 break; |
| 1568 case XFA_SOM_FormatMessage: | 1568 case XFA_SOM_FormatMessage: |
| 1569 validate.SetFormatMessageText( | 1569 validate.SetFormatMessageText( |
| 1570 CFX_WideString::FromUTF8(bsMessage.AsStringC())); | 1570 CFX_WideString::FromUTF8(bsMessage.AsStringC())); |
| 1571 break; | 1571 break; |
| 1572 case XFA_SOM_MandatoryMessage: | 1572 case XFA_SOM_MandatoryMessage: |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1591 break; | 1591 break; |
| 1592 case XFA_SOM_FormatMessage: | 1592 case XFA_SOM_FormatMessage: |
| 1593 validate.GetFormatMessageText(wsMessage); | 1593 validate.GetFormatMessageText(wsMessage); |
| 1594 break; | 1594 break; |
| 1595 case XFA_SOM_MandatoryMessage: | 1595 case XFA_SOM_MandatoryMessage: |
| 1596 validate.GetNullMessageText(wsMessage); | 1596 validate.GetNullMessageText(wsMessage); |
| 1597 break; | 1597 break; |
| 1598 default: | 1598 default: |
| 1599 break; | 1599 break; |
| 1600 } | 1600 } |
| 1601 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsMessage).AsStringC()); | 1601 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsMessage).AsStringC()); |
| 1602 } | 1602 } |
| 1603 } | 1603 } |
| 1604 void CXFA_Node::Script_Som_ValidationMessage(FXJSE_HVALUE hValue, | 1604 void CXFA_Node::Script_Som_ValidationMessage(CFXJSE_Value* pValue, |
| 1605 FX_BOOL bSetting, | 1605 FX_BOOL bSetting, |
| 1606 XFA_ATTRIBUTE eAttribute) { | 1606 XFA_ATTRIBUTE eAttribute) { |
| 1607 Script_Som_Message(hValue, bSetting, XFA_SOM_ValidationMessage); | 1607 Script_Som_Message(pValue, bSetting, XFA_SOM_ValidationMessage); |
| 1608 } | 1608 } |
| 1609 void CXFA_Node::Script_Field_Length(FXJSE_HVALUE hValue, | 1609 void CXFA_Node::Script_Field_Length(CFXJSE_Value* pValue, |
| 1610 FX_BOOL bSetting, | 1610 FX_BOOL bSetting, |
| 1611 XFA_ATTRIBUTE eAttribute) { | 1611 XFA_ATTRIBUTE eAttribute) { |
| 1612 if (bSetting) { | 1612 if (bSetting) { |
| 1613 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1613 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 1614 } else { | 1614 } else { |
| 1615 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1615 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1616 if (!pWidgetData) { | 1616 if (!pWidgetData) { |
| 1617 FXJSE_Value_SetInteger(hValue, 0); | 1617 FXJSE_Value_SetInteger(pValue, 0); |
| 1618 return; | 1618 return; |
| 1619 } | 1619 } |
| 1620 FXJSE_Value_SetInteger(hValue, pWidgetData->CountChoiceListItems(TRUE)); | 1620 FXJSE_Value_SetInteger(pValue, pWidgetData->CountChoiceListItems(TRUE)); |
| 1621 } | 1621 } |
| 1622 } | 1622 } |
| 1623 void CXFA_Node::Script_Som_DefaultValue(FXJSE_HVALUE hValue, | 1623 void CXFA_Node::Script_Som_DefaultValue(CFXJSE_Value* pValue, |
| 1624 FX_BOOL bSetting, | 1624 FX_BOOL bSetting, |
| 1625 XFA_ATTRIBUTE eAttribute) { | 1625 XFA_ATTRIBUTE eAttribute) { |
| 1626 XFA_ELEMENT classID = GetClassID(); | 1626 XFA_ELEMENT classID = GetClassID(); |
| 1627 if (classID == XFA_ELEMENT_Field) { | 1627 if (classID == XFA_ELEMENT_Field) { |
| 1628 Script_Field_DefaultValue(hValue, bSetting, eAttribute); | 1628 Script_Field_DefaultValue(pValue, bSetting, eAttribute); |
| 1629 return; | 1629 return; |
| 1630 } else if (classID == XFA_ELEMENT_Draw) { | 1630 } else if (classID == XFA_ELEMENT_Draw) { |
| 1631 Script_Draw_DefaultValue(hValue, bSetting, eAttribute); | 1631 Script_Draw_DefaultValue(pValue, bSetting, eAttribute); |
| 1632 return; | 1632 return; |
| 1633 } else if (classID == XFA_ELEMENT_Boolean) { | 1633 } else if (classID == XFA_ELEMENT_Boolean) { |
| 1634 Script_Boolean_Value(hValue, bSetting, eAttribute); | 1634 Script_Boolean_Value(pValue, bSetting, eAttribute); |
| 1635 return; | 1635 return; |
| 1636 } | 1636 } |
| 1637 if (bSetting) { | 1637 if (bSetting) { |
| 1638 CFX_ByteString newValue; | 1638 CFX_ByteString newValue; |
| 1639 if (!(FXJSE_Value_IsNull(hValue) || FXJSE_Value_IsUndefined(hValue))) { | 1639 if (!(FXJSE_Value_IsNull(pValue) || FXJSE_Value_IsUndefined(pValue))) { |
| 1640 FXJSE_Value_ToUTF8String(hValue, newValue); | 1640 FXJSE_Value_ToUTF8String(pValue, newValue); |
| 1641 } | 1641 } |
| 1642 CFX_WideString wsNewValue = CFX_WideString::FromUTF8(newValue.AsStringC()); | 1642 CFX_WideString wsNewValue = CFX_WideString::FromUTF8(newValue.AsStringC()); |
| 1643 CFX_WideString wsFormatValue(wsNewValue); | 1643 CFX_WideString wsFormatValue(wsNewValue); |
| 1644 CXFA_WidgetData* pContainerWidgetData = NULL; | 1644 CXFA_WidgetData* pContainerWidgetData = NULL; |
| 1645 if (GetPacketID() == XFA_XDPPACKET_Datasets) { | 1645 if (GetPacketID() == XFA_XDPPACKET_Datasets) { |
| 1646 CXFA_NodeArray formNodes; | 1646 CXFA_NodeArray formNodes; |
| 1647 GetBindItems(formNodes); | 1647 GetBindItems(formNodes); |
| 1648 CFX_WideString wsPicture; | 1648 CFX_WideString wsPicture; |
| 1649 for (int32_t i = 0; i < formNodes.GetSize(); i++) { | 1649 for (int32_t i = 0; i < formNodes.GetSize(); i++) { |
| 1650 CXFA_Node* pFormNode = formNodes.GetAt(i); | 1650 CXFA_Node* pFormNode = formNodes.GetAt(i); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1665 pContainerWidgetData = GetContainerWidgetData(); | 1665 pContainerWidgetData = GetContainerWidgetData(); |
| 1666 } | 1666 } |
| 1667 if (pContainerWidgetData) { | 1667 if (pContainerWidgetData) { |
| 1668 pContainerWidgetData->GetFormatDataValue(wsNewValue, wsFormatValue); | 1668 pContainerWidgetData->GetFormatDataValue(wsNewValue, wsFormatValue); |
| 1669 } | 1669 } |
| 1670 SetScriptContent(wsNewValue, wsFormatValue, true, TRUE); | 1670 SetScriptContent(wsNewValue, wsFormatValue, true, TRUE); |
| 1671 } else { | 1671 } else { |
| 1672 CFX_WideString content = GetScriptContent(TRUE); | 1672 CFX_WideString content = GetScriptContent(TRUE); |
| 1673 if (content.IsEmpty() && classID != XFA_ELEMENT_Text && | 1673 if (content.IsEmpty() && classID != XFA_ELEMENT_Text && |
| 1674 classID != XFA_ELEMENT_SubmitUrl) { | 1674 classID != XFA_ELEMENT_SubmitUrl) { |
| 1675 FXJSE_Value_SetNull(hValue); | 1675 FXJSE_Value_SetNull(pValue); |
| 1676 } else if (classID == XFA_ELEMENT_Integer) { | 1676 } else if (classID == XFA_ELEMENT_Integer) { |
| 1677 FXJSE_Value_SetInteger(hValue, FXSYS_wtoi(content.c_str())); | 1677 FXJSE_Value_SetInteger(pValue, FXSYS_wtoi(content.c_str())); |
| 1678 } else if (classID == XFA_ELEMENT_Float || classID == XFA_ELEMENT_Decimal) { | 1678 } else if (classID == XFA_ELEMENT_Float || classID == XFA_ELEMENT_Decimal) { |
| 1679 CFX_Decimal decimal(content.AsStringC()); | 1679 CFX_Decimal decimal(content.AsStringC()); |
| 1680 FXJSE_Value_SetFloat(hValue, (FX_FLOAT)(double)decimal); | 1680 FXJSE_Value_SetFloat(pValue, (FX_FLOAT)(double)decimal); |
| 1681 } else { | 1681 } else { |
| 1682 FXJSE_Value_SetUTF8String( | 1682 FXJSE_Value_SetUTF8String( |
| 1683 hValue, | 1683 pValue, |
| 1684 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 1684 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 1685 } | 1685 } |
| 1686 } | 1686 } |
| 1687 } | 1687 } |
| 1688 void CXFA_Node::Script_Som_DefaultValue_Read(FXJSE_HVALUE hValue, | 1688 void CXFA_Node::Script_Som_DefaultValue_Read(CFXJSE_Value* pValue, |
| 1689 FX_BOOL bSetting, | 1689 FX_BOOL bSetting, |
| 1690 XFA_ATTRIBUTE eAttribute) { | 1690 XFA_ATTRIBUTE eAttribute) { |
| 1691 if (bSetting) { | 1691 if (bSetting) { |
| 1692 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1692 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 1693 return; | 1693 return; |
| 1694 } | 1694 } |
| 1695 CFX_WideString content = GetScriptContent(TRUE); | 1695 CFX_WideString content = GetScriptContent(TRUE); |
| 1696 if (content.IsEmpty()) { | 1696 if (content.IsEmpty()) { |
| 1697 FXJSE_Value_SetNull(hValue); | 1697 FXJSE_Value_SetNull(pValue); |
| 1698 } else { | 1698 } else { |
| 1699 FXJSE_Value_SetUTF8String( | 1699 FXJSE_Value_SetUTF8String( |
| 1700 hValue, | 1700 pValue, |
| 1701 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 1701 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 1702 } | 1702 } |
| 1703 } | 1703 } |
| 1704 void CXFA_Node::Script_Boolean_Value(FXJSE_HVALUE hValue, | 1704 void CXFA_Node::Script_Boolean_Value(CFXJSE_Value* pValue, |
| 1705 FX_BOOL bSetting, | 1705 FX_BOOL bSetting, |
| 1706 XFA_ATTRIBUTE eAttribute) { | 1706 XFA_ATTRIBUTE eAttribute) { |
| 1707 if (bSetting) { | 1707 if (bSetting) { |
| 1708 CFX_ByteString newValue; | 1708 CFX_ByteString newValue; |
| 1709 if (!(FXJSE_Value_IsNull(hValue) || FXJSE_Value_IsUndefined(hValue))) { | 1709 if (!(FXJSE_Value_IsNull(pValue) || FXJSE_Value_IsUndefined(pValue))) { |
| 1710 FXJSE_Value_ToUTF8String(hValue, newValue); | 1710 FXJSE_Value_ToUTF8String(pValue, newValue); |
| 1711 } | 1711 } |
| 1712 int32_t iValue = FXSYS_atoi(newValue.c_str()); | 1712 int32_t iValue = FXSYS_atoi(newValue.c_str()); |
| 1713 CFX_WideString wsNewValue(iValue == 0 ? L"0" : L"1"); | 1713 CFX_WideString wsNewValue(iValue == 0 ? L"0" : L"1"); |
| 1714 CFX_WideString wsFormatValue(wsNewValue); | 1714 CFX_WideString wsFormatValue(wsNewValue); |
| 1715 CXFA_WidgetData* pContainerWidgetData = GetContainerWidgetData(); | 1715 CXFA_WidgetData* pContainerWidgetData = GetContainerWidgetData(); |
| 1716 if (pContainerWidgetData) { | 1716 if (pContainerWidgetData) { |
| 1717 pContainerWidgetData->GetFormatDataValue(wsNewValue, wsFormatValue); | 1717 pContainerWidgetData->GetFormatDataValue(wsNewValue, wsFormatValue); |
| 1718 } | 1718 } |
| 1719 SetScriptContent(wsNewValue, wsFormatValue, true, TRUE); | 1719 SetScriptContent(wsNewValue, wsFormatValue, true, TRUE); |
| 1720 } else { | 1720 } else { |
| 1721 CFX_WideString wsValue = GetScriptContent(TRUE); | 1721 CFX_WideString wsValue = GetScriptContent(TRUE); |
| 1722 FXJSE_Value_SetBoolean(hValue, wsValue == FX_WSTRC(L"1")); | 1722 FXJSE_Value_SetBoolean(pValue, wsValue == FX_WSTRC(L"1")); |
| 1723 } | 1723 } |
| 1724 } | 1724 } |
| 1725 struct XFA_ExecEventParaInfo { | 1725 struct XFA_ExecEventParaInfo { |
| 1726 public: | 1726 public: |
| 1727 uint32_t m_uHash; | 1727 uint32_t m_uHash; |
| 1728 const FX_WCHAR* m_lpcEventName; | 1728 const FX_WCHAR* m_lpcEventName; |
| 1729 XFA_EVENTTYPE m_eventType; | 1729 XFA_EVENTTYPE m_eventType; |
| 1730 uint32_t m_validFlags; | 1730 uint32_t m_validFlags; |
| 1731 }; | 1731 }; |
| 1732 static const XFA_ExecEventParaInfo gs_eventParaInfos[] = { | 1732 static const XFA_ExecEventParaInfo gs_eventParaInfos[] = { |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1802 case 1: | 1802 case 1: |
| 1803 g = g * 10 + iValue; | 1803 g = g * 10 + iValue; |
| 1804 break; | 1804 break; |
| 1805 default: | 1805 default: |
| 1806 b = b * 10 + iValue; | 1806 b = b * 10 + iValue; |
| 1807 break; | 1807 break; |
| 1808 } | 1808 } |
| 1809 } | 1809 } |
| 1810 } | 1810 } |
| 1811 } | 1811 } |
| 1812 void CXFA_Node::Script_Som_BorderColor(FXJSE_HVALUE hValue, | 1812 void CXFA_Node::Script_Som_BorderColor(CFXJSE_Value* pValue, |
| 1813 FX_BOOL bSetting, | 1813 FX_BOOL bSetting, |
| 1814 XFA_ATTRIBUTE eAttribute) { | 1814 XFA_ATTRIBUTE eAttribute) { |
| 1815 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1815 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1816 if (!pWidgetData) { | 1816 if (!pWidgetData) { |
| 1817 return; | 1817 return; |
| 1818 } | 1818 } |
| 1819 CXFA_Border border = pWidgetData->GetBorder(TRUE); | 1819 CXFA_Border border = pWidgetData->GetBorder(TRUE); |
| 1820 int32_t iSize = border.CountEdges(); | 1820 int32_t iSize = border.CountEdges(); |
| 1821 CFX_WideString strColor; | 1821 CFX_WideString strColor; |
| 1822 if (bSetting) { | 1822 if (bSetting) { |
| 1823 CFX_ByteString bsValue; | 1823 CFX_ByteString bsValue; |
| 1824 FXJSE_Value_ToUTF8String(hValue, bsValue); | 1824 FXJSE_Value_ToUTF8String(pValue, bsValue); |
| 1825 strColor = CFX_WideString::FromUTF8(bsValue.AsStringC()); | 1825 strColor = CFX_WideString::FromUTF8(bsValue.AsStringC()); |
| 1826 int32_t r = 0, g = 0, b = 0; | 1826 int32_t r = 0, g = 0, b = 0; |
| 1827 XFA_STRING_TO_RGB(strColor, r, g, b); | 1827 XFA_STRING_TO_RGB(strColor, r, g, b); |
| 1828 FX_ARGB rgb = ArgbEncode(100, r, g, b); | 1828 FX_ARGB rgb = ArgbEncode(100, r, g, b); |
| 1829 for (int32_t i = 0; i < iSize; ++i) { | 1829 for (int32_t i = 0; i < iSize; ++i) { |
| 1830 CXFA_Edge edge = border.GetEdge(i); | 1830 CXFA_Edge edge = border.GetEdge(i); |
| 1831 edge.SetColor(rgb); | 1831 edge.SetColor(rgb); |
| 1832 } | 1832 } |
| 1833 } else { | 1833 } else { |
| 1834 CXFA_Edge edge = border.GetEdge(0); | 1834 CXFA_Edge edge = border.GetEdge(0); |
| 1835 FX_ARGB color = edge.GetColor(); | 1835 FX_ARGB color = edge.GetColor(); |
| 1836 int32_t a, r, g, b; | 1836 int32_t a, r, g, b; |
| 1837 ArgbDecode(color, a, r, g, b); | 1837 ArgbDecode(color, a, r, g, b); |
| 1838 strColor.Format(L"%d,%d,%d", r, g, b); | 1838 strColor.Format(L"%d,%d,%d", r, g, b); |
| 1839 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(strColor).AsStringC()); | 1839 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(strColor).AsStringC()); |
| 1840 } | 1840 } |
| 1841 } | 1841 } |
| 1842 void CXFA_Node::Script_Som_BorderWidth(FXJSE_HVALUE hValue, | 1842 void CXFA_Node::Script_Som_BorderWidth(CFXJSE_Value* pValue, |
| 1843 FX_BOOL bSetting, | 1843 FX_BOOL bSetting, |
| 1844 XFA_ATTRIBUTE eAttribute) { | 1844 XFA_ATTRIBUTE eAttribute) { |
| 1845 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1845 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1846 if (!pWidgetData) { | 1846 if (!pWidgetData) { |
| 1847 return; | 1847 return; |
| 1848 } | 1848 } |
| 1849 CXFA_Border border = pWidgetData->GetBorder(TRUE); | 1849 CXFA_Border border = pWidgetData->GetBorder(TRUE); |
| 1850 int32_t iSize = border.CountEdges(); | 1850 int32_t iSize = border.CountEdges(); |
| 1851 CFX_WideString wsThickness; | 1851 CFX_WideString wsThickness; |
| 1852 if (bSetting) { | 1852 if (bSetting) { |
| 1853 CFX_ByteString bsValue; | 1853 CFX_ByteString bsValue; |
| 1854 FXJSE_Value_ToUTF8String(hValue, bsValue); | 1854 FXJSE_Value_ToUTF8String(pValue, bsValue); |
| 1855 wsThickness = CFX_WideString::FromUTF8(bsValue.AsStringC()); | 1855 wsThickness = CFX_WideString::FromUTF8(bsValue.AsStringC()); |
| 1856 for (int32_t i = 0; i < iSize; ++i) { | 1856 for (int32_t i = 0; i < iSize; ++i) { |
| 1857 CXFA_Edge edge = border.GetEdge(i); | 1857 CXFA_Edge edge = border.GetEdge(i); |
| 1858 CXFA_Measurement thickness(wsThickness.AsStringC()); | 1858 CXFA_Measurement thickness(wsThickness.AsStringC()); |
| 1859 edge.SetMSThickness(thickness); | 1859 edge.SetMSThickness(thickness); |
| 1860 } | 1860 } |
| 1861 } else { | 1861 } else { |
| 1862 CXFA_Edge edge = border.GetEdge(0); | 1862 CXFA_Edge edge = border.GetEdge(0); |
| 1863 CXFA_Measurement thickness = edge.GetMSThickness(); | 1863 CXFA_Measurement thickness = edge.GetMSThickness(); |
| 1864 thickness.ToString(wsThickness); | 1864 thickness.ToString(wsThickness); |
| 1865 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsThickness).AsStringC()); | 1865 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsThickness).AsStringC()); |
| 1866 } | 1866 } |
| 1867 } | 1867 } |
| 1868 void CXFA_Node::Script_Som_FillColor(FXJSE_HVALUE hValue, | 1868 void CXFA_Node::Script_Som_FillColor(CFXJSE_Value* pValue, |
| 1869 FX_BOOL bSetting, | 1869 FX_BOOL bSetting, |
| 1870 XFA_ATTRIBUTE eAttribute) { | 1870 XFA_ATTRIBUTE eAttribute) { |
| 1871 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1871 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1872 if (!pWidgetData) { | 1872 if (!pWidgetData) { |
| 1873 return; | 1873 return; |
| 1874 } | 1874 } |
| 1875 CXFA_Border border = pWidgetData->GetBorder(TRUE); | 1875 CXFA_Border border = pWidgetData->GetBorder(TRUE); |
| 1876 CXFA_Fill borderfill = border.GetFill(TRUE); | 1876 CXFA_Fill borderfill = border.GetFill(TRUE); |
| 1877 CXFA_Node* pNode = borderfill.GetNode(); | 1877 CXFA_Node* pNode = borderfill.GetNode(); |
| 1878 if (!pNode) { | 1878 if (!pNode) { |
| 1879 return; | 1879 return; |
| 1880 } | 1880 } |
| 1881 CFX_WideString wsColor; | 1881 CFX_WideString wsColor; |
| 1882 if (bSetting) { | 1882 if (bSetting) { |
| 1883 CFX_ByteString bsValue; | 1883 CFX_ByteString bsValue; |
| 1884 FXJSE_Value_ToUTF8String(hValue, bsValue); | 1884 FXJSE_Value_ToUTF8String(pValue, bsValue); |
| 1885 wsColor = CFX_WideString::FromUTF8(bsValue.AsStringC()); | 1885 wsColor = CFX_WideString::FromUTF8(bsValue.AsStringC()); |
| 1886 int32_t r, g, b; | 1886 int32_t r, g, b; |
| 1887 XFA_STRING_TO_RGB(wsColor, r, g, b); | 1887 XFA_STRING_TO_RGB(wsColor, r, g, b); |
| 1888 FX_ARGB color = ArgbEncode(0xff, r, g, b); | 1888 FX_ARGB color = ArgbEncode(0xff, r, g, b); |
| 1889 borderfill.SetColor(color); | 1889 borderfill.SetColor(color); |
| 1890 } else { | 1890 } else { |
| 1891 FX_ARGB color = borderfill.GetColor(); | 1891 FX_ARGB color = borderfill.GetColor(); |
| 1892 int32_t a, r, g, b; | 1892 int32_t a, r, g, b; |
| 1893 ArgbDecode(color, a, r, g, b); | 1893 ArgbDecode(color, a, r, g, b); |
| 1894 wsColor.Format(L"%d,%d,%d", r, g, b); | 1894 wsColor.Format(L"%d,%d,%d", r, g, b); |
| 1895 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsColor).AsStringC()); | 1895 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsColor).AsStringC()); |
| 1896 } | 1896 } |
| 1897 } | 1897 } |
| 1898 void CXFA_Node::Script_Som_DataNode(FXJSE_HVALUE hValue, | 1898 void CXFA_Node::Script_Som_DataNode(CFXJSE_Value* pValue, |
| 1899 FX_BOOL bSetting, | 1899 FX_BOOL bSetting, |
| 1900 XFA_ATTRIBUTE eAttribute) { | 1900 XFA_ATTRIBUTE eAttribute) { |
| 1901 if (!bSetting) { | 1901 if (!bSetting) { |
| 1902 CXFA_Node* pDataNode = GetBindData(); | 1902 CXFA_Node* pDataNode = GetBindData(); |
| 1903 if (pDataNode) { | 1903 if (pDataNode) { |
| 1904 FXJSE_Value_Set( | 1904 FXJSE_Value_Set( |
| 1905 hValue, | 1905 pValue, |
| 1906 m_pDocument->GetScriptContext()->GetJSValueFromMap(pDataNode)); | 1906 m_pDocument->GetScriptContext()->GetJSValueFromMap(pDataNode)); |
| 1907 } else { | 1907 } else { |
| 1908 FXJSE_Value_SetNull(hValue); | 1908 FXJSE_Value_SetNull(pValue); |
| 1909 } | 1909 } |
| 1910 } else { | 1910 } else { |
| 1911 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1911 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 1912 } | 1912 } |
| 1913 } | 1913 } |
| 1914 void CXFA_Node::Script_Draw_DefaultValue(FXJSE_HVALUE hValue, | 1914 void CXFA_Node::Script_Draw_DefaultValue(CFXJSE_Value* pValue, |
| 1915 FX_BOOL bSetting, | 1915 FX_BOOL bSetting, |
| 1916 XFA_ATTRIBUTE eAttribute) { | 1916 XFA_ATTRIBUTE eAttribute) { |
| 1917 if (bSetting) { | 1917 if (bSetting) { |
| 1918 if (FXJSE_Value_IsUTF8String(hValue)) { | 1918 if (FXJSE_Value_IsUTF8String(pValue)) { |
| 1919 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1919 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1920 ASSERT(pWidgetData); | 1920 ASSERT(pWidgetData); |
| 1921 XFA_ELEMENT uiType = pWidgetData->GetUIType(); | 1921 XFA_ELEMENT uiType = pWidgetData->GetUIType(); |
| 1922 if (uiType == XFA_ELEMENT_Text) { | 1922 if (uiType == XFA_ELEMENT_Text) { |
| 1923 CFX_ByteString newValue; | 1923 CFX_ByteString newValue; |
| 1924 FXJSE_Value_ToUTF8String(hValue, newValue); | 1924 FXJSE_Value_ToUTF8String(pValue, newValue); |
| 1925 CFX_WideString wsNewValue = | 1925 CFX_WideString wsNewValue = |
| 1926 CFX_WideString::FromUTF8(newValue.AsStringC()); | 1926 CFX_WideString::FromUTF8(newValue.AsStringC()); |
| 1927 CFX_WideString wsFormatValue(wsNewValue); | 1927 CFX_WideString wsFormatValue(wsNewValue); |
| 1928 SetScriptContent(wsNewValue, wsFormatValue, true, TRUE); | 1928 SetScriptContent(wsNewValue, wsFormatValue, true, TRUE); |
| 1929 } else if (uiType != XFA_ELEMENT_Image) { | 1929 } else if (uiType != XFA_ELEMENT_Image) { |
| 1930 } | 1930 } |
| 1931 } | 1931 } |
| 1932 } else { | 1932 } else { |
| 1933 CFX_WideString content = GetScriptContent(TRUE); | 1933 CFX_WideString content = GetScriptContent(TRUE); |
| 1934 if (content.IsEmpty()) { | 1934 if (content.IsEmpty()) { |
| 1935 FXJSE_Value_SetNull(hValue); | 1935 FXJSE_Value_SetNull(pValue); |
| 1936 } else { | 1936 } else { |
| 1937 FXJSE_Value_SetUTF8String( | 1937 FXJSE_Value_SetUTF8String( |
| 1938 hValue, | 1938 pValue, |
| 1939 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 1939 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 1940 } | 1940 } |
| 1941 } | 1941 } |
| 1942 } | 1942 } |
| 1943 void CXFA_Node::Script_Field_DefaultValue(FXJSE_HVALUE hValue, | 1943 void CXFA_Node::Script_Field_DefaultValue(CFXJSE_Value* pValue, |
| 1944 FX_BOOL bSetting, | 1944 FX_BOOL bSetting, |
| 1945 XFA_ATTRIBUTE eAttribute) { | 1945 XFA_ATTRIBUTE eAttribute) { |
| 1946 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1946 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1947 if (!pWidgetData) { | 1947 if (!pWidgetData) { |
| 1948 return; | 1948 return; |
| 1949 } | 1949 } |
| 1950 if (bSetting) { | 1950 if (bSetting) { |
| 1951 if (FXJSE_Value_IsNull(hValue)) { | 1951 if (FXJSE_Value_IsNull(pValue)) { |
| 1952 pWidgetData->m_bPreNull = pWidgetData->m_bIsNull; | 1952 pWidgetData->m_bPreNull = pWidgetData->m_bIsNull; |
| 1953 pWidgetData->m_bIsNull = TRUE; | 1953 pWidgetData->m_bIsNull = TRUE; |
| 1954 } else { | 1954 } else { |
| 1955 pWidgetData->m_bPreNull = pWidgetData->m_bIsNull; | 1955 pWidgetData->m_bPreNull = pWidgetData->m_bIsNull; |
| 1956 pWidgetData->m_bIsNull = FALSE; | 1956 pWidgetData->m_bIsNull = FALSE; |
| 1957 } | 1957 } |
| 1958 CFX_ByteString newValue; | 1958 CFX_ByteString newValue; |
| 1959 if (!(FXJSE_Value_IsNull(hValue) || FXJSE_Value_IsUndefined(hValue))) { | 1959 if (!(FXJSE_Value_IsNull(pValue) || FXJSE_Value_IsUndefined(pValue))) { |
| 1960 FXJSE_Value_ToUTF8String(hValue, newValue); | 1960 FXJSE_Value_ToUTF8String(pValue, newValue); |
| 1961 } | 1961 } |
| 1962 CFX_WideString wsNewText = CFX_WideString::FromUTF8(newValue.AsStringC()); | 1962 CFX_WideString wsNewText = CFX_WideString::FromUTF8(newValue.AsStringC()); |
| 1963 CXFA_Node* pUIChild = pWidgetData->GetUIChild(); | 1963 CXFA_Node* pUIChild = pWidgetData->GetUIChild(); |
| 1964 if (pUIChild->GetClassID() == XFA_ELEMENT_NumericEdit) { | 1964 if (pUIChild->GetClassID() == XFA_ELEMENT_NumericEdit) { |
| 1965 int32_t iLeadDigits = 0; | 1965 int32_t iLeadDigits = 0; |
| 1966 int32_t iFracDigits = 0; | 1966 int32_t iFracDigits = 0; |
| 1967 pWidgetData->GetLeadDigits(iLeadDigits); | 1967 pWidgetData->GetLeadDigits(iLeadDigits); |
| 1968 pWidgetData->GetFracDigits(iFracDigits); | 1968 pWidgetData->GetFracDigits(iFracDigits); |
| 1969 wsNewText = | 1969 wsNewText = |
| 1970 pWidgetData->NumericLimit(wsNewText, iLeadDigits, iFracDigits); | 1970 pWidgetData->NumericLimit(wsNewText, iLeadDigits, iFracDigits); |
| 1971 } | 1971 } |
| 1972 CXFA_WidgetData* pContainerWidgetData = GetContainerWidgetData(); | 1972 CXFA_WidgetData* pContainerWidgetData = GetContainerWidgetData(); |
| 1973 CFX_WideString wsFormatText(wsNewText); | 1973 CFX_WideString wsFormatText(wsNewText); |
| 1974 if (pContainerWidgetData) { | 1974 if (pContainerWidgetData) { |
| 1975 pContainerWidgetData->GetFormatDataValue(wsNewText, wsFormatText); | 1975 pContainerWidgetData->GetFormatDataValue(wsNewText, wsFormatText); |
| 1976 } | 1976 } |
| 1977 SetScriptContent(wsNewText, wsFormatText, true, TRUE); | 1977 SetScriptContent(wsNewText, wsFormatText, true, TRUE); |
| 1978 } else { | 1978 } else { |
| 1979 CFX_WideString content = GetScriptContent(TRUE); | 1979 CFX_WideString content = GetScriptContent(TRUE); |
| 1980 if (content.IsEmpty()) { | 1980 if (content.IsEmpty()) { |
| 1981 FXJSE_Value_SetNull(hValue); | 1981 FXJSE_Value_SetNull(pValue); |
| 1982 } else { | 1982 } else { |
| 1983 CXFA_Node* pUIChild = pWidgetData->GetUIChild(); | 1983 CXFA_Node* pUIChild = pWidgetData->GetUIChild(); |
| 1984 XFA_ELEMENT eUI = pUIChild->GetClassID(); | 1984 XFA_ELEMENT eUI = pUIChild->GetClassID(); |
| 1985 CXFA_Value defVal = pWidgetData->GetFormValue(); | 1985 CXFA_Value defVal = pWidgetData->GetFormValue(); |
| 1986 CXFA_Node* pNode = defVal.GetNode()->GetNodeItem(XFA_NODEITEM_FirstChild); | 1986 CXFA_Node* pNode = defVal.GetNode()->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 1987 if (pNode && pNode->GetClassID() == XFA_ELEMENT_Decimal) { | 1987 if (pNode && pNode->GetClassID() == XFA_ELEMENT_Decimal) { |
| 1988 if (eUI == XFA_ELEMENT_NumericEdit && | 1988 if (eUI == XFA_ELEMENT_NumericEdit && |
| 1989 (pNode->GetInteger(XFA_ATTRIBUTE_FracDigits) == -1)) { | 1989 (pNode->GetInteger(XFA_ATTRIBUTE_FracDigits) == -1)) { |
| 1990 FXJSE_Value_SetUTF8String( | 1990 FXJSE_Value_SetUTF8String( |
| 1991 hValue, | 1991 pValue, |
| 1992 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 1992 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 1993 } else { | 1993 } else { |
| 1994 CFX_Decimal decimal(content.AsStringC()); | 1994 CFX_Decimal decimal(content.AsStringC()); |
| 1995 FXJSE_Value_SetFloat(hValue, (FX_FLOAT)(double)decimal); | 1995 FXJSE_Value_SetFloat(pValue, (FX_FLOAT)(double)decimal); |
| 1996 } | 1996 } |
| 1997 } else if (pNode && pNode->GetClassID() == XFA_ELEMENT_Integer) { | 1997 } else if (pNode && pNode->GetClassID() == XFA_ELEMENT_Integer) { |
| 1998 FXJSE_Value_SetInteger(hValue, FXSYS_wtoi(content.c_str())); | 1998 FXJSE_Value_SetInteger(pValue, FXSYS_wtoi(content.c_str())); |
| 1999 } else if (pNode && pNode->GetClassID() == XFA_ELEMENT_Boolean) { | 1999 } else if (pNode && pNode->GetClassID() == XFA_ELEMENT_Boolean) { |
| 2000 FXJSE_Value_SetBoolean(hValue, | 2000 FXJSE_Value_SetBoolean(pValue, |
| 2001 FXSYS_wtoi(content.c_str()) == 0 ? FALSE : TRUE); | 2001 FXSYS_wtoi(content.c_str()) == 0 ? FALSE : TRUE); |
| 2002 } else if (pNode && pNode->GetClassID() == XFA_ELEMENT_Float) { | 2002 } else if (pNode && pNode->GetClassID() == XFA_ELEMENT_Float) { |
| 2003 CFX_Decimal decimal(content.AsStringC()); | 2003 CFX_Decimal decimal(content.AsStringC()); |
| 2004 FXJSE_Value_SetFloat(hValue, (FX_FLOAT)(double)decimal); | 2004 FXJSE_Value_SetFloat(pValue, (FX_FLOAT)(double)decimal); |
| 2005 } else { | 2005 } else { |
| 2006 FXJSE_Value_SetUTF8String( | 2006 FXJSE_Value_SetUTF8String( |
| 2007 hValue, | 2007 pValue, |
| 2008 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 2008 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 2009 } | 2009 } |
| 2010 } | 2010 } |
| 2011 } | 2011 } |
| 2012 } | 2012 } |
| 2013 void CXFA_Node::Script_Field_EditValue(FXJSE_HVALUE hValue, | 2013 void CXFA_Node::Script_Field_EditValue(CFXJSE_Value* pValue, |
| 2014 FX_BOOL bSetting, | 2014 FX_BOOL bSetting, |
| 2015 XFA_ATTRIBUTE eAttribute) { | 2015 XFA_ATTRIBUTE eAttribute) { |
| 2016 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2016 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2017 if (!pWidgetData) { | 2017 if (!pWidgetData) { |
| 2018 return; | 2018 return; |
| 2019 } | 2019 } |
| 2020 CFX_WideString wsValue; | 2020 CFX_WideString wsValue; |
| 2021 if (bSetting) { | 2021 if (bSetting) { |
| 2022 CFX_ByteString bsValue; | 2022 CFX_ByteString bsValue; |
| 2023 FXJSE_Value_ToUTF8String(hValue, bsValue); | 2023 FXJSE_Value_ToUTF8String(pValue, bsValue); |
| 2024 wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); | 2024 wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); |
| 2025 pWidgetData->SetValue(wsValue, XFA_VALUEPICTURE_Edit); | 2025 pWidgetData->SetValue(wsValue, XFA_VALUEPICTURE_Edit); |
| 2026 } else { | 2026 } else { |
| 2027 pWidgetData->GetValue(wsValue, XFA_VALUEPICTURE_Edit); | 2027 pWidgetData->GetValue(wsValue, XFA_VALUEPICTURE_Edit); |
| 2028 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsValue).AsStringC()); | 2028 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsValue).AsStringC()); |
| 2029 } | 2029 } |
| 2030 } | 2030 } |
| 2031 void CXFA_Node::Script_Som_FontColor(FXJSE_HVALUE hValue, | 2031 void CXFA_Node::Script_Som_FontColor(CFXJSE_Value* pValue, |
| 2032 FX_BOOL bSetting, | 2032 FX_BOOL bSetting, |
| 2033 XFA_ATTRIBUTE eAttribute) { | 2033 XFA_ATTRIBUTE eAttribute) { |
| 2034 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2034 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2035 if (!pWidgetData) { | 2035 if (!pWidgetData) { |
| 2036 return; | 2036 return; |
| 2037 } | 2037 } |
| 2038 CXFA_Font font = pWidgetData->GetFont(TRUE); | 2038 CXFA_Font font = pWidgetData->GetFont(TRUE); |
| 2039 CXFA_Node* pNode = font.GetNode(); | 2039 CXFA_Node* pNode = font.GetNode(); |
| 2040 if (!pNode) { | 2040 if (!pNode) { |
| 2041 return; | 2041 return; |
| 2042 } | 2042 } |
| 2043 CFX_WideString wsColor; | 2043 CFX_WideString wsColor; |
| 2044 if (bSetting) { | 2044 if (bSetting) { |
| 2045 CFX_ByteString bsValue; | 2045 CFX_ByteString bsValue; |
| 2046 FXJSE_Value_ToUTF8String(hValue, bsValue); | 2046 FXJSE_Value_ToUTF8String(pValue, bsValue); |
| 2047 wsColor = CFX_WideString::FromUTF8(bsValue.AsStringC()); | 2047 wsColor = CFX_WideString::FromUTF8(bsValue.AsStringC()); |
| 2048 int32_t r, g, b; | 2048 int32_t r, g, b; |
| 2049 XFA_STRING_TO_RGB(wsColor, r, g, b); | 2049 XFA_STRING_TO_RGB(wsColor, r, g, b); |
| 2050 FX_ARGB color = ArgbEncode(0xff, r, g, b); | 2050 FX_ARGB color = ArgbEncode(0xff, r, g, b); |
| 2051 font.SetColor(color); | 2051 font.SetColor(color); |
| 2052 } else { | 2052 } else { |
| 2053 FX_ARGB color = font.GetColor(); | 2053 FX_ARGB color = font.GetColor(); |
| 2054 int32_t a, r, g, b; | 2054 int32_t a, r, g, b; |
| 2055 ArgbDecode(color, a, r, g, b); | 2055 ArgbDecode(color, a, r, g, b); |
| 2056 wsColor.Format(L"%d,%d,%d", r, g, b); | 2056 wsColor.Format(L"%d,%d,%d", r, g, b); |
| 2057 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsColor).AsStringC()); | 2057 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsColor).AsStringC()); |
| 2058 } | 2058 } |
| 2059 } | 2059 } |
| 2060 void CXFA_Node::Script_Field_FormatMessage(FXJSE_HVALUE hValue, | 2060 void CXFA_Node::Script_Field_FormatMessage(CFXJSE_Value* pValue, |
| 2061 FX_BOOL bSetting, | 2061 FX_BOOL bSetting, |
| 2062 XFA_ATTRIBUTE eAttribute) { | 2062 XFA_ATTRIBUTE eAttribute) { |
| 2063 Script_Som_Message(hValue, bSetting, XFA_SOM_FormatMessage); | 2063 Script_Som_Message(pValue, bSetting, XFA_SOM_FormatMessage); |
| 2064 } | 2064 } |
| 2065 void CXFA_Node::Script_Field_FormattedValue(FXJSE_HVALUE hValue, | 2065 void CXFA_Node::Script_Field_FormattedValue(CFXJSE_Value* pValue, |
| 2066 FX_BOOL bSetting, | 2066 FX_BOOL bSetting, |
| 2067 XFA_ATTRIBUTE eAttribute) { | 2067 XFA_ATTRIBUTE eAttribute) { |
| 2068 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2068 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2069 if (!pWidgetData) { | 2069 if (!pWidgetData) { |
| 2070 return; | 2070 return; |
| 2071 } | 2071 } |
| 2072 CFX_WideString wsValue; | 2072 CFX_WideString wsValue; |
| 2073 if (bSetting) { | 2073 if (bSetting) { |
| 2074 CFX_ByteString bsValue; | 2074 CFX_ByteString bsValue; |
| 2075 FXJSE_Value_ToUTF8String(hValue, bsValue); | 2075 FXJSE_Value_ToUTF8String(pValue, bsValue); |
| 2076 wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); | 2076 wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); |
| 2077 pWidgetData->SetValue(wsValue, XFA_VALUEPICTURE_Display); | 2077 pWidgetData->SetValue(wsValue, XFA_VALUEPICTURE_Display); |
| 2078 } else { | 2078 } else { |
| 2079 pWidgetData->GetValue(wsValue, XFA_VALUEPICTURE_Display); | 2079 pWidgetData->GetValue(wsValue, XFA_VALUEPICTURE_Display); |
| 2080 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsValue).AsStringC()); | 2080 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsValue).AsStringC()); |
| 2081 } | 2081 } |
| 2082 } | 2082 } |
| 2083 void CXFA_Node::Script_Som_Mandatory(FXJSE_HVALUE hValue, | 2083 void CXFA_Node::Script_Som_Mandatory(CFXJSE_Value* pValue, |
| 2084 FX_BOOL bSetting, | 2084 FX_BOOL bSetting, |
| 2085 XFA_ATTRIBUTE eAttribute) { | 2085 XFA_ATTRIBUTE eAttribute) { |
| 2086 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2086 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2087 if (!pWidgetData) { | 2087 if (!pWidgetData) { |
| 2088 return; | 2088 return; |
| 2089 } | 2089 } |
| 2090 CXFA_Validate validate = pWidgetData->GetValidate(TRUE); | 2090 CXFA_Validate validate = pWidgetData->GetValidate(TRUE); |
| 2091 CFX_WideString wsValue; | 2091 CFX_WideString wsValue; |
| 2092 if (bSetting) { | 2092 if (bSetting) { |
| 2093 CFX_ByteString bsValue; | 2093 CFX_ByteString bsValue; |
| 2094 FXJSE_Value_ToUTF8String(hValue, bsValue); | 2094 FXJSE_Value_ToUTF8String(pValue, bsValue); |
| 2095 wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); | 2095 wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); |
| 2096 validate.SetNullTest(wsValue); | 2096 validate.SetNullTest(wsValue); |
| 2097 } else { | 2097 } else { |
| 2098 int32_t iValue = validate.GetNullTest(); | 2098 int32_t iValue = validate.GetNullTest(); |
| 2099 const XFA_ATTRIBUTEENUMINFO* pInfo = | 2099 const XFA_ATTRIBUTEENUMINFO* pInfo = |
| 2100 XFA_GetAttributeEnumByID((XFA_ATTRIBUTEENUM)iValue); | 2100 XFA_GetAttributeEnumByID((XFA_ATTRIBUTEENUM)iValue); |
| 2101 if (pInfo) { | 2101 if (pInfo) { |
| 2102 wsValue = pInfo->pName; | 2102 wsValue = pInfo->pName; |
| 2103 } | 2103 } |
| 2104 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsValue).AsStringC()); | 2104 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsValue).AsStringC()); |
| 2105 } | 2105 } |
| 2106 } | 2106 } |
| 2107 void CXFA_Node::Script_Som_MandatoryMessage(FXJSE_HVALUE hValue, | 2107 void CXFA_Node::Script_Som_MandatoryMessage(CFXJSE_Value* pValue, |
| 2108 FX_BOOL bSetting, | 2108 FX_BOOL bSetting, |
| 2109 XFA_ATTRIBUTE eAttribute) { | 2109 XFA_ATTRIBUTE eAttribute) { |
| 2110 Script_Som_Message(hValue, bSetting, XFA_SOM_MandatoryMessage); | 2110 Script_Som_Message(pValue, bSetting, XFA_SOM_MandatoryMessage); |
| 2111 } | 2111 } |
| 2112 void CXFA_Node::Script_Field_ParentSubform(FXJSE_HVALUE hValue, | 2112 void CXFA_Node::Script_Field_ParentSubform(CFXJSE_Value* pValue, |
| 2113 FX_BOOL bSetting, | 2113 FX_BOOL bSetting, |
| 2114 XFA_ATTRIBUTE eAttribute) { | 2114 XFA_ATTRIBUTE eAttribute) { |
| 2115 if (bSetting) { | 2115 if (bSetting) { |
| 2116 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2116 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 2117 } else { | 2117 } else { |
| 2118 FXJSE_Value_SetNull(hValue); | 2118 FXJSE_Value_SetNull(pValue); |
| 2119 } | 2119 } |
| 2120 } | 2120 } |
| 2121 void CXFA_Node::Script_Field_SelectedIndex(FXJSE_HVALUE hValue, | 2121 void CXFA_Node::Script_Field_SelectedIndex(CFXJSE_Value* pValue, |
| 2122 FX_BOOL bSetting, | 2122 FX_BOOL bSetting, |
| 2123 XFA_ATTRIBUTE eAttribute) { | 2123 XFA_ATTRIBUTE eAttribute) { |
| 2124 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2124 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2125 if (!pWidgetData) { | 2125 if (!pWidgetData) { |
| 2126 return; | 2126 return; |
| 2127 } | 2127 } |
| 2128 if (bSetting) { | 2128 if (bSetting) { |
| 2129 int32_t iIndex = FXJSE_Value_ToInteger(hValue); | 2129 int32_t iIndex = FXJSE_Value_ToInteger(pValue); |
| 2130 if (iIndex == -1) { | 2130 if (iIndex == -1) { |
| 2131 pWidgetData->ClearAllSelections(); | 2131 pWidgetData->ClearAllSelections(); |
| 2132 return; | 2132 return; |
| 2133 } | 2133 } |
| 2134 pWidgetData->SetItemState(iIndex, TRUE, TRUE, TRUE); | 2134 pWidgetData->SetItemState(iIndex, TRUE, TRUE, TRUE); |
| 2135 } else { | 2135 } else { |
| 2136 FXJSE_Value_SetInteger(hValue, pWidgetData->GetSelectedItem()); | 2136 FXJSE_Value_SetInteger(pValue, pWidgetData->GetSelectedItem()); |
| 2137 } | 2137 } |
| 2138 } | 2138 } |
| 2139 void CXFA_Node::Script_Field_ClearItems(CFXJSE_Arguments* pArguments) { | 2139 void CXFA_Node::Script_Field_ClearItems(CFXJSE_Arguments* pArguments) { |
| 2140 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2140 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2141 if (!pWidgetData) { | 2141 if (!pWidgetData) { |
| 2142 return; | 2142 return; |
| 2143 } | 2143 } |
| 2144 pWidgetData->DeleteItem(-1, TRUE); | 2144 pWidgetData->DeleteItem(-1, TRUE); |
| 2145 } | 2145 } |
| 2146 void CXFA_Node::Script_Field_ExecEvent(CFXJSE_Arguments* pArguments) { | 2146 void CXFA_Node::Script_Field_ExecEvent(CFXJSE_Arguments* pArguments) { |
| (...skipping 29 matching lines...) Expand all Loading... |
| 2176 if (iLength != 1) { | 2176 if (iLength != 1) { |
| 2177 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"deleteItem"); | 2177 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"deleteItem"); |
| 2178 return; | 2178 return; |
| 2179 } | 2179 } |
| 2180 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2180 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2181 if (!pWidgetData) { | 2181 if (!pWidgetData) { |
| 2182 return; | 2182 return; |
| 2183 } | 2183 } |
| 2184 int32_t iIndex = pArguments->GetInt32(0); | 2184 int32_t iIndex = pArguments->GetInt32(0); |
| 2185 FX_BOOL bValue = pWidgetData->DeleteItem(iIndex, TRUE, TRUE); | 2185 FX_BOOL bValue = pWidgetData->DeleteItem(iIndex, TRUE, TRUE); |
| 2186 FXJSE_HVALUE hValue = pArguments->GetReturnValue(); | 2186 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 2187 if (hValue) { | 2187 if (pValue) { |
| 2188 FXJSE_Value_SetBoolean(hValue, bValue); | 2188 FXJSE_Value_SetBoolean(pValue, bValue); |
| 2189 } | 2189 } |
| 2190 } | 2190 } |
| 2191 void CXFA_Node::Script_Field_GetSaveItem(CFXJSE_Arguments* pArguments) { | 2191 void CXFA_Node::Script_Field_GetSaveItem(CFXJSE_Arguments* pArguments) { |
| 2192 int32_t iLength = pArguments->GetLength(); | 2192 int32_t iLength = pArguments->GetLength(); |
| 2193 if (iLength != 1) { | 2193 if (iLength != 1) { |
| 2194 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getSaveItem"); | 2194 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getSaveItem"); |
| 2195 return; | 2195 return; |
| 2196 } | 2196 } |
| 2197 int32_t iIndex = pArguments->GetInt32(0); | 2197 int32_t iIndex = pArguments->GetInt32(0); |
| 2198 if (iIndex < 0) { | 2198 if (iIndex < 0) { |
| (...skipping 22 matching lines...) Expand all Loading... |
| 2221 return; | 2221 return; |
| 2222 } | 2222 } |
| 2223 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2223 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2224 if (!pWidgetData) { | 2224 if (!pWidgetData) { |
| 2225 return; | 2225 return; |
| 2226 } | 2226 } |
| 2227 CFX_ByteString bsValue = pArguments->GetUTF8String(0); | 2227 CFX_ByteString bsValue = pArguments->GetUTF8String(0); |
| 2228 CFX_WideString wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); | 2228 CFX_WideString wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); |
| 2229 CFX_WideString wsBoundValue; | 2229 CFX_WideString wsBoundValue; |
| 2230 pWidgetData->GetItemValue(wsValue.AsStringC(), wsBoundValue); | 2230 pWidgetData->GetItemValue(wsValue.AsStringC(), wsBoundValue); |
| 2231 FXJSE_HVALUE hValue = pArguments->GetReturnValue(); | 2231 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 2232 if (hValue) { | 2232 if (pValue) { |
| 2233 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsBoundValue).AsStringC()); | 2233 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsBoundValue).AsStringC()); |
| 2234 } | 2234 } |
| 2235 } | 2235 } |
| 2236 void CXFA_Node::Script_Field_GetItemState(CFXJSE_Arguments* pArguments) { | 2236 void CXFA_Node::Script_Field_GetItemState(CFXJSE_Arguments* pArguments) { |
| 2237 int32_t iLength = pArguments->GetLength(); | 2237 int32_t iLength = pArguments->GetLength(); |
| 2238 if (iLength != 1) { | 2238 if (iLength != 1) { |
| 2239 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2239 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 2240 L"getItemState"); | 2240 L"getItemState"); |
| 2241 return; | 2241 return; |
| 2242 } | 2242 } |
| 2243 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2243 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2244 if (!pWidgetData) { | 2244 if (!pWidgetData) { |
| 2245 return; | 2245 return; |
| 2246 } | 2246 } |
| 2247 int32_t iIndex = pArguments->GetInt32(0); | 2247 int32_t iIndex = pArguments->GetInt32(0); |
| 2248 FX_BOOL bValue = pWidgetData->GetItemState(iIndex); | 2248 FX_BOOL bValue = pWidgetData->GetItemState(iIndex); |
| 2249 FXJSE_HVALUE hValue = pArguments->GetReturnValue(); | 2249 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 2250 if (hValue) { | 2250 if (pValue) { |
| 2251 FXJSE_Value_SetBoolean(hValue, bValue); | 2251 FXJSE_Value_SetBoolean(pValue, bValue); |
| 2252 } | 2252 } |
| 2253 } | 2253 } |
| 2254 void CXFA_Node::Script_Field_ExecCalculate(CFXJSE_Arguments* pArguments) { | 2254 void CXFA_Node::Script_Field_ExecCalculate(CFXJSE_Arguments* pArguments) { |
| 2255 int32_t argc = pArguments->GetLength(); | 2255 int32_t argc = pArguments->GetLength(); |
| 2256 if (argc == 0) { | 2256 if (argc == 0) { |
| 2257 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2257 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2258 if (!pNotify) { | 2258 if (!pNotify) { |
| 2259 return; | 2259 return; |
| 2260 } | 2260 } |
| 2261 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate, FALSE, FALSE); | 2261 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate, FALSE, FALSE); |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2344 int32_t iRet = | 2344 int32_t iRet = |
| 2345 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate, FALSE, FALSE); | 2345 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate, FALSE, FALSE); |
| 2346 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 2346 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 2347 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 2347 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 2348 } | 2348 } |
| 2349 } else { | 2349 } else { |
| 2350 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2350 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 2351 L"execValidate"); | 2351 L"execValidate"); |
| 2352 } | 2352 } |
| 2353 } | 2353 } |
| 2354 void CXFA_Node::Script_ExclGroup_ErrorText(FXJSE_HVALUE hValue, | 2354 void CXFA_Node::Script_ExclGroup_ErrorText(CFXJSE_Value* pValue, |
| 2355 FX_BOOL bSetting, | 2355 FX_BOOL bSetting, |
| 2356 XFA_ATTRIBUTE eAttribute) { | 2356 XFA_ATTRIBUTE eAttribute) { |
| 2357 if (!bSetting) { | 2357 if (!bSetting) { |
| 2358 } else { | 2358 } else { |
| 2359 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2359 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 2360 } | 2360 } |
| 2361 } | 2361 } |
| 2362 void CXFA_Node::Script_ExclGroup_DefaultAndRawValue(FXJSE_HVALUE hValue, | 2362 void CXFA_Node::Script_ExclGroup_DefaultAndRawValue(CFXJSE_Value* pValue, |
| 2363 FX_BOOL bSetting, | 2363 FX_BOOL bSetting, |
| 2364 XFA_ATTRIBUTE eAttribute) { | 2364 XFA_ATTRIBUTE eAttribute) { |
| 2365 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2365 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2366 if (!pWidgetData) { | 2366 if (!pWidgetData) { |
| 2367 return; | 2367 return; |
| 2368 } | 2368 } |
| 2369 if (bSetting) { | 2369 if (bSetting) { |
| 2370 CFX_ByteString bsValue; | 2370 CFX_ByteString bsValue; |
| 2371 FXJSE_Value_ToUTF8String(hValue, bsValue); | 2371 FXJSE_Value_ToUTF8String(pValue, bsValue); |
| 2372 pWidgetData->SetSelectedMemberByValue( | 2372 pWidgetData->SetSelectedMemberByValue( |
| 2373 CFX_WideString::FromUTF8(bsValue.AsStringC()).AsStringC(), TRUE, TRUE); | 2373 CFX_WideString::FromUTF8(bsValue.AsStringC()).AsStringC(), TRUE, TRUE); |
| 2374 } else { | 2374 } else { |
| 2375 CFX_WideString wsValue = GetScriptContent(TRUE); | 2375 CFX_WideString wsValue = GetScriptContent(TRUE); |
| 2376 XFA_VERSION curVersion = GetDocument()->GetCurVersionMode(); | 2376 XFA_VERSION curVersion = GetDocument()->GetCurVersionMode(); |
| 2377 if (wsValue.IsEmpty() && curVersion >= XFA_VERSION_300) { | 2377 if (wsValue.IsEmpty() && curVersion >= XFA_VERSION_300) { |
| 2378 FXJSE_Value_SetNull(hValue); | 2378 FXJSE_Value_SetNull(pValue); |
| 2379 } else { | 2379 } else { |
| 2380 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsValue).AsStringC()); | 2380 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsValue).AsStringC()); |
| 2381 } | 2381 } |
| 2382 } | 2382 } |
| 2383 } | 2383 } |
| 2384 void CXFA_Node::Script_ExclGroup_Transient(FXJSE_HVALUE hValue, | 2384 void CXFA_Node::Script_ExclGroup_Transient(CFXJSE_Value* pValue, |
| 2385 FX_BOOL bSetting, | 2385 FX_BOOL bSetting, |
| 2386 XFA_ATTRIBUTE eAttribute) {} | 2386 XFA_ATTRIBUTE eAttribute) {} |
| 2387 void CXFA_Node::Script_ExclGroup_ExecEvent(CFXJSE_Arguments* pArguments) { | 2387 void CXFA_Node::Script_ExclGroup_ExecEvent(CFXJSE_Arguments* pArguments) { |
| 2388 int32_t argc = pArguments->GetLength(); | 2388 int32_t argc = pArguments->GetLength(); |
| 2389 if (argc == 1) { | 2389 if (argc == 1) { |
| 2390 CFX_ByteString eventString = pArguments->GetUTF8String(0); | 2390 CFX_ByteString eventString = pArguments->GetUTF8String(0); |
| 2391 execSingleEventByName( | 2391 execSingleEventByName( |
| 2392 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), | 2392 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), |
| 2393 XFA_ELEMENT_ExclGroup); | 2393 XFA_ELEMENT_ExclGroup); |
| 2394 } else { | 2394 } else { |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2493 if (dwNameHash != pNode->GetNameHash()) { | 2493 if (dwNameHash != pNode->GetNameHash()) { |
| 2494 break; | 2494 break; |
| 2495 } | 2495 } |
| 2496 iCount++; | 2496 iCount++; |
| 2497 if (iCount > iIndex) { | 2497 if (iCount > iIndex) { |
| 2498 return pNode; | 2498 return pNode; |
| 2499 } | 2499 } |
| 2500 } | 2500 } |
| 2501 return NULL; | 2501 return NULL; |
| 2502 } | 2502 } |
| 2503 void CXFA_Node::Script_Som_InstanceIndex(FXJSE_HVALUE hValue, | 2503 void CXFA_Node::Script_Som_InstanceIndex(CFXJSE_Value* pValue, |
| 2504 FX_BOOL bSetting, | 2504 FX_BOOL bSetting, |
| 2505 XFA_ATTRIBUTE eAttribute) { | 2505 XFA_ATTRIBUTE eAttribute) { |
| 2506 if (bSetting) { | 2506 if (bSetting) { |
| 2507 int32_t iTo = FXJSE_Value_ToInteger(hValue); | 2507 int32_t iTo = FXJSE_Value_ToInteger(pValue); |
| 2508 int32_t iFrom = Subform_and_SubformSet_InstanceIndex(); | 2508 int32_t iFrom = Subform_and_SubformSet_InstanceIndex(); |
| 2509 CXFA_Node* pManagerNode = NULL; | 2509 CXFA_Node* pManagerNode = NULL; |
| 2510 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; | 2510 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; |
| 2511 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { | 2511 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { |
| 2512 if (pNode->GetClassID() == XFA_ELEMENT_InstanceManager) { | 2512 if (pNode->GetClassID() == XFA_ELEMENT_InstanceManager) { |
| 2513 pManagerNode = pNode; | 2513 pManagerNode = pNode; |
| 2514 break; | 2514 break; |
| 2515 } | 2515 } |
| 2516 } | 2516 } |
| 2517 if (pManagerNode) { | 2517 if (pManagerNode) { |
| 2518 pManagerNode->InstanceManager_MoveInstance(iTo, iFrom); | 2518 pManagerNode->InstanceManager_MoveInstance(iTo, iFrom); |
| 2519 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2519 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2520 if (!pNotify) { | 2520 if (!pNotify) { |
| 2521 return; | 2521 return; |
| 2522 } | 2522 } |
| 2523 CXFA_Node* pToInstance = | 2523 CXFA_Node* pToInstance = |
| 2524 XFA_ScriptInstanceManager_GetItem(pManagerNode, iTo); | 2524 XFA_ScriptInstanceManager_GetItem(pManagerNode, iTo); |
| 2525 if (pToInstance && pToInstance->GetClassID() == XFA_ELEMENT_Subform) { | 2525 if (pToInstance && pToInstance->GetClassID() == XFA_ELEMENT_Subform) { |
| 2526 pNotify->RunSubformIndexChange(pToInstance); | 2526 pNotify->RunSubformIndexChange(pToInstance); |
| 2527 } | 2527 } |
| 2528 CXFA_Node* pFromInstance = | 2528 CXFA_Node* pFromInstance = |
| 2529 XFA_ScriptInstanceManager_GetItem(pManagerNode, iFrom); | 2529 XFA_ScriptInstanceManager_GetItem(pManagerNode, iFrom); |
| 2530 if (pFromInstance && pFromInstance->GetClassID() == XFA_ELEMENT_Subform) { | 2530 if (pFromInstance && pFromInstance->GetClassID() == XFA_ELEMENT_Subform) { |
| 2531 pNotify->RunSubformIndexChange(pFromInstance); | 2531 pNotify->RunSubformIndexChange(pFromInstance); |
| 2532 } | 2532 } |
| 2533 } | 2533 } |
| 2534 } else { | 2534 } else { |
| 2535 FXJSE_Value_SetInteger(hValue, Subform_and_SubformSet_InstanceIndex()); | 2535 FXJSE_Value_SetInteger(pValue, Subform_and_SubformSet_InstanceIndex()); |
| 2536 } | 2536 } |
| 2537 } | 2537 } |
| 2538 void CXFA_Node::Script_Subform_InstanceManager(FXJSE_HVALUE hValue, | 2538 void CXFA_Node::Script_Subform_InstanceManager(CFXJSE_Value* pValue, |
| 2539 FX_BOOL bSetting, | 2539 FX_BOOL bSetting, |
| 2540 XFA_ATTRIBUTE eAttribute) { | 2540 XFA_ATTRIBUTE eAttribute) { |
| 2541 if (!bSetting) { | 2541 if (!bSetting) { |
| 2542 CFX_WideStringC wsName = GetCData(XFA_ATTRIBUTE_Name); | 2542 CFX_WideStringC wsName = GetCData(XFA_ATTRIBUTE_Name); |
| 2543 CXFA_Node* pInstanceMgr = NULL; | 2543 CXFA_Node* pInstanceMgr = NULL; |
| 2544 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; | 2544 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; |
| 2545 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { | 2545 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { |
| 2546 if (pNode->GetClassID() == XFA_ELEMENT_InstanceManager) { | 2546 if (pNode->GetClassID() == XFA_ELEMENT_InstanceManager) { |
| 2547 CFX_WideStringC wsInstMgrName = pNode->GetCData(XFA_ATTRIBUTE_Name); | 2547 CFX_WideStringC wsInstMgrName = pNode->GetCData(XFA_ATTRIBUTE_Name); |
| 2548 if (wsInstMgrName.GetLength() >= 1 && wsInstMgrName.GetAt(0) == '_' && | 2548 if (wsInstMgrName.GetLength() >= 1 && wsInstMgrName.GetAt(0) == '_' && |
| 2549 wsInstMgrName.Mid(1) == wsName) { | 2549 wsInstMgrName.Mid(1) == wsName) { |
| 2550 pInstanceMgr = pNode; | 2550 pInstanceMgr = pNode; |
| 2551 } | 2551 } |
| 2552 break; | 2552 break; |
| 2553 } | 2553 } |
| 2554 } | 2554 } |
| 2555 if (pInstanceMgr) { | 2555 if (pInstanceMgr) { |
| 2556 FXJSE_Value_Set( | 2556 FXJSE_Value_Set( |
| 2557 hValue, | 2557 pValue, |
| 2558 m_pDocument->GetScriptContext()->GetJSValueFromMap(pInstanceMgr)); | 2558 m_pDocument->GetScriptContext()->GetJSValueFromMap(pInstanceMgr)); |
| 2559 } else { | 2559 } else { |
| 2560 FXJSE_Value_SetNull(hValue); | 2560 FXJSE_Value_SetNull(pValue); |
| 2561 } | 2561 } |
| 2562 } else { | 2562 } else { |
| 2563 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2563 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 2564 } | 2564 } |
| 2565 } | 2565 } |
| 2566 void CXFA_Node::Script_Subform_Locale(FXJSE_HVALUE hValue, | 2566 void CXFA_Node::Script_Subform_Locale(CFXJSE_Value* pValue, |
| 2567 FX_BOOL bSetting, | 2567 FX_BOOL bSetting, |
| 2568 XFA_ATTRIBUTE eAttribute) { | 2568 XFA_ATTRIBUTE eAttribute) { |
| 2569 if (bSetting) { | 2569 if (bSetting) { |
| 2570 CFX_ByteString bsLocaleName; | 2570 CFX_ByteString bsLocaleName; |
| 2571 FXJSE_Value_ToUTF8String(hValue, bsLocaleName); | 2571 FXJSE_Value_ToUTF8String(pValue, bsLocaleName); |
| 2572 SetCData(XFA_ATTRIBUTE_Locale, | 2572 SetCData(XFA_ATTRIBUTE_Locale, |
| 2573 CFX_WideString::FromUTF8(bsLocaleName.AsStringC()), true, TRUE); | 2573 CFX_WideString::FromUTF8(bsLocaleName.AsStringC()), true, TRUE); |
| 2574 } else { | 2574 } else { |
| 2575 CFX_WideString wsLocaleName; | 2575 CFX_WideString wsLocaleName; |
| 2576 GetLocaleName(wsLocaleName); | 2576 GetLocaleName(wsLocaleName); |
| 2577 FXJSE_Value_SetUTF8String( | 2577 FXJSE_Value_SetUTF8String( |
| 2578 hValue, FX_UTF8Encode(wsLocaleName.c_str(), wsLocaleName.GetLength()) | 2578 pValue, FX_UTF8Encode(wsLocaleName.c_str(), wsLocaleName.GetLength()) |
| 2579 .AsStringC()); | 2579 .AsStringC()); |
| 2580 } | 2580 } |
| 2581 } | 2581 } |
| 2582 void CXFA_Node::Script_Subform_ExecEvent(CFXJSE_Arguments* pArguments) { | 2582 void CXFA_Node::Script_Subform_ExecEvent(CFXJSE_Arguments* pArguments) { |
| 2583 int32_t argc = pArguments->GetLength(); | 2583 int32_t argc = pArguments->GetLength(); |
| 2584 if (argc == 1) { | 2584 if (argc == 1) { |
| 2585 CFX_ByteString eventString = pArguments->GetUTF8String(0); | 2585 CFX_ByteString eventString = pArguments->GetUTF8String(0); |
| 2586 execSingleEventByName( | 2586 execSingleEventByName( |
| 2587 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), | 2587 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), |
| 2588 XFA_ELEMENT_Subform); | 2588 XFA_ELEMENT_Subform); |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2770 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2770 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2771 if (!pWidgetData) { | 2771 if (!pWidgetData) { |
| 2772 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2772 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2773 } else { | 2773 } else { |
| 2774 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2774 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2775 } | 2775 } |
| 2776 } else { | 2776 } else { |
| 2777 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"evaluate"); | 2777 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"evaluate"); |
| 2778 } | 2778 } |
| 2779 } | 2779 } |
| 2780 void CXFA_Node::Script_InstanceManager_Max(FXJSE_HVALUE hValue, | 2780 void CXFA_Node::Script_InstanceManager_Max(CFXJSE_Value* pValue, |
| 2781 FX_BOOL bSetting, | 2781 FX_BOOL bSetting, |
| 2782 XFA_ATTRIBUTE eAttribute) { | 2782 XFA_ATTRIBUTE eAttribute) { |
| 2783 if (bSetting) { | 2783 if (bSetting) { |
| 2784 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2784 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 2785 return; | 2785 return; |
| 2786 } | 2786 } |
| 2787 CXFA_Occur nodeOccur(GetOccurNode()); | 2787 CXFA_Occur nodeOccur(GetOccurNode()); |
| 2788 FXJSE_Value_SetInteger(hValue, nodeOccur.GetMax()); | 2788 FXJSE_Value_SetInteger(pValue, nodeOccur.GetMax()); |
| 2789 } | 2789 } |
| 2790 void CXFA_Node::Script_InstanceManager_Min(FXJSE_HVALUE hValue, | 2790 void CXFA_Node::Script_InstanceManager_Min(CFXJSE_Value* pValue, |
| 2791 FX_BOOL bSetting, | 2791 FX_BOOL bSetting, |
| 2792 XFA_ATTRIBUTE eAttribute) { | 2792 XFA_ATTRIBUTE eAttribute) { |
| 2793 if (bSetting) { | 2793 if (bSetting) { |
| 2794 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2794 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 2795 return; | 2795 return; |
| 2796 } | 2796 } |
| 2797 CXFA_Occur nodeOccur(GetOccurNode()); | 2797 CXFA_Occur nodeOccur(GetOccurNode()); |
| 2798 FXJSE_Value_SetInteger(hValue, nodeOccur.GetMin()); | 2798 FXJSE_Value_SetInteger(pValue, nodeOccur.GetMin()); |
| 2799 } | 2799 } |
| 2800 static int32_t XFA_ScriptInstanceManager_GetCount(CXFA_Node* pInstMgrNode) { | 2800 static int32_t XFA_ScriptInstanceManager_GetCount(CXFA_Node* pInstMgrNode) { |
| 2801 ASSERT(pInstMgrNode); | 2801 ASSERT(pInstMgrNode); |
| 2802 int32_t iCount = 0; | 2802 int32_t iCount = 0; |
| 2803 uint32_t dwNameHash = 0; | 2803 uint32_t dwNameHash = 0; |
| 2804 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); | 2804 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 2805 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 2805 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 2806 XFA_ELEMENT eCurType = pNode->GetClassID(); | 2806 XFA_ELEMENT eCurType = pNode->GetClassID(); |
| 2807 if (eCurType == XFA_ELEMENT_InstanceManager) { | 2807 if (eCurType == XFA_ELEMENT_InstanceManager) { |
| 2808 break; | 2808 break; |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3063 ASSERT(pDataScope); | 3063 ASSERT(pDataScope); |
| 3064 } | 3064 } |
| 3065 CXFA_Node* pInstance = pDocument->DataMerge_CopyContainer( | 3065 CXFA_Node* pInstance = pDocument->DataMerge_CopyContainer( |
| 3066 pTemplateNode, pFormParent, pDataScope, TRUE, bDataMerge); | 3066 pTemplateNode, pFormParent, pDataScope, TRUE, bDataMerge); |
| 3067 if (pInstance) { | 3067 if (pInstance) { |
| 3068 pDocument->DataMerge_UpdateBindingRelations(pInstance); | 3068 pDocument->DataMerge_UpdateBindingRelations(pInstance); |
| 3069 pFormParent->RemoveChild(pInstance); | 3069 pFormParent->RemoveChild(pInstance); |
| 3070 } | 3070 } |
| 3071 return pInstance; | 3071 return pInstance; |
| 3072 } | 3072 } |
| 3073 void CXFA_Node::Script_InstanceManager_Count(FXJSE_HVALUE hValue, | 3073 void CXFA_Node::Script_InstanceManager_Count(CFXJSE_Value* pValue, |
| 3074 FX_BOOL bSetting, | 3074 FX_BOOL bSetting, |
| 3075 XFA_ATTRIBUTE eAttribute) { | 3075 XFA_ATTRIBUTE eAttribute) { |
| 3076 if (bSetting) { | 3076 if (bSetting) { |
| 3077 int32_t iDesired = FXJSE_Value_ToInteger(hValue); | 3077 int32_t iDesired = FXJSE_Value_ToInteger(pValue); |
| 3078 InstanceManager_SetInstances(iDesired); | 3078 InstanceManager_SetInstances(iDesired); |
| 3079 } else { | 3079 } else { |
| 3080 FXJSE_Value_SetInteger(hValue, XFA_ScriptInstanceManager_GetCount(this)); | 3080 FXJSE_Value_SetInteger(pValue, XFA_ScriptInstanceManager_GetCount(this)); |
| 3081 } | 3081 } |
| 3082 } | 3082 } |
| 3083 void CXFA_Node::Script_InstanceManager_MoveInstance( | 3083 void CXFA_Node::Script_InstanceManager_MoveInstance( |
| 3084 CFXJSE_Arguments* pArguments) { | 3084 CFXJSE_Arguments* pArguments) { |
| 3085 int32_t argc = pArguments->GetLength(); | 3085 int32_t argc = pArguments->GetLength(); |
| 3086 if (argc != 2) { | 3086 if (argc != 2) { |
| 3087 FXJSE_Value_SetUndefined(pArguments->GetReturnValue()); | 3087 FXJSE_Value_SetUndefined(pArguments->GetReturnValue()); |
| 3088 return; | 3088 return; |
| 3089 } | 3089 } |
| 3090 int32_t iFrom = pArguments->GetInt32(0); | 3090 int32_t iFrom = pArguments->GetInt32(0); |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3307 XFA_ScriptInstanceManager_RemoveItem(this, pMoveInstance, FALSE); | 3307 XFA_ScriptInstanceManager_RemoveItem(this, pMoveInstance, FALSE); |
| 3308 XFA_ScriptInstanceManager_InsertItem(this, pMoveInstance, iTo, iCount - 1, | 3308 XFA_ScriptInstanceManager_InsertItem(this, pMoveInstance, iTo, iCount - 1, |
| 3309 TRUE); | 3309 TRUE); |
| 3310 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 3310 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| 3311 if (pLayoutPro) { | 3311 if (pLayoutPro) { |
| 3312 pLayoutPro->AddChangedContainer( | 3312 pLayoutPro->AddChangedContainer( |
| 3313 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); | 3313 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); |
| 3314 } | 3314 } |
| 3315 return 0; | 3315 return 0; |
| 3316 } | 3316 } |
| 3317 void CXFA_Node::Script_Occur_Max(FXJSE_HVALUE hValue, | 3317 void CXFA_Node::Script_Occur_Max(CFXJSE_Value* pValue, |
| 3318 FX_BOOL bSetting, | 3318 FX_BOOL bSetting, |
| 3319 XFA_ATTRIBUTE eAttribute) { | 3319 XFA_ATTRIBUTE eAttribute) { |
| 3320 CXFA_Occur occur(this); | 3320 CXFA_Occur occur(this); |
| 3321 if (bSetting) { | 3321 if (bSetting) { |
| 3322 int32_t iMax = FXJSE_Value_ToInteger(hValue); | 3322 int32_t iMax = FXJSE_Value_ToInteger(pValue); |
| 3323 occur.SetMax(iMax); | 3323 occur.SetMax(iMax); |
| 3324 } else { | 3324 } else { |
| 3325 FXJSE_Value_SetInteger(hValue, occur.GetMax()); | 3325 FXJSE_Value_SetInteger(pValue, occur.GetMax()); |
| 3326 } | 3326 } |
| 3327 } | 3327 } |
| 3328 void CXFA_Node::Script_Occur_Min(FXJSE_HVALUE hValue, | 3328 void CXFA_Node::Script_Occur_Min(CFXJSE_Value* pValue, |
| 3329 FX_BOOL bSetting, | 3329 FX_BOOL bSetting, |
| 3330 XFA_ATTRIBUTE eAttribute) { | 3330 XFA_ATTRIBUTE eAttribute) { |
| 3331 CXFA_Occur occur(this); | 3331 CXFA_Occur occur(this); |
| 3332 if (bSetting) { | 3332 if (bSetting) { |
| 3333 int32_t iMin = FXJSE_Value_ToInteger(hValue); | 3333 int32_t iMin = FXJSE_Value_ToInteger(pValue); |
| 3334 occur.SetMin(iMin); | 3334 occur.SetMin(iMin); |
| 3335 } else { | 3335 } else { |
| 3336 FXJSE_Value_SetInteger(hValue, occur.GetMin()); | 3336 FXJSE_Value_SetInteger(pValue, occur.GetMin()); |
| 3337 } | 3337 } |
| 3338 } | 3338 } |
| 3339 void CXFA_Node::Script_Desc_Metadata(CFXJSE_Arguments* pArguments) { | 3339 void CXFA_Node::Script_Desc_Metadata(CFXJSE_Arguments* pArguments) { |
| 3340 int32_t argc = pArguments->GetLength(); | 3340 int32_t argc = pArguments->GetLength(); |
| 3341 if ((argc == 0) || (argc == 1)) { | 3341 if ((argc == 0) || (argc == 1)) { |
| 3342 FXJSE_Value_SetUTF8String(pArguments->GetReturnValue(), ""); | 3342 FXJSE_Value_SetUTF8String(pArguments->GetReturnValue(), ""); |
| 3343 } else { | 3343 } else { |
| 3344 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"metadata"); | 3344 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"metadata"); |
| 3345 } | 3345 } |
| 3346 } | 3346 } |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3429 } else { | 3429 } else { |
| 3430 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); | 3430 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); |
| 3431 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 3431 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 3432 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 3432 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 3433 } | 3433 } |
| 3434 } else { | 3434 } else { |
| 3435 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3435 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 3436 L"execValidate"); | 3436 L"execValidate"); |
| 3437 } | 3437 } |
| 3438 } | 3438 } |
| 3439 void CXFA_Node::Script_Form_Checksum(FXJSE_HVALUE hValue, | 3439 void CXFA_Node::Script_Form_Checksum(CFXJSE_Value* pValue, |
| 3440 FX_BOOL bSetting, | 3440 FX_BOOL bSetting, |
| 3441 XFA_ATTRIBUTE eAttribute) { | 3441 XFA_ATTRIBUTE eAttribute) { |
| 3442 if (bSetting) { | 3442 if (bSetting) { |
| 3443 CFX_ByteString bsChecksum; | 3443 CFX_ByteString bsChecksum; |
| 3444 FXJSE_Value_ToUTF8String(hValue, bsChecksum); | 3444 FXJSE_Value_ToUTF8String(pValue, bsChecksum); |
| 3445 SetAttribute(XFA_ATTRIBUTE_Checksum, | 3445 SetAttribute(XFA_ATTRIBUTE_Checksum, |
| 3446 CFX_WideString::FromUTF8(bsChecksum.AsStringC()).AsStringC()); | 3446 CFX_WideString::FromUTF8(bsChecksum.AsStringC()).AsStringC()); |
| 3447 } else { | 3447 } else { |
| 3448 CFX_WideString wsChecksum; | 3448 CFX_WideString wsChecksum; |
| 3449 GetAttribute(XFA_ATTRIBUTE_Checksum, wsChecksum, FALSE); | 3449 GetAttribute(XFA_ATTRIBUTE_Checksum, wsChecksum, FALSE); |
| 3450 FXJSE_Value_SetUTF8String( | 3450 FXJSE_Value_SetUTF8String( |
| 3451 hValue, | 3451 pValue, |
| 3452 FX_UTF8Encode(wsChecksum.c_str(), wsChecksum.GetLength()).AsStringC()); | 3452 FX_UTF8Encode(wsChecksum.c_str(), wsChecksum.GetLength()).AsStringC()); |
| 3453 } | 3453 } |
| 3454 } | 3454 } |
| 3455 void CXFA_Node::Script_Packet_GetAttribute(CFXJSE_Arguments* pArguments) { | 3455 void CXFA_Node::Script_Packet_GetAttribute(CFXJSE_Arguments* pArguments) { |
| 3456 int32_t argc = pArguments->GetLength(); | 3456 int32_t argc = pArguments->GetLength(); |
| 3457 if (argc == 1) { | 3457 if (argc == 1) { |
| 3458 CFX_ByteString bsAttributeName = pArguments->GetUTF8String(0); | 3458 CFX_ByteString bsAttributeName = pArguments->GetUTF8String(0); |
| 3459 CFX_WideString wsAttributeValue; | 3459 CFX_WideString wsAttributeValue; |
| 3460 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); | 3460 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); |
| 3461 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { | 3461 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3500 if (pXMLElement->HasAttribute(wsName.c_str())) { | 3500 if (pXMLElement->HasAttribute(wsName.c_str())) { |
| 3501 pXMLElement->RemoveAttribute(wsName.c_str()); | 3501 pXMLElement->RemoveAttribute(wsName.c_str()); |
| 3502 } | 3502 } |
| 3503 } | 3503 } |
| 3504 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 3504 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 3505 } else { | 3505 } else { |
| 3506 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3506 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 3507 L"removeAttribute"); | 3507 L"removeAttribute"); |
| 3508 } | 3508 } |
| 3509 } | 3509 } |
| 3510 void CXFA_Node::Script_Packet_Content(FXJSE_HVALUE hValue, | 3510 void CXFA_Node::Script_Packet_Content(CFXJSE_Value* pValue, |
| 3511 FX_BOOL bSetting, | 3511 FX_BOOL bSetting, |
| 3512 XFA_ATTRIBUTE eAttribute) { | 3512 XFA_ATTRIBUTE eAttribute) { |
| 3513 if (bSetting) { | 3513 if (bSetting) { |
| 3514 CFX_ByteString bsNewContent; | 3514 CFX_ByteString bsNewContent; |
| 3515 FXJSE_Value_ToUTF8String(hValue, bsNewContent); | 3515 FXJSE_Value_ToUTF8String(pValue, bsNewContent); |
| 3516 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); | 3516 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); |
| 3517 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { | 3517 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { |
| 3518 CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode); | 3518 CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode); |
| 3519 pXMLElement->SetTextData( | 3519 pXMLElement->SetTextData( |
| 3520 CFX_WideString::FromUTF8(bsNewContent.AsStringC())); | 3520 CFX_WideString::FromUTF8(bsNewContent.AsStringC())); |
| 3521 } | 3521 } |
| 3522 } else { | 3522 } else { |
| 3523 CFX_WideString wsTextData; | 3523 CFX_WideString wsTextData; |
| 3524 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); | 3524 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); |
| 3525 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { | 3525 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { |
| 3526 CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode); | 3526 CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode); |
| 3527 pXMLElement->GetTextData(wsTextData); | 3527 pXMLElement->GetTextData(wsTextData); |
| 3528 } | 3528 } |
| 3529 FXJSE_Value_SetUTF8String( | 3529 FXJSE_Value_SetUTF8String( |
| 3530 hValue, | 3530 pValue, |
| 3531 FX_UTF8Encode(wsTextData.c_str(), wsTextData.GetLength()).AsStringC()); | 3531 FX_UTF8Encode(wsTextData.c_str(), wsTextData.GetLength()).AsStringC()); |
| 3532 } | 3532 } |
| 3533 } | 3533 } |
| 3534 void CXFA_Node::Script_Source_Next(CFXJSE_Arguments* pArguments) { | 3534 void CXFA_Node::Script_Source_Next(CFXJSE_Arguments* pArguments) { |
| 3535 int32_t argc = pArguments->GetLength(); | 3535 int32_t argc = pArguments->GetLength(); |
| 3536 if (argc == 0) { | 3536 if (argc == 0) { |
| 3537 } else { | 3537 } else { |
| 3538 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"next"); | 3538 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"next"); |
| 3539 } | 3539 } |
| 3540 } | 3540 } |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3644 } | 3644 } |
| 3645 } | 3645 } |
| 3646 void CXFA_Node::Script_Source_HasDataChanged(CFXJSE_Arguments* pArguments) { | 3646 void CXFA_Node::Script_Source_HasDataChanged(CFXJSE_Arguments* pArguments) { |
| 3647 int32_t argc = pArguments->GetLength(); | 3647 int32_t argc = pArguments->GetLength(); |
| 3648 if (argc == 0) { | 3648 if (argc == 0) { |
| 3649 } else { | 3649 } else { |
| 3650 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3650 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 3651 L"hasDataChanged"); | 3651 L"hasDataChanged"); |
| 3652 } | 3652 } |
| 3653 } | 3653 } |
| 3654 void CXFA_Node::Script_Source_Db(FXJSE_HVALUE hValue, | 3654 void CXFA_Node::Script_Source_Db(CFXJSE_Value* pValue, |
| 3655 FX_BOOL bSetting, | 3655 FX_BOOL bSetting, |
| 3656 XFA_ATTRIBUTE eAttribute) {} | 3656 XFA_ATTRIBUTE eAttribute) {} |
| 3657 void CXFA_Node::Script_Xfa_This(FXJSE_HVALUE hValue, | 3657 void CXFA_Node::Script_Xfa_This(CFXJSE_Value* pValue, |
| 3658 FX_BOOL bSetting, | 3658 FX_BOOL bSetting, |
| 3659 XFA_ATTRIBUTE eAttribute) { | 3659 XFA_ATTRIBUTE eAttribute) { |
| 3660 if (!bSetting) { | 3660 if (!bSetting) { |
| 3661 CXFA_Object* pThis = m_pDocument->GetScriptContext()->GetThisObject(); | 3661 CXFA_Object* pThis = m_pDocument->GetScriptContext()->GetThisObject(); |
| 3662 ASSERT(pThis); | 3662 ASSERT(pThis); |
| 3663 FXJSE_Value_Set(hValue, | 3663 FXJSE_Value_Set(pValue, |
| 3664 m_pDocument->GetScriptContext()->GetJSValueFromMap(pThis)); | 3664 m_pDocument->GetScriptContext()->GetJSValueFromMap(pThis)); |
| 3665 } | 3665 } |
| 3666 } | 3666 } |
| 3667 void CXFA_Node::Script_Handler_Version(FXJSE_HVALUE hValue, | 3667 void CXFA_Node::Script_Handler_Version(CFXJSE_Value* pValue, |
| 3668 FX_BOOL bSetting, | 3668 FX_BOOL bSetting, |
| 3669 XFA_ATTRIBUTE eAttribute) {} | 3669 XFA_ATTRIBUTE eAttribute) {} |
| 3670 void CXFA_Node::Script_SubmitFormat_Mode(FXJSE_HVALUE hValue, | 3670 void CXFA_Node::Script_SubmitFormat_Mode(CFXJSE_Value* pValue, |
| 3671 FX_BOOL bSetting, | 3671 FX_BOOL bSetting, |
| 3672 XFA_ATTRIBUTE eAttribute) {} | 3672 XFA_ATTRIBUTE eAttribute) {} |
| 3673 void CXFA_Node::Script_Extras_Type(FXJSE_HVALUE hValue, | 3673 void CXFA_Node::Script_Extras_Type(CFXJSE_Value* pValue, |
| 3674 FX_BOOL bSetting, | 3674 FX_BOOL bSetting, |
| 3675 XFA_ATTRIBUTE eAttribute) {} | 3675 XFA_ATTRIBUTE eAttribute) {} |
| 3676 void CXFA_Node::Script_Script_Stateless(FXJSE_HVALUE hValue, | 3676 void CXFA_Node::Script_Script_Stateless(CFXJSE_Value* pValue, |
| 3677 FX_BOOL bSetting, | 3677 FX_BOOL bSetting, |
| 3678 XFA_ATTRIBUTE eAttribute) { | 3678 XFA_ATTRIBUTE eAttribute) { |
| 3679 if (bSetting) { | 3679 if (bSetting) { |
| 3680 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 3680 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 3681 return; | 3681 return; |
| 3682 } | 3682 } |
| 3683 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(FX_WSTRC(L"0")).AsStringC()); | 3683 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(FX_WSTRC(L"0")).AsStringC()); |
| 3684 } | 3684 } |
| 3685 void CXFA_Node::Script_Encrypt_Format(FXJSE_HVALUE hValue, | 3685 void CXFA_Node::Script_Encrypt_Format(CFXJSE_Value* pValue, |
| 3686 FX_BOOL bSetting, | 3686 FX_BOOL bSetting, |
| 3687 XFA_ATTRIBUTE eAttribute) {} | 3687 XFA_ATTRIBUTE eAttribute) {} |
| 3688 enum XFA_KEYTYPE { | 3688 enum XFA_KEYTYPE { |
| 3689 XFA_KEYTYPE_Custom, | 3689 XFA_KEYTYPE_Custom, |
| 3690 XFA_KEYTYPE_Element, | 3690 XFA_KEYTYPE_Element, |
| 3691 }; | 3691 }; |
| 3692 void* XFA_GetMapKey_Custom(const CFX_WideStringC& wsKey) { | 3692 void* XFA_GetMapKey_Custom(const CFX_WideStringC& wsKey) { |
| 3693 uint32_t dwKey = FX_HashCode_GetW(wsKey, false); | 3693 uint32_t dwKey = FX_HashCode_GetW(wsKey, false); |
| 3694 return (void*)(uintptr_t)((dwKey << 1) | XFA_KEYTYPE_Custom); | 3694 return (void*)(uintptr_t)((dwKey << 1) | XFA_KEYTYPE_Custom); |
| 3695 } | 3695 } |
| (...skipping 1567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5263 NamedItem(CFX_WideString::FromUTF8(szName.AsStringC()).AsStringC()); | 5263 NamedItem(CFX_WideString::FromUTF8(szName.AsStringC()).AsStringC()); |
| 5264 if (!pNode) { | 5264 if (!pNode) { |
| 5265 return; | 5265 return; |
| 5266 } | 5266 } |
| 5267 FXJSE_Value_Set(pArguments->GetReturnValue(), | 5267 FXJSE_Value_Set(pArguments->GetReturnValue(), |
| 5268 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNode)); | 5268 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNode)); |
| 5269 } else { | 5269 } else { |
| 5270 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"namedItem"); | 5270 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"namedItem"); |
| 5271 } | 5271 } |
| 5272 } | 5272 } |
| 5273 void CXFA_NodeList::Script_ListClass_Length(FXJSE_HVALUE hValue, | 5273 void CXFA_NodeList::Script_ListClass_Length(CFXJSE_Value* pValue, |
| 5274 FX_BOOL bSetting, | 5274 FX_BOOL bSetting, |
| 5275 XFA_ATTRIBUTE eAttribute) { | 5275 XFA_ATTRIBUTE eAttribute) { |
| 5276 if (!bSetting) { | 5276 if (!bSetting) { |
| 5277 FXJSE_Value_SetInteger(hValue, GetLength()); | 5277 FXJSE_Value_SetInteger(pValue, GetLength()); |
| 5278 } else { | 5278 } else { |
| 5279 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 5279 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); |
| 5280 } | 5280 } |
| 5281 } | 5281 } |
| 5282 CXFA_ArrayNodeList::CXFA_ArrayNodeList(CXFA_Document* pDocument) | 5282 CXFA_ArrayNodeList::CXFA_ArrayNodeList(CXFA_Document* pDocument) |
| 5283 : CXFA_NodeList(pDocument) {} | 5283 : CXFA_NodeList(pDocument) {} |
| 5284 void CXFA_ArrayNodeList::SetArrayNodeList(const CXFA_NodeArray& srcArray) { | 5284 void CXFA_ArrayNodeList::SetArrayNodeList(const CXFA_NodeArray& srcArray) { |
| 5285 if (srcArray.GetSize() > 0) { | 5285 if (srcArray.GetSize() > 0) { |
| 5286 m_array.Copy(srcArray); | 5286 m_array.Copy(srcArray); |
| 5287 } | 5287 } |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5350 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode); | 5350 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode); |
| 5351 } | 5351 } |
| 5352 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { | 5352 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { |
| 5353 return m_pAttachNode->RemoveChild(pNode); | 5353 return m_pAttachNode->RemoveChild(pNode); |
| 5354 } | 5354 } |
| 5355 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) { | 5355 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) { |
| 5356 return m_pAttachNode->GetChild( | 5356 return m_pAttachNode->GetChild( |
| 5357 iIndex, XFA_ELEMENT_UNKNOWN, | 5357 iIndex, XFA_ELEMENT_UNKNOWN, |
| 5358 m_pAttachNode->GetClassID() == XFA_ELEMENT_Subform); | 5358 m_pAttachNode->GetClassID() == XFA_ELEMENT_Subform); |
| 5359 } | 5359 } |
| OLD | NEW |