| 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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 void CXFA_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue, | 54 void CXFA_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue, |
| 55 FX_BOOL bSetting, | 55 FX_BOOL bSetting, |
| 56 XFA_ATTRIBUTE eAttribute) { | 56 XFA_ATTRIBUTE eAttribute) { |
| 57 if (!bSetting) { | 57 if (!bSetting) { |
| 58 CFX_WideStringC className; | 58 CFX_WideStringC className; |
| 59 GetClassName(className); | 59 GetClassName(className); |
| 60 FXJSE_Value_SetUTF8String( | 60 FXJSE_Value_SetUTF8String( |
| 61 pValue, | 61 pValue, |
| 62 FX_UTF8Encode(className.c_str(), className.GetLength()).AsStringC()); | 62 FX_UTF8Encode(className.c_str(), className.GetLength()).AsStringC()); |
| 63 } else { | 63 } else { |
| 64 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 64 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 65 } | 65 } |
| 66 } | 66 } |
| 67 void CXFA_Object::ThrowScriptErrorMessage(int32_t iStringID, ...) { | 67 void CXFA_Object::Throw(int32_t iStringID, ...) { |
| 68 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider(); | 68 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider(); |
| 69 ASSERT(pAppProvider); | 69 ASSERT(pAppProvider); |
| 70 CFX_WideString wsFormat; | 70 CFX_WideString wsFormat; |
| 71 pAppProvider->LoadString(iStringID, wsFormat); | 71 pAppProvider->LoadString(iStringID, wsFormat); |
| 72 CFX_WideString wsMessage; | 72 CFX_WideString wsMessage; |
| 73 va_list arg_ptr; | 73 va_list arg_ptr; |
| 74 va_start(arg_ptr, iStringID); | 74 va_start(arg_ptr, iStringID); |
| 75 wsMessage.FormatV(wsFormat.c_str(), arg_ptr); | 75 wsMessage.FormatV(wsFormat.c_str(), arg_ptr); |
| 76 va_end(arg_ptr); | 76 va_end(arg_ptr); |
| 77 FXJSE_ThrowMessage( | 77 FXJSE_ThrowMessage( |
| (...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 624 } | 624 } |
| 625 return NULL; | 625 return NULL; |
| 626 } | 626 } |
| 627 void CXFA_Node::SetDataDescriptionNode(CXFA_Node* pDataDescriptionNode) { | 627 void CXFA_Node::SetDataDescriptionNode(CXFA_Node* pDataDescriptionNode) { |
| 628 ASSERT(m_ePacket == XFA_XDPPACKET_Datasets); | 628 ASSERT(m_ePacket == XFA_XDPPACKET_Datasets); |
| 629 m_pAuxNode = pDataDescriptionNode; | 629 m_pAuxNode = pDataDescriptionNode; |
| 630 } | 630 } |
| 631 void CXFA_Node::Script_TreeClass_ResolveNode(CFXJSE_Arguments* pArguments) { | 631 void CXFA_Node::Script_TreeClass_ResolveNode(CFXJSE_Arguments* pArguments) { |
| 632 int32_t iLength = pArguments->GetLength(); | 632 int32_t iLength = pArguments->GetLength(); |
| 633 if (iLength != 1) { | 633 if (iLength != 1) { |
| 634 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resolveNode"); | 634 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resolveNode"); |
| 635 return; | 635 return; |
| 636 } | 636 } |
| 637 CFX_WideString wsExpression = | 637 CFX_WideString wsExpression = |
| 638 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 638 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 639 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); | 639 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); |
| 640 if (!pScriptContext) { | 640 if (!pScriptContext) { |
| 641 return; | 641 return; |
| 642 } | 642 } |
| 643 CXFA_Node* refNode = this; | 643 CXFA_Node* refNode = this; |
| 644 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) { | 644 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) { |
| (...skipping 22 matching lines...) Expand all Loading... |
| 667 pValue.get(), FALSE, (XFA_ATTRIBUTE)lpAttributeInfo->eAttribute); | 667 pValue.get(), FALSE, (XFA_ATTRIBUTE)lpAttributeInfo->eAttribute); |
| 668 FXJSE_Value_Set(pArguments->GetReturnValue(), pValue.get()); | 668 FXJSE_Value_Set(pArguments->GetReturnValue(), pValue.get()); |
| 669 } else { | 669 } else { |
| 670 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 670 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 671 } | 671 } |
| 672 } | 672 } |
| 673 } | 673 } |
| 674 void CXFA_Node::Script_TreeClass_ResolveNodes(CFXJSE_Arguments* pArguments) { | 674 void CXFA_Node::Script_TreeClass_ResolveNodes(CFXJSE_Arguments* pArguments) { |
| 675 int32_t iLength = pArguments->GetLength(); | 675 int32_t iLength = pArguments->GetLength(); |
| 676 if (iLength != 1) { | 676 if (iLength != 1) { |
| 677 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 677 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resolveNodes"); |
| 678 L"resolveNodes"); | |
| 679 return; | 678 return; |
| 680 } | 679 } |
| 681 CFX_WideString wsExpression = | 680 CFX_WideString wsExpression = |
| 682 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 681 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 683 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 682 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 684 if (!pValue) { | 683 if (!pValue) { |
| 685 return; | 684 return; |
| 686 } | 685 } |
| 687 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | | 686 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | |
| 688 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | | 687 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 724 } | 723 } |
| 725 } | 724 } |
| 726 } | 725 } |
| 727 FXJSE_Value_SetObject(pValue, (CXFA_Object*)pNodeList, | 726 FXJSE_Value_SetObject(pValue, (CXFA_Object*)pNodeList, |
| 728 pScriptContext->GetJseNormalClass()); | 727 pScriptContext->GetJseNormalClass()); |
| 729 } | 728 } |
| 730 void CXFA_Node::Script_TreeClass_All(CFXJSE_Value* pValue, | 729 void CXFA_Node::Script_TreeClass_All(CFXJSE_Value* pValue, |
| 731 FX_BOOL bSetting, | 730 FX_BOOL bSetting, |
| 732 XFA_ATTRIBUTE eAttribute) { | 731 XFA_ATTRIBUTE eAttribute) { |
| 733 if (bSetting) { | 732 if (bSetting) { |
| 734 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 733 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 735 } else { | 734 } else { |
| 736 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; | 735 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; |
| 737 CFX_WideString wsName; | 736 CFX_WideString wsName; |
| 738 GetAttribute(XFA_ATTRIBUTE_Name, wsName); | 737 GetAttribute(XFA_ATTRIBUTE_Name, wsName); |
| 739 CFX_WideString wsExpression = wsName + FX_WSTRC(L"[*]"); | 738 CFX_WideString wsExpression = wsName + FX_WSTRC(L"[*]"); |
| 740 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag); | 739 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag); |
| 741 } | 740 } |
| 742 } | 741 } |
| 743 void CXFA_Node::Script_TreeClass_Nodes(CFXJSE_Value* pValue, | 742 void CXFA_Node::Script_TreeClass_Nodes(CFXJSE_Value* pValue, |
| 744 FX_BOOL bSetting, | 743 FX_BOOL bSetting, |
| (...skipping 13 matching lines...) Expand all Loading... |
| 758 } else { | 757 } else { |
| 759 CXFA_AttachNodeList* pNodeList = new CXFA_AttachNodeList(m_pDocument, this); | 758 CXFA_AttachNodeList* pNodeList = new CXFA_AttachNodeList(m_pDocument, this); |
| 760 FXJSE_Value_SetObject(pValue, (CXFA_Object*)pNodeList, | 759 FXJSE_Value_SetObject(pValue, (CXFA_Object*)pNodeList, |
| 761 pScriptContext->GetJseNormalClass()); | 760 pScriptContext->GetJseNormalClass()); |
| 762 } | 761 } |
| 763 } | 762 } |
| 764 void CXFA_Node::Script_TreeClass_ClassAll(CFXJSE_Value* pValue, | 763 void CXFA_Node::Script_TreeClass_ClassAll(CFXJSE_Value* pValue, |
| 765 FX_BOOL bSetting, | 764 FX_BOOL bSetting, |
| 766 XFA_ATTRIBUTE eAttribute) { | 765 XFA_ATTRIBUTE eAttribute) { |
| 767 if (bSetting) { | 766 if (bSetting) { |
| 768 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 767 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 769 } else { | 768 } else { |
| 770 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; | 769 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; |
| 771 CFX_WideStringC wsName; | 770 CFX_WideStringC wsName; |
| 772 GetClassName(wsName); | 771 GetClassName(wsName); |
| 773 CFX_WideString wsExpression = FX_WSTRC(L"#") + wsName + FX_WSTRC(L"[*]"); | 772 CFX_WideString wsExpression = FX_WSTRC(L"#") + wsName + FX_WSTRC(L"[*]"); |
| 774 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag); | 773 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag); |
| 775 } | 774 } |
| 776 } | 775 } |
| 777 void CXFA_Node::Script_TreeClass_Parent(CFXJSE_Value* pValue, | 776 void CXFA_Node::Script_TreeClass_Parent(CFXJSE_Value* pValue, |
| 778 FX_BOOL bSetting, | 777 FX_BOOL bSetting, |
| 779 XFA_ATTRIBUTE eAttribute) { | 778 XFA_ATTRIBUTE eAttribute) { |
| 780 if (bSetting) { | 779 if (bSetting) { |
| 781 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 780 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 782 } else { | 781 } else { |
| 783 CXFA_Node* pParent = GetNodeItem(XFA_NODEITEM_Parent); | 782 CXFA_Node* pParent = GetNodeItem(XFA_NODEITEM_Parent); |
| 784 if (pParent) { | 783 if (pParent) { |
| 785 FXJSE_Value_Set( | 784 FXJSE_Value_Set( |
| 786 pValue, m_pDocument->GetScriptContext()->GetJSValueFromMap(pParent)); | 785 pValue, m_pDocument->GetScriptContext()->GetJSValueFromMap(pParent)); |
| 787 } else { | 786 } else { |
| 788 FXJSE_Value_SetNull(pValue); | 787 FXJSE_Value_SetNull(pValue); |
| 789 } | 788 } |
| 790 } | 789 } |
| 791 } | 790 } |
| 792 void CXFA_Node::Script_TreeClass_Index(CFXJSE_Value* pValue, | 791 void CXFA_Node::Script_TreeClass_Index(CFXJSE_Value* pValue, |
| 793 FX_BOOL bSetting, | 792 FX_BOOL bSetting, |
| 794 XFA_ATTRIBUTE eAttribute) { | 793 XFA_ATTRIBUTE eAttribute) { |
| 795 if (bSetting) { | 794 if (bSetting) { |
| 796 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 795 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 797 } else { | 796 } else { |
| 798 FXJSE_Value_SetInteger(pValue, GetNodeSameNameIndex()); | 797 FXJSE_Value_SetInteger(pValue, GetNodeSameNameIndex()); |
| 799 } | 798 } |
| 800 } | 799 } |
| 801 void CXFA_Node::Script_TreeClass_ClassIndex(CFXJSE_Value* pValue, | 800 void CXFA_Node::Script_TreeClass_ClassIndex(CFXJSE_Value* pValue, |
| 802 FX_BOOL bSetting, | 801 FX_BOOL bSetting, |
| 803 XFA_ATTRIBUTE eAttribute) { | 802 XFA_ATTRIBUTE eAttribute) { |
| 804 if (bSetting) { | 803 if (bSetting) { |
| 805 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 804 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 806 } else { | 805 } else { |
| 807 FXJSE_Value_SetInteger(pValue, GetNodeSameClassIndex()); | 806 FXJSE_Value_SetInteger(pValue, GetNodeSameClassIndex()); |
| 808 } | 807 } |
| 809 } | 808 } |
| 810 void CXFA_Node::Script_TreeClass_SomExpression(CFXJSE_Value* pValue, | 809 void CXFA_Node::Script_TreeClass_SomExpression(CFXJSE_Value* pValue, |
| 811 FX_BOOL bSetting, | 810 FX_BOOL bSetting, |
| 812 XFA_ATTRIBUTE eAttribute) { | 811 XFA_ATTRIBUTE eAttribute) { |
| 813 if (bSetting) { | 812 if (bSetting) { |
| 814 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 813 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 815 } else { | 814 } else { |
| 816 CFX_WideString wsSOMExpression; | 815 CFX_WideString wsSOMExpression; |
| 817 GetSOMExpression(wsSOMExpression); | 816 GetSOMExpression(wsSOMExpression); |
| 818 FXJSE_Value_SetUTF8String(pValue, | 817 FXJSE_Value_SetUTF8String(pValue, |
| 819 FX_UTF8Encode(wsSOMExpression).AsStringC()); | 818 FX_UTF8Encode(wsSOMExpression).AsStringC()); |
| 820 } | 819 } |
| 821 } | 820 } |
| 822 void CXFA_Node::Script_NodeClass_ApplyXSL(CFXJSE_Arguments* pArguments) { | 821 void CXFA_Node::Script_NodeClass_ApplyXSL(CFXJSE_Arguments* pArguments) { |
| 823 int32_t iLength = pArguments->GetLength(); | 822 int32_t iLength = pArguments->GetLength(); |
| 824 if (iLength != 1) { | 823 if (iLength != 1) { |
| 825 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"applyXSL"); | 824 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"applyXSL"); |
| 826 return; | 825 return; |
| 827 } | 826 } |
| 828 CFX_WideString wsExpression = | 827 CFX_WideString wsExpression = |
| 829 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 828 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 830 // TODO(weili): check whether we need to implement this, pdfium:501. | 829 // TODO(weili): check whether we need to implement this, pdfium:501. |
| 831 // For now, just put the variables here to avoid unused variable warning. | 830 // For now, just put the variables here to avoid unused variable warning. |
| 832 (void)wsExpression; | 831 (void)wsExpression; |
| 833 } | 832 } |
| 834 | 833 |
| 835 void CXFA_Node::Script_NodeClass_AssignNode(CFXJSE_Arguments* pArguments) { | 834 void CXFA_Node::Script_NodeClass_AssignNode(CFXJSE_Arguments* pArguments) { |
| 836 int32_t iLength = pArguments->GetLength(); | 835 int32_t iLength = pArguments->GetLength(); |
| 837 if (iLength < 1 || iLength > 3) { | 836 if (iLength < 1 || iLength > 3) { |
| 838 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"assignNode"); | 837 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"assignNode"); |
| 839 return; | 838 return; |
| 840 } | 839 } |
| 841 CFX_WideString wsExpression; | 840 CFX_WideString wsExpression; |
| 842 CFX_WideString wsValue; | 841 CFX_WideString wsValue; |
| 843 int32_t iAction = 0; | 842 int32_t iAction = 0; |
| 844 if (iLength >= 1) { | 843 if (iLength >= 1) { |
| 845 wsExpression = | 844 wsExpression = |
| 846 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 845 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 847 } | 846 } |
| 848 if (iLength >= 2) { | 847 if (iLength >= 2) { |
| 849 wsValue = | 848 wsValue = |
| 850 CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); | 849 CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); |
| 851 } | 850 } |
| 852 if (iLength >= 3) | 851 if (iLength >= 3) |
| 853 iAction = pArguments->GetInt32(2); | 852 iAction = pArguments->GetInt32(2); |
| 854 // TODO(weili): check whether we need to implement this, pdfium:501. | 853 // TODO(weili): check whether we need to implement this, pdfium:501. |
| 855 // For now, just put the variables here to avoid unused variable warning. | 854 // For now, just put the variables here to avoid unused variable warning. |
| 856 (void)wsExpression; | 855 (void)wsExpression; |
| 857 (void)wsValue; | 856 (void)wsValue; |
| 858 (void)iAction; | 857 (void)iAction; |
| 859 } | 858 } |
| 860 | 859 |
| 861 void CXFA_Node::Script_NodeClass_Clone(CFXJSE_Arguments* pArguments) { | 860 void CXFA_Node::Script_NodeClass_Clone(CFXJSE_Arguments* pArguments) { |
| 862 int32_t iLength = pArguments->GetLength(); | 861 int32_t iLength = pArguments->GetLength(); |
| 863 if (iLength != 1) { | 862 if (iLength != 1) { |
| 864 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"clone"); | 863 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"clone"); |
| 865 return; | 864 return; |
| 866 } | 865 } |
| 867 FX_BOOL bClone = TRUE; | 866 FX_BOOL bClone = TRUE; |
| 868 bClone = pArguments->GetInt32(0) == 0 ? FALSE : TRUE; | 867 bClone = pArguments->GetInt32(0) == 0 ? FALSE : TRUE; |
| 869 CXFA_Node* pCloneNode = Clone(bClone); | 868 CXFA_Node* pCloneNode = Clone(bClone); |
| 870 FXJSE_Value_Set( | 869 FXJSE_Value_Set( |
| 871 pArguments->GetReturnValue(), | 870 pArguments->GetReturnValue(), |
| 872 m_pDocument->GetScriptContext()->GetJSValueFromMap(pCloneNode)); | 871 m_pDocument->GetScriptContext()->GetJSValueFromMap(pCloneNode)); |
| 873 } | 872 } |
| 874 void CXFA_Node::Script_NodeClass_GetAttribute(CFXJSE_Arguments* pArguments) { | 873 void CXFA_Node::Script_NodeClass_GetAttribute(CFXJSE_Arguments* pArguments) { |
| 875 int32_t iLength = pArguments->GetLength(); | 874 int32_t iLength = pArguments->GetLength(); |
| 876 if (iLength != 1) { | 875 if (iLength != 1) { |
| 877 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 876 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getAttribute"); |
| 878 L"getAttribute"); | |
| 879 return; | 877 return; |
| 880 } | 878 } |
| 881 CFX_WideString wsExpression = | 879 CFX_WideString wsExpression = |
| 882 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 880 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 883 CFX_WideString wsValue; | 881 CFX_WideString wsValue; |
| 884 GetAttribute(wsExpression.AsStringC(), wsValue); | 882 GetAttribute(wsExpression.AsStringC(), wsValue); |
| 885 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 883 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 886 if (pValue) { | 884 if (pValue) { |
| 887 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsValue).AsStringC()); | 885 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsValue).AsStringC()); |
| 888 } | 886 } |
| 889 } | 887 } |
| 890 void CXFA_Node::Script_NodeClass_GetElement(CFXJSE_Arguments* pArguments) { | 888 void CXFA_Node::Script_NodeClass_GetElement(CFXJSE_Arguments* pArguments) { |
| 891 int32_t iLength = pArguments->GetLength(); | 889 int32_t iLength = pArguments->GetLength(); |
| 892 if (iLength < 1 || iLength > 2) { | 890 if (iLength < 1 || iLength > 2) { |
| 893 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getElement"); | 891 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getElement"); |
| 894 return; | 892 return; |
| 895 } | 893 } |
| 896 CFX_WideString wsExpression; | 894 CFX_WideString wsExpression; |
| 897 int32_t iValue = 0; | 895 int32_t iValue = 0; |
| 898 if (iLength >= 1) { | 896 if (iLength >= 1) { |
| 899 CFX_ByteString bsExpression = pArguments->GetUTF8String(0); | 897 CFX_ByteString bsExpression = pArguments->GetUTF8String(0); |
| 900 wsExpression = CFX_WideString::FromUTF8(bsExpression.AsStringC()); | 898 wsExpression = CFX_WideString::FromUTF8(bsExpression.AsStringC()); |
| 901 } | 899 } |
| 902 if (iLength >= 2) { | 900 if (iLength >= 2) { |
| 903 iValue = pArguments->GetInt32(1); | 901 iValue = pArguments->GetInt32(1); |
| 904 } | 902 } |
| 905 const XFA_ELEMENTINFO* pElementInfo = | 903 const XFA_ELEMENTINFO* pElementInfo = |
| 906 XFA_GetElementByName(wsExpression.AsStringC()); | 904 XFA_GetElementByName(wsExpression.AsStringC()); |
| 907 CXFA_Node* pNode = GetProperty(iValue, pElementInfo->eName); | 905 CXFA_Node* pNode = GetProperty(iValue, pElementInfo->eName); |
| 908 FXJSE_Value_Set(pArguments->GetReturnValue(), | 906 FXJSE_Value_Set(pArguments->GetReturnValue(), |
| 909 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNode)); | 907 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNode)); |
| 910 } | 908 } |
| 911 | 909 |
| 912 void CXFA_Node::Script_NodeClass_IsPropertySpecified( | 910 void CXFA_Node::Script_NodeClass_IsPropertySpecified( |
| 913 CFXJSE_Arguments* pArguments) { | 911 CFXJSE_Arguments* pArguments) { |
| 914 int32_t iLength = pArguments->GetLength(); | 912 int32_t iLength = pArguments->GetLength(); |
| 915 if (iLength < 1 || iLength > 3) { | 913 if (iLength < 1 || iLength > 3) { |
| 916 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 914 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isPropertySpecified"); |
| 917 L"isPropertySpecified"); | |
| 918 return; | 915 return; |
| 919 } | 916 } |
| 920 CFX_WideString wsExpression; | 917 CFX_WideString wsExpression; |
| 921 FX_BOOL bParent = TRUE; | 918 FX_BOOL bParent = TRUE; |
| 922 int32_t iIndex = 0; | 919 int32_t iIndex = 0; |
| 923 if (iLength >= 1) { | 920 if (iLength >= 1) { |
| 924 wsExpression = | 921 wsExpression = |
| 925 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 922 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 926 } | 923 } |
| 927 if (iLength >= 2) | 924 if (iLength >= 2) |
| (...skipping 18 matching lines...) Expand all Loading... |
| 946 } | 943 } |
| 947 } | 944 } |
| 948 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 945 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 949 if (pValue) | 946 if (pValue) |
| 950 FXJSE_Value_SetBoolean(pValue, bHas); | 947 FXJSE_Value_SetBoolean(pValue, bHas); |
| 951 } | 948 } |
| 952 | 949 |
| 953 void CXFA_Node::Script_NodeClass_LoadXML(CFXJSE_Arguments* pArguments) { | 950 void CXFA_Node::Script_NodeClass_LoadXML(CFXJSE_Arguments* pArguments) { |
| 954 int32_t iLength = pArguments->GetLength(); | 951 int32_t iLength = pArguments->GetLength(); |
| 955 if (iLength < 1 || iLength > 3) { | 952 if (iLength < 1 || iLength > 3) { |
| 956 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"loadXML"); | 953 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"loadXML"); |
| 957 return; | 954 return; |
| 958 } | 955 } |
| 959 CFX_WideString wsExpression; | 956 CFX_WideString wsExpression; |
| 960 FX_BOOL bIgnoreRoot = TRUE; | 957 FX_BOOL bIgnoreRoot = TRUE; |
| 961 FX_BOOL bOverwrite = 0; | 958 FX_BOOL bOverwrite = 0; |
| 962 if (iLength >= 1) { | 959 if (iLength >= 1) { |
| 963 CFX_ByteString bsExpression = pArguments->GetUTF8String(0); | 960 CFX_ByteString bsExpression = pArguments->GetUTF8String(0); |
| 964 wsExpression = CFX_WideString::FromUTF8(bsExpression.AsStringC()); | 961 wsExpression = CFX_WideString::FromUTF8(bsExpression.AsStringC()); |
| 965 if (wsExpression.IsEmpty()) { | 962 if (wsExpression.IsEmpty()) { |
| 966 return; | 963 return; |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1076 } | 1073 } |
| 1077 pParser->Release(); | 1074 pParser->Release(); |
| 1078 pParser = NULL; | 1075 pParser = NULL; |
| 1079 } | 1076 } |
| 1080 void CXFA_Node::Script_NodeClass_SaveFilteredXML(CFXJSE_Arguments* pArguments) { | 1077 void CXFA_Node::Script_NodeClass_SaveFilteredXML(CFXJSE_Arguments* pArguments) { |
| 1081 } | 1078 } |
| 1082 | 1079 |
| 1083 void CXFA_Node::Script_NodeClass_SaveXML(CFXJSE_Arguments* pArguments) { | 1080 void CXFA_Node::Script_NodeClass_SaveXML(CFXJSE_Arguments* pArguments) { |
| 1084 int32_t iLength = pArguments->GetLength(); | 1081 int32_t iLength = pArguments->GetLength(); |
| 1085 if (iLength < 0 || iLength > 1) { | 1082 if (iLength < 0 || iLength > 1) { |
| 1086 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"saveXML"); | 1083 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"saveXML"); |
| 1087 return; | 1084 return; |
| 1088 } | 1085 } |
| 1089 FX_BOOL bPrettyMode = FALSE; | 1086 FX_BOOL bPrettyMode = FALSE; |
| 1090 if (iLength == 1) { | 1087 if (iLength == 1) { |
| 1091 if (pArguments->GetUTF8String(0) != "pretty") { | 1088 if (pArguments->GetUTF8String(0) != "pretty") { |
| 1092 ThrowScriptErrorMessage(XFA_IDS_ARGUMENT_MISMATCH); | 1089 Throw(XFA_IDS_ARGUMENT_MISMATCH); |
| 1093 return; | 1090 return; |
| 1094 } | 1091 } |
| 1095 bPrettyMode = TRUE; | 1092 bPrettyMode = TRUE; |
| 1096 } | 1093 } |
| 1097 CFX_ByteStringC bsXMLHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; | 1094 CFX_ByteStringC bsXMLHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; |
| 1098 if (GetPacketID() == XFA_XDPPACKET_Form || | 1095 if (GetPacketID() == XFA_XDPPACKET_Form || |
| 1099 GetPacketID() == XFA_XDPPACKET_Datasets) { | 1096 GetPacketID() == XFA_XDPPACKET_Datasets) { |
| 1100 CFDE_XMLNode* pElement = nullptr; | 1097 CFDE_XMLNode* pElement = nullptr; |
| 1101 if (GetPacketID() == XFA_XDPPACKET_Datasets) { | 1098 if (GetPacketID() == XFA_XDPPACKET_Datasets) { |
| 1102 pElement = GetXMLMappingNode(); | 1099 pElement = GetXMLMappingNode(); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 1128 pArguments->GetReturnValue(), | 1125 pArguments->GetReturnValue(), |
| 1129 CFX_ByteStringC(pMemoryStream->GetBuffer(), pMemoryStream->GetSize())); | 1126 CFX_ByteStringC(pMemoryStream->GetBuffer(), pMemoryStream->GetSize())); |
| 1130 return; | 1127 return; |
| 1131 } | 1128 } |
| 1132 FXJSE_Value_SetUTF8String(pArguments->GetReturnValue(), ""); | 1129 FXJSE_Value_SetUTF8String(pArguments->GetReturnValue(), ""); |
| 1133 } | 1130 } |
| 1134 | 1131 |
| 1135 void CXFA_Node::Script_NodeClass_SetAttribute(CFXJSE_Arguments* pArguments) { | 1132 void CXFA_Node::Script_NodeClass_SetAttribute(CFXJSE_Arguments* pArguments) { |
| 1136 int32_t iLength = pArguments->GetLength(); | 1133 int32_t iLength = pArguments->GetLength(); |
| 1137 if (iLength != 2) { | 1134 if (iLength != 2) { |
| 1138 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 1135 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"setAttribute"); |
| 1139 L"setAttribute"); | |
| 1140 return; | 1136 return; |
| 1141 } | 1137 } |
| 1142 CFX_WideString wsAttributeValue = | 1138 CFX_WideString wsAttributeValue = |
| 1143 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 1139 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 1144 CFX_WideString wsAttribute = | 1140 CFX_WideString wsAttribute = |
| 1145 CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); | 1141 CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); |
| 1146 SetAttribute(wsAttribute.AsStringC(), wsAttributeValue.AsStringC(), TRUE); | 1142 SetAttribute(wsAttribute.AsStringC(), wsAttributeValue.AsStringC(), TRUE); |
| 1147 } | 1143 } |
| 1148 | 1144 |
| 1149 void CXFA_Node::Script_NodeClass_SetElement(CFXJSE_Arguments* pArguments) { | 1145 void CXFA_Node::Script_NodeClass_SetElement(CFXJSE_Arguments* pArguments) { |
| 1150 int32_t iLength = pArguments->GetLength(); | 1146 int32_t iLength = pArguments->GetLength(); |
| 1151 if (iLength != 1 && iLength != 2) { | 1147 if (iLength != 1 && iLength != 2) { |
| 1152 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"setElement"); | 1148 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"setElement"); |
| 1153 return; | 1149 return; |
| 1154 } | 1150 } |
| 1155 CXFA_Node* pNode = nullptr; | 1151 CXFA_Node* pNode = nullptr; |
| 1156 CFX_WideString wsName; | 1152 CFX_WideString wsName; |
| 1157 if (iLength >= 1) | 1153 if (iLength >= 1) |
| 1158 pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); | 1154 pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); |
| 1159 if (iLength >= 2) { | 1155 if (iLength >= 2) { |
| 1160 wsName = CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); | 1156 wsName = CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); |
| 1161 } | 1157 } |
| 1162 // TODO(weili): check whether we need to implement this, pdfium:501. | 1158 // TODO(weili): check whether we need to implement this, pdfium:501. |
| 1163 // For now, just put the variables here to avoid unused variable warning. | 1159 // For now, just put the variables here to avoid unused variable warning. |
| 1164 (void)pNode; | 1160 (void)pNode; |
| 1165 (void)wsName; | 1161 (void)wsName; |
| 1166 } | 1162 } |
| 1167 | 1163 |
| 1168 void CXFA_Node::Script_NodeClass_Ns(CFXJSE_Value* pValue, | 1164 void CXFA_Node::Script_NodeClass_Ns(CFXJSE_Value* pValue, |
| 1169 FX_BOOL bSetting, | 1165 FX_BOOL bSetting, |
| 1170 XFA_ATTRIBUTE eAttribute) { | 1166 XFA_ATTRIBUTE eAttribute) { |
| 1171 if (bSetting) { | 1167 if (bSetting) { |
| 1172 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1168 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 1173 } else { | 1169 } else { |
| 1174 CFX_WideString wsNameSpace; | 1170 CFX_WideString wsNameSpace; |
| 1175 TryNamespace(wsNameSpace); | 1171 TryNamespace(wsNameSpace); |
| 1176 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsNameSpace).AsStringC()); | 1172 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsNameSpace).AsStringC()); |
| 1177 } | 1173 } |
| 1178 } | 1174 } |
| 1179 void CXFA_Node::Script_NodeClass_Model(CFXJSE_Value* pValue, | 1175 void CXFA_Node::Script_NodeClass_Model(CFXJSE_Value* pValue, |
| 1180 FX_BOOL bSetting, | 1176 FX_BOOL bSetting, |
| 1181 XFA_ATTRIBUTE eAttribute) { | 1177 XFA_ATTRIBUTE eAttribute) { |
| 1182 if (bSetting) { | 1178 if (bSetting) { |
| 1183 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1179 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 1184 } else { | 1180 } else { |
| 1185 FXJSE_Value_Set(pValue, m_pDocument->GetScriptContext()->GetJSValueFromMap( | 1181 FXJSE_Value_Set(pValue, m_pDocument->GetScriptContext()->GetJSValueFromMap( |
| 1186 GetModelNode())); | 1182 GetModelNode())); |
| 1187 } | 1183 } |
| 1188 } | 1184 } |
| 1189 void CXFA_Node::Script_NodeClass_IsContainer(CFXJSE_Value* pValue, | 1185 void CXFA_Node::Script_NodeClass_IsContainer(CFXJSE_Value* pValue, |
| 1190 FX_BOOL bSetting, | 1186 FX_BOOL bSetting, |
| 1191 XFA_ATTRIBUTE eAttribute) { | 1187 XFA_ATTRIBUTE eAttribute) { |
| 1192 if (bSetting) { | 1188 if (bSetting) { |
| 1193 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1189 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 1194 } else { | 1190 } else { |
| 1195 FXJSE_Value_SetBoolean(pValue, IsContainerNode()); | 1191 FXJSE_Value_SetBoolean(pValue, IsContainerNode()); |
| 1196 } | 1192 } |
| 1197 } | 1193 } |
| 1198 void CXFA_Node::Script_NodeClass_IsNull(CFXJSE_Value* pValue, | 1194 void CXFA_Node::Script_NodeClass_IsNull(CFXJSE_Value* pValue, |
| 1199 FX_BOOL bSetting, | 1195 FX_BOOL bSetting, |
| 1200 XFA_ATTRIBUTE eAttribute) { | 1196 XFA_ATTRIBUTE eAttribute) { |
| 1201 if (bSetting) { | 1197 if (bSetting) { |
| 1202 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1198 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 1203 } else { | 1199 } else { |
| 1204 if (GetClassID() == XFA_ELEMENT_Subform) { | 1200 if (GetClassID() == XFA_ELEMENT_Subform) { |
| 1205 FXJSE_Value_SetBoolean(pValue, FALSE); | 1201 FXJSE_Value_SetBoolean(pValue, FALSE); |
| 1206 return; | 1202 return; |
| 1207 } | 1203 } |
| 1208 CFX_WideString strValue; | 1204 CFX_WideString strValue; |
| 1209 FXJSE_Value_SetBoolean(pValue, !TryContent(strValue) || strValue.IsEmpty()); | 1205 FXJSE_Value_SetBoolean(pValue, !TryContent(strValue) || strValue.IsEmpty()); |
| 1210 } | 1206 } |
| 1211 } | 1207 } |
| 1212 void CXFA_Node::Script_NodeClass_OneOfChild(CFXJSE_Value* pValue, | 1208 void CXFA_Node::Script_NodeClass_OneOfChild(CFXJSE_Value* pValue, |
| 1213 FX_BOOL bSetting, | 1209 FX_BOOL bSetting, |
| 1214 XFA_ATTRIBUTE eAttribute) { | 1210 XFA_ATTRIBUTE eAttribute) { |
| 1215 if (bSetting) { | 1211 if (bSetting) { |
| 1216 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1212 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 1217 } else { | 1213 } else { |
| 1218 CXFA_NodeArray properts; | 1214 CXFA_NodeArray properts; |
| 1219 int32_t iSize = GetNodeList(properts, XFA_NODEFILTER_OneOfProperty); | 1215 int32_t iSize = GetNodeList(properts, XFA_NODEFILTER_OneOfProperty); |
| 1220 if (iSize > 0) { | 1216 if (iSize > 0) { |
| 1221 FXJSE_Value_Set( | 1217 FXJSE_Value_Set( |
| 1222 pValue, | 1218 pValue, |
| 1223 m_pDocument->GetScriptContext()->GetJSValueFromMap(properts[0])); | 1219 m_pDocument->GetScriptContext()->GetJSValueFromMap(properts[0])); |
| 1224 } | 1220 } |
| 1225 } | 1221 } |
| 1226 } | 1222 } |
| 1227 void CXFA_Node::Script_ContainerClass_GetDelta(CFXJSE_Arguments* pArguments) {} | 1223 void CXFA_Node::Script_ContainerClass_GetDelta(CFXJSE_Arguments* pArguments) {} |
| 1228 void CXFA_Node::Script_ContainerClass_GetDeltas(CFXJSE_Arguments* pArguments) { | 1224 void CXFA_Node::Script_ContainerClass_GetDeltas(CFXJSE_Arguments* pArguments) { |
| 1229 CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument); | 1225 CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument); |
| 1230 FXJSE_Value_SetObject(pArguments->GetReturnValue(), (CXFA_Object*)pFormNodes, | 1226 FXJSE_Value_SetObject(pArguments->GetReturnValue(), (CXFA_Object*)pFormNodes, |
| 1231 m_pDocument->GetScriptContext()->GetJseNormalClass()); | 1227 m_pDocument->GetScriptContext()->GetJseNormalClass()); |
| 1232 } | 1228 } |
| 1233 void CXFA_Node::Script_ModelClass_ClearErrorList(CFXJSE_Arguments* pArguments) { | 1229 void CXFA_Node::Script_ModelClass_ClearErrorList(CFXJSE_Arguments* pArguments) { |
| 1234 } | 1230 } |
| 1235 void CXFA_Node::Script_ModelClass_CreateNode(CFXJSE_Arguments* pArguments) { | 1231 void CXFA_Node::Script_ModelClass_CreateNode(CFXJSE_Arguments* pArguments) { |
| 1236 Script_Template_CreateNode(pArguments); | 1232 Script_Template_CreateNode(pArguments); |
| 1237 } | 1233 } |
| 1238 void CXFA_Node::Script_ModelClass_IsCompatibleNS(CFXJSE_Arguments* pArguments) { | 1234 void CXFA_Node::Script_ModelClass_IsCompatibleNS(CFXJSE_Arguments* pArguments) { |
| 1239 int32_t iLength = pArguments->GetLength(); | 1235 int32_t iLength = pArguments->GetLength(); |
| 1240 if (iLength < 1) { | 1236 if (iLength < 1) { |
| 1241 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 1237 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isCompatibleNS"); |
| 1242 L"isCompatibleNS"); | |
| 1243 return; | 1238 return; |
| 1244 } | 1239 } |
| 1245 CFX_WideString wsNameSpace; | 1240 CFX_WideString wsNameSpace; |
| 1246 if (iLength >= 1) { | 1241 if (iLength >= 1) { |
| 1247 CFX_ByteString bsNameSpace = pArguments->GetUTF8String(0); | 1242 CFX_ByteString bsNameSpace = pArguments->GetUTF8String(0); |
| 1248 wsNameSpace = CFX_WideString::FromUTF8(bsNameSpace.AsStringC()); | 1243 wsNameSpace = CFX_WideString::FromUTF8(bsNameSpace.AsStringC()); |
| 1249 } | 1244 } |
| 1250 CFX_WideString wsNodeNameSpace; | 1245 CFX_WideString wsNodeNameSpace; |
| 1251 TryNamespace(wsNodeNameSpace); | 1246 TryNamespace(wsNodeNameSpace); |
| 1252 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 1247 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1268 } else { | 1263 } else { |
| 1269 FXJSE_Value_SetInteger(pValue, GetInteger(eAttribute)); | 1264 FXJSE_Value_SetInteger(pValue, GetInteger(eAttribute)); |
| 1270 } | 1265 } |
| 1271 } | 1266 } |
| 1272 void CXFA_Node::Script_Attribute_IntegerRead(CFXJSE_Value* pValue, | 1267 void CXFA_Node::Script_Attribute_IntegerRead(CFXJSE_Value* pValue, |
| 1273 FX_BOOL bSetting, | 1268 FX_BOOL bSetting, |
| 1274 XFA_ATTRIBUTE eAttribute) { | 1269 XFA_ATTRIBUTE eAttribute) { |
| 1275 if (!bSetting) { | 1270 if (!bSetting) { |
| 1276 FXJSE_Value_SetInteger(pValue, GetInteger(eAttribute)); | 1271 FXJSE_Value_SetInteger(pValue, GetInteger(eAttribute)); |
| 1277 } else { | 1272 } else { |
| 1278 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1273 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 1279 } | 1274 } |
| 1280 } | 1275 } |
| 1281 void CXFA_Node::Script_Attribute_BOOL(CFXJSE_Value* pValue, | 1276 void CXFA_Node::Script_Attribute_BOOL(CFXJSE_Value* pValue, |
| 1282 FX_BOOL bSetting, | 1277 FX_BOOL bSetting, |
| 1283 XFA_ATTRIBUTE eAttribute) { | 1278 XFA_ATTRIBUTE eAttribute) { |
| 1284 if (bSetting) { | 1279 if (bSetting) { |
| 1285 SetBoolean(eAttribute, FXJSE_Value_ToBoolean(pValue), true); | 1280 SetBoolean(eAttribute, FXJSE_Value_ToBoolean(pValue), true); |
| 1286 } else { | 1281 } else { |
| 1287 FXJSE_Value_SetUTF8String(pValue, GetBoolean(eAttribute) ? "1" : "0"); | 1282 FXJSE_Value_SetUTF8String(pValue, GetBoolean(eAttribute) ? "1" : "0"); |
| 1288 } | 1283 } |
| 1289 } | 1284 } |
| 1290 void CXFA_Node::Script_Attribute_BOOLRead(CFXJSE_Value* pValue, | 1285 void CXFA_Node::Script_Attribute_BOOLRead(CFXJSE_Value* pValue, |
| 1291 FX_BOOL bSetting, | 1286 FX_BOOL bSetting, |
| 1292 XFA_ATTRIBUTE eAttribute) { | 1287 XFA_ATTRIBUTE eAttribute) { |
| 1293 if (!bSetting) { | 1288 if (!bSetting) { |
| 1294 FXJSE_Value_SetUTF8String(pValue, GetBoolean(eAttribute) ? "1" : "0"); | 1289 FXJSE_Value_SetUTF8String(pValue, GetBoolean(eAttribute) ? "1" : "0"); |
| 1295 } else { | 1290 } else { |
| 1296 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1291 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 1297 } | 1292 } |
| 1298 } | 1293 } |
| 1299 | 1294 |
| 1300 void CXFA_Node::Script_Attribute_SendAttributeChangeMessage( | 1295 void CXFA_Node::Script_Attribute_SendAttributeChangeMessage( |
| 1301 XFA_ATTRIBUTE eAttribute, | 1296 XFA_ATTRIBUTE eAttribute, |
| 1302 FX_BOOL bScriptModify) { | 1297 FX_BOOL bScriptModify) { |
| 1303 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 1298 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| 1304 if (!pLayoutPro) | 1299 if (!pLayoutPro) |
| 1305 return; | 1300 return; |
| 1306 | 1301 |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1520 void CXFA_Node::Script_Attribute_StringRead(CFXJSE_Value* pValue, | 1515 void CXFA_Node::Script_Attribute_StringRead(CFXJSE_Value* pValue, |
| 1521 FX_BOOL bSetting, | 1516 FX_BOOL bSetting, |
| 1522 XFA_ATTRIBUTE eAttribute) { | 1517 XFA_ATTRIBUTE eAttribute) { |
| 1523 if (!bSetting) { | 1518 if (!bSetting) { |
| 1524 CFX_WideString wsValue; | 1519 CFX_WideString wsValue; |
| 1525 GetAttribute(eAttribute, wsValue); | 1520 GetAttribute(eAttribute, wsValue); |
| 1526 FXJSE_Value_SetUTF8String( | 1521 FXJSE_Value_SetUTF8String( |
| 1527 pValue, | 1522 pValue, |
| 1528 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); | 1523 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); |
| 1529 } else { | 1524 } else { |
| 1530 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1525 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 1531 } | 1526 } |
| 1532 } | 1527 } |
| 1533 void CXFA_Node::Script_WsdlConnection_Execute(CFXJSE_Arguments* pArguments) { | 1528 void CXFA_Node::Script_WsdlConnection_Execute(CFXJSE_Arguments* pArguments) { |
| 1534 int32_t argc = pArguments->GetLength(); | 1529 int32_t argc = pArguments->GetLength(); |
| 1535 if ((argc == 0) || (argc == 1)) { | 1530 if ((argc == 0) || (argc == 1)) { |
| 1536 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 1531 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 1537 } else { | 1532 } else { |
| 1538 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execute"); | 1533 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execute"); |
| 1539 } | 1534 } |
| 1540 } | 1535 } |
| 1541 void CXFA_Node::Script_Delta_Restore(CFXJSE_Arguments* pArguments) { | 1536 void CXFA_Node::Script_Delta_Restore(CFXJSE_Arguments* pArguments) { |
| 1542 int32_t argc = pArguments->GetLength(); | 1537 int32_t argc = pArguments->GetLength(); |
| 1543 if (argc == 0) { | 1538 if (argc == 0) { |
| 1544 } else { | 1539 } else { |
| 1545 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"restore"); | 1540 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"restore"); |
| 1546 } | 1541 } |
| 1547 } | 1542 } |
| 1548 void CXFA_Node::Script_Delta_CurrentValue(CFXJSE_Value* pValue, | 1543 void CXFA_Node::Script_Delta_CurrentValue(CFXJSE_Value* pValue, |
| 1549 FX_BOOL bSetting, | 1544 FX_BOOL bSetting, |
| 1550 XFA_ATTRIBUTE eAttribute) {} | 1545 XFA_ATTRIBUTE eAttribute) {} |
| 1551 void CXFA_Node::Script_Delta_SavedValue(CFXJSE_Value* pValue, | 1546 void CXFA_Node::Script_Delta_SavedValue(CFXJSE_Value* pValue, |
| 1552 FX_BOOL bSetting, | 1547 FX_BOOL bSetting, |
| 1553 XFA_ATTRIBUTE eAttribute) {} | 1548 XFA_ATTRIBUTE eAttribute) {} |
| 1554 void CXFA_Node::Script_Delta_Target(CFXJSE_Value* pValue, | 1549 void CXFA_Node::Script_Delta_Target(CFXJSE_Value* pValue, |
| 1555 FX_BOOL bSetting, | 1550 FX_BOOL bSetting, |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1613 } | 1608 } |
| 1614 void CXFA_Node::Script_Som_ValidationMessage(CFXJSE_Value* pValue, | 1609 void CXFA_Node::Script_Som_ValidationMessage(CFXJSE_Value* pValue, |
| 1615 FX_BOOL bSetting, | 1610 FX_BOOL bSetting, |
| 1616 XFA_ATTRIBUTE eAttribute) { | 1611 XFA_ATTRIBUTE eAttribute) { |
| 1617 Script_Som_Message(pValue, bSetting, XFA_SOM_ValidationMessage); | 1612 Script_Som_Message(pValue, bSetting, XFA_SOM_ValidationMessage); |
| 1618 } | 1613 } |
| 1619 void CXFA_Node::Script_Field_Length(CFXJSE_Value* pValue, | 1614 void CXFA_Node::Script_Field_Length(CFXJSE_Value* pValue, |
| 1620 FX_BOOL bSetting, | 1615 FX_BOOL bSetting, |
| 1621 XFA_ATTRIBUTE eAttribute) { | 1616 XFA_ATTRIBUTE eAttribute) { |
| 1622 if (bSetting) { | 1617 if (bSetting) { |
| 1623 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1618 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 1624 } else { | 1619 } else { |
| 1625 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1620 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1626 if (!pWidgetData) { | 1621 if (!pWidgetData) { |
| 1627 FXJSE_Value_SetInteger(pValue, 0); | 1622 FXJSE_Value_SetInteger(pValue, 0); |
| 1628 return; | 1623 return; |
| 1629 } | 1624 } |
| 1630 FXJSE_Value_SetInteger(pValue, pWidgetData->CountChoiceListItems(TRUE)); | 1625 FXJSE_Value_SetInteger(pValue, pWidgetData->CountChoiceListItems(TRUE)); |
| 1631 } | 1626 } |
| 1632 } | 1627 } |
| 1633 void CXFA_Node::Script_Som_DefaultValue(CFXJSE_Value* pValue, | 1628 void CXFA_Node::Script_Som_DefaultValue(CFXJSE_Value* pValue, |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1692 FXJSE_Value_SetUTF8String( | 1687 FXJSE_Value_SetUTF8String( |
| 1693 pValue, | 1688 pValue, |
| 1694 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 1689 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 1695 } | 1690 } |
| 1696 } | 1691 } |
| 1697 } | 1692 } |
| 1698 void CXFA_Node::Script_Som_DefaultValue_Read(CFXJSE_Value* pValue, | 1693 void CXFA_Node::Script_Som_DefaultValue_Read(CFXJSE_Value* pValue, |
| 1699 FX_BOOL bSetting, | 1694 FX_BOOL bSetting, |
| 1700 XFA_ATTRIBUTE eAttribute) { | 1695 XFA_ATTRIBUTE eAttribute) { |
| 1701 if (bSetting) { | 1696 if (bSetting) { |
| 1702 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1697 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 1703 return; | 1698 return; |
| 1704 } | 1699 } |
| 1705 CFX_WideString content = GetScriptContent(TRUE); | 1700 CFX_WideString content = GetScriptContent(TRUE); |
| 1706 if (content.IsEmpty()) { | 1701 if (content.IsEmpty()) { |
| 1707 FXJSE_Value_SetNull(pValue); | 1702 FXJSE_Value_SetNull(pValue); |
| 1708 } else { | 1703 } else { |
| 1709 FXJSE_Value_SetUTF8String( | 1704 FXJSE_Value_SetUTF8String( |
| 1710 pValue, | 1705 pValue, |
| 1711 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 1706 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 1712 } | 1707 } |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1911 if (!bSetting) { | 1906 if (!bSetting) { |
| 1912 CXFA_Node* pDataNode = GetBindData(); | 1907 CXFA_Node* pDataNode = GetBindData(); |
| 1913 if (pDataNode) { | 1908 if (pDataNode) { |
| 1914 FXJSE_Value_Set( | 1909 FXJSE_Value_Set( |
| 1915 pValue, | 1910 pValue, |
| 1916 m_pDocument->GetScriptContext()->GetJSValueFromMap(pDataNode)); | 1911 m_pDocument->GetScriptContext()->GetJSValueFromMap(pDataNode)); |
| 1917 } else { | 1912 } else { |
| 1918 FXJSE_Value_SetNull(pValue); | 1913 FXJSE_Value_SetNull(pValue); |
| 1919 } | 1914 } |
| 1920 } else { | 1915 } else { |
| 1921 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1916 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 1922 } | 1917 } |
| 1923 } | 1918 } |
| 1924 void CXFA_Node::Script_Draw_DefaultValue(CFXJSE_Value* pValue, | 1919 void CXFA_Node::Script_Draw_DefaultValue(CFXJSE_Value* pValue, |
| 1925 FX_BOOL bSetting, | 1920 FX_BOOL bSetting, |
| 1926 XFA_ATTRIBUTE eAttribute) { | 1921 XFA_ATTRIBUTE eAttribute) { |
| 1927 if (bSetting) { | 1922 if (bSetting) { |
| 1928 if (FXJSE_Value_IsUTF8String(pValue)) { | 1923 if (FXJSE_Value_IsUTF8String(pValue)) { |
| 1929 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1924 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1930 ASSERT(pWidgetData); | 1925 ASSERT(pWidgetData); |
| 1931 XFA_ELEMENT uiType = pWidgetData->GetUIType(); | 1926 XFA_ELEMENT uiType = pWidgetData->GetUIType(); |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2116 } | 2111 } |
| 2117 void CXFA_Node::Script_Som_MandatoryMessage(CFXJSE_Value* pValue, | 2112 void CXFA_Node::Script_Som_MandatoryMessage(CFXJSE_Value* pValue, |
| 2118 FX_BOOL bSetting, | 2113 FX_BOOL bSetting, |
| 2119 XFA_ATTRIBUTE eAttribute) { | 2114 XFA_ATTRIBUTE eAttribute) { |
| 2120 Script_Som_Message(pValue, bSetting, XFA_SOM_MandatoryMessage); | 2115 Script_Som_Message(pValue, bSetting, XFA_SOM_MandatoryMessage); |
| 2121 } | 2116 } |
| 2122 void CXFA_Node::Script_Field_ParentSubform(CFXJSE_Value* pValue, | 2117 void CXFA_Node::Script_Field_ParentSubform(CFXJSE_Value* pValue, |
| 2123 FX_BOOL bSetting, | 2118 FX_BOOL bSetting, |
| 2124 XFA_ATTRIBUTE eAttribute) { | 2119 XFA_ATTRIBUTE eAttribute) { |
| 2125 if (bSetting) { | 2120 if (bSetting) { |
| 2126 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2121 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 2127 } else { | 2122 } else { |
| 2128 FXJSE_Value_SetNull(pValue); | 2123 FXJSE_Value_SetNull(pValue); |
| 2129 } | 2124 } |
| 2130 } | 2125 } |
| 2131 void CXFA_Node::Script_Field_SelectedIndex(CFXJSE_Value* pValue, | 2126 void CXFA_Node::Script_Field_SelectedIndex(CFXJSE_Value* pValue, |
| 2132 FX_BOOL bSetting, | 2127 FX_BOOL bSetting, |
| 2133 XFA_ATTRIBUTE eAttribute) { | 2128 XFA_ATTRIBUTE eAttribute) { |
| 2134 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2129 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2135 if (!pWidgetData) { | 2130 if (!pWidgetData) { |
| 2136 return; | 2131 return; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 2158 if (argc == 1) { | 2153 if (argc == 1) { |
| 2159 CFX_ByteString eventString = pArguments->GetUTF8String(0); | 2154 CFX_ByteString eventString = pArguments->GetUTF8String(0); |
| 2160 int32_t iRet = execSingleEventByName( | 2155 int32_t iRet = execSingleEventByName( |
| 2161 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), | 2156 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), |
| 2162 XFA_ELEMENT_Field); | 2157 XFA_ELEMENT_Field); |
| 2163 if (eventString == "validate") { | 2158 if (eventString == "validate") { |
| 2164 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 2159 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 2165 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 2160 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 2166 } | 2161 } |
| 2167 } else { | 2162 } else { |
| 2168 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); | 2163 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); |
| 2169 } | 2164 } |
| 2170 } | 2165 } |
| 2171 void CXFA_Node::Script_Field_ExecInitialize(CFXJSE_Arguments* pArguments) { | 2166 void CXFA_Node::Script_Field_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 2172 int32_t argc = pArguments->GetLength(); | 2167 int32_t argc = pArguments->GetLength(); |
| 2173 if (argc == 0) { | 2168 if (argc == 0) { |
| 2174 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2169 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2175 if (!pNotify) { | 2170 if (!pNotify) { |
| 2176 return; | 2171 return; |
| 2177 } | 2172 } |
| 2178 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize, FALSE, FALSE); | 2173 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize, FALSE, FALSE); |
| 2179 } else { | 2174 } else { |
| 2180 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2175 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execInitialize"); |
| 2181 L"execInitialize"); | |
| 2182 } | 2176 } |
| 2183 } | 2177 } |
| 2184 void CXFA_Node::Script_Field_DeleteItem(CFXJSE_Arguments* pArguments) { | 2178 void CXFA_Node::Script_Field_DeleteItem(CFXJSE_Arguments* pArguments) { |
| 2185 int32_t iLength = pArguments->GetLength(); | 2179 int32_t iLength = pArguments->GetLength(); |
| 2186 if (iLength != 1) { | 2180 if (iLength != 1) { |
| 2187 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"deleteItem"); | 2181 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"deleteItem"); |
| 2188 return; | 2182 return; |
| 2189 } | 2183 } |
| 2190 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2184 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2191 if (!pWidgetData) { | 2185 if (!pWidgetData) { |
| 2192 return; | 2186 return; |
| 2193 } | 2187 } |
| 2194 int32_t iIndex = pArguments->GetInt32(0); | 2188 int32_t iIndex = pArguments->GetInt32(0); |
| 2195 FX_BOOL bValue = pWidgetData->DeleteItem(iIndex, TRUE, TRUE); | 2189 FX_BOOL bValue = pWidgetData->DeleteItem(iIndex, TRUE, TRUE); |
| 2196 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 2190 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 2197 if (pValue) { | 2191 if (pValue) { |
| 2198 FXJSE_Value_SetBoolean(pValue, bValue); | 2192 FXJSE_Value_SetBoolean(pValue, bValue); |
| 2199 } | 2193 } |
| 2200 } | 2194 } |
| 2201 void CXFA_Node::Script_Field_GetSaveItem(CFXJSE_Arguments* pArguments) { | 2195 void CXFA_Node::Script_Field_GetSaveItem(CFXJSE_Arguments* pArguments) { |
| 2202 int32_t iLength = pArguments->GetLength(); | 2196 int32_t iLength = pArguments->GetLength(); |
| 2203 if (iLength != 1) { | 2197 if (iLength != 1) { |
| 2204 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getSaveItem"); | 2198 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getSaveItem"); |
| 2205 return; | 2199 return; |
| 2206 } | 2200 } |
| 2207 int32_t iIndex = pArguments->GetInt32(0); | 2201 int32_t iIndex = pArguments->GetInt32(0); |
| 2208 if (iIndex < 0) { | 2202 if (iIndex < 0) { |
| 2209 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2203 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2210 return; | 2204 return; |
| 2211 } | 2205 } |
| 2212 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2206 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2213 if (!pWidgetData) { | 2207 if (!pWidgetData) { |
| 2214 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2208 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2215 return; | 2209 return; |
| 2216 } | 2210 } |
| 2217 CFX_WideString wsValue; | 2211 CFX_WideString wsValue; |
| 2218 FX_BOOL bHasItem = pWidgetData->GetChoiceListItem(wsValue, iIndex, TRUE); | 2212 FX_BOOL bHasItem = pWidgetData->GetChoiceListItem(wsValue, iIndex, TRUE); |
| 2219 if (bHasItem) { | 2213 if (bHasItem) { |
| 2220 FXJSE_Value_SetUTF8String( | 2214 FXJSE_Value_SetUTF8String( |
| 2221 pArguments->GetReturnValue(), | 2215 pArguments->GetReturnValue(), |
| 2222 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); | 2216 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); |
| 2223 } else { | 2217 } else { |
| 2224 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2218 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2225 } | 2219 } |
| 2226 } | 2220 } |
| 2227 void CXFA_Node::Script_Field_BoundItem(CFXJSE_Arguments* pArguments) { | 2221 void CXFA_Node::Script_Field_BoundItem(CFXJSE_Arguments* pArguments) { |
| 2228 int32_t iLength = pArguments->GetLength(); | 2222 int32_t iLength = pArguments->GetLength(); |
| 2229 if (iLength != 1) { | 2223 if (iLength != 1) { |
| 2230 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"boundItem"); | 2224 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"boundItem"); |
| 2231 return; | 2225 return; |
| 2232 } | 2226 } |
| 2233 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2227 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2234 if (!pWidgetData) { | 2228 if (!pWidgetData) { |
| 2235 return; | 2229 return; |
| 2236 } | 2230 } |
| 2237 CFX_ByteString bsValue = pArguments->GetUTF8String(0); | 2231 CFX_ByteString bsValue = pArguments->GetUTF8String(0); |
| 2238 CFX_WideString wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); | 2232 CFX_WideString wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); |
| 2239 CFX_WideString wsBoundValue; | 2233 CFX_WideString wsBoundValue; |
| 2240 pWidgetData->GetItemValue(wsValue.AsStringC(), wsBoundValue); | 2234 pWidgetData->GetItemValue(wsValue.AsStringC(), wsBoundValue); |
| 2241 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 2235 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 2242 if (pValue) { | 2236 if (pValue) { |
| 2243 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsBoundValue).AsStringC()); | 2237 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsBoundValue).AsStringC()); |
| 2244 } | 2238 } |
| 2245 } | 2239 } |
| 2246 void CXFA_Node::Script_Field_GetItemState(CFXJSE_Arguments* pArguments) { | 2240 void CXFA_Node::Script_Field_GetItemState(CFXJSE_Arguments* pArguments) { |
| 2247 int32_t iLength = pArguments->GetLength(); | 2241 int32_t iLength = pArguments->GetLength(); |
| 2248 if (iLength != 1) { | 2242 if (iLength != 1) { |
| 2249 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2243 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getItemState"); |
| 2250 L"getItemState"); | |
| 2251 return; | 2244 return; |
| 2252 } | 2245 } |
| 2253 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2246 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2254 if (!pWidgetData) { | 2247 if (!pWidgetData) { |
| 2255 return; | 2248 return; |
| 2256 } | 2249 } |
| 2257 int32_t iIndex = pArguments->GetInt32(0); | 2250 int32_t iIndex = pArguments->GetInt32(0); |
| 2258 FX_BOOL bValue = pWidgetData->GetItemState(iIndex); | 2251 FX_BOOL bValue = pWidgetData->GetItemState(iIndex); |
| 2259 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 2252 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 2260 if (pValue) { | 2253 if (pValue) { |
| 2261 FXJSE_Value_SetBoolean(pValue, bValue); | 2254 FXJSE_Value_SetBoolean(pValue, bValue); |
| 2262 } | 2255 } |
| 2263 } | 2256 } |
| 2264 void CXFA_Node::Script_Field_ExecCalculate(CFXJSE_Arguments* pArguments) { | 2257 void CXFA_Node::Script_Field_ExecCalculate(CFXJSE_Arguments* pArguments) { |
| 2265 int32_t argc = pArguments->GetLength(); | 2258 int32_t argc = pArguments->GetLength(); |
| 2266 if (argc == 0) { | 2259 if (argc == 0) { |
| 2267 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2260 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2268 if (!pNotify) { | 2261 if (!pNotify) { |
| 2269 return; | 2262 return; |
| 2270 } | 2263 } |
| 2271 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate, FALSE, FALSE); | 2264 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate, FALSE, FALSE); |
| 2272 } else { | 2265 } else { |
| 2273 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2266 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execCalculate"); |
| 2274 L"execCalculate"); | |
| 2275 } | 2267 } |
| 2276 } | 2268 } |
| 2277 void CXFA_Node::Script_Field_SetItems(CFXJSE_Arguments* pArguments) {} | 2269 void CXFA_Node::Script_Field_SetItems(CFXJSE_Arguments* pArguments) {} |
| 2278 void CXFA_Node::Script_Field_GetDisplayItem(CFXJSE_Arguments* pArguments) { | 2270 void CXFA_Node::Script_Field_GetDisplayItem(CFXJSE_Arguments* pArguments) { |
| 2279 int32_t iLength = pArguments->GetLength(); | 2271 int32_t iLength = pArguments->GetLength(); |
| 2280 if (iLength != 1) { | 2272 if (iLength != 1) { |
| 2281 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2273 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getDisplayItem"); |
| 2282 L"getDisplayItem"); | |
| 2283 return; | 2274 return; |
| 2284 } | 2275 } |
| 2285 int32_t iIndex = pArguments->GetInt32(0); | 2276 int32_t iIndex = pArguments->GetInt32(0); |
| 2286 if (iIndex < 0) { | 2277 if (iIndex < 0) { |
| 2287 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2278 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2288 return; | 2279 return; |
| 2289 } | 2280 } |
| 2290 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2281 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2291 if (!pWidgetData) { | 2282 if (!pWidgetData) { |
| 2292 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2283 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2293 return; | 2284 return; |
| 2294 } | 2285 } |
| 2295 CFX_WideString wsValue; | 2286 CFX_WideString wsValue; |
| 2296 FX_BOOL bHasItem = pWidgetData->GetChoiceListItem(wsValue, iIndex, FALSE); | 2287 FX_BOOL bHasItem = pWidgetData->GetChoiceListItem(wsValue, iIndex, FALSE); |
| 2297 if (bHasItem) { | 2288 if (bHasItem) { |
| 2298 FXJSE_Value_SetUTF8String( | 2289 FXJSE_Value_SetUTF8String( |
| 2299 pArguments->GetReturnValue(), | 2290 pArguments->GetReturnValue(), |
| 2300 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); | 2291 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); |
| 2301 } else { | 2292 } else { |
| 2302 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2293 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2303 } | 2294 } |
| 2304 } | 2295 } |
| 2305 void CXFA_Node::Script_Field_SetItemState(CFXJSE_Arguments* pArguments) { | 2296 void CXFA_Node::Script_Field_SetItemState(CFXJSE_Arguments* pArguments) { |
| 2306 int32_t iLength = pArguments->GetLength(); | 2297 int32_t iLength = pArguments->GetLength(); |
| 2307 if (iLength != 2) { | 2298 if (iLength != 2) { |
| 2308 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2299 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"setItemState"); |
| 2309 L"setItemState"); | |
| 2310 return; | 2300 return; |
| 2311 } | 2301 } |
| 2312 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2302 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2313 if (!pWidgetData) | 2303 if (!pWidgetData) |
| 2314 return; | 2304 return; |
| 2315 | 2305 |
| 2316 int32_t iIndex = pArguments->GetInt32(0); | 2306 int32_t iIndex = pArguments->GetInt32(0); |
| 2317 if (pArguments->GetInt32(1) != 0) { | 2307 if (pArguments->GetInt32(1) != 0) { |
| 2318 pWidgetData->SetItemState(iIndex, TRUE, true, TRUE, TRUE); | 2308 pWidgetData->SetItemState(iIndex, TRUE, true, TRUE, TRUE); |
| 2319 } else { | 2309 } else { |
| 2320 if (pWidgetData->GetItemState(iIndex)) | 2310 if (pWidgetData->GetItemState(iIndex)) |
| 2321 pWidgetData->SetItemState(iIndex, FALSE, true, TRUE, TRUE); | 2311 pWidgetData->SetItemState(iIndex, FALSE, true, TRUE, TRUE); |
| 2322 } | 2312 } |
| 2323 } | 2313 } |
| 2324 void CXFA_Node::Script_Field_AddItem(CFXJSE_Arguments* pArguments) { | 2314 void CXFA_Node::Script_Field_AddItem(CFXJSE_Arguments* pArguments) { |
| 2325 int32_t iLength = pArguments->GetLength(); | 2315 int32_t iLength = pArguments->GetLength(); |
| 2326 if (iLength < 1 || iLength > 2) { | 2316 if (iLength < 1 || iLength > 2) { |
| 2327 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addItem"); | 2317 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addItem"); |
| 2328 return; | 2318 return; |
| 2329 } | 2319 } |
| 2330 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2320 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2331 if (!pWidgetData) { | 2321 if (!pWidgetData) { |
| 2332 return; | 2322 return; |
| 2333 } | 2323 } |
| 2334 CFX_WideString wsLabel; | 2324 CFX_WideString wsLabel; |
| 2335 CFX_WideString wsValue; | 2325 CFX_WideString wsValue; |
| 2336 if (iLength >= 1) { | 2326 if (iLength >= 1) { |
| 2337 CFX_ByteString bsLabel = pArguments->GetUTF8String(0); | 2327 CFX_ByteString bsLabel = pArguments->GetUTF8String(0); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 2349 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2339 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2350 if (!pNotify) { | 2340 if (!pNotify) { |
| 2351 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2341 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2352 } else { | 2342 } else { |
| 2353 int32_t iRet = | 2343 int32_t iRet = |
| 2354 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate, FALSE, FALSE); | 2344 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate, FALSE, FALSE); |
| 2355 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 2345 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 2356 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 2346 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 2357 } | 2347 } |
| 2358 } else { | 2348 } else { |
| 2359 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2349 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); |
| 2360 L"execValidate"); | |
| 2361 } | 2350 } |
| 2362 } | 2351 } |
| 2363 void CXFA_Node::Script_ExclGroup_ErrorText(CFXJSE_Value* pValue, | 2352 void CXFA_Node::Script_ExclGroup_ErrorText(CFXJSE_Value* pValue, |
| 2364 FX_BOOL bSetting, | 2353 FX_BOOL bSetting, |
| 2365 XFA_ATTRIBUTE eAttribute) { | 2354 XFA_ATTRIBUTE eAttribute) { |
| 2366 if (!bSetting) { | 2355 if (!bSetting) { |
| 2367 } else { | 2356 } else { |
| 2368 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2357 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 2369 } | 2358 } |
| 2370 } | 2359 } |
| 2371 void CXFA_Node::Script_ExclGroup_DefaultAndRawValue(CFXJSE_Value* pValue, | 2360 void CXFA_Node::Script_ExclGroup_DefaultAndRawValue(CFXJSE_Value* pValue, |
| 2372 FX_BOOL bSetting, | 2361 FX_BOOL bSetting, |
| 2373 XFA_ATTRIBUTE eAttribute) { | 2362 XFA_ATTRIBUTE eAttribute) { |
| 2374 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2363 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2375 if (!pWidgetData) { | 2364 if (!pWidgetData) { |
| 2376 return; | 2365 return; |
| 2377 } | 2366 } |
| 2378 if (bSetting) { | 2367 if (bSetting) { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2395 FX_BOOL bSetting, | 2384 FX_BOOL bSetting, |
| 2396 XFA_ATTRIBUTE eAttribute) {} | 2385 XFA_ATTRIBUTE eAttribute) {} |
| 2397 void CXFA_Node::Script_ExclGroup_ExecEvent(CFXJSE_Arguments* pArguments) { | 2386 void CXFA_Node::Script_ExclGroup_ExecEvent(CFXJSE_Arguments* pArguments) { |
| 2398 int32_t argc = pArguments->GetLength(); | 2387 int32_t argc = pArguments->GetLength(); |
| 2399 if (argc == 1) { | 2388 if (argc == 1) { |
| 2400 CFX_ByteString eventString = pArguments->GetUTF8String(0); | 2389 CFX_ByteString eventString = pArguments->GetUTF8String(0); |
| 2401 execSingleEventByName( | 2390 execSingleEventByName( |
| 2402 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), | 2391 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), |
| 2403 XFA_ELEMENT_ExclGroup); | 2392 XFA_ELEMENT_ExclGroup); |
| 2404 } else { | 2393 } else { |
| 2405 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); | 2394 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); |
| 2406 } | 2395 } |
| 2407 } | 2396 } |
| 2408 | 2397 |
| 2409 void CXFA_Node::Script_ExclGroup_SelectedMember(CFXJSE_Arguments* pArguments) { | 2398 void CXFA_Node::Script_ExclGroup_SelectedMember(CFXJSE_Arguments* pArguments) { |
| 2410 int32_t argc = pArguments->GetLength(); | 2399 int32_t argc = pArguments->GetLength(); |
| 2411 if (argc < 0 || argc > 1) { | 2400 if (argc < 0 || argc > 1) { |
| 2412 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2401 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"selectedMember"); |
| 2413 L"selectedMember"); | |
| 2414 return; | 2402 return; |
| 2415 } | 2403 } |
| 2416 | 2404 |
| 2417 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2405 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2418 if (!pWidgetData) { | 2406 if (!pWidgetData) { |
| 2419 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2407 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2420 return; | 2408 return; |
| 2421 } | 2409 } |
| 2422 | 2410 |
| 2423 CXFA_Node* pReturnNode = nullptr; | 2411 CXFA_Node* pReturnNode = nullptr; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2440 | 2428 |
| 2441 void CXFA_Node::Script_ExclGroup_ExecInitialize(CFXJSE_Arguments* pArguments) { | 2429 void CXFA_Node::Script_ExclGroup_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 2442 int32_t argc = pArguments->GetLength(); | 2430 int32_t argc = pArguments->GetLength(); |
| 2443 if (argc == 0) { | 2431 if (argc == 0) { |
| 2444 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2432 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2445 if (!pNotify) { | 2433 if (!pNotify) { |
| 2446 return; | 2434 return; |
| 2447 } | 2435 } |
| 2448 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); | 2436 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); |
| 2449 } else { | 2437 } else { |
| 2450 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2438 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execInitialize"); |
| 2451 L"execInitialize"); | |
| 2452 } | 2439 } |
| 2453 } | 2440 } |
| 2454 void CXFA_Node::Script_ExclGroup_ExecCalculate(CFXJSE_Arguments* pArguments) { | 2441 void CXFA_Node::Script_ExclGroup_ExecCalculate(CFXJSE_Arguments* pArguments) { |
| 2455 int32_t argc = pArguments->GetLength(); | 2442 int32_t argc = pArguments->GetLength(); |
| 2456 if (argc == 0) { | 2443 if (argc == 0) { |
| 2457 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2444 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2458 if (!pNotify) { | 2445 if (!pNotify) { |
| 2459 return; | 2446 return; |
| 2460 } | 2447 } |
| 2461 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); | 2448 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); |
| 2462 } else { | 2449 } else { |
| 2463 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2450 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execCalculate"); |
| 2464 L"execCalculate"); | |
| 2465 } | 2451 } |
| 2466 } | 2452 } |
| 2467 void CXFA_Node::Script_ExclGroup_ExecValidate(CFXJSE_Arguments* pArguments) { | 2453 void CXFA_Node::Script_ExclGroup_ExecValidate(CFXJSE_Arguments* pArguments) { |
| 2468 int32_t argc = pArguments->GetLength(); | 2454 int32_t argc = pArguments->GetLength(); |
| 2469 if (argc == 0) { | 2455 if (argc == 0) { |
| 2470 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2456 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2471 if (!pNotify) { | 2457 if (!pNotify) { |
| 2472 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2458 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2473 } else { | 2459 } else { |
| 2474 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); | 2460 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); |
| 2475 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 2461 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 2476 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 2462 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 2477 } | 2463 } |
| 2478 } else { | 2464 } else { |
| 2479 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2465 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); |
| 2480 L"execValidate"); | |
| 2481 } | 2466 } |
| 2482 } | 2467 } |
| 2483 static CXFA_Node* XFA_ScriptInstanceManager_GetItem(CXFA_Node* pInstMgrNode, | 2468 static CXFA_Node* XFA_ScriptInstanceManager_GetItem(CXFA_Node* pInstMgrNode, |
| 2484 int32_t iIndex) { | 2469 int32_t iIndex) { |
| 2485 ASSERT(pInstMgrNode); | 2470 ASSERT(pInstMgrNode); |
| 2486 int32_t iCount = 0; | 2471 int32_t iCount = 0; |
| 2487 uint32_t dwNameHash = 0; | 2472 uint32_t dwNameHash = 0; |
| 2488 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); | 2473 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 2489 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 2474 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 2490 XFA_ELEMENT eCurType = pNode->GetClassID(); | 2475 XFA_ELEMENT eCurType = pNode->GetClassID(); |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2567 } | 2552 } |
| 2568 } | 2553 } |
| 2569 if (pInstanceMgr) { | 2554 if (pInstanceMgr) { |
| 2570 FXJSE_Value_Set( | 2555 FXJSE_Value_Set( |
| 2571 pValue, | 2556 pValue, |
| 2572 m_pDocument->GetScriptContext()->GetJSValueFromMap(pInstanceMgr)); | 2557 m_pDocument->GetScriptContext()->GetJSValueFromMap(pInstanceMgr)); |
| 2573 } else { | 2558 } else { |
| 2574 FXJSE_Value_SetNull(pValue); | 2559 FXJSE_Value_SetNull(pValue); |
| 2575 } | 2560 } |
| 2576 } else { | 2561 } else { |
| 2577 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2562 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 2578 } | 2563 } |
| 2579 } | 2564 } |
| 2580 void CXFA_Node::Script_Subform_Locale(CFXJSE_Value* pValue, | 2565 void CXFA_Node::Script_Subform_Locale(CFXJSE_Value* pValue, |
| 2581 FX_BOOL bSetting, | 2566 FX_BOOL bSetting, |
| 2582 XFA_ATTRIBUTE eAttribute) { | 2567 XFA_ATTRIBUTE eAttribute) { |
| 2583 if (bSetting) { | 2568 if (bSetting) { |
| 2584 CFX_ByteString bsLocaleName; | 2569 CFX_ByteString bsLocaleName; |
| 2585 FXJSE_Value_ToUTF8String(pValue, bsLocaleName); | 2570 FXJSE_Value_ToUTF8String(pValue, bsLocaleName); |
| 2586 SetCData(XFA_ATTRIBUTE_Locale, | 2571 SetCData(XFA_ATTRIBUTE_Locale, |
| 2587 CFX_WideString::FromUTF8(bsLocaleName.AsStringC()), true, TRUE); | 2572 CFX_WideString::FromUTF8(bsLocaleName.AsStringC()), true, TRUE); |
| 2588 } else { | 2573 } else { |
| 2589 CFX_WideString wsLocaleName; | 2574 CFX_WideString wsLocaleName; |
| 2590 GetLocaleName(wsLocaleName); | 2575 GetLocaleName(wsLocaleName); |
| 2591 FXJSE_Value_SetUTF8String( | 2576 FXJSE_Value_SetUTF8String( |
| 2592 pValue, FX_UTF8Encode(wsLocaleName.c_str(), wsLocaleName.GetLength()) | 2577 pValue, FX_UTF8Encode(wsLocaleName.c_str(), wsLocaleName.GetLength()) |
| 2593 .AsStringC()); | 2578 .AsStringC()); |
| 2594 } | 2579 } |
| 2595 } | 2580 } |
| 2596 void CXFA_Node::Script_Subform_ExecEvent(CFXJSE_Arguments* pArguments) { | 2581 void CXFA_Node::Script_Subform_ExecEvent(CFXJSE_Arguments* pArguments) { |
| 2597 int32_t argc = pArguments->GetLength(); | 2582 int32_t argc = pArguments->GetLength(); |
| 2598 if (argc == 1) { | 2583 if (argc == 1) { |
| 2599 CFX_ByteString eventString = pArguments->GetUTF8String(0); | 2584 CFX_ByteString eventString = pArguments->GetUTF8String(0); |
| 2600 execSingleEventByName( | 2585 execSingleEventByName( |
| 2601 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), | 2586 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), |
| 2602 XFA_ELEMENT_Subform); | 2587 XFA_ELEMENT_Subform); |
| 2603 } else { | 2588 } else { |
| 2604 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); | 2589 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); |
| 2605 } | 2590 } |
| 2606 } | 2591 } |
| 2607 void CXFA_Node::Script_Subform_ExecInitialize(CFXJSE_Arguments* pArguments) { | 2592 void CXFA_Node::Script_Subform_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 2608 int32_t argc = pArguments->GetLength(); | 2593 int32_t argc = pArguments->GetLength(); |
| 2609 if (argc == 0) { | 2594 if (argc == 0) { |
| 2610 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2595 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2611 if (!pNotify) { | 2596 if (!pNotify) { |
| 2612 return; | 2597 return; |
| 2613 } | 2598 } |
| 2614 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); | 2599 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); |
| 2615 } else { | 2600 } else { |
| 2616 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2601 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execInitialize"); |
| 2617 L"execInitialize"); | |
| 2618 } | 2602 } |
| 2619 } | 2603 } |
| 2620 void CXFA_Node::Script_Subform_ExecCalculate(CFXJSE_Arguments* pArguments) { | 2604 void CXFA_Node::Script_Subform_ExecCalculate(CFXJSE_Arguments* pArguments) { |
| 2621 int32_t argc = pArguments->GetLength(); | 2605 int32_t argc = pArguments->GetLength(); |
| 2622 if (argc == 0) { | 2606 if (argc == 0) { |
| 2623 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2607 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2624 if (!pNotify) { | 2608 if (!pNotify) { |
| 2625 return; | 2609 return; |
| 2626 } | 2610 } |
| 2627 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); | 2611 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); |
| 2628 } else { | 2612 } else { |
| 2629 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2613 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execCalculate"); |
| 2630 L"execCalculate"); | |
| 2631 } | 2614 } |
| 2632 } | 2615 } |
| 2633 void CXFA_Node::Script_Subform_ExecValidate(CFXJSE_Arguments* pArguments) { | 2616 void CXFA_Node::Script_Subform_ExecValidate(CFXJSE_Arguments* pArguments) { |
| 2634 int32_t argc = pArguments->GetLength(); | 2617 int32_t argc = pArguments->GetLength(); |
| 2635 if (argc == 0) { | 2618 if (argc == 0) { |
| 2636 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2619 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2637 if (!pNotify) { | 2620 if (!pNotify) { |
| 2638 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2621 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2639 } else { | 2622 } else { |
| 2640 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); | 2623 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); |
| 2641 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 2624 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 2642 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 2625 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 2643 } | 2626 } |
| 2644 } else { | 2627 } else { |
| 2645 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2628 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); |
| 2646 L"execValidate"); | |
| 2647 } | 2629 } |
| 2648 } | 2630 } |
| 2649 void CXFA_Node::Script_Subform_GetInvalidObjects(CFXJSE_Arguments* pArguments) { | 2631 void CXFA_Node::Script_Subform_GetInvalidObjects(CFXJSE_Arguments* pArguments) { |
| 2650 int32_t argc = pArguments->GetLength(); | 2632 int32_t argc = pArguments->GetLength(); |
| 2651 if (argc == 0) { | 2633 if (argc == 0) { |
| 2652 } else { | 2634 } else { |
| 2653 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2635 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getInvalidObjects"); |
| 2654 L"getInvalidObjects"); | |
| 2655 } | 2636 } |
| 2656 } | 2637 } |
| 2657 int32_t CXFA_Node::Subform_and_SubformSet_InstanceIndex() { | 2638 int32_t CXFA_Node::Subform_and_SubformSet_InstanceIndex() { |
| 2658 int32_t index = 0; | 2639 int32_t index = 0; |
| 2659 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; | 2640 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; |
| 2660 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { | 2641 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { |
| 2661 if ((pNode->GetClassID() == XFA_ELEMENT_Subform) || | 2642 if ((pNode->GetClassID() == XFA_ELEMENT_Subform) || |
| 2662 (pNode->GetClassID() == XFA_ELEMENT_SubformSet)) { | 2643 (pNode->GetClassID() == XFA_ELEMENT_SubformSet)) { |
| 2663 index++; | 2644 index++; |
| 2664 } else { | 2645 } else { |
| 2665 break; | 2646 break; |
| 2666 } | 2647 } |
| 2667 } | 2648 } |
| 2668 return index; | 2649 return index; |
| 2669 } | 2650 } |
| 2670 void CXFA_Node::Script_Template_FormNodes(CFXJSE_Arguments* pArguments) { | 2651 void CXFA_Node::Script_Template_FormNodes(CFXJSE_Arguments* pArguments) { |
| 2671 int32_t argc = pArguments->GetLength(); | 2652 int32_t argc = pArguments->GetLength(); |
| 2672 if (argc == 1) { | 2653 if (argc == 1) { |
| 2673 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2654 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2674 } else { | 2655 } else { |
| 2675 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"formNodes"); | 2656 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"formNodes"); |
| 2676 } | 2657 } |
| 2677 } | 2658 } |
| 2678 void CXFA_Node::Script_Template_Remerge(CFXJSE_Arguments* pArguments) { | 2659 void CXFA_Node::Script_Template_Remerge(CFXJSE_Arguments* pArguments) { |
| 2679 int32_t argc = pArguments->GetLength(); | 2660 int32_t argc = pArguments->GetLength(); |
| 2680 if (argc == 0) { | 2661 if (argc == 0) { |
| 2681 m_pDocument->DoDataRemerge(TRUE); | 2662 m_pDocument->DoDataRemerge(TRUE); |
| 2682 } else { | 2663 } else { |
| 2683 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remerge"); | 2664 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remerge"); |
| 2684 } | 2665 } |
| 2685 } | 2666 } |
| 2686 void CXFA_Node::Script_Template_ExecInitialize(CFXJSE_Arguments* pArguments) { | 2667 void CXFA_Node::Script_Template_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 2687 int32_t argc = pArguments->GetLength(); | 2668 int32_t argc = pArguments->GetLength(); |
| 2688 if (argc == 0) { | 2669 if (argc == 0) { |
| 2689 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2670 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2690 if (!pWidgetData) { | 2671 if (!pWidgetData) { |
| 2691 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2672 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2692 } else { | 2673 } else { |
| 2693 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2674 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2694 } | 2675 } |
| 2695 } else { | 2676 } else { |
| 2696 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2677 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execInitialize"); |
| 2697 L"execInitialize"); | |
| 2698 } | 2678 } |
| 2699 } | 2679 } |
| 2700 void CXFA_Node::Script_Template_CreateNode(CFXJSE_Arguments* pArguments) { | 2680 void CXFA_Node::Script_Template_CreateNode(CFXJSE_Arguments* pArguments) { |
| 2701 int32_t argc = pArguments->GetLength(); | 2681 int32_t argc = pArguments->GetLength(); |
| 2702 if ((argc > 0) && (argc < 4)) { | 2682 if ((argc > 0) && (argc < 4)) { |
| 2703 CFX_WideString strTagName; | 2683 CFX_WideString strTagName; |
| 2704 CFX_WideString strName; | 2684 CFX_WideString strName; |
| 2705 CFX_WideString strNameSpace; | 2685 CFX_WideString strNameSpace; |
| 2706 CFX_ByteString bsTagName = pArguments->GetUTF8String(0); | 2686 CFX_ByteString bsTagName = pArguments->GetUTF8String(0); |
| 2707 strTagName = CFX_WideString::FromUTF8(bsTagName.AsStringC()); | 2687 strTagName = CFX_WideString::FromUTF8(bsTagName.AsStringC()); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 2723 if (XFA_GetAttributeOfElement(pElement->eName, XFA_ATTRIBUTE_Name, | 2703 if (XFA_GetAttributeOfElement(pElement->eName, XFA_ATTRIBUTE_Name, |
| 2724 XFA_XDPPACKET_UNKNOWN)) { | 2704 XFA_XDPPACKET_UNKNOWN)) { |
| 2725 pNewNode->SetAttribute(XFA_ATTRIBUTE_Name, strName.AsStringC(), true); | 2705 pNewNode->SetAttribute(XFA_ATTRIBUTE_Name, strName.AsStringC(), true); |
| 2726 if (pNewNode->GetPacketID() == XFA_XDPPACKET_Datasets) { | 2706 if (pNewNode->GetPacketID() == XFA_XDPPACKET_Datasets) { |
| 2727 pNewNode->CreateXMLMappingNode(); | 2707 pNewNode->CreateXMLMappingNode(); |
| 2728 } | 2708 } |
| 2729 FXJSE_Value_Set( | 2709 FXJSE_Value_Set( |
| 2730 pArguments->GetReturnValue(), | 2710 pArguments->GetReturnValue(), |
| 2731 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewNode)); | 2711 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewNode)); |
| 2732 } else { | 2712 } else { |
| 2733 ThrowScriptErrorMessage(XFA_IDS_NOT_HAVE_PROPERTY, strTagName.c_str(), | 2713 Throw(XFA_IDS_NOT_HAVE_PROPERTY, strTagName.c_str(), L"name"); |
| 2734 L"name"); | |
| 2735 } | 2714 } |
| 2736 } else { | 2715 } else { |
| 2737 FXJSE_Value_Set( | 2716 FXJSE_Value_Set( |
| 2738 pArguments->GetReturnValue(), | 2717 pArguments->GetReturnValue(), |
| 2739 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewNode)); | 2718 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewNode)); |
| 2740 } | 2719 } |
| 2741 } | 2720 } |
| 2742 } else { | 2721 } else { |
| 2743 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"createNode"); | 2722 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"createNode"); |
| 2744 } | 2723 } |
| 2745 } | 2724 } |
| 2746 void CXFA_Node::Script_Template_Recalculate(CFXJSE_Arguments* pArguments) { | 2725 void CXFA_Node::Script_Template_Recalculate(CFXJSE_Arguments* pArguments) { |
| 2747 if (pArguments->GetLength() == 1) { | 2726 if (pArguments->GetLength() == 1) { |
| 2748 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2727 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2749 } else { | 2728 } else { |
| 2750 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"recalculate"); | 2729 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"recalculate"); |
| 2751 } | 2730 } |
| 2752 } | 2731 } |
| 2753 void CXFA_Node::Script_Template_ExecCalculate(CFXJSE_Arguments* pArguments) { | 2732 void CXFA_Node::Script_Template_ExecCalculate(CFXJSE_Arguments* pArguments) { |
| 2754 int32_t argc = pArguments->GetLength(); | 2733 int32_t argc = pArguments->GetLength(); |
| 2755 if (argc == 0) { | 2734 if (argc == 0) { |
| 2756 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2735 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2757 if (!pWidgetData) { | 2736 if (!pWidgetData) { |
| 2758 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2737 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2759 } else { | 2738 } else { |
| 2760 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2739 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2761 } | 2740 } |
| 2762 } else { | 2741 } else { |
| 2763 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2742 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execCalculate"); |
| 2764 L"execCalculate"); | |
| 2765 } | 2743 } |
| 2766 } | 2744 } |
| 2767 void CXFA_Node::Script_Template_ExecValidate(CFXJSE_Arguments* pArguments) { | 2745 void CXFA_Node::Script_Template_ExecValidate(CFXJSE_Arguments* pArguments) { |
| 2768 int32_t argc = pArguments->GetLength(); | 2746 int32_t argc = pArguments->GetLength(); |
| 2769 if (argc == 0) { | 2747 if (argc == 0) { |
| 2770 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2748 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2771 if (!pWidgetData) { | 2749 if (!pWidgetData) { |
| 2772 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2750 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2773 } else { | 2751 } else { |
| 2774 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2752 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2775 } | 2753 } |
| 2776 } else { | 2754 } else { |
| 2777 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2755 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); |
| 2778 L"execValidate"); | |
| 2779 } | 2756 } |
| 2780 } | 2757 } |
| 2781 void CXFA_Node::Script_Manifest_Evaluate(CFXJSE_Arguments* pArguments) { | 2758 void CXFA_Node::Script_Manifest_Evaluate(CFXJSE_Arguments* pArguments) { |
| 2782 int32_t argc = pArguments->GetLength(); | 2759 int32_t argc = pArguments->GetLength(); |
| 2783 if (argc == 0) { | 2760 if (argc == 0) { |
| 2784 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2761 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2785 if (!pWidgetData) { | 2762 if (!pWidgetData) { |
| 2786 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2763 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2787 } else { | 2764 } else { |
| 2788 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2765 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2789 } | 2766 } |
| 2790 } else { | 2767 } else { |
| 2791 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"evaluate"); | 2768 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"evaluate"); |
| 2792 } | 2769 } |
| 2793 } | 2770 } |
| 2794 void CXFA_Node::Script_InstanceManager_Max(CFXJSE_Value* pValue, | 2771 void CXFA_Node::Script_InstanceManager_Max(CFXJSE_Value* pValue, |
| 2795 FX_BOOL bSetting, | 2772 FX_BOOL bSetting, |
| 2796 XFA_ATTRIBUTE eAttribute) { | 2773 XFA_ATTRIBUTE eAttribute) { |
| 2797 if (bSetting) { | 2774 if (bSetting) { |
| 2798 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2775 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 2799 return; | 2776 return; |
| 2800 } | 2777 } |
| 2801 CXFA_Occur nodeOccur(GetOccurNode()); | 2778 CXFA_Occur nodeOccur(GetOccurNode()); |
| 2802 FXJSE_Value_SetInteger(pValue, nodeOccur.GetMax()); | 2779 FXJSE_Value_SetInteger(pValue, nodeOccur.GetMax()); |
| 2803 } | 2780 } |
| 2804 void CXFA_Node::Script_InstanceManager_Min(CFXJSE_Value* pValue, | 2781 void CXFA_Node::Script_InstanceManager_Min(CFXJSE_Value* pValue, |
| 2805 FX_BOOL bSetting, | 2782 FX_BOOL bSetting, |
| 2806 XFA_ATTRIBUTE eAttribute) { | 2783 XFA_ATTRIBUTE eAttribute) { |
| 2807 if (bSetting) { | 2784 if (bSetting) { |
| 2808 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2785 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 2809 return; | 2786 return; |
| 2810 } | 2787 } |
| 2811 CXFA_Occur nodeOccur(GetOccurNode()); | 2788 CXFA_Occur nodeOccur(GetOccurNode()); |
| 2812 FXJSE_Value_SetInteger(pValue, nodeOccur.GetMin()); | 2789 FXJSE_Value_SetInteger(pValue, nodeOccur.GetMin()); |
| 2813 } | 2790 } |
| 2814 static int32_t XFA_ScriptInstanceManager_GetCount(CXFA_Node* pInstMgrNode) { | 2791 static int32_t XFA_ScriptInstanceManager_GetCount(CXFA_Node* pInstMgrNode) { |
| 2815 ASSERT(pInstMgrNode); | 2792 ASSERT(pInstMgrNode); |
| 2816 int32_t iCount = 0; | 2793 int32_t iCount = 0; |
| 2817 uint32_t dwNameHash = 0; | 2794 uint32_t dwNameHash = 0; |
| 2818 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); | 2795 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3120 void CXFA_Node::Script_InstanceManager_RemoveInstance( | 3097 void CXFA_Node::Script_InstanceManager_RemoveInstance( |
| 3121 CFXJSE_Arguments* pArguments) { | 3098 CFXJSE_Arguments* pArguments) { |
| 3122 int32_t argc = pArguments->GetLength(); | 3099 int32_t argc = pArguments->GetLength(); |
| 3123 if (argc != 1) { | 3100 if (argc != 1) { |
| 3124 FXJSE_Value_SetUndefined(pArguments->GetReturnValue()); | 3101 FXJSE_Value_SetUndefined(pArguments->GetReturnValue()); |
| 3125 return; | 3102 return; |
| 3126 } | 3103 } |
| 3127 int32_t iIndex = pArguments->GetInt32(0); | 3104 int32_t iIndex = pArguments->GetInt32(0); |
| 3128 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); | 3105 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); |
| 3129 if (iIndex < 0 || iIndex >= iCount) { | 3106 if (iIndex < 0 || iIndex >= iCount) { |
| 3130 ThrowScriptErrorMessage(XFA_IDS_INDEX_OUT_OF_BOUNDS); | 3107 Throw(XFA_IDS_INDEX_OUT_OF_BOUNDS); |
| 3131 return; | 3108 return; |
| 3132 } | 3109 } |
| 3133 CXFA_Occur nodeOccur(GetOccurNode()); | 3110 CXFA_Occur nodeOccur(GetOccurNode()); |
| 3134 int32_t iMin = nodeOccur.GetMin(); | 3111 int32_t iMin = nodeOccur.GetMin(); |
| 3135 if (iCount - 1 < iMin) { | 3112 if (iCount - 1 < iMin) { |
| 3136 ThrowScriptErrorMessage(XFA_IDS_VIOLATE_BOUNDARY, L"min"); | 3113 Throw(XFA_IDS_VIOLATE_BOUNDARY, L"min"); |
| 3137 return; | 3114 return; |
| 3138 } | 3115 } |
| 3139 CXFA_Node* pRemoveInstance = XFA_ScriptInstanceManager_GetItem(this, iIndex); | 3116 CXFA_Node* pRemoveInstance = XFA_ScriptInstanceManager_GetItem(this, iIndex); |
| 3140 XFA_ScriptInstanceManager_RemoveItem(this, pRemoveInstance); | 3117 XFA_ScriptInstanceManager_RemoveItem(this, pRemoveInstance); |
| 3141 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3118 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3142 if (pNotify) { | 3119 if (pNotify) { |
| 3143 for (int32_t i = iIndex; i < iCount - 1; i++) { | 3120 for (int32_t i = iIndex; i < iCount - 1; i++) { |
| 3144 CXFA_Node* pSubformInstance = XFA_ScriptInstanceManager_GetItem(this, i); | 3121 CXFA_Node* pSubformInstance = XFA_ScriptInstanceManager_GetItem(this, i); |
| 3145 if (pSubformInstance && | 3122 if (pSubformInstance && |
| 3146 pSubformInstance->GetClassID() == XFA_ELEMENT_Subform) { | 3123 pSubformInstance->GetClassID() == XFA_ELEMENT_Subform) { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 3162 FXJSE_Value_SetUndefined(pArguments->GetReturnValue()); | 3139 FXJSE_Value_SetUndefined(pArguments->GetReturnValue()); |
| 3163 return; | 3140 return; |
| 3164 } | 3141 } |
| 3165 int32_t iDesired = pArguments->GetInt32(0); | 3142 int32_t iDesired = pArguments->GetInt32(0); |
| 3166 InstanceManager_SetInstances(iDesired); | 3143 InstanceManager_SetInstances(iDesired); |
| 3167 } | 3144 } |
| 3168 void CXFA_Node::Script_InstanceManager_AddInstance( | 3145 void CXFA_Node::Script_InstanceManager_AddInstance( |
| 3169 CFXJSE_Arguments* pArguments) { | 3146 CFXJSE_Arguments* pArguments) { |
| 3170 int32_t argc = pArguments->GetLength(); | 3147 int32_t argc = pArguments->GetLength(); |
| 3171 if ((argc != 0) && (argc != 1)) { | 3148 if ((argc != 0) && (argc != 1)) { |
| 3172 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addInstance"); | 3149 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addInstance"); |
| 3173 return; | 3150 return; |
| 3174 } | 3151 } |
| 3175 FX_BOOL fFlags = TRUE; | 3152 FX_BOOL fFlags = TRUE; |
| 3176 if (argc == 1) { | 3153 if (argc == 1) { |
| 3177 fFlags = pArguments->GetInt32(0) == 0 ? FALSE : TRUE; | 3154 fFlags = pArguments->GetInt32(0) == 0 ? FALSE : TRUE; |
| 3178 } | 3155 } |
| 3179 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); | 3156 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); |
| 3180 CXFA_Occur nodeOccur(GetOccurNode()); | 3157 CXFA_Occur nodeOccur(GetOccurNode()); |
| 3181 int32_t iMax = nodeOccur.GetMax(); | 3158 int32_t iMax = nodeOccur.GetMax(); |
| 3182 if (iMax >= 0 && iCount >= iMax) { | 3159 if (iMax >= 0 && iCount >= iMax) { |
| 3183 ThrowScriptErrorMessage(XFA_IDS_VIOLATE_BOUNDARY, L"max"); | 3160 Throw(XFA_IDS_VIOLATE_BOUNDARY, L"max"); |
| 3184 return; | 3161 return; |
| 3185 } | 3162 } |
| 3186 CXFA_Node* pNewInstance = | 3163 CXFA_Node* pNewInstance = |
| 3187 XFA_ScriptInstanceManager_CreateInstance(this, fFlags); | 3164 XFA_ScriptInstanceManager_CreateInstance(this, fFlags); |
| 3188 XFA_ScriptInstanceManager_InsertItem(this, pNewInstance, iCount, iCount, | 3165 XFA_ScriptInstanceManager_InsertItem(this, pNewInstance, iCount, iCount, |
| 3189 FALSE); | 3166 FALSE); |
| 3190 FXJSE_Value_Set( | 3167 FXJSE_Value_Set( |
| 3191 pArguments->GetReturnValue(), | 3168 pArguments->GetReturnValue(), |
| 3192 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewInstance)); | 3169 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewInstance)); |
| 3193 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3170 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3194 if (!pNotify) { | 3171 if (!pNotify) { |
| 3195 return; | 3172 return; |
| 3196 } | 3173 } |
| 3197 pNotify->RunNodeInitialize(pNewInstance); | 3174 pNotify->RunNodeInitialize(pNewInstance); |
| 3198 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 3175 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| 3199 if (!pLayoutPro) { | 3176 if (!pLayoutPro) { |
| 3200 return; | 3177 return; |
| 3201 } | 3178 } |
| 3202 pLayoutPro->AddChangedContainer( | 3179 pLayoutPro->AddChangedContainer( |
| 3203 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); | 3180 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); |
| 3204 } | 3181 } |
| 3205 void CXFA_Node::Script_InstanceManager_InsertInstance( | 3182 void CXFA_Node::Script_InstanceManager_InsertInstance( |
| 3206 CFXJSE_Arguments* pArguments) { | 3183 CFXJSE_Arguments* pArguments) { |
| 3207 int32_t argc = pArguments->GetLength(); | 3184 int32_t argc = pArguments->GetLength(); |
| 3208 if ((argc != 1) && (argc != 2)) { | 3185 if ((argc != 1) && (argc != 2)) { |
| 3209 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3186 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"insertInstance"); |
| 3210 L"insertInstance"); | |
| 3211 return; | 3187 return; |
| 3212 } | 3188 } |
| 3213 int32_t iIndex = pArguments->GetInt32(0); | 3189 int32_t iIndex = pArguments->GetInt32(0); |
| 3214 FX_BOOL bBind = FALSE; | 3190 FX_BOOL bBind = FALSE; |
| 3215 if (argc == 2) { | 3191 if (argc == 2) { |
| 3216 bBind = pArguments->GetInt32(1) == 0 ? FALSE : TRUE; | 3192 bBind = pArguments->GetInt32(1) == 0 ? FALSE : TRUE; |
| 3217 } | 3193 } |
| 3218 CXFA_Occur nodeOccur(GetOccurNode()); | 3194 CXFA_Occur nodeOccur(GetOccurNode()); |
| 3219 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); | 3195 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); |
| 3220 if (iIndex < 0 || iIndex > iCount) { | 3196 if (iIndex < 0 || iIndex > iCount) { |
| 3221 ThrowScriptErrorMessage(XFA_IDS_INDEX_OUT_OF_BOUNDS); | 3197 Throw(XFA_IDS_INDEX_OUT_OF_BOUNDS); |
| 3222 return; | 3198 return; |
| 3223 } | 3199 } |
| 3224 int32_t iMax = nodeOccur.GetMax(); | 3200 int32_t iMax = nodeOccur.GetMax(); |
| 3225 if (iMax >= 0 && iCount >= iMax) { | 3201 if (iMax >= 0 && iCount >= iMax) { |
| 3226 ThrowScriptErrorMessage(XFA_IDS_VIOLATE_BOUNDARY, L"max"); | 3202 Throw(XFA_IDS_VIOLATE_BOUNDARY, L"max"); |
| 3227 return; | 3203 return; |
| 3228 } | 3204 } |
| 3229 CXFA_Node* pNewInstance = | 3205 CXFA_Node* pNewInstance = |
| 3230 XFA_ScriptInstanceManager_CreateInstance(this, bBind); | 3206 XFA_ScriptInstanceManager_CreateInstance(this, bBind); |
| 3231 XFA_ScriptInstanceManager_InsertItem(this, pNewInstance, iIndex, iCount, | 3207 XFA_ScriptInstanceManager_InsertItem(this, pNewInstance, iIndex, iCount, |
| 3232 TRUE); | 3208 TRUE); |
| 3233 FXJSE_Value_Set( | 3209 FXJSE_Value_Set( |
| 3234 pArguments->GetReturnValue(), | 3210 pArguments->GetReturnValue(), |
| 3235 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewInstance)); | 3211 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewInstance)); |
| 3236 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3212 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3237 if (!pNotify) { | 3213 if (!pNotify) { |
| 3238 return; | 3214 return; |
| 3239 } | 3215 } |
| 3240 pNotify->RunNodeInitialize(pNewInstance); | 3216 pNotify->RunNodeInitialize(pNewInstance); |
| 3241 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 3217 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| 3242 if (!pLayoutPro) { | 3218 if (!pLayoutPro) { |
| 3243 return; | 3219 return; |
| 3244 } | 3220 } |
| 3245 pLayoutPro->AddChangedContainer( | 3221 pLayoutPro->AddChangedContainer( |
| 3246 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); | 3222 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); |
| 3247 } | 3223 } |
| 3248 int32_t CXFA_Node::InstanceManager_SetInstances(int32_t iDesired) { | 3224 int32_t CXFA_Node::InstanceManager_SetInstances(int32_t iDesired) { |
| 3249 CXFA_Occur nodeOccur(GetOccurNode()); | 3225 CXFA_Occur nodeOccur(GetOccurNode()); |
| 3250 int32_t iMax = nodeOccur.GetMax(); | 3226 int32_t iMax = nodeOccur.GetMax(); |
| 3251 int32_t iMin = nodeOccur.GetMin(); | 3227 int32_t iMin = nodeOccur.GetMin(); |
| 3252 if (iDesired < iMin) { | 3228 if (iDesired < iMin) { |
| 3253 ThrowScriptErrorMessage(XFA_IDS_VIOLATE_BOUNDARY, L"min"); | 3229 Throw(XFA_IDS_VIOLATE_BOUNDARY, L"min"); |
| 3254 return 1; | 3230 return 1; |
| 3255 } | 3231 } |
| 3256 if ((iMax >= 0) && (iDesired > iMax)) { | 3232 if ((iMax >= 0) && (iDesired > iMax)) { |
| 3257 ThrowScriptErrorMessage(XFA_IDS_VIOLATE_BOUNDARY, L"max"); | 3233 Throw(XFA_IDS_VIOLATE_BOUNDARY, L"max"); |
| 3258 return 2; | 3234 return 2; |
| 3259 } | 3235 } |
| 3260 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); | 3236 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); |
| 3261 if (iDesired == iCount) { | 3237 if (iDesired == iCount) { |
| 3262 return 0; | 3238 return 0; |
| 3263 } | 3239 } |
| 3264 if (iDesired < iCount) { | 3240 if (iDesired < iCount) { |
| 3265 CFX_WideStringC wsInstManagerName = GetCData(XFA_ATTRIBUTE_Name); | 3241 CFX_WideStringC wsInstManagerName = GetCData(XFA_ATTRIBUTE_Name); |
| 3266 CFX_WideString wsInstanceName = | 3242 CFX_WideString wsInstanceName = |
| 3267 CFX_WideString(wsInstManagerName.IsEmpty() ? wsInstManagerName | 3243 CFX_WideString(wsInstManagerName.IsEmpty() ? wsInstManagerName |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3304 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 3280 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| 3305 if (pLayoutPro) { | 3281 if (pLayoutPro) { |
| 3306 pLayoutPro->AddChangedContainer( | 3282 pLayoutPro->AddChangedContainer( |
| 3307 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); | 3283 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); |
| 3308 } | 3284 } |
| 3309 return 0; | 3285 return 0; |
| 3310 } | 3286 } |
| 3311 int32_t CXFA_Node::InstanceManager_MoveInstance(int32_t iTo, int32_t iFrom) { | 3287 int32_t CXFA_Node::InstanceManager_MoveInstance(int32_t iTo, int32_t iFrom) { |
| 3312 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); | 3288 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); |
| 3313 if (iFrom > iCount || iTo > iCount - 1) { | 3289 if (iFrom > iCount || iTo > iCount - 1) { |
| 3314 ThrowScriptErrorMessage(XFA_IDS_INDEX_OUT_OF_BOUNDS); | 3290 Throw(XFA_IDS_INDEX_OUT_OF_BOUNDS); |
| 3315 return 1; | 3291 return 1; |
| 3316 } | 3292 } |
| 3317 if (iFrom < 0 || iTo < 0 || iFrom == iTo) { | 3293 if (iFrom < 0 || iTo < 0 || iFrom == iTo) { |
| 3318 return 0; | 3294 return 0; |
| 3319 } | 3295 } |
| 3320 CXFA_Node* pMoveInstance = XFA_ScriptInstanceManager_GetItem(this, iFrom); | 3296 CXFA_Node* pMoveInstance = XFA_ScriptInstanceManager_GetItem(this, iFrom); |
| 3321 XFA_ScriptInstanceManager_RemoveItem(this, pMoveInstance, FALSE); | 3297 XFA_ScriptInstanceManager_RemoveItem(this, pMoveInstance, FALSE); |
| 3322 XFA_ScriptInstanceManager_InsertItem(this, pMoveInstance, iTo, iCount - 1, | 3298 XFA_ScriptInstanceManager_InsertItem(this, pMoveInstance, iTo, iCount - 1, |
| 3323 TRUE); | 3299 TRUE); |
| 3324 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 3300 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 3348 occur.SetMin(iMin); | 3324 occur.SetMin(iMin); |
| 3349 } else { | 3325 } else { |
| 3350 FXJSE_Value_SetInteger(pValue, occur.GetMin()); | 3326 FXJSE_Value_SetInteger(pValue, occur.GetMin()); |
| 3351 } | 3327 } |
| 3352 } | 3328 } |
| 3353 void CXFA_Node::Script_Desc_Metadata(CFXJSE_Arguments* pArguments) { | 3329 void CXFA_Node::Script_Desc_Metadata(CFXJSE_Arguments* pArguments) { |
| 3354 int32_t argc = pArguments->GetLength(); | 3330 int32_t argc = pArguments->GetLength(); |
| 3355 if ((argc == 0) || (argc == 1)) { | 3331 if ((argc == 0) || (argc == 1)) { |
| 3356 FXJSE_Value_SetUTF8String(pArguments->GetReturnValue(), ""); | 3332 FXJSE_Value_SetUTF8String(pArguments->GetReturnValue(), ""); |
| 3357 } else { | 3333 } else { |
| 3358 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"metadata"); | 3334 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"metadata"); |
| 3359 } | 3335 } |
| 3360 } | 3336 } |
| 3361 void CXFA_Node::Script_Form_FormNodes(CFXJSE_Arguments* pArguments) { | 3337 void CXFA_Node::Script_Form_FormNodes(CFXJSE_Arguments* pArguments) { |
| 3362 int32_t argc = pArguments->GetLength(); | 3338 int32_t argc = pArguments->GetLength(); |
| 3363 if (argc == 1) { | 3339 if (argc == 1) { |
| 3364 CXFA_Node* pDataNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); | 3340 CXFA_Node* pDataNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); |
| 3365 if (pDataNode) { | 3341 if (pDataNode) { |
| 3366 CXFA_NodeArray formItems; | 3342 CXFA_NodeArray formItems; |
| 3367 CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument); | 3343 CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument); |
| 3368 pFormNodes->SetArrayNodeList(formItems); | 3344 pFormNodes->SetArrayNodeList(formItems); |
| 3369 FXJSE_Value_SetObject( | 3345 FXJSE_Value_SetObject( |
| 3370 pArguments->GetReturnValue(), (CXFA_Object*)pFormNodes, | 3346 pArguments->GetReturnValue(), (CXFA_Object*)pFormNodes, |
| 3371 m_pDocument->GetScriptContext()->GetJseNormalClass()); | 3347 m_pDocument->GetScriptContext()->GetJseNormalClass()); |
| 3372 } else { | 3348 } else { |
| 3373 ThrowScriptErrorMessage(XFA_IDS_ARGUMENT_MISMATCH); | 3349 Throw(XFA_IDS_ARGUMENT_MISMATCH); |
| 3374 } | 3350 } |
| 3375 } else { | 3351 } else { |
| 3376 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"formNodes"); | 3352 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"formNodes"); |
| 3377 } | 3353 } |
| 3378 } | 3354 } |
| 3379 void CXFA_Node::Script_Form_Remerge(CFXJSE_Arguments* pArguments) { | 3355 void CXFA_Node::Script_Form_Remerge(CFXJSE_Arguments* pArguments) { |
| 3380 int32_t argc = pArguments->GetLength(); | 3356 int32_t argc = pArguments->GetLength(); |
| 3381 if (argc == 0) { | 3357 if (argc == 0) { |
| 3382 m_pDocument->DoDataRemerge(TRUE); | 3358 m_pDocument->DoDataRemerge(TRUE); |
| 3383 } else { | 3359 } else { |
| 3384 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remerge"); | 3360 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remerge"); |
| 3385 } | 3361 } |
| 3386 } | 3362 } |
| 3387 void CXFA_Node::Script_Form_ExecInitialize(CFXJSE_Arguments* pArguments) { | 3363 void CXFA_Node::Script_Form_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 3388 int32_t argc = pArguments->GetLength(); | 3364 int32_t argc = pArguments->GetLength(); |
| 3389 if (argc == 0) { | 3365 if (argc == 0) { |
| 3390 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3366 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3391 if (!pNotify) { | 3367 if (!pNotify) { |
| 3392 return; | 3368 return; |
| 3393 } | 3369 } |
| 3394 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); | 3370 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); |
| 3395 } else { | 3371 } else { |
| 3396 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3372 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execInitialize"); |
| 3397 L"execInitialize"); | |
| 3398 } | 3373 } |
| 3399 } | 3374 } |
| 3400 void CXFA_Node::Script_Form_Recalculate(CFXJSE_Arguments* pArguments) { | 3375 void CXFA_Node::Script_Form_Recalculate(CFXJSE_Arguments* pArguments) { |
| 3401 CXFA_EventParam* pEventParam = | 3376 CXFA_EventParam* pEventParam = |
| 3402 m_pDocument->GetScriptContext()->GetEventParam(); | 3377 m_pDocument->GetScriptContext()->GetEventParam(); |
| 3403 if (pEventParam->m_eType == XFA_EVENT_Calculate || | 3378 if (pEventParam->m_eType == XFA_EVENT_Calculate || |
| 3404 pEventParam->m_eType == XFA_EVENT_InitCalculate) { | 3379 pEventParam->m_eType == XFA_EVENT_InitCalculate) { |
| 3405 return; | 3380 return; |
| 3406 } | 3381 } |
| 3407 int32_t argc = pArguments->GetLength(); | 3382 int32_t argc = pArguments->GetLength(); |
| 3408 if (argc == 1) { | 3383 if (argc == 1) { |
| 3409 const bool bScriptFlags = pArguments->GetInt32(0) != 0; | 3384 const bool bScriptFlags = pArguments->GetInt32(0) != 0; |
| 3410 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3385 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3411 if (!pNotify) { | 3386 if (!pNotify) { |
| 3412 return; | 3387 return; |
| 3413 } | 3388 } |
| 3414 if (bScriptFlags) { | 3389 if (bScriptFlags) { |
| 3415 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); | 3390 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); |
| 3416 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); | 3391 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); |
| 3417 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Ready, TRUE); | 3392 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Ready, TRUE); |
| 3418 } else { | 3393 } else { |
| 3419 } | 3394 } |
| 3420 } else { | 3395 } else { |
| 3421 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"recalculate"); | 3396 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"recalculate"); |
| 3422 } | 3397 } |
| 3423 } | 3398 } |
| 3424 void CXFA_Node::Script_Form_ExecCalculate(CFXJSE_Arguments* pArguments) { | 3399 void CXFA_Node::Script_Form_ExecCalculate(CFXJSE_Arguments* pArguments) { |
| 3425 int32_t argc = pArguments->GetLength(); | 3400 int32_t argc = pArguments->GetLength(); |
| 3426 if (argc == 0) { | 3401 if (argc == 0) { |
| 3427 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3402 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3428 if (!pNotify) { | 3403 if (!pNotify) { |
| 3429 return; | 3404 return; |
| 3430 } | 3405 } |
| 3431 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); | 3406 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); |
| 3432 } else { | 3407 } else { |
| 3433 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3408 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execCalculate"); |
| 3434 L"execCalculate"); | |
| 3435 } | 3409 } |
| 3436 } | 3410 } |
| 3437 void CXFA_Node::Script_Form_ExecValidate(CFXJSE_Arguments* pArguments) { | 3411 void CXFA_Node::Script_Form_ExecValidate(CFXJSE_Arguments* pArguments) { |
| 3438 int32_t argc = pArguments->GetLength(); | 3412 int32_t argc = pArguments->GetLength(); |
| 3439 if (argc == 0) { | 3413 if (argc == 0) { |
| 3440 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3414 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3441 if (!pNotify) { | 3415 if (!pNotify) { |
| 3442 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 3416 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 3443 } else { | 3417 } else { |
| 3444 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); | 3418 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); |
| 3445 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 3419 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 3446 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 3420 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 3447 } | 3421 } |
| 3448 } else { | 3422 } else { |
| 3449 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3423 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); |
| 3450 L"execValidate"); | |
| 3451 } | 3424 } |
| 3452 } | 3425 } |
| 3453 void CXFA_Node::Script_Form_Checksum(CFXJSE_Value* pValue, | 3426 void CXFA_Node::Script_Form_Checksum(CFXJSE_Value* pValue, |
| 3454 FX_BOOL bSetting, | 3427 FX_BOOL bSetting, |
| 3455 XFA_ATTRIBUTE eAttribute) { | 3428 XFA_ATTRIBUTE eAttribute) { |
| 3456 if (bSetting) { | 3429 if (bSetting) { |
| 3457 CFX_ByteString bsChecksum; | 3430 CFX_ByteString bsChecksum; |
| 3458 FXJSE_Value_ToUTF8String(pValue, bsChecksum); | 3431 FXJSE_Value_ToUTF8String(pValue, bsChecksum); |
| 3459 SetAttribute(XFA_ATTRIBUTE_Checksum, | 3432 SetAttribute(XFA_ATTRIBUTE_Checksum, |
| 3460 CFX_WideString::FromUTF8(bsChecksum.AsStringC()).AsStringC()); | 3433 CFX_WideString::FromUTF8(bsChecksum.AsStringC()).AsStringC()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 3475 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { | 3448 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { |
| 3476 static_cast<CFDE_XMLElement*>(pXMLNode)->GetString( | 3449 static_cast<CFDE_XMLElement*>(pXMLNode)->GetString( |
| 3477 CFX_WideString::FromUTF8(bsAttributeName.AsStringC()).c_str(), | 3450 CFX_WideString::FromUTF8(bsAttributeName.AsStringC()).c_str(), |
| 3478 wsAttributeValue); | 3451 wsAttributeValue); |
| 3479 } | 3452 } |
| 3480 FXJSE_Value_SetUTF8String( | 3453 FXJSE_Value_SetUTF8String( |
| 3481 pArguments->GetReturnValue(), | 3454 pArguments->GetReturnValue(), |
| 3482 FX_UTF8Encode(wsAttributeValue.c_str(), wsAttributeValue.GetLength()) | 3455 FX_UTF8Encode(wsAttributeValue.c_str(), wsAttributeValue.GetLength()) |
| 3483 .AsStringC()); | 3456 .AsStringC()); |
| 3484 } else { | 3457 } else { |
| 3485 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3458 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getAttribute"); |
| 3486 L"getAttribute"); | |
| 3487 } | 3459 } |
| 3488 } | 3460 } |
| 3489 void CXFA_Node::Script_Packet_SetAttribute(CFXJSE_Arguments* pArguments) { | 3461 void CXFA_Node::Script_Packet_SetAttribute(CFXJSE_Arguments* pArguments) { |
| 3490 int32_t argc = pArguments->GetLength(); | 3462 int32_t argc = pArguments->GetLength(); |
| 3491 if (argc == 2) { | 3463 if (argc == 2) { |
| 3492 CFX_ByteString bsValue = pArguments->GetUTF8String(0); | 3464 CFX_ByteString bsValue = pArguments->GetUTF8String(0); |
| 3493 CFX_ByteString bsName = pArguments->GetUTF8String(1); | 3465 CFX_ByteString bsName = pArguments->GetUTF8String(1); |
| 3494 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); | 3466 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); |
| 3495 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { | 3467 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { |
| 3496 static_cast<CFDE_XMLElement*>(pXMLNode) | 3468 static_cast<CFDE_XMLElement*>(pXMLNode) |
| 3497 ->SetString(CFX_WideString::FromUTF8(bsName.AsStringC()), | 3469 ->SetString(CFX_WideString::FromUTF8(bsName.AsStringC()), |
| 3498 CFX_WideString::FromUTF8(bsValue.AsStringC())); | 3470 CFX_WideString::FromUTF8(bsValue.AsStringC())); |
| 3499 } | 3471 } |
| 3500 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 3472 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 3501 } else { | 3473 } else { |
| 3502 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3474 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"setAttribute"); |
| 3503 L"setAttribute"); | |
| 3504 } | 3475 } |
| 3505 } | 3476 } |
| 3506 void CXFA_Node::Script_Packet_RemoveAttribute(CFXJSE_Arguments* pArguments) { | 3477 void CXFA_Node::Script_Packet_RemoveAttribute(CFXJSE_Arguments* pArguments) { |
| 3507 int32_t argc = pArguments->GetLength(); | 3478 int32_t argc = pArguments->GetLength(); |
| 3508 if (argc == 1) { | 3479 if (argc == 1) { |
| 3509 CFX_ByteString bsName = pArguments->GetUTF8String(0); | 3480 CFX_ByteString bsName = pArguments->GetUTF8String(0); |
| 3510 CFX_WideString wsName = CFX_WideString::FromUTF8(bsName.AsStringC()); | 3481 CFX_WideString wsName = CFX_WideString::FromUTF8(bsName.AsStringC()); |
| 3511 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); | 3482 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); |
| 3512 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { | 3483 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { |
| 3513 CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode); | 3484 CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode); |
| 3514 if (pXMLElement->HasAttribute(wsName.c_str())) { | 3485 if (pXMLElement->HasAttribute(wsName.c_str())) { |
| 3515 pXMLElement->RemoveAttribute(wsName.c_str()); | 3486 pXMLElement->RemoveAttribute(wsName.c_str()); |
| 3516 } | 3487 } |
| 3517 } | 3488 } |
| 3518 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 3489 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 3519 } else { | 3490 } else { |
| 3520 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3491 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"removeAttribute"); |
| 3521 L"removeAttribute"); | |
| 3522 } | 3492 } |
| 3523 } | 3493 } |
| 3524 void CXFA_Node::Script_Packet_Content(CFXJSE_Value* pValue, | 3494 void CXFA_Node::Script_Packet_Content(CFXJSE_Value* pValue, |
| 3525 FX_BOOL bSetting, | 3495 FX_BOOL bSetting, |
| 3526 XFA_ATTRIBUTE eAttribute) { | 3496 XFA_ATTRIBUTE eAttribute) { |
| 3527 if (bSetting) { | 3497 if (bSetting) { |
| 3528 CFX_ByteString bsNewContent; | 3498 CFX_ByteString bsNewContent; |
| 3529 FXJSE_Value_ToUTF8String(pValue, bsNewContent); | 3499 FXJSE_Value_ToUTF8String(pValue, bsNewContent); |
| 3530 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); | 3500 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); |
| 3531 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { | 3501 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 3542 } | 3512 } |
| 3543 FXJSE_Value_SetUTF8String( | 3513 FXJSE_Value_SetUTF8String( |
| 3544 pValue, | 3514 pValue, |
| 3545 FX_UTF8Encode(wsTextData.c_str(), wsTextData.GetLength()).AsStringC()); | 3515 FX_UTF8Encode(wsTextData.c_str(), wsTextData.GetLength()).AsStringC()); |
| 3546 } | 3516 } |
| 3547 } | 3517 } |
| 3548 void CXFA_Node::Script_Source_Next(CFXJSE_Arguments* pArguments) { | 3518 void CXFA_Node::Script_Source_Next(CFXJSE_Arguments* pArguments) { |
| 3549 int32_t argc = pArguments->GetLength(); | 3519 int32_t argc = pArguments->GetLength(); |
| 3550 if (argc == 0) { | 3520 if (argc == 0) { |
| 3551 } else { | 3521 } else { |
| 3552 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"next"); | 3522 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"next"); |
| 3553 } | 3523 } |
| 3554 } | 3524 } |
| 3555 void CXFA_Node::Script_Source_CancelBatch(CFXJSE_Arguments* pArguments) { | 3525 void CXFA_Node::Script_Source_CancelBatch(CFXJSE_Arguments* pArguments) { |
| 3556 int32_t argc = pArguments->GetLength(); | 3526 int32_t argc = pArguments->GetLength(); |
| 3557 if (argc == 0) { | 3527 if (argc == 0) { |
| 3558 } else { | 3528 } else { |
| 3559 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"cancelBatch"); | 3529 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"cancelBatch"); |
| 3560 } | 3530 } |
| 3561 } | 3531 } |
| 3562 void CXFA_Node::Script_Source_First(CFXJSE_Arguments* pArguments) { | 3532 void CXFA_Node::Script_Source_First(CFXJSE_Arguments* pArguments) { |
| 3563 int32_t argc = pArguments->GetLength(); | 3533 int32_t argc = pArguments->GetLength(); |
| 3564 if (argc == 0) { | 3534 if (argc == 0) { |
| 3565 } else { | 3535 } else { |
| 3566 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"first"); | 3536 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"first"); |
| 3567 } | 3537 } |
| 3568 } | 3538 } |
| 3569 void CXFA_Node::Script_Source_UpdateBatch(CFXJSE_Arguments* pArguments) { | 3539 void CXFA_Node::Script_Source_UpdateBatch(CFXJSE_Arguments* pArguments) { |
| 3570 int32_t argc = pArguments->GetLength(); | 3540 int32_t argc = pArguments->GetLength(); |
| 3571 if (argc == 0) { | 3541 if (argc == 0) { |
| 3572 } else { | 3542 } else { |
| 3573 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"updateBatch"); | 3543 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"updateBatch"); |
| 3574 } | 3544 } |
| 3575 } | 3545 } |
| 3576 void CXFA_Node::Script_Source_Previous(CFXJSE_Arguments* pArguments) { | 3546 void CXFA_Node::Script_Source_Previous(CFXJSE_Arguments* pArguments) { |
| 3577 int32_t argc = pArguments->GetLength(); | 3547 int32_t argc = pArguments->GetLength(); |
| 3578 if (argc == 0) { | 3548 if (argc == 0) { |
| 3579 } else { | 3549 } else { |
| 3580 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"previous"); | 3550 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"previous"); |
| 3581 } | 3551 } |
| 3582 } | 3552 } |
| 3583 void CXFA_Node::Script_Source_IsBOF(CFXJSE_Arguments* pArguments) { | 3553 void CXFA_Node::Script_Source_IsBOF(CFXJSE_Arguments* pArguments) { |
| 3584 int32_t argc = pArguments->GetLength(); | 3554 int32_t argc = pArguments->GetLength(); |
| 3585 if (argc == 0) { | 3555 if (argc == 0) { |
| 3586 } else { | 3556 } else { |
| 3587 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isBOF"); | 3557 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isBOF"); |
| 3588 } | 3558 } |
| 3589 } | 3559 } |
| 3590 void CXFA_Node::Script_Source_IsEOF(CFXJSE_Arguments* pArguments) { | 3560 void CXFA_Node::Script_Source_IsEOF(CFXJSE_Arguments* pArguments) { |
| 3591 int32_t argc = pArguments->GetLength(); | 3561 int32_t argc = pArguments->GetLength(); |
| 3592 if (argc == 0) { | 3562 if (argc == 0) { |
| 3593 } else { | 3563 } else { |
| 3594 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isEOF"); | 3564 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isEOF"); |
| 3595 } | 3565 } |
| 3596 } | 3566 } |
| 3597 void CXFA_Node::Script_Source_Cancel(CFXJSE_Arguments* pArguments) { | 3567 void CXFA_Node::Script_Source_Cancel(CFXJSE_Arguments* pArguments) { |
| 3598 int32_t argc = pArguments->GetLength(); | 3568 int32_t argc = pArguments->GetLength(); |
| 3599 if (argc == 0) { | 3569 if (argc == 0) { |
| 3600 } else { | 3570 } else { |
| 3601 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"cancel"); | 3571 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"cancel"); |
| 3602 } | 3572 } |
| 3603 } | 3573 } |
| 3604 void CXFA_Node::Script_Source_Update(CFXJSE_Arguments* pArguments) { | 3574 void CXFA_Node::Script_Source_Update(CFXJSE_Arguments* pArguments) { |
| 3605 int32_t argc = pArguments->GetLength(); | 3575 int32_t argc = pArguments->GetLength(); |
| 3606 if (argc == 0) { | 3576 if (argc == 0) { |
| 3607 } else { | 3577 } else { |
| 3608 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"update"); | 3578 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"update"); |
| 3609 } | 3579 } |
| 3610 } | 3580 } |
| 3611 void CXFA_Node::Script_Source_Open(CFXJSE_Arguments* pArguments) { | 3581 void CXFA_Node::Script_Source_Open(CFXJSE_Arguments* pArguments) { |
| 3612 int32_t argc = pArguments->GetLength(); | 3582 int32_t argc = pArguments->GetLength(); |
| 3613 if (argc == 0) { | 3583 if (argc == 0) { |
| 3614 } else { | 3584 } else { |
| 3615 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"open"); | 3585 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"open"); |
| 3616 } | 3586 } |
| 3617 } | 3587 } |
| 3618 void CXFA_Node::Script_Source_Delete(CFXJSE_Arguments* pArguments) { | 3588 void CXFA_Node::Script_Source_Delete(CFXJSE_Arguments* pArguments) { |
| 3619 int32_t argc = pArguments->GetLength(); | 3589 int32_t argc = pArguments->GetLength(); |
| 3620 if (argc == 0) { | 3590 if (argc == 0) { |
| 3621 } else { | 3591 } else { |
| 3622 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"delete"); | 3592 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"delete"); |
| 3623 } | 3593 } |
| 3624 } | 3594 } |
| 3625 void CXFA_Node::Script_Source_AddNew(CFXJSE_Arguments* pArguments) { | 3595 void CXFA_Node::Script_Source_AddNew(CFXJSE_Arguments* pArguments) { |
| 3626 int32_t argc = pArguments->GetLength(); | 3596 int32_t argc = pArguments->GetLength(); |
| 3627 if (argc == 0) { | 3597 if (argc == 0) { |
| 3628 } else { | 3598 } else { |
| 3629 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addNew"); | 3599 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addNew"); |
| 3630 } | 3600 } |
| 3631 } | 3601 } |
| 3632 void CXFA_Node::Script_Source_Requery(CFXJSE_Arguments* pArguments) { | 3602 void CXFA_Node::Script_Source_Requery(CFXJSE_Arguments* pArguments) { |
| 3633 int32_t argc = pArguments->GetLength(); | 3603 int32_t argc = pArguments->GetLength(); |
| 3634 if (argc == 0) { | 3604 if (argc == 0) { |
| 3635 } else { | 3605 } else { |
| 3636 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"requery"); | 3606 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"requery"); |
| 3637 } | 3607 } |
| 3638 } | 3608 } |
| 3639 void CXFA_Node::Script_Source_Resync(CFXJSE_Arguments* pArguments) { | 3609 void CXFA_Node::Script_Source_Resync(CFXJSE_Arguments* pArguments) { |
| 3640 int32_t argc = pArguments->GetLength(); | 3610 int32_t argc = pArguments->GetLength(); |
| 3641 if (argc == 0) { | 3611 if (argc == 0) { |
| 3642 } else { | 3612 } else { |
| 3643 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resync"); | 3613 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resync"); |
| 3644 } | 3614 } |
| 3645 } | 3615 } |
| 3646 void CXFA_Node::Script_Source_Close(CFXJSE_Arguments* pArguments) { | 3616 void CXFA_Node::Script_Source_Close(CFXJSE_Arguments* pArguments) { |
| 3647 int32_t argc = pArguments->GetLength(); | 3617 int32_t argc = pArguments->GetLength(); |
| 3648 if (argc == 0) { | 3618 if (argc == 0) { |
| 3649 } else { | 3619 } else { |
| 3650 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"close"); | 3620 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"close"); |
| 3651 } | 3621 } |
| 3652 } | 3622 } |
| 3653 void CXFA_Node::Script_Source_Last(CFXJSE_Arguments* pArguments) { | 3623 void CXFA_Node::Script_Source_Last(CFXJSE_Arguments* pArguments) { |
| 3654 int32_t argc = pArguments->GetLength(); | 3624 int32_t argc = pArguments->GetLength(); |
| 3655 if (argc == 0) { | 3625 if (argc == 0) { |
| 3656 } else { | 3626 } else { |
| 3657 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"last"); | 3627 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"last"); |
| 3658 } | 3628 } |
| 3659 } | 3629 } |
| 3660 void CXFA_Node::Script_Source_HasDataChanged(CFXJSE_Arguments* pArguments) { | 3630 void CXFA_Node::Script_Source_HasDataChanged(CFXJSE_Arguments* pArguments) { |
| 3661 int32_t argc = pArguments->GetLength(); | 3631 int32_t argc = pArguments->GetLength(); |
| 3662 if (argc == 0) { | 3632 if (argc == 0) { |
| 3663 } else { | 3633 } else { |
| 3664 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3634 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"hasDataChanged"); |
| 3665 L"hasDataChanged"); | |
| 3666 } | 3635 } |
| 3667 } | 3636 } |
| 3668 void CXFA_Node::Script_Source_Db(CFXJSE_Value* pValue, | 3637 void CXFA_Node::Script_Source_Db(CFXJSE_Value* pValue, |
| 3669 FX_BOOL bSetting, | 3638 FX_BOOL bSetting, |
| 3670 XFA_ATTRIBUTE eAttribute) {} | 3639 XFA_ATTRIBUTE eAttribute) {} |
| 3671 void CXFA_Node::Script_Xfa_This(CFXJSE_Value* pValue, | 3640 void CXFA_Node::Script_Xfa_This(CFXJSE_Value* pValue, |
| 3672 FX_BOOL bSetting, | 3641 FX_BOOL bSetting, |
| 3673 XFA_ATTRIBUTE eAttribute) { | 3642 XFA_ATTRIBUTE eAttribute) { |
| 3674 if (!bSetting) { | 3643 if (!bSetting) { |
| 3675 CXFA_Object* pThis = m_pDocument->GetScriptContext()->GetThisObject(); | 3644 CXFA_Object* pThis = m_pDocument->GetScriptContext()->GetThisObject(); |
| 3676 ASSERT(pThis); | 3645 ASSERT(pThis); |
| 3677 FXJSE_Value_Set(pValue, | 3646 FXJSE_Value_Set(pValue, |
| 3678 m_pDocument->GetScriptContext()->GetJSValueFromMap(pThis)); | 3647 m_pDocument->GetScriptContext()->GetJSValueFromMap(pThis)); |
| 3679 } | 3648 } |
| 3680 } | 3649 } |
| 3681 void CXFA_Node::Script_Handler_Version(CFXJSE_Value* pValue, | 3650 void CXFA_Node::Script_Handler_Version(CFXJSE_Value* pValue, |
| 3682 FX_BOOL bSetting, | 3651 FX_BOOL bSetting, |
| 3683 XFA_ATTRIBUTE eAttribute) {} | 3652 XFA_ATTRIBUTE eAttribute) {} |
| 3684 void CXFA_Node::Script_SubmitFormat_Mode(CFXJSE_Value* pValue, | 3653 void CXFA_Node::Script_SubmitFormat_Mode(CFXJSE_Value* pValue, |
| 3685 FX_BOOL bSetting, | 3654 FX_BOOL bSetting, |
| 3686 XFA_ATTRIBUTE eAttribute) {} | 3655 XFA_ATTRIBUTE eAttribute) {} |
| 3687 void CXFA_Node::Script_Extras_Type(CFXJSE_Value* pValue, | 3656 void CXFA_Node::Script_Extras_Type(CFXJSE_Value* pValue, |
| 3688 FX_BOOL bSetting, | 3657 FX_BOOL bSetting, |
| 3689 XFA_ATTRIBUTE eAttribute) {} | 3658 XFA_ATTRIBUTE eAttribute) {} |
| 3690 void CXFA_Node::Script_Script_Stateless(CFXJSE_Value* pValue, | 3659 void CXFA_Node::Script_Script_Stateless(CFXJSE_Value* pValue, |
| 3691 FX_BOOL bSetting, | 3660 FX_BOOL bSetting, |
| 3692 XFA_ATTRIBUTE eAttribute) { | 3661 XFA_ATTRIBUTE eAttribute) { |
| 3693 if (bSetting) { | 3662 if (bSetting) { |
| 3694 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 3663 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 3695 return; | 3664 return; |
| 3696 } | 3665 } |
| 3697 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(FX_WSTRC(L"0")).AsStringC()); | 3666 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(FX_WSTRC(L"0")).AsStringC()); |
| 3698 } | 3667 } |
| 3699 void CXFA_Node::Script_Encrypt_Format(CFXJSE_Value* pValue, | 3668 void CXFA_Node::Script_Encrypt_Format(CFXJSE_Value* pValue, |
| 3700 FX_BOOL bSetting, | 3669 FX_BOOL bSetting, |
| 3701 XFA_ATTRIBUTE eAttribute) {} | 3670 XFA_ATTRIBUTE eAttribute) {} |
| 3702 enum XFA_KEYTYPE { | 3671 enum XFA_KEYTYPE { |
| 3703 XFA_KEYTYPE_Custom, | 3672 XFA_KEYTYPE_Custom, |
| 3704 XFA_KEYTYPE_Element, | 3673 XFA_KEYTYPE_Element, |
| (...skipping 1508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5213 } | 5182 } |
| 5214 return NULL; | 5183 return NULL; |
| 5215 } | 5184 } |
| 5216 void CXFA_NodeList::Script_ListClass_Append(CFXJSE_Arguments* pArguments) { | 5185 void CXFA_NodeList::Script_ListClass_Append(CFXJSE_Arguments* pArguments) { |
| 5217 int32_t argc = pArguments->GetLength(); | 5186 int32_t argc = pArguments->GetLength(); |
| 5218 if (argc == 1) { | 5187 if (argc == 1) { |
| 5219 CXFA_Node* pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); | 5188 CXFA_Node* pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); |
| 5220 if (pNode) { | 5189 if (pNode) { |
| 5221 Append(pNode); | 5190 Append(pNode); |
| 5222 } else { | 5191 } else { |
| 5223 ThrowScriptErrorMessage(XFA_IDS_ARGUMENT_MISMATCH); | 5192 Throw(XFA_IDS_ARGUMENT_MISMATCH); |
| 5224 } | 5193 } |
| 5225 } else { | 5194 } else { |
| 5226 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"append"); | 5195 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"append"); |
| 5227 } | 5196 } |
| 5228 } | 5197 } |
| 5229 void CXFA_NodeList::Script_ListClass_Insert(CFXJSE_Arguments* pArguments) { | 5198 void CXFA_NodeList::Script_ListClass_Insert(CFXJSE_Arguments* pArguments) { |
| 5230 int32_t argc = pArguments->GetLength(); | 5199 int32_t argc = pArguments->GetLength(); |
| 5231 if (argc == 2) { | 5200 if (argc == 2) { |
| 5232 CXFA_Node* pNewNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); | 5201 CXFA_Node* pNewNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); |
| 5233 CXFA_Node* pBeforeNode = static_cast<CXFA_Node*>(pArguments->GetObject(1)); | 5202 CXFA_Node* pBeforeNode = static_cast<CXFA_Node*>(pArguments->GetObject(1)); |
| 5234 if (pNewNode) { | 5203 if (pNewNode) { |
| 5235 Insert(pNewNode, pBeforeNode); | 5204 Insert(pNewNode, pBeforeNode); |
| 5236 } else { | 5205 } else { |
| 5237 ThrowScriptErrorMessage(XFA_IDS_ARGUMENT_MISMATCH); | 5206 Throw(XFA_IDS_ARGUMENT_MISMATCH); |
| 5238 } | 5207 } |
| 5239 } else { | 5208 } else { |
| 5240 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"insert"); | 5209 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"insert"); |
| 5241 } | 5210 } |
| 5242 } | 5211 } |
| 5243 void CXFA_NodeList::Script_ListClass_Remove(CFXJSE_Arguments* pArguments) { | 5212 void CXFA_NodeList::Script_ListClass_Remove(CFXJSE_Arguments* pArguments) { |
| 5244 int32_t argc = pArguments->GetLength(); | 5213 int32_t argc = pArguments->GetLength(); |
| 5245 if (argc == 1) { | 5214 if (argc == 1) { |
| 5246 CXFA_Node* pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); | 5215 CXFA_Node* pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); |
| 5247 if (pNode) { | 5216 if (pNode) { |
| 5248 Remove(pNode); | 5217 Remove(pNode); |
| 5249 } else { | 5218 } else { |
| 5250 ThrowScriptErrorMessage(XFA_IDS_ARGUMENT_MISMATCH); | 5219 Throw(XFA_IDS_ARGUMENT_MISMATCH); |
| 5251 } | 5220 } |
| 5252 } else { | 5221 } else { |
| 5253 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remove"); | 5222 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remove"); |
| 5254 } | 5223 } |
| 5255 } | 5224 } |
| 5256 void CXFA_NodeList::Script_ListClass_Item(CFXJSE_Arguments* pArguments) { | 5225 void CXFA_NodeList::Script_ListClass_Item(CFXJSE_Arguments* pArguments) { |
| 5257 int32_t argc = pArguments->GetLength(); | 5226 int32_t argc = pArguments->GetLength(); |
| 5258 if (argc == 1) { | 5227 if (argc == 1) { |
| 5259 int32_t iIndex = pArguments->GetInt32(0); | 5228 int32_t iIndex = pArguments->GetInt32(0); |
| 5260 if ((iIndex >= 0) && (iIndex + 1 <= GetLength())) { | 5229 if ((iIndex >= 0) && (iIndex + 1 <= GetLength())) { |
| 5261 FXJSE_Value_Set( | 5230 FXJSE_Value_Set( |
| 5262 pArguments->GetReturnValue(), | 5231 pArguments->GetReturnValue(), |
| 5263 m_pDocument->GetScriptContext()->GetJSValueFromMap(Item(iIndex))); | 5232 m_pDocument->GetScriptContext()->GetJSValueFromMap(Item(iIndex))); |
| 5264 } else { | 5233 } else { |
| 5265 ThrowScriptErrorMessage(XFA_IDS_INDEX_OUT_OF_BOUNDS); | 5234 Throw(XFA_IDS_INDEX_OUT_OF_BOUNDS); |
| 5266 } | 5235 } |
| 5267 } else { | 5236 } else { |
| 5268 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"item"); | 5237 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"item"); |
| 5269 } | 5238 } |
| 5270 } | 5239 } |
| 5271 void CXFA_NodeList::Script_TreelistClass_NamedItem( | 5240 void CXFA_NodeList::Script_TreelistClass_NamedItem( |
| 5272 CFXJSE_Arguments* pArguments) { | 5241 CFXJSE_Arguments* pArguments) { |
| 5273 int32_t argc = pArguments->GetLength(); | 5242 int32_t argc = pArguments->GetLength(); |
| 5274 if (argc == 1) { | 5243 if (argc == 1) { |
| 5275 CFX_ByteString szName = pArguments->GetUTF8String(0); | 5244 CFX_ByteString szName = pArguments->GetUTF8String(0); |
| 5276 CXFA_Node* pNode = | 5245 CXFA_Node* pNode = |
| 5277 NamedItem(CFX_WideString::FromUTF8(szName.AsStringC()).AsStringC()); | 5246 NamedItem(CFX_WideString::FromUTF8(szName.AsStringC()).AsStringC()); |
| 5278 if (!pNode) { | 5247 if (!pNode) { |
| 5279 return; | 5248 return; |
| 5280 } | 5249 } |
| 5281 FXJSE_Value_Set(pArguments->GetReturnValue(), | 5250 FXJSE_Value_Set(pArguments->GetReturnValue(), |
| 5282 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNode)); | 5251 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNode)); |
| 5283 } else { | 5252 } else { |
| 5284 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"namedItem"); | 5253 Throw(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"namedItem"); |
| 5285 } | 5254 } |
| 5286 } | 5255 } |
| 5287 void CXFA_NodeList::Script_ListClass_Length(CFXJSE_Value* pValue, | 5256 void CXFA_NodeList::Script_ListClass_Length(CFXJSE_Value* pValue, |
| 5288 FX_BOOL bSetting, | 5257 FX_BOOL bSetting, |
| 5289 XFA_ATTRIBUTE eAttribute) { | 5258 XFA_ATTRIBUTE eAttribute) { |
| 5290 if (!bSetting) { | 5259 if (!bSetting) { |
| 5291 FXJSE_Value_SetInteger(pValue, GetLength()); | 5260 FXJSE_Value_SetInteger(pValue, GetLength()); |
| 5292 } else { | 5261 } else { |
| 5293 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 5262 Throw(XFA_IDS_INVAlID_PROP_SET); |
| 5294 } | 5263 } |
| 5295 } | 5264 } |
| 5296 CXFA_ArrayNodeList::CXFA_ArrayNodeList(CXFA_Document* pDocument) | 5265 CXFA_ArrayNodeList::CXFA_ArrayNodeList(CXFA_Document* pDocument) |
| 5297 : CXFA_NodeList(pDocument) {} | 5266 : CXFA_NodeList(pDocument) {} |
| 5298 void CXFA_ArrayNodeList::SetArrayNodeList(const CXFA_NodeArray& srcArray) { | 5267 void CXFA_ArrayNodeList::SetArrayNodeList(const CXFA_NodeArray& srcArray) { |
| 5299 if (srcArray.GetSize() > 0) { | 5268 if (srcArray.GetSize() > 0) { |
| 5300 m_array.Copy(srcArray); | 5269 m_array.Copy(srcArray); |
| 5301 } | 5270 } |
| 5302 } | 5271 } |
| 5303 int32_t CXFA_ArrayNodeList::GetLength() { | 5272 int32_t CXFA_ArrayNodeList::GetLength() { |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5364 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode); | 5333 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode); |
| 5365 } | 5334 } |
| 5366 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { | 5335 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { |
| 5367 return m_pAttachNode->RemoveChild(pNode); | 5336 return m_pAttachNode->RemoveChild(pNode); |
| 5368 } | 5337 } |
| 5369 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) { | 5338 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) { |
| 5370 return m_pAttachNode->GetChild( | 5339 return m_pAttachNode->GetChild( |
| 5371 iIndex, XFA_ELEMENT_UNKNOWN, | 5340 iIndex, XFA_ELEMENT_UNKNOWN, |
| 5372 m_pAttachNode->GetClassID() == XFA_ELEMENT_Subform); | 5341 m_pAttachNode->GetClassID() == XFA_ELEMENT_Subform); |
| 5373 } | 5342 } |
| OLD | NEW |