| 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 |
| 11 #include "third_party/base/ptr_util.h" |
| 11 #include "xfa/fwl/core/cfwl_datetimepicker.h" | 12 #include "xfa/fwl/core/cfwl_datetimepicker.h" |
| 12 #include "xfa/fwl/core/cfwl_edit.h" | 13 #include "xfa/fwl/core/cfwl_edit.h" |
| 13 #include "xfa/fwl/core/cfwl_message.h" | 14 #include "xfa/fwl/core/cfwl_message.h" |
| 14 #include "xfa/fwl/core/fwl_noteimp.h" | 15 #include "xfa/fwl/core/fwl_noteimp.h" |
| 15 #include "xfa/fwl/core/ifwl_edit.h" | 16 #include "xfa/fwl/core/ifwl_edit.h" |
| 17 #include "xfa/fxfa/app/cxfa_ffdatetimeeditdelegate.h" |
| 18 #include "xfa/fxfa/app/cxfa_ffnumericeditdelegate.h" |
| 19 #include "xfa/fxfa/app/cxfa_fftexteditdelegate.h" |
| 16 #include "xfa/fxfa/app/xfa_fffield.h" | 20 #include "xfa/fxfa/app/xfa_fffield.h" |
| 17 #include "xfa/fxfa/app/xfa_fwladapter.h" | 21 #include "xfa/fxfa/app/xfa_fwladapter.h" |
| 18 #include "xfa/fxfa/app/xfa_textlayout.h" | 22 #include "xfa/fxfa/app/xfa_textlayout.h" |
| 19 #include "xfa/fxfa/cxfa_eventparam.h" | 23 #include "xfa/fxfa/cxfa_eventparam.h" |
| 20 #include "xfa/fxfa/parser/xfa_localevalue.h" | 24 #include "xfa/fxfa/parser/xfa_localevalue.h" |
| 21 #include "xfa/fxfa/xfa_ffapp.h" | 25 #include "xfa/fxfa/xfa_ffapp.h" |
| 22 #include "xfa/fxfa/xfa_ffdoc.h" | 26 #include "xfa/fxfa/xfa_ffdoc.h" |
| 23 #include "xfa/fxfa/xfa_ffdocview.h" | 27 #include "xfa/fxfa/xfa_ffdocview.h" |
| 24 #include "xfa/fxfa/xfa_ffpageview.h" | 28 #include "xfa/fxfa/xfa_ffpageview.h" |
| 25 #include "xfa/fxfa/xfa_ffwidget.h" | 29 #include "xfa/fxfa/xfa_ffwidget.h" |
| 26 | 30 |
| 27 CXFA_FFTextEdit::CXFA_FFTextEdit(CXFA_FFPageView* pPageView, | 31 CXFA_FFTextEdit::CXFA_FFTextEdit(CXFA_FFPageView* pPageView, |
| 28 CXFA_WidgetAcc* pDataAcc) | 32 CXFA_WidgetAcc* pDataAcc) |
| 29 : CXFA_FFField(pPageView, pDataAcc), m_pOldDelegate(nullptr) {} | 33 : CXFA_FFField(pPageView, pDataAcc) {} |
| 30 | 34 |
| 31 CXFA_FFTextEdit::~CXFA_FFTextEdit() { | 35 CXFA_FFTextEdit::~CXFA_FFTextEdit() { |
| 32 if (m_pNormalWidget) { | 36 if (m_pNormalWidget) { |
| 33 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); | 37 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); |
| 34 CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver(); | 38 CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver(); |
| 35 pNoteDriver->UnregisterEventTarget(pWidget); | 39 pNoteDriver->UnregisterEventTarget(pWidget); |
| 36 } | 40 } |
| 37 } | 41 } |
| 38 | 42 |
| 39 FX_BOOL CXFA_FFTextEdit::LoadWidget() { | 43 FX_BOOL CXFA_FFTextEdit::LoadWidget() { |
| 40 CFWL_Edit* pFWLEdit = new CFWL_Edit(GetFWLApp()); | 44 CFWL_Edit* pFWLEdit = new CFWL_Edit(GetFWLApp()); |
| 41 pFWLEdit->Initialize(); | 45 pFWLEdit->Initialize(); |
| 42 m_pNormalWidget = pFWLEdit; | 46 m_pNormalWidget = pFWLEdit; |
| 43 m_pNormalWidget->SetLayoutItem(this); | 47 m_pNormalWidget->SetLayoutItem(this); |
| 44 | 48 |
| 45 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); | 49 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); |
| 46 CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver(); | 50 CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver(); |
| 47 pNoteDriver->RegisterEventTarget(pWidget, pWidget); | 51 pNoteDriver->RegisterEventTarget(pWidget, pWidget); |
| 48 | 52 |
| 49 m_pOldDelegate = m_pNormalWidget->GetCurrentDelegate(); | 53 m_pNormalWidget->SetDelegate(pdfium::MakeUnique<CXFA_FFTextEditDelegate>( |
| 50 m_pNormalWidget->SetCurrentDelegate(this); | 54 m_pNormalWidget->ReleaseDelegate(), this)); |
| 51 m_pNormalWidget->LockUpdate(); | 55 m_pNormalWidget->LockUpdate(); |
| 52 | 56 |
| 53 UpdateWidgetProperty(); | 57 UpdateWidgetProperty(); |
| 54 CFX_WideString wsText; | 58 CFX_WideString wsText; |
| 55 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Display); | 59 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Display); |
| 56 pFWLEdit->SetText(wsText); | 60 pFWLEdit->SetText(wsText); |
| 57 m_pNormalWidget->UnlockUpdate(); | 61 m_pNormalWidget->UnlockUpdate(); |
| 58 return CXFA_FFField::LoadWidget(); | 62 return CXFA_FFField::LoadWidget(); |
| 59 } | 63 } |
| 60 void CXFA_FFTextEdit::UpdateWidgetProperty() { | 64 void CXFA_FFTextEdit::UpdateWidgetProperty() { |
| (...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 391 eParam.m_pTarget = m_pDataAcc; | 395 eParam.m_pTarget = m_pDataAcc; |
| 392 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Full, &eParam); | 396 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Full, &eParam); |
| 393 } | 397 } |
| 394 | 398 |
| 395 FX_BOOL CXFA_FFTextEdit::CheckWord(const CFX_ByteStringC& sWord) { | 399 FX_BOOL CXFA_FFTextEdit::CheckWord(const CFX_ByteStringC& sWord) { |
| 396 if (sWord.IsEmpty() || m_pDataAcc->GetUIType() != XFA_Element::TextEdit) | 400 if (sWord.IsEmpty() || m_pDataAcc->GetUIType() != XFA_Element::TextEdit) |
| 397 return TRUE; | 401 return TRUE; |
| 398 return FALSE; | 402 return FALSE; |
| 399 } | 403 } |
| 400 | 404 |
| 401 void CXFA_FFTextEdit::OnProcessMessage(CFWL_Message* pMessage) { | |
| 402 m_pOldDelegate->OnProcessMessage(pMessage); | |
| 403 } | |
| 404 | |
| 405 void CXFA_FFTextEdit::OnProcessEvent(CFWL_Event* pEvent) { | |
| 406 CXFA_FFField::OnProcessEvent(pEvent); | |
| 407 switch (pEvent->GetClassID()) { | |
| 408 case CFWL_EventType::TextChanged: { | |
| 409 CFWL_EvtEdtTextChanged* event = (CFWL_EvtEdtTextChanged*)pEvent; | |
| 410 CFX_WideString wsChange; | |
| 411 OnTextChanged(m_pNormalWidget->GetWidget(), wsChange, event->wsPrevText); | |
| 412 break; | |
| 413 } | |
| 414 case CFWL_EventType::TextFull: { | |
| 415 OnTextFull(m_pNormalWidget->GetWidget()); | |
| 416 break; | |
| 417 } | |
| 418 case CFWL_EventType::CheckWord: { | |
| 419 CFX_WideString wstr(L"FWL_EVENT_DTP_SelectChanged"); | |
| 420 CFWL_EvtEdtCheckWord* event = (CFWL_EvtEdtCheckWord*)pEvent; | |
| 421 event->bCheckWord = CheckWord(event->bsWord.AsStringC()); | |
| 422 break; | |
| 423 } | |
| 424 case CFWL_EventType::GetSuggestedWords: { | |
| 425 CFWL_EvtEdtGetSuggestWords* event = (CFWL_EvtEdtGetSuggestWords*)pEvent; | |
| 426 event->bSuggestWords = FALSE; | |
| 427 break; | |
| 428 } | |
| 429 default: | |
| 430 break; | |
| 431 } | |
| 432 m_pOldDelegate->OnProcessEvent(pEvent); | |
| 433 } | |
| 434 | |
| 435 void CXFA_FFTextEdit::OnDrawWidget(CFX_Graphics* pGraphics, | |
| 436 const CFX_Matrix* pMatrix) { | |
| 437 m_pOldDelegate->OnDrawWidget(pGraphics, pMatrix); | |
| 438 } | |
| 439 | |
| 440 CXFA_FFNumericEdit::CXFA_FFNumericEdit(CXFA_FFPageView* pPageView, | 405 CXFA_FFNumericEdit::CXFA_FFNumericEdit(CXFA_FFPageView* pPageView, |
| 441 CXFA_WidgetAcc* pDataAcc) | 406 CXFA_WidgetAcc* pDataAcc) |
| 442 : CXFA_FFTextEdit(pPageView, pDataAcc) {} | 407 : CXFA_FFTextEdit(pPageView, pDataAcc) {} |
| 408 |
| 443 CXFA_FFNumericEdit::~CXFA_FFNumericEdit() {} | 409 CXFA_FFNumericEdit::~CXFA_FFNumericEdit() {} |
| 410 |
| 444 FX_BOOL CXFA_FFNumericEdit::LoadWidget() { | 411 FX_BOOL CXFA_FFNumericEdit::LoadWidget() { |
| 445 CFWL_Edit* pWidget = new CFWL_Edit(GetFWLApp()); | 412 CFWL_Edit* pWidget = new CFWL_Edit(GetFWLApp()); |
| 446 pWidget->Initialize(); | 413 pWidget->Initialize(); |
| 447 m_pNormalWidget = pWidget; | 414 m_pNormalWidget = pWidget; |
| 448 | 415 |
| 449 IFWL_Widget* pIWidget = m_pNormalWidget->GetWidget(); | 416 IFWL_Widget* pIWidget = m_pNormalWidget->GetWidget(); |
| 450 m_pNormalWidget->SetLayoutItem(this); | 417 m_pNormalWidget->SetLayoutItem(this); |
| 451 CFWL_NoteDriver* pNoteDriver = pIWidget->GetOwnerApp()->GetNoteDriver(); | 418 CFWL_NoteDriver* pNoteDriver = pIWidget->GetOwnerApp()->GetNoteDriver(); |
| 452 pNoteDriver->RegisterEventTarget(pIWidget, pIWidget); | 419 pNoteDriver->RegisterEventTarget(pIWidget, pIWidget); |
| 453 | 420 |
| 454 m_pOldDelegate = m_pNormalWidget->GetCurrentDelegate(); | 421 m_pNormalWidget->SetDelegate(pdfium::MakeUnique<CXFA_FFNumericEditDelegate>( |
| 455 m_pNormalWidget->SetCurrentDelegate(this); | 422 m_pNormalWidget->ReleaseDelegate(), this)); |
| 456 m_pNormalWidget->LockUpdate(); | 423 m_pNormalWidget->LockUpdate(); |
| 457 | 424 |
| 458 CFX_WideString wsText; | 425 CFX_WideString wsText; |
| 459 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Display); | 426 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Display); |
| 460 pWidget->SetText(wsText); | 427 pWidget->SetText(wsText); |
| 461 UpdateWidgetProperty(); | 428 UpdateWidgetProperty(); |
| 462 m_pNormalWidget->UnlockUpdate(); | 429 m_pNormalWidget->UnlockUpdate(); |
| 463 return CXFA_FFField::LoadWidget(); | 430 return CXFA_FFField::LoadWidget(); |
| 464 } | 431 } |
| 465 void CXFA_FFNumericEdit::UpdateWidgetProperty() { | 432 void CXFA_FFNumericEdit::UpdateWidgetProperty() { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 481 pWidget->SetLimit(iNumCells); | 448 pWidget->SetLimit(iNumCells); |
| 482 } | 449 } |
| 483 dwExtendedStyle |= GetAlignment(); | 450 dwExtendedStyle |= GetAlignment(); |
| 484 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || | 451 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || |
| 485 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { | 452 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { |
| 486 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; | 453 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; |
| 487 } | 454 } |
| 488 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); | 455 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); |
| 489 } | 456 } |
| 490 | 457 |
| 491 void CXFA_FFNumericEdit::OnProcessEvent(CFWL_Event* pEvent) { | |
| 492 if (pEvent->GetClassID() == CFWL_EventType::Validate) { | |
| 493 CFWL_EvtEdtValidate* event = (CFWL_EvtEdtValidate*)pEvent; | |
| 494 CFX_WideString wsChange = event->wsInsert; | |
| 495 event->bValidate = OnValidate(m_pNormalWidget->GetWidget(), wsChange); | |
| 496 return; | |
| 497 } | |
| 498 CXFA_FFTextEdit::OnProcessEvent(pEvent); | |
| 499 } | |
| 500 | |
| 501 FX_BOOL CXFA_FFNumericEdit::OnValidate(IFWL_Widget* pWidget, | 458 FX_BOOL CXFA_FFNumericEdit::OnValidate(IFWL_Widget* pWidget, |
| 502 CFX_WideString& wsText) { | 459 CFX_WideString& wsText) { |
| 503 CFX_WideString wsPattern; | 460 CFX_WideString wsPattern; |
| 504 m_pDataAcc->GetPictureContent(wsPattern, XFA_VALUEPICTURE_Edit); | 461 m_pDataAcc->GetPictureContent(wsPattern, XFA_VALUEPICTURE_Edit); |
| 505 if (!wsPattern.IsEmpty()) { | 462 if (!wsPattern.IsEmpty()) { |
| 506 return TRUE; | 463 return TRUE; |
| 507 } | 464 } |
| 508 int32_t iLeads = 0; | 465 int32_t iLeads = 0; |
| 509 m_pDataAcc->GetLeadDigits(iLeads); | 466 m_pDataAcc->GetLeadDigits(iLeads); |
| 510 int32_t iFracs = 0; | 467 int32_t iFracs = 0; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 524 FX_BOOL CXFA_FFPasswordEdit::LoadWidget() { | 481 FX_BOOL CXFA_FFPasswordEdit::LoadWidget() { |
| 525 CFWL_Edit* pWidget = new CFWL_Edit(GetFWLApp()); | 482 CFWL_Edit* pWidget = new CFWL_Edit(GetFWLApp()); |
| 526 pWidget->Initialize(); | 483 pWidget->Initialize(); |
| 527 m_pNormalWidget = pWidget; | 484 m_pNormalWidget = pWidget; |
| 528 m_pNormalWidget->SetLayoutItem(this); | 485 m_pNormalWidget->SetLayoutItem(this); |
| 529 | 486 |
| 530 IFWL_Widget* pIWidget = m_pNormalWidget->GetWidget(); | 487 IFWL_Widget* pIWidget = m_pNormalWidget->GetWidget(); |
| 531 CFWL_NoteDriver* pNoteDriver = pIWidget->GetOwnerApp()->GetNoteDriver(); | 488 CFWL_NoteDriver* pNoteDriver = pIWidget->GetOwnerApp()->GetNoteDriver(); |
| 532 pNoteDriver->RegisterEventTarget(pIWidget, pIWidget); | 489 pNoteDriver->RegisterEventTarget(pIWidget, pIWidget); |
| 533 | 490 |
| 534 m_pOldDelegate = m_pNormalWidget->GetCurrentDelegate(); | 491 m_pNormalWidget->SetDelegate(pdfium::MakeUnique<CXFA_FFTextEditDelegate>( |
| 535 m_pNormalWidget->SetCurrentDelegate(this); | 492 m_pNormalWidget->ReleaseDelegate(), this)); |
| 536 m_pNormalWidget->LockUpdate(); | 493 m_pNormalWidget->LockUpdate(); |
| 537 | 494 |
| 538 CFX_WideString wsText; | 495 CFX_WideString wsText; |
| 539 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Display); | 496 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Display); |
| 540 pWidget->SetText(wsText); | 497 pWidget->SetText(wsText); |
| 541 UpdateWidgetProperty(); | 498 UpdateWidgetProperty(); |
| 542 m_pNormalWidget->UnlockUpdate(); | 499 m_pNormalWidget->UnlockUpdate(); |
| 543 return CXFA_FFField::LoadWidget(); | 500 return CXFA_FFField::LoadWidget(); |
| 544 } | 501 } |
| 545 void CXFA_FFPasswordEdit::UpdateWidgetProperty() { | 502 void CXFA_FFPasswordEdit::UpdateWidgetProperty() { |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 } | 550 } |
| 594 FX_BOOL CXFA_FFDateTimeEdit::LoadWidget() { | 551 FX_BOOL CXFA_FFDateTimeEdit::LoadWidget() { |
| 595 CFWL_DateTimePicker* pWidget = new CFWL_DateTimePicker(GetFWLApp()); | 552 CFWL_DateTimePicker* pWidget = new CFWL_DateTimePicker(GetFWLApp()); |
| 596 pWidget->Initialize(); | 553 pWidget->Initialize(); |
| 597 m_pNormalWidget = pWidget; | 554 m_pNormalWidget = pWidget; |
| 598 m_pNormalWidget->SetLayoutItem(this); | 555 m_pNormalWidget->SetLayoutItem(this); |
| 599 IFWL_Widget* pIWidget = m_pNormalWidget->GetWidget(); | 556 IFWL_Widget* pIWidget = m_pNormalWidget->GetWidget(); |
| 600 CFWL_NoteDriver* pNoteDriver = pIWidget->GetOwnerApp()->GetNoteDriver(); | 557 CFWL_NoteDriver* pNoteDriver = pIWidget->GetOwnerApp()->GetNoteDriver(); |
| 601 pNoteDriver->RegisterEventTarget(pIWidget, pIWidget); | 558 pNoteDriver->RegisterEventTarget(pIWidget, pIWidget); |
| 602 | 559 |
| 603 m_pOldDelegate = m_pNormalWidget->GetCurrentDelegate(); | 560 m_pNormalWidget->SetDelegate(pdfium::MakeUnique<CXFA_FFDateTimeEditDelegate>( |
| 604 m_pNormalWidget->SetCurrentDelegate(this); | 561 m_pNormalWidget->ReleaseDelegate(), this)); |
| 605 m_pNormalWidget->LockUpdate(); | 562 m_pNormalWidget->LockUpdate(); |
| 606 | 563 |
| 607 CFX_WideString wsText; | 564 CFX_WideString wsText; |
| 608 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Display); | 565 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Display); |
| 609 pWidget->SetEditText(wsText); | 566 pWidget->SetEditText(wsText); |
| 610 if (CXFA_Value value = m_pDataAcc->GetFormValue()) { | 567 if (CXFA_Value value = m_pDataAcc->GetFormValue()) { |
| 611 switch (value.GetChildValueClassID()) { | 568 switch (value.GetChildValueClassID()) { |
| 612 case XFA_Element::Date: { | 569 case XFA_Element::Date: { |
| 613 if (!wsText.IsEmpty()) { | 570 if (!wsText.IsEmpty()) { |
| 614 CXFA_LocaleValue lcValue = XFA_GetLocaleValue(m_pDataAcc); | 571 CXFA_LocaleValue lcValue = XFA_GetLocaleValue(m_pDataAcc); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 791 CFWL_DateTimePicker* pDateTime = (CFWL_DateTimePicker*)m_pNormalWidget; | 748 CFWL_DateTimePicker* pDateTime = (CFWL_DateTimePicker*)m_pNormalWidget; |
| 792 pDateTime->SetEditText(wsDate); | 749 pDateTime->SetEditText(wsDate); |
| 793 pDateTime->Update(); | 750 pDateTime->Update(); |
| 794 GetDoc()->GetDocEnvironment()->SetFocusWidget(GetDoc(), nullptr); | 751 GetDoc()->GetDocEnvironment()->SetFocusWidget(GetDoc(), nullptr); |
| 795 CXFA_EventParam eParam; | 752 CXFA_EventParam eParam; |
| 796 eParam.m_eType = XFA_EVENT_Change; | 753 eParam.m_eType = XFA_EVENT_Change; |
| 797 eParam.m_pTarget = m_pDataAcc; | 754 eParam.m_pTarget = m_pDataAcc; |
| 798 m_pDataAcc->GetValue(eParam.m_wsNewText, XFA_VALUEPICTURE_Raw); | 755 m_pDataAcc->GetValue(eParam.m_wsNewText, XFA_VALUEPICTURE_Raw); |
| 799 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Change, &eParam); | 756 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Change, &eParam); |
| 800 } | 757 } |
| 801 | |
| 802 void CXFA_FFDateTimeEdit::OnProcessEvent(CFWL_Event* pEvent) { | |
| 803 if (pEvent->GetClassID() == CFWL_EventType::SelectChanged) { | |
| 804 CFWL_Event_DtpSelectChanged* event = (CFWL_Event_DtpSelectChanged*)pEvent; | |
| 805 OnSelectChanged(m_pNormalWidget->GetWidget(), event->iYear, event->iMonth, | |
| 806 event->iDay); | |
| 807 return; | |
| 808 } | |
| 809 CXFA_FFTextEdit::OnProcessEvent(pEvent); | |
| 810 } | |
| OLD | NEW |