Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
cfwl_datetimepicker.h
Go to the documentation of this file.
1
// Copyright 2014 The PDFium Authors
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_CFWL_DATETIMEPICKER_H_
8
#
define
XFA_FWL_CFWL_DATETIMEPICKER_H_
9
10
#
include
<
utility
>
11
12
#
include
"v8/include/cppgc/member.h"
13
#
include
"xfa/fwl/cfwl_datetimeedit.h"
14
#
include
"xfa/fwl/cfwl_event.h"
15
#
include
"xfa/fwl/cfwl_monthcalendar.h"
16
#
include
"xfa/fwl/cfwl_widget.h"
17
18
namespace
pdfium
{
19
20
#
define
FWL_STYLEEXT_DTP_ShortDateFormat
(
1L
<<
1
)
21
#
define
FWL_STYLEEXT_DTP_EditHAlignMask
(
3L
<<
4
)
22
#
define
FWL_STYLEEXT_DTP_EditHNear
(
0L
<<
4
)
23
#
define
FWL_STYLEEXT_DTP_EditHCenter
(
1L
<<
4
)
24
#
define
FWL_STYLEEXT_DTP_EditHFar
(
2L
<<
4
)
25
#
define
FWL_STYLEEXT_DTP_EditVAlignMask
(
3L
<<
6
)
26
#
define
FWL_STYLEEXT_DTP_EditVNear
(
0L
<<
6
)
27
#
define
FWL_STYLEEXT_DTP_EditVCenter
(
1L
<<
6
)
28
#
define
FWL_STYLEEXT_DTP_EditVFar
(
2L
<<
6
)
29
#
define
FWL_STYLEEXT_DTP_EditJustified
(
1L
<<
8
)
30
31
class
CFWL_DateTimeEdit;
32
33
class
CFWL_DateTimePicker
final
:
public
CFWL_Widget
{
34
public
:
35
CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
;
36
~
CFWL_DateTimePicker
()
override
;
37
38
// CFWL_Widget:
39
void
PreFinalize
()
override
;
40
void
Trace
(cppgc::Visitor* visitor)
const
override
;
41
FWL_Type
GetClassID
()
const
override
;
42
void
Update
()
override
;
43
FWL_WidgetHit
HitTest
(
const
CFX_PointF
& point)
override
;
44
void
DrawWidget
(
CFGAS_GEGraphics
* pGraphics,
45
const
CFX_Matrix
& matrix)
override
;
46
void
OnProcessMessage
(
CFWL_Message
* pMessage)
override
;
47
void
OnDrawWidget
(
CFGAS_GEGraphics
* pGraphics,
48
const
CFX_Matrix
& matrix)
override
;
49
50
void
GetCurSel
(int32_t& iYear, int32_t& iMonth, int32_t& iDay);
51
void
SetCurSel
(int32_t iYear, int32_t iMonth, int32_t iDay);
52
53
void
SetEditText
(
const
WideString
& wsText);
54
size_t
GetEditTextLength
()
const
;
55
WideString
GetEditText
()
const
;
56
void
ClearText
();
57
58
void
SelectAll
();
59
void
ClearSelection
();
60
bool
HasSelection
()
const
{
return
m_pEdit->HasSelection(); }
61
// Returns <start, count> of the selection.
62
std
::
pair
<
size_t
,
size_t
>
GetSelection
()
const
{
63
return
m_pEdit->GetSelection();
64
}
65
std
::optional<
WideString
>
Copy
();
66
std
::optional<
WideString
>
Cut
();
67
bool
Paste
(
const
WideString
& wsPaste);
68
bool
Undo
();
69
bool
Redo
();
70
bool
CanUndo
();
71
bool
CanRedo
();
72
73
CFX_RectF
GetBBox
()
const
;
74
void
SetEditLimit
(int32_t nLimit) { m_pEdit->SetLimit(nLimit); }
75
void
ModifyEditStyleExts
(uint32_t dwStyleExtsAdded,
76
uint32_t dwStyleExtsRemoved);
77
78
bool
IsMonthCalendarVisible
()
const
;
79
void
ShowMonthCalendar
();
80
void
HideMonthCalendar
();
81
void
ProcessSelChanged
(int32_t iYear, int32_t iMonth, int32_t iDay);
82
83
private
:
84
explicit
CFWL_DateTimePicker(CFWL_App* pApp);
85
86
void
DrawDropDownButton(
CFGAS_GEGraphics
* pGraphics,
87
const
CFX_Matrix
& mtMatrix);
88
WideString
FormatDateString(int32_t iYear, int32_t iMonth, int32_t iDay);
89
void
ResetEditAlignment();
90
void
GetPopupPos(
float
fMinHeight,
91
float
fMaxHeight,
92
const
CFX_RectF
& rtAnchor,
93
CFX_RectF
* pPopupRect);
94
void
OnFocusGained(
CFWL_Message
* pMsg);
95
void
OnFocusLost(
CFWL_Message
* pMsg);
96
void
OnLButtonDown(CFWL_MessageMouse* pMsg);
97
void
OnLButtonUp(CFWL_MessageMouse* pMsg);
98
void
OnMouseMove(CFWL_MessageMouse* pMsg);
99
void
OnMouseLeave(CFWL_MessageMouse* pMsg);
100
bool
NeedsToShowButton()
const
;
101
void
RepaintInflatedMonthCalRect();
102
103
bool
m_bLBtnDown =
false
;
104
Mask
<
CFWL_PartState
> m_iBtnState = CFWL_PartState::kChecked;
105
int32_t m_iYear = -1;
106
int32_t m_iMonth = -1;
107
int32_t m_iDay = -1;
108
float
m_fBtn = 0.0f;
109
CFX_RectF
m_BtnRect;
110
CFX_RectF
m_ClientRect;
111
cppgc::Member<CFWL_DateTimeEdit>
const
m_pEdit;
112
cppgc::Member<CFWL_MonthCalendar>
const
m_pMonthCal;
113
};
114
115
}
// namespace pdfium
116
117
// TODO(crbug.com/42271761): Remove.
118
using
pdfium
::CFWL_DateTimePicker;
119
120
#
endif
// XFA_FWL_CFWL_DATETIMEPICKER_H_
FWL_STATE_WGT_Focused
#define FWL_STATE_WGT_Focused
Definition
cfwl_widget.h:44
CFGAS_GEGraphics
Definition
cfgas_gegraphics.h:26
CFX_Matrix
Definition
fx_coordinates.h:440
CFX_RectF
Definition
fx_coordinates.h:276
CFX_RectF::Offset
void Offset(float dx, float dy)
Definition
fx_coordinates.h:327
CFX_RectF::left
float left
Definition
fx_coordinates.h:428
CFX_RectF::top
float top
Definition
fx_coordinates.h:429
fxcrt::Mask
Definition
mask.h:15
pdfium::CFDETextOutLargeBitmapTest
Definition
cfde_textout_unittest.cpp:117
pdfium::CFWL_DateTimeEdit::~CFWL_DateTimeEdit
~CFWL_DateTimeEdit() override
pdfium::CFWL_DateTimeEdit::OnProcessMessage
void OnProcessMessage(CFWL_Message *pMessage) override
Definition
cfwl_datetimeedit.cpp:22
pdfium::CFWL_DateTimePicker::Cut
std::optional< WideString > Cut()
Definition
cfwl_datetimepicker.cpp:445
pdfium::CFWL_DateTimePicker::CanRedo
bool CanRedo()
Definition
cfwl_datetimepicker.cpp:465
pdfium::CFWL_DateTimePicker::HasSelection
bool HasSelection() const
Definition
cfwl_datetimepicker.h:60
pdfium::CFWL_DateTimePicker::ModifyEditStyleExts
void ModifyEditStyleExts(uint32_t dwStyleExtsAdded, uint32_t dwStyleExtsRemoved)
Definition
cfwl_datetimepicker.cpp:181
pdfium::CFWL_DateTimePicker::SetEditText
void SetEditText(const WideString &wsText)
Definition
cfwl_datetimepicker.cpp:149
pdfium::CFWL_DateTimePicker::Undo
bool Undo()
Definition
cfwl_datetimepicker.cpp:453
pdfium::CFWL_DateTimePicker::GetCurSel
void GetCurSel(int32_t &iYear, int32_t &iMonth, int32_t &iDay)
Definition
cfwl_datetimepicker.cpp:125
pdfium::CFWL_DateTimePicker::DrawWidget
void DrawWidget(CFGAS_GEGraphics *pGraphics, const CFX_Matrix &matrix) override
Definition
cfwl_datetimepicker.cpp:99
pdfium::CFWL_DateTimePicker::ProcessSelChanged
void ProcessSelChanged(int32_t iYear, int32_t iMonth, int32_t iDay)
Definition
cfwl_datetimepicker.cpp:289
pdfium::CFWL_DateTimePicker::Trace
void Trace(cppgc::Visitor *visitor) const override
Definition
cfwl_datetimepicker.cpp:57
pdfium::CFWL_DateTimePicker::~CFWL_DateTimePicker
~CFWL_DateTimePicker() override
pdfium::CFWL_DateTimePicker::ClearSelection
void ClearSelection()
Definition
cfwl_datetimepicker.cpp:437
pdfium::CFWL_DateTimePicker::SetEditLimit
void SetEditLimit(int32_t nLimit)
Definition
cfwl_datetimepicker.h:74
pdfium::CFWL_DateTimePicker::OnDrawWidget
void OnDrawWidget(CFGAS_GEGraphics *pGraphics, const CFX_Matrix &matrix) override
Definition
cfwl_datetimepicker.cpp:352
pdfium::CFWL_DateTimePicker::ShowMonthCalendar
void ShowMonthCalendar()
Definition
cfwl_datetimepicker.cpp:205
pdfium::CFWL_DateTimePicker::IsMonthCalendarVisible
bool IsMonthCalendarVisible() const
Definition
cfwl_datetimepicker.cpp:244
pdfium::CFWL_DateTimePicker::HitTest
FWL_WidgetHit HitTest(const CFX_PointF &point) override
Definition
cfwl_datetimepicker.cpp:84
pdfium::CFWL_DateTimePicker::SelectAll
void SelectAll()
Definition
cfwl_datetimepicker.cpp:433
pdfium::CFWL_DateTimePicker::GetClassID
FWL_Type GetClassID() const override
Definition
cfwl_datetimepicker.cpp:63
pdfium::CFWL_DateTimePicker::GetSelection
std::pair< size_t, size_t > GetSelection() const
Definition
cfwl_datetimepicker.h:62
pdfium::CFWL_DateTimePicker::ClearText
void ClearText()
Definition
cfwl_datetimepicker.cpp:429
pdfium::CFWL_DateTimePicker::PreFinalize
void PreFinalize() override
Definition
cfwl_datetimepicker.cpp:52
pdfium::CFWL_DateTimePicker::SetCurSel
void SetCurSel(int32_t iYear, int32_t iMonth, int32_t iDay)
Definition
cfwl_datetimepicker.cpp:133
pdfium::CFWL_DateTimePicker::Paste
bool Paste(const WideString &wsPaste)
Definition
cfwl_datetimepicker.cpp:449
pdfium::CFWL_DateTimePicker::HideMonthCalendar
void HideMonthCalendar()
Definition
cfwl_datetimepicker.cpp:228
pdfium::CFWL_DateTimePicker::Update
void Update() override
Definition
cfwl_datetimepicker.cpp:67
pdfium::CFWL_DateTimePicker::GetEditText
WideString GetEditText() const
Definition
cfwl_datetimepicker.cpp:160
pdfium::CFWL_DateTimePicker::GetBBox
CFX_RectF GetBBox() const
Definition
cfwl_datetimepicker.cpp:168
pdfium::CFWL_DateTimePicker::GetEditTextLength
size_t GetEditTextLength() const
Definition
cfwl_datetimepicker.cpp:164
pdfium::CFWL_DateTimePicker::Redo
bool Redo()
Definition
cfwl_datetimepicker.cpp:457
pdfium::CFWL_DateTimePicker::Copy
std::optional< WideString > Copy()
Definition
cfwl_datetimepicker.cpp:441
pdfium::CFWL_DateTimePicker::CanUndo
bool CanUndo()
Definition
cfwl_datetimepicker.cpp:461
pdfium::CFWL_DateTimePicker::OnProcessMessage
void OnProcessMessage(CFWL_Message *pMessage) override
Definition
cfwl_datetimepicker.cpp:309
pdfium::CFWL_Edit
Definition
cfwl_edit.h:49
pdfium::CFWL_Edit::OnProcessMessage
void OnProcessMessage(CFWL_Message *pMessage) override
Definition
cfwl_edit.cpp:784
pdfium::CFWL_Edit::CFWL_Edit
CFWL_Edit(CFWL_App *app, const Properties &properties, CFWL_Widget *pOuter)
Definition
cfwl_edit.cpp:52
pdfium::CFWL_MessageMouse::MouseCommand
MouseCommand
Definition
cfwl_messagemouse.h:19
pdfium::CFWL_MessageMouse::MouseCommand::kLeftButtonDown
@ kLeftButtonDown
Definition
cfwl_messagemouse.h:20
pdfium::CFWL_MessageMouse::MouseCommand::kRightButtonDown
@ kRightButtonDown
Definition
cfwl_messagemouse.h:23
pdfium::CFWL_MessageMouse::m_dwCmd
const MouseCommand m_dwCmd
Definition
cfwl_messagemouse.h:38
pdfium::CFWL_Message
Definition
cfwl_message.h:18
pdfium::CFWL_Message::GetType
Type GetType() const
Definition
cfwl_message.h:26
pdfium::CFWL_Message::Type
Type
Definition
cfwl_message.h:22
pdfium::CFWL_Message::Type::kMouse
@ kMouse
Definition
cfwl_message.h:22
pdfium::CFWL_Widget::Properties
Definition
cfwl_widget.h:82
pdfium::CFWL_Widget
Definition
cfwl_widget.h:70
pdfium::CFWL_Widget::GetWidgetRect
virtual CFX_RectF GetWidgetRect()
Definition
cfwl_widget.cpp:76
pdfium::CFWL_Widget::RepaintRect
void RepaintRect(const CFX_RectF &pRect)
Definition
cfwl_widget.cpp:277
pdfium::CFWL_Widget::GetOuter
CFWL_Widget * GetOuter() const
Definition
cfwl_widget.h:133
CFX_PointF
CFX_PTemplate< float > CFX_PointF
Definition
fx_coordinates.h:51
CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
#define CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
Definition
heap.h:32
pdfium::FWL_Type
FWL_Type
Definition
cfwl_widget.h:48
pdfium::FWL_WidgetHit
FWL_WidgetHit
Definition
fwl_widgethit.h:12
pdfium::CFWL_PartState
CFWL_PartState
Definition
cfwl_themepart.h:22
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
WideString
fxcrt::WideString WideString
Definition
widestring.h:207
qtwebengine
src
3rdparty
chromium
third_party
pdfium
xfa
fwl
cfwl_datetimepicker.h
Generated on
for Qt by
1.18.0