Index: xfa/fwl/core/ifwl_datetimepicker.cpp |
diff --git a/xfa/fwl/core/ifwl_datetimepicker.cpp b/xfa/fwl/core/ifwl_datetimepicker.cpp |
index ef13d71cf1a6fbb0e348817551a44ae2efaba324..9292a5acfa77b23f78105bafcc84a28c6a10b593 100644 |
--- a/xfa/fwl/core/ifwl_datetimepicker.cpp |
+++ b/xfa/fwl/core/ifwl_datetimepicker.cpp |
@@ -24,8 +24,9 @@ const int kDateTimePickerHeight = 20; |
} // namespace |
IFWL_DateTimePicker::IFWL_DateTimePicker( |
+ const IFWL_App* app, |
const CFWL_WidgetImpProperties& properties) |
- : IFWL_Widget(properties, nullptr), |
+ : IFWL_Widget(app, properties, nullptr), |
m_iBtnState(1), |
m_iYear(-1), |
m_iMonth(-1), |
@@ -36,15 +37,11 @@ IFWL_DateTimePicker::IFWL_DateTimePicker( |
IFWL_DateTimePicker::~IFWL_DateTimePicker() {} |
-FWL_Type IFWL_DateTimePicker::GetClassID() const { |
- return FWL_Type::DateTimePicker; |
-} |
- |
-FWL_Error IFWL_DateTimePicker::Initialize() { |
- if (IFWL_Widget::Initialize() != FWL_Error::Succeeded) |
- return FWL_Error::Indefinite; |
+void IFWL_DateTimePicker::Initialize() { |
+ IFWL_Widget::Initialize(); |
m_pDelegate = new CFWL_DateTimePickerImpDelegate(this); |
+ |
m_pProperties->m_dwStyleExes = FWL_STYLEEXT_DTP_ShortDateFormat; |
CFWL_WidgetImpProperties propMonth; |
propMonth.m_dwStyles = FWL_WGTSTYLE_Popup | FWL_WGTSTYLE_Border; |
@@ -53,7 +50,7 @@ FWL_Error IFWL_DateTimePicker::Initialize() { |
propMonth.m_pParent = this; |
propMonth.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
- m_pMonthCal.reset(new IFWL_DateTimeCalendar(propMonth, this)); |
+ m_pMonthCal.reset(new IFWL_DateTimeCalendar(m_pOwnerApp, propMonth, this)); |
m_pMonthCal->Initialize(); |
CFX_RectF rtMonthCal; |
m_pMonthCal->GetWidgetRect(rtMonthCal, TRUE); |
@@ -63,11 +60,10 @@ FWL_Error IFWL_DateTimePicker::Initialize() { |
propEdit.m_pParent = this; |
propEdit.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
- m_pEdit.reset(new IFWL_DateTimeEdit(propEdit, this)); |
+ m_pEdit.reset(new IFWL_DateTimeEdit(m_pOwnerApp, propEdit, this)); |
m_pEdit->Initialize(); |
RegisterEventTarget(m_pMonthCal.get()); |
RegisterEventTarget(m_pEdit.get()); |
- return FWL_Error::Succeeded; |
} |
void IFWL_DateTimePicker::Finalize() { |
@@ -84,6 +80,10 @@ void IFWL_DateTimePicker::Finalize() { |
IFWL_Widget::Finalize(); |
} |
+FWL_Type IFWL_DateTimePicker::GetClassID() const { |
+ return FWL_Type::DateTimePicker; |
+} |
+ |
FWL_Error IFWL_DateTimePicker::GetWidgetRect(CFX_RectF& rect, |
FX_BOOL bAutoSize) { |
if (m_pWidgetMgr->IsFormDisabled()) { |
@@ -328,7 +328,7 @@ void IFWL_DateTimePicker::DrawDropDownButton(CFX_Graphics* pGraphics, |
prop.m_dwStyleExes |= FWL_STYLEEXE_SPB_Vert; |
prop.m_pParent = this; |
prop.m_rtWidget = m_rtBtn; |
- IFWL_SpinButton* pSpin = new IFWL_SpinButton(prop); |
+ IFWL_SpinButton* pSpin = new IFWL_SpinButton(m_pOwnerApp, prop); |
pSpin->Initialize(); |
} else { |
CFWL_ThemeBackground param; |
@@ -463,7 +463,7 @@ void IFWL_DateTimePicker::InitProxyForm() { |
propForm.m_dwStates = FWL_WGTSTATE_Invisible; |
propForm.m_pOwner = this; |
- m_pForm.reset(new IFWL_FormProxy(propForm, m_pMonthCal.get())); |
+ m_pForm.reset(new IFWL_FormProxy(m_pOwnerApp, propForm, m_pMonthCal.get())); |
m_pForm->Initialize(); |
m_pMonthCal->SetParent(m_pForm.get()); |
} |
@@ -493,7 +493,7 @@ void IFWL_DateTimePicker::DisForm_InitDateTimeCalendar() { |
propMonth.m_pDataProvider = &m_MonthCalendarDP; |
propMonth.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
- m_pMonthCal.reset(new IFWL_DateTimeCalendar(propMonth, this)); |
+ m_pMonthCal.reset(new IFWL_DateTimeCalendar(m_pOwnerApp, propMonth, this)); |
m_pMonthCal->Initialize(); |
CFX_RectF rtMonthCal; |
m_pMonthCal->GetWidgetRect(rtMonthCal, TRUE); |
@@ -509,7 +509,7 @@ void IFWL_DateTimePicker::DisForm_InitDateTimeEdit() { |
propEdit.m_pParent = this; |
propEdit.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
- m_pEdit.reset(new IFWL_DateTimeEdit(propEdit, this)); |
+ m_pEdit.reset(new IFWL_DateTimeEdit(m_pOwnerApp, propEdit, this)); |
m_pEdit->Initialize(); |
} |