| 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/fwl/basewidget/fwl_editimp.h" | 7 #include "xfa/fwl/basewidget/fwl_editimp.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 return static_cast<CFWL_EditImp*>(GetImpl()) | 196 return static_cast<CFWL_EditImp*>(GetImpl()) |
| 197 ->ReplaceSpellCheckWord(pointf, bsReplace); | 197 ->ReplaceSpellCheckWord(pointf, bsReplace); |
| 198 } | 198 } |
| 199 | 199 |
| 200 CFWL_EditImp::CFWL_EditImp(const CFWL_WidgetImpProperties& properties, | 200 CFWL_EditImp::CFWL_EditImp(const CFWL_WidgetImpProperties& properties, |
| 201 IFWL_Widget* pOuter) | 201 IFWL_Widget* pOuter) |
| 202 : CFWL_WidgetImp(properties, pOuter), | 202 : CFWL_WidgetImp(properties, pOuter), |
| 203 m_fVAlignOffset(0.0f), | 203 m_fVAlignOffset(0.0f), |
| 204 m_fScrollOffsetX(0.0f), | 204 m_fScrollOffsetX(0.0f), |
| 205 m_fScrollOffsetY(0.0f), | 205 m_fScrollOffsetY(0.0f), |
| 206 m_pEdtEngine(nullptr), | |
| 207 m_bLButtonDown(FALSE), | 206 m_bLButtonDown(FALSE), |
| 208 m_nSelStart(0), | 207 m_nSelStart(0), |
| 209 m_nLimit(-1), | 208 m_nLimit(-1), |
| 210 m_fSpaceAbove(0), | 209 m_fSpaceAbove(0), |
| 211 m_fSpaceBelow(0), | 210 m_fSpaceBelow(0), |
| 212 m_fFontSize(0), | 211 m_fFontSize(0), |
| 213 m_bSetRange(FALSE), | 212 m_bSetRange(FALSE), |
| 214 m_iMin(-1), | 213 m_iMin(-1), |
| 215 m_iMax(0xFFFFFFF), | 214 m_iMax(0xFFFFFFF), |
| 216 m_backColor(0), | 215 m_backColor(0), |
| 217 m_updateBackColor(FALSE), | 216 m_updateBackColor(FALSE), |
| 218 m_iCurRecord(-1), | 217 m_iCurRecord(-1), |
| 219 m_iMaxRecord(128) { | 218 m_iMaxRecord(128) { |
| 220 m_rtClient.Reset(); | 219 m_rtClient.Reset(); |
| 221 m_rtEngine.Reset(); | 220 m_rtEngine.Reset(); |
| 222 m_rtStatic.Reset(); | 221 m_rtStatic.Reset(); |
| 223 } | 222 } |
| 224 | 223 |
| 225 CFWL_EditImp::~CFWL_EditImp() { | 224 CFWL_EditImp::~CFWL_EditImp() { |
| 226 delete m_pEdtEngine; | |
| 227 ClearRecord(); | 225 ClearRecord(); |
| 228 } | 226 } |
| 229 | 227 |
| 230 FWL_Error CFWL_EditImp::GetClassName(CFX_WideString& wsClass) const { | 228 FWL_Error CFWL_EditImp::GetClassName(CFX_WideString& wsClass) const { |
| 231 wsClass = FWL_CLASS_Edit; | 229 wsClass = FWL_CLASS_Edit; |
| 232 return FWL_Error::Succeeded; | 230 return FWL_Error::Succeeded; |
| 233 } | 231 } |
| 234 | 232 |
| 235 FWL_Type CFWL_EditImp::GetClassID() const { | 233 FWL_Type CFWL_EditImp::GetClassID() const { |
| 236 return FWL_Type::Edit; | 234 return FWL_Type::Edit; |
| (...skipping 654 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 891 CFWL_EvtEdtTextChanged event; | 889 CFWL_EvtEdtTextChanged event; |
| 892 event.m_pSrcTarget = m_pInterface; | 890 event.m_pSrcTarget = m_pInterface; |
| 893 event.nChangeType = ChangeInfo.nChangeType; | 891 event.nChangeType = ChangeInfo.nChangeType; |
| 894 event.wsInsert = ChangeInfo.wsInsert; | 892 event.wsInsert = ChangeInfo.wsInsert; |
| 895 event.wsDelete = ChangeInfo.wsDelete; | 893 event.wsDelete = ChangeInfo.wsDelete; |
| 896 event.wsPrevText = ChangeInfo.wsPrevText; | 894 event.wsPrevText = ChangeInfo.wsPrevText; |
| 897 DispatchEvent(&event); | 895 DispatchEvent(&event); |
| 898 LayoutScrollBar(); | 896 LayoutScrollBar(); |
| 899 Repaint(&rtTemp); | 897 Repaint(&rtTemp); |
| 900 } | 898 } |
| 899 |
| 901 void CFWL_EditImp::On_SelChanged(CFDE_TxtEdtEngine* pEdit) { | 900 void CFWL_EditImp::On_SelChanged(CFDE_TxtEdtEngine* pEdit) { |
| 902 CFX_RectF rtTemp; | 901 CFX_RectF rtTemp; |
| 903 GetClientRect(rtTemp); | 902 GetClientRect(rtTemp); |
| 904 Repaint(&rtTemp); | 903 Repaint(&rtTemp); |
| 905 } | 904 } |
| 905 |
| 906 FX_BOOL CFWL_EditImp::On_PageLoad(CFDE_TxtEdtEngine* pEdit, | 906 FX_BOOL CFWL_EditImp::On_PageLoad(CFDE_TxtEdtEngine* pEdit, |
| 907 int32_t nPageIndex, | 907 int32_t nPageIndex, |
| 908 int32_t nPurpose) { | 908 int32_t nPurpose) { |
| 909 CFDE_TxtEdtEngine* pEdtEngine = m_pEdtEngine; | 909 IFDE_TxtEdtPage* pPage = m_pEdtEngine->GetPage(nPageIndex); |
| 910 IFDE_TxtEdtPage* pPage = pEdtEngine->GetPage(nPageIndex); | |
| 911 if (!pPage) | 910 if (!pPage) |
| 912 return FALSE; | 911 return FALSE; |
| 913 pPage->LoadPage(nullptr, nullptr); | 912 pPage->LoadPage(nullptr, nullptr); |
| 914 return TRUE; | 913 return TRUE; |
| 915 } | 914 } |
| 915 |
| 916 FX_BOOL CFWL_EditImp::On_PageUnload(CFDE_TxtEdtEngine* pEdit, | 916 FX_BOOL CFWL_EditImp::On_PageUnload(CFDE_TxtEdtEngine* pEdit, |
| 917 int32_t nPageIndex, | 917 int32_t nPageIndex, |
| 918 int32_t nPurpose) { | 918 int32_t nPurpose) { |
| 919 CFDE_TxtEdtEngine* pEdtEngine = m_pEdtEngine; | 919 IFDE_TxtEdtPage* pPage = m_pEdtEngine->GetPage(nPageIndex); |
| 920 IFDE_TxtEdtPage* pPage = pEdtEngine->GetPage(nPageIndex); | |
| 921 if (!pPage) | 920 if (!pPage) |
| 922 return FALSE; | 921 return FALSE; |
| 923 pPage->UnloadPage(nullptr); | 922 pPage->UnloadPage(nullptr); |
| 924 return TRUE; | 923 return TRUE; |
| 925 } | 924 } |
| 926 | 925 |
| 927 void CFWL_EditImp::On_AddDoRecord(CFDE_TxtEdtEngine* pEdit, | 926 void CFWL_EditImp::On_AddDoRecord(CFDE_TxtEdtEngine* pEdit, |
| 928 IFDE_TxtEdtDoRecord* pRecord) { | 927 IFDE_TxtEdtDoRecord* pRecord) { |
| 929 AddDoRecord(pRecord); | 928 AddDoRecord(pRecord); |
| 930 } | 929 } |
| (...skipping 692 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1623 prop.m_dwStates = FWL_WGTSTATE_Disabled | FWL_WGTSTATE_Invisible; | 1622 prop.m_dwStates = FWL_WGTSTATE_Disabled | FWL_WGTSTATE_Invisible; |
| 1624 prop.m_pParent = m_pInterface; | 1623 prop.m_pParent = m_pInterface; |
| 1625 prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; | 1624 prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
| 1626 IFWL_ScrollBar* pScrollBar = IFWL_ScrollBar::Create(prop, m_pInterface); | 1625 IFWL_ScrollBar* pScrollBar = IFWL_ScrollBar::Create(prop, m_pInterface); |
| 1627 pScrollBar->Initialize(); | 1626 pScrollBar->Initialize(); |
| 1628 (bVert ? &m_pVertScrollBar : &m_pHorzScrollBar)->reset(pScrollBar); | 1627 (bVert ? &m_pVertScrollBar : &m_pHorzScrollBar)->reset(pScrollBar); |
| 1629 } | 1628 } |
| 1630 | 1629 |
| 1631 void CFWL_EditImp::InitEngine() { | 1630 void CFWL_EditImp::InitEngine() { |
| 1632 if (!m_pEdtEngine) | 1631 if (!m_pEdtEngine) |
| 1633 m_pEdtEngine = new CFDE_TxtEdtEngine; | 1632 m_pEdtEngine.reset(new CFDE_TxtEdtEngine); |
| 1634 } | 1633 } |
| 1635 | 1634 |
| 1636 FX_BOOL FWL_ShowCaret(IFWL_Widget* pWidget, | 1635 FX_BOOL FWL_ShowCaret(IFWL_Widget* pWidget, |
| 1637 FX_BOOL bVisible, | 1636 FX_BOOL bVisible, |
| 1638 const CFX_RectF* pRtAnchor) { | 1637 const CFX_RectF* pRtAnchor) { |
| 1639 CXFA_FFWidget* pXFAWidget = | 1638 CXFA_FFWidget* pXFAWidget = |
| 1640 static_cast<CXFA_FFWidget*>(pWidget->GetLayoutItem()); | 1639 static_cast<CXFA_FFWidget*>(pWidget->GetLayoutItem()); |
| 1641 if (!pXFAWidget) | 1640 if (!pXFAWidget) |
| 1642 return FALSE; | 1641 return FALSE; |
| 1643 | 1642 |
| (...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2186 } | 2185 } |
| 2187 CFX_RectF rect; | 2186 CFX_RectF rect; |
| 2188 m_pOwner->GetWidgetRect(rect); | 2187 m_pOwner->GetWidgetRect(rect); |
| 2189 CFX_RectF rtInvalidate; | 2188 CFX_RectF rtInvalidate; |
| 2190 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2); | 2189 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2); |
| 2191 m_pOwner->Repaint(&rtInvalidate); | 2190 m_pOwner->Repaint(&rtInvalidate); |
| 2192 } | 2191 } |
| 2193 return TRUE; | 2192 return TRUE; |
| 2194 } | 2193 } |
| 2195 void CFWL_EditImpDelegate::DoCursor(CFWL_MsgMouse* pMsg) {} | 2194 void CFWL_EditImpDelegate::DoCursor(CFWL_MsgMouse* pMsg) {} |
| OLD | NEW |