Index: xfa/src/fwl/src/basewidget/fwl_editimp.cpp |
diff --git a/xfa/src/fwl/src/basewidget/fwl_editimp.cpp b/xfa/src/fwl/src/basewidget/fwl_editimp.cpp |
index 00a24dd9f54e19bbea7c7d31cd6be33981c5777e..8f6611884aaa8fdd788e3fe9021153027141444e 100644 |
--- a/xfa/src/fwl/src/basewidget/fwl_editimp.cpp |
+++ b/xfa/src/fwl/src/basewidget/fwl_editimp.cpp |
@@ -14,9 +14,6 @@ |
#include "include/fwl_scrollbarimp.h" |
#include "include/fwl_editimp.h" |
#include "include/fwl_caretimp.h" |
-IFWL_Edit* IFWL_Edit::Create() { |
- return new IFWL_Edit; |
-} |
IFWL_Edit::IFWL_Edit() { |
} |
FWL_ERR IFWL_Edit::Initialize(const CFWL_WidgetImpProperties& properties, |
@@ -168,10 +165,6 @@ CFWL_EditImp::CFWL_EditImp(IFWL_Widget* pOuter) |
m_bSetRange(FALSE), |
m_iMin(-1), |
m_iMax(0xFFFFFFF), |
- m_pVertScrollBar(NULL), |
- m_pHorzScrollBar(NULL), |
- m_pCaret(NULL), |
- m_pTextField(NULL), |
m_backColor(0), |
m_updateBackColor(FALSE), |
m_iCurRecord(-1), |
@@ -196,10 +189,6 @@ CFWL_EditImp::CFWL_EditImp(const CFWL_WidgetImpProperties& properties, |
m_bSetRange(FALSE), |
m_iMin(-1), |
m_iMax(0xFFFFFFF), |
- m_pVertScrollBar(NULL), |
- m_pHorzScrollBar(NULL), |
- m_pCaret(NULL), |
- m_pTextField(NULL), |
m_backColor(0), |
m_updateBackColor(FALSE), |
m_iCurRecord(-1), |
@@ -213,18 +202,6 @@ CFWL_EditImp::~CFWL_EditImp() { |
m_pEdtEngine->Release(); |
m_pEdtEngine = NULL; |
} |
- if (m_pHorzScrollBar) { |
- m_pHorzScrollBar->Release(); |
- m_pHorzScrollBar = NULL; |
- } |
- if (m_pVertScrollBar) { |
- m_pVertScrollBar->Release(); |
- m_pVertScrollBar = NULL; |
- } |
- if (m_pCaret) { |
- m_pCaret->Release(); |
- m_pCaret = NULL; |
- } |
ClearRecord(); |
} |
FWL_ERR CFWL_EditImp::GetClassName(CFX_WideString& wsClass) const { |
@@ -1465,14 +1442,14 @@ IFWL_ScrollBar* CFWL_EditImp::UpdateScroll() { |
m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Disabled, FALSE); |
m_pHorzScrollBar->UnlockUpdate(); |
m_pHorzScrollBar->Update(); |
- pRepaint = m_pHorzScrollBar; |
+ pRepaint = m_pHorzScrollBar.get(); |
} else if ((m_pHorzScrollBar->GetStates() & FWL_WGTSTATE_Disabled) == 0) { |
m_pHorzScrollBar->LockUpdate(); |
m_pHorzScrollBar->SetRange(0, -1); |
m_pHorzScrollBar->SetStates(FWL_WGTSTATE_Disabled, TRUE); |
m_pHorzScrollBar->UnlockUpdate(); |
m_pHorzScrollBar->Update(); |
- pRepaint = m_pHorzScrollBar; |
+ pRepaint = m_pHorzScrollBar.get(); |
} |
} |
if (bShowVert) { |
@@ -1500,14 +1477,14 @@ IFWL_ScrollBar* CFWL_EditImp::UpdateScroll() { |
m_pVertScrollBar->SetStates(FWL_WGTSTATE_Disabled, FALSE); |
m_pVertScrollBar->UnlockUpdate(); |
m_pVertScrollBar->Update(); |
- pRepaint = m_pVertScrollBar; |
+ pRepaint = m_pVertScrollBar.get(); |
} else if ((m_pVertScrollBar->GetStates() & FWL_WGTSTATE_Disabled) == 0) { |
m_pVertScrollBar->LockUpdate(); |
m_pVertScrollBar->SetRange(0, -1); |
m_pVertScrollBar->SetStates(FWL_WGTSTATE_Disabled, TRUE); |
m_pVertScrollBar->UnlockUpdate(); |
m_pVertScrollBar->Update(); |
- pRepaint = m_pVertScrollBar; |
+ pRepaint = m_pVertScrollBar.get(); |
} |
} |
return pRepaint; |
@@ -1693,9 +1670,9 @@ void CFWL_EditImp::InitScrollBar(FX_BOOL bVert) { |
prop.m_dwStates = FWL_WGTSTATE_Disabled | FWL_WGTSTATE_Invisible; |
prop.m_pParent = m_pInterface; |
prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
- IFWL_ScrollBar* pScrollBar = IFWL_ScrollBar::Create(); |
+ IFWL_ScrollBar* pScrollBar = new IFWL_ScrollBar; |
pScrollBar->Initialize(prop, m_pInterface); |
- bVert ? (m_pVertScrollBar = pScrollBar) : (m_pHorzScrollBar = pScrollBar); |
+ (bVert ? &m_pVertScrollBar : &m_pHorzScrollBar)->reset(pScrollBar); |
} |
void CFWL_EditImp::InitEngine() { |
if (m_pEdtEngine) { |
@@ -1768,15 +1745,14 @@ FX_BOOL CFWL_EditImp::ValidateNumberChar(FX_WCHAR cNum) { |
void CFWL_EditImp::InitCaret() { |
if (!m_pCaret) { |
if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_InnerCaret)) { |
- m_pCaret = IFWL_Caret::Create(); |
+ m_pCaret.reset(new IFWL_Caret); |
m_pCaret->Initialize(m_pInterface); |
m_pCaret->SetParent(m_pInterface); |
m_pCaret->SetStates(m_pProperties->m_dwStates); |
} |
} else if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_InnerCaret) == |
0) { |
- m_pCaret->Release(); |
- m_pCaret = NULL; |
+ m_pCaret.reset(); |
} |
} |
void CFWL_EditImp::ClearRecord() { |
@@ -1866,9 +1842,9 @@ FWL_ERR CFWL_EditImpDelegate::OnProcessEvent(CFWL_Event* pEvent) { |
return FWL_ERR_Succeeded; |
} |
IFWL_Widget* pSrcTarget = pEvent->m_pSrcTarget; |
- if ((pSrcTarget == m_pOwner->m_pVertScrollBar && |
+ if ((pSrcTarget == m_pOwner->m_pVertScrollBar.get() && |
m_pOwner->m_pVertScrollBar) || |
- (pSrcTarget == m_pOwner->m_pHorzScrollBar && |
+ (pSrcTarget == m_pOwner->m_pHorzScrollBar.get() && |
m_pOwner->m_pHorzScrollBar)) { |
CFWL_EvtScroll* pScrollEvent = static_cast<CFWL_EvtScroll*>(pEvent); |
OnScroll(static_cast<IFWL_ScrollBar*>(pSrcTarget), |