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 "fpdfsdk/include/fsdk_baseform.h" | 7 #include "fpdfsdk/include/fsdk_baseform.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 , | 45 , |
46 m_hMixXFAWidget(NULL), | 46 m_hMixXFAWidget(NULL), |
47 m_pWidgetHandler(NULL) | 47 m_pWidgetHandler(NULL) |
48 #endif // PDF_ENABLE_XFA | 48 #endif // PDF_ENABLE_XFA |
49 { | 49 { |
50 } | 50 } |
51 | 51 |
52 CPDFSDK_Widget::~CPDFSDK_Widget() {} | 52 CPDFSDK_Widget::~CPDFSDK_Widget() {} |
53 | 53 |
54 #ifdef PDF_ENABLE_XFA | 54 #ifdef PDF_ENABLE_XFA |
55 IXFA_Widget* CPDFSDK_Widget::GetMixXFAWidget() const { | 55 CXFA_FFWidget* CPDFSDK_Widget::GetMixXFAWidget() const { |
56 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); | 56 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
57 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); | 57 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
58 if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) { | 58 if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) { |
59 if (!m_hMixXFAWidget) { | 59 if (!m_hMixXFAWidget) { |
60 if (IXFA_DocView* pDocView = pDoc->GetXFADocView()) { | 60 if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView()) { |
61 CFX_WideString sName; | 61 CFX_WideString sName; |
62 if (GetFieldType() == FIELDTYPE_RADIOBUTTON) { | 62 if (GetFieldType() == FIELDTYPE_RADIOBUTTON) { |
63 sName = GetAnnotName(); | 63 sName = GetAnnotName(); |
64 if (sName.IsEmpty()) | 64 if (sName.IsEmpty()) |
65 sName = GetName(); | 65 sName = GetName(); |
66 } else { | 66 } else { |
67 sName = GetName(); | 67 sName = GetName(); |
68 } | 68 } |
69 | 69 |
70 if (!sName.IsEmpty()) | 70 if (!sName.IsEmpty()) |
71 m_hMixXFAWidget = pDocView->GetWidgetByName(sName); | 71 m_hMixXFAWidget = pDocView->GetWidgetByName(sName); |
72 } | 72 } |
73 } | 73 } |
74 return m_hMixXFAWidget; | 74 return m_hMixXFAWidget; |
75 } | 75 } |
76 | 76 |
77 return NULL; | 77 return NULL; |
78 } | 78 } |
79 | 79 |
80 IXFA_Widget* CPDFSDK_Widget::GetGroupMixXFAWidget() { | 80 CXFA_FFWidget* CPDFSDK_Widget::GetGroupMixXFAWidget() { |
81 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); | 81 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
82 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); | 82 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
83 if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) { | 83 if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) { |
84 if (IXFA_DocView* pDocView = pDoc->GetXFADocView()) { | 84 if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView()) { |
85 CFX_WideString sName = GetName(); | 85 CFX_WideString sName = GetName(); |
86 if (!sName.IsEmpty()) | 86 if (!sName.IsEmpty()) |
87 return pDocView->GetWidgetByName(sName); | 87 return pDocView->GetWidgetByName(sName); |
88 } | 88 } |
89 } | 89 } |
90 | 90 |
91 return nullptr; | 91 return nullptr; |
92 } | 92 } |
93 | 93 |
94 IXFA_WidgetHandler* CPDFSDK_Widget::GetXFAWidgetHandler() const { | 94 CXFA_FFWidgetHandler* CPDFSDK_Widget::GetXFAWidgetHandler() const { |
95 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); | 95 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
96 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); | 96 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
97 if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) { | 97 if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) { |
98 if (!m_pWidgetHandler) { | 98 if (!m_pWidgetHandler) { |
99 if (IXFA_DocView* pDocView = pDoc->GetXFADocView()) { | 99 if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView()) { |
100 m_pWidgetHandler = pDocView->GetWidgetHandler(); | 100 m_pWidgetHandler = pDocView->GetWidgetHandler(); |
101 } | 101 } |
102 } | 102 } |
103 return m_pWidgetHandler; | 103 return m_pWidgetHandler; |
104 } | 104 } |
105 | 105 |
106 return NULL; | 106 return NULL; |
107 } | 107 } |
108 | 108 |
109 static XFA_EVENTTYPE GetXFAEventType(PDFSDK_XFAAActionType eXFAAAT) { | 109 static XFA_EVENTTYPE GetXFAEventType(PDFSDK_XFAAActionType eXFAAAT) { |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 case CPDF_AAction::DocumentSaved: | 175 case CPDF_AAction::DocumentSaved: |
176 case CPDF_AAction::PrintDocument: | 176 case CPDF_AAction::PrintDocument: |
177 case CPDF_AAction::DocumentPrinted: | 177 case CPDF_AAction::DocumentPrinted: |
178 break; | 178 break; |
179 } | 179 } |
180 | 180 |
181 return eEventType; | 181 return eEventType; |
182 } | 182 } |
183 | 183 |
184 FX_BOOL CPDFSDK_Widget::HasXFAAAction(PDFSDK_XFAAActionType eXFAAAT) { | 184 FX_BOOL CPDFSDK_Widget::HasXFAAAction(PDFSDK_XFAAActionType eXFAAAT) { |
185 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { | 185 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { |
186 if (IXFA_WidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { | 186 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { |
187 XFA_EVENTTYPE eEventType = GetXFAEventType(eXFAAAT); | 187 XFA_EVENTTYPE eEventType = GetXFAEventType(eXFAAAT); |
188 | 188 |
189 if ((eEventType == XFA_EVENT_Click || eEventType == XFA_EVENT_Change) && | 189 if ((eEventType == XFA_EVENT_Click || eEventType == XFA_EVENT_Change) && |
190 GetFieldType() == FIELDTYPE_RADIOBUTTON) { | 190 GetFieldType() == FIELDTYPE_RADIOBUTTON) { |
191 if (IXFA_Widget* hGroupWidget = GetGroupMixXFAWidget()) { | 191 if (CXFA_FFWidget* hGroupWidget = GetGroupMixXFAWidget()) { |
192 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hGroupWidget); | 192 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hGroupWidget); |
193 if (pXFAWidgetHandler->HasEvent(pAcc, eEventType)) | 193 if (pXFAWidgetHandler->HasEvent(pAcc, eEventType)) |
194 return TRUE; | 194 return TRUE; |
195 } | 195 } |
196 } | 196 } |
197 | 197 |
198 { | 198 { |
199 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hWidget); | 199 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hWidget); |
200 return pXFAWidgetHandler->HasEvent(pAcc, eEventType); | 200 return pXFAWidgetHandler->HasEvent(pAcc, eEventType); |
201 } | 201 } |
202 } | 202 } |
203 } | 203 } |
204 | 204 |
205 return FALSE; | 205 return FALSE; |
206 } | 206 } |
207 | 207 |
208 FX_BOOL CPDFSDK_Widget::OnXFAAAction(PDFSDK_XFAAActionType eXFAAAT, | 208 FX_BOOL CPDFSDK_Widget::OnXFAAAction(PDFSDK_XFAAActionType eXFAAAT, |
209 PDFSDK_FieldAction& data, | 209 PDFSDK_FieldAction& data, |
210 CPDFSDK_PageView* pPageView) { | 210 CPDFSDK_PageView* pPageView) { |
211 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); | 211 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
212 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); | 212 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
213 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { | 213 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { |
214 XFA_EVENTTYPE eEventType = GetXFAEventType(eXFAAAT); | 214 XFA_EVENTTYPE eEventType = GetXFAEventType(eXFAAAT); |
215 | 215 |
216 if (eEventType != XFA_EVENT_Unknown) { | 216 if (eEventType != XFA_EVENT_Unknown) { |
217 if (IXFA_WidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { | 217 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { |
218 CXFA_EventParam param; | 218 CXFA_EventParam param; |
219 param.m_eType = eEventType; | 219 param.m_eType = eEventType; |
220 param.m_wsChange = data.sChange; | 220 param.m_wsChange = data.sChange; |
221 param.m_iCommitKey = data.nCommitKey; | 221 param.m_iCommitKey = data.nCommitKey; |
222 param.m_bShift = data.bShift; | 222 param.m_bShift = data.bShift; |
223 param.m_iSelStart = data.nSelStart; | 223 param.m_iSelStart = data.nSelStart; |
224 param.m_iSelEnd = data.nSelEnd; | 224 param.m_iSelEnd = data.nSelEnd; |
225 param.m_wsFullText = data.sValue; | 225 param.m_wsFullText = data.sValue; |
226 param.m_bKeyDown = data.bKeyDown; | 226 param.m_bKeyDown = data.bKeyDown; |
227 param.m_bModifier = data.bModifier; | 227 param.m_bModifier = data.bModifier; |
228 param.m_wsNewText = data.sValue; | 228 param.m_wsNewText = data.sValue; |
229 if (data.nSelEnd > data.nSelStart) | 229 if (data.nSelEnd > data.nSelStart) |
230 param.m_wsNewText.Delete(data.nSelStart, | 230 param.m_wsNewText.Delete(data.nSelStart, |
231 data.nSelEnd - data.nSelStart); | 231 data.nSelEnd - data.nSelStart); |
232 for (int i = 0; i < data.sChange.GetLength(); i++) | 232 for (int i = 0; i < data.sChange.GetLength(); i++) |
233 param.m_wsNewText.Insert(data.nSelStart, data.sChange[i]); | 233 param.m_wsNewText.Insert(data.nSelStart, data.sChange[i]); |
234 param.m_wsPrevText = data.sValue; | 234 param.m_wsPrevText = data.sValue; |
235 | 235 |
236 if ((eEventType == XFA_EVENT_Click || eEventType == XFA_EVENT_Change) && | 236 if ((eEventType == XFA_EVENT_Click || eEventType == XFA_EVENT_Change) && |
237 GetFieldType() == FIELDTYPE_RADIOBUTTON) { | 237 GetFieldType() == FIELDTYPE_RADIOBUTTON) { |
238 if (IXFA_Widget* hGroupWidget = GetGroupMixXFAWidget()) { | 238 if (CXFA_FFWidget* hGroupWidget = GetGroupMixXFAWidget()) { |
239 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hGroupWidget); | 239 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hGroupWidget); |
240 param.m_pTarget = pAcc; | 240 param.m_pTarget = pAcc; |
241 if (pXFAWidgetHandler->ProcessEvent(pAcc, ¶m) != | 241 if (pXFAWidgetHandler->ProcessEvent(pAcc, ¶m) != |
242 XFA_EVENTERROR_Success) { | 242 XFA_EVENTERROR_Success) { |
243 return FALSE; | 243 return FALSE; |
244 } | 244 } |
245 } | 245 } |
246 } | 246 } |
247 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hWidget); | 247 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hWidget); |
248 param.m_pTarget = pAcc; | 248 param.m_pTarget = pAcc; |
249 int32_t nRet = pXFAWidgetHandler->ProcessEvent(pAcc, ¶m); | 249 int32_t nRet = pXFAWidgetHandler->ProcessEvent(pAcc, ¶m); |
250 | 250 |
251 if (IXFA_DocView* pDocView = pDoc->GetXFADocView()) { | 251 if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView()) { |
252 pDocView->UpdateDocView(); | 252 pDocView->UpdateDocView(); |
253 } | 253 } |
254 return nRet == XFA_EVENTERROR_Success; | 254 return nRet == XFA_EVENTERROR_Success; |
255 } | 255 } |
256 } | 256 } |
257 } | 257 } |
258 | 258 |
259 return FALSE; | 259 return FALSE; |
260 } | 260 } |
261 | 261 |
262 void CPDFSDK_Widget::Synchronize(FX_BOOL bSynchronizeElse) { | 262 void CPDFSDK_Widget::Synchronize(FX_BOOL bSynchronizeElse) { |
263 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { | 263 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { |
264 if (IXFA_WidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { | 264 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { |
265 CPDF_FormField* pFormField = GetFormField(); | 265 CPDF_FormField* pFormField = GetFormField(); |
266 if (CXFA_WidgetAcc* pWidgetAcc = pXFAWidgetHandler->GetDataAcc(hWidget)) { | 266 if (CXFA_WidgetAcc* pWidgetAcc = pXFAWidgetHandler->GetDataAcc(hWidget)) { |
267 switch (GetFieldType()) { | 267 switch (GetFieldType()) { |
268 case FIELDTYPE_CHECKBOX: | 268 case FIELDTYPE_CHECKBOX: |
269 case FIELDTYPE_RADIOBUTTON: { | 269 case FIELDTYPE_RADIOBUTTON: { |
270 CPDF_FormControl* pFormCtrl = GetFormControl(); | 270 CPDF_FormControl* pFormCtrl = GetFormControl(); |
271 XFA_CHECKSTATE eCheckState = | 271 XFA_CHECKSTATE eCheckState = |
272 pFormCtrl->IsChecked() ? XFA_CHECKSTATE_On : XFA_CHECKSTATE_Off; | 272 pFormCtrl->IsChecked() ? XFA_CHECKSTATE_On : XFA_CHECKSTATE_Off; |
273 pWidgetAcc->SetCheckState(eCheckState); | 273 pWidgetAcc->SetCheckState(eCheckState); |
274 } break; | 274 } break; |
(...skipping 28 matching lines...) Expand all Loading... |
303 if (bSynchronizeElse) | 303 if (bSynchronizeElse) |
304 pWidgetAcc->ProcessValueChanged(); | 304 pWidgetAcc->ProcessValueChanged(); |
305 } | 305 } |
306 } | 306 } |
307 } | 307 } |
308 } | 308 } |
309 | 309 |
310 void CPDFSDK_Widget::SynchronizeXFAValue() { | 310 void CPDFSDK_Widget::SynchronizeXFAValue() { |
311 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); | 311 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
312 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); | 312 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
313 IXFA_DocView* pXFADocView = pDoc->GetXFADocView(); | 313 CXFA_FFDocView* pXFADocView = pDoc->GetXFADocView(); |
314 if (!pXFADocView) | 314 if (!pXFADocView) |
315 return; | 315 return; |
316 | 316 |
317 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { | 317 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { |
318 if (GetXFAWidgetHandler()) { | 318 if (GetXFAWidgetHandler()) { |
319 CPDFSDK_Widget::SynchronizeXFAValue(pXFADocView, hWidget, GetFormField(), | 319 CPDFSDK_Widget::SynchronizeXFAValue(pXFADocView, hWidget, GetFormField(), |
320 GetFormControl()); | 320 GetFormControl()); |
321 } | 321 } |
322 } | 322 } |
323 } | 323 } |
324 | 324 |
325 void CPDFSDK_Widget::SynchronizeXFAItems() { | 325 void CPDFSDK_Widget::SynchronizeXFAItems() { |
326 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); | 326 CPDFSDK_Document* pSDKDoc = m_pPageView->GetSDKDocument(); |
327 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); | 327 CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
328 IXFA_DocView* pXFADocView = pDoc->GetXFADocView(); | 328 CXFA_FFDocView* pXFADocView = pDoc->GetXFADocView(); |
329 if (!pXFADocView) | 329 if (!pXFADocView) |
330 return; | 330 return; |
331 | 331 |
332 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { | 332 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { |
333 if (GetXFAWidgetHandler()) | 333 if (GetXFAWidgetHandler()) |
334 SynchronizeXFAItems(pXFADocView, hWidget, GetFormField(), nullptr); | 334 SynchronizeXFAItems(pXFADocView, hWidget, GetFormField(), nullptr); |
335 } | 335 } |
336 } | 336 } |
337 | 337 |
338 void CPDFSDK_Widget::SynchronizeXFAValue(IXFA_DocView* pXFADocView, | 338 void CPDFSDK_Widget::SynchronizeXFAValue(CXFA_FFDocView* pXFADocView, |
339 IXFA_Widget* hWidget, | 339 CXFA_FFWidget* hWidget, |
340 CPDF_FormField* pFormField, | 340 CPDF_FormField* pFormField, |
341 CPDF_FormControl* pFormControl) { | 341 CPDF_FormControl* pFormControl) { |
342 ASSERT(hWidget); | 342 ASSERT(hWidget); |
343 | 343 |
344 if (IXFA_WidgetHandler* pXFAWidgetHandler = pXFADocView->GetWidgetHandler()) { | 344 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = |
| 345 pXFADocView->GetWidgetHandler()) { |
345 ASSERT(pFormControl); | 346 ASSERT(pFormControl); |
346 | 347 |
347 switch (pFormField->GetFieldType()) { | 348 switch (pFormField->GetFieldType()) { |
348 case FIELDTYPE_CHECKBOX: { | 349 case FIELDTYPE_CHECKBOX: { |
349 if (CXFA_WidgetAcc* pWidgetAcc = | 350 if (CXFA_WidgetAcc* pWidgetAcc = |
350 pXFAWidgetHandler->GetDataAcc(hWidget)) { | 351 pXFAWidgetHandler->GetDataAcc(hWidget)) { |
351 pFormField->CheckControl( | 352 pFormField->CheckControl( |
352 pFormField->GetControlIndex(pFormControl), | 353 pFormField->GetControlIndex(pFormControl), |
353 pWidgetAcc->GetCheckState() == XFA_CHECKSTATE_On, true); | 354 pWidgetAcc->GetCheckState() == XFA_CHECKSTATE_On, true); |
354 } | 355 } |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
400 | 401 |
401 CFX_WideString sValue; | 402 CFX_WideString sValue; |
402 pWidgetAcc->GetValue(sValue, XFA_VALUEPICTURE_Display); | 403 pWidgetAcc->GetValue(sValue, XFA_VALUEPICTURE_Display); |
403 pFormField->SetValue(sValue, TRUE); | 404 pFormField->SetValue(sValue, TRUE); |
404 } | 405 } |
405 } break; | 406 } break; |
406 } | 407 } |
407 } | 408 } |
408 } | 409 } |
409 | 410 |
410 void CPDFSDK_Widget::SynchronizeXFAItems(IXFA_DocView* pXFADocView, | 411 void CPDFSDK_Widget::SynchronizeXFAItems(CXFA_FFDocView* pXFADocView, |
411 IXFA_Widget* hWidget, | 412 CXFA_FFWidget* hWidget, |
412 CPDF_FormField* pFormField, | 413 CPDF_FormField* pFormField, |
413 CPDF_FormControl* pFormControl) { | 414 CPDF_FormControl* pFormControl) { |
414 ASSERT(hWidget); | 415 ASSERT(hWidget); |
415 | 416 |
416 if (IXFA_WidgetHandler* pXFAWidgetHandler = pXFADocView->GetWidgetHandler()) { | 417 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = |
| 418 pXFADocView->GetWidgetHandler()) { |
417 switch (pFormField->GetFieldType()) { | 419 switch (pFormField->GetFieldType()) { |
418 case FIELDTYPE_LISTBOX: { | 420 case FIELDTYPE_LISTBOX: { |
419 pFormField->ClearSelection(FALSE); | 421 pFormField->ClearSelection(FALSE); |
420 pFormField->ClearOptions(TRUE); | 422 pFormField->ClearOptions(TRUE); |
421 | 423 |
422 if (CXFA_WidgetAcc* pWidgetAcc = | 424 if (CXFA_WidgetAcc* pWidgetAcc = |
423 pXFAWidgetHandler->GetDataAcc(hWidget)) { | 425 pXFAWidgetHandler->GetDataAcc(hWidget)) { |
424 for (int i = 0, sz = pWidgetAcc->CountChoiceListItems(); i < sz; | 426 for (int i = 0, sz = pWidgetAcc->CountChoiceListItems(); i < sz; |
425 i++) { | 427 i++) { |
426 CFX_WideString swText; | 428 CFX_WideString swText; |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
585 CPDF_DefaultAppearance pDa = pFormCtrl->GetDefaultAppearance(); | 587 CPDF_DefaultAppearance pDa = pFormCtrl->GetDefaultAppearance(); |
586 CFX_ByteString csFont = ""; | 588 CFX_ByteString csFont = ""; |
587 FX_FLOAT fFontSize = 0.0f; | 589 FX_FLOAT fFontSize = 0.0f; |
588 pDa.GetFont(csFont, fFontSize); | 590 pDa.GetFont(csFont, fFontSize); |
589 | 591 |
590 return fFontSize; | 592 return fFontSize; |
591 } | 593 } |
592 | 594 |
593 int CPDFSDK_Widget::GetSelectedIndex(int nIndex) const { | 595 int CPDFSDK_Widget::GetSelectedIndex(int nIndex) const { |
594 #ifdef PDF_ENABLE_XFA | 596 #ifdef PDF_ENABLE_XFA |
595 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { | 597 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { |
596 if (IXFA_WidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { | 598 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { |
597 if (CXFA_WidgetAcc* pWidgetAcc = pXFAWidgetHandler->GetDataAcc(hWidget)) { | 599 if (CXFA_WidgetAcc* pWidgetAcc = pXFAWidgetHandler->GetDataAcc(hWidget)) { |
598 if (nIndex < pWidgetAcc->CountSelectedItems()) | 600 if (nIndex < pWidgetAcc->CountSelectedItems()) |
599 return pWidgetAcc->GetSelectedItem(nIndex); | 601 return pWidgetAcc->GetSelectedItem(nIndex); |
600 } | 602 } |
601 } | 603 } |
602 } | 604 } |
603 #endif // PDF_ENABLE_XFA | 605 #endif // PDF_ENABLE_XFA |
604 CPDF_FormField* pFormField = GetFormField(); | 606 CPDF_FormField* pFormField = GetFormField(); |
605 return pFormField->GetSelectedIndex(nIndex); | 607 return pFormField->GetSelectedIndex(nIndex); |
606 } | 608 } |
607 | 609 |
608 #ifdef PDF_ENABLE_XFA | 610 #ifdef PDF_ENABLE_XFA |
609 CFX_WideString CPDFSDK_Widget::GetValue(FX_BOOL bDisplay) const { | 611 CFX_WideString CPDFSDK_Widget::GetValue(FX_BOOL bDisplay) const { |
610 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { | 612 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { |
611 if (IXFA_WidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { | 613 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { |
612 if (CXFA_WidgetAcc* pWidgetAcc = pXFAWidgetHandler->GetDataAcc(hWidget)) { | 614 if (CXFA_WidgetAcc* pWidgetAcc = pXFAWidgetHandler->GetDataAcc(hWidget)) { |
613 CFX_WideString sValue; | 615 CFX_WideString sValue; |
614 pWidgetAcc->GetValue(sValue, bDisplay ? XFA_VALUEPICTURE_Display | 616 pWidgetAcc->GetValue(sValue, bDisplay ? XFA_VALUEPICTURE_Display |
615 : XFA_VALUEPICTURE_Edit); | 617 : XFA_VALUEPICTURE_Edit); |
616 return sValue; | 618 return sValue; |
617 } | 619 } |
618 } | 620 } |
619 } | 621 } |
620 #else | 622 #else |
621 CFX_WideString CPDFSDK_Widget::GetValue() const { | 623 CFX_WideString CPDFSDK_Widget::GetValue() const { |
(...skipping 12 matching lines...) Expand all Loading... |
634 return pFormField->GetOptionLabel(nIndex); | 636 return pFormField->GetOptionLabel(nIndex); |
635 } | 637 } |
636 | 638 |
637 int CPDFSDK_Widget::CountOptions() const { | 639 int CPDFSDK_Widget::CountOptions() const { |
638 CPDF_FormField* pFormField = GetFormField(); | 640 CPDF_FormField* pFormField = GetFormField(); |
639 return pFormField->CountOptions(); | 641 return pFormField->CountOptions(); |
640 } | 642 } |
641 | 643 |
642 FX_BOOL CPDFSDK_Widget::IsOptionSelected(int nIndex) const { | 644 FX_BOOL CPDFSDK_Widget::IsOptionSelected(int nIndex) const { |
643 #ifdef PDF_ENABLE_XFA | 645 #ifdef PDF_ENABLE_XFA |
644 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { | 646 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { |
645 if (IXFA_WidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { | 647 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { |
646 if (CXFA_WidgetAcc* pWidgetAcc = pXFAWidgetHandler->GetDataAcc(hWidget)) { | 648 if (CXFA_WidgetAcc* pWidgetAcc = pXFAWidgetHandler->GetDataAcc(hWidget)) { |
647 if (nIndex > -1 && nIndex < pWidgetAcc->CountChoiceListItems()) | 649 if (nIndex > -1 && nIndex < pWidgetAcc->CountChoiceListItems()) |
648 return pWidgetAcc->GetItemState(nIndex); | 650 return pWidgetAcc->GetItemState(nIndex); |
649 | 651 |
650 return FALSE; | 652 return FALSE; |
651 } | 653 } |
652 } | 654 } |
653 } | 655 } |
654 #endif // PDF_ENABLE_XFA | 656 #endif // PDF_ENABLE_XFA |
655 CPDF_FormField* pFormField = GetFormField(); | 657 CPDF_FormField* pFormField = GetFormField(); |
656 return pFormField->IsItemSelected(nIndex); | 658 return pFormField->IsItemSelected(nIndex); |
657 } | 659 } |
658 | 660 |
659 int CPDFSDK_Widget::GetTopVisibleIndex() const { | 661 int CPDFSDK_Widget::GetTopVisibleIndex() const { |
660 CPDF_FormField* pFormField = GetFormField(); | 662 CPDF_FormField* pFormField = GetFormField(); |
661 return pFormField->GetTopVisibleIndex(); | 663 return pFormField->GetTopVisibleIndex(); |
662 } | 664 } |
663 | 665 |
664 bool CPDFSDK_Widget::IsChecked() const { | 666 bool CPDFSDK_Widget::IsChecked() const { |
665 #ifdef PDF_ENABLE_XFA | 667 #ifdef PDF_ENABLE_XFA |
666 if (IXFA_WidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { | 668 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { |
667 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { | 669 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { |
668 if (CXFA_WidgetAcc* pWidgetAcc = pXFAWidgetHandler->GetDataAcc(hWidget)) | 670 if (CXFA_WidgetAcc* pWidgetAcc = pXFAWidgetHandler->GetDataAcc(hWidget)) |
669 return pWidgetAcc->GetCheckState() == XFA_CHECKSTATE_On; | 671 return pWidgetAcc->GetCheckState() == XFA_CHECKSTATE_On; |
670 } | 672 } |
671 } | 673 } |
672 #endif // PDF_ENABLE_XFA | 674 #endif // PDF_ENABLE_XFA |
673 CPDF_FormControl* pFormCtrl = GetFormControl(); | 675 CPDF_FormControl* pFormCtrl = GetFormControl(); |
674 return pFormCtrl->IsChecked(); | 676 return pFormCtrl->IsChecked(); |
675 } | 677 } |
676 | 678 |
677 int CPDFSDK_Widget::GetAlignment() const { | 679 int CPDFSDK_Widget::GetAlignment() const { |
(...skipping 1190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1868 } | 1870 } |
1869 | 1871 |
1870 FX_BOOL CPDFSDK_Widget::OnAAction(CPDF_AAction::AActionType type, | 1872 FX_BOOL CPDFSDK_Widget::OnAAction(CPDF_AAction::AActionType type, |
1871 PDFSDK_FieldAction& data, | 1873 PDFSDK_FieldAction& data, |
1872 CPDFSDK_PageView* pPageView) { | 1874 CPDFSDK_PageView* pPageView) { |
1873 CPDFSDK_Document* pDocument = pPageView->GetSDKDocument(); | 1875 CPDFSDK_Document* pDocument = pPageView->GetSDKDocument(); |
1874 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); | 1876 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); |
1875 | 1877 |
1876 #ifdef PDF_ENABLE_XFA | 1878 #ifdef PDF_ENABLE_XFA |
1877 CPDFXFA_Document* pDoc = pDocument->GetXFADocument(); | 1879 CPDFXFA_Document* pDoc = pDocument->GetXFADocument(); |
1878 if (IXFA_Widget* hWidget = GetMixXFAWidget()) { | 1880 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { |
1879 XFA_EVENTTYPE eEventType = GetXFAEventType(type, data.bWillCommit); | 1881 XFA_EVENTTYPE eEventType = GetXFAEventType(type, data.bWillCommit); |
1880 | 1882 |
1881 if (eEventType != XFA_EVENT_Unknown) { | 1883 if (eEventType != XFA_EVENT_Unknown) { |
1882 if (IXFA_WidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { | 1884 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { |
1883 CXFA_EventParam param; | 1885 CXFA_EventParam param; |
1884 param.m_eType = eEventType; | 1886 param.m_eType = eEventType; |
1885 param.m_wsChange = data.sChange; | 1887 param.m_wsChange = data.sChange; |
1886 param.m_iCommitKey = data.nCommitKey; | 1888 param.m_iCommitKey = data.nCommitKey; |
1887 param.m_bShift = data.bShift; | 1889 param.m_bShift = data.bShift; |
1888 param.m_iSelStart = data.nSelStart; | 1890 param.m_iSelStart = data.nSelStart; |
1889 param.m_iSelEnd = data.nSelEnd; | 1891 param.m_iSelEnd = data.nSelEnd; |
1890 param.m_wsFullText = data.sValue; | 1892 param.m_wsFullText = data.sValue; |
1891 param.m_bKeyDown = data.bKeyDown; | 1893 param.m_bKeyDown = data.bKeyDown; |
1892 param.m_bModifier = data.bModifier; | 1894 param.m_bModifier = data.bModifier; |
1893 param.m_wsNewText = data.sValue; | 1895 param.m_wsNewText = data.sValue; |
1894 if (data.nSelEnd > data.nSelStart) | 1896 if (data.nSelEnd > data.nSelStart) |
1895 param.m_wsNewText.Delete(data.nSelStart, | 1897 param.m_wsNewText.Delete(data.nSelStart, |
1896 data.nSelEnd - data.nSelStart); | 1898 data.nSelEnd - data.nSelStart); |
1897 for (int i = data.sChange.GetLength() - 1; i >= 0; i--) | 1899 for (int i = data.sChange.GetLength() - 1; i >= 0; i--) |
1898 param.m_wsNewText.Insert(data.nSelStart, data.sChange[i]); | 1900 param.m_wsNewText.Insert(data.nSelStart, data.sChange[i]); |
1899 param.m_wsPrevText = data.sValue; | 1901 param.m_wsPrevText = data.sValue; |
1900 | 1902 |
1901 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hWidget); | 1903 CXFA_WidgetAcc* pAcc = pXFAWidgetHandler->GetDataAcc(hWidget); |
1902 param.m_pTarget = pAcc; | 1904 param.m_pTarget = pAcc; |
1903 int32_t nRet = pXFAWidgetHandler->ProcessEvent(pAcc, ¶m); | 1905 int32_t nRet = pXFAWidgetHandler->ProcessEvent(pAcc, ¶m); |
1904 | 1906 |
1905 if (IXFA_DocView* pDocView = pDoc->GetXFADocView()) { | 1907 if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView()) { |
1906 pDocView->UpdateDocView(); | 1908 pDocView->UpdateDocView(); |
1907 } | 1909 } |
1908 | 1910 |
1909 if (nRet == XFA_EVENTERROR_Success) | 1911 if (nRet == XFA_EVENTERROR_Success) |
1910 return TRUE; | 1912 return TRUE; |
1911 } | 1913 } |
1912 } | 1914 } |
1913 } | 1915 } |
1914 #endif // PDF_ENABLE_XFA | 1916 #endif // PDF_ENABLE_XFA |
1915 | 1917 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1976 int nFieldFlags = GetFieldFlags(); | 1978 int nFieldFlags = GetFieldFlags(); |
1977 if ((nFieldFlags & FIELDFLAG_READONLY) == FIELDFLAG_READONLY) | 1979 if ((nFieldFlags & FIELDFLAG_READONLY) == FIELDFLAG_READONLY) |
1978 return FALSE; | 1980 return FALSE; |
1979 | 1981 |
1980 return TRUE; | 1982 return TRUE; |
1981 } | 1983 } |
1982 return FALSE; | 1984 return FALSE; |
1983 } | 1985 } |
1984 | 1986 |
1985 #ifdef PDF_ENABLE_XFA | 1987 #ifdef PDF_ENABLE_XFA |
1986 CPDFSDK_XFAWidget::CPDFSDK_XFAWidget(IXFA_Widget* pAnnot, | 1988 CPDFSDK_XFAWidget::CPDFSDK_XFAWidget(CXFA_FFWidget* pAnnot, |
1987 CPDFSDK_PageView* pPageView, | 1989 CPDFSDK_PageView* pPageView, |
1988 CPDFSDK_InterForm* pInterForm) | 1990 CPDFSDK_InterForm* pInterForm) |
1989 : CPDFSDK_Annot(pPageView), | 1991 : CPDFSDK_Annot(pPageView), |
1990 m_pInterForm(pInterForm), | 1992 m_pInterForm(pInterForm), |
1991 m_hXFAWidget(pAnnot) {} | 1993 m_hXFAWidget(pAnnot) {} |
1992 | 1994 |
1993 FX_BOOL CPDFSDK_XFAWidget::IsXFAField() { | 1995 FX_BOOL CPDFSDK_XFAWidget::IsXFAField() { |
1994 return TRUE; | 1996 return TRUE; |
1995 } | 1997 } |
1996 | 1998 |
1997 CFX_ByteString CPDFSDK_XFAWidget::GetType() const { | 1999 CFX_ByteString CPDFSDK_XFAWidget::GetType() const { |
1998 return FSDK_XFAWIDGET_TYPENAME; | 2000 return FSDK_XFAWIDGET_TYPENAME; |
1999 } | 2001 } |
2000 | 2002 |
2001 CFX_FloatRect CPDFSDK_XFAWidget::GetRect() const { | 2003 CFX_FloatRect CPDFSDK_XFAWidget::GetRect() const { |
2002 CPDFSDK_PageView* pPageView = GetPageView(); | 2004 CPDFSDK_PageView* pPageView = GetPageView(); |
2003 CPDFSDK_Document* pDocument = pPageView->GetSDKDocument(); | 2005 CPDFSDK_Document* pDocument = pPageView->GetSDKDocument(); |
2004 CPDFXFA_Document* pDoc = pDocument->GetXFADocument(); | 2006 CPDFXFA_Document* pDoc = pDocument->GetXFADocument(); |
2005 IXFA_DocView* pDocView = pDoc->GetXFADocView(); | 2007 CXFA_FFDocView* pDocView = pDoc->GetXFADocView(); |
2006 IXFA_WidgetHandler* pWidgetHandler = pDocView->GetWidgetHandler(); | 2008 CXFA_FFWidgetHandler* pWidgetHandler = pDocView->GetWidgetHandler(); |
2007 | 2009 |
2008 CFX_RectF rcBBox; | 2010 CFX_RectF rcBBox; |
2009 pWidgetHandler->GetRect(GetXFAWidget(), rcBBox); | 2011 pWidgetHandler->GetRect(GetXFAWidget(), rcBBox); |
2010 | 2012 |
2011 return CFX_FloatRect(rcBBox.left, rcBBox.top, rcBBox.left + rcBBox.width, | 2013 return CFX_FloatRect(rcBBox.left, rcBBox.top, rcBBox.left + rcBBox.width, |
2012 rcBBox.top + rcBBox.height); | 2014 rcBBox.top + rcBBox.height); |
2013 } | 2015 } |
2014 #endif // PDF_ENABLE_XFA | 2016 #endif // PDF_ENABLE_XFA |
2015 | 2017 |
2016 CPDFSDK_InterForm::CPDFSDK_InterForm(CPDFSDK_Document* pDocument) | 2018 CPDFSDK_InterForm::CPDFSDK_InterForm(CPDFSDK_Document* pDocument) |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2143 | 2145 |
2144 void CPDFSDK_InterForm::EnableCalculate(FX_BOOL bEnabled) { | 2146 void CPDFSDK_InterForm::EnableCalculate(FX_BOOL bEnabled) { |
2145 m_bCalculate = bEnabled; | 2147 m_bCalculate = bEnabled; |
2146 } | 2148 } |
2147 | 2149 |
2148 FX_BOOL CPDFSDK_InterForm::IsCalculateEnabled() const { | 2150 FX_BOOL CPDFSDK_InterForm::IsCalculateEnabled() const { |
2149 return m_bCalculate; | 2151 return m_bCalculate; |
2150 } | 2152 } |
2151 | 2153 |
2152 #ifdef PDF_ENABLE_XFA | 2154 #ifdef PDF_ENABLE_XFA |
2153 void CPDFSDK_InterForm::AddXFAMap(IXFA_Widget* hWidget, | 2155 void CPDFSDK_InterForm::AddXFAMap(CXFA_FFWidget* hWidget, |
2154 CPDFSDK_XFAWidget* pWidget) { | 2156 CPDFSDK_XFAWidget* pWidget) { |
2155 m_XFAMap.SetAt(hWidget, pWidget); | 2157 m_XFAMap.SetAt(hWidget, pWidget); |
2156 } | 2158 } |
2157 | 2159 |
2158 void CPDFSDK_InterForm::RemoveXFAMap(IXFA_Widget* hWidget) { | 2160 void CPDFSDK_InterForm::RemoveXFAMap(CXFA_FFWidget* hWidget) { |
2159 m_XFAMap.RemoveKey(hWidget); | 2161 m_XFAMap.RemoveKey(hWidget); |
2160 } | 2162 } |
2161 | 2163 |
2162 CPDFSDK_XFAWidget* CPDFSDK_InterForm::GetXFAWidget(IXFA_Widget* hWidget) { | 2164 CPDFSDK_XFAWidget* CPDFSDK_InterForm::GetXFAWidget(CXFA_FFWidget* hWidget) { |
2163 CPDFSDK_XFAWidget* pWidget = NULL; | 2165 CPDFSDK_XFAWidget* pWidget = NULL; |
2164 m_XFAMap.Lookup(hWidget, pWidget); | 2166 m_XFAMap.Lookup(hWidget, pWidget); |
2165 | 2167 |
2166 return pWidget; | 2168 return pWidget; |
2167 } | 2169 } |
2168 | 2170 |
2169 void CPDFSDK_InterForm::XfaEnableCalculate(FX_BOOL bEnabled) { | 2171 void CPDFSDK_InterForm::XfaEnableCalculate(FX_BOOL bEnabled) { |
2170 m_bXfaCalculate = bEnabled; | 2172 m_bXfaCalculate = bEnabled; |
2171 } | 2173 } |
2172 FX_BOOL CPDFSDK_InterForm::IsXfaCalculateEnabled() const { | 2174 FX_BOOL CPDFSDK_InterForm::IsXfaCalculateEnabled() const { |
(...skipping 688 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2861 break; | 2863 break; |
2862 } | 2864 } |
2863 } | 2865 } |
2864 } | 2866 } |
2865 | 2867 |
2866 CFX_FloatRect CBA_AnnotIterator::GetAnnotRect(const CPDFSDK_Annot* pAnnot) { | 2868 CFX_FloatRect CBA_AnnotIterator::GetAnnotRect(const CPDFSDK_Annot* pAnnot) { |
2867 CFX_FloatRect rcAnnot; | 2869 CFX_FloatRect rcAnnot; |
2868 pAnnot->GetPDFAnnot()->GetRect(rcAnnot); | 2870 pAnnot->GetPDFAnnot()->GetRect(rcAnnot); |
2869 return rcAnnot; | 2871 return rcAnnot; |
2870 } | 2872 } |
OLD | NEW |