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/app/xfa_ffwidgetacc.h" | 7 #include "xfa/fxfa/app/xfa_ffwidgetacc.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 | 10 |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 } | 193 } |
194 } | 194 } |
195 FX_BOOL CXFA_WidgetAcc::GetName(CFX_WideString& wsName, int32_t iNameType) { | 195 FX_BOOL CXFA_WidgetAcc::GetName(CFX_WideString& wsName, int32_t iNameType) { |
196 if (iNameType == 0) { | 196 if (iNameType == 0) { |
197 m_pNode->TryCData(XFA_ATTRIBUTE_Name, wsName); | 197 m_pNode->TryCData(XFA_ATTRIBUTE_Name, wsName); |
198 return !wsName.IsEmpty(); | 198 return !wsName.IsEmpty(); |
199 } | 199 } |
200 m_pNode->GetSOMExpression(wsName); | 200 m_pNode->GetSOMExpression(wsName); |
201 if (iNameType == 2 && wsName.GetLength() >= 15) { | 201 if (iNameType == 2 && wsName.GetLength() >= 15) { |
202 CFX_WideStringC wsPre = FX_WSTRC(L"xfa[0].form[0]."); | 202 CFX_WideStringC wsPre = FX_WSTRC(L"xfa[0].form[0]."); |
203 if (wsPre == CFX_WideStringC(wsName, wsPre.GetLength())) { | 203 if (wsPre == CFX_WideStringC(wsName.c_str(), wsPre.GetLength())) { |
204 wsName.Delete(0, wsPre.GetLength()); | 204 wsName.Delete(0, wsPre.GetLength()); |
205 } | 205 } |
206 } | 206 } |
207 return TRUE; | 207 return TRUE; |
208 } | 208 } |
209 CXFA_Node* CXFA_WidgetAcc::GetDatasets() { | 209 CXFA_Node* CXFA_WidgetAcc::GetDatasets() { |
210 return m_pNode->GetBindData(); | 210 return m_pNode->GetBindData(); |
211 } | 211 } |
212 FX_BOOL CXFA_WidgetAcc::ProcessValueChanged() { | 212 FX_BOOL CXFA_WidgetAcc::ProcessValueChanged() { |
213 m_pDocView->AddValidateWidget(this); | 213 m_pDocView->AddValidateWidget(this); |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 } | 521 } |
522 CFX_WideString wsCaptionName; | 522 CFX_WideString wsCaptionName; |
523 CFX_WideString wsTitle; | 523 CFX_WideString wsTitle; |
524 pAppProvider->LoadString(XFA_IDS_AppName, wsTitle); | 524 pAppProvider->LoadString(XFA_IDS_AppName, wsTitle); |
525 switch (eNullTest) { | 525 switch (eNullTest) { |
526 case XFA_ATTRIBUTEENUM_Error: { | 526 case XFA_ATTRIBUTEENUM_Error: { |
527 if (wsNullMsg.IsEmpty()) { | 527 if (wsNullMsg.IsEmpty()) { |
528 GetValidateCaptionName(wsCaptionName, bVersionFlag); | 528 GetValidateCaptionName(wsCaptionName, bVersionFlag); |
529 CFX_WideString wsError; | 529 CFX_WideString wsError; |
530 pAppProvider->LoadString(XFA_IDS_ValidateNullError, wsError); | 530 pAppProvider->LoadString(XFA_IDS_ValidateNullError, wsError); |
531 wsNullMsg.Format(wsError, (const FX_WCHAR*)wsCaptionName); | 531 wsNullMsg.Format(wsError.c_str(), wsCaptionName.c_str()); |
532 } | 532 } |
533 pAppProvider->MsgBox(wsNullMsg.AsStringC(), wsTitle.AsStringC(), | 533 pAppProvider->MsgBox(wsNullMsg.AsStringC(), wsTitle.AsStringC(), |
534 XFA_MBICON_Status, XFA_MB_OK); | 534 XFA_MBICON_Status, XFA_MB_OK); |
535 return XFA_EVENTERROR_Error; | 535 return XFA_EVENTERROR_Error; |
536 } | 536 } |
537 case XFA_ATTRIBUTEENUM_Warning: { | 537 case XFA_ATTRIBUTEENUM_Warning: { |
538 if (GetNode()->HasFlag(XFA_NODEFLAG_UserInteractive)) { | 538 if (GetNode()->HasFlag(XFA_NODEFLAG_UserInteractive)) { |
539 return TRUE; | 539 return TRUE; |
540 } | 540 } |
541 if (wsNullMsg.IsEmpty()) { | 541 if (wsNullMsg.IsEmpty()) { |
542 GetValidateCaptionName(wsCaptionName, bVersionFlag); | 542 GetValidateCaptionName(wsCaptionName, bVersionFlag); |
543 CFX_WideString wsWarning; | 543 CFX_WideString wsWarning; |
544 pAppProvider->LoadString(XFA_IDS_ValidateNullWarning, wsWarning); | 544 pAppProvider->LoadString(XFA_IDS_ValidateNullWarning, wsWarning); |
545 wsNullMsg.Format(wsWarning, (const FX_WCHAR*)wsCaptionName, | 545 wsNullMsg.Format(wsWarning.c_str(), wsCaptionName.c_str(), |
546 (const FX_WCHAR*)wsCaptionName); | 546 wsCaptionName.c_str()); |
547 } | 547 } |
548 if (pAppProvider->MsgBox(wsNullMsg.AsStringC(), wsTitle.AsStringC(), | 548 if (pAppProvider->MsgBox(wsNullMsg.AsStringC(), wsTitle.AsStringC(), |
549 XFA_MBICON_Warning, XFA_MB_YesNo) == XFA_IDYes) { | 549 XFA_MBICON_Warning, XFA_MB_YesNo) == XFA_IDYes) { |
550 GetNode()->SetFlag(XFA_NODEFLAG_UserInteractive, TRUE, FALSE); | 550 GetNode()->SetFlag(XFA_NODEFLAG_UserInteractive, TRUE, FALSE); |
551 } | 551 } |
552 return XFA_EVENTERROR_Error; | 552 return XFA_EVENTERROR_Error; |
553 } | 553 } |
554 case XFA_ATTRIBUTEENUM_Disabled: | 554 case XFA_ATTRIBUTEENUM_Disabled: |
555 default: | 555 default: |
556 break; | 556 break; |
(...skipping 20 matching lines...) Expand all Loading... |
577 } | 577 } |
578 void CXFA_WidgetAcc::GetValidateMessage(IXFA_AppProvider* pAppProvider, | 578 void CXFA_WidgetAcc::GetValidateMessage(IXFA_AppProvider* pAppProvider, |
579 CFX_WideString& wsMessage, | 579 CFX_WideString& wsMessage, |
580 FX_BOOL bError, | 580 FX_BOOL bError, |
581 FX_BOOL bVersionFlag) { | 581 FX_BOOL bVersionFlag) { |
582 CFX_WideString wsCaptionName; | 582 CFX_WideString wsCaptionName; |
583 GetValidateCaptionName(wsCaptionName, bVersionFlag); | 583 GetValidateCaptionName(wsCaptionName, bVersionFlag); |
584 CFX_WideString wsError; | 584 CFX_WideString wsError; |
585 if (bVersionFlag) { | 585 if (bVersionFlag) { |
586 pAppProvider->LoadString(XFA_IDS_ValidateFailed, wsError); | 586 pAppProvider->LoadString(XFA_IDS_ValidateFailed, wsError); |
587 wsMessage.Format(wsError, (const FX_WCHAR*)wsCaptionName); | 587 wsMessage.Format(wsError.c_str(), wsCaptionName.c_str()); |
588 return; | 588 return; |
589 } | 589 } |
590 if (bError) { | 590 if (bError) { |
591 pAppProvider->LoadString(XFA_IDS_ValidateError, wsError); | 591 pAppProvider->LoadString(XFA_IDS_ValidateError, wsError); |
592 wsMessage.Format(wsError, (const FX_WCHAR*)wsCaptionName); | 592 wsMessage.Format(wsError.c_str(), wsCaptionName.c_str()); |
593 return; | 593 return; |
594 } | 594 } |
595 CFX_WideString wsWarning; | 595 CFX_WideString wsWarning; |
596 pAppProvider->LoadString(XFA_IDS_ValidateWarning, wsWarning); | 596 pAppProvider->LoadString(XFA_IDS_ValidateWarning, wsWarning); |
597 wsMessage.Format(wsWarning, (const FX_WCHAR*)wsCaptionName, | 597 wsMessage.Format(wsWarning.c_str(), wsCaptionName.c_str(), |
598 (const FX_WCHAR*)wsCaptionName); | 598 wsCaptionName.c_str()); |
599 } | 599 } |
600 int32_t CXFA_WidgetAcc::ProcessValidate(int32_t iFlags) { | 600 int32_t CXFA_WidgetAcc::ProcessValidate(int32_t iFlags) { |
601 if (GetClassID() == XFA_ELEMENT_Draw) { | 601 if (GetClassID() == XFA_ELEMENT_Draw) { |
602 return XFA_EVENTERROR_NotExist; | 602 return XFA_EVENTERROR_NotExist; |
603 } | 603 } |
604 CXFA_Validate validate = GetValidate(); | 604 CXFA_Validate validate = GetValidate(); |
605 if (!validate) { | 605 if (!validate) { |
606 return XFA_EVENTERROR_NotExist; | 606 return XFA_EVENTERROR_NotExist; |
607 } | 607 } |
608 FX_BOOL bInitDoc = validate.GetNode()->HasFlag(XFA_NODEFLAG_NeedsInitApp); | 608 FX_BOOL bInitDoc = validate.GetNode()->HasFlag(XFA_NODEFLAG_NeedsInitApp); |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
909 pTextOut->SetFontSize(fFontSize); | 909 pTextOut->SetFontSize(fFontSize); |
910 pTextOut->SetLineBreakTolerance(fFontSize * 0.2f); | 910 pTextOut->SetLineBreakTolerance(fFontSize * 0.2f); |
911 pTextOut->SetLineSpace(GetLineHeight()); | 911 pTextOut->SetLineSpace(GetLineHeight()); |
912 uint32_t dwStyles = FDE_TTOSTYLE_LastLineHeight; | 912 uint32_t dwStyles = FDE_TTOSTYLE_LastLineHeight; |
913 if (GetUIType() == XFA_ELEMENT_TextEdit && IsMultiLine()) { | 913 if (GetUIType() == XFA_ELEMENT_TextEdit && IsMultiLine()) { |
914 dwStyles |= FDE_TTOSTYLE_LineWrap; | 914 dwStyles |= FDE_TTOSTYLE_LineWrap; |
915 } | 915 } |
916 pTextOut->SetStyles(dwStyles); | 916 pTextOut->SetStyles(dwStyles); |
917 } | 917 } |
918 ((CXFA_FieldLayoutData*)m_pLayoutData) | 918 ((CXFA_FieldLayoutData*)m_pLayoutData) |
919 ->m_pTextOut->CalcLogicSize(wsText, wsText.GetLength(), size); | 919 ->m_pTextOut->CalcLogicSize(wsText.c_str(), wsText.GetLength(), size); |
920 } | 920 } |
921 FX_BOOL CXFA_WidgetAcc::CalculateTextEditAutoSize(CFX_SizeF& size) { | 921 FX_BOOL CXFA_WidgetAcc::CalculateTextEditAutoSize(CFX_SizeF& size) { |
922 if (size.x > 0) { | 922 if (size.x > 0) { |
923 CFX_SizeF szOrz = size; | 923 CFX_SizeF szOrz = size; |
924 CFX_SizeF szCap; | 924 CFX_SizeF szCap; |
925 CalcCaptionSize(szCap); | 925 CalcCaptionSize(szCap); |
926 FX_BOOL bCapExit = szCap.x > 0.01 && szCap.y > 0.01; | 926 FX_BOOL bCapExit = szCap.x > 0.01 && szCap.y > 0.01; |
927 int32_t iCapPlacement = XFA_ATTRIBUTEENUM_Unknown; | 927 int32_t iCapPlacement = XFA_ATTRIBUTEENUM_Unknown; |
928 if (bCapExit) { | 928 if (bCapExit) { |
929 iCapPlacement = GetCaption().GetPlacementType(); | 929 iCapPlacement = GetCaption().GetPlacementType(); |
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1716 if (pIDNode) { | 1716 if (pIDNode) { |
1717 pEmbAcc = (CXFA_WidgetAcc*)pIDNode->GetWidgetData(); | 1717 pEmbAcc = (CXFA_WidgetAcc*)pIDNode->GetWidgetData(); |
1718 } | 1718 } |
1719 if (pEmbAcc) { | 1719 if (pEmbAcc) { |
1720 pEmbAcc->GetValue(wsValue, XFA_VALUEPICTURE_Display); | 1720 pEmbAcc->GetValue(wsValue, XFA_VALUEPICTURE_Display); |
1721 return TRUE; | 1721 return TRUE; |
1722 } | 1722 } |
1723 } | 1723 } |
1724 return FALSE; | 1724 return FALSE; |
1725 } | 1725 } |
OLD | NEW |