Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(241)

Side by Side Diff: xfa/fxfa/parser/xfa_object_imp.cpp

Issue 2012253002: Remove FXJSE_HOBJECT and FXJSE_HVALUE for CFXJSE_Value* (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@fxjse_hclass
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fxfa/parser/xfa_object.h ('k') | xfa/fxfa/parser/xfa_script.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/xfa_object.h ('k') | xfa/fxfa/parser/xfa_script.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698