summaryrefslogtreecommitdiff
path: root/xfa/src/fwl/src/basewidget/fwl_spinbuttonimp.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-12-09 16:16:19 -0800
committerTom Sepez <tsepez@chromium.org>2015-12-09 16:16:19 -0800
commit8ee79f8f2824d5b7058d49ebb10ced6b001c178e (patch)
tree182737e505b0795a1a9365cc3f591df266d5a6ae /xfa/src/fwl/src/basewidget/fwl_spinbuttonimp.cpp
parentb3e2d4ae6c0c9a32c4616acc71cad4751c210ae0 (diff)
downloadpdfium-8ee79f8f2824d5b7058d49ebb10ced6b001c178e.tar.xz
FWL refcounts never incremented (part 2).
Re-introduce create methods that actually create the corresponding impl so we don't have ifaces without impls. Remove per-subclass Initialize() methods. Remove unused ctors. BUG=pdfium:282 R=jun_fang@foxitsoftware.com, thestig@chromium.org Review URL: https://codereview.chromium.org/1453473002 .
Diffstat (limited to 'xfa/src/fwl/src/basewidget/fwl_spinbuttonimp.cpp')
-rw-r--r--xfa/src/fwl/src/basewidget/fwl_spinbuttonimp.cpp33
1 files changed, 13 insertions, 20 deletions
diff --git a/xfa/src/fwl/src/basewidget/fwl_spinbuttonimp.cpp b/xfa/src/fwl/src/basewidget/fwl_spinbuttonimp.cpp
index 7b1bf6aa44..00e7dfdb98 100644
--- a/xfa/src/fwl/src/basewidget/fwl_spinbuttonimp.cpp
+++ b/xfa/src/fwl/src/basewidget/fwl_spinbuttonimp.cpp
@@ -12,15 +12,19 @@
#define FWL_SPN_MinWidth 18
#define FWL_SPN_MinHeight 32
#define FWL_SPIN_Elapse 200
-IFWL_SpinButton::IFWL_SpinButton() {
-}
-FWL_ERR IFWL_SpinButton::Initialize(const CFWL_WidgetImpProperties& properties,
- IFWL_Widget* pOuter) {
- CFWL_SpinButtonImp* pSpinButtonImpl = new CFWL_SpinButtonImp(properties);
- SetImpl(pSpinButtonImpl);
- pSpinButtonImpl->SetInterface(this);
- return pSpinButtonImpl->Initialize();
+
+// static
+IFWL_SpinButton* IFWL_SpinButton::Create(
+ const CFWL_WidgetImpProperties& properties,
+ IFWL_Widget* pOuter) {
+ IFWL_SpinButton* pSpinButton = new IFWL_SpinButton;
+ CFWL_SpinButtonImp* pSpinButtonImpl =
+ new CFWL_SpinButtonImp(properties, nullptr);
+ pSpinButton->SetImpl(pSpinButtonImpl);
+ pSpinButtonImpl->SetInterface(pSpinButton);
+ return pSpinButton;
}
+IFWL_SpinButton::IFWL_SpinButton() {}
FWL_ERR IFWL_SpinButton::EnableButton(FX_BOOL bEnable, FX_BOOL bUp) {
return static_cast<CFWL_SpinButtonImp*>(GetImpl())
->EnableButton(bEnable, bUp);
@@ -28,18 +32,7 @@ FWL_ERR IFWL_SpinButton::EnableButton(FX_BOOL bEnable, FX_BOOL bUp) {
FX_BOOL IFWL_SpinButton::IsButtonEnable(FX_BOOL bUp) {
return static_cast<CFWL_SpinButtonImp*>(GetImpl())->IsButtonEnable(bUp);
}
-CFWL_SpinButtonImp::CFWL_SpinButtonImp(IFWL_Widget* pOuter)
- : CFWL_WidgetImp(pOuter),
- m_dwUpState(FWL_PARTSTATE_SPB_Normal),
- m_dwDnState(FWL_PARTSTATE_SPB_Normal),
- m_iButtonIndex(0),
- m_bLButtonDwn(FALSE),
- m_hTimer(NULL) {
- m_rtClient.Reset();
- m_rtUpButton.Reset();
- m_rtDnButton.Reset();
- m_pProperties->m_dwStyleExes |= FWL_STYLEEXE_SPB_Vert;
-}
+
CFWL_SpinButtonImp::CFWL_SpinButtonImp(
const CFWL_WidgetImpProperties& properties,
IFWL_Widget* pOuter)