blob: 1ca051e637aa9b21b8d21a2c674af9ef4b8eb6d3 [file] [log] [blame]
// Copyright 2016 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
#include "xfa/fxfa/parser/cxfa_valuedata.h"
#include "xfa/fxfa/parser/cxfa_node.h"
XFA_Element CXFA_ValueData::GetChildValueClassID() {
if (!m_pNode)
return XFA_Element::Unknown;
if (CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild))
return pNode->GetElementType();
return XFA_Element::Unknown;
}
bool CXFA_ValueData::GetChildValueContent(WideString& wsContent) {
if (!m_pNode)
return false;
CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild);
if (!pNode)
return false;
pdfium::Optional<WideString> content =
pNode->JSNode()->TryContent(false, true);
if (!content)
return false;
wsContent = *content;
return true;
}
CXFA_ArcData CXFA_ValueData::GetArcData() {
return CXFA_ArcData(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
: nullptr);
}
CXFA_LineData CXFA_ValueData::GetLineData() {
return CXFA_LineData(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
: nullptr);
}
CXFA_RectangleData CXFA_ValueData::GetRectangleData() {
return CXFA_RectangleData(
m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild) : nullptr);
}
CXFA_TextData CXFA_ValueData::GetTextData() {
return CXFA_TextData(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
: nullptr);
}
CXFA_ExDataData CXFA_ValueData::GetExData() {
return CXFA_ExDataData(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
: nullptr);
}
CXFA_ImageData CXFA_ValueData::GetImageData() {
return CXFA_ImageData(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
: nullptr);
}