summaryrefslogtreecommitdiff
path: root/xfa/fwl/core/ifwl_widget.h
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-11-01 18:48:19 -0700
committerCommit bot <commit-bot@chromium.org>2016-11-01 18:48:20 -0700
commit6fe8795d9022105a0061a0a81be9a49d49fda345 (patch)
treeb1fc8d51560fbf0a9e4a163f887e763f565d5234 /xfa/fwl/core/ifwl_widget.h
parent919e48d877e503f1ca250bc37324c9f7dc96d7a9 (diff)
downloadpdfium-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.h13
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 {