| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "xfa/fxfa/parser/xfa_object.h" | 7 #include "xfa/fxfa/parser/xfa_object.h" |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 void XFA_CopyWideString(void*& pData) { | 36 void XFA_CopyWideString(void*& pData) { |
| 37 if (pData) { | 37 if (pData) { |
| 38 CFX_WideString* pNewData = new CFX_WideString(*(CFX_WideString*)pData); | 38 CFX_WideString* pNewData = new CFX_WideString(*(CFX_WideString*)pData); |
| 39 pData = pNewData; | 39 pData = pNewData; |
| 40 } | 40 } |
| 41 } | 41 } |
| 42 | 42 |
| 43 XFA_MAPDATABLOCKCALLBACKINFO deleteWideStringCallBack = {XFA_DeleteWideString, | 43 XFA_MAPDATABLOCKCALLBACKINFO deleteWideStringCallBack = {XFA_DeleteWideString, |
| 44 XFA_CopyWideString}; | 44 XFA_CopyWideString}; |
| 45 | 45 |
| 46 XFA_ObjectType XFA_GetElementObjectType(XFA_ELEMENT eElement) { | 46 XFA_ObjectType XFA_GetElementObjectType(XFA_Element eElement) { |
| 47 return XFA_GetElementByID(eElement)->eObjectType; | 47 return XFA_GetElementByID(eElement)->eObjectType; |
| 48 } | 48 } |
| 49 | 49 |
| 50 void XFA_DataNodeDeleteBindItem(void* pData) { | 50 void XFA_DataNodeDeleteBindItem(void* pData) { |
| 51 delete static_cast<CXFA_NodeArray*>(pData); | 51 delete static_cast<CXFA_NodeArray*>(pData); |
| 52 } | 52 } |
| 53 | 53 |
| 54 XFA_MAPDATABLOCKCALLBACKINFO deleteBindItemCallBack = { | 54 XFA_MAPDATABLOCKCALLBACKINFO deleteBindItemCallBack = { |
| 55 XFA_DataNodeDeleteBindItem, nullptr}; | 55 XFA_DataNodeDeleteBindItem, nullptr}; |
| 56 | 56 |
| 57 } // namespace | 57 } // namespace |
| 58 | 58 |
| 59 CXFA_Object::CXFA_Object(CXFA_Document* pDocument, XFA_ObjectType type) | 59 CXFA_Object::CXFA_Object(CXFA_Document* pDocument, XFA_ObjectType type) |
| 60 : m_pDocument(pDocument), m_objectType(type) {} | 60 : m_pDocument(pDocument), m_objectType(type) {} |
| 61 | 61 |
| 62 CXFA_Object::~CXFA_Object() {} | 62 CXFA_Object::~CXFA_Object() {} |
| 63 | 63 |
| 64 void CXFA_Object::GetClassName(CFX_WideStringC& wsName) const { | 64 void CXFA_Object::GetClassName(CFX_WideStringC& wsName) const { |
| 65 wsName = XFA_GetElementByID(GetClassID())->pName; | 65 wsName = XFA_GetElementByID(GetClassID())->pName; |
| 66 } | 66 } |
| 67 | 67 |
| 68 uint32_t CXFA_Object::GetClassHashCode() const { | 68 uint32_t CXFA_Object::GetClassHashCode() const { |
| 69 return XFA_GetElementByID(GetClassID())->uHash; | 69 return XFA_GetElementByID(GetClassID())->uHash; |
| 70 } | 70 } |
| 71 | 71 |
| 72 XFA_ELEMENT CXFA_Object::GetClassID() const { | 72 XFA_Element CXFA_Object::GetClassID() const { |
| 73 if (IsNode()) | 73 if (IsNode()) |
| 74 return AsNode()->GetClassID(); | 74 return AsNode()->GetClassID(); |
| 75 if (IsOrdinaryObject()) | 75 if (IsOrdinaryObject()) |
| 76 return AsOrdinaryObject()->GetClassID(); | 76 return AsOrdinaryObject()->GetClassID(); |
| 77 if (IsNodeList()) | 77 if (IsNodeList()) |
| 78 return AsNodeList()->GetClassID(); | 78 return AsNodeList()->GetClassID(); |
| 79 if (IsOrdinaryList()) | 79 if (IsOrdinaryList()) |
| 80 return XFA_ELEMENT_List; | 80 return XFA_Element::List; |
| 81 ASSERT(FALSE); | 81 ASSERT(FALSE); |
| 82 return (XFA_ELEMENT)0; | 82 return XFA_Element::Unknown; |
| 83 } | 83 } |
| 84 | 84 |
| 85 void CXFA_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue, | 85 void CXFA_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue, |
| 86 FX_BOOL bSetting, | 86 FX_BOOL bSetting, |
| 87 XFA_ATTRIBUTE eAttribute) { | 87 XFA_ATTRIBUTE eAttribute) { |
| 88 if (!bSetting) { | 88 if (!bSetting) { |
| 89 CFX_WideStringC className; | 89 CFX_WideStringC className; |
| 90 GetClassName(className); | 90 GetClassName(className); |
| 91 pValue->SetString( | 91 pValue->SetString( |
| 92 FX_UTF8Encode(className.c_str(), className.GetLength()).AsStringC()); | 92 FX_UTF8Encode(className.c_str(), className.GetLength()).AsStringC()); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 108 FXJSE_ThrowMessage( | 108 FXJSE_ThrowMessage( |
| 109 FX_UTF8Encode(wsMessage.c_str(), wsMessage.GetLength()).AsStringC()); | 109 FX_UTF8Encode(wsMessage.c_str(), wsMessage.GetLength()).AsStringC()); |
| 110 } | 110 } |
| 111 | 111 |
| 112 XFA_MAPMODULEDATA::XFA_MAPMODULEDATA() {} | 112 XFA_MAPMODULEDATA::XFA_MAPMODULEDATA() {} |
| 113 | 113 |
| 114 XFA_MAPMODULEDATA::~XFA_MAPMODULEDATA() {} | 114 XFA_MAPMODULEDATA::~XFA_MAPMODULEDATA() {} |
| 115 | 115 |
| 116 CXFA_Node::CXFA_Node(CXFA_Document* pDoc, | 116 CXFA_Node::CXFA_Node(CXFA_Document* pDoc, |
| 117 uint16_t ePacket, | 117 uint16_t ePacket, |
| 118 XFA_ELEMENT eElement) | 118 XFA_Element eElement) |
| 119 : CXFA_Object(pDoc, XFA_GetElementObjectType(eElement)), | 119 : CXFA_Object(pDoc, XFA_GetElementObjectType(eElement)), |
| 120 m_pNext(nullptr), | 120 m_pNext(nullptr), |
| 121 m_pChild(nullptr), | 121 m_pChild(nullptr), |
| 122 m_pLastChild(nullptr), | 122 m_pLastChild(nullptr), |
| 123 m_pParent(nullptr), | 123 m_pParent(nullptr), |
| 124 m_pXMLNode(nullptr), | 124 m_pXMLNode(nullptr), |
| 125 m_eNodeClass(eElement), | 125 m_eNodeClass(eElement), |
| 126 m_ePacket(ePacket), | 126 m_ePacket(ePacket), |
| 127 m_uNodeFlags(XFA_NodeFlag_None), | 127 m_uNodeFlags(XFA_NodeFlag_None), |
| 128 m_dwNameHash(0), | 128 m_dwNameHash(0), |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 239 } | 239 } |
| 240 break; | 240 break; |
| 241 default: | 241 default: |
| 242 break; | 242 break; |
| 243 } | 243 } |
| 244 return pNode; | 244 return pNode; |
| 245 } | 245 } |
| 246 | 246 |
| 247 int32_t CXFA_Node::GetNodeList(CXFA_NodeArray& nodes, | 247 int32_t CXFA_Node::GetNodeList(CXFA_NodeArray& nodes, |
| 248 uint32_t dwTypeFilter, | 248 uint32_t dwTypeFilter, |
| 249 XFA_ELEMENT eElementFilter, | 249 XFA_Element eElementFilter, |
| 250 int32_t iLevel) { | 250 int32_t iLevel) { |
| 251 if (--iLevel < 0) { | 251 if (--iLevel < 0) { |
| 252 return nodes.GetSize(); | 252 return nodes.GetSize(); |
| 253 } | 253 } |
| 254 if (eElementFilter != XFA_ELEMENT_UNKNOWN) { | 254 if (eElementFilter != XFA_Element::Unknown) { |
| 255 CXFA_Node* pChild = m_pChild; | 255 CXFA_Node* pChild = m_pChild; |
| 256 while (pChild) { | 256 while (pChild) { |
| 257 if (pChild->GetClassID() == eElementFilter) { | 257 if (pChild->GetClassID() == eElementFilter) { |
| 258 nodes.Add(pChild); | 258 nodes.Add(pChild); |
| 259 if (iLevel > 0) { | 259 if (iLevel > 0) { |
| 260 GetNodeList(nodes, dwTypeFilter, eElementFilter, iLevel); | 260 GetNodeList(nodes, dwTypeFilter, eElementFilter, iLevel); |
| 261 } | 261 } |
| 262 } | 262 } |
| 263 pChild = pChild->m_pNext; | 263 pChild = pChild->m_pNext; |
| 264 } | 264 } |
| (...skipping 16 matching lines...) Expand all Loading... |
| 281 while (pChild) { | 281 while (pChild) { |
| 282 const XFA_PROPERTY* pProperty = XFA_GetPropertyOfElement( | 282 const XFA_PROPERTY* pProperty = XFA_GetPropertyOfElement( |
| 283 GetClassID(), pChild->GetClassID(), XFA_XDPPACKET_UNKNOWN); | 283 GetClassID(), pChild->GetClassID(), XFA_XDPPACKET_UNKNOWN); |
| 284 if (pProperty) { | 284 if (pProperty) { |
| 285 if (bFilterProperties) { | 285 if (bFilterProperties) { |
| 286 nodes.Add(pChild); | 286 nodes.Add(pChild); |
| 287 } else if (bFilterOneOfProperties && | 287 } else if (bFilterOneOfProperties && |
| 288 (pProperty->uFlags & XFA_PROPERTYFLAG_OneOf)) { | 288 (pProperty->uFlags & XFA_PROPERTYFLAG_OneOf)) { |
| 289 nodes.Add(pChild); | 289 nodes.Add(pChild); |
| 290 } else if (bFilterChildren && | 290 } else if (bFilterChildren && |
| 291 (pChild->GetClassID() == XFA_ELEMENT_Variables || | 291 (pChild->GetClassID() == XFA_Element::Variables || |
| 292 pChild->GetClassID() == XFA_ELEMENT_PageSet)) { | 292 pChild->GetClassID() == XFA_Element::PageSet)) { |
| 293 nodes.Add(pChild); | 293 nodes.Add(pChild); |
| 294 } | 294 } |
| 295 } else if (bFilterChildren) { | 295 } else if (bFilterChildren) { |
| 296 nodes.Add(pChild); | 296 nodes.Add(pChild); |
| 297 } | 297 } |
| 298 pChild = pChild->m_pNext; | 298 pChild = pChild->m_pNext; |
| 299 } | 299 } |
| 300 if (bFilterOneOfProperties && nodes.GetSize() < 1) { | 300 if (bFilterOneOfProperties && nodes.GetSize() < 1) { |
| 301 int32_t iProperties = 0; | 301 int32_t iProperties = 0; |
| 302 const XFA_PROPERTY* pProperty = | 302 const XFA_PROPERTY* pProperty = |
| 303 XFA_GetElementProperties(GetClassID(), iProperties); | 303 XFA_GetElementProperties(GetClassID(), iProperties); |
| 304 if (!pProperty || iProperties < 1) | 304 if (!pProperty || iProperties < 1) |
| 305 return 0; | 305 return 0; |
| 306 for (int32_t i = 0; i < iProperties; i++) { | 306 for (int32_t i = 0; i < iProperties; i++) { |
| 307 if (pProperty[i].uFlags & XFA_PROPERTYFLAG_DefaultOneOf) { | 307 if (pProperty[i].uFlags & XFA_PROPERTYFLAG_DefaultOneOf) { |
| 308 CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory(); | 308 CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory(); |
| 309 const XFA_PACKETINFO* pPacket = XFA_GetPacketByID(GetPacketID()); | 309 const XFA_PACKETINFO* pPacket = XFA_GetPacketByID(GetPacketID()); |
| 310 CXFA_Node* pNewNode = | 310 CXFA_Node* pNewNode = |
| 311 pFactory->CreateNode(pPacket, (XFA_ELEMENT)pProperty[i].eName); | 311 pFactory->CreateNode(pPacket, pProperty[i].eName); |
| 312 if (!pNewNode) | 312 if (!pNewNode) |
| 313 break; | 313 break; |
| 314 InsertChild(pNewNode, nullptr); | 314 InsertChild(pNewNode, nullptr); |
| 315 pNewNode->SetFlag(XFA_NodeFlag_Initialized, true); | 315 pNewNode->SetFlag(XFA_NodeFlag_Initialized, true); |
| 316 nodes.Add(pNewNode); | 316 nodes.Add(pNewNode); |
| 317 break; | 317 break; |
| 318 } | 318 } |
| 319 } | 319 } |
| 320 } | 320 } |
| 321 } | 321 } |
| 322 return nodes.GetSize(); | 322 return nodes.GetSize(); |
| 323 } | 323 } |
| 324 | 324 |
| 325 CXFA_Node* CXFA_Node::CreateSamePacketNode(XFA_ELEMENT eElement, | 325 CXFA_Node* CXFA_Node::CreateSamePacketNode(XFA_Element eElement, |
| 326 uint32_t dwFlags) { | 326 uint32_t dwFlags) { |
| 327 CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory(); | 327 CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory(); |
| 328 CXFA_Node* pNode = pFactory->CreateNode(m_ePacket, eElement); | 328 CXFA_Node* pNode = pFactory->CreateNode(m_ePacket, eElement); |
| 329 pNode->SetFlag(dwFlags, true); | 329 pNode->SetFlag(dwFlags, true); |
| 330 return pNode; | 330 return pNode; |
| 331 } | 331 } |
| 332 | 332 |
| 333 CXFA_Node* CXFA_Node::CloneTemplateToForm(FX_BOOL bRecursive) { | 333 CXFA_Node* CXFA_Node::CloneTemplateToForm(FX_BOOL bRecursive) { |
| 334 ASSERT(m_ePacket == XFA_XDPPACKET_Template); | 334 ASSERT(m_ePacket == XFA_XDPPACKET_Template); |
| 335 CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory(); | 335 CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory(); |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 GetObject(XFA_ATTRIBUTE_BindingNode); | 438 GetObject(XFA_ATTRIBUTE_BindingNode); |
| 439 } | 439 } |
| 440 | 440 |
| 441 CXFA_WidgetData* CXFA_Node::GetWidgetData() { | 441 CXFA_WidgetData* CXFA_Node::GetWidgetData() { |
| 442 return (CXFA_WidgetData*)GetObject(XFA_ATTRIBUTE_WidgetData); | 442 return (CXFA_WidgetData*)GetObject(XFA_ATTRIBUTE_WidgetData); |
| 443 } | 443 } |
| 444 | 444 |
| 445 CXFA_WidgetData* CXFA_Node::GetContainerWidgetData() { | 445 CXFA_WidgetData* CXFA_Node::GetContainerWidgetData() { |
| 446 if (GetPacketID() != XFA_XDPPACKET_Form) | 446 if (GetPacketID() != XFA_XDPPACKET_Form) |
| 447 return nullptr; | 447 return nullptr; |
| 448 XFA_ELEMENT classID = GetClassID(); | 448 XFA_Element classID = GetClassID(); |
| 449 if (classID == XFA_ELEMENT_ExclGroup) | 449 if (classID == XFA_Element::ExclGroup) |
| 450 return nullptr; | 450 return nullptr; |
| 451 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); | 451 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); |
| 452 if (pParentNode && pParentNode->GetClassID() == XFA_ELEMENT_ExclGroup) | 452 if (pParentNode && pParentNode->GetClassID() == XFA_Element::ExclGroup) |
| 453 return nullptr; | 453 return nullptr; |
| 454 | 454 |
| 455 if (classID == XFA_ELEMENT_Field) { | 455 if (classID == XFA_Element::Field) { |
| 456 CXFA_WidgetData* pFieldWidgetData = GetWidgetData(); | 456 CXFA_WidgetData* pFieldWidgetData = GetWidgetData(); |
| 457 if (pFieldWidgetData && | 457 if (pFieldWidgetData && |
| 458 pFieldWidgetData->GetChoiceListOpen() == | 458 pFieldWidgetData->GetChoiceListOpen() == |
| 459 XFA_ATTRIBUTEENUM_MultiSelect) { | 459 XFA_ATTRIBUTEENUM_MultiSelect) { |
| 460 return nullptr; | 460 return nullptr; |
| 461 } else { | 461 } else { |
| 462 CFX_WideString wsPicture; | 462 CFX_WideString wsPicture; |
| 463 if (pFieldWidgetData) { | 463 if (pFieldWidgetData) { |
| 464 pFieldWidgetData->GetPictureContent(wsPicture, | 464 pFieldWidgetData->GetPictureContent(wsPicture, |
| 465 XFA_VALUEPICTURE_DataBind); | 465 XFA_VALUEPICTURE_DataBind); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 484 if (!wsPicture.IsEmpty()) | 484 if (!wsPicture.IsEmpty()) |
| 485 break; | 485 break; |
| 486 pFieldWidgetData = nullptr; | 486 pFieldWidgetData = nullptr; |
| 487 } | 487 } |
| 488 return pFieldWidgetData; | 488 return pFieldWidgetData; |
| 489 } | 489 } |
| 490 } | 490 } |
| 491 CXFA_Node* pGrandNode = | 491 CXFA_Node* pGrandNode = |
| 492 pParentNode ? pParentNode->GetNodeItem(XFA_NODEITEM_Parent) : nullptr; | 492 pParentNode ? pParentNode->GetNodeItem(XFA_NODEITEM_Parent) : nullptr; |
| 493 CXFA_Node* pValueNode = | 493 CXFA_Node* pValueNode = |
| 494 (pParentNode && pParentNode->GetClassID() == XFA_ELEMENT_Value) | 494 (pParentNode && pParentNode->GetClassID() == XFA_Element::Value) |
| 495 ? pParentNode | 495 ? pParentNode |
| 496 : nullptr; | 496 : nullptr; |
| 497 if (!pValueNode) { | 497 if (!pValueNode) { |
| 498 pValueNode = (pGrandNode && pGrandNode->GetClassID() == XFA_ELEMENT_Value) | 498 pValueNode = (pGrandNode && pGrandNode->GetClassID() == XFA_Element::Value) |
| 499 ? pGrandNode | 499 ? pGrandNode |
| 500 : nullptr; | 500 : nullptr; |
| 501 } | 501 } |
| 502 CXFA_Node* pParentOfValueNode = | 502 CXFA_Node* pParentOfValueNode = |
| 503 pValueNode ? pValueNode->GetNodeItem(XFA_NODEITEM_Parent) : nullptr; | 503 pValueNode ? pValueNode->GetNodeItem(XFA_NODEITEM_Parent) : nullptr; |
| 504 return pParentOfValueNode ? pParentOfValueNode->GetContainerWidgetData() | 504 return pParentOfValueNode ? pParentOfValueNode->GetContainerWidgetData() |
| 505 : nullptr; | 505 : nullptr; |
| 506 } | 506 } |
| 507 | 507 |
| 508 FX_BOOL CXFA_Node::GetLocaleName(CFX_WideString& wsLocaleName) { | 508 FX_BOOL CXFA_Node::GetLocaleName(CFX_WideString& wsLocaleName) { |
| 509 CXFA_Node* pForm = GetDocument()->GetXFAObject(XFA_HASHCODE_Form)->AsNode(); | 509 CXFA_Node* pForm = GetDocument()->GetXFAObject(XFA_HASHCODE_Form)->AsNode(); |
| 510 CXFA_Node* pTopSubform = pForm->GetFirstChildByClass(XFA_ELEMENT_Subform); | 510 CXFA_Node* pTopSubform = pForm->GetFirstChildByClass(XFA_Element::Subform); |
| 511 ASSERT(pTopSubform); | 511 ASSERT(pTopSubform); |
| 512 CXFA_Node* pLocaleNode = this; | 512 CXFA_Node* pLocaleNode = this; |
| 513 FX_BOOL bLocale = FALSE; | 513 FX_BOOL bLocale = FALSE; |
| 514 do { | 514 do { |
| 515 bLocale = pLocaleNode->TryCData(XFA_ATTRIBUTE_Locale, wsLocaleName, FALSE); | 515 bLocale = pLocaleNode->TryCData(XFA_ATTRIBUTE_Locale, wsLocaleName, FALSE); |
| 516 if (!bLocale) { | 516 if (!bLocale) { |
| 517 pLocaleNode = pLocaleNode->GetNodeItem(XFA_NODEITEM_Parent); | 517 pLocaleNode = pLocaleNode->GetNodeItem(XFA_NODEITEM_Parent); |
| 518 } | 518 } |
| 519 } while (pLocaleNode && pLocaleNode != pTopSubform && !bLocale); | 519 } while (pLocaleNode && pLocaleNode != pTopSubform && !bLocale); |
| 520 if (bLocale) | 520 if (bLocale) |
| 521 return TRUE; | 521 return TRUE; |
| 522 CXFA_Node* pConfig = ToNode(GetDocument()->GetXFAObject(XFA_HASHCODE_Config)); | 522 CXFA_Node* pConfig = ToNode(GetDocument()->GetXFAObject(XFA_HASHCODE_Config)); |
| 523 wsLocaleName = GetDocument()->GetLocalMgr()->GetConfigLocaleName(pConfig); | 523 wsLocaleName = GetDocument()->GetLocalMgr()->GetConfigLocaleName(pConfig); |
| 524 if (!wsLocaleName.IsEmpty()) | 524 if (!wsLocaleName.IsEmpty()) |
| 525 return TRUE; | 525 return TRUE; |
| 526 if (pTopSubform && | 526 if (pTopSubform && |
| 527 pTopSubform->TryCData(XFA_ATTRIBUTE_Locale, wsLocaleName, FALSE)) { | 527 pTopSubform->TryCData(XFA_ATTRIBUTE_Locale, wsLocaleName, FALSE)) { |
| 528 return TRUE; | 528 return TRUE; |
| 529 } | 529 } |
| 530 IFX_Locale* pLocale = GetDocument()->GetLocalMgr()->GetDefLocale(); | 530 IFX_Locale* pLocale = GetDocument()->GetLocalMgr()->GetDefLocale(); |
| 531 if (pLocale) { | 531 if (pLocale) { |
| 532 wsLocaleName = pLocale->GetName(); | 532 wsLocaleName = pLocale->GetName(); |
| 533 return TRUE; | 533 return TRUE; |
| 534 } | 534 } |
| 535 return FALSE; | 535 return FALSE; |
| 536 } | 536 } |
| 537 | 537 |
| 538 XFA_ATTRIBUTEENUM CXFA_Node::GetIntact() { | 538 XFA_ATTRIBUTEENUM CXFA_Node::GetIntact() { |
| 539 XFA_ELEMENT eElement = GetClassID(); | 539 XFA_Element eElement = GetClassID(); |
| 540 CXFA_Node* pKeep = GetFirstChildByClass(XFA_ELEMENT_Keep); | 540 CXFA_Node* pKeep = GetFirstChildByClass(XFA_Element::Keep); |
| 541 XFA_ATTRIBUTEENUM eLayoutType = GetEnum(XFA_ATTRIBUTE_Layout); | 541 XFA_ATTRIBUTEENUM eLayoutType = GetEnum(XFA_ATTRIBUTE_Layout); |
| 542 if (pKeep) { | 542 if (pKeep) { |
| 543 XFA_ATTRIBUTEENUM eIntact; | 543 XFA_ATTRIBUTEENUM eIntact; |
| 544 if (pKeep->TryEnum(XFA_ATTRIBUTE_Intact, eIntact, FALSE)) { | 544 if (pKeep->TryEnum(XFA_ATTRIBUTE_Intact, eIntact, FALSE)) { |
| 545 if (eIntact == XFA_ATTRIBUTEENUM_None && | 545 if (eIntact == XFA_ATTRIBUTEENUM_None && |
| 546 eLayoutType == XFA_ATTRIBUTEENUM_Row && | 546 eLayoutType == XFA_ATTRIBUTEENUM_Row && |
| 547 m_pDocument->GetCurVersionMode() < XFA_VERSION_208) { | 547 m_pDocument->GetCurVersionMode() < XFA_VERSION_208) { |
| 548 CXFA_Node* pPreviewRow = GetNodeItem(XFA_NODEITEM_PrevSibling, | 548 CXFA_Node* pPreviewRow = GetNodeItem(XFA_NODEITEM_PrevSibling, |
| 549 XFA_ObjectType::ContainerNode); | 549 XFA_ObjectType::ContainerNode); |
| 550 if (pPreviewRow && | 550 if (pPreviewRow && |
| 551 pPreviewRow->GetEnum(XFA_ATTRIBUTE_Layout) == | 551 pPreviewRow->GetEnum(XFA_ATTRIBUTE_Layout) == |
| 552 XFA_ATTRIBUTEENUM_Row) { | 552 XFA_ATTRIBUTEENUM_Row) { |
| 553 XFA_ATTRIBUTEENUM eValue; | 553 XFA_ATTRIBUTEENUM eValue; |
| 554 if (pKeep->TryEnum(XFA_ATTRIBUTE_Previous, eValue, FALSE) && | 554 if (pKeep->TryEnum(XFA_ATTRIBUTE_Previous, eValue, FALSE) && |
| 555 (eValue == XFA_ATTRIBUTEENUM_ContentArea || | 555 (eValue == XFA_ATTRIBUTEENUM_ContentArea || |
| 556 eValue == XFA_ATTRIBUTEENUM_PageArea)) { | 556 eValue == XFA_ATTRIBUTEENUM_PageArea)) { |
| 557 return XFA_ATTRIBUTEENUM_ContentArea; | 557 return XFA_ATTRIBUTEENUM_ContentArea; |
| 558 } | 558 } |
| 559 CXFA_Node* pNode = | 559 CXFA_Node* pNode = |
| 560 pPreviewRow->GetFirstChildByClass(XFA_ELEMENT_Keep); | 560 pPreviewRow->GetFirstChildByClass(XFA_Element::Keep); |
| 561 if (pNode && pNode->TryEnum(XFA_ATTRIBUTE_Next, eValue, FALSE) && | 561 if (pNode && pNode->TryEnum(XFA_ATTRIBUTE_Next, eValue, FALSE) && |
| 562 (eValue == XFA_ATTRIBUTEENUM_ContentArea || | 562 (eValue == XFA_ATTRIBUTEENUM_ContentArea || |
| 563 eValue == XFA_ATTRIBUTEENUM_PageArea)) { | 563 eValue == XFA_ATTRIBUTEENUM_PageArea)) { |
| 564 return XFA_ATTRIBUTEENUM_ContentArea; | 564 return XFA_ATTRIBUTEENUM_ContentArea; |
| 565 } | 565 } |
| 566 } | 566 } |
| 567 } | 567 } |
| 568 return eIntact; | 568 return eIntact; |
| 569 } | 569 } |
| 570 } | 570 } |
| 571 switch (eElement) { | 571 switch (eElement) { |
| 572 case XFA_ELEMENT_Subform: | 572 case XFA_Element::Subform: |
| 573 switch (eLayoutType) { | 573 switch (eLayoutType) { |
| 574 case XFA_ATTRIBUTEENUM_Position: | 574 case XFA_ATTRIBUTEENUM_Position: |
| 575 case XFA_ATTRIBUTEENUM_Row: | 575 case XFA_ATTRIBUTEENUM_Row: |
| 576 return XFA_ATTRIBUTEENUM_ContentArea; | 576 return XFA_ATTRIBUTEENUM_ContentArea; |
| 577 case XFA_ATTRIBUTEENUM_Tb: | 577 case XFA_ATTRIBUTEENUM_Tb: |
| 578 case XFA_ATTRIBUTEENUM_Table: | 578 case XFA_ATTRIBUTEENUM_Table: |
| 579 case XFA_ATTRIBUTEENUM_Lr_tb: | 579 case XFA_ATTRIBUTEENUM_Lr_tb: |
| 580 case XFA_ATTRIBUTEENUM_Rl_tb: | 580 case XFA_ATTRIBUTEENUM_Rl_tb: |
| 581 return XFA_ATTRIBUTEENUM_None; | 581 return XFA_ATTRIBUTEENUM_None; |
| 582 default: | 582 default: |
| 583 break; | 583 break; |
| 584 } | 584 } |
| 585 break; | 585 break; |
| 586 case XFA_ELEMENT_Field: { | 586 case XFA_Element::Field: { |
| 587 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); | 587 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); |
| 588 if (!pParentNode || pParentNode->GetClassID() == XFA_ELEMENT_PageArea) | 588 if (!pParentNode || pParentNode->GetClassID() == XFA_Element::PageArea) |
| 589 return XFA_ATTRIBUTEENUM_ContentArea; | 589 return XFA_ATTRIBUTEENUM_ContentArea; |
| 590 if (pParentNode->GetIntact() == XFA_ATTRIBUTEENUM_None) { | 590 if (pParentNode->GetIntact() == XFA_ATTRIBUTEENUM_None) { |
| 591 XFA_ATTRIBUTEENUM eParLayout = | 591 XFA_ATTRIBUTEENUM eParLayout = |
| 592 pParentNode->GetEnum(XFA_ATTRIBUTE_Layout); | 592 pParentNode->GetEnum(XFA_ATTRIBUTE_Layout); |
| 593 if (eParLayout == XFA_ATTRIBUTEENUM_Position || | 593 if (eParLayout == XFA_ATTRIBUTEENUM_Position || |
| 594 eParLayout == XFA_ATTRIBUTEENUM_Row || | 594 eParLayout == XFA_ATTRIBUTEENUM_Row || |
| 595 eParLayout == XFA_ATTRIBUTEENUM_Table) { | 595 eParLayout == XFA_ATTRIBUTEENUM_Table) { |
| 596 return XFA_ATTRIBUTEENUM_None; | 596 return XFA_ATTRIBUTEENUM_None; |
| 597 } | 597 } |
| 598 XFA_VERSION version = m_pDocument->GetCurVersionMode(); | 598 XFA_VERSION version = m_pDocument->GetCurVersionMode(); |
| 599 if (eParLayout == XFA_ATTRIBUTEENUM_Tb && version < XFA_VERSION_208) { | 599 if (eParLayout == XFA_ATTRIBUTEENUM_Tb && version < XFA_VERSION_208) { |
| 600 CXFA_Measurement measureH; | 600 CXFA_Measurement measureH; |
| 601 if (TryMeasure(XFA_ATTRIBUTE_H, measureH, FALSE)) | 601 if (TryMeasure(XFA_ATTRIBUTE_H, measureH, FALSE)) |
| 602 return XFA_ATTRIBUTEENUM_ContentArea; | 602 return XFA_ATTRIBUTEENUM_ContentArea; |
| 603 } | 603 } |
| 604 return XFA_ATTRIBUTEENUM_None; | 604 return XFA_ATTRIBUTEENUM_None; |
| 605 } | 605 } |
| 606 return XFA_ATTRIBUTEENUM_ContentArea; | 606 return XFA_ATTRIBUTEENUM_ContentArea; |
| 607 } | 607 } |
| 608 case XFA_ELEMENT_Draw: | 608 case XFA_Element::Draw: |
| 609 return XFA_ATTRIBUTEENUM_ContentArea; | 609 return XFA_ATTRIBUTEENUM_ContentArea; |
| 610 default: | 610 default: |
| 611 break; | 611 break; |
| 612 } | 612 } |
| 613 return XFA_ATTRIBUTEENUM_None; | 613 return XFA_ATTRIBUTEENUM_None; |
| 614 } | 614 } |
| 615 | 615 |
| 616 CXFA_Node* CXFA_Node::GetDataDescriptionNode() { | 616 CXFA_Node* CXFA_Node::GetDataDescriptionNode() { |
| 617 if (m_ePacket == XFA_XDPPACKET_Datasets) | 617 if (m_ePacket == XFA_XDPPACKET_Datasets) |
| 618 return m_pAuxNode; | 618 return m_pAuxNode; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 629 if (iLength != 1) { | 629 if (iLength != 1) { |
| 630 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resolveNode"); | 630 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resolveNode"); |
| 631 return; | 631 return; |
| 632 } | 632 } |
| 633 CFX_WideString wsExpression = | 633 CFX_WideString wsExpression = |
| 634 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 634 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 635 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); | 635 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); |
| 636 if (!pScriptContext) | 636 if (!pScriptContext) |
| 637 return; | 637 return; |
| 638 CXFA_Node* refNode = this; | 638 CXFA_Node* refNode = this; |
| 639 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) | 639 if (refNode->GetClassID() == XFA_Element::Xfa) |
| 640 refNode = ToNode(pScriptContext->GetThisObject()); | 640 refNode = ToNode(pScriptContext->GetThisObject()); |
| 641 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | | 641 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | |
| 642 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | | 642 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | |
| 643 XFA_RESOLVENODE_Siblings; | 643 XFA_RESOLVENODE_Siblings; |
| 644 XFA_RESOLVENODE_RS resoveNodeRS; | 644 XFA_RESOLVENODE_RS resoveNodeRS; |
| 645 int32_t iRet = pScriptContext->ResolveObjects( | 645 int32_t iRet = pScriptContext->ResolveObjects( |
| 646 refNode, wsExpression.AsStringC(), resoveNodeRS, dwFlag); | 646 refNode, wsExpression.AsStringC(), resoveNodeRS, dwFlag); |
| 647 if (iRet < 1) { | 647 if (iRet < 1) { |
| 648 pArguments->GetReturnValue()->SetNull(); | 648 pArguments->GetReturnValue()->SetNull(); |
| 649 return; | 649 return; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 675 } | 675 } |
| 676 CFX_WideString wsExpression = | 676 CFX_WideString wsExpression = |
| 677 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 677 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 678 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 678 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 679 if (!pValue) | 679 if (!pValue) |
| 680 return; | 680 return; |
| 681 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | | 681 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | |
| 682 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | | 682 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | |
| 683 XFA_RESOLVENODE_Siblings; | 683 XFA_RESOLVENODE_Siblings; |
| 684 CXFA_Node* refNode = this; | 684 CXFA_Node* refNode = this; |
| 685 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) | 685 if (refNode->GetClassID() == XFA_Element::Xfa) |
| 686 refNode = ToNode(m_pDocument->GetScriptContext()->GetThisObject()); | 686 refNode = ToNode(m_pDocument->GetScriptContext()->GetThisObject()); |
| 687 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag, refNode); | 687 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag, refNode); |
| 688 } | 688 } |
| 689 | 689 |
| 690 void CXFA_Node::Script_Som_ResolveNodeList(CFXJSE_Value* pValue, | 690 void CXFA_Node::Script_Som_ResolveNodeList(CFXJSE_Value* pValue, |
| 691 CFX_WideString wsExpression, | 691 CFX_WideString wsExpression, |
| 692 uint32_t dwFlag, | 692 uint32_t dwFlag, |
| 693 CXFA_Node* refNode) { | 693 CXFA_Node* refNode) { |
| 694 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); | 694 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); |
| 695 if (!pScriptContext) | 695 if (!pScriptContext) |
| (...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1010 pNewChild->SetFlag(XFA_NodeFlag_Initialized, true); | 1010 pNewChild->SetFlag(XFA_NodeFlag_Initialized, true); |
| 1011 pNewChild = pItem; | 1011 pNewChild = pItem; |
| 1012 } | 1012 } |
| 1013 while (pChild) { | 1013 while (pChild) { |
| 1014 CXFA_Node* pItem = pChild->GetNodeItem(XFA_NODEITEM_NextSibling); | 1014 CXFA_Node* pItem = pChild->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 1015 RemoveChild(pChild); | 1015 RemoveChild(pChild); |
| 1016 pFakeRoot->InsertChild(pChild); | 1016 pFakeRoot->InsertChild(pChild); |
| 1017 pChild = pItem; | 1017 pChild = pItem; |
| 1018 } | 1018 } |
| 1019 if (GetPacketID() == XFA_XDPPACKET_Form && | 1019 if (GetPacketID() == XFA_XDPPACKET_Form && |
| 1020 GetClassID() == XFA_ELEMENT_ExData) { | 1020 GetClassID() == XFA_Element::ExData) { |
| 1021 CFDE_XMLNode* pTempXMLNode = GetXMLMappingNode(); | 1021 CFDE_XMLNode* pTempXMLNode = GetXMLMappingNode(); |
| 1022 SetXMLMappingNode(pFakeXMLRoot); | 1022 SetXMLMappingNode(pFakeXMLRoot); |
| 1023 SetFlag(XFA_NodeFlag_OwnXMLNode, false); | 1023 SetFlag(XFA_NodeFlag_OwnXMLNode, false); |
| 1024 if (pTempXMLNode && !pTempXMLNode->GetNodeItem(CFDE_XMLNode::Parent)) { | 1024 if (pTempXMLNode && !pTempXMLNode->GetNodeItem(CFDE_XMLNode::Parent)) { |
| 1025 pFakeXMLRoot = pTempXMLNode; | 1025 pFakeXMLRoot = pTempXMLNode; |
| 1026 } else { | 1026 } else { |
| 1027 pFakeXMLRoot = nullptr; | 1027 pFakeXMLRoot = nullptr; |
| 1028 } | 1028 } |
| 1029 } | 1029 } |
| 1030 MoveBufferMapData(pFakeRoot, this, XFA_CalcData, TRUE); | 1030 MoveBufferMapData(pFakeRoot, this, XFA_CalcData, TRUE); |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1169 else | 1169 else |
| 1170 pValue->SetBoolean(IsContainerNode()); | 1170 pValue->SetBoolean(IsContainerNode()); |
| 1171 } | 1171 } |
| 1172 | 1172 |
| 1173 void CXFA_Node::Script_NodeClass_IsNull(CFXJSE_Value* pValue, | 1173 void CXFA_Node::Script_NodeClass_IsNull(CFXJSE_Value* pValue, |
| 1174 FX_BOOL bSetting, | 1174 FX_BOOL bSetting, |
| 1175 XFA_ATTRIBUTE eAttribute) { | 1175 XFA_ATTRIBUTE eAttribute) { |
| 1176 if (bSetting) { | 1176 if (bSetting) { |
| 1177 ThrowException(XFA_IDS_INVAlID_PROP_SET); | 1177 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1178 } else { | 1178 } else { |
| 1179 if (GetClassID() == XFA_ELEMENT_Subform) { | 1179 if (GetClassID() == XFA_Element::Subform) { |
| 1180 pValue->SetBoolean(FALSE); | 1180 pValue->SetBoolean(FALSE); |
| 1181 return; | 1181 return; |
| 1182 } | 1182 } |
| 1183 CFX_WideString strValue; | 1183 CFX_WideString strValue; |
| 1184 pValue->SetBoolean(!TryContent(strValue) || strValue.IsEmpty()); | 1184 pValue->SetBoolean(!TryContent(strValue) || strValue.IsEmpty()); |
| 1185 } | 1185 } |
| 1186 } | 1186 } |
| 1187 | 1187 |
| 1188 void CXFA_Node::Script_NodeClass_OneOfChild(CFXJSE_Value* pValue, | 1188 void CXFA_Node::Script_NodeClass_OneOfChild(CFXJSE_Value* pValue, |
| 1189 FX_BOOL bSetting, | 1189 FX_BOOL bSetting, |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1283 if (!pNotify) | 1283 if (!pNotify) |
| 1284 return; | 1284 return; |
| 1285 | 1285 |
| 1286 uint32_t dwPacket = GetPacketID(); | 1286 uint32_t dwPacket = GetPacketID(); |
| 1287 if (!(dwPacket & XFA_XDPPACKET_Form)) { | 1287 if (!(dwPacket & XFA_XDPPACKET_Form)) { |
| 1288 pNotify->OnValueChanged(this, eAttribute, this, this); | 1288 pNotify->OnValueChanged(this, eAttribute, this, this); |
| 1289 return; | 1289 return; |
| 1290 } | 1290 } |
| 1291 | 1291 |
| 1292 bool bNeedFindContainer = false; | 1292 bool bNeedFindContainer = false; |
| 1293 XFA_ELEMENT eType = GetClassID(); | 1293 XFA_Element eType = GetClassID(); |
| 1294 switch (eType) { | 1294 switch (eType) { |
| 1295 case XFA_ELEMENT_Caption: | 1295 case XFA_Element::Caption: |
| 1296 bNeedFindContainer = true; | 1296 bNeedFindContainer = true; |
| 1297 pNotify->OnValueChanged(this, eAttribute, this, | 1297 pNotify->OnValueChanged(this, eAttribute, this, |
| 1298 GetNodeItem(XFA_NODEITEM_Parent)); | 1298 GetNodeItem(XFA_NODEITEM_Parent)); |
| 1299 break; | 1299 break; |
| 1300 case XFA_ELEMENT_Font: | 1300 case XFA_Element::Font: |
| 1301 case XFA_ELEMENT_Para: { | 1301 case XFA_Element::Para: { |
| 1302 bNeedFindContainer = true; | 1302 bNeedFindContainer = true; |
| 1303 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); | 1303 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); |
| 1304 if (pParentNode->GetClassID() == XFA_ELEMENT_Caption) { | 1304 if (pParentNode->GetClassID() == XFA_Element::Caption) { |
| 1305 pNotify->OnValueChanged(this, eAttribute, pParentNode, | 1305 pNotify->OnValueChanged(this, eAttribute, pParentNode, |
| 1306 pParentNode->GetNodeItem(XFA_NODEITEM_Parent)); | 1306 pParentNode->GetNodeItem(XFA_NODEITEM_Parent)); |
| 1307 } else { | 1307 } else { |
| 1308 pNotify->OnValueChanged(this, eAttribute, this, pParentNode); | 1308 pNotify->OnValueChanged(this, eAttribute, this, pParentNode); |
| 1309 } | 1309 } |
| 1310 } break; | 1310 } break; |
| 1311 case XFA_ELEMENT_Margin: { | 1311 case XFA_Element::Margin: { |
| 1312 bNeedFindContainer = true; | 1312 bNeedFindContainer = true; |
| 1313 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); | 1313 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); |
| 1314 XFA_ELEMENT eParentType = pParentNode->GetClassID(); | 1314 XFA_Element eParentType = pParentNode->GetClassID(); |
| 1315 if (pParentNode->IsContainerNode()) { | 1315 if (pParentNode->IsContainerNode()) { |
| 1316 pNotify->OnValueChanged(this, eAttribute, this, pParentNode); | 1316 pNotify->OnValueChanged(this, eAttribute, this, pParentNode); |
| 1317 } else if (eParentType == XFA_ELEMENT_Caption) { | 1317 } else if (eParentType == XFA_Element::Caption) { |
| 1318 pNotify->OnValueChanged(this, eAttribute, pParentNode, | 1318 pNotify->OnValueChanged(this, eAttribute, pParentNode, |
| 1319 pParentNode->GetNodeItem(XFA_NODEITEM_Parent)); | 1319 pParentNode->GetNodeItem(XFA_NODEITEM_Parent)); |
| 1320 } else { | 1320 } else { |
| 1321 CXFA_Node* pNode = pParentNode->GetNodeItem(XFA_NODEITEM_Parent); | 1321 CXFA_Node* pNode = pParentNode->GetNodeItem(XFA_NODEITEM_Parent); |
| 1322 if (pNode && pNode->GetClassID() == XFA_ELEMENT_Ui) { | 1322 if (pNode && pNode->GetClassID() == XFA_Element::Ui) { |
| 1323 pNotify->OnValueChanged(this, eAttribute, pNode, | 1323 pNotify->OnValueChanged(this, eAttribute, pNode, |
| 1324 pNode->GetNodeItem(XFA_NODEITEM_Parent)); | 1324 pNode->GetNodeItem(XFA_NODEITEM_Parent)); |
| 1325 } | 1325 } |
| 1326 } | 1326 } |
| 1327 } break; | 1327 } break; |
| 1328 case XFA_ELEMENT_Comb: { | 1328 case XFA_Element::Comb: { |
| 1329 CXFA_Node* pEditNode = GetNodeItem(XFA_NODEITEM_Parent); | 1329 CXFA_Node* pEditNode = GetNodeItem(XFA_NODEITEM_Parent); |
| 1330 XFA_ELEMENT eUIType = pEditNode->GetClassID(); | 1330 XFA_Element eUIType = pEditNode->GetClassID(); |
| 1331 if (pEditNode && (eUIType == XFA_ELEMENT_DateTimeEdit || | 1331 if (pEditNode && (eUIType == XFA_Element::DateTimeEdit || |
| 1332 eUIType == XFA_ELEMENT_NumericEdit || | 1332 eUIType == XFA_Element::NumericEdit || |
| 1333 eUIType == XFA_ELEMENT_TextEdit)) { | 1333 eUIType == XFA_Element::TextEdit)) { |
| 1334 CXFA_Node* pUINode = pEditNode->GetNodeItem(XFA_NODEITEM_Parent); | 1334 CXFA_Node* pUINode = pEditNode->GetNodeItem(XFA_NODEITEM_Parent); |
| 1335 if (pUINode) { | 1335 if (pUINode) { |
| 1336 pNotify->OnValueChanged(this, eAttribute, pUINode, | 1336 pNotify->OnValueChanged(this, eAttribute, pUINode, |
| 1337 pUINode->GetNodeItem(XFA_NODEITEM_Parent)); | 1337 pUINode->GetNodeItem(XFA_NODEITEM_Parent)); |
| 1338 } | 1338 } |
| 1339 } | 1339 } |
| 1340 } break; | 1340 } break; |
| 1341 case XFA_ELEMENT_Button: | 1341 case XFA_Element::Button: |
| 1342 case XFA_ELEMENT_Barcode: | 1342 case XFA_Element::Barcode: |
| 1343 case XFA_ELEMENT_ChoiceList: | 1343 case XFA_Element::ChoiceList: |
| 1344 case XFA_ELEMENT_DateTimeEdit: | 1344 case XFA_Element::DateTimeEdit: |
| 1345 case XFA_ELEMENT_NumericEdit: | 1345 case XFA_Element::NumericEdit: |
| 1346 case XFA_ELEMENT_PasswordEdit: | 1346 case XFA_Element::PasswordEdit: |
| 1347 case XFA_ELEMENT_TextEdit: { | 1347 case XFA_Element::TextEdit: { |
| 1348 CXFA_Node* pUINode = GetNodeItem(XFA_NODEITEM_Parent); | 1348 CXFA_Node* pUINode = GetNodeItem(XFA_NODEITEM_Parent); |
| 1349 if (pUINode) { | 1349 if (pUINode) { |
| 1350 pNotify->OnValueChanged(this, eAttribute, pUINode, | 1350 pNotify->OnValueChanged(this, eAttribute, pUINode, |
| 1351 pUINode->GetNodeItem(XFA_NODEITEM_Parent)); | 1351 pUINode->GetNodeItem(XFA_NODEITEM_Parent)); |
| 1352 } | 1352 } |
| 1353 } break; | 1353 } break; |
| 1354 case XFA_ELEMENT_CheckButton: { | 1354 case XFA_Element::CheckButton: { |
| 1355 bNeedFindContainer = true; | 1355 bNeedFindContainer = true; |
| 1356 CXFA_Node* pUINode = GetNodeItem(XFA_NODEITEM_Parent); | 1356 CXFA_Node* pUINode = GetNodeItem(XFA_NODEITEM_Parent); |
| 1357 if (pUINode) { | 1357 if (pUINode) { |
| 1358 pNotify->OnValueChanged(this, eAttribute, pUINode, | 1358 pNotify->OnValueChanged(this, eAttribute, pUINode, |
| 1359 pUINode->GetNodeItem(XFA_NODEITEM_Parent)); | 1359 pUINode->GetNodeItem(XFA_NODEITEM_Parent)); |
| 1360 } | 1360 } |
| 1361 } break; | 1361 } break; |
| 1362 case XFA_ELEMENT_Keep: | 1362 case XFA_Element::Keep: |
| 1363 case XFA_ELEMENT_Bookend: | 1363 case XFA_Element::Bookend: |
| 1364 case XFA_ELEMENT_Break: | 1364 case XFA_Element::Break: |
| 1365 case XFA_ELEMENT_BreakAfter: | 1365 case XFA_Element::BreakAfter: |
| 1366 case XFA_ELEMENT_BreakBefore: | 1366 case XFA_Element::BreakBefore: |
| 1367 case XFA_ELEMENT_Overflow: | 1367 case XFA_Element::Overflow: |
| 1368 bNeedFindContainer = true; | 1368 bNeedFindContainer = true; |
| 1369 break; | 1369 break; |
| 1370 case XFA_ELEMENT_Area: | 1370 case XFA_Element::Area: |
| 1371 case XFA_ELEMENT_Draw: | 1371 case XFA_Element::Draw: |
| 1372 case XFA_ELEMENT_ExclGroup: | 1372 case XFA_Element::ExclGroup: |
| 1373 case XFA_ELEMENT_Field: | 1373 case XFA_Element::Field: |
| 1374 case XFA_ELEMENT_Subform: | 1374 case XFA_Element::Subform: |
| 1375 case XFA_ELEMENT_SubformSet: | 1375 case XFA_Element::SubformSet: |
| 1376 pLayoutPro->AddChangedContainer(this); | 1376 pLayoutPro->AddChangedContainer(this); |
| 1377 pNotify->OnValueChanged(this, eAttribute, this, this); | 1377 pNotify->OnValueChanged(this, eAttribute, this, this); |
| 1378 break; | 1378 break; |
| 1379 case XFA_ELEMENT_Sharptext: | 1379 case XFA_Element::Sharptext: |
| 1380 case XFA_ELEMENT_Sharpxml: | 1380 case XFA_Element::Sharpxml: |
| 1381 case XFA_ELEMENT_SharpxHTML: { | 1381 case XFA_Element::SharpxHTML: { |
| 1382 CXFA_Node* pTextNode = GetNodeItem(XFA_NODEITEM_Parent); | 1382 CXFA_Node* pTextNode = GetNodeItem(XFA_NODEITEM_Parent); |
| 1383 if (!pTextNode) { | 1383 if (!pTextNode) { |
| 1384 return; | 1384 return; |
| 1385 } | 1385 } |
| 1386 CXFA_Node* pValueNode = pTextNode->GetNodeItem(XFA_NODEITEM_Parent); | 1386 CXFA_Node* pValueNode = pTextNode->GetNodeItem(XFA_NODEITEM_Parent); |
| 1387 if (!pValueNode) { | 1387 if (!pValueNode) { |
| 1388 return; | 1388 return; |
| 1389 } | 1389 } |
| 1390 XFA_ELEMENT eNodeType = pValueNode->GetClassID(); | 1390 XFA_Element eNodeType = pValueNode->GetClassID(); |
| 1391 if (eNodeType == XFA_ELEMENT_Value) { | 1391 if (eNodeType == XFA_Element::Value) { |
| 1392 bNeedFindContainer = true; | 1392 bNeedFindContainer = true; |
| 1393 CXFA_Node* pNode = pValueNode->GetNodeItem(XFA_NODEITEM_Parent); | 1393 CXFA_Node* pNode = pValueNode->GetNodeItem(XFA_NODEITEM_Parent); |
| 1394 if (pNode && pNode->IsContainerNode()) { | 1394 if (pNode && pNode->IsContainerNode()) { |
| 1395 if (bScriptModify) { | 1395 if (bScriptModify) { |
| 1396 pValueNode = pNode; | 1396 pValueNode = pNode; |
| 1397 } | 1397 } |
| 1398 pNotify->OnValueChanged(this, eAttribute, pValueNode, pNode); | 1398 pNotify->OnValueChanged(this, eAttribute, pValueNode, pNode); |
| 1399 } else { | 1399 } else { |
| 1400 pNotify->OnValueChanged(this, eAttribute, pNode, | 1400 pNotify->OnValueChanged(this, eAttribute, pNode, |
| 1401 pNode->GetNodeItem(XFA_NODEITEM_Parent)); | 1401 pNode->GetNodeItem(XFA_NODEITEM_Parent)); |
| 1402 } | 1402 } |
| 1403 } else { | 1403 } else { |
| 1404 if (eNodeType == XFA_ELEMENT_Items) { | 1404 if (eNodeType == XFA_Element::Items) { |
| 1405 CXFA_Node* pNode = pValueNode->GetNodeItem(XFA_NODEITEM_Parent); | 1405 CXFA_Node* pNode = pValueNode->GetNodeItem(XFA_NODEITEM_Parent); |
| 1406 if (pNode && pNode->IsContainerNode()) { | 1406 if (pNode && pNode->IsContainerNode()) { |
| 1407 pNotify->OnValueChanged(this, eAttribute, pValueNode, pNode); | 1407 pNotify->OnValueChanged(this, eAttribute, pValueNode, pNode); |
| 1408 } | 1408 } |
| 1409 } | 1409 } |
| 1410 } | 1410 } |
| 1411 } break; | 1411 } break; |
| 1412 default: | 1412 default: |
| 1413 break; | 1413 break; |
| 1414 } | 1414 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1425 } | 1425 } |
| 1426 } | 1426 } |
| 1427 } | 1427 } |
| 1428 | 1428 |
| 1429 void CXFA_Node::Script_Attribute_String(CFXJSE_Value* pValue, | 1429 void CXFA_Node::Script_Attribute_String(CFXJSE_Value* pValue, |
| 1430 FX_BOOL bSetting, | 1430 FX_BOOL bSetting, |
| 1431 XFA_ATTRIBUTE eAttribute) { | 1431 XFA_ATTRIBUTE eAttribute) { |
| 1432 if (bSetting) { | 1432 if (bSetting) { |
| 1433 CFX_WideString wsValue = pValue->ToWideString(); | 1433 CFX_WideString wsValue = pValue->ToWideString(); |
| 1434 SetAttribute(eAttribute, wsValue.AsStringC(), true); | 1434 SetAttribute(eAttribute, wsValue.AsStringC(), true); |
| 1435 if (eAttribute == XFA_ATTRIBUTE_Use && GetClassID() == XFA_ELEMENT_Desc) { | 1435 if (eAttribute == XFA_ATTRIBUTE_Use && GetClassID() == XFA_Element::Desc) { |
| 1436 CXFA_Node* pTemplateNode = | 1436 CXFA_Node* pTemplateNode = |
| 1437 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Template)); | 1437 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Template)); |
| 1438 CXFA_Node* pProtoRoot = | 1438 CXFA_Node* pProtoRoot = |
| 1439 pTemplateNode->GetFirstChildByClass(XFA_ELEMENT_Subform) | 1439 pTemplateNode->GetFirstChildByClass(XFA_Element::Subform) |
| 1440 ->GetFirstChildByClass(XFA_ELEMENT_Proto); | 1440 ->GetFirstChildByClass(XFA_Element::Proto); |
| 1441 | 1441 |
| 1442 CFX_WideString wsID; | 1442 CFX_WideString wsID; |
| 1443 CFX_WideString wsSOM; | 1443 CFX_WideString wsSOM; |
| 1444 if (!wsValue.IsEmpty()) { | 1444 if (!wsValue.IsEmpty()) { |
| 1445 if (wsValue[0] == '#') { | 1445 if (wsValue[0] == '#') { |
| 1446 wsID = CFX_WideString(wsValue.c_str() + 1, wsValue.GetLength() - 1); | 1446 wsID = CFX_WideString(wsValue.c_str() + 1, wsValue.GetLength() - 1); |
| 1447 } else { | 1447 } else { |
| 1448 wsSOM = wsValue; | 1448 wsSOM = wsValue; |
| 1449 } | 1449 } |
| 1450 } | 1450 } |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1594 if (!pWidgetData) { | 1594 if (!pWidgetData) { |
| 1595 pValue->SetInteger(0); | 1595 pValue->SetInteger(0); |
| 1596 return; | 1596 return; |
| 1597 } | 1597 } |
| 1598 pValue->SetInteger(pWidgetData->CountChoiceListItems(TRUE)); | 1598 pValue->SetInteger(pWidgetData->CountChoiceListItems(TRUE)); |
| 1599 } | 1599 } |
| 1600 } | 1600 } |
| 1601 void CXFA_Node::Script_Som_DefaultValue(CFXJSE_Value* pValue, | 1601 void CXFA_Node::Script_Som_DefaultValue(CFXJSE_Value* pValue, |
| 1602 FX_BOOL bSetting, | 1602 FX_BOOL bSetting, |
| 1603 XFA_ATTRIBUTE eAttribute) { | 1603 XFA_ATTRIBUTE eAttribute) { |
| 1604 XFA_ELEMENT classID = GetClassID(); | 1604 XFA_Element classID = GetClassID(); |
| 1605 if (classID == XFA_ELEMENT_Field) { | 1605 if (classID == XFA_Element::Field) { |
| 1606 Script_Field_DefaultValue(pValue, bSetting, eAttribute); | 1606 Script_Field_DefaultValue(pValue, bSetting, eAttribute); |
| 1607 return; | 1607 return; |
| 1608 } else if (classID == XFA_ELEMENT_Draw) { | 1608 } else if (classID == XFA_Element::Draw) { |
| 1609 Script_Draw_DefaultValue(pValue, bSetting, eAttribute); | 1609 Script_Draw_DefaultValue(pValue, bSetting, eAttribute); |
| 1610 return; | 1610 return; |
| 1611 } else if (classID == XFA_ELEMENT_Boolean) { | 1611 } else if (classID == XFA_Element::Boolean) { |
| 1612 Script_Boolean_Value(pValue, bSetting, eAttribute); | 1612 Script_Boolean_Value(pValue, bSetting, eAttribute); |
| 1613 return; | 1613 return; |
| 1614 } | 1614 } |
| 1615 if (bSetting) { | 1615 if (bSetting) { |
| 1616 CFX_WideString wsNewValue; | 1616 CFX_WideString wsNewValue; |
| 1617 if (!(pValue && (pValue->IsNull() || pValue->IsUndefined()))) | 1617 if (!(pValue && (pValue->IsNull() || pValue->IsUndefined()))) |
| 1618 wsNewValue = pValue->ToWideString(); | 1618 wsNewValue = pValue->ToWideString(); |
| 1619 | 1619 |
| 1620 CFX_WideString wsFormatValue(wsNewValue); | 1620 CFX_WideString wsFormatValue(wsNewValue); |
| 1621 CXFA_WidgetData* pContainerWidgetData = nullptr; | 1621 CXFA_WidgetData* pContainerWidgetData = nullptr; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1640 } | 1640 } |
| 1641 } else if (GetPacketID() == XFA_XDPPACKET_Form) { | 1641 } else if (GetPacketID() == XFA_XDPPACKET_Form) { |
| 1642 pContainerWidgetData = GetContainerWidgetData(); | 1642 pContainerWidgetData = GetContainerWidgetData(); |
| 1643 } | 1643 } |
| 1644 if (pContainerWidgetData) { | 1644 if (pContainerWidgetData) { |
| 1645 pContainerWidgetData->GetFormatDataValue(wsNewValue, wsFormatValue); | 1645 pContainerWidgetData->GetFormatDataValue(wsNewValue, wsFormatValue); |
| 1646 } | 1646 } |
| 1647 SetScriptContent(wsNewValue, wsFormatValue, true, TRUE); | 1647 SetScriptContent(wsNewValue, wsFormatValue, true, TRUE); |
| 1648 } else { | 1648 } else { |
| 1649 CFX_WideString content = GetScriptContent(TRUE); | 1649 CFX_WideString content = GetScriptContent(TRUE); |
| 1650 if (content.IsEmpty() && classID != XFA_ELEMENT_Text && | 1650 if (content.IsEmpty() && classID != XFA_Element::Text && |
| 1651 classID != XFA_ELEMENT_SubmitUrl) { | 1651 classID != XFA_Element::SubmitUrl) { |
| 1652 pValue->SetNull(); | 1652 pValue->SetNull(); |
| 1653 } else if (classID == XFA_ELEMENT_Integer) { | 1653 } else if (classID == XFA_Element::Integer) { |
| 1654 pValue->SetInteger(FXSYS_wtoi(content.c_str())); | 1654 pValue->SetInteger(FXSYS_wtoi(content.c_str())); |
| 1655 } else if (classID == XFA_ELEMENT_Float || classID == XFA_ELEMENT_Decimal) { | 1655 } else if (classID == XFA_Element::Float || |
| 1656 classID == XFA_Element::Decimal) { |
| 1656 CFX_Decimal decimal(content.AsStringC()); | 1657 CFX_Decimal decimal(content.AsStringC()); |
| 1657 pValue->SetFloat((FX_FLOAT)(double)decimal); | 1658 pValue->SetFloat((FX_FLOAT)(double)decimal); |
| 1658 } else { | 1659 } else { |
| 1659 pValue->SetString( | 1660 pValue->SetString( |
| 1660 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 1661 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 1661 } | 1662 } |
| 1662 } | 1663 } |
| 1663 } | 1664 } |
| 1664 void CXFA_Node::Script_Som_DefaultValue_Read(CFXJSE_Value* pValue, | 1665 void CXFA_Node::Script_Som_DefaultValue_Read(CFXJSE_Value* pValue, |
| 1665 FX_BOOL bSetting, | 1666 FX_BOOL bSetting, |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1885 ThrowException(XFA_IDS_INVAlID_PROP_SET); | 1886 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1886 } | 1887 } |
| 1887 } | 1888 } |
| 1888 void CXFA_Node::Script_Draw_DefaultValue(CFXJSE_Value* pValue, | 1889 void CXFA_Node::Script_Draw_DefaultValue(CFXJSE_Value* pValue, |
| 1889 FX_BOOL bSetting, | 1890 FX_BOOL bSetting, |
| 1890 XFA_ATTRIBUTE eAttribute) { | 1891 XFA_ATTRIBUTE eAttribute) { |
| 1891 if (bSetting) { | 1892 if (bSetting) { |
| 1892 if (pValue && pValue->IsString()) { | 1893 if (pValue && pValue->IsString()) { |
| 1893 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1894 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1894 ASSERT(pWidgetData); | 1895 ASSERT(pWidgetData); |
| 1895 XFA_ELEMENT uiType = pWidgetData->GetUIType(); | 1896 XFA_Element uiType = pWidgetData->GetUIType(); |
| 1896 if (uiType == XFA_ELEMENT_Text) { | 1897 if (uiType == XFA_Element::Text) { |
| 1897 CFX_WideString wsNewValue = pValue->ToWideString(); | 1898 CFX_WideString wsNewValue = pValue->ToWideString(); |
| 1898 CFX_WideString wsFormatValue(wsNewValue); | 1899 CFX_WideString wsFormatValue(wsNewValue); |
| 1899 SetScriptContent(wsNewValue, wsFormatValue, true, TRUE); | 1900 SetScriptContent(wsNewValue, wsFormatValue, true, TRUE); |
| 1900 } | 1901 } |
| 1901 } | 1902 } |
| 1902 } else { | 1903 } else { |
| 1903 CFX_WideString content = GetScriptContent(TRUE); | 1904 CFX_WideString content = GetScriptContent(TRUE); |
| 1904 if (content.IsEmpty()) { | 1905 if (content.IsEmpty()) { |
| 1905 pValue->SetNull(); | 1906 pValue->SetNull(); |
| 1906 } else { | 1907 } else { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1922 pWidgetData->m_bIsNull = TRUE; | 1923 pWidgetData->m_bIsNull = TRUE; |
| 1923 } else { | 1924 } else { |
| 1924 pWidgetData->m_bPreNull = pWidgetData->m_bIsNull; | 1925 pWidgetData->m_bPreNull = pWidgetData->m_bIsNull; |
| 1925 pWidgetData->m_bIsNull = FALSE; | 1926 pWidgetData->m_bIsNull = FALSE; |
| 1926 } | 1927 } |
| 1927 CFX_WideString wsNewText; | 1928 CFX_WideString wsNewText; |
| 1928 if (!(pValue && (pValue->IsNull() || pValue->IsUndefined()))) | 1929 if (!(pValue && (pValue->IsNull() || pValue->IsUndefined()))) |
| 1929 wsNewText = pValue->ToWideString(); | 1930 wsNewText = pValue->ToWideString(); |
| 1930 | 1931 |
| 1931 CXFA_Node* pUIChild = pWidgetData->GetUIChild(); | 1932 CXFA_Node* pUIChild = pWidgetData->GetUIChild(); |
| 1932 if (pUIChild->GetClassID() == XFA_ELEMENT_NumericEdit) { | 1933 if (pUIChild->GetClassID() == XFA_Element::NumericEdit) { |
| 1933 int32_t iLeadDigits = 0; | 1934 int32_t iLeadDigits = 0; |
| 1934 int32_t iFracDigits = 0; | 1935 int32_t iFracDigits = 0; |
| 1935 pWidgetData->GetLeadDigits(iLeadDigits); | 1936 pWidgetData->GetLeadDigits(iLeadDigits); |
| 1936 pWidgetData->GetFracDigits(iFracDigits); | 1937 pWidgetData->GetFracDigits(iFracDigits); |
| 1937 wsNewText = | 1938 wsNewText = |
| 1938 pWidgetData->NumericLimit(wsNewText, iLeadDigits, iFracDigits); | 1939 pWidgetData->NumericLimit(wsNewText, iLeadDigits, iFracDigits); |
| 1939 } | 1940 } |
| 1940 CXFA_WidgetData* pContainerWidgetData = GetContainerWidgetData(); | 1941 CXFA_WidgetData* pContainerWidgetData = GetContainerWidgetData(); |
| 1941 CFX_WideString wsFormatText(wsNewText); | 1942 CFX_WideString wsFormatText(wsNewText); |
| 1942 if (pContainerWidgetData) { | 1943 if (pContainerWidgetData) { |
| 1943 pContainerWidgetData->GetFormatDataValue(wsNewText, wsFormatText); | 1944 pContainerWidgetData->GetFormatDataValue(wsNewText, wsFormatText); |
| 1944 } | 1945 } |
| 1945 SetScriptContent(wsNewText, wsFormatText, true, TRUE); | 1946 SetScriptContent(wsNewText, wsFormatText, true, TRUE); |
| 1946 } else { | 1947 } else { |
| 1947 CFX_WideString content = GetScriptContent(TRUE); | 1948 CFX_WideString content = GetScriptContent(TRUE); |
| 1948 if (content.IsEmpty()) { | 1949 if (content.IsEmpty()) { |
| 1949 pValue->SetNull(); | 1950 pValue->SetNull(); |
| 1950 } else { | 1951 } else { |
| 1951 CXFA_Node* pUIChild = pWidgetData->GetUIChild(); | 1952 CXFA_Node* pUIChild = pWidgetData->GetUIChild(); |
| 1952 XFA_ELEMENT eUI = pUIChild->GetClassID(); | 1953 XFA_Element eUI = pUIChild->GetClassID(); |
| 1953 CXFA_Value defVal = pWidgetData->GetFormValue(); | 1954 CXFA_Value defVal = pWidgetData->GetFormValue(); |
| 1954 CXFA_Node* pNode = defVal.GetNode()->GetNodeItem(XFA_NODEITEM_FirstChild); | 1955 CXFA_Node* pNode = defVal.GetNode()->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 1955 if (pNode && pNode->GetClassID() == XFA_ELEMENT_Decimal) { | 1956 if (pNode && pNode->GetClassID() == XFA_Element::Decimal) { |
| 1956 if (eUI == XFA_ELEMENT_NumericEdit && | 1957 if (eUI == XFA_Element::NumericEdit && |
| 1957 (pNode->GetInteger(XFA_ATTRIBUTE_FracDigits) == -1)) { | 1958 (pNode->GetInteger(XFA_ATTRIBUTE_FracDigits) == -1)) { |
| 1958 pValue->SetString( | 1959 pValue->SetString( |
| 1959 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 1960 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 1960 } else { | 1961 } else { |
| 1961 CFX_Decimal decimal(content.AsStringC()); | 1962 CFX_Decimal decimal(content.AsStringC()); |
| 1962 pValue->SetFloat((FX_FLOAT)(double)decimal); | 1963 pValue->SetFloat((FX_FLOAT)(double)decimal); |
| 1963 } | 1964 } |
| 1964 } else if (pNode && pNode->GetClassID() == XFA_ELEMENT_Integer) { | 1965 } else if (pNode && pNode->GetClassID() == XFA_Element::Integer) { |
| 1965 pValue->SetInteger(FXSYS_wtoi(content.c_str())); | 1966 pValue->SetInteger(FXSYS_wtoi(content.c_str())); |
| 1966 } else if (pNode && pNode->GetClassID() == XFA_ELEMENT_Boolean) { | 1967 } else if (pNode && pNode->GetClassID() == XFA_Element::Boolean) { |
| 1967 pValue->SetBoolean(FXSYS_wtoi(content.c_str()) == 0 ? FALSE : TRUE); | 1968 pValue->SetBoolean(FXSYS_wtoi(content.c_str()) == 0 ? FALSE : TRUE); |
| 1968 } else if (pNode && pNode->GetClassID() == XFA_ELEMENT_Float) { | 1969 } else if (pNode && pNode->GetClassID() == XFA_Element::Float) { |
| 1969 CFX_Decimal decimal(content.AsStringC()); | 1970 CFX_Decimal decimal(content.AsStringC()); |
| 1970 pValue->SetFloat((FX_FLOAT)(double)decimal); | 1971 pValue->SetFloat((FX_FLOAT)(double)decimal); |
| 1971 } else { | 1972 } else { |
| 1972 pValue->SetString( | 1973 pValue->SetString( |
| 1973 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 1974 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 1974 } | 1975 } |
| 1975 } | 1976 } |
| 1976 } | 1977 } |
| 1977 } | 1978 } |
| 1978 void CXFA_Node::Script_Field_EditValue(CFXJSE_Value* pValue, | 1979 void CXFA_Node::Script_Field_EditValue(CFXJSE_Value* pValue, |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2099 return; | 2100 return; |
| 2100 } | 2101 } |
| 2101 pWidgetData->DeleteItem(-1, TRUE); | 2102 pWidgetData->DeleteItem(-1, TRUE); |
| 2102 } | 2103 } |
| 2103 void CXFA_Node::Script_Field_ExecEvent(CFXJSE_Arguments* pArguments) { | 2104 void CXFA_Node::Script_Field_ExecEvent(CFXJSE_Arguments* pArguments) { |
| 2104 int32_t argc = pArguments->GetLength(); | 2105 int32_t argc = pArguments->GetLength(); |
| 2105 if (argc == 1) { | 2106 if (argc == 1) { |
| 2106 CFX_ByteString eventString = pArguments->GetUTF8String(0); | 2107 CFX_ByteString eventString = pArguments->GetUTF8String(0); |
| 2107 int32_t iRet = execSingleEventByName( | 2108 int32_t iRet = execSingleEventByName( |
| 2108 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), | 2109 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), |
| 2109 XFA_ELEMENT_Field); | 2110 XFA_Element::Field); |
| 2110 if (eventString == "validate") { | 2111 if (eventString == "validate") { |
| 2111 pArguments->GetReturnValue()->SetBoolean( | 2112 pArguments->GetReturnValue()->SetBoolean( |
| 2112 (iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE); | 2113 (iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE); |
| 2113 } | 2114 } |
| 2114 } else { | 2115 } else { |
| 2115 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); | 2116 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); |
| 2116 } | 2117 } |
| 2117 } | 2118 } |
| 2118 void CXFA_Node::Script_Field_ExecInitialize(CFXJSE_Arguments* pArguments) { | 2119 void CXFA_Node::Script_Field_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 2119 int32_t argc = pArguments->GetLength(); | 2120 int32_t argc = pArguments->GetLength(); |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2326 } | 2327 } |
| 2327 void CXFA_Node::Script_ExclGroup_Transient(CFXJSE_Value* pValue, | 2328 void CXFA_Node::Script_ExclGroup_Transient(CFXJSE_Value* pValue, |
| 2328 FX_BOOL bSetting, | 2329 FX_BOOL bSetting, |
| 2329 XFA_ATTRIBUTE eAttribute) {} | 2330 XFA_ATTRIBUTE eAttribute) {} |
| 2330 void CXFA_Node::Script_ExclGroup_ExecEvent(CFXJSE_Arguments* pArguments) { | 2331 void CXFA_Node::Script_ExclGroup_ExecEvent(CFXJSE_Arguments* pArguments) { |
| 2331 int32_t argc = pArguments->GetLength(); | 2332 int32_t argc = pArguments->GetLength(); |
| 2332 if (argc == 1) { | 2333 if (argc == 1) { |
| 2333 CFX_ByteString eventString = pArguments->GetUTF8String(0); | 2334 CFX_ByteString eventString = pArguments->GetUTF8String(0); |
| 2334 execSingleEventByName( | 2335 execSingleEventByName( |
| 2335 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), | 2336 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), |
| 2336 XFA_ELEMENT_ExclGroup); | 2337 XFA_Element::ExclGroup); |
| 2337 } else { | 2338 } else { |
| 2338 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); | 2339 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); |
| 2339 } | 2340 } |
| 2340 } | 2341 } |
| 2341 | 2342 |
| 2342 void CXFA_Node::Script_ExclGroup_SelectedMember(CFXJSE_Arguments* pArguments) { | 2343 void CXFA_Node::Script_ExclGroup_SelectedMember(CFXJSE_Arguments* pArguments) { |
| 2343 int32_t argc = pArguments->GetLength(); | 2344 int32_t argc = pArguments->GetLength(); |
| 2344 if (argc < 0 || argc > 1) { | 2345 if (argc < 0 || argc > 1) { |
| 2345 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"selectedMember"); | 2346 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"selectedMember"); |
| 2346 return; | 2347 return; |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2408 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); | 2409 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); |
| 2409 } | 2410 } |
| 2410 } | 2411 } |
| 2411 static CXFA_Node* XFA_ScriptInstanceManager_GetItem(CXFA_Node* pInstMgrNode, | 2412 static CXFA_Node* XFA_ScriptInstanceManager_GetItem(CXFA_Node* pInstMgrNode, |
| 2412 int32_t iIndex) { | 2413 int32_t iIndex) { |
| 2413 ASSERT(pInstMgrNode); | 2414 ASSERT(pInstMgrNode); |
| 2414 int32_t iCount = 0; | 2415 int32_t iCount = 0; |
| 2415 uint32_t dwNameHash = 0; | 2416 uint32_t dwNameHash = 0; |
| 2416 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); | 2417 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 2417 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 2418 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 2418 XFA_ELEMENT eCurType = pNode->GetClassID(); | 2419 XFA_Element eCurType = pNode->GetClassID(); |
| 2419 if (eCurType == XFA_ELEMENT_InstanceManager) { | 2420 if (eCurType == XFA_Element::InstanceManager) { |
| 2420 break; | 2421 break; |
| 2421 } | 2422 } |
| 2422 if ((eCurType != XFA_ELEMENT_Subform) && | 2423 if ((eCurType != XFA_Element::Subform) && |
| 2423 (eCurType != XFA_ELEMENT_SubformSet)) { | 2424 (eCurType != XFA_Element::SubformSet)) { |
| 2424 continue; | 2425 continue; |
| 2425 } | 2426 } |
| 2426 if (iCount == 0) { | 2427 if (iCount == 0) { |
| 2427 CFX_WideStringC wsName = pNode->GetCData(XFA_ATTRIBUTE_Name); | 2428 CFX_WideStringC wsName = pNode->GetCData(XFA_ATTRIBUTE_Name); |
| 2428 CFX_WideStringC wsInstName = pInstMgrNode->GetCData(XFA_ATTRIBUTE_Name); | 2429 CFX_WideStringC wsInstName = pInstMgrNode->GetCData(XFA_ATTRIBUTE_Name); |
| 2429 if (wsInstName.GetLength() < 1 || wsInstName.GetAt(0) != '_' || | 2430 if (wsInstName.GetLength() < 1 || wsInstName.GetAt(0) != '_' || |
| 2430 wsInstName.Mid(1) != wsName) { | 2431 wsInstName.Mid(1) != wsName) { |
| 2431 return nullptr; | 2432 return nullptr; |
| 2432 } | 2433 } |
| 2433 dwNameHash = pNode->GetNameHash(); | 2434 dwNameHash = pNode->GetNameHash(); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 2444 } | 2445 } |
| 2445 void CXFA_Node::Script_Som_InstanceIndex(CFXJSE_Value* pValue, | 2446 void CXFA_Node::Script_Som_InstanceIndex(CFXJSE_Value* pValue, |
| 2446 FX_BOOL bSetting, | 2447 FX_BOOL bSetting, |
| 2447 XFA_ATTRIBUTE eAttribute) { | 2448 XFA_ATTRIBUTE eAttribute) { |
| 2448 if (bSetting) { | 2449 if (bSetting) { |
| 2449 int32_t iTo = pValue->ToInteger(); | 2450 int32_t iTo = pValue->ToInteger(); |
| 2450 int32_t iFrom = Subform_and_SubformSet_InstanceIndex(); | 2451 int32_t iFrom = Subform_and_SubformSet_InstanceIndex(); |
| 2451 CXFA_Node* pManagerNode = nullptr; | 2452 CXFA_Node* pManagerNode = nullptr; |
| 2452 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; | 2453 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; |
| 2453 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { | 2454 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { |
| 2454 if (pNode->GetClassID() == XFA_ELEMENT_InstanceManager) { | 2455 if (pNode->GetClassID() == XFA_Element::InstanceManager) { |
| 2455 pManagerNode = pNode; | 2456 pManagerNode = pNode; |
| 2456 break; | 2457 break; |
| 2457 } | 2458 } |
| 2458 } | 2459 } |
| 2459 if (pManagerNode) { | 2460 if (pManagerNode) { |
| 2460 pManagerNode->InstanceManager_MoveInstance(iTo, iFrom); | 2461 pManagerNode->InstanceManager_MoveInstance(iTo, iFrom); |
| 2461 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2462 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2462 if (!pNotify) { | 2463 if (!pNotify) { |
| 2463 return; | 2464 return; |
| 2464 } | 2465 } |
| 2465 CXFA_Node* pToInstance = | 2466 CXFA_Node* pToInstance = |
| 2466 XFA_ScriptInstanceManager_GetItem(pManagerNode, iTo); | 2467 XFA_ScriptInstanceManager_GetItem(pManagerNode, iTo); |
| 2467 if (pToInstance && pToInstance->GetClassID() == XFA_ELEMENT_Subform) { | 2468 if (pToInstance && pToInstance->GetClassID() == XFA_Element::Subform) { |
| 2468 pNotify->RunSubformIndexChange(pToInstance); | 2469 pNotify->RunSubformIndexChange(pToInstance); |
| 2469 } | 2470 } |
| 2470 CXFA_Node* pFromInstance = | 2471 CXFA_Node* pFromInstance = |
| 2471 XFA_ScriptInstanceManager_GetItem(pManagerNode, iFrom); | 2472 XFA_ScriptInstanceManager_GetItem(pManagerNode, iFrom); |
| 2472 if (pFromInstance && pFromInstance->GetClassID() == XFA_ELEMENT_Subform) { | 2473 if (pFromInstance && |
| 2474 pFromInstance->GetClassID() == XFA_Element::Subform) { |
| 2473 pNotify->RunSubformIndexChange(pFromInstance); | 2475 pNotify->RunSubformIndexChange(pFromInstance); |
| 2474 } | 2476 } |
| 2475 } | 2477 } |
| 2476 } else { | 2478 } else { |
| 2477 pValue->SetInteger(Subform_and_SubformSet_InstanceIndex()); | 2479 pValue->SetInteger(Subform_and_SubformSet_InstanceIndex()); |
| 2478 } | 2480 } |
| 2479 } | 2481 } |
| 2480 void CXFA_Node::Script_Subform_InstanceManager(CFXJSE_Value* pValue, | 2482 void CXFA_Node::Script_Subform_InstanceManager(CFXJSE_Value* pValue, |
| 2481 FX_BOOL bSetting, | 2483 FX_BOOL bSetting, |
| 2482 XFA_ATTRIBUTE eAttribute) { | 2484 XFA_ATTRIBUTE eAttribute) { |
| 2483 if (!bSetting) { | 2485 if (!bSetting) { |
| 2484 CFX_WideStringC wsName = GetCData(XFA_ATTRIBUTE_Name); | 2486 CFX_WideStringC wsName = GetCData(XFA_ATTRIBUTE_Name); |
| 2485 CXFA_Node* pInstanceMgr = nullptr; | 2487 CXFA_Node* pInstanceMgr = nullptr; |
| 2486 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; | 2488 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; |
| 2487 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { | 2489 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { |
| 2488 if (pNode->GetClassID() == XFA_ELEMENT_InstanceManager) { | 2490 if (pNode->GetClassID() == XFA_Element::InstanceManager) { |
| 2489 CFX_WideStringC wsInstMgrName = pNode->GetCData(XFA_ATTRIBUTE_Name); | 2491 CFX_WideStringC wsInstMgrName = pNode->GetCData(XFA_ATTRIBUTE_Name); |
| 2490 if (wsInstMgrName.GetLength() >= 1 && wsInstMgrName.GetAt(0) == '_' && | 2492 if (wsInstMgrName.GetLength() >= 1 && wsInstMgrName.GetAt(0) == '_' && |
| 2491 wsInstMgrName.Mid(1) == wsName) { | 2493 wsInstMgrName.Mid(1) == wsName) { |
| 2492 pInstanceMgr = pNode; | 2494 pInstanceMgr = pNode; |
| 2493 } | 2495 } |
| 2494 break; | 2496 break; |
| 2495 } | 2497 } |
| 2496 } | 2498 } |
| 2497 if (pInstanceMgr) { | 2499 if (pInstanceMgr) { |
| 2498 pValue->Assign( | 2500 pValue->Assign( |
| (...skipping 17 matching lines...) Expand all Loading... |
| 2516 FX_UTF8Encode(wsLocaleName.c_str(), wsLocaleName.GetLength()) | 2518 FX_UTF8Encode(wsLocaleName.c_str(), wsLocaleName.GetLength()) |
| 2517 .AsStringC()); | 2519 .AsStringC()); |
| 2518 } | 2520 } |
| 2519 } | 2521 } |
| 2520 void CXFA_Node::Script_Subform_ExecEvent(CFXJSE_Arguments* pArguments) { | 2522 void CXFA_Node::Script_Subform_ExecEvent(CFXJSE_Arguments* pArguments) { |
| 2521 int32_t argc = pArguments->GetLength(); | 2523 int32_t argc = pArguments->GetLength(); |
| 2522 if (argc == 1) { | 2524 if (argc == 1) { |
| 2523 CFX_ByteString eventString = pArguments->GetUTF8String(0); | 2525 CFX_ByteString eventString = pArguments->GetUTF8String(0); |
| 2524 execSingleEventByName( | 2526 execSingleEventByName( |
| 2525 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), | 2527 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), |
| 2526 XFA_ELEMENT_Subform); | 2528 XFA_Element::Subform); |
| 2527 } else { | 2529 } else { |
| 2528 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); | 2530 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); |
| 2529 } | 2531 } |
| 2530 } | 2532 } |
| 2531 void CXFA_Node::Script_Subform_ExecInitialize(CFXJSE_Arguments* pArguments) { | 2533 void CXFA_Node::Script_Subform_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 2532 int32_t argc = pArguments->GetLength(); | 2534 int32_t argc = pArguments->GetLength(); |
| 2533 if (argc == 0) { | 2535 if (argc == 0) { |
| 2534 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2536 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2535 if (!pNotify) { | 2537 if (!pNotify) { |
| 2536 return; | 2538 return; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2571 int32_t argc = pArguments->GetLength(); | 2573 int32_t argc = pArguments->GetLength(); |
| 2572 if (argc == 0) { | 2574 if (argc == 0) { |
| 2573 } else { | 2575 } else { |
| 2574 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getInvalidObjects"); | 2576 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getInvalidObjects"); |
| 2575 } | 2577 } |
| 2576 } | 2578 } |
| 2577 int32_t CXFA_Node::Subform_and_SubformSet_InstanceIndex() { | 2579 int32_t CXFA_Node::Subform_and_SubformSet_InstanceIndex() { |
| 2578 int32_t index = 0; | 2580 int32_t index = 0; |
| 2579 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; | 2581 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; |
| 2580 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { | 2582 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { |
| 2581 if ((pNode->GetClassID() == XFA_ELEMENT_Subform) || | 2583 if ((pNode->GetClassID() == XFA_Element::Subform) || |
| 2582 (pNode->GetClassID() == XFA_ELEMENT_SubformSet)) { | 2584 (pNode->GetClassID() == XFA_Element::SubformSet)) { |
| 2583 index++; | 2585 index++; |
| 2584 } else { | 2586 } else { |
| 2585 break; | 2587 break; |
| 2586 } | 2588 } |
| 2587 } | 2589 } |
| 2588 return index; | 2590 return index; |
| 2589 } | 2591 } |
| 2590 void CXFA_Node::Script_Template_FormNodes(CFXJSE_Arguments* pArguments) { | 2592 void CXFA_Node::Script_Template_FormNodes(CFXJSE_Arguments* pArguments) { |
| 2591 int32_t argc = pArguments->GetLength(); | 2593 int32_t argc = pArguments->GetLength(); |
| 2592 if (argc == 1) { | 2594 if (argc == 1) { |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2725 } | 2727 } |
| 2726 CXFA_Occur nodeOccur(GetOccurNode()); | 2728 CXFA_Occur nodeOccur(GetOccurNode()); |
| 2727 pValue->SetInteger(nodeOccur.GetMin()); | 2729 pValue->SetInteger(nodeOccur.GetMin()); |
| 2728 } | 2730 } |
| 2729 static int32_t XFA_ScriptInstanceManager_GetCount(CXFA_Node* pInstMgrNode) { | 2731 static int32_t XFA_ScriptInstanceManager_GetCount(CXFA_Node* pInstMgrNode) { |
| 2730 ASSERT(pInstMgrNode); | 2732 ASSERT(pInstMgrNode); |
| 2731 int32_t iCount = 0; | 2733 int32_t iCount = 0; |
| 2732 uint32_t dwNameHash = 0; | 2734 uint32_t dwNameHash = 0; |
| 2733 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); | 2735 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 2734 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 2736 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 2735 XFA_ELEMENT eCurType = pNode->GetClassID(); | 2737 XFA_Element eCurType = pNode->GetClassID(); |
| 2736 if (eCurType == XFA_ELEMENT_InstanceManager) { | 2738 if (eCurType == XFA_Element::InstanceManager) { |
| 2737 break; | 2739 break; |
| 2738 } | 2740 } |
| 2739 if ((eCurType != XFA_ELEMENT_Subform) && | 2741 if ((eCurType != XFA_Element::Subform) && |
| 2740 (eCurType != XFA_ELEMENT_SubformSet)) { | 2742 (eCurType != XFA_Element::SubformSet)) { |
| 2741 continue; | 2743 continue; |
| 2742 } | 2744 } |
| 2743 if (iCount == 0) { | 2745 if (iCount == 0) { |
| 2744 CFX_WideStringC wsName = pNode->GetCData(XFA_ATTRIBUTE_Name); | 2746 CFX_WideStringC wsName = pNode->GetCData(XFA_ATTRIBUTE_Name); |
| 2745 CFX_WideStringC wsInstName = pInstMgrNode->GetCData(XFA_ATTRIBUTE_Name); | 2747 CFX_WideStringC wsInstName = pInstMgrNode->GetCData(XFA_ATTRIBUTE_Name); |
| 2746 if (wsInstName.GetLength() < 1 || wsInstName.GetAt(0) != '_' || | 2748 if (wsInstName.GetLength() < 1 || wsInstName.GetAt(0) != '_' || |
| 2747 wsInstName.Mid(1) != wsName) { | 2749 wsInstName.Mid(1) != wsName) { |
| 2748 return iCount; | 2750 return iCount; |
| 2749 } | 2751 } |
| 2750 dwNameHash = pNode->GetNameHash(); | 2752 dwNameHash = pNode->GetNameHash(); |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3016 return; | 3018 return; |
| 3017 } | 3019 } |
| 3018 int32_t iFrom = pArguments->GetInt32(0); | 3020 int32_t iFrom = pArguments->GetInt32(0); |
| 3019 int32_t iTo = pArguments->GetInt32(1); | 3021 int32_t iTo = pArguments->GetInt32(1); |
| 3020 InstanceManager_MoveInstance(iTo, iFrom); | 3022 InstanceManager_MoveInstance(iTo, iFrom); |
| 3021 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3023 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3022 if (!pNotify) { | 3024 if (!pNotify) { |
| 3023 return; | 3025 return; |
| 3024 } | 3026 } |
| 3025 CXFA_Node* pToInstance = XFA_ScriptInstanceManager_GetItem(this, iTo); | 3027 CXFA_Node* pToInstance = XFA_ScriptInstanceManager_GetItem(this, iTo); |
| 3026 if (pToInstance && pToInstance->GetClassID() == XFA_ELEMENT_Subform) { | 3028 if (pToInstance && pToInstance->GetClassID() == XFA_Element::Subform) { |
| 3027 pNotify->RunSubformIndexChange(pToInstance); | 3029 pNotify->RunSubformIndexChange(pToInstance); |
| 3028 } | 3030 } |
| 3029 CXFA_Node* pFromInstance = XFA_ScriptInstanceManager_GetItem(this, iFrom); | 3031 CXFA_Node* pFromInstance = XFA_ScriptInstanceManager_GetItem(this, iFrom); |
| 3030 if (pFromInstance && pFromInstance->GetClassID() == XFA_ELEMENT_Subform) { | 3032 if (pFromInstance && pFromInstance->GetClassID() == XFA_Element::Subform) { |
| 3031 pNotify->RunSubformIndexChange(pFromInstance); | 3033 pNotify->RunSubformIndexChange(pFromInstance); |
| 3032 } | 3034 } |
| 3033 } | 3035 } |
| 3034 void CXFA_Node::Script_InstanceManager_RemoveInstance( | 3036 void CXFA_Node::Script_InstanceManager_RemoveInstance( |
| 3035 CFXJSE_Arguments* pArguments) { | 3037 CFXJSE_Arguments* pArguments) { |
| 3036 int32_t argc = pArguments->GetLength(); | 3038 int32_t argc = pArguments->GetLength(); |
| 3037 if (argc != 1) { | 3039 if (argc != 1) { |
| 3038 pArguments->GetReturnValue()->SetUndefined(); | 3040 pArguments->GetReturnValue()->SetUndefined(); |
| 3039 return; | 3041 return; |
| 3040 } | 3042 } |
| 3041 int32_t iIndex = pArguments->GetInt32(0); | 3043 int32_t iIndex = pArguments->GetInt32(0); |
| 3042 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); | 3044 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); |
| 3043 if (iIndex < 0 || iIndex >= iCount) { | 3045 if (iIndex < 0 || iIndex >= iCount) { |
| 3044 ThrowException(XFA_IDS_INDEX_OUT_OF_BOUNDS); | 3046 ThrowException(XFA_IDS_INDEX_OUT_OF_BOUNDS); |
| 3045 return; | 3047 return; |
| 3046 } | 3048 } |
| 3047 CXFA_Occur nodeOccur(GetOccurNode()); | 3049 CXFA_Occur nodeOccur(GetOccurNode()); |
| 3048 int32_t iMin = nodeOccur.GetMin(); | 3050 int32_t iMin = nodeOccur.GetMin(); |
| 3049 if (iCount - 1 < iMin) { | 3051 if (iCount - 1 < iMin) { |
| 3050 ThrowException(XFA_IDS_VIOLATE_BOUNDARY, L"min"); | 3052 ThrowException(XFA_IDS_VIOLATE_BOUNDARY, L"min"); |
| 3051 return; | 3053 return; |
| 3052 } | 3054 } |
| 3053 CXFA_Node* pRemoveInstance = XFA_ScriptInstanceManager_GetItem(this, iIndex); | 3055 CXFA_Node* pRemoveInstance = XFA_ScriptInstanceManager_GetItem(this, iIndex); |
| 3054 XFA_ScriptInstanceManager_RemoveItem(this, pRemoveInstance); | 3056 XFA_ScriptInstanceManager_RemoveItem(this, pRemoveInstance); |
| 3055 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3057 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3056 if (pNotify) { | 3058 if (pNotify) { |
| 3057 for (int32_t i = iIndex; i < iCount - 1; i++) { | 3059 for (int32_t i = iIndex; i < iCount - 1; i++) { |
| 3058 CXFA_Node* pSubformInstance = XFA_ScriptInstanceManager_GetItem(this, i); | 3060 CXFA_Node* pSubformInstance = XFA_ScriptInstanceManager_GetItem(this, i); |
| 3059 if (pSubformInstance && | 3061 if (pSubformInstance && |
| 3060 pSubformInstance->GetClassID() == XFA_ELEMENT_Subform) { | 3062 pSubformInstance->GetClassID() == XFA_Element::Subform) { |
| 3061 pNotify->RunSubformIndexChange(pSubformInstance); | 3063 pNotify->RunSubformIndexChange(pSubformInstance); |
| 3062 } | 3064 } |
| 3063 } | 3065 } |
| 3064 } | 3066 } |
| 3065 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 3067 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| 3066 if (!pLayoutPro) { | 3068 if (!pLayoutPro) { |
| 3067 return; | 3069 return; |
| 3068 } | 3070 } |
| 3069 pLayoutPro->AddChangedContainer( | 3071 pLayoutPro->AddChangedContainer( |
| 3070 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); | 3072 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3178 CFX_WideString(wsInstManagerName.IsEmpty() ? wsInstManagerName | 3180 CFX_WideString(wsInstManagerName.IsEmpty() ? wsInstManagerName |
| 3179 : wsInstManagerName.Mid(1)); | 3181 : wsInstManagerName.Mid(1)); |
| 3180 uint32_t dInstanceNameHash = | 3182 uint32_t dInstanceNameHash = |
| 3181 FX_HashCode_GetW(wsInstanceName.AsStringC(), false); | 3183 FX_HashCode_GetW(wsInstanceName.AsStringC(), false); |
| 3182 CXFA_Node* pPrevSibling = | 3184 CXFA_Node* pPrevSibling = |
| 3183 (iDesired == 0) ? this | 3185 (iDesired == 0) ? this |
| 3184 : XFA_ScriptInstanceManager_GetItem(this, iDesired - 1); | 3186 : XFA_ScriptInstanceManager_GetItem(this, iDesired - 1); |
| 3185 while (iCount > iDesired) { | 3187 while (iCount > iDesired) { |
| 3186 CXFA_Node* pRemoveInstance = | 3188 CXFA_Node* pRemoveInstance = |
| 3187 pPrevSibling->GetNodeItem(XFA_NODEITEM_NextSibling); | 3189 pPrevSibling->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 3188 if (pRemoveInstance->GetClassID() != XFA_ELEMENT_Subform && | 3190 if (pRemoveInstance->GetClassID() != XFA_Element::Subform && |
| 3189 pRemoveInstance->GetClassID() != XFA_ELEMENT_SubformSet) { | 3191 pRemoveInstance->GetClassID() != XFA_Element::SubformSet) { |
| 3190 continue; | 3192 continue; |
| 3191 } | 3193 } |
| 3192 if (pRemoveInstance->GetClassID() == XFA_ELEMENT_InstanceManager) { | 3194 if (pRemoveInstance->GetClassID() == XFA_Element::InstanceManager) { |
| 3193 ASSERT(FALSE); | 3195 ASSERT(FALSE); |
| 3194 break; | 3196 break; |
| 3195 } | 3197 } |
| 3196 if (pRemoveInstance->GetNameHash() == dInstanceNameHash) { | 3198 if (pRemoveInstance->GetNameHash() == dInstanceNameHash) { |
| 3197 XFA_ScriptInstanceManager_RemoveItem(this, pRemoveInstance); | 3199 XFA_ScriptInstanceManager_RemoveItem(this, pRemoveInstance); |
| 3198 iCount--; | 3200 iCount--; |
| 3199 } | 3201 } |
| 3200 } | 3202 } |
| 3201 } else if (iDesired > iCount) { | 3203 } else if (iDesired > iCount) { |
| 3202 while (iCount < iDesired) { | 3204 while (iCount < iDesired) { |
| (...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3593 FX_BOOL bSetting, | 3595 FX_BOOL bSetting, |
| 3594 XFA_ATTRIBUTE eAttribute) {} | 3596 XFA_ATTRIBUTE eAttribute) {} |
| 3595 enum XFA_KEYTYPE { | 3597 enum XFA_KEYTYPE { |
| 3596 XFA_KEYTYPE_Custom, | 3598 XFA_KEYTYPE_Custom, |
| 3597 XFA_KEYTYPE_Element, | 3599 XFA_KEYTYPE_Element, |
| 3598 }; | 3600 }; |
| 3599 void* XFA_GetMapKey_Custom(const CFX_WideStringC& wsKey) { | 3601 void* XFA_GetMapKey_Custom(const CFX_WideStringC& wsKey) { |
| 3600 uint32_t dwKey = FX_HashCode_GetW(wsKey, false); | 3602 uint32_t dwKey = FX_HashCode_GetW(wsKey, false); |
| 3601 return (void*)(uintptr_t)((dwKey << 1) | XFA_KEYTYPE_Custom); | 3603 return (void*)(uintptr_t)((dwKey << 1) | XFA_KEYTYPE_Custom); |
| 3602 } | 3604 } |
| 3603 void* XFA_GetMapKey_Element(XFA_ELEMENT eElement, XFA_ATTRIBUTE eAttribute) { | 3605 void* XFA_GetMapKey_Element(XFA_Element eElement, XFA_ATTRIBUTE eAttribute) { |
| 3604 return (void*)(uintptr_t)((eElement << 16) | (eAttribute << 8) | | 3606 return (void*)(uintptr_t)((static_cast<int32_t>(eElement) << 16) | |
| 3605 XFA_KEYTYPE_Element); | 3607 (eAttribute << 8) | XFA_KEYTYPE_Element); |
| 3606 } | 3608 } |
| 3607 FX_BOOL CXFA_Node::HasAttribute(XFA_ATTRIBUTE eAttr, FX_BOOL bCanInherit) { | 3609 FX_BOOL CXFA_Node::HasAttribute(XFA_ATTRIBUTE eAttr, FX_BOOL bCanInherit) { |
| 3608 void* pKey = XFA_GetMapKey_Element(GetClassID(), eAttr); | 3610 void* pKey = XFA_GetMapKey_Element(GetClassID(), eAttr); |
| 3609 return HasMapModuleKey(pKey, bCanInherit); | 3611 return HasMapModuleKey(pKey, bCanInherit); |
| 3610 } | 3612 } |
| 3611 FX_BOOL CXFA_Node::SetAttribute(XFA_ATTRIBUTE eAttr, | 3613 FX_BOOL CXFA_Node::SetAttribute(XFA_ATTRIBUTE eAttr, |
| 3612 const CFX_WideStringC& wsValue, | 3614 const CFX_WideStringC& wsValue, |
| 3613 bool bNotify) { | 3615 bool bNotify) { |
| 3614 const XFA_ATTRIBUTEINFO* pAttr = XFA_GetAttributeByID(eAttr); | 3616 const XFA_ATTRIBUTEINFO* pAttr = XFA_GetAttributeByID(eAttr); |
| 3615 if (!pAttr) | 3617 if (!pAttr) |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3810 if (eAttr == XFA_ATTRIBUTE_Name) | 3812 if (eAttr == XFA_ATTRIBUTE_Name) |
| 3811 UpdateNameHash(); | 3813 UpdateNameHash(); |
| 3812 } | 3814 } |
| 3813 OnChanged(eAttr, bNotify, bScriptModify); | 3815 OnChanged(eAttr, bNotify, bScriptModify); |
| 3814 | 3816 |
| 3815 if (!IsNeedSavingXMLNode() || eAttr == XFA_ATTRIBUTE_QualifiedName || | 3817 if (!IsNeedSavingXMLNode() || eAttr == XFA_ATTRIBUTE_QualifiedName || |
| 3816 eAttr == XFA_ATTRIBUTE_BindingNode) { | 3818 eAttr == XFA_ATTRIBUTE_BindingNode) { |
| 3817 return TRUE; | 3819 return TRUE; |
| 3818 } | 3820 } |
| 3819 | 3821 |
| 3820 if (eAttr == XFA_ATTRIBUTE_Name && (m_eNodeClass == XFA_ELEMENT_DataValue || | 3822 if (eAttr == XFA_ATTRIBUTE_Name && (m_eNodeClass == XFA_Element::DataValue || |
| 3821 m_eNodeClass == XFA_ELEMENT_DataGroup)) { | 3823 m_eNodeClass == XFA_Element::DataGroup)) { |
| 3822 return TRUE; | 3824 return TRUE; |
| 3823 } | 3825 } |
| 3824 | 3826 |
| 3825 if (eAttr == XFA_ATTRIBUTE_Value) { | 3827 if (eAttr == XFA_ATTRIBUTE_Value) { |
| 3826 FDE_XMLNODETYPE eXMLType = m_pXMLNode->GetType(); | 3828 FDE_XMLNODETYPE eXMLType = m_pXMLNode->GetType(); |
| 3827 switch (eXMLType) { | 3829 switch (eXMLType) { |
| 3828 case FDE_XMLNODE_Element: | 3830 case FDE_XMLNODE_Element: |
| 3829 if (IsAttributeInXML()) { | 3831 if (IsAttributeInXML()) { |
| 3830 static_cast<CFDE_XMLElement*>(m_pXMLNode) | 3832 static_cast<CFDE_XMLElement*>(m_pXMLNode) |
| 3831 ->SetString(CFX_WideString(GetCData(XFA_ATTRIBUTE_QualifiedName)), | 3833 ->SetString(CFX_WideString(GetCData(XFA_ATTRIBUTE_QualifiedName)), |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4053 FX_BOOL CXFA_Node::SetScriptContent(const CFX_WideString& wsContent, | 4055 FX_BOOL CXFA_Node::SetScriptContent(const CFX_WideString& wsContent, |
| 4054 const CFX_WideString& wsXMLValue, | 4056 const CFX_WideString& wsXMLValue, |
| 4055 bool bNotify, | 4057 bool bNotify, |
| 4056 FX_BOOL bScriptModify, | 4058 FX_BOOL bScriptModify, |
| 4057 FX_BOOL bSyncData) { | 4059 FX_BOOL bSyncData) { |
| 4058 CXFA_Node* pNode = nullptr; | 4060 CXFA_Node* pNode = nullptr; |
| 4059 CXFA_Node* pBindNode = nullptr; | 4061 CXFA_Node* pBindNode = nullptr; |
| 4060 switch (GetObjectType()) { | 4062 switch (GetObjectType()) { |
| 4061 case XFA_ObjectType::ContainerNode: { | 4063 case XFA_ObjectType::ContainerNode: { |
| 4062 if (XFA_FieldIsMultiListBox(this)) { | 4064 if (XFA_FieldIsMultiListBox(this)) { |
| 4063 CXFA_Node* pValue = GetProperty(0, XFA_ELEMENT_Value); | 4065 CXFA_Node* pValue = GetProperty(0, XFA_Element::Value); |
| 4064 CXFA_Node* pChildValue = pValue->GetNodeItem(XFA_NODEITEM_FirstChild); | 4066 CXFA_Node* pChildValue = pValue->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 4065 ASSERT(pChildValue); | 4067 ASSERT(pChildValue); |
| 4066 pChildValue->SetCData(XFA_ATTRIBUTE_ContentType, L"text/xml"); | 4068 pChildValue->SetCData(XFA_ATTRIBUTE_ContentType, L"text/xml"); |
| 4067 pChildValue->SetScriptContent(wsContent, wsContent, bNotify, | 4069 pChildValue->SetScriptContent(wsContent, wsContent, bNotify, |
| 4068 bScriptModify, FALSE); | 4070 bScriptModify, FALSE); |
| 4069 CXFA_Node* pBind = GetBindData(); | 4071 CXFA_Node* pBind = GetBindData(); |
| 4070 if (bSyncData && pBind) { | 4072 if (bSyncData && pBind) { |
| 4071 CFX_WideStringArray wsSaveTextArray; | 4073 CFX_WideStringArray wsSaveTextArray; |
| 4072 int32_t iSize = 0; | 4074 int32_t iSize = 0; |
| 4073 if (!wsContent.IsEmpty()) { | 4075 if (!wsContent.IsEmpty()) { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 4089 iSize = wsSaveTextArray.GetSize(); | 4091 iSize = wsSaveTextArray.GetSize(); |
| 4090 } | 4092 } |
| 4091 if (iSize == 0) { | 4093 if (iSize == 0) { |
| 4092 while (CXFA_Node* pChildNode = | 4094 while (CXFA_Node* pChildNode = |
| 4093 pBind->GetNodeItem(XFA_NODEITEM_FirstChild)) { | 4095 pBind->GetNodeItem(XFA_NODEITEM_FirstChild)) { |
| 4094 pBind->RemoveChild(pChildNode); | 4096 pBind->RemoveChild(pChildNode); |
| 4095 } | 4097 } |
| 4096 } else { | 4098 } else { |
| 4097 CXFA_NodeArray valueNodes; | 4099 CXFA_NodeArray valueNodes; |
| 4098 int32_t iDatas = pBind->GetNodeList( | 4100 int32_t iDatas = pBind->GetNodeList( |
| 4099 valueNodes, XFA_NODEFILTER_Children, XFA_ELEMENT_DataValue); | 4101 valueNodes, XFA_NODEFILTER_Children, XFA_Element::DataValue); |
| 4100 if (iDatas < iSize) { | 4102 if (iDatas < iSize) { |
| 4101 int32_t iAddNodes = iSize - iDatas; | 4103 int32_t iAddNodes = iSize - iDatas; |
| 4102 CXFA_Node* pValueNodes = nullptr; | 4104 CXFA_Node* pValueNodes = nullptr; |
| 4103 while (iAddNodes-- > 0) { | 4105 while (iAddNodes-- > 0) { |
| 4104 pValueNodes = | 4106 pValueNodes = |
| 4105 pBind->CreateSamePacketNode(XFA_ELEMENT_DataValue); | 4107 pBind->CreateSamePacketNode(XFA_Element::DataValue); |
| 4106 pValueNodes->SetCData(XFA_ATTRIBUTE_Name, L"value"); | 4108 pValueNodes->SetCData(XFA_ATTRIBUTE_Name, L"value"); |
| 4107 pValueNodes->CreateXMLMappingNode(); | 4109 pValueNodes->CreateXMLMappingNode(); |
| 4108 pBind->InsertChild(pValueNodes); | 4110 pBind->InsertChild(pValueNodes); |
| 4109 } | 4111 } |
| 4110 pValueNodes = nullptr; | 4112 pValueNodes = nullptr; |
| 4111 } else if (iDatas > iSize) { | 4113 } else if (iDatas > iSize) { |
| 4112 int32_t iDelNodes = iDatas - iSize; | 4114 int32_t iDelNodes = iDatas - iSize; |
| 4113 while (iDelNodes-- > 0) { | 4115 while (iDelNodes-- > 0) { |
| 4114 pBind->RemoveChild(pBind->GetNodeItem(XFA_NODEITEM_FirstChild)); | 4116 pBind->RemoveChild(pBind->GetNodeItem(XFA_NODEITEM_FirstChild)); |
| 4115 } | 4117 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 4127 CXFA_NodeArray nodeArray; | 4129 CXFA_NodeArray nodeArray; |
| 4128 pBind->GetBindItems(nodeArray); | 4130 pBind->GetBindItems(nodeArray); |
| 4129 for (int32_t i = 0; i < nodeArray.GetSize(); i++) { | 4131 for (int32_t i = 0; i < nodeArray.GetSize(); i++) { |
| 4130 if (nodeArray[i] != this) { | 4132 if (nodeArray[i] != this) { |
| 4131 nodeArray[i]->SetScriptContent(wsContent, wsContent, bNotify, | 4133 nodeArray[i]->SetScriptContent(wsContent, wsContent, bNotify, |
| 4132 bScriptModify, FALSE); | 4134 bScriptModify, FALSE); |
| 4133 } | 4135 } |
| 4134 } | 4136 } |
| 4135 } | 4137 } |
| 4136 break; | 4138 break; |
| 4137 } else if (GetClassID() == XFA_ELEMENT_ExclGroup) { | 4139 } else if (GetClassID() == XFA_Element::ExclGroup) { |
| 4138 pNode = this; | 4140 pNode = this; |
| 4139 } else { | 4141 } else { |
| 4140 CXFA_Node* pValue = GetProperty(0, XFA_ELEMENT_Value); | 4142 CXFA_Node* pValue = GetProperty(0, XFA_Element::Value); |
| 4141 CXFA_Node* pChildValue = pValue->GetNodeItem(XFA_NODEITEM_FirstChild); | 4143 CXFA_Node* pChildValue = pValue->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 4142 ASSERT(pChildValue); | 4144 ASSERT(pChildValue); |
| 4143 pChildValue->SetScriptContent(wsContent, wsContent, bNotify, | 4145 pChildValue->SetScriptContent(wsContent, wsContent, bNotify, |
| 4144 bScriptModify, FALSE); | 4146 bScriptModify, FALSE); |
| 4145 } | 4147 } |
| 4146 pBindNode = GetBindData(); | 4148 pBindNode = GetBindData(); |
| 4147 if (pBindNode && bSyncData) { | 4149 if (pBindNode && bSyncData) { |
| 4148 pBindNode->SetScriptContent(wsContent, wsXMLValue, bNotify, | 4150 pBindNode->SetScriptContent(wsContent, wsXMLValue, bNotify, |
| 4149 bScriptModify, FALSE); | 4151 bScriptModify, FALSE); |
| 4150 CXFA_NodeArray nodeArray; | 4152 CXFA_NodeArray nodeArray; |
| 4151 pBindNode->GetBindItems(nodeArray); | 4153 pBindNode->GetBindItems(nodeArray); |
| 4152 for (int32_t i = 0; i < nodeArray.GetSize(); i++) { | 4154 for (int32_t i = 0; i < nodeArray.GetSize(); i++) { |
| 4153 if (nodeArray[i] != this) { | 4155 if (nodeArray[i] != this) { |
| 4154 nodeArray[i]->SetScriptContent(wsContent, wsContent, bNotify, true, | 4156 nodeArray[i]->SetScriptContent(wsContent, wsContent, bNotify, true, |
| 4155 FALSE); | 4157 FALSE); |
| 4156 } | 4158 } |
| 4157 } | 4159 } |
| 4158 } | 4160 } |
| 4159 pBindNode = nullptr; | 4161 pBindNode = nullptr; |
| 4160 break; | 4162 break; |
| 4161 } | 4163 } |
| 4162 case XFA_ObjectType::ContentNode: { | 4164 case XFA_ObjectType::ContentNode: { |
| 4163 CFX_WideString wsContentType; | 4165 CFX_WideString wsContentType; |
| 4164 if (GetClassID() == XFA_ELEMENT_ExData) { | 4166 if (GetClassID() == XFA_Element::ExData) { |
| 4165 GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType, FALSE); | 4167 GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType, FALSE); |
| 4166 if (wsContentType == FX_WSTRC(L"text/html")) { | 4168 if (wsContentType == FX_WSTRC(L"text/html")) { |
| 4167 wsContentType = FX_WSTRC(L""); | 4169 wsContentType = FX_WSTRC(L""); |
| 4168 SetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType.AsStringC()); | 4170 SetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType.AsStringC()); |
| 4169 } | 4171 } |
| 4170 } | 4172 } |
| 4171 CXFA_Node* pContentRawDataNode = GetNodeItem(XFA_NODEITEM_FirstChild); | 4173 CXFA_Node* pContentRawDataNode = GetNodeItem(XFA_NODEITEM_FirstChild); |
| 4172 if (!pContentRawDataNode) { | 4174 if (!pContentRawDataNode) { |
| 4173 pContentRawDataNode = CreateSamePacketNode( | 4175 pContentRawDataNode = CreateSamePacketNode( |
| 4174 (wsContentType == FX_WSTRC(L"text/xml")) ? XFA_ELEMENT_Sharpxml | 4176 (wsContentType == FX_WSTRC(L"text/xml")) ? XFA_Element::Sharpxml |
| 4175 : XFA_ELEMENT_Sharptext); | 4177 : XFA_Element::Sharptext); |
| 4176 InsertChild(pContentRawDataNode); | 4178 InsertChild(pContentRawDataNode); |
| 4177 } | 4179 } |
| 4178 return pContentRawDataNode->SetScriptContent( | 4180 return pContentRawDataNode->SetScriptContent( |
| 4179 wsContent, wsXMLValue, bNotify, bScriptModify, bSyncData); | 4181 wsContent, wsXMLValue, bNotify, bScriptModify, bSyncData); |
| 4180 } break; | 4182 } break; |
| 4181 case XFA_ObjectType::NodeC: | 4183 case XFA_ObjectType::NodeC: |
| 4182 case XFA_ObjectType::TextNode: | 4184 case XFA_ObjectType::TextNode: |
| 4183 pNode = this; | 4185 pNode = this; |
| 4184 break; | 4186 break; |
| 4185 case XFA_ObjectType::NodeV: | 4187 case XFA_ObjectType::NodeV: |
| 4186 pNode = this; | 4188 pNode = this; |
| 4187 if (bSyncData && GetPacketID() == XFA_XDPPACKET_Form) { | 4189 if (bSyncData && GetPacketID() == XFA_XDPPACKET_Form) { |
| 4188 CXFA_Node* pParent = GetNodeItem(XFA_NODEITEM_Parent); | 4190 CXFA_Node* pParent = GetNodeItem(XFA_NODEITEM_Parent); |
| 4189 if (pParent) { | 4191 if (pParent) { |
| 4190 pParent = pParent->GetNodeItem(XFA_NODEITEM_Parent); | 4192 pParent = pParent->GetNodeItem(XFA_NODEITEM_Parent); |
| 4191 } | 4193 } |
| 4192 if (pParent && pParent->GetClassID() == XFA_ELEMENT_Value) { | 4194 if (pParent && pParent->GetClassID() == XFA_Element::Value) { |
| 4193 pParent = pParent->GetNodeItem(XFA_NODEITEM_Parent); | 4195 pParent = pParent->GetNodeItem(XFA_NODEITEM_Parent); |
| 4194 if (pParent && pParent->IsContainerNode()) { | 4196 if (pParent && pParent->IsContainerNode()) { |
| 4195 pBindNode = pParent->GetBindData(); | 4197 pBindNode = pParent->GetBindData(); |
| 4196 if (pBindNode) { | 4198 if (pBindNode) { |
| 4197 pBindNode->SetScriptContent(wsContent, wsXMLValue, bNotify, | 4199 pBindNode->SetScriptContent(wsContent, wsXMLValue, bNotify, |
| 4198 bScriptModify, FALSE); | 4200 bScriptModify, FALSE); |
| 4199 } | 4201 } |
| 4200 } | 4202 } |
| 4201 } | 4203 } |
| 4202 } | 4204 } |
| 4203 break; | 4205 break; |
| 4204 default: | 4206 default: |
| 4205 if (GetClassID() == XFA_ELEMENT_DataValue) { | 4207 if (GetClassID() == XFA_Element::DataValue) { |
| 4206 pNode = this; | 4208 pNode = this; |
| 4207 pBindNode = this; | 4209 pBindNode = this; |
| 4208 } | 4210 } |
| 4209 break; | 4211 break; |
| 4210 } | 4212 } |
| 4211 if (pNode) { | 4213 if (pNode) { |
| 4212 SetAttributeValue(wsContent, wsXMLValue, bNotify, bScriptModify); | 4214 SetAttributeValue(wsContent, wsXMLValue, bNotify, bScriptModify); |
| 4213 if (pBindNode && bSyncData) { | 4215 if (pBindNode && bSyncData) { |
| 4214 CXFA_NodeArray nodeArray; | 4216 CXFA_NodeArray nodeArray; |
| 4215 pBindNode->GetBindItems(nodeArray); | 4217 pBindNode->GetBindItems(nodeArray); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 4236 } | 4238 } |
| 4237 CFX_WideString CXFA_Node::GetContent() { | 4239 CFX_WideString CXFA_Node::GetContent() { |
| 4238 return GetScriptContent(); | 4240 return GetScriptContent(); |
| 4239 } | 4241 } |
| 4240 FX_BOOL CXFA_Node::TryContent(CFX_WideString& wsContent, | 4242 FX_BOOL CXFA_Node::TryContent(CFX_WideString& wsContent, |
| 4241 FX_BOOL bScriptModify, | 4243 FX_BOOL bScriptModify, |
| 4242 FX_BOOL bProto) { | 4244 FX_BOOL bProto) { |
| 4243 CXFA_Node* pNode = nullptr; | 4245 CXFA_Node* pNode = nullptr; |
| 4244 switch (GetObjectType()) { | 4246 switch (GetObjectType()) { |
| 4245 case XFA_ObjectType::ContainerNode: | 4247 case XFA_ObjectType::ContainerNode: |
| 4246 if (GetClassID() == XFA_ELEMENT_ExclGroup) { | 4248 if (GetClassID() == XFA_Element::ExclGroup) { |
| 4247 pNode = this; | 4249 pNode = this; |
| 4248 } else { | 4250 } else { |
| 4249 CXFA_Node* pValue = GetChild(0, XFA_ELEMENT_Value); | 4251 CXFA_Node* pValue = GetChild(0, XFA_Element::Value); |
| 4250 if (!pValue) { | 4252 if (!pValue) { |
| 4251 return FALSE; | 4253 return FALSE; |
| 4252 } | 4254 } |
| 4253 CXFA_Node* pChildValue = pValue->GetNodeItem(XFA_NODEITEM_FirstChild); | 4255 CXFA_Node* pChildValue = pValue->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 4254 if (pChildValue && XFA_FieldIsMultiListBox(this)) { | 4256 if (pChildValue && XFA_FieldIsMultiListBox(this)) { |
| 4255 pChildValue->SetAttribute(XFA_ATTRIBUTE_ContentType, | 4257 pChildValue->SetAttribute(XFA_ATTRIBUTE_ContentType, |
| 4256 FX_WSTRC(L"text/xml")); | 4258 FX_WSTRC(L"text/xml")); |
| 4257 } | 4259 } |
| 4258 return pChildValue | 4260 return pChildValue |
| 4259 ? pChildValue->TryContent(wsContent, bScriptModify, bProto) | 4261 ? pChildValue->TryContent(wsContent, bScriptModify, bProto) |
| 4260 : FALSE; | 4262 : FALSE; |
| 4261 } | 4263 } |
| 4262 break; | 4264 break; |
| 4263 case XFA_ObjectType::ContentNode: { | 4265 case XFA_ObjectType::ContentNode: { |
| 4264 CXFA_Node* pContentRawDataNode = GetNodeItem(XFA_NODEITEM_FirstChild); | 4266 CXFA_Node* pContentRawDataNode = GetNodeItem(XFA_NODEITEM_FirstChild); |
| 4265 if (!pContentRawDataNode) { | 4267 if (!pContentRawDataNode) { |
| 4266 XFA_ELEMENT element = XFA_ELEMENT_Sharptext; | 4268 XFA_Element element = XFA_Element::Sharptext; |
| 4267 if (GetClassID() == XFA_ELEMENT_ExData) { | 4269 if (GetClassID() == XFA_Element::ExData) { |
| 4268 CFX_WideString wsContentType; | 4270 CFX_WideString wsContentType; |
| 4269 GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType, FALSE); | 4271 GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType, FALSE); |
| 4270 if (wsContentType == FX_WSTRC(L"text/html")) { | 4272 if (wsContentType == FX_WSTRC(L"text/html")) { |
| 4271 element = XFA_ELEMENT_SharpxHTML; | 4273 element = XFA_Element::SharpxHTML; |
| 4272 } else if (wsContentType == FX_WSTRC(L"text/xml")) { | 4274 } else if (wsContentType == FX_WSTRC(L"text/xml")) { |
| 4273 element = XFA_ELEMENT_Sharpxml; | 4275 element = XFA_Element::Sharpxml; |
| 4274 } | 4276 } |
| 4275 } | 4277 } |
| 4276 pContentRawDataNode = CreateSamePacketNode(element); | 4278 pContentRawDataNode = CreateSamePacketNode(element); |
| 4277 InsertChild(pContentRawDataNode); | 4279 InsertChild(pContentRawDataNode); |
| 4278 } | 4280 } |
| 4279 return pContentRawDataNode->TryContent(wsContent, bScriptModify, bProto); | 4281 return pContentRawDataNode->TryContent(wsContent, bScriptModify, bProto); |
| 4280 } | 4282 } |
| 4281 case XFA_ObjectType::NodeC: | 4283 case XFA_ObjectType::NodeC: |
| 4282 case XFA_ObjectType::NodeV: | 4284 case XFA_ObjectType::NodeV: |
| 4283 case XFA_ObjectType::TextNode: | 4285 case XFA_ObjectType::TextNode: |
| 4284 pNode = this; | 4286 pNode = this; |
| 4285 default: | 4287 default: |
| 4286 if (GetClassID() == XFA_ELEMENT_DataValue) { | 4288 if (GetClassID() == XFA_Element::DataValue) { |
| 4287 pNode = this; | 4289 pNode = this; |
| 4288 } | 4290 } |
| 4289 break; | 4291 break; |
| 4290 } | 4292 } |
| 4291 if (pNode) { | 4293 if (pNode) { |
| 4292 if (bScriptModify) { | 4294 if (bScriptModify) { |
| 4293 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); | 4295 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); |
| 4294 if (pScriptContext) { | 4296 if (pScriptContext) { |
| 4295 m_pDocument->GetScriptContext()->AddNodesOfRunScript(this); | 4297 m_pDocument->GetScriptContext()->AddNodesOfRunScript(this); |
| 4296 } | 4298 } |
| (...skipping 21 matching lines...) Expand all Loading... |
| 4318 case XFA_XDPPACKET_SourceSet: | 4320 case XFA_XDPPACKET_SourceSet: |
| 4319 return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_SourceSet)); | 4321 return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_SourceSet)); |
| 4320 case XFA_XDPPACKET_Xdc: | 4322 case XFA_XDPPACKET_Xdc: |
| 4321 return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Xdc)); | 4323 return ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Xdc)); |
| 4322 default: | 4324 default: |
| 4323 return this; | 4325 return this; |
| 4324 } | 4326 } |
| 4325 } | 4327 } |
| 4326 FX_BOOL CXFA_Node::TryNamespace(CFX_WideString& wsNamespace) { | 4328 FX_BOOL CXFA_Node::TryNamespace(CFX_WideString& wsNamespace) { |
| 4327 wsNamespace.clear(); | 4329 wsNamespace.clear(); |
| 4328 if (IsModelNode() || GetClassID() == XFA_ELEMENT_Packet) { | 4330 if (IsModelNode() || GetClassID() == XFA_Element::Packet) { |
| 4329 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); | 4331 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); |
| 4330 if (!pXMLNode || pXMLNode->GetType() != FDE_XMLNODE_Element) { | 4332 if (!pXMLNode || pXMLNode->GetType() != FDE_XMLNODE_Element) { |
| 4331 return FALSE; | 4333 return FALSE; |
| 4332 } | 4334 } |
| 4333 static_cast<CFDE_XMLElement*>(pXMLNode)->GetNamespaceURI(wsNamespace); | 4335 static_cast<CFDE_XMLElement*>(pXMLNode)->GetNamespaceURI(wsNamespace); |
| 4334 return TRUE; | 4336 return TRUE; |
| 4335 } else if (GetPacketID() == XFA_XDPPACKET_Datasets) { | 4337 } else if (GetPacketID() == XFA_XDPPACKET_Datasets) { |
| 4336 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); | 4338 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); |
| 4337 if (!pXMLNode) { | 4339 if (!pXMLNode) { |
| 4338 return FALSE; | 4340 return FALSE; |
| 4339 } | 4341 } |
| 4340 if (pXMLNode->GetType() != FDE_XMLNODE_Element) { | 4342 if (pXMLNode->GetType() != FDE_XMLNODE_Element) { |
| 4341 return TRUE; | 4343 return TRUE; |
| 4342 } | 4344 } |
| 4343 if (GetClassID() == XFA_ELEMENT_DataValue && | 4345 if (GetClassID() == XFA_Element::DataValue && |
| 4344 GetEnum(XFA_ATTRIBUTE_Contains) == XFA_ATTRIBUTEENUM_MetaData) { | 4346 GetEnum(XFA_ATTRIBUTE_Contains) == XFA_ATTRIBUTEENUM_MetaData) { |
| 4345 return XFA_FDEExtension_ResolveNamespaceQualifier( | 4347 return XFA_FDEExtension_ResolveNamespaceQualifier( |
| 4346 static_cast<CFDE_XMLElement*>(pXMLNode), | 4348 static_cast<CFDE_XMLElement*>(pXMLNode), |
| 4347 GetCData(XFA_ATTRIBUTE_QualifiedName), wsNamespace); | 4349 GetCData(XFA_ATTRIBUTE_QualifiedName), wsNamespace); |
| 4348 } | 4350 } |
| 4349 static_cast<CFDE_XMLElement*>(pXMLNode)->GetNamespaceURI(wsNamespace); | 4351 static_cast<CFDE_XMLElement*>(pXMLNode)->GetNamespaceURI(wsNamespace); |
| 4350 return TRUE; | 4352 return TRUE; |
| 4351 } else { | 4353 } else { |
| 4352 CXFA_Node* pModelNode = GetModelNode(); | 4354 CXFA_Node* pModelNode = GetModelNode(); |
| 4353 return pModelNode->TryNamespace(wsNamespace); | 4355 return pModelNode->TryNamespace(wsNamespace); |
| 4354 } | 4356 } |
| 4355 } | 4357 } |
| 4356 CXFA_Node* CXFA_Node::GetProperty(int32_t index, | 4358 CXFA_Node* CXFA_Node::GetProperty(int32_t index, |
| 4357 XFA_ELEMENT eProperty, | 4359 XFA_Element eProperty, |
| 4358 FX_BOOL bCreateProperty) { | 4360 FX_BOOL bCreateProperty) { |
| 4359 XFA_ELEMENT eElement = GetClassID(); | 4361 XFA_Element eElement = GetClassID(); |
| 4360 uint32_t dwPacket = GetPacketID(); | 4362 uint32_t dwPacket = GetPacketID(); |
| 4361 const XFA_PROPERTY* pProperty = | 4363 const XFA_PROPERTY* pProperty = |
| 4362 XFA_GetPropertyOfElement(eElement, eProperty, dwPacket); | 4364 XFA_GetPropertyOfElement(eElement, eProperty, dwPacket); |
| 4363 if (!pProperty || index >= pProperty->uOccur) | 4365 if (!pProperty || index >= pProperty->uOccur) |
| 4364 return nullptr; | 4366 return nullptr; |
| 4365 | 4367 |
| 4366 CXFA_Node* pNode = m_pChild; | 4368 CXFA_Node* pNode = m_pChild; |
| 4367 int32_t iCount = 0; | 4369 int32_t iCount = 0; |
| 4368 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 4370 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 4369 if (pNode->GetClassID() == eProperty) { | 4371 if (pNode->GetClassID() == eProperty) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 4390 CXFA_Node* pNewNode = nullptr; | 4392 CXFA_Node* pNewNode = nullptr; |
| 4391 for (; iCount <= index; iCount++) { | 4393 for (; iCount <= index; iCount++) { |
| 4392 pNewNode = pFactory->CreateNode(pPacket, eProperty); | 4394 pNewNode = pFactory->CreateNode(pPacket, eProperty); |
| 4393 if (!pNewNode) | 4395 if (!pNewNode) |
| 4394 return nullptr; | 4396 return nullptr; |
| 4395 InsertChild(pNewNode, nullptr); | 4397 InsertChild(pNewNode, nullptr); |
| 4396 pNewNode->SetFlag(XFA_NodeFlag_Initialized, true); | 4398 pNewNode->SetFlag(XFA_NodeFlag_Initialized, true); |
| 4397 } | 4399 } |
| 4398 return pNewNode; | 4400 return pNewNode; |
| 4399 } | 4401 } |
| 4400 int32_t CXFA_Node::CountChildren(XFA_ELEMENT eElement, FX_BOOL bOnlyChild) { | 4402 int32_t CXFA_Node::CountChildren(XFA_Element eElement, FX_BOOL bOnlyChild) { |
| 4401 CXFA_Node* pNode = m_pChild; | 4403 CXFA_Node* pNode = m_pChild; |
| 4402 int32_t iCount = 0; | 4404 int32_t iCount = 0; |
| 4403 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 4405 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 4404 if (pNode->GetClassID() == eElement || eElement == XFA_ELEMENT_UNKNOWN) { | 4406 if (pNode->GetClassID() == eElement || eElement == XFA_Element::Unknown) { |
| 4405 if (bOnlyChild) { | 4407 if (bOnlyChild) { |
| 4406 const XFA_PROPERTY* pProperty = XFA_GetPropertyOfElement( | 4408 const XFA_PROPERTY* pProperty = XFA_GetPropertyOfElement( |
| 4407 GetClassID(), pNode->GetClassID(), XFA_XDPPACKET_UNKNOWN); | 4409 GetClassID(), pNode->GetClassID(), XFA_XDPPACKET_UNKNOWN); |
| 4408 if (pProperty) { | 4410 if (pProperty) { |
| 4409 continue; | 4411 continue; |
| 4410 } | 4412 } |
| 4411 } | 4413 } |
| 4412 iCount++; | 4414 iCount++; |
| 4413 } | 4415 } |
| 4414 } | 4416 } |
| 4415 return iCount; | 4417 return iCount; |
| 4416 } | 4418 } |
| 4417 CXFA_Node* CXFA_Node::GetChild(int32_t index, | 4419 CXFA_Node* CXFA_Node::GetChild(int32_t index, |
| 4418 XFA_ELEMENT eElement, | 4420 XFA_Element eElement, |
| 4419 FX_BOOL bOnlyChild) { | 4421 FX_BOOL bOnlyChild) { |
| 4420 ASSERT(index > -1); | 4422 ASSERT(index > -1); |
| 4421 CXFA_Node* pNode = m_pChild; | 4423 CXFA_Node* pNode = m_pChild; |
| 4422 int32_t iCount = 0; | 4424 int32_t iCount = 0; |
| 4423 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 4425 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 4424 if (pNode->GetClassID() == eElement || eElement == XFA_ELEMENT_UNKNOWN) { | 4426 if (pNode->GetClassID() == eElement || eElement == XFA_Element::Unknown) { |
| 4425 if (bOnlyChild) { | 4427 if (bOnlyChild) { |
| 4426 const XFA_PROPERTY* pProperty = XFA_GetPropertyOfElement( | 4428 const XFA_PROPERTY* pProperty = XFA_GetPropertyOfElement( |
| 4427 GetClassID(), pNode->GetClassID(), XFA_XDPPACKET_UNKNOWN); | 4429 GetClassID(), pNode->GetClassID(), XFA_XDPPACKET_UNKNOWN); |
| 4428 if (pProperty) { | 4430 if (pProperty) { |
| 4429 continue; | 4431 continue; |
| 4430 } | 4432 } |
| 4431 } | 4433 } |
| 4432 iCount++; | 4434 iCount++; |
| 4433 if (iCount > index) { | 4435 if (iCount > index) { |
| 4434 return pNode; | 4436 return pNode; |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4599 } | 4601 } |
| 4600 CXFA_Node* CXFA_Node::GetFirstChildByName(uint32_t dwNameHash) const { | 4602 CXFA_Node* CXFA_Node::GetFirstChildByName(uint32_t dwNameHash) const { |
| 4601 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_FirstChild); pNode; | 4603 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_FirstChild); pNode; |
| 4602 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 4604 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 4603 if (pNode->GetNameHash() == dwNameHash) { | 4605 if (pNode->GetNameHash() == dwNameHash) { |
| 4604 return pNode; | 4606 return pNode; |
| 4605 } | 4607 } |
| 4606 } | 4608 } |
| 4607 return nullptr; | 4609 return nullptr; |
| 4608 } | 4610 } |
| 4609 CXFA_Node* CXFA_Node::GetFirstChildByClass(XFA_ELEMENT eElement) const { | 4611 CXFA_Node* CXFA_Node::GetFirstChildByClass(XFA_Element eElement) const { |
| 4610 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_FirstChild); pNode; | 4612 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_FirstChild); pNode; |
| 4611 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 4613 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 4612 if (pNode->GetClassID() == eElement) { | 4614 if (pNode->GetClassID() == eElement) { |
| 4613 return pNode; | 4615 return pNode; |
| 4614 } | 4616 } |
| 4615 } | 4617 } |
| 4616 return nullptr; | 4618 return nullptr; |
| 4617 } | 4619 } |
| 4618 CXFA_Node* CXFA_Node::GetNextSameNameSibling(uint32_t dwNameHash) const { | 4620 CXFA_Node* CXFA_Node::GetNextSameNameSibling(uint32_t dwNameHash) const { |
| 4619 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_NextSibling); pNode; | 4621 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_NextSibling); pNode; |
| 4620 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 4622 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 4621 if (pNode->GetNameHash() == dwNameHash) { | 4623 if (pNode->GetNameHash() == dwNameHash) { |
| 4622 return pNode; | 4624 return pNode; |
| 4623 } | 4625 } |
| 4624 } | 4626 } |
| 4625 return nullptr; | 4627 return nullptr; |
| 4626 } | 4628 } |
| 4627 CXFA_Node* CXFA_Node::GetNextSameNameSibling( | 4629 CXFA_Node* CXFA_Node::GetNextSameNameSibling( |
| 4628 const CFX_WideStringC& wsNodeName) const { | 4630 const CFX_WideStringC& wsNodeName) const { |
| 4629 return GetNextSameNameSibling(FX_HashCode_GetW(wsNodeName, false)); | 4631 return GetNextSameNameSibling(FX_HashCode_GetW(wsNodeName, false)); |
| 4630 } | 4632 } |
| 4631 CXFA_Node* CXFA_Node::GetNextSameClassSibling(XFA_ELEMENT eElement) const { | 4633 CXFA_Node* CXFA_Node::GetNextSameClassSibling(XFA_Element eElement) const { |
| 4632 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_NextSibling); pNode; | 4634 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_NextSibling); pNode; |
| 4633 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 4635 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 4634 if (pNode->GetClassID() == eElement) { | 4636 if (pNode->GetClassID() == eElement) { |
| 4635 return pNode; | 4637 return pNode; |
| 4636 } | 4638 } |
| 4637 } | 4639 } |
| 4638 return nullptr; | 4640 return nullptr; |
| 4639 } | 4641 } |
| 4640 int32_t CXFA_Node::GetNodeSameNameIndex() const { | 4642 int32_t CXFA_Node::GetNodeSameNameIndex() const { |
| 4641 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); | 4643 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 4655 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); | 4657 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); |
| 4656 if (!pScriptContext) { | 4658 if (!pScriptContext) { |
| 4657 return; | 4659 return; |
| 4658 } | 4660 } |
| 4659 pScriptContext->GetSomExpression(this, wsSOMExpression); | 4661 pScriptContext->GetSomExpression(this, wsSOMExpression); |
| 4660 } | 4662 } |
| 4661 CXFA_Node* CXFA_Node::GetInstanceMgrOfSubform() { | 4663 CXFA_Node* CXFA_Node::GetInstanceMgrOfSubform() { |
| 4662 CXFA_Node* pInstanceMgr = nullptr; | 4664 CXFA_Node* pInstanceMgr = nullptr; |
| 4663 if (m_ePacket == XFA_XDPPACKET_Form) { | 4665 if (m_ePacket == XFA_XDPPACKET_Form) { |
| 4664 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); | 4666 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); |
| 4665 if (!pParentNode || pParentNode->GetClassID() == XFA_ELEMENT_Area) { | 4667 if (!pParentNode || pParentNode->GetClassID() == XFA_Element::Area) { |
| 4666 return pInstanceMgr; | 4668 return pInstanceMgr; |
| 4667 } | 4669 } |
| 4668 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; | 4670 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; |
| 4669 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { | 4671 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { |
| 4670 XFA_ELEMENT eType = pNode->GetClassID(); | 4672 XFA_Element eType = pNode->GetClassID(); |
| 4671 if ((eType == XFA_ELEMENT_Subform || eType == XFA_ELEMENT_SubformSet) && | 4673 if ((eType == XFA_Element::Subform || eType == XFA_Element::SubformSet) && |
| 4672 pNode->m_dwNameHash != m_dwNameHash) { | 4674 pNode->m_dwNameHash != m_dwNameHash) { |
| 4673 break; | 4675 break; |
| 4674 } | 4676 } |
| 4675 if (eType == XFA_ELEMENT_InstanceManager) { | 4677 if (eType == XFA_Element::InstanceManager) { |
| 4676 CFX_WideStringC wsName = GetCData(XFA_ATTRIBUTE_Name); | 4678 CFX_WideStringC wsName = GetCData(XFA_ATTRIBUTE_Name); |
| 4677 CFX_WideStringC wsInstName = pNode->GetCData(XFA_ATTRIBUTE_Name); | 4679 CFX_WideStringC wsInstName = pNode->GetCData(XFA_ATTRIBUTE_Name); |
| 4678 if (wsInstName.GetLength() > 0 && wsInstName.GetAt(0) == '_' && | 4680 if (wsInstName.GetLength() > 0 && wsInstName.GetAt(0) == '_' && |
| 4679 wsInstName.Mid(1) == wsName) { | 4681 wsInstName.Mid(1) == wsName) { |
| 4680 pInstanceMgr = pNode; | 4682 pInstanceMgr = pNode; |
| 4681 } | 4683 } |
| 4682 break; | 4684 break; |
| 4683 } | 4685 } |
| 4684 } | 4686 } |
| 4685 } | 4687 } |
| 4686 return pInstanceMgr; | 4688 return pInstanceMgr; |
| 4687 } | 4689 } |
| 4688 CXFA_Node* CXFA_Node::GetOccurNode() { | 4690 CXFA_Node* CXFA_Node::GetOccurNode() { |
| 4689 return GetFirstChildByClass(XFA_ELEMENT_Occur); | 4691 return GetFirstChildByClass(XFA_Element::Occur); |
| 4690 } | 4692 } |
| 4691 bool CXFA_Node::HasFlag(XFA_NodeFlag dwFlag) const { | 4693 bool CXFA_Node::HasFlag(XFA_NodeFlag dwFlag) const { |
| 4692 if (m_uNodeFlags & dwFlag) | 4694 if (m_uNodeFlags & dwFlag) |
| 4693 return true; | 4695 return true; |
| 4694 if (dwFlag == XFA_NodeFlag_HasRemovedChildren) | 4696 if (dwFlag == XFA_NodeFlag_HasRemovedChildren) |
| 4695 return m_pParent && m_pParent->HasFlag(dwFlag); | 4697 return m_pParent && m_pParent->HasFlag(dwFlag); |
| 4696 return false; | 4698 return false; |
| 4697 } | 4699 } |
| 4698 | 4700 |
| 4699 void CXFA_Node::SetFlag(uint32_t dwFlag, bool bNotify) { | 4701 void CXFA_Node::SetFlag(uint32_t dwFlag, bool bNotify) { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4734 | 4736 |
| 4735 void CXFA_Node::OnChanged(XFA_ATTRIBUTE eAttr, | 4737 void CXFA_Node::OnChanged(XFA_ATTRIBUTE eAttr, |
| 4736 bool bNotify, | 4738 bool bNotify, |
| 4737 FX_BOOL bScriptModify) { | 4739 FX_BOOL bScriptModify) { |
| 4738 if (bNotify && IsInitialized()) { | 4740 if (bNotify && IsInitialized()) { |
| 4739 Script_Attribute_SendAttributeChangeMessage(eAttr, bScriptModify); | 4741 Script_Attribute_SendAttributeChangeMessage(eAttr, bScriptModify); |
| 4740 } | 4742 } |
| 4741 } | 4743 } |
| 4742 | 4744 |
| 4743 int32_t CXFA_Node::execSingleEventByName(const CFX_WideStringC& wsEventName, | 4745 int32_t CXFA_Node::execSingleEventByName(const CFX_WideStringC& wsEventName, |
| 4744 XFA_ELEMENT eElementType) { | 4746 XFA_Element eElementType) { |
| 4745 int32_t iRet = XFA_EVENTERROR_NotExist; | 4747 int32_t iRet = XFA_EVENTERROR_NotExist; |
| 4746 const XFA_ExecEventParaInfo* eventParaInfo = | 4748 const XFA_ExecEventParaInfo* eventParaInfo = |
| 4747 GetEventParaInfoByName(wsEventName); | 4749 GetEventParaInfoByName(wsEventName); |
| 4748 if (eventParaInfo) { | 4750 if (eventParaInfo) { |
| 4749 uint32_t validFlags = eventParaInfo->m_validFlags; | 4751 uint32_t validFlags = eventParaInfo->m_validFlags; |
| 4750 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 4752 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 4751 if (!pNotify) { | 4753 if (!pNotify) { |
| 4752 return iRet; | 4754 return iRet; |
| 4753 } | 4755 } |
| 4754 if (validFlags == 1) { | 4756 if (validFlags == 1) { |
| 4755 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType); | 4757 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType); |
| 4756 } else if (validFlags == 2) { | 4758 } else if (validFlags == 2) { |
| 4757 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, | 4759 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, |
| 4758 FALSE, FALSE); | 4760 FALSE, FALSE); |
| 4759 } else if (validFlags == 3) { | 4761 } else if (validFlags == 3) { |
| 4760 if (eElementType == XFA_ELEMENT_Subform) { | 4762 if (eElementType == XFA_Element::Subform) { |
| 4761 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, | 4763 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, |
| 4762 FALSE, FALSE); | 4764 FALSE, FALSE); |
| 4763 } | 4765 } |
| 4764 } else if (validFlags == 4) { | 4766 } else if (validFlags == 4) { |
| 4765 if (eElementType == XFA_ELEMENT_ExclGroup || | 4767 if (eElementType == XFA_Element::ExclGroup || |
| 4766 eElementType == XFA_ELEMENT_Field) { | 4768 eElementType == XFA_Element::Field) { |
| 4767 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); | 4769 CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent); |
| 4768 if (pParentNode && pParentNode->GetClassID() == XFA_ELEMENT_ExclGroup) { | 4770 if (pParentNode && |
| 4771 pParentNode->GetClassID() == XFA_Element::ExclGroup) { |
| 4769 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, | 4772 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, |
| 4770 FALSE, FALSE); | 4773 FALSE, FALSE); |
| 4771 } | 4774 } |
| 4772 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, | 4775 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, |
| 4773 FALSE, FALSE); | 4776 FALSE, FALSE); |
| 4774 } | 4777 } |
| 4775 } else if (validFlags == 5) { | 4778 } else if (validFlags == 5) { |
| 4776 if (eElementType == XFA_ELEMENT_Field) { | 4779 if (eElementType == XFA_Element::Field) { |
| 4777 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, | 4780 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, |
| 4778 FALSE, FALSE); | 4781 FALSE, FALSE); |
| 4779 } | 4782 } |
| 4780 } else if (validFlags == 6) { | 4783 } else if (validFlags == 6) { |
| 4781 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 4784 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 4782 if (pWidgetData) { | 4785 if (pWidgetData) { |
| 4783 CXFA_Node* pUINode = pWidgetData->GetUIChild(); | 4786 CXFA_Node* pUINode = pWidgetData->GetUIChild(); |
| 4784 if (pUINode->m_eNodeClass == XFA_ELEMENT_Signature) { | 4787 if (pUINode->m_eNodeClass == XFA_Element::Signature) { |
| 4785 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, | 4788 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, |
| 4786 FALSE, FALSE); | 4789 FALSE, FALSE); |
| 4787 } | 4790 } |
| 4788 } | 4791 } |
| 4789 } else if (validFlags == 7) { | 4792 } else if (validFlags == 7) { |
| 4790 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 4793 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 4791 if (pWidgetData) { | 4794 if (pWidgetData) { |
| 4792 CXFA_Node* pUINode = pWidgetData->GetUIChild(); | 4795 CXFA_Node* pUINode = pWidgetData->GetUIChild(); |
| 4793 if ((pUINode->m_eNodeClass == XFA_ELEMENT_ChoiceList) && | 4796 if ((pUINode->m_eNodeClass == XFA_Element::ChoiceList) && |
| 4794 (!pWidgetData->IsListBox())) { | 4797 (!pWidgetData->IsListBox())) { |
| 4795 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, | 4798 iRet = pNotify->ExecEventByDeepFirst(this, eventParaInfo->m_eventType, |
| 4796 FALSE, FALSE); | 4799 FALSE, FALSE); |
| 4797 } | 4800 } |
| 4798 } | 4801 } |
| 4799 } | 4802 } |
| 4800 } | 4803 } |
| 4801 return iRet; | 4804 return iRet; |
| 4802 } | 4805 } |
| 4803 void CXFA_Node::UpdateNameHash() { | 4806 void CXFA_Node::UpdateNameHash() { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 4815 CFDE_XMLNode* CXFA_Node::CreateXMLMappingNode() { | 4818 CFDE_XMLNode* CXFA_Node::CreateXMLMappingNode() { |
| 4816 if (!m_pXMLNode) { | 4819 if (!m_pXMLNode) { |
| 4817 CFX_WideString wsTag(GetCData(XFA_ATTRIBUTE_Name)); | 4820 CFX_WideString wsTag(GetCData(XFA_ATTRIBUTE_Name)); |
| 4818 m_pXMLNode = new CFDE_XMLElement(wsTag); | 4821 m_pXMLNode = new CFDE_XMLElement(wsTag); |
| 4819 SetFlag(XFA_NodeFlag_OwnXMLNode, false); | 4822 SetFlag(XFA_NodeFlag_OwnXMLNode, false); |
| 4820 } | 4823 } |
| 4821 return m_pXMLNode; | 4824 return m_pXMLNode; |
| 4822 } | 4825 } |
| 4823 FX_BOOL CXFA_Node::IsNeedSavingXMLNode() { | 4826 FX_BOOL CXFA_Node::IsNeedSavingXMLNode() { |
| 4824 return m_pXMLNode && (GetPacketID() == XFA_XDPPACKET_Datasets || | 4827 return m_pXMLNode && (GetPacketID() == XFA_XDPPACKET_Datasets || |
| 4825 GetClassID() == XFA_ELEMENT_Xfa); | 4828 GetClassID() == XFA_Element::Xfa); |
| 4826 } | 4829 } |
| 4827 | 4830 |
| 4828 XFA_MAPMODULEDATA* CXFA_Node::CreateMapModuleData() { | 4831 XFA_MAPMODULEDATA* CXFA_Node::CreateMapModuleData() { |
| 4829 if (!m_pMapModuleData) | 4832 if (!m_pMapModuleData) |
| 4830 m_pMapModuleData = new XFA_MAPMODULEDATA; | 4833 m_pMapModuleData = new XFA_MAPMODULEDATA; |
| 4831 return m_pMapModuleData; | 4834 return m_pMapModuleData; |
| 4832 } | 4835 } |
| 4833 | 4836 |
| 4834 XFA_MAPMODULEDATA* CXFA_Node::GetMapModuleData() const { | 4837 XFA_MAPMODULEDATA* CXFA_Node::GetMapModuleData() const { |
| 4835 return m_pMapModuleData; | 4838 return m_pMapModuleData; |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5071 for (; pSrcChild && pDstChild; | 5074 for (; pSrcChild && pDstChild; |
| 5072 pSrcChild = pSrcChild->GetNodeItem(XFA_NODEITEM_NextSibling), | 5075 pSrcChild = pSrcChild->GetNodeItem(XFA_NODEITEM_NextSibling), |
| 5073 pDstChild = pDstChild->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 5076 pDstChild = pDstChild->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 5074 MoveBufferMapData(pSrcChild, pDstChild, pKey, TRUE); | 5077 MoveBufferMapData(pSrcChild, pDstChild, pKey, TRUE); |
| 5075 } | 5078 } |
| 5076 } | 5079 } |
| 5077 pSrcModule->MoveBufferMapData(pDstModule, pKey); | 5080 pSrcModule->MoveBufferMapData(pDstModule, pKey); |
| 5078 } | 5081 } |
| 5079 | 5082 |
| 5080 CXFA_OrdinaryObject::CXFA_OrdinaryObject(CXFA_Document* pDocument, | 5083 CXFA_OrdinaryObject::CXFA_OrdinaryObject(CXFA_Document* pDocument, |
| 5081 XFA_ELEMENT eElement) | 5084 XFA_Element eElement) |
| 5082 : CXFA_Object(pDocument, XFA_ObjectType::OrdinaryObject), m_uScriptHash(0) { | 5085 : CXFA_Object(pDocument, XFA_ObjectType::OrdinaryObject), m_uScriptHash(0) { |
| 5083 m_eNodeClass = eElement; | 5086 m_eNodeClass = eElement; |
| 5084 } | 5087 } |
| 5085 | 5088 |
| 5086 CXFA_OrdinaryObject::~CXFA_OrdinaryObject() {} | 5089 CXFA_OrdinaryObject::~CXFA_OrdinaryObject() {} |
| 5087 | 5090 |
| 5088 XFA_ELEMENT CXFA_OrdinaryObject::GetClassID() const { | 5091 XFA_Element CXFA_OrdinaryObject::GetClassID() const { |
| 5089 return m_eNodeClass; | 5092 return m_eNodeClass; |
| 5090 } | 5093 } |
| 5091 | 5094 |
| 5092 uint32_t CXFA_OrdinaryObject::GetScriptObjHash() const { | 5095 uint32_t CXFA_OrdinaryObject::GetScriptObjHash() const { |
| 5093 return m_uScriptHash; | 5096 return m_uScriptHash; |
| 5094 } | 5097 } |
| 5095 | 5098 |
| 5096 CXFA_ThisProxy::CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode) | 5099 CXFA_ThisProxy::CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode) |
| 5097 : CXFA_Object(pThisNode->GetDocument(), XFA_ObjectType::VariablesThis), | 5100 : CXFA_Object(pThisNode->GetDocument(), XFA_ObjectType::VariablesThis), |
| 5098 m_pThisNode(NULL), | 5101 m_pThisNode(NULL), |
| (...skipping 11 matching lines...) Expand all Loading... |
| 5110 CXFA_Node* CXFA_ThisProxy::GetScriptNode() const { | 5113 CXFA_Node* CXFA_ThisProxy::GetScriptNode() const { |
| 5111 return m_pScriptNode; | 5114 return m_pScriptNode; |
| 5112 } | 5115 } |
| 5113 | 5116 |
| 5114 CXFA_NodeList::CXFA_NodeList(CXFA_Document* pDocument) | 5117 CXFA_NodeList::CXFA_NodeList(CXFA_Document* pDocument) |
| 5115 : CXFA_Object(pDocument, XFA_ObjectType::NodeList) { | 5118 : CXFA_Object(pDocument, XFA_ObjectType::NodeList) { |
| 5116 m_pDocument->GetScriptContext()->AddToCacheList( | 5119 m_pDocument->GetScriptContext()->AddToCacheList( |
| 5117 std::unique_ptr<CXFA_NodeList>(this)); | 5120 std::unique_ptr<CXFA_NodeList>(this)); |
| 5118 } | 5121 } |
| 5119 CXFA_NodeList::~CXFA_NodeList() {} | 5122 CXFA_NodeList::~CXFA_NodeList() {} |
| 5120 XFA_ELEMENT CXFA_NodeList::GetClassID() const { | 5123 XFA_Element CXFA_NodeList::GetClassID() const { |
| 5121 return XFA_ELEMENT_NodeList; | 5124 return XFA_Element::NodeList; |
| 5122 } | 5125 } |
| 5123 CXFA_Node* CXFA_NodeList::NamedItem(const CFX_WideStringC& wsName) { | 5126 CXFA_Node* CXFA_NodeList::NamedItem(const CFX_WideStringC& wsName) { |
| 5124 uint32_t dwHashCode = FX_HashCode_GetW(wsName, false); | 5127 uint32_t dwHashCode = FX_HashCode_GetW(wsName, false); |
| 5125 int32_t iCount = GetLength(); | 5128 int32_t iCount = GetLength(); |
| 5126 for (int32_t i = 0; i < iCount; i++) { | 5129 for (int32_t i = 0; i < iCount; i++) { |
| 5127 CXFA_Node* ret = Item(i); | 5130 CXFA_Node* ret = Item(i); |
| 5128 if (dwHashCode == ret->GetNameHash()) | 5131 if (dwHashCode == ret->GetNameHash()) |
| 5129 return ret; | 5132 return ret; |
| 5130 } | 5133 } |
| 5131 return nullptr; | 5134 return nullptr; |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5258 } | 5261 } |
| 5259 return nullptr; | 5262 return nullptr; |
| 5260 } | 5263 } |
| 5261 CXFA_AttachNodeList::CXFA_AttachNodeList(CXFA_Document* pDocument, | 5264 CXFA_AttachNodeList::CXFA_AttachNodeList(CXFA_Document* pDocument, |
| 5262 CXFA_Node* pAttachNode) | 5265 CXFA_Node* pAttachNode) |
| 5263 : CXFA_NodeList(pDocument) { | 5266 : CXFA_NodeList(pDocument) { |
| 5264 m_pAttachNode = pAttachNode; | 5267 m_pAttachNode = pAttachNode; |
| 5265 } | 5268 } |
| 5266 int32_t CXFA_AttachNodeList::GetLength() { | 5269 int32_t CXFA_AttachNodeList::GetLength() { |
| 5267 return m_pAttachNode->CountChildren( | 5270 return m_pAttachNode->CountChildren( |
| 5268 XFA_ELEMENT_UNKNOWN, m_pAttachNode->GetClassID() == XFA_ELEMENT_Subform); | 5271 XFA_Element::Unknown, |
| 5272 m_pAttachNode->GetClassID() == XFA_Element::Subform); |
| 5269 } | 5273 } |
| 5270 FX_BOOL CXFA_AttachNodeList::Append(CXFA_Node* pNode) { | 5274 FX_BOOL CXFA_AttachNodeList::Append(CXFA_Node* pNode) { |
| 5271 CXFA_Node* pParent = pNode->GetNodeItem(XFA_NODEITEM_Parent); | 5275 CXFA_Node* pParent = pNode->GetNodeItem(XFA_NODEITEM_Parent); |
| 5272 if (pParent) { | 5276 if (pParent) { |
| 5273 pParent->RemoveChild(pNode); | 5277 pParent->RemoveChild(pNode); |
| 5274 } | 5278 } |
| 5275 return m_pAttachNode->InsertChild(pNode); | 5279 return m_pAttachNode->InsertChild(pNode); |
| 5276 } | 5280 } |
| 5277 FX_BOOL CXFA_AttachNodeList::Insert(CXFA_Node* pNewNode, | 5281 FX_BOOL CXFA_AttachNodeList::Insert(CXFA_Node* pNewNode, |
| 5278 CXFA_Node* pBeforeNode) { | 5282 CXFA_Node* pBeforeNode) { |
| 5279 CXFA_Node* pParent = pNewNode->GetNodeItem(XFA_NODEITEM_Parent); | 5283 CXFA_Node* pParent = pNewNode->GetNodeItem(XFA_NODEITEM_Parent); |
| 5280 if (pParent) { | 5284 if (pParent) { |
| 5281 pParent->RemoveChild(pNewNode); | 5285 pParent->RemoveChild(pNewNode); |
| 5282 } | 5286 } |
| 5283 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode); | 5287 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode); |
| 5284 } | 5288 } |
| 5285 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { | 5289 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { |
| 5286 return m_pAttachNode->RemoveChild(pNode); | 5290 return m_pAttachNode->RemoveChild(pNode); |
| 5287 } | 5291 } |
| 5288 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) { | 5292 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) { |
| 5289 return m_pAttachNode->GetChild( | 5293 return m_pAttachNode->GetChild( |
| 5290 iIndex, XFA_ELEMENT_UNKNOWN, | 5294 iIndex, XFA_Element::Unknown, |
| 5291 m_pAttachNode->GetClassID() == XFA_ELEMENT_Subform); | 5295 m_pAttachNode->GetClassID() == XFA_Element::Subform); |
| 5292 } | 5296 } |
| OLD | NEW |