diff options
author | dsinclair <dsinclair@chromium.org> | 2016-11-01 18:48:19 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-11-01 18:48:20 -0700 |
commit | 6fe8795d9022105a0061a0a81be9a49d49fda345 (patch) | |
tree | b1fc8d51560fbf0a9e4a163f887e763f565d5234 /xfa/fwl/core/ifwl_widget.h | |
parent | 919e48d877e503f1ca250bc37324c9f7dc96d7a9 (diff) | |
download | pdfium-6fe8795d9022105a0061a0a81be9a49d49fda345.tar.xz |
Fold IFWL*::{Initialize|Finalize} into constructor/destructor
This Cl moves the ::Initialize method into the constructors and the
::Finalize method into the destructors. The |m_pDelegate| is made private and
a unique_ptr. A |SetDelegate| and |GetDelegate| method are added.
Review-Url: https://codereview.chromium.org/2464703006
Diffstat (limited to 'xfa/fwl/core/ifwl_widget.h')
-rw-r--r-- | xfa/fwl/core/ifwl_widget.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/xfa/fwl/core/ifwl_widget.h b/xfa/fwl/core/ifwl_widget.h index 2b385abc0e..264ff67513 100644 --- a/xfa/fwl/core/ifwl_widget.h +++ b/xfa/fwl/core/ifwl_widget.h @@ -66,8 +66,6 @@ class IFWL_Widget { public: virtual ~IFWL_Widget(); - virtual void Initialize(); - virtual void Finalize(); virtual FWL_Type GetClassID() const = 0; virtual FX_BOOL IsInstance(const CFX_WideStringC& wsClass) const; @@ -203,16 +201,23 @@ class IFWL_Widget { FX_BOOL IsParent(IFWL_Widget* pParent); + void SetDelegate(std::unique_ptr<IFWL_WidgetDelegate> delegate) { + m_pDelegate = std::move(delegate); + } + IFWL_WidgetDelegate* GetDelegate() const { return m_pDelegate.get(); } + const IFWL_App* const m_pOwnerApp; CFWL_WidgetMgr* const m_pWidgetMgr; std::unique_ptr<CFWL_WidgetImpProperties> m_pProperties; - IFWL_WidgetDelegate* m_pDelegate; - IFWL_WidgetDelegate* m_pCurDelegate; + IFWL_WidgetDelegate* m_pCurDelegate; // Not owned. IFWL_Widget* m_pOuter; void* m_pLayoutItem; CFWL_Widget* m_pAssociate; int32_t m_iLock; uint32_t m_nEventKey; + + private: + std::unique_ptr<IFWL_WidgetDelegate> m_pDelegate; }; class CFWL_WidgetImpDelegate : public IFWL_WidgetDelegate { |