Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(507)

Side by Side Diff: fpdfsdk/fsdk_baseform.cpp

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

Powered by Google App Engine
This is Rietveld 408576698