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
cxfa_ffpasswordedit.cpp
Go to the documentation of this file.
1
// Copyright 2017 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
#
include
"xfa/fxfa/cxfa_ffpasswordedit.h"
8
9
#
include
"core/fxcrt/check.h"
10
#
include
"xfa/fwl/cfwl_edit.h"
11
#
include
"xfa/fwl/cfwl_notedriver.h"
12
#
include
"xfa/fxfa/cxfa_ffdoc.h"
13
#
include
"xfa/fxfa/parser/cxfa_node.h"
14
#
include
"xfa/fxfa/parser/cxfa_passwordedit.h"
15
16
CXFA_FFPasswordEdit::CXFA_FFPasswordEdit(
CXFA_Node
* pNode,
17
CXFA_PasswordEdit* password_node)
18
:
CXFA_FFTextEdit
(
pNode
)
, password_node_(password_node) {}
19
20
CXFA_FFPasswordEdit::~
CXFA_FFPasswordEdit
() =
default
;
21
22
void
CXFA_FFPasswordEdit::
Trace
(
cppgc
::Visitor* visitor)
const
{
23
CXFA_FFTextEdit::Trace(visitor);
24
visitor->Trace(password_node_);
25
}
26
27
bool
CXFA_FFPasswordEdit::
LoadWidget
() {
28
DCHECK
(!IsLoaded());
29
30
CFWL_Edit
* pWidget = cppgc::MakeGarbageCollected<CFWL_Edit>(
31
GetFWLApp()->GetHeap()->GetAllocationHandle(), GetFWLApp(),
32
CFWL_Widget::Properties(),
nullptr
);
33
SetNormalWidget
(pWidget);
34
pWidget
->
SetAdapterIface
(
this
);
35
36
CFWL_NoteDriver* pNoteDriver = pWidget
->
GetFWLApp
()->GetNoteDriver();
37
pNoteDriver
->
RegisterEventTarget
(pWidget, pWidget);
38
m_pOldDelegate = pWidget->GetDelegate();
39
pWidget
->
SetDelegate
(
this
);
40
41
{
42
CFWL_Widget
::
ScopedUpdateLock
update_lock(pWidget);
43
pWidget
->
SetText
(m_pNode->GetValue(XFA_ValuePicture::kDisplay));
44
UpdateWidgetProperty
(
)
;
45
}
46
47
return
CXFA_FFField
::
LoadWidget
();
48
}
49
50
void
CXFA_FFPasswordEdit::
UpdateWidgetProperty
() {
51
CFWL_Edit
* pWidget =
static_cast
<
CFWL_Edit
*>(GetNormalWidget());
52
if
(!pWidget)
53
return
;
54
55
uint32_t dwExtendedStyle =
FWL_STYLEEXT_EDT_ShowScrollbarFocus
|
56
FWL_STYLEEXT_EDT_OuterScrollbar
|
57
FWL_STYLEEXT_EDT_Password
;
58
dwExtendedStyle |=
UpdateUIProperty
();
59
60
WideString
password = password_node_->GetPasswordChar();
61
if
(!password.IsEmpty())
62
pWidget
->
SetAliasChar
(password[0]);
63
if
(!m_pNode->IsHorizontalScrollPolicyOff())
64
dwExtendedStyle |=
FWL_STYLEEXT_EDT_AutoHScroll
;
65
if
(!m_pNode->IsOpenAccess() || !GetDoc()->GetXFADoc()->IsInteractive())
66
dwExtendedStyle |=
FWL_STYLEEXT_EDT_ReadOnly
;
67
68
dwExtendedStyle |=
GetAlignment
();
69
GetNormalWidget()->ModifyStyleExts(dwExtendedStyle, 0xFFFFFFFF);
70
}
FWL_STYLEEXT_EDT_ShowScrollbarFocus
#define FWL_STYLEEXT_EDT_ShowScrollbarFocus
Definition
cfwl_edit.h:42
FWL_STYLEEXT_EDT_OuterScrollbar
#define FWL_STYLEEXT_EDT_OuterScrollbar
Definition
cfwl_edit.h:43
FWL_STYLEEXT_EDT_AutoHScroll
#define FWL_STYLEEXT_EDT_AutoHScroll
Definition
cfwl_edit.h:26
FWL_STYLEEXT_EDT_ReadOnly
#define FWL_STYLEEXT_EDT_ReadOnly
Definition
cfwl_edit.h:23
FWL_STYLEEXT_EDT_Password
#define FWL_STYLEEXT_EDT_Password
Definition
cfwl_edit.h:29
DCHECK
#define DCHECK
Definition
check.h:33
CXFA_FFField
Definition
cxfa_fffield.h:18
CXFA_FFField::LoadWidget
bool LoadWidget() override
Definition
cxfa_fffield.cpp:139
CXFA_FFField::SetNormalWidget
void SetNormalWidget(CFWL_Widget *widget)
Definition
cxfa_fffield.cpp:131
CXFA_FFField::UpdateUIProperty
uint32_t UpdateUIProperty()
Definition
cxfa_fffield.cpp:350
CXFA_FFPasswordEdit::~CXFA_FFPasswordEdit
~CXFA_FFPasswordEdit() override
CXFA_FFPasswordEdit::LoadWidget
bool LoadWidget() override
Definition
cxfa_ffpasswordedit.cpp:27
CXFA_FFPasswordEdit::UpdateWidgetProperty
void UpdateWidgetProperty() override
Definition
cxfa_ffpasswordedit.cpp:50
CXFA_FFPasswordEdit::Trace
void Trace(cppgc::Visitor *visitor) const override
Definition
cxfa_ffpasswordedit.cpp:22
CXFA_FFTextEdit
Definition
cxfa_fftextedit.h:24
CXFA_FFTextEdit::GetAlignment
uint32_t GetAlignment()
Definition
cxfa_fftextedit.cpp:232
CXFA_FFTextEdit::CXFA_FFTextEdit
CXFA_FFTextEdit(CXFA_Node *pNode)
Definition
cxfa_fftextedit.cpp:34
CXFA_Node
Definition
cxfa_node.h:94
pdfium::CFWL_Edit
Definition
cfwl_edit.h:49
pdfium::CFWL_Edit::SetAliasChar
void SetAliasChar(wchar_t wAlias)
Definition
cfwl_edit.cpp:205
pdfium::CFWL_Edit::SetText
virtual void SetText(const WideString &wsText)
Definition
cfwl_edit.cpp:150
pdfium::CFWL_NoteDriver::RegisterEventTarget
void RegisterEventTarget(CFWL_Widget *pListener, CFWL_Widget *pEventSource)
Definition
cfwl_notedriver.cpp:52
pdfium::CFWL_Widget::ScopedUpdateLock
Definition
cfwl_widget.h:89
pdfium::CFWL_Widget
Definition
cfwl_widget.h:70
pdfium::CFWL_Widget::SetDelegate
void SetDelegate(IFWL_WidgetDelegate *delegate)
Definition
cfwl_widget.h:143
pdfium::CFWL_Widget::SetAdapterIface
void SetAdapterIface(AdapterIface *pItem)
Definition
cfwl_widget.h:156
pdfium::CFWL_Widget::GetFWLApp
CFWL_App * GetFWLApp() const
Definition
cfwl_widget.h:151
cppgc
Definition
heap.h:12
WideString
fxcrt::WideString WideString
Definition
widestring.h:207
qtwebengine
src
3rdparty
chromium
third_party
pdfium
xfa
fxfa
cxfa_ffpasswordedit.cpp
Generated on
for Qt by
1.18.0