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 #ifndef XFA_FWL_CORE_IFWL_DATETIMEPICKER_H_ | 7 #ifndef XFA_FWL_CORE_IFWL_DATETIMEPICKER_H_ |
8 #define XFA_FWL_CORE_IFWL_DATETIMEPICKER_H_ | 8 #define XFA_FWL_CORE_IFWL_DATETIMEPICKER_H_ |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
| 12 #include "xfa/fwl/core/cfwl_datetimeedit.h" |
12 #include "xfa/fwl/core/cfwl_event.h" | 13 #include "xfa/fwl/core/cfwl_event.h" |
| 14 #include "xfa/fwl/core/cfwl_monthcalendar.h" |
13 #include "xfa/fwl/core/cfwl_widgetproperties.h" | 15 #include "xfa/fwl/core/cfwl_widgetproperties.h" |
14 #include "xfa/fwl/core/ifwl_datetimeedit.h" | |
15 #include "xfa/fwl/core/ifwl_monthcalendar.h" | |
16 #include "xfa/fwl/core/ifwl_widget.h" | 16 #include "xfa/fwl/core/ifwl_widget.h" |
17 | 17 |
18 #define FWL_STYLEEXT_DTP_AllowEdit (1L << 0) | 18 #define FWL_STYLEEXT_DTP_AllowEdit (1L << 0) |
19 #define FWL_STYLEEXT_DTP_LongDateFormat (0L << 1) | 19 #define FWL_STYLEEXT_DTP_LongDateFormat (0L << 1) |
20 #define FWL_STYLEEXT_DTP_ShortDateFormat (1L << 1) | 20 #define FWL_STYLEEXT_DTP_ShortDateFormat (1L << 1) |
21 #define FWL_STYLEEXT_DTP_TimeFormat (2L << 1) | 21 #define FWL_STYLEEXT_DTP_TimeFormat (2L << 1) |
22 #define FWL_STYLEEXT_DTP_Spin (1L << 3) | 22 #define FWL_STYLEEXT_DTP_Spin (1L << 3) |
23 #define FWL_STYLEEXT_DTP_EditHNear (0L << 4) | 23 #define FWL_STYLEEXT_DTP_EditHNear (0L << 4) |
24 #define FWL_STYLEEXT_DTP_EditHCenter (1L << 4) | 24 #define FWL_STYLEEXT_DTP_EditHCenter (1L << 4) |
25 #define FWL_STYLEEXT_DTP_EditHFar (2L << 4) | 25 #define FWL_STYLEEXT_DTP_EditHFar (2L << 4) |
26 #define FWL_STYLEEXT_DTP_EditVNear (0L << 6) | 26 #define FWL_STYLEEXT_DTP_EditVNear (0L << 6) |
27 #define FWL_STYLEEXT_DTP_EditVCenter (1L << 6) | 27 #define FWL_STYLEEXT_DTP_EditVCenter (1L << 6) |
28 #define FWL_STYLEEXT_DTP_EditVFar (2L << 6) | 28 #define FWL_STYLEEXT_DTP_EditVFar (2L << 6) |
29 #define FWL_STYLEEXT_DTP_EditJustified (1L << 8) | 29 #define FWL_STYLEEXT_DTP_EditJustified (1L << 8) |
30 #define FWL_STYLEEXT_DTP_EditDistributed (2L << 8) | 30 #define FWL_STYLEEXT_DTP_EditDistributed (2L << 8) |
31 #define FWL_STYLEEXT_DTP_EditHAlignMask (3L << 4) | 31 #define FWL_STYLEEXT_DTP_EditHAlignMask (3L << 4) |
32 #define FWL_STYLEEXT_DTP_EditVAlignMask (3L << 6) | 32 #define FWL_STYLEEXT_DTP_EditVAlignMask (3L << 6) |
33 #define FWL_STYLEEXT_DTP_EditHAlignModeMask (3L << 8) | 33 #define FWL_STYLEEXT_DTP_EditHAlignModeMask (3L << 8) |
34 | 34 |
35 class IFWL_DateTimeEdit; | 35 class CFWL_DateTimeEdit; |
36 class IFWL_FormProxy; | 36 class CFWL_FormProxy; |
37 | 37 |
38 class IFWL_DateTimePicker : public IFWL_Widget { | 38 class IFWL_DateTimePicker : public IFWL_Widget { |
39 public: | 39 public: |
40 explicit IFWL_DateTimePicker( | 40 explicit IFWL_DateTimePicker( |
41 const CFWL_App* app, | 41 const CFWL_App* app, |
42 std::unique_ptr<CFWL_WidgetProperties> properties); | 42 std::unique_ptr<CFWL_WidgetProperties> properties); |
43 ~IFWL_DateTimePicker() override; | 43 ~IFWL_DateTimePicker() override; |
44 | 44 |
45 // IFWL_Widget | 45 // IFWL_Widget |
46 FWL_Type GetClassID() const override; | 46 FWL_Type GetClassID() const override; |
(...skipping 21 matching lines...) Expand all Loading... |
68 } | 68 } |
69 | 69 |
70 void GetBBox(CFX_RectF& rect) const; | 70 void GetBBox(CFX_RectF& rect) const; |
71 void SetEditLimit(int32_t nLimit) { m_pEdit->SetLimit(nLimit); } | 71 void SetEditLimit(int32_t nLimit) { m_pEdit->SetLimit(nLimit); } |
72 void ModifyEditStylesEx(uint32_t dwStylesExAdded, uint32_t dwStylesExRemoved); | 72 void ModifyEditStylesEx(uint32_t dwStylesExAdded, uint32_t dwStylesExRemoved); |
73 | 73 |
74 bool IsMonthCalendarVisible() const; | 74 bool IsMonthCalendarVisible() const; |
75 void ShowMonthCalendar(bool bActivate); | 75 void ShowMonthCalendar(bool bActivate); |
76 void ProcessSelChanged(int32_t iYear, int32_t iMonth, int32_t iDay); | 76 void ProcessSelChanged(int32_t iYear, int32_t iMonth, int32_t iDay); |
77 | 77 |
78 IFWL_FormProxy* GetFormProxy() const { return m_pForm.get(); } | 78 CFWL_FormProxy* GetFormProxy() const { return m_pForm.get(); } |
79 | 79 |
80 private: | 80 private: |
81 void DrawDropDownButton(CFX_Graphics* pGraphics, | 81 void DrawDropDownButton(CFX_Graphics* pGraphics, |
82 IFWL_ThemeProvider* pTheme, | 82 IFWL_ThemeProvider* pTheme, |
83 const CFX_Matrix* pMatrix); | 83 const CFX_Matrix* pMatrix); |
84 void FormatDateString(int32_t iYear, | 84 void FormatDateString(int32_t iYear, |
85 int32_t iMonth, | 85 int32_t iMonth, |
86 int32_t iDay, | 86 int32_t iDay, |
87 CFX_WideString& wsText); | 87 CFX_WideString& wsText); |
88 void ResetEditAlignment(); | 88 void ResetEditAlignment(); |
(...skipping 15 matching lines...) Expand all Loading... |
104 void OnMouseMove(CFWL_MsgMouse* pMsg); | 104 void OnMouseMove(CFWL_MsgMouse* pMsg); |
105 void OnMouseLeave(CFWL_MsgMouse* pMsg); | 105 void OnMouseLeave(CFWL_MsgMouse* pMsg); |
106 | 106 |
107 CFX_RectF m_rtBtn; | 107 CFX_RectF m_rtBtn; |
108 CFX_RectF m_rtClient; | 108 CFX_RectF m_rtClient; |
109 int32_t m_iBtnState; | 109 int32_t m_iBtnState; |
110 int32_t m_iYear; | 110 int32_t m_iYear; |
111 int32_t m_iMonth; | 111 int32_t m_iMonth; |
112 int32_t m_iDay; | 112 int32_t m_iDay; |
113 bool m_bLBtnDown; | 113 bool m_bLBtnDown; |
114 std::unique_ptr<IFWL_DateTimeEdit> m_pEdit; | 114 std::unique_ptr<CFWL_DateTimeEdit> m_pEdit; |
115 std::unique_ptr<IFWL_MonthCalendar> m_pMonthCal; | 115 std::unique_ptr<CFWL_MonthCalendar> m_pMonthCal; |
116 std::unique_ptr<IFWL_FormProxy> m_pForm; | 116 std::unique_ptr<CFWL_FormProxy> m_pForm; |
117 FX_FLOAT m_fBtn; | 117 FX_FLOAT m_fBtn; |
118 }; | 118 }; |
119 | 119 |
120 #endif // XFA_FWL_CORE_IFWL_DATETIMEPICKER_H_ | 120 #endif // XFA_FWL_CORE_IFWL_DATETIMEPICKER_H_ |
OLD | NEW |