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_fftextedit.h" | 7 #include "xfa/fxfa/app/xfa_fftextedit.h" |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 return ((CFWL_Edit*)m_pNormalWidget)->Paste(wsPaste); | 325 return ((CFWL_Edit*)m_pNormalWidget)->Paste(wsPaste); |
326 } | 326 } |
327 FX_BOOL CXFA_FFTextEdit::SelectAll() { | 327 FX_BOOL CXFA_FFTextEdit::SelectAll() { |
328 int32_t nCount = ((CFWL_Edit*)m_pNormalWidget)->GetTextLength(); | 328 int32_t nCount = ((CFWL_Edit*)m_pNormalWidget)->GetTextLength(); |
329 return ((CFWL_Edit*)m_pNormalWidget)->AddSelRange(0, nCount); | 329 return ((CFWL_Edit*)m_pNormalWidget)->AddSelRange(0, nCount); |
330 } | 330 } |
331 FX_BOOL CXFA_FFTextEdit::Delete() { | 331 FX_BOOL CXFA_FFTextEdit::Delete() { |
332 return ((CFWL_Edit*)m_pNormalWidget)->Delete(); | 332 return ((CFWL_Edit*)m_pNormalWidget)->Delete(); |
333 } | 333 } |
334 FX_BOOL CXFA_FFTextEdit::DeSelect() { | 334 FX_BOOL CXFA_FFTextEdit::DeSelect() { |
335 return ((CFWL_Edit*)m_pNormalWidget)->ClearSelections(); | 335 return ((CFWL_Edit*)m_pNormalWidget)->ClearSelections() == |
| 336 FWL_Error::Succeeded; |
336 } | 337 } |
337 FX_BOOL CXFA_FFTextEdit::GetSuggestWords( | 338 FX_BOOL CXFA_FFTextEdit::GetSuggestWords( |
338 CFX_PointF pointf, | 339 CFX_PointF pointf, |
339 std::vector<CFX_ByteString>& sSuggest) { | 340 std::vector<CFX_ByteString>& sSuggest) { |
340 if (m_pDataAcc->GetUIType() != XFA_ELEMENT_TextEdit) { | 341 if (m_pDataAcc->GetUIType() != XFA_ELEMENT_TextEdit) { |
341 return FALSE; | 342 return FALSE; |
342 } | 343 } |
343 FWLToClient(pointf.x, pointf.y); | 344 FWLToClient(pointf.x, pointf.y); |
344 return ((CFWL_Edit*)m_pNormalWidget)->GetSuggestWords(pointf, sSuggest); | 345 return ((CFWL_Edit*)m_pNormalWidget)->GetSuggestWords(pointf, sSuggest); |
345 } | 346 } |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
393 return GetDoc()->GetDocProvider()->CheckWord(GetDoc(), sWord); | 394 return GetDoc()->GetDocProvider()->CheckWord(GetDoc(), sWord); |
394 } | 395 } |
395 FX_BOOL CXFA_FFTextEdit::GetSuggestWords( | 396 FX_BOOL CXFA_FFTextEdit::GetSuggestWords( |
396 const CFX_ByteStringC& sWord, | 397 const CFX_ByteStringC& sWord, |
397 std::vector<CFX_ByteString>& sSuggest) { | 398 std::vector<CFX_ByteString>& sSuggest) { |
398 if (m_pDataAcc->GetUIType() != XFA_ELEMENT_TextEdit) { | 399 if (m_pDataAcc->GetUIType() != XFA_ELEMENT_TextEdit) { |
399 return FALSE; | 400 return FALSE; |
400 } | 401 } |
401 return GetDoc()->GetDocProvider()->GetSuggestWords(GetDoc(), sWord, sSuggest); | 402 return GetDoc()->GetDocProvider()->GetSuggestWords(GetDoc(), sWord, sSuggest); |
402 } | 403 } |
403 int32_t CXFA_FFTextEdit::OnProcessMessage(CFWL_Message* pMessage) { | 404 |
404 return m_pOldDelegate->OnProcessMessage(pMessage); | 405 void CXFA_FFTextEdit::OnProcessMessage(CFWL_Message* pMessage) { |
| 406 m_pOldDelegate->OnProcessMessage(pMessage); |
405 } | 407 } |
406 | 408 |
407 FWL_ERR CXFA_FFTextEdit::OnProcessEvent(CFWL_Event* pEvent) { | 409 void CXFA_FFTextEdit::OnProcessEvent(CFWL_Event* pEvent) { |
408 CXFA_FFField::OnProcessEvent(pEvent); | 410 CXFA_FFField::OnProcessEvent(pEvent); |
409 switch (pEvent->GetClassID()) { | 411 switch (pEvent->GetClassID()) { |
410 case CFWL_EventType::TextChanged: { | 412 case CFWL_EventType::TextChanged: { |
411 CFWL_EvtEdtTextChanged* event = (CFWL_EvtEdtTextChanged*)pEvent; | 413 CFWL_EvtEdtTextChanged* event = (CFWL_EvtEdtTextChanged*)pEvent; |
412 CFX_WideString wsChange; | 414 CFX_WideString wsChange; |
413 OnTextChanged(m_pNormalWidget->GetWidget(), wsChange, event->wsPrevText); | 415 OnTextChanged(m_pNormalWidget->GetWidget(), wsChange, event->wsPrevText); |
414 break; | 416 break; |
415 } | 417 } |
416 case CFWL_EventType::TextFull: { | 418 case CFWL_EventType::TextFull: { |
417 OnTextFull(m_pNormalWidget->GetWidget()); | 419 OnTextFull(m_pNormalWidget->GetWidget()); |
418 break; | 420 break; |
419 } | 421 } |
420 case CFWL_EventType::CheckWord: { | 422 case CFWL_EventType::CheckWord: { |
421 CFX_WideString wstr(L"FWL_EVENT_DTP_SelectChanged"); | 423 CFX_WideString wstr(L"FWL_EVENT_DTP_SelectChanged"); |
422 CFWL_EvtEdtCheckWord* event = (CFWL_EvtEdtCheckWord*)pEvent; | 424 CFWL_EvtEdtCheckWord* event = (CFWL_EvtEdtCheckWord*)pEvent; |
423 event->bCheckWord = CheckWord(event->bsWord.AsStringC()); | 425 event->bCheckWord = CheckWord(event->bsWord.AsStringC()); |
424 break; | 426 break; |
425 } | 427 } |
426 case CFWL_EventType::GetSuggestedWords: { | 428 case CFWL_EventType::GetSuggestedWords: { |
427 CFWL_EvtEdtGetSuggestWords* event = (CFWL_EvtEdtGetSuggestWords*)pEvent; | 429 CFWL_EvtEdtGetSuggestWords* event = (CFWL_EvtEdtGetSuggestWords*)pEvent; |
428 event->bSuggestWords = GetSuggestWords(event->bsWord.AsStringC(), | 430 event->bSuggestWords = GetSuggestWords(event->bsWord.AsStringC(), |
429 event->bsArraySuggestWords); | 431 event->bsArraySuggestWords); |
430 break; | 432 break; |
431 } | 433 } |
432 default: | 434 default: |
433 break; | 435 break; |
434 } | 436 } |
435 return m_pOldDelegate->OnProcessEvent(pEvent); | 437 m_pOldDelegate->OnProcessEvent(pEvent); |
436 } | 438 } |
437 | 439 |
438 FWL_ERR CXFA_FFTextEdit::OnDrawWidget(CFX_Graphics* pGraphics, | 440 void CXFA_FFTextEdit::OnDrawWidget(CFX_Graphics* pGraphics, |
439 const CFX_Matrix* pMatrix) { | 441 const CFX_Matrix* pMatrix) { |
440 return m_pOldDelegate->OnDrawWidget(pGraphics, pMatrix); | 442 m_pOldDelegate->OnDrawWidget(pGraphics, pMatrix); |
441 } | 443 } |
| 444 |
442 CXFA_FFNumericEdit::CXFA_FFNumericEdit(CXFA_FFPageView* pPageView, | 445 CXFA_FFNumericEdit::CXFA_FFNumericEdit(CXFA_FFPageView* pPageView, |
443 CXFA_WidgetAcc* pDataAcc) | 446 CXFA_WidgetAcc* pDataAcc) |
444 : CXFA_FFTextEdit(pPageView, pDataAcc) {} | 447 : CXFA_FFTextEdit(pPageView, pDataAcc) {} |
445 CXFA_FFNumericEdit::~CXFA_FFNumericEdit() {} | 448 CXFA_FFNumericEdit::~CXFA_FFNumericEdit() {} |
446 FX_BOOL CXFA_FFNumericEdit::LoadWidget() { | 449 FX_BOOL CXFA_FFNumericEdit::LoadWidget() { |
447 CFWL_Edit* pWidget = CFWL_Edit::Create(); | 450 CFWL_Edit* pWidget = CFWL_Edit::Create(); |
448 pWidget->Initialize(); | 451 pWidget->Initialize(); |
449 m_pNormalWidget = (CFWL_Widget*)pWidget; | 452 m_pNormalWidget = (CFWL_Widget*)pWidget; |
450 IFWL_Widget* pIWidget = m_pNormalWidget->GetWidget(); | 453 IFWL_Widget* pIWidget = m_pNormalWidget->GetWidget(); |
451 m_pNormalWidget->SetPrivateData(pIWidget, this, NULL); | 454 m_pNormalWidget->SetPrivateData(pIWidget, this, NULL); |
(...skipping 27 matching lines...) Expand all Loading... |
479 pWidget->SetLimit(iNumCells); | 482 pWidget->SetLimit(iNumCells); |
480 } | 483 } |
481 dwExtendedStyle |= GetAlignment(); | 484 dwExtendedStyle |= GetAlignment(); |
482 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || | 485 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || |
483 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { | 486 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { |
484 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; | 487 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; |
485 } | 488 } |
486 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); | 489 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); |
487 } | 490 } |
488 | 491 |
489 FWL_ERR CXFA_FFNumericEdit::OnProcessEvent(CFWL_Event* pEvent) { | 492 void CXFA_FFNumericEdit::OnProcessEvent(CFWL_Event* pEvent) { |
490 if (pEvent->GetClassID() == CFWL_EventType::Validate) { | 493 if (pEvent->GetClassID() == CFWL_EventType::Validate) { |
491 CFWL_EvtEdtValidate* event = (CFWL_EvtEdtValidate*)pEvent; | 494 CFWL_EvtEdtValidate* event = (CFWL_EvtEdtValidate*)pEvent; |
492 CFX_WideString wsChange = event->wsInsert; | 495 CFX_WideString wsChange = event->wsInsert; |
493 event->bValidate = OnValidate(m_pNormalWidget->GetWidget(), wsChange); | 496 event->bValidate = OnValidate(m_pNormalWidget->GetWidget(), wsChange); |
494 return event->bValidate; | 497 return; |
495 } | 498 } |
496 return CXFA_FFTextEdit::OnProcessEvent(pEvent); | 499 CXFA_FFTextEdit::OnProcessEvent(pEvent); |
497 } | 500 } |
498 | 501 |
499 FX_BOOL CXFA_FFNumericEdit::OnValidate(IFWL_Widget* pWidget, | 502 FX_BOOL CXFA_FFNumericEdit::OnValidate(IFWL_Widget* pWidget, |
500 CFX_WideString& wsText) { | 503 CFX_WideString& wsText) { |
501 CFX_WideString wsPattern; | 504 CFX_WideString wsPattern; |
502 m_pDataAcc->GetPictureContent(wsPattern, XFA_VALUEPICTURE_Edit); | 505 m_pDataAcc->GetPictureContent(wsPattern, XFA_VALUEPICTURE_Edit); |
503 if (!wsPattern.IsEmpty()) { | 506 if (!wsPattern.IsEmpty()) { |
504 return TRUE; | 507 return TRUE; |
505 } | 508 } |
506 int32_t iLeads = 0; | 509 int32_t iLeads = 0; |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
781 pDateTime->SetEditText(wsDate); | 784 pDateTime->SetEditText(wsDate); |
782 pDateTime->Update(); | 785 pDateTime->Update(); |
783 GetDoc()->GetDocProvider()->SetFocusWidget(GetDoc(), NULL); | 786 GetDoc()->GetDocProvider()->SetFocusWidget(GetDoc(), NULL); |
784 CXFA_EventParam eParam; | 787 CXFA_EventParam eParam; |
785 eParam.m_eType = XFA_EVENT_Change; | 788 eParam.m_eType = XFA_EVENT_Change; |
786 eParam.m_pTarget = m_pDataAcc; | 789 eParam.m_pTarget = m_pDataAcc; |
787 m_pDataAcc->GetValue(eParam.m_wsNewText, XFA_VALUEPICTURE_Raw); | 790 m_pDataAcc->GetValue(eParam.m_wsNewText, XFA_VALUEPICTURE_Raw); |
788 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Change, &eParam); | 791 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Change, &eParam); |
789 } | 792 } |
790 | 793 |
791 FWL_ERR CXFA_FFDateTimeEdit::OnProcessEvent(CFWL_Event* pEvent) { | 794 void CXFA_FFDateTimeEdit::OnProcessEvent(CFWL_Event* pEvent) { |
792 if (pEvent->GetClassID() == CFWL_EventType::SelectChanged) { | 795 if (pEvent->GetClassID() == CFWL_EventType::SelectChanged) { |
793 CFWL_Event_DtpSelectChanged* event = (CFWL_Event_DtpSelectChanged*)pEvent; | 796 CFWL_Event_DtpSelectChanged* event = (CFWL_Event_DtpSelectChanged*)pEvent; |
794 OnSelectChanged(m_pNormalWidget->GetWidget(), event->iYear, event->iMonth, | 797 OnSelectChanged(m_pNormalWidget->GetWidget(), event->iYear, event->iMonth, |
795 event->iDay); | 798 event->iDay); |
796 return TRUE; | 799 return; |
797 } | 800 } |
798 return CXFA_FFTextEdit::OnProcessEvent(pEvent); | 801 CXFA_FFTextEdit::OnProcessEvent(pEvent); |
799 } | 802 } |
OLD | NEW |