| 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 "../../../foxitlib.h" | 7 #include "../../../foxitlib.h" |
| 8 #include "../common/xfa_common.h" | 8 #include "../common/xfa_common.h" |
| 9 #include "xfa_fwladapter.h" | 9 #include "xfa_fwladapter.h" |
| 10 #include "xfa_ffwidget.h" | 10 #include "xfa_ffwidget.h" |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoVScroll; | 62 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoVScroll; |
| 63 } | 63 } |
| 64 } else if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off)
{ | 64 } else if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off)
{ |
| 65 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoHScroll; | 65 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoHScroll; |
| 66 } | 66 } |
| 67 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || !m_pDataAcc->GetDoc
()->GetXFADoc()->IsInteractive()) { | 67 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || !m_pDataAcc->GetDoc
()->GetXFADoc()->IsInteractive()) { |
| 68 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; | 68 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; |
| 69 dwExtendedStyle |= FWL_STYLEEXT_EDT_MultiLine; | 69 dwExtendedStyle |= FWL_STYLEEXT_EDT_MultiLine; |
| 70 } | 70 } |
| 71 XFA_ELEMENT eType = XFA_ELEMENT_UNKNOWN; | 71 XFA_ELEMENT eType = XFA_ELEMENT_UNKNOWN; |
| 72 FX_INT32 iMaxChars = m_pDataAcc->GetMaxChars(eType); | 72 int32_t iMaxChars = m_pDataAcc->GetMaxChars(eType); |
| 73 if (eType == XFA_ELEMENT_ExData) { | 73 if (eType == XFA_ELEMENT_ExData) { |
| 74 iMaxChars = 0; | 74 iMaxChars = 0; |
| 75 } | 75 } |
| 76 FX_INT32 iNumCells = m_pDataAcc->GetNumberOfCells(); | 76 int32_t iNumCells = m_pDataAcc->GetNumberOfCells(); |
| 77 if (iNumCells == 0) { | 77 if (iNumCells == 0) { |
| 78 dwExtendedStyle |= FWL_STYLEEXT_EDT_CombText; | 78 dwExtendedStyle |= FWL_STYLEEXT_EDT_CombText; |
| 79 pWidget->SetLimit(iMaxChars > 0 ? iMaxChars : 1); | 79 pWidget->SetLimit(iMaxChars > 0 ? iMaxChars : 1); |
| 80 } else if (iNumCells > 0) { | 80 } else if (iNumCells > 0) { |
| 81 dwExtendedStyle |= FWL_STYLEEXT_EDT_CombText; | 81 dwExtendedStyle |= FWL_STYLEEXT_EDT_CombText; |
| 82 pWidget->SetLimit(iNumCells); | 82 pWidget->SetLimit(iNumCells); |
| 83 } else { | 83 } else { |
| 84 pWidget->SetLimit(iMaxChars); | 84 pWidget->SetLimit(iMaxChars); |
| 85 } | 85 } |
| 86 dwExtendedStyle |= GetAlignment(); | 86 dwExtendedStyle |= GetAlignment(); |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 } | 201 } |
| 202 } | 202 } |
| 203 FX_BOOL CXFA_FFTextEdit::IsDataChanged() | 203 FX_BOOL CXFA_FFTextEdit::IsDataChanged() |
| 204 { | 204 { |
| 205 return (m_dwStatus & XFA_WIDGETSTATUS_TextEditValueChanged) != 0; | 205 return (m_dwStatus & XFA_WIDGETSTATUS_TextEditValueChanged) != 0; |
| 206 } | 206 } |
| 207 FX_DWORD CXFA_FFTextEdit::GetAlignment() | 207 FX_DWORD CXFA_FFTextEdit::GetAlignment() |
| 208 { | 208 { |
| 209 FX_DWORD dwExtendedStyle = 0; | 209 FX_DWORD dwExtendedStyle = 0; |
| 210 if (CXFA_Para para = m_pDataAcc->GetPara()) { | 210 if (CXFA_Para para = m_pDataAcc->GetPara()) { |
| 211 FX_INT32 iHorz = para.GetHorizontalAlign(); | 211 int32_t iHorz = para.GetHorizontalAlign(); |
| 212 switch(iHorz) { | 212 switch(iHorz) { |
| 213 case XFA_ATTRIBUTEENUM_Center: | 213 case XFA_ATTRIBUTEENUM_Center: |
| 214 dwExtendedStyle |= FWL_STYLEEXT_EDT_HCenter; | 214 dwExtendedStyle |= FWL_STYLEEXT_EDT_HCenter; |
| 215 break; | 215 break; |
| 216 case XFA_ATTRIBUTEENUM_Justify: | 216 case XFA_ATTRIBUTEENUM_Justify: |
| 217 dwExtendedStyle |= FWL_STYLEEXT_EDT_Justified; | 217 dwExtendedStyle |= FWL_STYLEEXT_EDT_Justified; |
| 218 break; | 218 break; |
| 219 case XFA_ATTRIBUTEENUM_JustifyAll: | 219 case XFA_ATTRIBUTEENUM_JustifyAll: |
| 220 break; | 220 break; |
| 221 case XFA_ATTRIBUTEENUM_Radix: | 221 case XFA_ATTRIBUTEENUM_Radix: |
| 222 break; | 222 break; |
| 223 case XFA_ATTRIBUTEENUM_Right: | 223 case XFA_ATTRIBUTEENUM_Right: |
| 224 dwExtendedStyle |= FWL_STYLEEXT_EDT_HFar; | 224 dwExtendedStyle |= FWL_STYLEEXT_EDT_HFar; |
| 225 break; | 225 break; |
| 226 default: | 226 default: |
| 227 dwExtendedStyle |= FWL_STYLEEXT_EDT_HNear; | 227 dwExtendedStyle |= FWL_STYLEEXT_EDT_HNear; |
| 228 break; | 228 break; |
| 229 } | 229 } |
| 230 FX_INT32 iVert = para.GetVerticalAlign(); | 230 int32_t iVert = para.GetVerticalAlign(); |
| 231 switch(iVert) { | 231 switch(iVert) { |
| 232 case XFA_ATTRIBUTEENUM_Middle: | 232 case XFA_ATTRIBUTEENUM_Middle: |
| 233 dwExtendedStyle |= FWL_STYLEEXT_EDT_VCenter; | 233 dwExtendedStyle |= FWL_STYLEEXT_EDT_VCenter; |
| 234 break; | 234 break; |
| 235 case XFA_ATTRIBUTEENUM_Bottom: | 235 case XFA_ATTRIBUTEENUM_Bottom: |
| 236 dwExtendedStyle |= FWL_STYLEEXT_EDT_VFar; | 236 dwExtendedStyle |= FWL_STYLEEXT_EDT_VFar; |
| 237 break; | 237 break; |
| 238 default: | 238 default: |
| 239 dwExtendedStyle |= FWL_STYLEEXT_EDT_VNear; | 239 dwExtendedStyle |= FWL_STYLEEXT_EDT_VNear; |
| 240 break; | 240 break; |
| 241 } | 241 } |
| 242 } | 242 } |
| 243 return dwExtendedStyle; | 243 return dwExtendedStyle; |
| 244 } | 244 } |
| 245 FX_BOOL CXFA_FFTextEdit::UpdateFWLData() | 245 FX_BOOL CXFA_FFTextEdit::UpdateFWLData() |
| 246 { | 246 { |
| 247 if (!m_pNormalWidget) { | 247 if (!m_pNormalWidget) { |
| 248 return FALSE; | 248 return FALSE; |
| 249 } | 249 } |
| 250 XFA_VALUEPICTURE eType = XFA_VALUEPICTURE_Display; | 250 XFA_VALUEPICTURE eType = XFA_VALUEPICTURE_Display; |
| 251 if (IsFocused()) { | 251 if (IsFocused()) { |
| 252 eType = XFA_VALUEPICTURE_Edit; | 252 eType = XFA_VALUEPICTURE_Edit; |
| 253 } | 253 } |
| 254 FX_BOOL bUpdate = FALSE; | 254 FX_BOOL bUpdate = FALSE; |
| 255 if (m_pDataAcc->GetUIType() == XFA_ELEMENT_TextEdit && m_pDataAcc->GetNumber
OfCells() < 0) { | 255 if (m_pDataAcc->GetUIType() == XFA_ELEMENT_TextEdit && m_pDataAcc->GetNumber
OfCells() < 0) { |
| 256 XFA_ELEMENT elementType = XFA_ELEMENT_UNKNOWN; | 256 XFA_ELEMENT elementType = XFA_ELEMENT_UNKNOWN; |
| 257 FX_INT32 iMaxChars = m_pDataAcc->GetMaxChars(elementType); | 257 int32_t iMaxChars = m_pDataAcc->GetMaxChars(elementType); |
| 258 if (elementType == XFA_ELEMENT_ExData) { | 258 if (elementType == XFA_ELEMENT_ExData) { |
| 259 iMaxChars = eType == XFA_VALUEPICTURE_Edit ? iMaxChars : 0; | 259 iMaxChars = eType == XFA_VALUEPICTURE_Edit ? iMaxChars : 0; |
| 260 } | 260 } |
| 261 if (((CFWL_Edit*)m_pNormalWidget)->GetLimit() != iMaxChars) { | 261 if (((CFWL_Edit*)m_pNormalWidget)->GetLimit() != iMaxChars) { |
| 262 ((CFWL_Edit*)m_pNormalWidget)->SetLimit(iMaxChars); | 262 ((CFWL_Edit*)m_pNormalWidget)->SetLimit(iMaxChars); |
| 263 bUpdate = TRUE; | 263 bUpdate = TRUE; |
| 264 } | 264 } |
| 265 } | 265 } |
| 266 CFX_WideString wsText; | 266 CFX_WideString wsText; |
| 267 m_pDataAcc->GetValue(wsText, eType); | 267 m_pDataAcc->GetValue(wsText, eType); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 287 FX_BOOL CXFA_FFTextEdit::Undo() | 287 FX_BOOL CXFA_FFTextEdit::Undo() |
| 288 { | 288 { |
| 289 return ((CFWL_Edit*)m_pNormalWidget)->Undo(); | 289 return ((CFWL_Edit*)m_pNormalWidget)->Undo(); |
| 290 } | 290 } |
| 291 FX_BOOL CXFA_FFTextEdit::Redo() | 291 FX_BOOL CXFA_FFTextEdit::Redo() |
| 292 { | 292 { |
| 293 return ((CFWL_Edit*)m_pNormalWidget)->Redo(); | 293 return ((CFWL_Edit*)m_pNormalWidget)->Redo(); |
| 294 } | 294 } |
| 295 FX_BOOL CXFA_FFTextEdit::CanCopy() | 295 FX_BOOL CXFA_FFTextEdit::CanCopy() |
| 296 { | 296 { |
| 297 FX_INT32 nCount = ((CFWL_Edit*)m_pNormalWidget)->CountSelRanges(); | 297 int32_t nCount = ((CFWL_Edit*)m_pNormalWidget)->CountSelRanges(); |
| 298 return nCount > 0; | 298 return nCount > 0; |
| 299 } | 299 } |
| 300 FX_BOOL CXFA_FFTextEdit::CanCut() | 300 FX_BOOL CXFA_FFTextEdit::CanCut() |
| 301 { | 301 { |
| 302 if (m_pNormalWidget->GetStylesEx() & FWL_STYLEEXT_EDT_ReadOnly) { | 302 if (m_pNormalWidget->GetStylesEx() & FWL_STYLEEXT_EDT_ReadOnly) { |
| 303 return FALSE; | 303 return FALSE; |
| 304 } | 304 } |
| 305 FX_INT32 nCount = ((CFWL_Edit*)m_pNormalWidget)->CountSelRanges(); | 305 int32_t nCount = ((CFWL_Edit*)m_pNormalWidget)->CountSelRanges(); |
| 306 return nCount > 0; | 306 return nCount > 0; |
| 307 } | 307 } |
| 308 FX_BOOL CXFA_FFTextEdit::CanPaste() | 308 FX_BOOL CXFA_FFTextEdit::CanPaste() |
| 309 { | 309 { |
| 310 return m_pDataAcc->GetAccess() == XFA_ATTRIBUTEENUM_Open; | 310 return m_pDataAcc->GetAccess() == XFA_ATTRIBUTEENUM_Open; |
| 311 } | 311 } |
| 312 FX_BOOL CXFA_FFTextEdit::CanSelectAll() | 312 FX_BOOL CXFA_FFTextEdit::CanSelectAll() |
| 313 { | 313 { |
| 314 return ((CFWL_Edit*)m_pNormalWidget)->GetTextLength() > 0; | 314 return ((CFWL_Edit*)m_pNormalWidget)->GetTextLength() > 0; |
| 315 } | 315 } |
| 316 FX_BOOL CXFA_FFTextEdit::Copy(CFX_WideString &wsCopy) | 316 FX_BOOL CXFA_FFTextEdit::Copy(CFX_WideString &wsCopy) |
| 317 { | 317 { |
| 318 return ((CFWL_Edit*)m_pNormalWidget)->Copy(wsCopy); | 318 return ((CFWL_Edit*)m_pNormalWidget)->Copy(wsCopy); |
| 319 } | 319 } |
| 320 FX_BOOL CXFA_FFTextEdit::Cut(CFX_WideString &wsCut) | 320 FX_BOOL CXFA_FFTextEdit::Cut(CFX_WideString &wsCut) |
| 321 { | 321 { |
| 322 return ((CFWL_Edit*)m_pNormalWidget)->Cut(wsCut); | 322 return ((CFWL_Edit*)m_pNormalWidget)->Cut(wsCut); |
| 323 } | 323 } |
| 324 FX_BOOL CXFA_FFTextEdit::Paste(const CFX_WideString &wsPaste) | 324 FX_BOOL CXFA_FFTextEdit::Paste(const CFX_WideString &wsPaste) |
| 325 { | 325 { |
| 326 return ((CFWL_Edit*)m_pNormalWidget)->Paste(wsPaste); | 326 return ((CFWL_Edit*)m_pNormalWidget)->Paste(wsPaste); |
| 327 } | 327 } |
| 328 FX_BOOL CXFA_FFTextEdit::SelectAll() | 328 FX_BOOL CXFA_FFTextEdit::SelectAll() |
| 329 { | 329 { |
| 330 FX_INT32 nCount = ((CFWL_Edit*)m_pNormalWidget)->GetTextLength(); | 330 int32_t nCount = ((CFWL_Edit*)m_pNormalWidget)->GetTextLength(); |
| 331 return ((CFWL_Edit*)m_pNormalWidget)->AddSelRange(0, nCount); | 331 return ((CFWL_Edit*)m_pNormalWidget)->AddSelRange(0, nCount); |
| 332 } | 332 } |
| 333 FX_BOOL CXFA_FFTextEdit::Delete() | 333 FX_BOOL CXFA_FFTextEdit::Delete() |
| 334 { | 334 { |
| 335 return ((CFWL_Edit*)m_pNormalWidget)->Delete(); | 335 return ((CFWL_Edit*)m_pNormalWidget)->Delete(); |
| 336 } | 336 } |
| 337 FX_BOOL CXFA_FFTextEdit::DeSelect() | 337 FX_BOOL CXFA_FFTextEdit::DeSelect() |
| 338 { | 338 { |
| 339 return ((CFWL_Edit*)m_pNormalWidget)->ClearSelections(); | 339 return ((CFWL_Edit*)m_pNormalWidget)->ClearSelections(); |
| 340 } | 340 } |
| (...skipping 18 matching lines...) Expand all Loading... |
| 359 m_dwStatus |= XFA_WIDGETSTATUS_TextEditValueChanged; | 359 m_dwStatus |= XFA_WIDGETSTATUS_TextEditValueChanged; |
| 360 CXFA_EventParam eParam; | 360 CXFA_EventParam eParam; |
| 361 eParam.m_eType = XFA_EVENT_Change; | 361 eParam.m_eType = XFA_EVENT_Change; |
| 362 eParam.m_wsChange = wsChanged; | 362 eParam.m_wsChange = wsChanged; |
| 363 eParam.m_pTarget = m_pDataAcc; | 363 eParam.m_pTarget = m_pDataAcc; |
| 364 eParam.m_wsPrevText = wsPrevText; | 364 eParam.m_wsPrevText = wsPrevText; |
| 365 CFWL_Edit* pEdit = ((CFWL_Edit*)m_pNormalWidget); | 365 CFWL_Edit* pEdit = ((CFWL_Edit*)m_pNormalWidget); |
| 366 if (m_pDataAcc->GetUIType() == XFA_ELEMENT_DateTimeEdit) { | 366 if (m_pDataAcc->GetUIType() == XFA_ELEMENT_DateTimeEdit) { |
| 367 CFWL_DateTimePicker* pDateTime = (CFWL_DateTimePicker*)pEdit; | 367 CFWL_DateTimePicker* pDateTime = (CFWL_DateTimePicker*)pEdit; |
| 368 pDateTime->GetEditText(eParam.m_wsNewText); | 368 pDateTime->GetEditText(eParam.m_wsNewText); |
| 369 FX_INT32 iSels = pDateTime->CountSelRanges(); | 369 int32_t iSels = pDateTime->CountSelRanges(); |
| 370 if (iSels ) { | 370 if (iSels ) { |
| 371 eParam.m_iSelEnd = pDateTime->GetSelRange(0, eParam.m_iSelStart); | 371 eParam.m_iSelEnd = pDateTime->GetSelRange(0, eParam.m_iSelStart); |
| 372 } | 372 } |
| 373 } else { | 373 } else { |
| 374 pEdit->GetText(eParam.m_wsNewText); | 374 pEdit->GetText(eParam.m_wsNewText); |
| 375 FX_INT32 iSels = pEdit->CountSelRanges(); | 375 int32_t iSels = pEdit->CountSelRanges(); |
| 376 if (iSels ) { | 376 if (iSels ) { |
| 377 eParam.m_iSelEnd = pEdit->GetSelRange(0, eParam.m_iSelStart); | 377 eParam.m_iSelEnd = pEdit->GetSelRange(0, eParam.m_iSelStart); |
| 378 } | 378 } |
| 379 } | 379 } |
| 380 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Change, &eParam); | 380 m_pDataAcc->ProcessEvent(XFA_ATTRIBUTEENUM_Change, &eParam); |
| 381 } | 381 } |
| 382 void CXFA_FFTextEdit::OnTextFull(IFWL_Widget *pWidget) | 382 void CXFA_FFTextEdit::OnTextFull(IFWL_Widget *pWidget) |
| 383 { | 383 { |
| 384 CXFA_EventParam eParam; | 384 CXFA_EventParam eParam; |
| 385 eParam.m_eType = XFA_EVENT_Full; | 385 eParam.m_eType = XFA_EVENT_Full; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 397 } | 397 } |
| 398 return GetDoc()->GetDocProvider()->CheckWord(GetDoc(), sWord); | 398 return GetDoc()->GetDocProvider()->CheckWord(GetDoc(), sWord); |
| 399 } | 399 } |
| 400 FX_BOOL CXFA_FFTextEdit::GetSuggestWords(FX_BSTR sWord, CFX_ByteStringArray &sSu
ggest) | 400 FX_BOOL CXFA_FFTextEdit::GetSuggestWords(FX_BSTR sWord, CFX_ByteStringArray &sSu
ggest) |
| 401 { | 401 { |
| 402 if (m_pDataAcc->GetUIType() != XFA_ELEMENT_TextEdit) { | 402 if (m_pDataAcc->GetUIType() != XFA_ELEMENT_TextEdit) { |
| 403 return FALSE; | 403 return FALSE; |
| 404 } | 404 } |
| 405 return GetDoc()->GetDocProvider()->GetSuggestWords(GetDoc(), sWord, sSuggest
); | 405 return GetDoc()->GetDocProvider()->GetSuggestWords(GetDoc(), sWord, sSuggest
); |
| 406 } | 406 } |
| 407 FX_INT32 CXFA_FFTextEdit::OnProcessMessage(CFWL_Message *pMessage) | 407 int32_t CXFA_FFTextEdit::OnProcessMessage(CFWL_Message *pMessage) |
| 408 { | 408 { |
| 409 return m_pOldDelegate->OnProcessMessage(pMessage); | 409 return m_pOldDelegate->OnProcessMessage(pMessage); |
| 410 } | 410 } |
| 411 FWL_ERR CXFA_FFTextEdit::OnProcessEvent(CFWL_Event *pEvent) | 411 FWL_ERR CXFA_FFTextEdit::OnProcessEvent(CFWL_Event *pEvent) |
| 412 { | 412 { |
| 413 CXFA_FFField::OnProcessEvent(pEvent); | 413 CXFA_FFField::OnProcessEvent(pEvent); |
| 414 FX_DWORD dwEventID = pEvent->GetClassID(); | 414 FX_DWORD dwEventID = pEvent->GetClassID(); |
| 415 switch (dwEventID) { | 415 switch (dwEventID) { |
| 416 case FWL_EVTHASH_EDT_TextChanged: { | 416 case FWL_EVTHASH_EDT_TextChanged: { |
| 417 CFWL_EvtEdtTextChanged *event = (CFWL_EvtEdtTextChanged*)pEvent; | 417 CFWL_EvtEdtTextChanged *event = (CFWL_EvtEdtTextChanged*)pEvent; |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 478 CFWL_Edit* pWidget = (CFWL_Edit*)m_pNormalWidget; | 478 CFWL_Edit* pWidget = (CFWL_Edit*)m_pNormalWidget; |
| 479 if (!pWidget) { | 479 if (!pWidget) { |
| 480 return; | 480 return; |
| 481 } | 481 } |
| 482 FX_DWORD dwExtendedStyle = FWL_STYLEEXT_EDT_ShowScrollbarFocus | | 482 FX_DWORD dwExtendedStyle = FWL_STYLEEXT_EDT_ShowScrollbarFocus | |
| 483 FWL_STYLEEXT_EDT_OuterScrollbar | FWL_STYLEEXT_ED
T_Validate | FWL_STYLEEXT_EDT_Number | FWL_STYLEEXT_EDT_LastLineHeight; | 483 FWL_STYLEEXT_EDT_OuterScrollbar | FWL_STYLEEXT_ED
T_Validate | FWL_STYLEEXT_EDT_Number | FWL_STYLEEXT_EDT_LastLineHeight; |
| 484 dwExtendedStyle |= UpdateUIProperty(); | 484 dwExtendedStyle |= UpdateUIProperty(); |
| 485 if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { | 485 if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { |
| 486 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoHScroll; | 486 dwExtendedStyle |= FWL_STYLEEXT_EDT_AutoHScroll; |
| 487 } | 487 } |
| 488 FX_INT32 iNumCells = m_pDataAcc->GetNumberOfCells(); | 488 int32_t iNumCells = m_pDataAcc->GetNumberOfCells(); |
| 489 if (iNumCells > 0) { | 489 if (iNumCells > 0) { |
| 490 dwExtendedStyle |= FWL_STYLEEXT_EDT_CombText; | 490 dwExtendedStyle |= FWL_STYLEEXT_EDT_CombText; |
| 491 pWidget->SetLimit(iNumCells); | 491 pWidget->SetLimit(iNumCells); |
| 492 } | 492 } |
| 493 dwExtendedStyle |= GetAlignment(); | 493 dwExtendedStyle |= GetAlignment(); |
| 494 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || !m_pDataAcc->GetDoc
()->GetXFADoc()->IsInteractive()) { | 494 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || !m_pDataAcc->GetDoc
()->GetXFADoc()->IsInteractive()) { |
| 495 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; | 495 dwExtendedStyle |= FWL_STYLEEXT_EDT_ReadOnly; |
| 496 } | 496 } |
| 497 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); | 497 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); |
| 498 } | 498 } |
| 499 FWL_ERR CXFA_FFNumericEdit::OnProcessEvent(CFWL_Event *pEvent) | 499 FWL_ERR CXFA_FFNumericEdit::OnProcessEvent(CFWL_Event *pEvent) |
| 500 { | 500 { |
| 501 FX_DWORD dwEventID = pEvent->GetClassID(); | 501 FX_DWORD dwEventID = pEvent->GetClassID(); |
| 502 if (dwEventID == FWL_EVTHASH_EDT_Validate) { | 502 if (dwEventID == FWL_EVTHASH_EDT_Validate) { |
| 503 CFWL_EvtEdtValidate *event = (CFWL_EvtEdtValidate*)pEvent; | 503 CFWL_EvtEdtValidate *event = (CFWL_EvtEdtValidate*)pEvent; |
| 504 CFX_WideString wsChange = event->wsInsert; | 504 CFX_WideString wsChange = event->wsInsert; |
| 505 event->bValidate = OnValidate(m_pNormalWidget->GetWidget(), wsChange); | 505 event->bValidate = OnValidate(m_pNormalWidget->GetWidget(), wsChange); |
| 506 return event->bValidate; | 506 return event->bValidate; |
| 507 } else { | 507 } else { |
| 508 return CXFA_FFTextEdit::OnProcessEvent(pEvent); | 508 return CXFA_FFTextEdit::OnProcessEvent(pEvent); |
| 509 } | 509 } |
| 510 } | 510 } |
| 511 FX_BOOL CXFA_FFNumericEdit::OnValidate(IFWL_Widget *pWidget, CFX_WideString &wsT
ext) | 511 FX_BOOL CXFA_FFNumericEdit::OnValidate(IFWL_Widget *pWidget, CFX_WideString &wsT
ext) |
| 512 { | 512 { |
| 513 CFX_WideString wsPattern; | 513 CFX_WideString wsPattern; |
| 514 m_pDataAcc->GetPictureContent(wsPattern, XFA_VALUEPICTURE_Edit); | 514 m_pDataAcc->GetPictureContent(wsPattern, XFA_VALUEPICTURE_Edit); |
| 515 if (!wsPattern.IsEmpty()) { | 515 if (!wsPattern.IsEmpty()) { |
| 516 return TRUE; | 516 return TRUE; |
| 517 } | 517 } |
| 518 FX_INT32 iLeads = 0; | 518 int32_t iLeads = 0; |
| 519 m_pDataAcc->GetLeadDigits(iLeads); | 519 m_pDataAcc->GetLeadDigits(iLeads); |
| 520 FX_INT32 iFracs = 0; | 520 int32_t iFracs = 0; |
| 521 m_pDataAcc->GetFracDigits(iFracs); | 521 m_pDataAcc->GetFracDigits(iFracs); |
| 522 CFX_WideString wsFormat; | 522 CFX_WideString wsFormat; |
| 523 CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(m_pDataAcc); | 523 CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(m_pDataAcc); |
| 524 widgetValue.GetNumbericFormat(wsFormat, iLeads, iFracs); | 524 widgetValue.GetNumbericFormat(wsFormat, iLeads, iFracs); |
| 525 return widgetValue.ValidateNumericTemp(wsText, wsFormat, m_pDataAcc->GetLoca
l()); | 525 return widgetValue.ValidateNumericTemp(wsText, wsFormat, m_pDataAcc->GetLoca
l()); |
| 526 } | 526 } |
| 527 CXFA_FFPasswordEdit::CXFA_FFPasswordEdit(CXFA_FFPageView* pPageView, CXFA_Widget
Acc* pDataAcc) | 527 CXFA_FFPasswordEdit::CXFA_FFPasswordEdit(CXFA_FFPageView* pPageView, CXFA_Widget
Acc* pDataAcc) |
| 528 : CXFA_FFTextEdit(pPageView, pDataAcc) | 528 : CXFA_FFTextEdit(pPageView, pDataAcc) |
| 529 { | 529 { |
| 530 } | 530 } |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 654 { | 654 { |
| 655 CFWL_DateTimePicker* pWidget = (CFWL_DateTimePicker*)m_pNormalWidget; | 655 CFWL_DateTimePicker* pWidget = (CFWL_DateTimePicker*)m_pNormalWidget; |
| 656 if (!pWidget) { | 656 if (!pWidget) { |
| 657 return; | 657 return; |
| 658 } | 658 } |
| 659 FX_DWORD dwExtendedStyle = FWL_STYLEEXT_DTP_ShortDateFormat; | 659 FX_DWORD dwExtendedStyle = FWL_STYLEEXT_DTP_ShortDateFormat; |
| 660 dwExtendedStyle |= UpdateUIProperty(); | 660 dwExtendedStyle |= UpdateUIProperty(); |
| 661 dwExtendedStyle |= GetAlignment(); | 661 dwExtendedStyle |= GetAlignment(); |
| 662 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); | 662 m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF); |
| 663 FX_DWORD dwEditStyles = FWL_STYLEEXT_EDT_LastLineHeight; | 663 FX_DWORD dwEditStyles = FWL_STYLEEXT_EDT_LastLineHeight; |
| 664 FX_INT32 iNumCells = m_pDataAcc->GetNumberOfCells(); | 664 int32_t iNumCells = m_pDataAcc->GetNumberOfCells(); |
| 665 if (iNumCells > 0) { | 665 if (iNumCells > 0) { |
| 666 dwEditStyles |= FWL_STYLEEXT_EDT_CombText; | 666 dwEditStyles |= FWL_STYLEEXT_EDT_CombText; |
| 667 pWidget->SetEditLimit(iNumCells); | 667 pWidget->SetEditLimit(iNumCells); |
| 668 } | 668 } |
| 669 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || !m_pDataAcc->GetDoc
()->GetXFADoc()->IsInteractive()) { | 669 if (m_pDataAcc->GetAccess() != XFA_ATTRIBUTEENUM_Open || !m_pDataAcc->GetDoc
()->GetXFADoc()->IsInteractive()) { |
| 670 dwEditStyles |= FWL_STYLEEXT_EDT_ReadOnly; | 670 dwEditStyles |= FWL_STYLEEXT_EDT_ReadOnly; |
| 671 } | 671 } |
| 672 if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { | 672 if (m_pDataAcc->GetHorizontalScrollPolicy() != XFA_ATTRIBUTEENUM_Off) { |
| 673 dwEditStyles |= FWL_STYLEEXT_EDT_AutoHScroll; | 673 dwEditStyles |= FWL_STYLEEXT_EDT_AutoHScroll; |
| 674 } | 674 } |
| 675 pWidget->ModifyEditStylesEx(dwEditStyles, 0xFFFFFFFF); | 675 pWidget->ModifyEditStylesEx(dwEditStyles, 0xFFFFFFFF); |
| 676 } | 676 } |
| 677 FX_DWORD CXFA_FFDateTimeEdit::GetAlignment() | 677 FX_DWORD CXFA_FFDateTimeEdit::GetAlignment() |
| 678 { | 678 { |
| 679 FX_DWORD dwExtendedStyle = 0; | 679 FX_DWORD dwExtendedStyle = 0; |
| 680 if (CXFA_Para para = m_pDataAcc->GetPara()) { | 680 if (CXFA_Para para = m_pDataAcc->GetPara()) { |
| 681 FX_INT32 iHorz = para.GetHorizontalAlign(); | 681 int32_t iHorz = para.GetHorizontalAlign(); |
| 682 switch(iHorz) { | 682 switch(iHorz) { |
| 683 case XFA_ATTRIBUTEENUM_Center: | 683 case XFA_ATTRIBUTEENUM_Center: |
| 684 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditHCenter; | 684 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditHCenter; |
| 685 break; | 685 break; |
| 686 case XFA_ATTRIBUTEENUM_Justify: | 686 case XFA_ATTRIBUTEENUM_Justify: |
| 687 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditJustified; | 687 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditJustified; |
| 688 break; | 688 break; |
| 689 case XFA_ATTRIBUTEENUM_JustifyAll: | 689 case XFA_ATTRIBUTEENUM_JustifyAll: |
| 690 break; | 690 break; |
| 691 case XFA_ATTRIBUTEENUM_Radix: | 691 case XFA_ATTRIBUTEENUM_Radix: |
| 692 break; | 692 break; |
| 693 case XFA_ATTRIBUTEENUM_Right: | 693 case XFA_ATTRIBUTEENUM_Right: |
| 694 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditHFar; | 694 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditHFar; |
| 695 break; | 695 break; |
| 696 default: | 696 default: |
| 697 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditHNear; | 697 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditHNear; |
| 698 break; | 698 break; |
| 699 } | 699 } |
| 700 FX_INT32 iVert = para.GetVerticalAlign(); | 700 int32_t iVert = para.GetVerticalAlign(); |
| 701 switch(iVert) { | 701 switch(iVert) { |
| 702 case XFA_ATTRIBUTEENUM_Middle: | 702 case XFA_ATTRIBUTEENUM_Middle: |
| 703 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditVCenter; | 703 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditVCenter; |
| 704 break; | 704 break; |
| 705 case XFA_ATTRIBUTEENUM_Bottom: | 705 case XFA_ATTRIBUTEENUM_Bottom: |
| 706 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditVFar; | 706 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditVFar; |
| 707 break; | 707 break; |
| 708 default: | 708 default: |
| 709 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditVNear; | 709 dwExtendedStyle |= FWL_STYLEEXT_DTP_EditVNear; |
| 710 break; | 710 break; |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 809 return ((CFWL_DateTimePicker*)m_pNormalWidget)->SelectAll(); | 809 return ((CFWL_DateTimePicker*)m_pNormalWidget)->SelectAll(); |
| 810 } | 810 } |
| 811 FX_BOOL CXFA_FFDateTimeEdit::Delete() | 811 FX_BOOL CXFA_FFDateTimeEdit::Delete() |
| 812 { | 812 { |
| 813 return ((CFWL_DateTimePicker*)m_pNormalWidget)->Delete(); | 813 return ((CFWL_DateTimePicker*)m_pNormalWidget)->Delete(); |
| 814 } | 814 } |
| 815 FX_BOOL CXFA_FFDateTimeEdit::DeSelect() | 815 FX_BOOL CXFA_FFDateTimeEdit::DeSelect() |
| 816 { | 816 { |
| 817 return ((CFWL_DateTimePicker*)m_pNormalWidget)->DeSelect(); | 817 return ((CFWL_DateTimePicker*)m_pNormalWidget)->DeSelect(); |
| 818 } | 818 } |
| 819 void CXFA_FFDateTimeEdit::OnSelectChanged(IFWL_Widget *pWidget, FX_INT32 iYear,
FX_INT32 iMonth, FX_INT32 iDay) | 819 void CXFA_FFDateTimeEdit::OnSelectChanged(IFWL_Widget *pWidget, int32_t iYear, i
nt32_t iMonth, int32_t iDay) |
| 820 { | 820 { |
| 821 CFX_WideString wsPicture; | 821 CFX_WideString wsPicture; |
| 822 m_pDataAcc->GetPictureContent(wsPicture, XFA_VALUEPICTURE_Edit); | 822 m_pDataAcc->GetPictureContent(wsPicture, XFA_VALUEPICTURE_Edit); |
| 823 CXFA_LocaleValue date(XFA_VT_DATE, this->GetDoc()->GetXFADoc()->GetLocalMgr(
)); | 823 CXFA_LocaleValue date(XFA_VT_DATE, this->GetDoc()->GetXFADoc()->GetLocalMgr(
)); |
| 824 CFX_Unitime dt; | 824 CFX_Unitime dt; |
| 825 dt.Set(iYear, iMonth, iDay); | 825 dt.Set(iYear, iMonth, iDay); |
| 826 date.SetDate(dt); | 826 date.SetDate(dt); |
| 827 CFX_WideString wsDate; | 827 CFX_WideString wsDate; |
| 828 date.FormatPatterns(wsDate, wsPicture, m_pDataAcc->GetLocal(), XFA_VALUEPICT
URE_Edit); | 828 date.FormatPatterns(wsDate, wsPicture, m_pDataAcc->GetLocal(), XFA_VALUEPICT
URE_Edit); |
| 829 CFWL_DateTimePicker* pDateTime = (CFWL_DateTimePicker*)m_pNormalWidget; | 829 CFWL_DateTimePicker* pDateTime = (CFWL_DateTimePicker*)m_pNormalWidget; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 840 { | 840 { |
| 841 FX_DWORD dwEventID = pEvent->GetClassID(); | 841 FX_DWORD dwEventID = pEvent->GetClassID(); |
| 842 if (dwEventID == FWL_EVTHASH_DTP_SelectChanged) { | 842 if (dwEventID == FWL_EVTHASH_DTP_SelectChanged) { |
| 843 CFWL_Event_DtpSelectChanged *event = (CFWL_Event_DtpSelectChanged*)pEven
t; | 843 CFWL_Event_DtpSelectChanged *event = (CFWL_Event_DtpSelectChanged*)pEven
t; |
| 844 OnSelectChanged(m_pNormalWidget->GetWidget(), event->iYear, event->iMont
h, event->iDay); | 844 OnSelectChanged(m_pNormalWidget->GetWidget(), event->iYear, event->iMont
h, event->iDay); |
| 845 return TRUE; | 845 return TRUE; |
| 846 } else { | 846 } else { |
| 847 return CXFA_FFTextEdit::OnProcessEvent(pEvent); | 847 return CXFA_FFTextEdit::OnProcessEvent(pEvent); |
| 848 } | 848 } |
| 849 } | 849 } |
| OLD | NEW |