OLD | NEW |
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_datetimepicker.h" | 7 #include "xfa/fwl/core/ifwl_datetimepicker.h" |
8 | 8 |
9 #include "third_party/base/ptr_util.h" | 9 #include "third_party/base/ptr_util.h" |
10 #include "xfa/fwl/core/cfwl_message.h" | 10 #include "xfa/fwl/core/cfwl_message.h" |
11 #include "xfa/fwl/core/cfwl_themebackground.h" | 11 #include "xfa/fwl/core/cfwl_themebackground.h" |
12 #include "xfa/fwl/core/cfwl_widgetmgr.h" | 12 #include "xfa/fwl/core/cfwl_widgetmgr.h" |
13 #include "xfa/fwl/core/fwl_noteimp.h" | 13 #include "xfa/fwl/core/fwl_noteimp.h" |
14 #include "xfa/fwl/core/ifwl_datetimecalendar.h" | |
15 #include "xfa/fwl/core/ifwl_datetimeedit.h" | 14 #include "xfa/fwl/core/ifwl_datetimeedit.h" |
16 #include "xfa/fwl/core/ifwl_formproxy.h" | 15 #include "xfa/fwl/core/ifwl_formproxy.h" |
17 #include "xfa/fwl/core/ifwl_spinbutton.h" | 16 #include "xfa/fwl/core/ifwl_spinbutton.h" |
18 #include "xfa/fwl/core/ifwl_themeprovider.h" | 17 #include "xfa/fwl/core/ifwl_themeprovider.h" |
19 | 18 |
20 namespace { | 19 namespace { |
21 | 20 |
22 const int kDateTimePickerWidth = 100; | 21 const int kDateTimePickerWidth = 100; |
23 const int kDateTimePickerHeight = 20; | 22 const int kDateTimePickerHeight = 20; |
24 | 23 |
(...skipping 14 matching lines...) Expand all Loading... |
39 m_rtBtn.Set(0, 0, 0, 0); | 38 m_rtBtn.Set(0, 0, 0, 0); |
40 | 39 |
41 m_pProperties->m_dwStyleExes = FWL_STYLEEXT_DTP_ShortDateFormat; | 40 m_pProperties->m_dwStyleExes = FWL_STYLEEXT_DTP_ShortDateFormat; |
42 | 41 |
43 auto monthProp = pdfium::MakeUnique<CFWL_WidgetProperties>(this); | 42 auto monthProp = pdfium::MakeUnique<CFWL_WidgetProperties>(this); |
44 monthProp->m_dwStyles = FWL_WGTSTYLE_Popup | FWL_WGTSTYLE_Border; | 43 monthProp->m_dwStyles = FWL_WGTSTYLE_Popup | FWL_WGTSTYLE_Border; |
45 monthProp->m_dwStates = FWL_WGTSTATE_Invisible; | 44 monthProp->m_dwStates = FWL_WGTSTATE_Invisible; |
46 monthProp->m_pParent = this; | 45 monthProp->m_pParent = this; |
47 monthProp->m_pThemeProvider = m_pProperties->m_pThemeProvider; | 46 monthProp->m_pThemeProvider = m_pProperties->m_pThemeProvider; |
48 m_pMonthCal.reset( | 47 m_pMonthCal.reset( |
49 new IFWL_DateTimeCalendar(m_pOwnerApp, std::move(monthProp), this)); | 48 new IFWL_MonthCalendar(m_pOwnerApp, std::move(monthProp), this)); |
50 | 49 |
51 CFX_RectF rtMonthCal; | 50 CFX_RectF rtMonthCal; |
52 m_pMonthCal->GetWidgetRect(rtMonthCal, true); | 51 m_pMonthCal->GetWidgetRect(rtMonthCal, true); |
53 rtMonthCal.Set(0, 0, rtMonthCal.width, rtMonthCal.height); | 52 rtMonthCal.Set(0, 0, rtMonthCal.width, rtMonthCal.height); |
54 m_pMonthCal->SetWidgetRect(rtMonthCal); | 53 m_pMonthCal->SetWidgetRect(rtMonthCal); |
55 | 54 |
56 auto editProp = pdfium::MakeUnique<CFWL_WidgetProperties>(); | 55 auto editProp = pdfium::MakeUnique<CFWL_WidgetProperties>(); |
57 editProp->m_pParent = this; | 56 editProp->m_pParent = this; |
58 editProp->m_pThemeProvider = m_pProperties->m_pThemeProvider; | 57 editProp->m_pThemeProvider = m_pProperties->m_pThemeProvider; |
59 | 58 |
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
447 new IFWL_FormProxy(m_pOwnerApp, std::move(prop), m_pMonthCal.get())); | 446 new IFWL_FormProxy(m_pOwnerApp, std::move(prop), m_pMonthCal.get())); |
448 m_pMonthCal->SetParent(m_pForm.get()); | 447 m_pMonthCal->SetParent(m_pForm.get()); |
449 } | 448 } |
450 | 449 |
451 IFWL_DateTimeEdit* IFWL_DateTimePicker::GetDataTimeEdit() { | 450 IFWL_DateTimeEdit* IFWL_DateTimePicker::GetDataTimeEdit() { |
452 return m_pEdit.get(); | 451 return m_pEdit.get(); |
453 } | 452 } |
454 | 453 |
455 FWL_Error IFWL_DateTimePicker::DisForm_Initialize() { | 454 FWL_Error IFWL_DateTimePicker::DisForm_Initialize() { |
456 m_pProperties->m_dwStyleExes = FWL_STYLEEXT_DTP_ShortDateFormat; | 455 m_pProperties->m_dwStyleExes = FWL_STYLEEXT_DTP_ShortDateFormat; |
457 DisForm_InitDateTimeCalendar(); | 456 DisForm_InitMonthCalendar(); |
458 DisForm_InitDateTimeEdit(); | 457 DisForm_InitDateTimeEdit(); |
459 RegisterEventTarget(m_pMonthCal.get()); | 458 RegisterEventTarget(m_pMonthCal.get()); |
460 RegisterEventTarget(m_pEdit.get()); | 459 RegisterEventTarget(m_pEdit.get()); |
461 return FWL_Error::Succeeded; | 460 return FWL_Error::Succeeded; |
462 } | 461 } |
463 | 462 |
464 void IFWL_DateTimePicker::DisForm_InitDateTimeCalendar() { | 463 void IFWL_DateTimePicker::DisForm_InitMonthCalendar() { |
465 if (m_pMonthCal) | 464 if (m_pMonthCal) |
466 return; | 465 return; |
467 | 466 |
468 auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(this); | 467 auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(this); |
469 prop->m_dwStyles = | 468 prop->m_dwStyles = |
470 FWL_WGTSTYLE_Popup | FWL_WGTSTYLE_Border | FWL_WGTSTYLE_EdgeSunken; | 469 FWL_WGTSTYLE_Popup | FWL_WGTSTYLE_Border | FWL_WGTSTYLE_EdgeSunken; |
471 prop->m_dwStates = FWL_WGTSTATE_Invisible; | 470 prop->m_dwStates = FWL_WGTSTATE_Invisible; |
472 prop->m_pParent = this; | 471 prop->m_pParent = this; |
473 prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; | 472 prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; |
474 | 473 |
475 m_pMonthCal.reset( | 474 m_pMonthCal.reset(new IFWL_MonthCalendar(m_pOwnerApp, std::move(prop), this)); |
476 new IFWL_DateTimeCalendar(m_pOwnerApp, std::move(prop), this)); | |
477 CFX_RectF rtMonthCal; | 475 CFX_RectF rtMonthCal; |
478 m_pMonthCal->GetWidgetRect(rtMonthCal, true); | 476 m_pMonthCal->GetWidgetRect(rtMonthCal, true); |
479 rtMonthCal.Set(0, 0, rtMonthCal.width, rtMonthCal.height); | 477 rtMonthCal.Set(0, 0, rtMonthCal.width, rtMonthCal.height); |
480 m_pMonthCal->SetWidgetRect(rtMonthCal); | 478 m_pMonthCal->SetWidgetRect(rtMonthCal); |
481 } | 479 } |
482 | 480 |
483 void IFWL_DateTimePicker::DisForm_InitDateTimeEdit() { | 481 void IFWL_DateTimePicker::DisForm_InitDateTimeEdit() { |
484 if (m_pEdit) | 482 if (m_pEdit) |
485 return; | 483 return; |
486 | 484 |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 return m_iCurDay; | 793 return m_iCurDay; |
796 } | 794 } |
797 | 795 |
798 int32_t IFWL_DateTimePicker::GetCurMonth(IFWL_Widget* pWidget) { | 796 int32_t IFWL_DateTimePicker::GetCurMonth(IFWL_Widget* pWidget) { |
799 return m_iCurMonth; | 797 return m_iCurMonth; |
800 } | 798 } |
801 | 799 |
802 int32_t IFWL_DateTimePicker::GetCurYear(IFWL_Widget* pWidget) { | 800 int32_t IFWL_DateTimePicker::GetCurYear(IFWL_Widget* pWidget) { |
803 return m_iCurYear; | 801 return m_iCurYear; |
804 } | 802 } |
OLD | NEW |