| OLD | NEW |
| 1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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/cxfa_widgetdata.h" | 7 #include "xfa/fxfa/parser/cxfa_widgetdata.h" |
| 8 | 8 |
| 9 #include "core/fxcrt/include/fx_ext.h" | 9 #include "core/fxcrt/include/fx_ext.h" |
| 10 #include "xfa/fxbarcode/include/BC_Library.h" | 10 #include "xfa/fxbarcode/include/BC_Library.h" |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 287 | 287 |
| 288 FX_BOOL CXFA_WidgetData::GetButtonRollover(CFX_WideString& wsRollover, | 288 FX_BOOL CXFA_WidgetData::GetButtonRollover(CFX_WideString& wsRollover, |
| 289 FX_BOOL& bRichText) { | 289 FX_BOOL& bRichText) { |
| 290 if (CXFA_Node* pItems = m_pNode->GetChild(0, XFA_Element::Items)) { | 290 if (CXFA_Node* pItems = m_pNode->GetChild(0, XFA_Element::Items)) { |
| 291 CXFA_Node* pText = pItems->GetNodeItem(XFA_NODEITEM_FirstChild); | 291 CXFA_Node* pText = pItems->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 292 while (pText) { | 292 while (pText) { |
| 293 CFX_WideStringC wsName; | 293 CFX_WideStringC wsName; |
| 294 pText->TryCData(XFA_ATTRIBUTE_Name, wsName); | 294 pText->TryCData(XFA_ATTRIBUTE_Name, wsName); |
| 295 if (wsName == FX_WSTRC(L"rollover")) { | 295 if (wsName == FX_WSTRC(L"rollover")) { |
| 296 pText->TryContent(wsRollover); | 296 pText->TryContent(wsRollover); |
| 297 bRichText = pText->GetClassID() == XFA_Element::ExData; | 297 bRichText = pText->GetElementType() == XFA_Element::ExData; |
| 298 return !wsRollover.IsEmpty(); | 298 return !wsRollover.IsEmpty(); |
| 299 } | 299 } |
| 300 pText = pText->GetNodeItem(XFA_NODEITEM_NextSibling); | 300 pText = pText->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 301 } | 301 } |
| 302 } | 302 } |
| 303 return FALSE; | 303 return FALSE; |
| 304 } | 304 } |
| 305 | 305 |
| 306 FX_BOOL CXFA_WidgetData::GetButtonDown(CFX_WideString& wsDown, | 306 FX_BOOL CXFA_WidgetData::GetButtonDown(CFX_WideString& wsDown, |
| 307 FX_BOOL& bRichText) { | 307 FX_BOOL& bRichText) { |
| 308 if (CXFA_Node* pItems = m_pNode->GetChild(0, XFA_Element::Items)) { | 308 if (CXFA_Node* pItems = m_pNode->GetChild(0, XFA_Element::Items)) { |
| 309 CXFA_Node* pText = pItems->GetNodeItem(XFA_NODEITEM_FirstChild); | 309 CXFA_Node* pText = pItems->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 310 while (pText) { | 310 while (pText) { |
| 311 CFX_WideStringC wsName; | 311 CFX_WideStringC wsName; |
| 312 pText->TryCData(XFA_ATTRIBUTE_Name, wsName); | 312 pText->TryCData(XFA_ATTRIBUTE_Name, wsName); |
| 313 if (wsName == FX_WSTRC(L"down")) { | 313 if (wsName == FX_WSTRC(L"down")) { |
| 314 pText->TryContent(wsDown); | 314 pText->TryContent(wsDown); |
| 315 bRichText = pText->GetClassID() == XFA_Element::ExData; | 315 bRichText = pText->GetElementType() == XFA_Element::ExData; |
| 316 return !wsDown.IsEmpty(); | 316 return !wsDown.IsEmpty(); |
| 317 } | 317 } |
| 318 pText = pText->GetNodeItem(XFA_NODEITEM_NextSibling); | 318 pText = pText->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 319 } | 319 } |
| 320 } | 320 } |
| 321 return FALSE; | 321 return FALSE; |
| 322 } | 322 } |
| 323 | 323 |
| 324 int32_t CXFA_WidgetData::GetCheckButtonShape() { | 324 int32_t CXFA_WidgetData::GetCheckButtonShape() { |
| 325 CXFA_Node* pUIChild = GetUIChild(); | 325 CXFA_Node* pUIChild = GetUIChild(); |
| 326 if (pUIChild) | 326 if (pUIChild) |
| 327 return pUIChild->GetEnum(XFA_ATTRIBUTE_Shape); | 327 return pUIChild->GetEnum(XFA_ATTRIBUTE_Shape); |
| 328 return XFA_GetAttributeDefaultValue_Enum( | 328 return XFA_GetAttributeDefaultValue_Enum( |
| 329 XFA_Element::CheckButton, XFA_ATTRIBUTE_Shape, XFA_XDPPACKET_Form); | 329 XFA_Element::CheckButton, XFA_ATTRIBUTE_Shape, XFA_XDPPACKET_Form); |
| 330 } | 330 } |
| 331 | 331 |
| 332 int32_t CXFA_WidgetData::GetCheckButtonMark() { | 332 int32_t CXFA_WidgetData::GetCheckButtonMark() { |
| 333 CXFA_Node* pUIChild = GetUIChild(); | 333 CXFA_Node* pUIChild = GetUIChild(); |
| 334 if (pUIChild) | 334 if (pUIChild) |
| 335 return pUIChild->GetEnum(XFA_ATTRIBUTE_Mark); | 335 return pUIChild->GetEnum(XFA_ATTRIBUTE_Mark); |
| 336 return XFA_GetAttributeDefaultValue_Enum( | 336 return XFA_GetAttributeDefaultValue_Enum( |
| 337 XFA_Element::CheckButton, XFA_ATTRIBUTE_Mark, XFA_XDPPACKET_Form); | 337 XFA_Element::CheckButton, XFA_ATTRIBUTE_Mark, XFA_XDPPACKET_Form); |
| 338 } | 338 } |
| 339 | 339 |
| 340 FX_BOOL CXFA_WidgetData::IsRadioButton() { | 340 FX_BOOL CXFA_WidgetData::IsRadioButton() { |
| 341 if (CXFA_Node* pParent = m_pNode->GetNodeItem(XFA_NODEITEM_Parent)) | 341 if (CXFA_Node* pParent = m_pNode->GetNodeItem(XFA_NODEITEM_Parent)) |
| 342 return pParent->GetClassID() == XFA_Element::ExclGroup; | 342 return pParent->GetElementType() == XFA_Element::ExclGroup; |
| 343 return FALSE; | 343 return FALSE; |
| 344 } | 344 } |
| 345 | 345 |
| 346 FX_FLOAT CXFA_WidgetData::GetCheckButtonSize() { | 346 FX_FLOAT CXFA_WidgetData::GetCheckButtonSize() { |
| 347 CXFA_Node* pUIChild = GetUIChild(); | 347 CXFA_Node* pUIChild = GetUIChild(); |
| 348 if (pUIChild) | 348 if (pUIChild) |
| 349 return pUIChild->GetMeasure(XFA_ATTRIBUTE_Size).ToUnit(XFA_UNIT_Pt); | 349 return pUIChild->GetMeasure(XFA_ATTRIBUTE_Size).ToUnit(XFA_UNIT_Pt); |
| 350 return XFA_GetAttributeDefaultValue_Measure( | 350 return XFA_GetAttributeDefaultValue_Measure( |
| 351 XFA_Element::CheckButton, XFA_ATTRIBUTE_Size, XFA_XDPPACKET_Form) | 351 XFA_Element::CheckButton, XFA_ATTRIBUTE_Size, XFA_XDPPACKET_Form) |
| 352 .ToUnit(XFA_UNIT_Pt); | 352 .ToUnit(XFA_UNIT_Pt); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 if (eCheckState != XFA_CHECKSTATE_Off) { | 387 if (eCheckState != XFA_CHECKSTATE_Off) { |
| 388 if (CXFA_Node* pItems = m_pNode->GetChild(0, XFA_Element::Items)) { | 388 if (CXFA_Node* pItems = m_pNode->GetChild(0, XFA_Element::Items)) { |
| 389 CXFA_Node* pText = pItems->GetNodeItem(XFA_NODEITEM_FirstChild); | 389 CXFA_Node* pText = pItems->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 390 if (pText) | 390 if (pText) |
| 391 pText->TryContent(wsValue); | 391 pText->TryContent(wsValue); |
| 392 } | 392 } |
| 393 } | 393 } |
| 394 CXFA_Node* pChild = | 394 CXFA_Node* pChild = |
| 395 exclGroup.GetNode()->GetNodeItem(XFA_NODEITEM_FirstChild); | 395 exclGroup.GetNode()->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 396 for (; pChild; pChild = pChild->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 396 for (; pChild; pChild = pChild->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 397 if (pChild->GetClassID() != XFA_Element::Field) | 397 if (pChild->GetElementType() != XFA_Element::Field) |
| 398 continue; | 398 continue; |
| 399 | 399 |
| 400 CXFA_Node* pItem = pChild->GetChild(0, XFA_Element::Items); | 400 CXFA_Node* pItem = pChild->GetChild(0, XFA_Element::Items); |
| 401 if (!pItem) | 401 if (!pItem) |
| 402 continue; | 402 continue; |
| 403 | 403 |
| 404 CXFA_Node* pItemchild = pItem->GetNodeItem(XFA_NODEITEM_FirstChild); | 404 CXFA_Node* pItemchild = pItem->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 405 if (!pItemchild) | 405 if (!pItemchild) |
| 406 continue; | 406 continue; |
| 407 | 407 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 433 break; | 433 break; |
| 434 } | 434 } |
| 435 pText = pText->GetNodeItem(XFA_NODEITEM_NextSibling); | 435 pText = pText->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 436 } | 436 } |
| 437 SyncValue(wsContent, bNotify); | 437 SyncValue(wsContent, bNotify); |
| 438 } | 438 } |
| 439 } | 439 } |
| 440 | 440 |
| 441 CXFA_Node* CXFA_WidgetData::GetExclGroupNode() { | 441 CXFA_Node* CXFA_WidgetData::GetExclGroupNode() { |
| 442 CXFA_Node* pExcl = ToNode(m_pNode->GetNodeItem(XFA_NODEITEM_Parent)); | 442 CXFA_Node* pExcl = ToNode(m_pNode->GetNodeItem(XFA_NODEITEM_Parent)); |
| 443 if (!pExcl || pExcl->GetClassID() != XFA_Element::ExclGroup) | 443 if (!pExcl || pExcl->GetElementType() != XFA_Element::ExclGroup) |
| 444 return NULL; | 444 return NULL; |
| 445 return pExcl; | 445 return pExcl; |
| 446 } | 446 } |
| 447 | 447 |
| 448 CXFA_Node* CXFA_WidgetData::GetSelectedMember() { | 448 CXFA_Node* CXFA_WidgetData::GetSelectedMember() { |
| 449 CXFA_Node* pSelectedMember = NULL; | 449 CXFA_Node* pSelectedMember = NULL; |
| 450 CFX_WideString wsState = GetRawValue(); | 450 CFX_WideString wsState = GetRawValue(); |
| 451 if (wsState.IsEmpty()) | 451 if (wsState.IsEmpty()) |
| 452 return pSelectedMember; | 452 return pSelectedMember; |
| 453 | 453 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 476 return nullptr; | 476 return nullptr; |
| 477 } | 477 } |
| 478 | 478 |
| 479 void CXFA_WidgetData::SetSelectedMemberByValue(const CFX_WideStringC& wsValue, | 479 void CXFA_WidgetData::SetSelectedMemberByValue(const CFX_WideStringC& wsValue, |
| 480 bool bNotify, | 480 bool bNotify, |
| 481 FX_BOOL bScriptModify, | 481 FX_BOOL bScriptModify, |
| 482 FX_BOOL bSyncData) { | 482 FX_BOOL bSyncData) { |
| 483 CFX_WideString wsExclGroup; | 483 CFX_WideString wsExclGroup; |
| 484 for (CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); pNode; | 484 for (CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); pNode; |
| 485 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 485 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 486 if (pNode->GetClassID() != XFA_Element::Field) | 486 if (pNode->GetElementType() != XFA_Element::Field) |
| 487 continue; | 487 continue; |
| 488 | 488 |
| 489 CXFA_Node* pItem = pNode->GetChild(0, XFA_Element::Items); | 489 CXFA_Node* pItem = pNode->GetChild(0, XFA_Element::Items); |
| 490 if (!pItem) | 490 if (!pItem) |
| 491 continue; | 491 continue; |
| 492 | 492 |
| 493 CXFA_Node* pItemchild = pItem->GetNodeItem(XFA_NODEITEM_FirstChild); | 493 CXFA_Node* pItemchild = pItem->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 494 if (!pItemchild) | 494 if (!pItemchild) |
| 495 continue; | 495 continue; |
| 496 | 496 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 513 } | 513 } |
| 514 } | 514 } |
| 515 | 515 |
| 516 CXFA_Node* CXFA_WidgetData::GetExclGroupFirstMember() { | 516 CXFA_Node* CXFA_WidgetData::GetExclGroupFirstMember() { |
| 517 CXFA_Node* pExcl = GetNode(); | 517 CXFA_Node* pExcl = GetNode(); |
| 518 if (!pExcl) | 518 if (!pExcl) |
| 519 return NULL; | 519 return NULL; |
| 520 | 520 |
| 521 CXFA_Node* pNode = pExcl->GetNodeItem(XFA_NODEITEM_FirstChild); | 521 CXFA_Node* pNode = pExcl->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 522 while (pNode) { | 522 while (pNode) { |
| 523 if (pNode->GetClassID() == XFA_Element::Field) | 523 if (pNode->GetElementType() == XFA_Element::Field) |
| 524 return pNode; | 524 return pNode; |
| 525 | 525 |
| 526 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling); | 526 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 527 } | 527 } |
| 528 return NULL; | 528 return NULL; |
| 529 } | 529 } |
| 530 CXFA_Node* CXFA_WidgetData::GetExclGroupNextMember(CXFA_Node* pNode) { | 530 CXFA_Node* CXFA_WidgetData::GetExclGroupNextMember(CXFA_Node* pNode) { |
| 531 if (!pNode) | 531 if (!pNode) |
| 532 return NULL; | 532 return NULL; |
| 533 | 533 |
| 534 CXFA_Node* pNodeField = pNode->GetNodeItem(XFA_NODEITEM_NextSibling); | 534 CXFA_Node* pNodeField = pNode->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 535 while (pNodeField) { | 535 while (pNodeField) { |
| 536 if (pNodeField->GetClassID() == XFA_Element::Field) | 536 if (pNodeField->GetElementType() == XFA_Element::Field) |
| 537 return pNodeField; | 537 return pNodeField; |
| 538 | 538 |
| 539 pNodeField = pNodeField->GetNodeItem(XFA_NODEITEM_NextSibling); | 539 pNodeField = pNodeField->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 540 } | 540 } |
| 541 return NULL; | 541 return NULL; |
| 542 } | 542 } |
| 543 | 543 |
| 544 int32_t CXFA_WidgetData::GetChoiceListCommitOn() { | 544 int32_t CXFA_WidgetData::GetChoiceListCommitOn() { |
| 545 CXFA_Node* pUIChild = GetUIChild(); | 545 CXFA_Node* pUIChild = GetUIChild(); |
| 546 if (pUIChild) | 546 if (pUIChild) |
| (...skipping 23 matching lines...) Expand all Loading... |
| 570 return (iOpenMode == XFA_ATTRIBUTEENUM_Always || | 570 return (iOpenMode == XFA_ATTRIBUTEENUM_Always || |
| 571 iOpenMode == XFA_ATTRIBUTEENUM_MultiSelect); | 571 iOpenMode == XFA_ATTRIBUTEENUM_MultiSelect); |
| 572 } | 572 } |
| 573 | 573 |
| 574 int32_t CXFA_WidgetData::CountChoiceListItems(FX_BOOL bSaveValue) { | 574 int32_t CXFA_WidgetData::CountChoiceListItems(FX_BOOL bSaveValue) { |
| 575 CXFA_NodeArray pItems; | 575 CXFA_NodeArray pItems; |
| 576 CXFA_Node* pItem = NULL; | 576 CXFA_Node* pItem = NULL; |
| 577 int32_t iCount = 0; | 577 int32_t iCount = 0; |
| 578 CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); | 578 CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 579 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 579 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 580 if (pNode->GetClassID() != XFA_Element::Items) | 580 if (pNode->GetElementType() != XFA_Element::Items) |
| 581 continue; | 581 continue; |
| 582 | 582 |
| 583 iCount++; | 583 iCount++; |
| 584 pItems.Add(pNode); | 584 pItems.Add(pNode); |
| 585 if (iCount == 2) | 585 if (iCount == 2) |
| 586 break; | 586 break; |
| 587 } | 587 } |
| 588 if (iCount == 0) | 588 if (iCount == 0) |
| 589 return 0; | 589 return 0; |
| 590 | 590 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 601 | 601 |
| 602 FX_BOOL CXFA_WidgetData::GetChoiceListItem(CFX_WideString& wsText, | 602 FX_BOOL CXFA_WidgetData::GetChoiceListItem(CFX_WideString& wsText, |
| 603 int32_t nIndex, | 603 int32_t nIndex, |
| 604 FX_BOOL bSaveValue) { | 604 FX_BOOL bSaveValue) { |
| 605 wsText.clear(); | 605 wsText.clear(); |
| 606 CXFA_NodeArray pItemsArray; | 606 CXFA_NodeArray pItemsArray; |
| 607 CXFA_Node* pItems = nullptr; | 607 CXFA_Node* pItems = nullptr; |
| 608 int32_t iCount = 0; | 608 int32_t iCount = 0; |
| 609 CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); | 609 CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 610 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 610 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 611 if (pNode->GetClassID() != XFA_Element::Items) | 611 if (pNode->GetElementType() != XFA_Element::Items) |
| 612 continue; | 612 continue; |
| 613 | 613 |
| 614 iCount++; | 614 iCount++; |
| 615 pItemsArray.Add(pNode); | 615 pItemsArray.Add(pNode); |
| 616 if (iCount == 2) | 616 if (iCount == 2) |
| 617 break; | 617 break; |
| 618 } | 618 } |
| 619 if (iCount == 0) | 619 if (iCount == 0) |
| 620 return FALSE; | 620 return FALSE; |
| 621 | 621 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 636 return FALSE; | 636 return FALSE; |
| 637 } | 637 } |
| 638 | 638 |
| 639 void CXFA_WidgetData::GetChoiceListItems(CFX_WideStringArray& wsTextArray, | 639 void CXFA_WidgetData::GetChoiceListItems(CFX_WideStringArray& wsTextArray, |
| 640 FX_BOOL bSaveValue) { | 640 FX_BOOL bSaveValue) { |
| 641 CXFA_NodeArray pItems; | 641 CXFA_NodeArray pItems; |
| 642 CXFA_Node* pItem = NULL; | 642 CXFA_Node* pItem = NULL; |
| 643 int32_t iCount = 0; | 643 int32_t iCount = 0; |
| 644 CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); | 644 CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 645 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 645 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 646 if (pNode->GetClassID() != XFA_Element::Items) | 646 if (pNode->GetElementType() != XFA_Element::Items) |
| 647 continue; | 647 continue; |
| 648 | 648 |
| 649 iCount++; | 649 iCount++; |
| 650 pItems.Add(pNode); | 650 pItems.Add(pNode); |
| 651 if (iCount == 2) | 651 if (iCount == 2) |
| 652 break; | 652 break; |
| 653 } | 653 } |
| 654 if (iCount == 0) | 654 if (iCount == 0) |
| 655 return; | 655 return; |
| 656 | 656 |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 868 FX_BOOL bNotify) { | 868 FX_BOOL bNotify) { |
| 869 CFX_WideString wsNewValue(wsValue); | 869 CFX_WideString wsNewValue(wsValue); |
| 870 if (wsNewValue.IsEmpty()) | 870 if (wsNewValue.IsEmpty()) |
| 871 wsNewValue = wsLabel; | 871 wsNewValue = wsLabel; |
| 872 | 872 |
| 873 CXFA_NodeArray listitems; | 873 CXFA_NodeArray listitems; |
| 874 int32_t iCount = 0; | 874 int32_t iCount = 0; |
| 875 CXFA_Node* pItemNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); | 875 CXFA_Node* pItemNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 876 for (; pItemNode; | 876 for (; pItemNode; |
| 877 pItemNode = pItemNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 877 pItemNode = pItemNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 878 if (pItemNode->GetClassID() != XFA_Element::Items) | 878 if (pItemNode->GetElementType() != XFA_Element::Items) |
| 879 continue; | 879 continue; |
| 880 | 880 |
| 881 listitems.Add(pItemNode); | 881 listitems.Add(pItemNode); |
| 882 iCount++; | 882 iCount++; |
| 883 } | 883 } |
| 884 if (iCount < 1) { | 884 if (iCount < 1) { |
| 885 CXFA_Node* pItems = m_pNode->CreateSamePacketNode(XFA_Element::Items); | 885 CXFA_Node* pItems = m_pNode->CreateSamePacketNode(XFA_Element::Items); |
| 886 m_pNode->InsertChild(-1, pItems); | 886 m_pNode->InsertChild(-1, pItems); |
| 887 InsertListTextItem(pItems, wsLabel, nIndex); | 887 InsertListTextItem(pItems, wsLabel, nIndex); |
| 888 CXFA_Node* pSaveItems = m_pNode->CreateSamePacketNode(XFA_Element::Items); | 888 CXFA_Node* pSaveItems = m_pNode->CreateSamePacketNode(XFA_Element::Items); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 925 m_pNode->GetDocument()->GetNotify()->OnWidgetListItemAdded( | 925 m_pNode->GetDocument()->GetNotify()->OnWidgetListItemAdded( |
| 926 this, wsLabel.c_str(), wsValue.c_str(), nIndex); | 926 this, wsLabel.c_str(), wsValue.c_str(), nIndex); |
| 927 } | 927 } |
| 928 | 928 |
| 929 void CXFA_WidgetData::GetItemLabel(const CFX_WideStringC& wsValue, | 929 void CXFA_WidgetData::GetItemLabel(const CFX_WideStringC& wsValue, |
| 930 CFX_WideString& wsLabel) { | 930 CFX_WideString& wsLabel) { |
| 931 int32_t iCount = 0; | 931 int32_t iCount = 0; |
| 932 CXFA_NodeArray listitems; | 932 CXFA_NodeArray listitems; |
| 933 CXFA_Node* pItems = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); | 933 CXFA_Node* pItems = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 934 for (; pItems; pItems = pItems->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 934 for (; pItems; pItems = pItems->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 935 if (pItems->GetClassID() != XFA_Element::Items) | 935 if (pItems->GetElementType() != XFA_Element::Items) |
| 936 continue; | 936 continue; |
| 937 | 937 |
| 938 iCount++; | 938 iCount++; |
| 939 listitems.Add(pItems); | 939 listitems.Add(pItems); |
| 940 } | 940 } |
| 941 if (iCount <= 1) { | 941 if (iCount <= 1) { |
| 942 wsLabel = wsValue; | 942 wsLabel = wsValue; |
| 943 } else { | 943 } else { |
| 944 CXFA_Node* pLabelItems = listitems[0]; | 944 CXFA_Node* pLabelItems = listitems[0]; |
| 945 FX_BOOL bSave = pLabelItems->GetBoolean(XFA_ATTRIBUTE_Save); | 945 FX_BOOL bSave = pLabelItems->GetBoolean(XFA_ATTRIBUTE_Save); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 971 } | 971 } |
| 972 } | 972 } |
| 973 } | 973 } |
| 974 | 974 |
| 975 void CXFA_WidgetData::GetItemValue(const CFX_WideStringC& wsLabel, | 975 void CXFA_WidgetData::GetItemValue(const CFX_WideStringC& wsLabel, |
| 976 CFX_WideString& wsValue) { | 976 CFX_WideString& wsValue) { |
| 977 int32_t iCount = 0; | 977 int32_t iCount = 0; |
| 978 CXFA_NodeArray listitems; | 978 CXFA_NodeArray listitems; |
| 979 CXFA_Node* pItems = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); | 979 CXFA_Node* pItems = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 980 for (; pItems; pItems = pItems->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 980 for (; pItems; pItems = pItems->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 981 if (pItems->GetClassID() != XFA_Element::Items) | 981 if (pItems->GetElementType() != XFA_Element::Items) |
| 982 continue; | 982 continue; |
| 983 | 983 |
| 984 iCount++; | 984 iCount++; |
| 985 listitems.Add(pItems); | 985 listitems.Add(pItems); |
| 986 } | 986 } |
| 987 if (iCount <= 1) { | 987 if (iCount <= 1) { |
| 988 wsValue = wsLabel; | 988 wsValue = wsLabel; |
| 989 } else { | 989 } else { |
| 990 CXFA_Node* pLabelItems = listitems[0]; | 990 CXFA_Node* pLabelItems = listitems[0]; |
| 991 FX_BOOL bSave = pLabelItems->GetBoolean(XFA_ATTRIBUTE_Save); | 991 FX_BOOL bSave = pLabelItems->GetBoolean(XFA_ATTRIBUTE_Save); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1016 } | 1016 } |
| 1017 } | 1017 } |
| 1018 | 1018 |
| 1019 FX_BOOL CXFA_WidgetData::DeleteItem(int32_t nIndex, | 1019 FX_BOOL CXFA_WidgetData::DeleteItem(int32_t nIndex, |
| 1020 FX_BOOL bNotify, | 1020 FX_BOOL bNotify, |
| 1021 FX_BOOL bScriptModify, | 1021 FX_BOOL bScriptModify, |
| 1022 FX_BOOL bSyncData) { | 1022 FX_BOOL bSyncData) { |
| 1023 FX_BOOL bSetValue = FALSE; | 1023 FX_BOOL bSetValue = FALSE; |
| 1024 CXFA_Node* pItems = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); | 1024 CXFA_Node* pItems = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 1025 for (; pItems; pItems = pItems->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 1025 for (; pItems; pItems = pItems->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 1026 if (pItems->GetClassID() != XFA_Element::Items) | 1026 if (pItems->GetElementType() != XFA_Element::Items) |
| 1027 continue; | 1027 continue; |
| 1028 | 1028 |
| 1029 if (nIndex < 0) { | 1029 if (nIndex < 0) { |
| 1030 while (CXFA_Node* pNode = pItems->GetNodeItem(XFA_NODEITEM_FirstChild)) { | 1030 while (CXFA_Node* pNode = pItems->GetNodeItem(XFA_NODEITEM_FirstChild)) { |
| 1031 pItems->RemoveChild(pNode); | 1031 pItems->RemoveChild(pNode); |
| 1032 } | 1032 } |
| 1033 } else { | 1033 } else { |
| 1034 if (!bSetValue && pItems->GetBoolean(XFA_ATTRIBUTE_Save)) { | 1034 if (!bSetValue && pItems->GetBoolean(XFA_ATTRIBUTE_Save)) { |
| 1035 SetItemState(nIndex, FALSE, true, bScriptModify, bSyncData); | 1035 SetItemState(nIndex, FALSE, true, bScriptModify, bSyncData); |
| 1036 bSetValue = TRUE; | 1036 bSetValue = TRUE; |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1269 CXFA_Node* pUIChild = GetUIChild(); | 1269 CXFA_Node* pUIChild = GetUIChild(); |
| 1270 if (pUIChild) | 1270 if (pUIChild) |
| 1271 return pUIChild->GetEnum(XFA_ATTRIBUTE_VScrollPolicy); | 1271 return pUIChild->GetEnum(XFA_ATTRIBUTE_VScrollPolicy); |
| 1272 return XFA_GetAttributeDefaultValue_Enum( | 1272 return XFA_GetAttributeDefaultValue_Enum( |
| 1273 XFA_Element::TextEdit, XFA_ATTRIBUTE_VScrollPolicy, XFA_XDPPACKET_Form); | 1273 XFA_Element::TextEdit, XFA_ATTRIBUTE_VScrollPolicy, XFA_XDPPACKET_Form); |
| 1274 } | 1274 } |
| 1275 | 1275 |
| 1276 int32_t CXFA_WidgetData::GetMaxChars(XFA_Element& eType) { | 1276 int32_t CXFA_WidgetData::GetMaxChars(XFA_Element& eType) { |
| 1277 if (CXFA_Node* pNode = m_pNode->GetChild(0, XFA_Element::Value)) { | 1277 if (CXFA_Node* pNode = m_pNode->GetChild(0, XFA_Element::Value)) { |
| 1278 if (CXFA_Node* pChild = pNode->GetNodeItem(XFA_NODEITEM_FirstChild)) { | 1278 if (CXFA_Node* pChild = pNode->GetNodeItem(XFA_NODEITEM_FirstChild)) { |
| 1279 switch (pChild->GetClassID()) { | 1279 switch (pChild->GetElementType()) { |
| 1280 case XFA_Element::Text: | 1280 case XFA_Element::Text: |
| 1281 eType = XFA_Element::Text; | 1281 eType = XFA_Element::Text; |
| 1282 return pChild->GetInteger(XFA_ATTRIBUTE_MaxChars); | 1282 return pChild->GetInteger(XFA_ATTRIBUTE_MaxChars); |
| 1283 case XFA_Element::ExData: { | 1283 case XFA_Element::ExData: { |
| 1284 eType = XFA_Element::ExData; | 1284 eType = XFA_Element::ExData; |
| 1285 int32_t iMax = pChild->GetInteger(XFA_ATTRIBUTE_MaxLength); | 1285 int32_t iMax = pChild->GetInteger(XFA_ATTRIBUTE_MaxLength); |
| 1286 return iMax < 0 ? 0 : iMax; | 1286 return iMax < 0 ? 0 : iMax; |
| 1287 } | 1287 } |
| 1288 default: | 1288 default: |
| 1289 break; | 1289 break; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1321 m_bIsNull = FALSE; | 1321 m_bIsNull = FALSE; |
| 1322 CFX_WideString wsNewText(wsValue); | 1322 CFX_WideString wsNewText(wsValue); |
| 1323 CFX_WideString wsPicture; | 1323 CFX_WideString wsPicture; |
| 1324 GetPictureContent(wsPicture, eValueType); | 1324 GetPictureContent(wsPicture, eValueType); |
| 1325 FX_BOOL bValidate = TRUE; | 1325 FX_BOOL bValidate = TRUE; |
| 1326 FX_BOOL bSyncData = FALSE; | 1326 FX_BOOL bSyncData = FALSE; |
| 1327 CXFA_Node* pNode = GetUIChild(); | 1327 CXFA_Node* pNode = GetUIChild(); |
| 1328 if (!pNode) | 1328 if (!pNode) |
| 1329 return TRUE; | 1329 return TRUE; |
| 1330 | 1330 |
| 1331 XFA_Element uiType = pNode->GetClassID(); | 1331 XFA_Element uiType = pNode->GetElementType(); |
| 1332 if (!wsPicture.IsEmpty()) { | 1332 if (!wsPicture.IsEmpty()) { |
| 1333 CXFA_LocaleMgr* pLocalMgr = m_pNode->GetDocument()->GetLocalMgr(); | 1333 CXFA_LocaleMgr* pLocalMgr = m_pNode->GetDocument()->GetLocalMgr(); |
| 1334 IFX_Locale* pLocale = GetLocal(); | 1334 IFX_Locale* pLocale = GetLocal(); |
| 1335 CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(this); | 1335 CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(this); |
| 1336 bValidate = | 1336 bValidate = |
| 1337 widgetValue.ValidateValue(wsValue, wsPicture, pLocale, &wsPicture); | 1337 widgetValue.ValidateValue(wsValue, wsPicture, pLocale, &wsPicture); |
| 1338 if (bValidate) { | 1338 if (bValidate) { |
| 1339 widgetValue = CXFA_LocaleValue(widgetValue.GetType(), wsNewText, | 1339 widgetValue = CXFA_LocaleValue(widgetValue.GetType(), wsNewText, |
| 1340 wsPicture, pLocale, pLocalMgr); | 1340 wsPicture, pLocale, pLocalMgr); |
| 1341 wsNewText = widgetValue.GetValue(); | 1341 wsNewText = widgetValue.GetValue(); |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1486 | 1486 |
| 1487 if (eValueType == XFA_VALUEPICTURE_Display) | 1487 if (eValueType == XFA_VALUEPICTURE_Display) |
| 1488 GetItemLabel(wsValue.AsStringC(), wsValue); | 1488 GetItemLabel(wsValue.AsStringC(), wsValue); |
| 1489 | 1489 |
| 1490 CFX_WideString wsPicture; | 1490 CFX_WideString wsPicture; |
| 1491 GetPictureContent(wsPicture, eValueType); | 1491 GetPictureContent(wsPicture, eValueType); |
| 1492 CXFA_Node* pNode = GetUIChild(); | 1492 CXFA_Node* pNode = GetUIChild(); |
| 1493 if (!pNode) | 1493 if (!pNode) |
| 1494 return TRUE; | 1494 return TRUE; |
| 1495 | 1495 |
| 1496 XFA_Element uiType = GetUIChild()->GetClassID(); | 1496 XFA_Element uiType = GetUIChild()->GetElementType(); |
| 1497 switch (uiType) { | 1497 switch (uiType) { |
| 1498 case XFA_Element::ChoiceList: { | 1498 case XFA_Element::ChoiceList: { |
| 1499 if (eValueType == XFA_VALUEPICTURE_Display) { | 1499 if (eValueType == XFA_VALUEPICTURE_Display) { |
| 1500 int32_t iSelItemIndex = GetSelectedItem(0); | 1500 int32_t iSelItemIndex = GetSelectedItem(0); |
| 1501 if (iSelItemIndex >= 0) { | 1501 if (iSelItemIndex >= 0) { |
| 1502 GetChoiceListItem(wsValue, iSelItemIndex); | 1502 GetChoiceListItem(wsValue, iSelItemIndex); |
| 1503 wsPicture.clear(); | 1503 wsPicture.clear(); |
| 1504 } | 1504 } |
| 1505 } | 1505 } |
| 1506 } break; | 1506 } break; |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1591 ASSERT(GetNode()); | 1591 ASSERT(GetNode()); |
| 1592 CXFA_Node* pNodeValue = GetNode()->GetChild(0, XFA_Element::Value); | 1592 CXFA_Node* pNodeValue = GetNode()->GetChild(0, XFA_Element::Value); |
| 1593 if (!pNodeValue) | 1593 if (!pNodeValue) |
| 1594 return FALSE; | 1594 return FALSE; |
| 1595 | 1595 |
| 1596 CXFA_Node* pValueChild = pNodeValue->GetNodeItem(XFA_NODEITEM_FirstChild); | 1596 CXFA_Node* pValueChild = pNodeValue->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 1597 if (!pValueChild) | 1597 if (!pValueChild) |
| 1598 return FALSE; | 1598 return FALSE; |
| 1599 | 1599 |
| 1600 int32_t iVTType = XFA_VT_NULL; | 1600 int32_t iVTType = XFA_VT_NULL; |
| 1601 XFA_Element eType = pValueChild->GetClassID(); | 1601 XFA_Element eType = pValueChild->GetElementType(); |
| 1602 switch (eType) { | 1602 switch (eType) { |
| 1603 case XFA_Element::Decimal: | 1603 case XFA_Element::Decimal: |
| 1604 iVTType = XFA_VT_DECIMAL; | 1604 iVTType = XFA_VT_DECIMAL; |
| 1605 break; | 1605 break; |
| 1606 case XFA_Element::Float: | 1606 case XFA_Element::Float: |
| 1607 iVTType = XFA_VT_FLOAT; | 1607 iVTType = XFA_VT_FLOAT; |
| 1608 break; | 1608 break; |
| 1609 case XFA_Element::Date: | 1609 case XFA_Element::Date: |
| 1610 iVTType = XFA_VT_DATE; | 1610 iVTType = XFA_VT_DATE; |
| 1611 break; | 1611 break; |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1779 } | 1779 } |
| 1780 } | 1780 } |
| 1781 } else if (wc == L'.') { | 1781 } else if (wc == L'.') { |
| 1782 iTread_ = 0; | 1782 iTread_ = 0; |
| 1783 iLead = -1; | 1783 iLead = -1; |
| 1784 } | 1784 } |
| 1785 wsRet += wc; | 1785 wsRet += wc; |
| 1786 } | 1786 } |
| 1787 return wsRet; | 1787 return wsRet; |
| 1788 } | 1788 } |
| OLD | NEW |