summaryrefslogtreecommitdiff
path: root/xfa/include/fwl/basewidget/fwl_datetimepicker.h
blob: 898264eeeccf84196b83d4a7a91cb3cafeef950d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FWL_DATETIMEPICKER_H
#define _FWL_DATETIMEPICKER_H
class CFWL_WidgetImpProperties;
class IFWL_Widget;
class IFWL_DateTimePickerDP;
class IFWL_DateTimePicker;
#define FWL_CLASS_DateTimePicker			L"FWL_DATETIMEPICKER"
#define FWL_CLASSHASH_DateTimePicker		3851176257
#define FWL_STYLEEXT_DTP_AllowEdit			(1L << 0)
#define FWL_STYLEEXT_DTP_LongDateFormat		(0L << 1)
#define FWL_STYLEEXT_DTP_ShortDateFormat	(1L << 1)
#define FWL_STYLEEXT_DTP_TimeFormat			(2L << 1)
#define FWL_STYLEEXT_DTP_Spin				(1L << 3)
#define FWL_STYLEEXT_DTP_EditHNear			(0L << 4)
#define FWL_STYLEEXT_DTP_EditHCenter		(1L << 4)
#define FWL_STYLEEXT_DTP_EditHFar			(2L	<< 4)
#define FWL_STYLEEXT_DTP_EditVNear			(0L << 6)
#define FWL_STYLEEXT_DTP_EditVCenter		(1L << 6)
#define FWL_STYLEEXT_DTP_EditVFar			(2L	<< 6)
#define FWL_STYLEEXT_DTP_EditJustified		(1L << 8)
#define FWL_STYLEEXT_DTP_EditDistributed	(2L << 8)
#define FWL_STYLEEXT_DTP_EditHAlignMask		(3L << 4)
#define FWL_STYLEEXT_DTP_EditVAlignMask		(3L << 6)
#define FWL_STYLEEXT_DTP_EditHAlignModeMask	(3L	<< 8)
#define FWL_PART_DTP_Border					1
#define FWL_PART_DTP_Edge					2
#define FWL_PART_DTP_Background				3
#define FWL_PART_DTP_DropDownButton			4
#define FWL_PARTSTATE_DTP_Normal			(0L << 0)
#define FWL_PARTSTATE_DTP_Hovered			(1L << 0)
#define FWL_PARTSTATE_DTP_Pressed			(2L << 0)
#define FWL_PARTSTATE_DTP_Disabled			(3L << 0)
#define FWL_EVT_DTP_DropDown				L"FWL_EVENT_DTP_DropDown"
#define FWL_EVTHASH_DTP_DropDown			264728733
#define FWL_EVT_DTP_CloseUp					L"FWL_EVENT_DTP_CloseUp"
#define FWL_EVTHASH_DTP_CloseUp				4280973803
#define	FWL_EVT_DTP_EditChanged				L"FWL_EVENT_DTP_EditChanged"
#define	FWL_EVTHASH_DTP_EditChanged			4009610944
#define FWL_EVT_DTP_HoverChanged			L"FWL_EVENT_DTP_HoverChanged"
#define FWL_EVTHASH_DTP_HoverChanged		686674750
#define FWL_EVT_DTP_SelectChanged			L"FWL_EVENT_DTP_SelectChanged"
#define FWL_EVTHASH_DTP_SelectChanged		1589616858
BEGIN_FWL_EVENT_DEF(CFWL_Event_DtpDropDown, FWL_EVTHASH_DTP_DropDown)
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_Event_DtpCloseUp, FWL_EVTHASH_DTP_CloseUp)
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_Event_DtpEditChanged, FWL_EVTHASH_DTP_EditChanged)
CFX_WideString m_wsText;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_Event_DtpHoverChanged, FWL_EVTHASH_DTP_HoverChanged)
FX_INT32 hoverday;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_Event_DtpSelectChanged, FWL_EVTHASH_DTP_SelectChanged)
FX_INT32 iYear;
FX_INT32 iMonth;
FX_INT32 iDay;
END_FWL_EVENT_DEF
class IFWL_DateTimePickerDP : public IFWL_DataProvider
{
public:
    virtual FWL_ERR GetToday(IFWL_Widget *pWidget, FX_INT32 &iYear, FX_INT32 &iMonth, FX_INT32 &iDay) = 0;
};
class IFWL_DateTimePicker : public IFWL_Widget
{
public:
    static IFWL_DateTimePicker* Create();
    FWL_ERR		Initialize(IFWL_Widget *pOuter = NULL);
    FWL_ERR		Initialize(const CFWL_WidgetImpProperties &properties, IFWL_Widget *pOuter = NULL);
    FWL_ERR		GetCurSel(FX_INT32 &iYear, FX_INT32 &iMonth, FX_INT32 &iDay);
    FWL_ERR		SetCurSel(FX_INT32 iYear, FX_INT32 iMonth, FX_INT32 iDay);
    FWL_ERR		SetEditText(const CFX_WideString &wsText);
    FWL_ERR		GetEditText(CFX_WideString &wsText, FX_INT32 nStart = 0, FX_INT32 nCount = -1) const;
    FX_INT32	CountSelRanges();
    FX_INT32	GetSelRange(FX_INT32 nIndex, FX_INT32 &nStart);
    FX_BOOL		CanUndo();
    FX_BOOL		CanRedo();
    FX_BOOL		Undo();
    FX_BOOL		Redo();
    FX_BOOL		CanCopy();
    FX_BOOL		CanCut();
    FX_BOOL		CanSelectAll();
    FX_BOOL		Copy(CFX_WideString &wsCopy);
    FX_BOOL		Cut(CFX_WideString &wsCut);
    FX_BOOL		Paste(const CFX_WideString &wsPaste);
    FX_BOOL		SelectAll();
    FX_BOOL		Delete();
    FX_BOOL		DeSelect();
    FWL_ERR		GetBBox(CFX_RectF &rect);
    FWL_ERR		SetEditLimit(FX_INT32 nLimit);
    FWL_ERR		ModifyEditStylesEx(FX_DWORD dwStylesExAdded, FX_DWORD dwStylesExRemoved);
protected:
    IFWL_DateTimePicker();
    virtual ~IFWL_DateTimePicker();
};
#endif