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_calculate.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_calculate.h"
8
9
#
include
"fxjs/xfa/cjx_node.h"
10
#
include
"xfa/fxfa/parser/cxfa_document.h"
11
#
include
"xfa/fxfa/parser/cxfa_message.h"
12
#
include
"xfa/fxfa/parser/cxfa_script.h"
13
#
include
"xfa/fxfa/parser/cxfa_text.h"
14
15
namespace
{
16
17
const
CXFA_Node
::
PropertyData
kCalculatePropertyData[] = {
18
{
XFA_Element
::Message, 1, {}},
19
{
XFA_Element
::Script, 1, {}},
20
{
XFA_Element
::Extras, 1, {}},
21
};
22
23
const
CXFA_Node
::
AttributeData
kCalculateAttributeData[] = {
24
{
XFA_Attribute
::Id,
XFA_AttributeType
::
CData
,
nullptr
},
25
{
XFA_Attribute
::Use,
XFA_AttributeType
::
CData
,
nullptr
},
26
{
XFA_Attribute
::Usehref,
XFA_AttributeType
::
CData
,
nullptr
},
27
{
XFA_Attribute
::Override,
XFA_AttributeType
::
Enum
,
28
(
void
*)
XFA_AttributeValue
::Error},
29
};
30
31
}
// namespace
32
33
CXFA_Calculate::CXFA_Calculate(CXFA_Document* doc,
XFA_PacketType
packet)
34
: CXFA_Node(doc,
35
packet,
36
{XFA_XDPPACKET::kTemplate, XFA_XDPPACKET::kForm},
37
XFA_ObjectType::Node,
38
XFA_Element::Calculate,
39
kCalculatePropertyData,
40
kCalculateAttributeData,
41
cppgc::MakeGarbageCollected<CJX_Node>(
42
doc->GetHeap()->GetAllocationHandle(),
43
this
)) {}
44
45
CXFA_Calculate::~
CXFA_Calculate
() =
default
;
46
47
XFA_AttributeValue
CXFA_Calculate::
GetOverride
() {
48
return
JSObject()
49
->TryEnum(
XFA_Attribute
::Override,
false
)
50
.value_or(
XFA_AttributeValue
::Error);
51
}
52
53
CXFA_Script* CXFA_Calculate::
GetScriptIfExists
() {
54
return
GetChild<CXFA_Script>(0,
XFA_Element
::Script,
false
);
55
}
56
57
WideString
CXFA_Calculate::
GetMessageText
()
const
{
58
const
auto
* pNode = GetChild<CXFA_Message>(0,
XFA_Element
::Message,
false
);
59
if
(!pNode)
60
return
WideString
(
)
;
61
62
const
auto
* text = pNode->GetChild<CXFA_Text>(0,
XFA_Element
::Text,
false
);
63
return
text ? text->GetContent() :
WideString
(
)
;
64
}
CXFA_Calculate::~CXFA_Calculate
~CXFA_Calculate() override
CXFA_Calculate::GetScriptIfExists
CXFA_Script * GetScriptIfExists()
Definition
cxfa_calculate.cpp:53
CXFA_Calculate::GetOverride
XFA_AttributeValue GetOverride()
Definition
cxfa_calculate.cpp:47
CXFA_Calculate::GetMessageText
WideString GetMessageText() const
Definition
cxfa_calculate.cpp:57
CXFA_Node
Definition
cxfa_node.h:94
fxcrt::WideString::WideString
WideString()=default
XFA_AttributeType
XFA_AttributeType
Definition
fxfa_basic.h:83
XFA_AttributeType::Enum
@ Enum
Definition
fxfa_basic.h:84
XFA_AttributeType::CData
@ CData
Definition
fxfa_basic.h:85
XFA_Attribute
XFA_Attribute
Definition
fxfa_basic.h:67
XFA_Element
XFA_Element
Definition
fxfa_basic.h:75
XFA_AttributeValue
XFA_AttributeValue
Definition
fxfa_basic.h:60
XFA_PacketType
XFA_PacketType
Definition
fxfa_basic.h:44
CXFA_Node::AttributeData
Definition
cxfa_node.h:110
CXFA_Node::PropertyData
Definition
cxfa_node.h:96
WideString
fxcrt::WideString WideString
Definition
widestring.h:207
qtwebengine
src
3rdparty
chromium
third_party
pdfium
xfa
fxfa
parser
cxfa_calculate.cpp
Generated on
for Qt by
1.18.0