Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(332)

Side by Side Diff: xfa/fwl/core/ifwl_widget.cpp

Issue 2464703006: Fold IFWL*::{Initialize|Finalize} into constructor/destructor (Closed)
Patch Set: Rebase to master Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fwl/core/ifwl_widget.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/core/ifwl_widget.h" 7 #include "xfa/fwl/core/ifwl_widget.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 12 matching lines...) Expand all
23 #include "xfa/fxfa/xfa_ffapp.h" 23 #include "xfa/fxfa/xfa_ffapp.h"
24 24
25 #define FWL_STYLEEXT_MNU_Vert (1L << 0) 25 #define FWL_STYLEEXT_MNU_Vert (1L << 0)
26 26
27 IFWL_Widget::IFWL_Widget(const IFWL_App* app, 27 IFWL_Widget::IFWL_Widget(const IFWL_App* app,
28 const CFWL_WidgetImpProperties& properties, 28 const CFWL_WidgetImpProperties& properties,
29 IFWL_Widget* pOuter) 29 IFWL_Widget* pOuter)
30 : m_pOwnerApp(app), 30 : m_pOwnerApp(app),
31 m_pWidgetMgr(app->GetWidgetMgr()), 31 m_pWidgetMgr(app->GetWidgetMgr()),
32 m_pProperties(new CFWL_WidgetImpProperties(properties)), 32 m_pProperties(new CFWL_WidgetImpProperties(properties)),
33 m_pDelegate(nullptr),
34 m_pCurDelegate(nullptr), 33 m_pCurDelegate(nullptr),
35 m_pOuter(pOuter), 34 m_pOuter(pOuter),
36 m_pLayoutItem(nullptr), 35 m_pLayoutItem(nullptr),
37 m_pAssociate(nullptr), 36 m_pAssociate(nullptr),
38 m_iLock(0), 37 m_iLock(0),
39 m_nEventKey(0) { 38 m_nEventKey(0) {
40 ASSERT(m_pWidgetMgr); 39 ASSERT(m_pWidgetMgr);
40
41 IFWL_Widget* pParent = m_pProperties->m_pParent;
42 m_pWidgetMgr->InsertWidget(pParent, this);
43 if (IsChild())
44 return;
45
46 IFWL_Widget* pOwner = m_pProperties->m_pOwner;
47 if (pOwner)
48 m_pWidgetMgr->SetOwner(pOwner, this);
41 } 49 }
42 50
43 IFWL_Widget::~IFWL_Widget() {} 51 IFWL_Widget::~IFWL_Widget() {
44
45 void IFWL_Widget::Initialize() {
46 IFWL_Widget* pParent = m_pProperties->m_pParent;
47 m_pWidgetMgr->InsertWidget(pParent, this);
48 if (!IsChild()) {
49 IFWL_Widget* pOwner = m_pProperties->m_pOwner;
50 if (pOwner)
51 m_pWidgetMgr->SetOwner(pOwner, this);
52 }
53 }
54
55 void IFWL_Widget::Finalize() {
56 NotifyDriver(); 52 NotifyDriver();
57 m_pWidgetMgr->RemoveWidget(this); 53 m_pWidgetMgr->RemoveWidget(this);
58 } 54 }
59 55
60 FX_BOOL IFWL_Widget::IsInstance(const CFX_WideStringC& wsClass) const { 56 FX_BOOL IFWL_Widget::IsInstance(const CFX_WideStringC& wsClass) const {
61 return FALSE; 57 return FALSE;
62 } 58 }
63 59
64 FWL_Error IFWL_Widget::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { 60 FWL_Error IFWL_Widget::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) {
65 if (bAutoSize) { 61 if (bAutoSize) {
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 IFWL_ThemeProvider* IFWL_Widget::GetThemeProvider() { 343 IFWL_ThemeProvider* IFWL_Widget::GetThemeProvider() {
348 return m_pProperties->m_pThemeProvider; 344 return m_pProperties->m_pThemeProvider;
349 } 345 }
350 FWL_Error IFWL_Widget::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { 346 FWL_Error IFWL_Widget::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) {
351 m_pProperties->m_pThemeProvider = pThemeProvider; 347 m_pProperties->m_pThemeProvider = pThemeProvider;
352 return FWL_Error::Succeeded; 348 return FWL_Error::Succeeded;
353 } 349 }
354 350
355 IFWL_WidgetDelegate* IFWL_Widget::GetCurrentDelegate() { 351 IFWL_WidgetDelegate* IFWL_Widget::GetCurrentDelegate() {
356 if (!m_pCurDelegate) 352 if (!m_pCurDelegate)
357 m_pCurDelegate = m_pDelegate; 353 m_pCurDelegate = m_pDelegate.get();
358 return m_pCurDelegate; 354 return m_pCurDelegate;
359 } 355 }
360 356
361 void IFWL_Widget::SetCurrentDelegate(IFWL_WidgetDelegate* pDelegate) { 357 void IFWL_Widget::SetCurrentDelegate(IFWL_WidgetDelegate* pDelegate) {
362 m_pCurDelegate = pDelegate; 358 m_pCurDelegate = pDelegate;
363 } 359 }
364 360
365 const IFWL_App* IFWL_Widget::GetOwnerApp() const { 361 const IFWL_App* IFWL_Widget::GetOwnerApp() const {
366 return m_pOwnerApp; 362 return m_pOwnerApp;
367 } 363 }
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after
912 } 908 }
913 } 909 }
914 910
915 void CFWL_WidgetImpDelegate::OnProcessEvent(CFWL_Event* pEvent) {} 911 void CFWL_WidgetImpDelegate::OnProcessEvent(CFWL_Event* pEvent) {}
916 912
917 void CFWL_WidgetImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics, 913 void CFWL_WidgetImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics,
918 const CFX_Matrix* pMatrix) { 914 const CFX_Matrix* pMatrix) {
919 CFWL_EvtDraw evt; 915 CFWL_EvtDraw evt;
920 evt.m_pGraphics = pGraphics; 916 evt.m_pGraphics = pGraphics;
921 } 917 }
OLDNEW
« no previous file with comments | « xfa/fwl/core/ifwl_widget.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698