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