Chromium Code Reviews| Index: xfa/fwl/core/ifwl_datetimepicker.cpp |
| diff --git a/xfa/fwl/core/ifwl_datetimepicker.cpp b/xfa/fwl/core/ifwl_datetimepicker.cpp |
| index 148a85cfe6b4f96db277232c34c038fe90c01cb8..844eb9ebe677fcba88ea30873b8fdceece94f561 100644 |
| --- a/xfa/fwl/core/ifwl_datetimepicker.cpp |
| +++ b/xfa/fwl/core/ifwl_datetimepicker.cpp |
| @@ -6,6 +6,7 @@ |
| #include "xfa/fwl/core/ifwl_datetimepicker.h" |
| +#include "third_party/base/ptr_util.h" |
| #include "xfa/fwl/core/cfwl_message.h" |
| #include "xfa/fwl/core/cfwl_themebackground.h" |
| #include "xfa/fwl/core/cfwl_widgetmgr.h" |
| @@ -33,14 +34,8 @@ IFWL_DateTimePicker::IFWL_DateTimePicker( |
| m_iDay(-1), |
| m_bLBtnDown(FALSE) { |
| m_rtBtn.Set(0, 0, 0, 0); |
| -} |
| - |
| -IFWL_DateTimePicker::~IFWL_DateTimePicker() {} |
| - |
| -void IFWL_DateTimePicker::Initialize() { |
| - IFWL_Widget::Initialize(); |
| - m_pDelegate = new CFWL_DateTimePickerImpDelegate(this); |
| + SetDelegate(pdfium::MakeUnique<CFWL_DateTimePickerImpDelegate>(this)); |
| m_pProperties->m_dwStyleExes = FWL_STYLEEXT_DTP_ShortDateFormat; |
| CFWL_WidgetImpProperties propMonth; |
| @@ -51,7 +46,6 @@ void IFWL_DateTimePicker::Initialize() { |
| propMonth.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
| m_pMonthCal.reset(new IFWL_DateTimeCalendar(m_pOwnerApp, propMonth, this)); |
| - m_pMonthCal->Initialize(); |
| CFX_RectF rtMonthCal; |
| m_pMonthCal->GetWidgetRect(rtMonthCal, TRUE); |
| rtMonthCal.Set(0, 0, rtMonthCal.width, rtMonthCal.height); |
| @@ -61,23 +55,12 @@ void IFWL_DateTimePicker::Initialize() { |
| propEdit.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
| m_pEdit.reset(new IFWL_DateTimeEdit(m_pOwnerApp, propEdit, this)); |
| - m_pEdit->Initialize(); |
| RegisterEventTarget(m_pMonthCal.get()); |
| RegisterEventTarget(m_pEdit.get()); |
| } |
| -void IFWL_DateTimePicker::Finalize() { |
| - if (m_pEdit) |
| - m_pEdit->Finalize(); |
| - if (m_pMonthCal) |
| - m_pMonthCal->Finalize(); |
| - if (m_pForm) |
| - m_pForm->Finalize(); |
| - |
| +IFWL_DateTimePicker::~IFWL_DateTimePicker() { |
| UnregisterEventTarget(); |
| - delete m_pDelegate; |
| - m_pDelegate = nullptr; |
| - IFWL_Widget::Finalize(); |
| } |
| FWL_Type IFWL_DateTimePicker::GetClassID() const { |
| @@ -324,24 +307,19 @@ void IFWL_DateTimePicker::DrawDropDownButton(CFX_Graphics* pGraphics, |
| const CFX_Matrix* pMatrix) { |
| if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_DTP_Spin) == |
| FWL_STYLEEXT_DTP_Spin) { |
| - CFWL_WidgetImpProperties prop; |
| - prop.m_dwStyleExes |= FWL_STYLEEXE_SPB_Vert; |
| - prop.m_pParent = this; |
| - prop.m_rtWidget = m_rtBtn; |
| - IFWL_SpinButton* pSpin = new IFWL_SpinButton(m_pOwnerApp, prop); |
| - pSpin->Initialize(); |
|
dsinclair
2016/10/31 19:48:18
This never did anything with pSpin so it would jus
|
| - } else { |
| - CFWL_ThemeBackground param; |
| - param.m_pWidget = this; |
| - param.m_iPart = CFWL_Part::DropDownButton; |
| - param.m_dwStates = m_iBtnState; |
| - param.m_pGraphics = pGraphics; |
| - param.m_rtPart = m_rtBtn; |
| - if (pMatrix) { |
| - param.m_matrix.Concat(*pMatrix); |
| - } |
| - pTheme->DrawBackground(¶m); |
| + return; |
| } |
| + |
| + CFWL_ThemeBackground param; |
| + param.m_pWidget = this; |
| + param.m_iPart = CFWL_Part::DropDownButton; |
| + param.m_dwStates = m_iBtnState; |
| + param.m_pGraphics = pGraphics; |
| + param.m_rtPart = m_rtBtn; |
| + if (pMatrix) |
| + param.m_matrix.Concat(*pMatrix); |
| + |
| + pTheme->DrawBackground(¶m); |
| } |
| void IFWL_DateTimePicker::FormatDateString(int32_t iYear, |
| @@ -464,7 +442,6 @@ void IFWL_DateTimePicker::InitProxyForm() { |
| propForm.m_pOwner = this; |
| m_pForm.reset(new IFWL_FormProxy(m_pOwnerApp, propForm, m_pMonthCal.get())); |
| - m_pForm->Initialize(); |
| m_pMonthCal->SetParent(m_pForm.get()); |
| } |
| @@ -494,7 +471,6 @@ void IFWL_DateTimePicker::DisForm_InitDateTimeCalendar() { |
| propMonth.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
| m_pMonthCal.reset(new IFWL_DateTimeCalendar(m_pOwnerApp, propMonth, this)); |
| - m_pMonthCal->Initialize(); |
| CFX_RectF rtMonthCal; |
| m_pMonthCal->GetWidgetRect(rtMonthCal, TRUE); |
| rtMonthCal.Set(0, 0, rtMonthCal.width, rtMonthCal.height); |
| @@ -510,7 +486,6 @@ void IFWL_DateTimePicker::DisForm_InitDateTimeEdit() { |
| propEdit.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
| m_pEdit.reset(new IFWL_DateTimeEdit(m_pOwnerApp, propEdit, this)); |
| - m_pEdit->Initialize(); |
| } |
| FX_BOOL IFWL_DateTimePicker::DisForm_IsMonthCalendarShowed() { |