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/include/xfa_ffpageview.h" | 7 #include "xfa/fxfa/include/xfa_ffpageview.h" |
8 | 8 |
9 #include "xfa/fde/fde_render.h" | 9 #include "xfa/fde/fde_render.h" |
10 #include "xfa/fxfa/app/xfa_ffcheckbutton.h" | 10 #include "xfa/fxfa/app/xfa_ffcheckbutton.h" |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 pageMatrix = m; | 69 pageMatrix = m; |
70 } | 70 } |
71 | 71 |
72 bool PageWidgetFilter(CXFA_FFWidget* pWidget, | 72 bool PageWidgetFilter(CXFA_FFWidget* pWidget, |
73 uint32_t dwFilter, | 73 uint32_t dwFilter, |
74 FX_BOOL bTraversal, | 74 FX_BOOL bTraversal, |
75 FX_BOOL bIgnorerelevant) { | 75 FX_BOOL bIgnorerelevant) { |
76 CXFA_WidgetAcc* pWidgetAcc = pWidget->GetDataAcc(); | 76 CXFA_WidgetAcc* pWidgetAcc = pWidget->GetDataAcc(); |
77 | 77 |
78 if (!!(dwFilter & XFA_WidgetStatus_Focused) && | 78 if (!!(dwFilter & XFA_WidgetStatus_Focused) && |
79 pWidgetAcc->GetClassID() != XFA_ELEMENT_Field) { | 79 pWidgetAcc->GetClassID() != XFA_Element::Field) { |
80 return false; | 80 return false; |
81 } | 81 } |
82 | 82 |
83 uint32_t dwStatus = pWidget->GetStatus(); | 83 uint32_t dwStatus = pWidget->GetStatus(); |
84 if (bTraversal && (dwStatus & XFA_WidgetStatus_Disabled)) | 84 if (bTraversal && (dwStatus & XFA_WidgetStatus_Disabled)) |
85 return false; | 85 return false; |
86 if (bIgnorerelevant) | 86 if (bIgnorerelevant) |
87 return !!(dwStatus & XFA_WidgetStatus_Visible); | 87 return !!(dwStatus & XFA_WidgetStatus_Visible); |
88 | 88 |
89 dwFilter &= (XFA_WidgetStatus_Visible | XFA_WidgetStatus_Viewable | | 89 dwFilter &= (XFA_WidgetStatus_Visible | XFA_WidgetStatus_Viewable | |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 int32_t iWidgetIndex = m_TabOrderWidgetArray.Find(hWidget); | 269 int32_t iWidgetIndex = m_TabOrderWidgetArray.Find(hWidget); |
270 if (iWidgetIndex >= 0) { | 270 if (iWidgetIndex >= 0) { |
271 m_iCurWidget = iWidgetIndex; | 271 m_iCurWidget = iWidgetIndex; |
272 return TRUE; | 272 return TRUE; |
273 } | 273 } |
274 return FALSE; | 274 return FALSE; |
275 } | 275 } |
276 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::GetTraverseWidget( | 276 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::GetTraverseWidget( |
277 CXFA_FFWidget* pWidget) { | 277 CXFA_FFWidget* pWidget) { |
278 CXFA_WidgetAcc* pAcc = pWidget->GetDataAcc(); | 278 CXFA_WidgetAcc* pAcc = pWidget->GetDataAcc(); |
279 CXFA_Node* pTraversal = pAcc->GetNode()->GetChild(0, XFA_ELEMENT_Traversal); | 279 CXFA_Node* pTraversal = pAcc->GetNode()->GetChild(0, XFA_Element::Traversal); |
280 if (pTraversal) { | 280 if (pTraversal) { |
281 CXFA_Node* pTraverse = pTraversal->GetChild(0, XFA_ELEMENT_Traverse); | 281 CXFA_Node* pTraverse = pTraversal->GetChild(0, XFA_Element::Traverse); |
282 if (pTraverse) { | 282 if (pTraverse) { |
283 CFX_WideString wsTraverseWidgetName; | 283 CFX_WideString wsTraverseWidgetName; |
284 if (pTraverse->GetAttribute(XFA_ATTRIBUTE_Ref, wsTraverseWidgetName)) { | 284 if (pTraverse->GetAttribute(XFA_ATTRIBUTE_Ref, wsTraverseWidgetName)) { |
285 return FindWidgetByName(wsTraverseWidgetName, pWidget); | 285 return FindWidgetByName(wsTraverseWidgetName, pWidget); |
286 } | 286 } |
287 } | 287 } |
288 } | 288 } |
289 return NULL; | 289 return NULL; |
290 } | 290 } |
291 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::FindWidgetByName( | 291 CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::FindWidgetByName( |
292 const CFX_WideString& wsWidgetName, | 292 const CFX_WideString& wsWidgetName, |
293 CXFA_FFWidget* pRefWidget) { | 293 CXFA_FFWidget* pRefWidget) { |
294 return pRefWidget->GetDocView()->GetWidgetByName(wsWidgetName, pRefWidget); | 294 return pRefWidget->GetDocView()->GetWidgetByName(wsWidgetName, pRefWidget); |
295 } | 295 } |
296 void CXFA_FFTabOrderPageWidgetIterator::CreateTabOrderWidgetArray() { | 296 void CXFA_FFTabOrderPageWidgetIterator::CreateTabOrderWidgetArray() { |
297 m_TabOrderWidgetArray.RemoveAll(); | 297 m_TabOrderWidgetArray.RemoveAll(); |
298 CXFA_WidgetArray SpaceOrderWidgetArray; | 298 CXFA_WidgetArray SpaceOrderWidgetArray; |
299 CreateSpaceOrderWidgetArray(SpaceOrderWidgetArray); | 299 CreateSpaceOrderWidgetArray(SpaceOrderWidgetArray); |
300 int32_t nWidgetCount = SpaceOrderWidgetArray.GetSize(); | 300 int32_t nWidgetCount = SpaceOrderWidgetArray.GetSize(); |
301 if (nWidgetCount < 1) { | 301 if (nWidgetCount < 1) { |
302 return; | 302 return; |
303 } | 303 } |
304 CXFA_FFWidget* hWidget = SpaceOrderWidgetArray[0]; | 304 CXFA_FFWidget* hWidget = SpaceOrderWidgetArray[0]; |
305 for (; m_TabOrderWidgetArray.GetSize() < nWidgetCount;) { | 305 for (; m_TabOrderWidgetArray.GetSize() < nWidgetCount;) { |
306 if (m_TabOrderWidgetArray.Find(hWidget) < 0) { | 306 if (m_TabOrderWidgetArray.Find(hWidget) < 0) { |
307 m_TabOrderWidgetArray.Add(hWidget); | 307 m_TabOrderWidgetArray.Add(hWidget); |
308 CXFA_WidgetAcc* pWidgetAcc = hWidget->GetDataAcc(); | 308 CXFA_WidgetAcc* pWidgetAcc = hWidget->GetDataAcc(); |
309 if (pWidgetAcc->GetUIType() == XFA_ELEMENT_ExclGroup) { | 309 if (pWidgetAcc->GetUIType() == XFA_Element::ExclGroup) { |
310 int32_t iWidgetIndex = SpaceOrderWidgetArray.Find(hWidget) + 1; | 310 int32_t iWidgetIndex = SpaceOrderWidgetArray.Find(hWidget) + 1; |
311 while (TRUE) { | 311 while (TRUE) { |
312 CXFA_FFWidget* pRadio = | 312 CXFA_FFWidget* pRadio = |
313 SpaceOrderWidgetArray[(iWidgetIndex) % nWidgetCount]; | 313 SpaceOrderWidgetArray[(iWidgetIndex) % nWidgetCount]; |
314 if (pRadio->GetDataAcc()->GetExclGroup() != pWidgetAcc) { | 314 if (pRadio->GetDataAcc()->GetExclGroup() != pWidgetAcc) { |
315 break; | 315 break; |
316 } | 316 } |
317 if (m_TabOrderWidgetArray.Find(hWidget) < 0) { | 317 if (m_TabOrderWidgetArray.Find(hWidget) < 0) { |
318 m_TabOrderWidgetArray.Add(pRadio); | 318 m_TabOrderWidgetArray.Add(pRadio); |
319 } | 319 } |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
429 pWidget->LoadWidget(); | 429 pWidget->LoadWidget(); |
430 } | 430 } |
431 return pWidget; | 431 return pWidget; |
432 } | 432 } |
433 return NULL; | 433 return NULL; |
434 } | 434 } |
435 | 435 |
436 CXFA_TabParam::CXFA_TabParam() : m_pWidget(NULL) {} | 436 CXFA_TabParam::CXFA_TabParam() : m_pWidget(NULL) {} |
437 | 437 |
438 CXFA_TabParam::~CXFA_TabParam() {} | 438 CXFA_TabParam::~CXFA_TabParam() {} |
OLD | NEW |