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/cscript_hostpseudomodel.h" | 7 #include "xfa/fxfa/parser/cscript_hostpseudomodel.h" |
8 | 8 |
9 #include "fxjs/include/cfxjse_arguments.h" | 9 #include "fxjs/include/cfxjse_arguments.h" |
10 #include "xfa/fxfa/app/xfa_ffnotify.h" | 10 #include "xfa/fxfa/app/xfa_ffnotify.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 | 58 |
59 void CScript_HostPseudoModel::CalculationsEnabled(CFXJSE_Value* pValue, | 59 void CScript_HostPseudoModel::CalculationsEnabled(CFXJSE_Value* pValue, |
60 FX_BOOL bSetting, | 60 FX_BOOL bSetting, |
61 XFA_ATTRIBUTE eAttribute) { | 61 XFA_ATTRIBUTE eAttribute) { |
62 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 62 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
63 if (!pNotify) { | 63 if (!pNotify) { |
64 return; | 64 return; |
65 } | 65 } |
66 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); | 66 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); |
67 if (bSetting) { | 67 if (bSetting) { |
68 pNotify->GetDocProvider()->SetCalculationsEnabled(hDoc, | 68 pNotify->GetDocEnvironment()->SetCalculationsEnabled(hDoc, |
69 pValue->ToBoolean()); | 69 pValue->ToBoolean()); |
70 return; | 70 return; |
71 } | 71 } |
72 pValue->SetBoolean(pNotify->GetDocProvider()->IsCalculationsEnabled(hDoc)); | 72 pValue->SetBoolean(pNotify->GetDocEnvironment()->IsCalculationsEnabled(hDoc)); |
73 } | 73 } |
74 | 74 |
75 void CScript_HostPseudoModel::CurrentPage(CFXJSE_Value* pValue, | 75 void CScript_HostPseudoModel::CurrentPage(CFXJSE_Value* pValue, |
76 FX_BOOL bSetting, | 76 FX_BOOL bSetting, |
77 XFA_ATTRIBUTE eAttribute) { | 77 XFA_ATTRIBUTE eAttribute) { |
78 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 78 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
79 if (!pNotify) { | 79 if (!pNotify) { |
80 return; | 80 return; |
81 } | 81 } |
82 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); | 82 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); |
83 if (bSetting) { | 83 if (bSetting) { |
84 pNotify->GetDocProvider()->SetCurrentPage(hDoc, pValue->ToInteger()); | 84 pNotify->GetDocEnvironment()->SetCurrentPage(hDoc, pValue->ToInteger()); |
85 return; | 85 return; |
86 } | 86 } |
87 pValue->SetInteger(pNotify->GetDocProvider()->GetCurrentPage(hDoc)); | 87 pValue->SetInteger(pNotify->GetDocEnvironment()->GetCurrentPage(hDoc)); |
88 } | 88 } |
89 | 89 |
90 void CScript_HostPseudoModel::Language(CFXJSE_Value* pValue, | 90 void CScript_HostPseudoModel::Language(CFXJSE_Value* pValue, |
91 FX_BOOL bSetting, | 91 FX_BOOL bSetting, |
92 XFA_ATTRIBUTE eAttribute) { | 92 XFA_ATTRIBUTE eAttribute) { |
93 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 93 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
94 if (!pNotify) { | 94 if (!pNotify) { |
95 return; | 95 return; |
96 } | 96 } |
97 if (bSetting) { | 97 if (bSetting) { |
(...skipping 10 matching lines...) Expand all Loading... |
108 XFA_ATTRIBUTE eAttribute) { | 108 XFA_ATTRIBUTE eAttribute) { |
109 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 109 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
110 if (!pNotify) { | 110 if (!pNotify) { |
111 return; | 111 return; |
112 } | 112 } |
113 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); | 113 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); |
114 if (bSetting) { | 114 if (bSetting) { |
115 ThrowException(XFA_IDS_UNABLE_SET_NUMPAGES); | 115 ThrowException(XFA_IDS_UNABLE_SET_NUMPAGES); |
116 return; | 116 return; |
117 } | 117 } |
118 pValue->SetInteger(pNotify->GetDocProvider()->CountPages(hDoc)); | 118 pValue->SetInteger(pNotify->GetDocEnvironment()->CountPages(hDoc)); |
119 } | 119 } |
120 | 120 |
121 void CScript_HostPseudoModel::Platform(CFXJSE_Value* pValue, | 121 void CScript_HostPseudoModel::Platform(CFXJSE_Value* pValue, |
122 FX_BOOL bSetting, | 122 FX_BOOL bSetting, |
123 XFA_ATTRIBUTE eAttribute) { | 123 XFA_ATTRIBUTE eAttribute) { |
124 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 124 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
125 if (!pNotify) { | 125 if (!pNotify) { |
126 return; | 126 return; |
127 } | 127 } |
128 if (bSetting) { | 128 if (bSetting) { |
129 ThrowException(XFA_IDS_UNABLE_SET_PLATFORM); | 129 ThrowException(XFA_IDS_UNABLE_SET_PLATFORM); |
130 return; | 130 return; |
131 } | 131 } |
132 CFX_WideString wsPlatform; | 132 CFX_WideString wsPlatform; |
133 pNotify->GetAppProvider()->GetPlatform(wsPlatform); | 133 pNotify->GetAppProvider()->GetPlatform(wsPlatform); |
134 pValue->SetString(FX_UTF8Encode(wsPlatform).AsStringC()); | 134 pValue->SetString(FX_UTF8Encode(wsPlatform).AsStringC()); |
135 } | 135 } |
136 void CScript_HostPseudoModel::Title(CFXJSE_Value* pValue, | 136 void CScript_HostPseudoModel::Title(CFXJSE_Value* pValue, |
137 FX_BOOL bSetting, | 137 FX_BOOL bSetting, |
138 XFA_ATTRIBUTE eAttribute) { | 138 XFA_ATTRIBUTE eAttribute) { |
139 if (!m_pDocument->GetScriptContext()->IsRunAtClient()) { | 139 if (!m_pDocument->GetScriptContext()->IsRunAtClient()) { |
140 return; | 140 return; |
141 } | 141 } |
142 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 142 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
143 if (!pNotify) { | 143 if (!pNotify) { |
144 return; | 144 return; |
145 } | 145 } |
146 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); | 146 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); |
147 if (bSetting) { | 147 if (bSetting) { |
148 pNotify->GetDocProvider()->SetTitle(hDoc, pValue->ToWideString()); | 148 pNotify->GetDocEnvironment()->SetTitle(hDoc, pValue->ToWideString()); |
149 return; | 149 return; |
150 } | 150 } |
151 CFX_WideString wsTitle; | 151 CFX_WideString wsTitle; |
152 pNotify->GetDocProvider()->GetTitle(hDoc, wsTitle); | 152 pNotify->GetDocEnvironment()->GetTitle(hDoc, wsTitle); |
153 pValue->SetString(FX_UTF8Encode(wsTitle).AsStringC()); | 153 pValue->SetString(FX_UTF8Encode(wsTitle).AsStringC()); |
154 } | 154 } |
155 | 155 |
156 void CScript_HostPseudoModel::ValidationsEnabled(CFXJSE_Value* pValue, | 156 void CScript_HostPseudoModel::ValidationsEnabled(CFXJSE_Value* pValue, |
157 FX_BOOL bSetting, | 157 FX_BOOL bSetting, |
158 XFA_ATTRIBUTE eAttribute) { | 158 XFA_ATTRIBUTE eAttribute) { |
159 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 159 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
160 if (!pNotify) { | 160 if (!pNotify) { |
161 return; | 161 return; |
162 } | 162 } |
163 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); | 163 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); |
164 if (bSetting) { | 164 if (bSetting) { |
165 pNotify->GetDocProvider()->SetValidationsEnabled(hDoc, pValue->ToBoolean()); | 165 pNotify->GetDocEnvironment()->SetValidationsEnabled(hDoc, |
| 166 pValue->ToBoolean()); |
166 return; | 167 return; |
167 } | 168 } |
168 FX_BOOL bEnabled = pNotify->GetDocProvider()->IsValidationsEnabled(hDoc); | 169 FX_BOOL bEnabled = pNotify->GetDocEnvironment()->IsValidationsEnabled(hDoc); |
169 pValue->SetBoolean(bEnabled); | 170 pValue->SetBoolean(bEnabled); |
170 } | 171 } |
171 void CScript_HostPseudoModel::Variation(CFXJSE_Value* pValue, | 172 void CScript_HostPseudoModel::Variation(CFXJSE_Value* pValue, |
172 FX_BOOL bSetting, | 173 FX_BOOL bSetting, |
173 XFA_ATTRIBUTE eAttribute) { | 174 XFA_ATTRIBUTE eAttribute) { |
174 if (!m_pDocument->GetScriptContext()->IsRunAtClient()) { | 175 if (!m_pDocument->GetScriptContext()->IsRunAtClient()) { |
175 return; | 176 return; |
176 } | 177 } |
177 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 178 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
178 if (!pNotify) { | 179 if (!pNotify) { |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 232 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
232 if (!pNotify) { | 233 if (!pNotify) { |
233 return; | 234 return; |
234 } | 235 } |
235 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); | 236 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); |
236 CFX_WideString wsURL; | 237 CFX_WideString wsURL; |
237 if (iLength >= 1) { | 238 if (iLength >= 1) { |
238 CFX_ByteString bsURL = pArguments->GetUTF8String(0); | 239 CFX_ByteString bsURL = pArguments->GetUTF8String(0); |
239 wsURL = CFX_WideString::FromUTF8(bsURL.AsStringC()); | 240 wsURL = CFX_WideString::FromUTF8(bsURL.AsStringC()); |
240 } | 241 } |
241 pNotify->GetDocProvider()->GotoURL(hDoc, wsURL, TRUE); | 242 pNotify->GetDocEnvironment()->GotoURL(hDoc, wsURL, TRUE); |
242 } | 243 } |
243 void CScript_HostPseudoModel::OpenList(CFXJSE_Arguments* pArguments) { | 244 void CScript_HostPseudoModel::OpenList(CFXJSE_Arguments* pArguments) { |
244 if (!m_pDocument->GetScriptContext()->IsRunAtClient()) { | 245 if (!m_pDocument->GetScriptContext()->IsRunAtClient()) { |
245 return; | 246 return; |
246 } | 247 } |
247 int32_t iLength = pArguments->GetLength(); | 248 int32_t iLength = pArguments->GetLength(); |
248 if (iLength != 1) { | 249 if (iLength != 1) { |
249 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"openList"); | 250 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"openList"); |
250 return; | 251 return; |
251 } | 252 } |
(...skipping 28 matching lines...) Expand all Loading... |
280 } | 281 } |
281 CXFA_LayoutProcessor* pDocLayout = m_pDocument->GetDocLayout(); | 282 CXFA_LayoutProcessor* pDocLayout = m_pDocument->GetDocLayout(); |
282 if (!pDocLayout) { | 283 if (!pDocLayout) { |
283 return; | 284 return; |
284 } | 285 } |
285 CXFA_FFWidget* hWidget = | 286 CXFA_FFWidget* hWidget = |
286 pNotify->GetHWidget(pDocLayout->GetLayoutItem(pNode)); | 287 pNotify->GetHWidget(pDocLayout->GetLayoutItem(pNode)); |
287 if (!hWidget) { | 288 if (!hWidget) { |
288 return; | 289 return; |
289 } | 290 } |
290 pNotify->GetDocProvider()->SetFocusWidget(pNotify->GetHDOC(), hWidget); | 291 pNotify->GetDocEnvironment()->SetFocusWidget(pNotify->GetHDOC(), hWidget); |
291 pNotify->OpenDropDownList(hWidget); | 292 pNotify->OpenDropDownList(hWidget); |
292 } | 293 } |
293 void CScript_HostPseudoModel::Response(CFXJSE_Arguments* pArguments) { | 294 void CScript_HostPseudoModel::Response(CFXJSE_Arguments* pArguments) { |
294 int32_t iLength = pArguments->GetLength(); | 295 int32_t iLength = pArguments->GetLength(); |
295 if (iLength < 1 || iLength > 4) { | 296 if (iLength < 1 || iLength > 4) { |
296 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"response"); | 297 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"response"); |
297 return; | 298 return; |
298 } | 299 } |
299 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 300 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
300 if (!pNotify) { | 301 if (!pNotify) { |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
619 if (bReverseOrder) { | 620 if (bReverseOrder) { |
620 dwOptions |= XFA_PRINTOPT_ReverseOrder; | 621 dwOptions |= XFA_PRINTOPT_ReverseOrder; |
621 } | 622 } |
622 FX_BOOL bPrintAnnot = TRUE; | 623 FX_BOOL bPrintAnnot = TRUE; |
623 if (iLength >= 8) { | 624 if (iLength >= 8) { |
624 bPrintAnnot = pArguments->GetInt32(7) == 0 ? FALSE : TRUE; | 625 bPrintAnnot = pArguments->GetInt32(7) == 0 ? FALSE : TRUE; |
625 } | 626 } |
626 if (bPrintAnnot) { | 627 if (bPrintAnnot) { |
627 dwOptions |= XFA_PRINTOPT_PrintAnnot; | 628 dwOptions |= XFA_PRINTOPT_PrintAnnot; |
628 } | 629 } |
629 pNotify->GetDocProvider()->Print(hDoc, nStartPage, nEndPage, dwOptions); | 630 pNotify->GetDocEnvironment()->Print(hDoc, nStartPage, nEndPage, dwOptions); |
630 } | 631 } |
631 | 632 |
632 void CScript_HostPseudoModel::ImportData(CFXJSE_Arguments* pArguments) { | 633 void CScript_HostPseudoModel::ImportData(CFXJSE_Arguments* pArguments) { |
633 int32_t iLength = pArguments->GetLength(); | 634 int32_t iLength = pArguments->GetLength(); |
634 if (iLength < 0 || iLength > 1) { | 635 if (iLength < 0 || iLength > 1) { |
635 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"importData"); | 636 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"importData"); |
636 return; | 637 return; |
637 } | 638 } |
638 // Not implemented. | 639 // Not implemented. |
639 } | 640 } |
(...skipping 11 matching lines...) Expand all Loading... |
651 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); | 652 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); |
652 CFX_WideString wsFilePath; | 653 CFX_WideString wsFilePath; |
653 FX_BOOL bXDP = TRUE; | 654 FX_BOOL bXDP = TRUE; |
654 if (iLength >= 1) { | 655 if (iLength >= 1) { |
655 CFX_ByteString bsFilePath = pArguments->GetUTF8String(0); | 656 CFX_ByteString bsFilePath = pArguments->GetUTF8String(0); |
656 wsFilePath = CFX_WideString::FromUTF8(bsFilePath.AsStringC()); | 657 wsFilePath = CFX_WideString::FromUTF8(bsFilePath.AsStringC()); |
657 } | 658 } |
658 if (iLength >= 2) { | 659 if (iLength >= 2) { |
659 bXDP = pArguments->GetInt32(1) == 0 ? FALSE : TRUE; | 660 bXDP = pArguments->GetInt32(1) == 0 ? FALSE : TRUE; |
660 } | 661 } |
661 pNotify->GetDocProvider()->ExportData(hDoc, wsFilePath, bXDP); | 662 pNotify->GetDocEnvironment()->ExportData(hDoc, wsFilePath, bXDP); |
662 } | 663 } |
663 | 664 |
664 void CScript_HostPseudoModel::PageUp(CFXJSE_Arguments* pArguments) { | 665 void CScript_HostPseudoModel::PageUp(CFXJSE_Arguments* pArguments) { |
665 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 666 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
666 if (!pNotify) { | 667 if (!pNotify) { |
667 return; | 668 return; |
668 } | 669 } |
669 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); | 670 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); |
670 int32_t nCurPage = pNotify->GetDocProvider()->GetCurrentPage(hDoc); | 671 int32_t nCurPage = pNotify->GetDocEnvironment()->GetCurrentPage(hDoc); |
671 int32_t nNewPage = 0; | 672 int32_t nNewPage = 0; |
672 if (nCurPage <= 1) { | 673 if (nCurPage <= 1) { |
673 return; | 674 return; |
674 } | 675 } |
675 nNewPage = nCurPage - 1; | 676 nNewPage = nCurPage - 1; |
676 pNotify->GetDocProvider()->SetCurrentPage(hDoc, nNewPage); | 677 pNotify->GetDocEnvironment()->SetCurrentPage(hDoc, nNewPage); |
677 } | 678 } |
678 | 679 |
679 void CScript_HostPseudoModel::PageDown(CFXJSE_Arguments* pArguments) { | 680 void CScript_HostPseudoModel::PageDown(CFXJSE_Arguments* pArguments) { |
680 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 681 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
681 if (!pNotify) { | 682 if (!pNotify) { |
682 return; | 683 return; |
683 } | 684 } |
684 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); | 685 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); |
685 int32_t nCurPage = pNotify->GetDocProvider()->GetCurrentPage(hDoc); | 686 int32_t nCurPage = pNotify->GetDocEnvironment()->GetCurrentPage(hDoc); |
686 int32_t nPageCount = pNotify->GetDocProvider()->CountPages(hDoc); | 687 int32_t nPageCount = pNotify->GetDocEnvironment()->CountPages(hDoc); |
687 if (!nPageCount || nCurPage == nPageCount) { | 688 if (!nPageCount || nCurPage == nPageCount) { |
688 return; | 689 return; |
689 } | 690 } |
690 int32_t nNewPage = 0; | 691 int32_t nNewPage = 0; |
691 if (nCurPage >= nPageCount) { | 692 if (nCurPage >= nPageCount) { |
692 nNewPage = nPageCount - 1; | 693 nNewPage = nPageCount - 1; |
693 } else { | 694 } else { |
694 nNewPage = nCurPage + 1; | 695 nNewPage = nCurPage + 1; |
695 } | 696 } |
696 pNotify->GetDocProvider()->SetCurrentPage(hDoc, nNewPage); | 697 pNotify->GetDocEnvironment()->SetCurrentPage(hDoc, nNewPage); |
697 } | 698 } |
698 | 699 |
699 void CScript_HostPseudoModel::CurrentDateTime(CFXJSE_Arguments* pArguments) { | 700 void CScript_HostPseudoModel::CurrentDateTime(CFXJSE_Arguments* pArguments) { |
700 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); | 701 CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
701 if (!pNotify) { | 702 if (!pNotify) { |
702 return; | 703 return; |
703 } | 704 } |
704 CFX_WideString wsDataTime = pNotify->GetCurrentDateTime(); | 705 CFX_WideString wsDataTime = pNotify->GetCurrentDateTime(); |
705 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 706 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
706 if (pValue) | 707 if (pValue) |
707 pValue->SetString(FX_UTF8Encode(wsDataTime).AsStringC()); | 708 pValue->SetString(FX_UTF8Encode(wsDataTime).AsStringC()); |
708 } | 709 } |
OLD | NEW |