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 |