Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cxfa_ui.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/parser/cxfa_ui.h"
8
9
#
include
"fxjs/xfa/cjx_node.h"
10
#
include
"xfa/fxfa/parser/cxfa_document.h"
11
12
namespace
{
13
14
constexpr
CXFA_Node
::
PropertyData
kUiPropertyData[] = {
15
{
XFA_Element
::CheckButton, 1, {
XFA_PropertyFlag
::
kOneOf
}},
16
{
XFA_Element
::ChoiceList, 1, {
XFA_PropertyFlag
::
kOneOf
}},
17
{
XFA_Element
::DefaultUi, 1, {
XFA_PropertyFlag
::
kOneOf
}},
18
{
XFA_Element
::Barcode, 1, {
XFA_PropertyFlag
::
kOneOf
}},
19
{
XFA_Element
::Button, 1, {
XFA_PropertyFlag
::
kOneOf
}},
20
{
XFA_Element
::DateTimeEdit, 1, {
XFA_PropertyFlag
::
kOneOf
}},
21
{
XFA_Element
::Picture, 1, {}},
22
{
XFA_Element
::ImageEdit, 1, {
XFA_PropertyFlag
::
kOneOf
}},
23
{
XFA_Element
::PasswordEdit, 1, {
XFA_PropertyFlag
::
kOneOf
}},
24
{
XFA_Element
::NumericEdit, 1, {
XFA_PropertyFlag
::
kOneOf
}},
25
{
XFA_Element
::Signature, 1, {
XFA_PropertyFlag
::
kOneOf
}},
26
{
XFA_Element
::TextEdit, 1, {
XFA_PropertyFlag
::
kOneOf
}},
27
{
XFA_Element
::Extras, 1, {}},
28
};
29
30
const
CXFA_Node
::
AttributeData
kUiAttributeData[] = {
31
{
XFA_Attribute
::Id,
XFA_AttributeType
::
CData
,
nullptr
},
32
{
XFA_Attribute
::Use,
XFA_AttributeType
::
CData
,
nullptr
},
33
{
XFA_Attribute
::Usehref,
XFA_AttributeType
::
CData
,
nullptr
},
34
};
35
36
}
// namespace
37
38
CXFA_Ui::CXFA_Ui(CXFA_Document* doc,
XFA_PacketType
packet)
39
: CXFA_Node(doc,
40
packet,
41
{XFA_XDPPACKET::kTemplate, XFA_XDPPACKET::kForm},
42
XFA_ObjectType::Node,
43
XFA_Element::Ui,
44
kUiPropertyData,
45
kUiAttributeData,
46
cppgc::MakeGarbageCollected<CJX_Node>(
47
doc->GetHeap()->GetAllocationHandle(),
48
this
)) {}
49
50
CXFA_Ui::~
CXFA_Ui
() =
default
;
51
52
bool
CXFA_Ui::
IsAOneOfChild
(
CXFA_Node
* child)
const
{
53
for
(
auto
& prop : kUiPropertyData) {
54
if
(prop.property != child->GetElementType())
55
continue
;
56
if
(!!(prop.flags & XFA_PropertyFlag::kOneOf))
57
return
true
;
58
}
59
return
false
;
60
}
CXFA_Node
Definition
cxfa_node.h:93
CXFA_Ui::~CXFA_Ui
~CXFA_Ui() override
CXFA_Ui::IsAOneOfChild
bool IsAOneOfChild(CXFA_Node *child) const
Definition
cxfa_ui.cpp:52
XFA_PropertyFlag
XFA_PropertyFlag
Definition
cxfa_node.h:88
XFA_PropertyFlag::kOneOf
@ kOneOf
XFA_AttributeType
XFA_AttributeType
Definition
fxfa_basic.h:83
XFA_AttributeType::CData
@ CData
XFA_Attribute
XFA_Attribute
Definition
fxfa_basic.h:67
XFA_Element
XFA_Element
Definition
fxfa_basic.h:75
XFA_PacketType
XFA_PacketType
Definition
fxfa_basic.h:44
CXFA_Node::AttributeData
Definition
cxfa_node.h:109
CXFA_Node::PropertyData
Definition
cxfa_node.h:95
qtwebengine
src
3rdparty
chromium
third_party
pdfium
xfa
fxfa
parser
cxfa_ui.cpp
Generated on Sat Sep 21 2024 01:05:06 for Qt by
1.12.0