OLD | NEW |
| (Empty) |
1 // Copyright 2014 PDFium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
6 | |
7 #ifndef XFA_FWL_BASEWIDGET_IFWL_MONTHCALENDAR_H_ | |
8 #define XFA_FWL_BASEWIDGET_IFWL_MONTHCALENDAR_H_ | |
9 | |
10 #include "xfa/fwl/core/cfwl_event.h" | |
11 #include "xfa/fwl/core/cfwl_widgetimpproperties.h" | |
12 #include "xfa/fwl/core/ifwl_dataprovider.h" | |
13 #include "xfa/fwl/core/ifwl_widget.h" | |
14 | |
15 #define FWL_CLASS_MonthCalendar L"FWL_MONTHCALENDAR" | |
16 #define FWL_STYLEEXT_MCD_MultiSelect (1L << 0) | |
17 #define FWL_STYLEEXT_MCD_NoToday (1L << 1) | |
18 #define FWL_STYLEEXT_MCD_NoTodayCircle (1L << 2) | |
19 #define FWL_STYLEEXT_MCD_WeekNumbers (1L << 3) | |
20 #define FWL_ITEMSTATE_MCD_Nomal (0L << 0) | |
21 #define FWL_ITEMSTATE_MCD_Flag (1L << 0) | |
22 #define FWL_ITEMSTATE_MCD_Selected (1L << 1) | |
23 #define FWL_ITEMSTATE_MCD_Focused (1L << 2) | |
24 | |
25 FWL_EVENT_DEF(CFWL_Event_McdDateSelected, | |
26 CFWL_EventType::DataSelected, | |
27 int32_t m_iStartDay; | |
28 int32_t m_iEndDay;) | |
29 | |
30 FWL_EVENT_DEF(CFWL_EventMcdDateChanged, | |
31 CFWL_EventType::DateChanged, | |
32 int32_t m_iOldYear; | |
33 int32_t m_iOldMonth; | |
34 int32_t m_iStartDay; | |
35 int32_t m_iEndDay;) | |
36 | |
37 class IFWL_MonthCalendarDP : public IFWL_DataProvider { | |
38 public: | |
39 virtual int32_t GetCurDay(IFWL_Widget* pWidget) = 0; | |
40 virtual int32_t GetCurMonth(IFWL_Widget* pWidget) = 0; | |
41 virtual int32_t GetCurYear(IFWL_Widget* pWidget) = 0; | |
42 }; | |
43 | |
44 class IFWL_MonthCalendar : public IFWL_Widget { | |
45 public: | |
46 static IFWL_MonthCalendar* Create(const CFWL_WidgetImpProperties& properties, | |
47 IFWL_Widget* pOuter); | |
48 | |
49 int32_t CountSelect(); | |
50 FX_BOOL GetSelect(int32_t& iYear, | |
51 int32_t& iMonth, | |
52 int32_t& iDay, | |
53 int32_t nIndex = 0); | |
54 FX_BOOL SetSelect(int32_t iYear, int32_t iMonth, int32_t iDay); | |
55 | |
56 protected: | |
57 IFWL_MonthCalendar(); | |
58 }; | |
59 | |
60 #endif // XFA_FWL_BASEWIDGET_IFWL_MONTHCALENDAR_H_ | |
OLD | NEW |