| 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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Display); | 49 m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Display); |
| 50 pFWLEdit->SetText(wsText); | 50 pFWLEdit->SetText(wsText); |
| 51 m_pNormalWidget->UnlockUpdate(); | 51 m_pNormalWidget->UnlockUpdate(); |
| 52 return CXFA_FFField::LoadWidget(); | 52 return CXFA_FFField::LoadWidget(); |
| 53 } | 53 } |
| 54 void CXFA_FFTextEdit::UpdateWidgetProperty() { | 54 void CXFA_FFTextEdit::UpdateWidgetProperty() { |
| 55 CFWL_Edit* pWidget = (CFWL_Edit*)m_pNormalWidget; | 55 CFWL_Edit* pWidget = (CFWL_Edit*)m_pNormalWidget; |
| 56 if (!pWidget) { | 56 if (!pWidget) { |
| 57 return; | 57 return; |
| 58 } | 58 } |
| 59 FX_DWORD dwStyle = 0; | 59 uint32_t dwStyle = 0; |
| 60 FX_DWORD dwExtendedStyle = FWL_STYLEEXT_EDT_ShowScrollbarFocus | | 60 uint32_t dwExtendedStyle = FWL_STYLEEXT_EDT_ShowScrollbarFocus | |
| 61 FWL_STYLEEXT_EDT_OuterScrollbar | | 61 FWL_STYLEEXT_EDT_OuterScrollbar | |
| 62 FWL_STYLEEXT_EDT_LastLineHeight; | 62 FWL_STYLEEXT_EDT_LastLineHeight; |
| 63 dwExtendedStyle |= UpdateUIProperty(); | 63 dwExtendedStyle |= UpdateUIProperty(); |
| 64 if (m_pDataAcc->IsMultiLine()) { | 64 if (m_pDataAcc->IsMultiLine()) { |
| 65 dwExtendedStyle |= FWL_STYLEEXT_EDT_MultiLine | FWL_STYLEEXT_EDT_WantReturn; | 65 dwExtendedStyle |= FWL_STYLEEXT_EDT_MultiLine | FWL_STYLEEXT_EDT_WantReturn; |
| 66 if (m_pDataAcc->GetVerticalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { | 66 if (m_pDataAcc->GetVerticalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { |
| 67 dwStyle |= FWL_WGTSTYLE_VScroll; | 67 dwStyle |= FWL_WGTSTYLE_VScroll; |
| 68 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoVScroll; | 68 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoVScroll; |
| 69 } | 69 } |
| 70 } else if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { | 70 } else if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 87 } else if (iNumCells > 0) { | 87 } else if (iNumCells > 0) { |
| 88 dwExtendedStyle |= FWL_STYLEEXT_EDT_CombText; | 88 dwExtendedStyle |= FWL_STYLEEXT_EDT_CombText; |
| 89 pWidget->SetLimit(iNumCells); | 89 pWidget->SetLimit(iNumCells); |
| 90 } else { | 90 } else { |
| 91 pWidget->SetLimit(iMaxChars); | 91 pWidget->SetLimit(iMaxChars); |
| 92 } | 92 } |
| 93 dwExtendedStyle |= GetAlignment(); | 93 dwExtendedStyle |= GetAlignment(); |
| 94 m_pNormalWidget->ModifyStyles(dwStyle, 0xFFFFFFFF); | 94 m_pNormalWidget->ModifyStyles(dwStyle, 0xFFFFFFFF); |
| 95 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); | 95 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); |
| 96 } | 96 } |
| 97 FX_BOOL CXFA_FFTextEdit::OnLButtonDown(FX_DWORD dwFlags, | 97 FX_BOOL CXFA_FFTextEdit::OnLButtonDown(uint32_t dwFlags, |
| 98 FX_FLOAT fx, | 98 FX_FLOAT fx, |
| 99 FX_FLOAT fy) { | 99 FX_FLOAT fy) { |
| 100 if (!PtInActiveRect(fx, fy)) { | 100 if (!PtInActiveRect(fx, fy)) { |
| 101 return FALSE; | 101 return FALSE; |
| 102 } | 102 } |
| 103 if (!IsFocused()) { | 103 if (!IsFocused()) { |
| 104 m_dwStatus |= XFA_WIDGETSTATUS_Focused; | 104 m_dwStatus |= XFA_WIDGETSTATUS_Focused; |
| 105 UpdateFWLData(); | 105 UpdateFWLData(); |
| 106 AddInvalidateRect(); | 106 AddInvalidateRect(); |
| 107 } | 107 } |
| 108 SetButtonDown(TRUE); | 108 SetButtonDown(TRUE); |
| 109 CFWL_MsgMouse ms; | 109 CFWL_MsgMouse ms; |
| 110 ms.m_dwCmd = FWL_MSGMOUSECMD_LButtonDown; | 110 ms.m_dwCmd = FWL_MSGMOUSECMD_LButtonDown; |
| 111 ms.m_dwFlags = dwFlags; | 111 ms.m_dwFlags = dwFlags; |
| 112 ms.m_fx = fx; | 112 ms.m_fx = fx; |
| 113 ms.m_fy = fy; | 113 ms.m_fy = fy; |
| 114 ms.m_pDstTarget = m_pNormalWidget->m_pIface; | 114 ms.m_pDstTarget = m_pNormalWidget->m_pIface; |
| 115 FWLToClient(ms.m_fx, ms.m_fy); | 115 FWLToClient(ms.m_fx, ms.m_fy); |
| 116 TranslateFWLMessage(&ms); | 116 TranslateFWLMessage(&ms); |
| 117 return TRUE; | 117 return TRUE; |
| 118 } | 118 } |
| 119 FX_BOOL CXFA_FFTextEdit::OnRButtonDown(FX_DWORD dwFlags, | 119 FX_BOOL CXFA_FFTextEdit::OnRButtonDown(uint32_t dwFlags, |
| 120 FX_FLOAT fx, | 120 FX_FLOAT fx, |
| 121 FX_FLOAT fy) { | 121 FX_FLOAT fy) { |
| 122 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open) { | 122 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open) { |
| 123 return FALSE; | 123 return FALSE; |
| 124 } | 124 } |
| 125 if (!PtInActiveRect(fx, fy)) { | 125 if (!PtInActiveRect(fx, fy)) { |
| 126 return FALSE; | 126 return FALSE; |
| 127 } | 127 } |
| 128 if (!IsFocused()) { | 128 if (!IsFocused()) { |
| 129 m_dwStatus |= XFA_WIDGETSTATUS_Focused; | 129 m_dwStatus |= XFA_WIDGETSTATUS_Focused; |
| 130 UpdateFWLData(); | 130 UpdateFWLData(); |
| 131 AddInvalidateRect(); | 131 AddInvalidateRect(); |
| 132 } | 132 } |
| 133 SetButtonDown(TRUE); | 133 SetButtonDown(TRUE); |
| 134 CFWL_MsgMouse ms; | 134 CFWL_MsgMouse ms; |
| 135 ms.m_dwCmd = FWL_MSGMOUSECMD_RButtonDown; | 135 ms.m_dwCmd = FWL_MSGMOUSECMD_RButtonDown; |
| 136 ms.m_dwFlags = dwFlags; | 136 ms.m_dwFlags = dwFlags; |
| 137 ms.m_fx = fx; | 137 ms.m_fx = fx; |
| 138 ms.m_fy = fy; | 138 ms.m_fy = fy; |
| 139 FWLToClient(ms.m_fx, ms.m_fy); | 139 FWLToClient(ms.m_fx, ms.m_fy); |
| 140 TranslateFWLMessage(&ms); | 140 TranslateFWLMessage(&ms); |
| 141 return TRUE; | 141 return TRUE; |
| 142 } | 142 } |
| 143 FX_BOOL CXFA_FFTextEdit::OnRButtonUp(FX_DWORD dwFlags, | 143 FX_BOOL CXFA_FFTextEdit::OnRButtonUp(uint32_t dwFlags, |
| 144 FX_FLOAT fx, | 144 FX_FLOAT fx, |
| 145 FX_FLOAT fy) { | 145 FX_FLOAT fy) { |
| 146 if (!CXFA_FFField::OnRButtonUp(dwFlags, fx, fy)) | 146 if (!CXFA_FFField::OnRButtonUp(dwFlags, fx, fy)) |
| 147 return FALSE; | 147 return FALSE; |
| 148 | 148 |
| 149 GetDoc()->GetDocProvider()->PopupMenu(this, CFX_PointF(fx, fy), nullptr); | 149 GetDoc()->GetDocProvider()->PopupMenu(this, CFX_PointF(fx, fy), nullptr); |
| 150 return TRUE; | 150 return TRUE; |
| 151 } | 151 } |
| 152 FX_BOOL CXFA_FFTextEdit::OnSetFocus(CXFA_FFWidget* pOldWidget) { | 152 FX_BOOL CXFA_FFTextEdit::OnSetFocus(CXFA_FFWidget* pOldWidget) { |
| 153 m_dwStatus &= ~XFA_WIDGETSTATUS_TextEditValueChanged; | 153 m_dwStatus &= ~XFA_WIDGETSTATUS_TextEditValueChanged; |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 pAcc->GetNode()->GetSOMExpression(wsSomField); | 201 pAcc->GetNode()->GetSOMExpression(wsSomField); |
| 202 wsMessage.Format(wsError, (const FX_WCHAR*)wsText, | 202 wsMessage.Format(wsError, (const FX_WCHAR*)wsText, |
| 203 (const FX_WCHAR*)wsSomField); | 203 (const FX_WCHAR*)wsSomField); |
| 204 pAppProvider->MsgBox(wsMessage, wsTitle, XFA_MBICON_Error, XFA_MB_OK); | 204 pAppProvider->MsgBox(wsMessage, wsTitle, XFA_MBICON_Error, XFA_MB_OK); |
| 205 } | 205 } |
| 206 } | 206 } |
| 207 } | 207 } |
| 208 FX_BOOL CXFA_FFTextEdit::IsDataChanged() { | 208 FX_BOOL CXFA_FFTextEdit::IsDataChanged() { |
| 209 return (m_dwStatus & XFA_WIDGETSTATUS_TextEditValueChanged) != 0; | 209 return (m_dwStatus & XFA_WIDGETSTATUS_TextEditValueChanged) != 0; |
| 210 } | 210 } |
| 211 FX_DWORD CXFA_FFTextEdit::GetAlignment() { | 211 uint32_t CXFA_FFTextEdit::GetAlignment() { |
| 212 FX_DWORD dwExtendedStyle = 0; | 212 uint32_t dwExtendedStyle = 0; |
| 213 if (CXFA_Para para = m_pDataAcc->GetPara()) { | 213 if (CXFA_Para para = m_pDataAcc->GetPara()) { |
| 214 int32_t iHorz = para.GetHorizontalAlign(); | 214 int32_t iHorz = para.GetHorizontalAlign(); |
| 215 switch (iHorz) { | 215 switch (iHorz) { |
| 216 case XFA_ATTRIBUTEENUM_Center: | 216 case XFA_ATTRIBUTEENUM_Center: |
| 217 dwExtendedStyle |= FWL_STYLEEXT_EDT_HCenter; | 217 dwExtendedStyle |= FWL_STYLEEXT_EDT_HCenter; |
| 218 break; | 218 break; |
| 219 case XFA_ATTRIBUTEENUM_Justify: | 219 case XFA_ATTRIBUTEENUM_Justify: |
| 220 dwExtendedStyle |= FWL_STYLEEXT_EDT_Justified; | 220 dwExtendedStyle |= FWL_STYLEEXT_EDT_Justified; |
| 221 break; | 221 break; |
| 222 case XFA_ATTRIBUTEENUM_JustifyAll: | 222 case XFA_ATTRIBUTEENUM_JustifyAll: |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 if (m_pDataAcc->GetUIType() != XFA_ELEMENT_TextEdit) { | 398 if (m_pDataAcc->GetUIType() != XFA_ELEMENT_TextEdit) { |
| 399 return FALSE; | 399 return FALSE; |
| 400 } | 400 } |
| 401 return GetDoc()->GetDocProvider()->GetSuggestWords(GetDoc(), sWord, sSuggest); | 401 return GetDoc()->GetDocProvider()->GetSuggestWords(GetDoc(), sWord, sSuggest); |
| 402 } | 402 } |
| 403 int32_t CXFA_FFTextEdit::OnProcessMessage(CFWL_Message* pMessage) { | 403 int32_t CXFA_FFTextEdit::OnProcessMessage(CFWL_Message* pMessage) { |
| 404 return m_pOldDelegate->OnProcessMessage(pMessage); | 404 return m_pOldDelegate->OnProcessMessage(pMessage); |
| 405 } | 405 } |
| 406 FWL_ERR CXFA_FFTextEdit::OnProcessEvent(CFWL_Event* pEvent) { | 406 FWL_ERR CXFA_FFTextEdit::OnProcessEvent(CFWL_Event* pEvent) { |
| 407 CXFA_FFField::OnProcessEvent(pEvent); | 407 CXFA_FFField::OnProcessEvent(pEvent); |
| 408 FX_DWORD dwEventID = pEvent->GetClassID(); | 408 uint32_t dwEventID = pEvent->GetClassID(); |
| 409 switch (dwEventID) { | 409 switch (dwEventID) { |
| 410 case FWL_EVTHASH_EDT_TextChanged: { | 410 case FWL_EVTHASH_EDT_TextChanged: { |
| 411 CFWL_EvtEdtTextChanged* event = (CFWL_EvtEdtTextChanged*)pEvent; | 411 CFWL_EvtEdtTextChanged* event = (CFWL_EvtEdtTextChanged*)pEvent; |
| 412 CFX_WideString wsChange; | 412 CFX_WideString wsChange; |
| 413 OnTextChanged(m_pNormalWidget->GetWidget(), wsChange, event->wsPrevText); | 413 OnTextChanged(m_pNormalWidget->GetWidget(), wsChange, event->wsPrevText); |
| 414 break; | 414 break; |
| 415 } | 415 } |
| 416 case FWL_EVTHASH_EDT_TextFull: { | 416 case FWL_EVTHASH_EDT_TextFull: { |
| 417 OnTextFull(m_pNormalWidget->GetWidget()); | 417 OnTextFull(m_pNormalWidget->GetWidget()); |
| 418 break; | 418 break; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 pWidget->SetText(wsText); | 456 pWidget->SetText(wsText); |
| 457 UpdateWidgetProperty(); | 457 UpdateWidgetProperty(); |
| 458 m_pNormalWidget->UnlockUpdate(); | 458 m_pNormalWidget->UnlockUpdate(); |
| 459 return CXFA_FFField::LoadWidget(); | 459 return CXFA_FFField::LoadWidget(); |
| 460 } | 460 } |
| 461 void CXFA_FFNumericEdit::UpdateWidgetProperty() { | 461 void CXFA_FFNumericEdit::UpdateWidgetProperty() { |
| 462 CFWL_Edit* pWidget = (CFWL_Edit*)m_pNormalWidget; | 462 CFWL_Edit* pWidget = (CFWL_Edit*)m_pNormalWidget; |
| 463 if (!pWidget) { | 463 if (!pWidget) { |
| 464 return; | 464 return; |
| 465 } | 465 } |
| 466 FX_DWORD dwExtendedStyle = | 466 uint32_t dwExtendedStyle = |
| 467 FWL_STYLEEXT_EDT_ShowScrollbarFocus | FWL_STYLEEXT_EDT_OuterScrollbar | | 467 FWL_STYLEEXT_EDT_ShowScrollbarFocus | FWL_STYLEEXT_EDT_OuterScrollbar | |
| 468 FWL_STYLEEXT_EDT_Validate | FWL_STYLEEXT_EDT_Number | | 468 FWL_STYLEEXT_EDT_Validate | FWL_STYLEEXT_EDT_Number | |
| 469 FWL_STYLEEXT_EDT_LastLineHeight; | 469 FWL_STYLEEXT_EDT_LastLineHeight; |
| 470 dwExtendedStyle |= UpdateUIProperty(); | 470 dwExtendedStyle |= UpdateUIProperty(); |
| 471 if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { | 471 if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { |
| 472 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoHScroll; | 472 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoHScroll; |
| 473 } | 473 } |
| 474 int32_t iNumCells = m_pDataAcc->GetNumberOfCells(); | 474 int32_t iNumCells = m_pDataAcc->GetNumberOfCells(); |
| 475 if (iNumCells > 0) { | 475 if (iNumCells > 0) { |
| 476 dwExtendedStyle |= FWL_STYLEEXT_EDT_CombText; | 476 dwExtendedStyle |= FWL_STYLEEXT_EDT_CombText; |
| 477 pWidget->SetLimit(iNumCells); | 477 pWidget->SetLimit(iNumCells); |
| 478 } | 478 } |
| 479 dwExtendedStyle |= GetAlignment(); | 479 dwExtendedStyle |= GetAlignment(); |
| 480 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || | 480 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || |
| 481 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { | 481 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { |
| 482 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; | 482 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; |
| 483 } | 483 } |
| 484 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); | 484 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); |
| 485 } | 485 } |
| 486 FWL_ERR CXFA_FFNumericEdit::OnProcessEvent(CFWL_Event* pEvent) { | 486 FWL_ERR CXFA_FFNumericEdit::OnProcessEvent(CFWL_Event* pEvent) { |
| 487 FX_DWORD dwEventID = pEvent->GetClassID(); | 487 uint32_t dwEventID = pEvent->GetClassID(); |
| 488 if (dwEventID == FWL_EVTHASH_EDT_Validate) { | 488 if (dwEventID == FWL_EVTHASH_EDT_Validate) { |
| 489 CFWL_EvtEdtValidate* event = (CFWL_EvtEdtValidate*)pEvent; | 489 CFWL_EvtEdtValidate* event = (CFWL_EvtEdtValidate*)pEvent; |
| 490 CFX_WideString wsChange = event->wsInsert; | 490 CFX_WideString wsChange = event->wsInsert; |
| 491 event->bValidate = OnValidate(m_pNormalWidget->GetWidget(), wsChange); | 491 event->bValidate = OnValidate(m_pNormalWidget->GetWidget(), wsChange); |
| 492 return event->bValidate; | 492 return event->bValidate; |
| 493 } else { | 493 } else { |
| 494 return CXFA_FFTextEdit::OnProcessEvent(pEvent); | 494 return CXFA_FFTextEdit::OnProcessEvent(pEvent); |
| 495 } | 495 } |
| 496 } | 496 } |
| 497 FX_BOOL CXFA_FFNumericEdit::OnValidate(IFWL_Widget* pWidget, | 497 FX_BOOL CXFA_FFNumericEdit::OnValidate(IFWL_Widget* pWidget, |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 530 pWidget->SetText(wsText); | 530 pWidget->SetText(wsText); |
| 531 UpdateWidgetProperty(); | 531 UpdateWidgetProperty(); |
| 532 m_pNormalWidget->UnlockUpdate(); | 532 m_pNormalWidget->UnlockUpdate(); |
| 533 return CXFA_FFField::LoadWidget(); | 533 return CXFA_FFField::LoadWidget(); |
| 534 } | 534 } |
| 535 void CXFA_FFPasswordEdit::UpdateWidgetProperty() { | 535 void CXFA_FFPasswordEdit::UpdateWidgetProperty() { |
| 536 CFWL_Edit* pWidget = (CFWL_Edit*)m_pNormalWidget; | 536 CFWL_Edit* pWidget = (CFWL_Edit*)m_pNormalWidget; |
| 537 if (!pWidget) { | 537 if (!pWidget) { |
| 538 return; | 538 return; |
| 539 } | 539 } |
| 540 FX_DWORD dwExtendedStyle = | 540 uint32_t dwExtendedStyle = |
| 541 FWL_STYLEEXT_EDT_ShowScrollbarFocus | FWL_STYLEEXT_EDT_OuterScrollbar | | 541 FWL_STYLEEXT_EDT_ShowScrollbarFocus | FWL_STYLEEXT_EDT_OuterScrollbar | |
| 542 FWL_STYLEEXT_EDT_Password | FWL_STYLEEXT_EDT_LastLineHeight; | 542 FWL_STYLEEXT_EDT_Password | FWL_STYLEEXT_EDT_LastLineHeight; |
| 543 dwExtendedStyle |= UpdateUIProperty(); | 543 dwExtendedStyle |= UpdateUIProperty(); |
| 544 CFX_WideString wsPassWord; | 544 CFX_WideString wsPassWord; |
| 545 m_pDataAcc->GetPasswordChar(wsPassWord); | 545 m_pDataAcc->GetPasswordChar(wsPassWord); |
| 546 if (!wsPassWord.IsEmpty()) { | 546 if (!wsPassWord.IsEmpty()) { |
| 547 pWidget->SetAliasChar(wsPassWord.GetAt(0)); | 547 pWidget->SetAliasChar(wsPassWord.GetAt(0)); |
| 548 } | 548 } |
| 549 if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { | 549 if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { |
| 550 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoHScroll; | 550 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoHScroll; |
| 551 } | 551 } |
| 552 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || | 552 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || |
| 553 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { | 553 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { |
| 554 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; | 554 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; |
| 555 } | 555 } |
| 556 dwExtendedStyle |= GetAlignment(); | 556 dwExtendedStyle |= GetAlignment(); |
| 557 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); | 557 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); |
| 558 } | 558 } |
| 559 CXFA_FFDateTimeEdit::CXFA_FFDateTimeEdit(CXFA_FFPageView* pPageView, | 559 CXFA_FFDateTimeEdit::CXFA_FFDateTimeEdit(CXFA_FFPageView* pPageView, |
| 560 CXFA_WidgetAcc* pDataAcc) | 560 CXFA_WidgetAcc* pDataAcc) |
| 561 : CXFA_FFTextEdit(pPageView, pDataAcc) {} | 561 : CXFA_FFTextEdit(pPageView, pDataAcc) {} |
| 562 | 562 |
| 563 CXFA_FFDateTimeEdit::~CXFA_FFDateTimeEdit() {} | 563 CXFA_FFDateTimeEdit::~CXFA_FFDateTimeEdit() {} |
| 564 | 564 |
| 565 FX_BOOL CXFA_FFDateTimeEdit::GetBBox(CFX_RectF& rtBox, | 565 FX_BOOL CXFA_FFDateTimeEdit::GetBBox(CFX_RectF& rtBox, |
| 566 FX_DWORD dwStatus, | 566 uint32_t dwStatus, |
| 567 FX_BOOL bDrawFocus) { | 567 FX_BOOL bDrawFocus) { |
| 568 if (bDrawFocus) | 568 if (bDrawFocus) |
| 569 return FALSE; | 569 return FALSE; |
| 570 return CXFA_FFWidget::GetBBox(rtBox, dwStatus); | 570 return CXFA_FFWidget::GetBBox(rtBox, dwStatus); |
| 571 } | 571 } |
| 572 | 572 |
| 573 FX_BOOL CXFA_FFDateTimeEdit::PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy) { | 573 FX_BOOL CXFA_FFDateTimeEdit::PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy) { |
| 574 if (!m_pNormalWidget) { | 574 if (!m_pNormalWidget) { |
| 575 return FALSE; | 575 return FALSE; |
| 576 } | 576 } |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 611 } | 611 } |
| 612 UpdateWidgetProperty(); | 612 UpdateWidgetProperty(); |
| 613 m_pNormalWidget->UnlockUpdate(); | 613 m_pNormalWidget->UnlockUpdate(); |
| 614 return CXFA_FFField::LoadWidget(); | 614 return CXFA_FFField::LoadWidget(); |
| 615 } | 615 } |
| 616 void CXFA_FFDateTimeEdit::UpdateWidgetProperty() { | 616 void CXFA_FFDateTimeEdit::UpdateWidgetProperty() { |
| 617 CFWL_DateTimePicker* pWidget = (CFWL_DateTimePicker*)m_pNormalWidget; | 617 CFWL_DateTimePicker* pWidget = (CFWL_DateTimePicker*)m_pNormalWidget; |
| 618 if (!pWidget) { | 618 if (!pWidget) { |
| 619 return; | 619 return; |
| 620 } | 620 } |
| 621 FX_DWORD dwExtendedStyle = FWL_STYLEEXT_DTP_ShortDateFormat; | 621 uint32_t dwExtendedStyle = FWL_STYLEEXT_DTP_ShortDateFormat; |
| 622 dwExtendedStyle |= UpdateUIProperty(); | 622 dwExtendedStyle |= UpdateUIProperty(); |
| 623 dwExtendedStyle |= GetAlignment(); | 623 dwExtendedStyle |= GetAlignment(); |
| 624 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); | 624 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); |
| 625 FX_DWORD dwEditStyles = FWL_STYLEEXT_EDT_LastLineHeight; | 625 uint32_t dwEditStyles = FWL_STYLEEXT_EDT_LastLineHeight; |
| 626 int32_t iNumCells = m_pDataAcc->GetNumberOfCells(); | 626 int32_t iNumCells = m_pDataAcc->GetNumberOfCells(); |
| 627 if (iNumCells > 0) { | 627 if (iNumCells > 0) { |
| 628 dwEditStyles |= FWL_STYLEEXT_EDT_CombText; | 628 dwEditStyles |= FWL_STYLEEXT_EDT_CombText; |
| 629 pWidget->SetEditLimit(iNumCells); | 629 pWidget->SetEditLimit(iNumCells); |
| 630 } | 630 } |
| 631 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || | 631 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || |
| 632 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { | 632 !m_pDataAcc->GetDoc()->GetXFADoc()->IsInteractive()) { |
| 633 dwEditStyles |= FWL_STYLEEXT_EDT_ReadOnly; | 633 dwEditStyles |= FWL_STYLEEXT_EDT_ReadOnly; |
| 634 } | 634 } |
| 635 if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { | 635 if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { |
| 636 dwEditStyles |= FWL_STYLEEXT_EDT_AutoHScroll; | 636 dwEditStyles |= FWL_STYLEEXT_EDT_AutoHScroll; |
| 637 } | 637 } |
| 638 pWidget->ModifyEditStylesEx(dwEditStyles, 0xFFFFFFFF); | 638 pWidget->ModifyEditStylesEx(dwEditStyles, 0xFFFFFFFF); |
| 639 } | 639 } |
| 640 FX_DWORD CXFA_FFDateTimeEdit::GetAlignment() { | 640 uint32_t CXFA_FFDateTimeEdit::GetAlignment() { |
| 641 FX_DWORD dwExtendedStyle = 0; | 641 uint32_t dwExtendedStyle = 0; |
| 642 if (CXFA_Para para = m_pDataAcc->GetPara()) { | 642 if (CXFA_Para para = m_pDataAcc->GetPara()) { |
| 643 int32_t iHorz = para.GetHorizontalAlign(); | 643 int32_t iHorz = para.GetHorizontalAlign(); |
| 644 switch (iHorz) { | 644 switch (iHorz) { |
| 645 case XFA_ATTRIBUTEENUM_Center: | 645 case XFA_ATTRIBUTEENUM_Center: |
| 646 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditHCenter; | 646 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditHCenter; |
| 647 break; | 647 break; |
| 648 case XFA_ATTRIBUTEENUM_Justify: | 648 case XFA_ATTRIBUTEENUM_Justify: |
| 649 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditJustified; | 649 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditJustified; |
| 650 break; | 650 break; |
| 651 case XFA_ATTRIBUTEENUM_JustifyAll: | 651 case XFA_ATTRIBUTEENUM_JustifyAll: |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 779 pDateTime->SetEditText(wsDate); | 779 pDateTime->SetEditText(wsDate); |
| 780 pDateTime->Update(); | 780 pDateTime->Update(); |
| 781 GetDoc()->GetDocProvider()->SetFocusWidget(GetDoc(), NULL); | 781 GetDoc()->GetDocProvider()->SetFocusWidget(GetDoc(), NULL); |
| 782 CXFA_EventParam eParam; | 782 CXFA_EventParam eParam; |
| 783 eParam.m_eType = XFA_EVENT_Change; | 783 eParam.m_eType = XFA_EVENT_Change; |
| 784 eParam.m_pTarget = m_pDataAcc; | 784 eParam.m_pTarget = m_pDataAcc; |
| 785 m_pDataAcc->GetValue(eParam.m_wsNewText, XFA_VALUEPICTURE_Raw); | 785 m_pDataAcc->GetValue(eParam.m_wsNewText, XFA_VALUEPICTURE_Raw); |
| 786 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Change, &eParam); | 786 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Change, &eParam); |
| 787 } | 787 } |
| 788 FWL_ERR CXFA_FFDateTimeEdit::OnProcessEvent(CFWL_Event* pEvent) { | 788 FWL_ERR CXFA_FFDateTimeEdit::OnProcessEvent(CFWL_Event* pEvent) { |
| 789 FX_DWORD dwEventID = pEvent->GetClassID(); | 789 uint32_t dwEventID = pEvent->GetClassID(); |
| 790 if (dwEventID == FWL_EVTHASH_DTP_SelectChanged) { | 790 if (dwEventID == FWL_EVTHASH_DTP_SelectChanged) { |
| 791 CFWL_Event_DtpSelectChanged* event = (CFWL_Event_DtpSelectChanged*)pEvent; | 791 CFWL_Event_DtpSelectChanged* event = (CFWL_Event_DtpSelectChanged*)pEvent; |
| 792 OnSelectChanged(m_pNormalWidget->GetWidget(), event->iYear, event->iMonth, | 792 OnSelectChanged(m_pNormalWidget->GetWidget(), event->iYear, event->iMonth, |
| 793 event->iDay); | 793 event->iDay); |
| 794 return TRUE; | 794 return TRUE; |
| 795 } else { | 795 } else { |
| 796 return CXFA_FFTextEdit::OnProcessEvent(pEvent); | 796 return CXFA_FFTextEdit::OnProcessEvent(pEvent); |
| 797 } | 797 } |
| 798 } | 798 } |
| OLD | NEW |