7#ifndef XFA_FXFA_PARSER_CXFA_REASON_H_
8#define XFA_FXFA_PARSER_CXFA_REASON_H_
10#include "xfa/fxfa/parser/cxfa_node.h"
CFX_XMLElement * ToXMLElement(CFX_XMLNode *pNode)
CFX_XMLText * ToXMLText(CFX_XMLNode *pNode)
void SetFont(RetainPtr< CFGAS_GEFont > pFont)
void SetStyles(const FDE_TextStyle &dwStyles)
void SetLineSpace(float fLineSpace)
void SetLineBreakTolerance(float fTolerance)
void SetFontSize(float fFontSize)
void SetScale(uint8_t newScale)
WideString ToWideString() const
EventParamScope(CFXJSE_Engine *pEngine, CXFA_Node *pTarget, CXFA_EventParam *pEventParam)
void SetRunAtType(XFA_AttributeValue eRunAt)
friend class EventParamScope
CFXJSE_Context::ExecutionResult RunScript(CXFA_Script::Type eScriptType, WideStringView wsScript, CXFA_Object *pThisObject)
constexpr CFX_RectF()=default
v8::Isolate * GetIsolate() const
void SetAttribute(const WideString &name, const WideString &value)
void RemoveAttribute(const WideString &name)
virtual Type GetType() const =0
void SetText(const WideString &wsText)
WideString GetPicture() const
std::tuple< XFA_AttributeValue, bool, float > Get3DStyle()
XFA_AttributeValue GetPresence()
CXFA_Script * GetScriptIfExists()
CXFA_Font * GetFontIfExists()
static constexpr XFA_AttributeValue kDefaultPlacementType
CXFA_Margin * GetMarginIfExists()
CXFA_Value * GetValueIfExists()
XFA_AttributeValue GetPlacementType()
CXFA_Node * DataMerge_CopyContainer(CXFA_Node *pTemplateNode, CXFA_Node *pFormNode, CXFA_Node *pDataScope, bool bOneInstance, bool bDataMerge, bool bUpLevel)
void DataMerge_UpdateBindingRelations(CXFA_Node *pFormUpdateRoot)
XFA_VERSION GetCurVersionMode() const
CFXJSE_Engine * GetScriptContext() const
bool is_scripting() const
CXFA_Object * GetXFAObject(XFA_HashCode wsNodeNameHash)
CXFA_EventParam(XFA_EVENTTYPE type)
XFA_Element GetEventType() const
CXFA_Script * GetScriptIfExists()
virtual WideString GetAppTitle() const =0
virtual int32_t MsgBox(const WideString &wsMessage, const WideString &wsTitle, uint32_t dwIconType, uint32_t dwButtonType)=0
CallbackIface * GetAppProvider() const
CXFA_FontMgr * GetXFAFontMgr() const
LayoutStatus GetLayoutStatus() const
void AddValidateNode(CXFA_Node *node)
CXFA_FFDoc * GetDoc() const
void AddNullTestMsg(const WideString &msg)
void UpdateUIDisplay(CXFA_Node *pNode, CXFA_FFWidget *pExcept)
CXFA_Document * GetXFADoc() const
CXFA_FFApp * GetApp() const
RetainPtr< IFX_SeekableReadStream > OpenLinkedFile(const WideString &wsLink)
void OnValueChanged(CXFA_Node *pSender, XFA_Attribute eAttr, CXFA_Node *pParentNode, CXFA_Node *pWidgetNode)
void OnNodeReady(CXFA_Node *pNode)
void OnChildAdded(CXFA_Node *pSender)
void OnContainerChanged()
virtual CXFA_TextEditData * AsTextEditData()
CXFA_FieldLayoutData * AsFieldLayoutData() override
std::vector< float > m_FieldSplitArray
~CXFA_FieldLayoutData() override=default
void Trace(cppgc::Visitor *visitor) const override
cppgc::Member< CXFA_TextLayout > m_pCapTextLayout
bool LoadCaption(CXFA_FFDoc *doc, CXFA_Node *pNode)
CXFA_FieldLayoutData()=default
cppgc::Member< CXFA_TextProvider > m_pCapTextProvider
std::unique_ptr< CFDE_TextOut > m_pTextOut
virtual CXFA_ImageEditData * AsImageEditData()
RetainPtr< CFGAS_GEFont > GetFont(CXFA_FFDoc *hDoc, const WideString &wsFontFamily, uint32_t dwFontStyles)
float GetFontSize() const
void SetBitmap(RetainPtr< CFX_DIBitmap > pBitmap)
bool LoadImageData(CXFA_FFDoc *doc, CXFA_Node *pNode)
CXFA_ImageEditData * AsImageEditData() override
~CXFA_ImageEditData() override=default
RetainPtr< CFX_DIBitmap > GetBitmap()
CXFA_ImageLayoutData * AsImageLayoutData() override
bool LoadImageData(CXFA_FFDoc *doc, CXFA_Node *pNode)
RetainPtr< CFX_DIBitmap > GetBitmap()
void SetBitmap(RetainPtr< CFX_DIBitmap > pBitmap)
~CXFA_ImageLayoutData() override=default
void SetTransferEncoding(XFA_AttributeValue iTransferEncoding)
void SetContentType(const WideString &wsContentType)
void SetHref(const WideString &wsHref)
WideString GetContentType()
XFA_AttributeValue GetTransferEncoding()
CXFA_LocaleValue(ValueType dwType, const WideString &wsValue, const WideString &wsFormat, GCedLocaleIface *pLocale, CXFA_LocaleMgr *pLocaleMgr)
const WideString & GetValue() const
CXFA_LocaleValue(ValueType eType, const WideString &wsValue, CXFA_LocaleMgr *pLocaleMgr)
bool FormatPatterns(WideString &wsResult, const WideString &wsFormat, GCedLocaleIface *pLocale, XFA_ValuePicture eValueType) const
CXFA_LocaleValue & operator=(const CXFA_LocaleValue &that)
bool ValidateValue(const WideString &wsValue, const WideString &wsPattern, GCedLocaleIface *pLocale, WideString *pMatchFormat)
ValueType GetType() const
float GetBottomInset() const
float GetLeftInset() const
float GetTopInset() const
float GetRightInset() const
CXFA_Measurement(float fValue, XFA_Unit eUnit)
float ToUnit(XFA_Unit eUnit) const
CFX_XMLNode * GetXMLMappingNode() const
FX_ARGB GetTextColor() const
void RemoveChildAndNotify(CXFA_Node *pNode, bool bNotify)
CXFA_Caption * GetCaptionIfExists() const
bool HasButtonDown() const
XFA_Attribute GetAttribute(size_t i) const
CXFA_Font * GetOrCreateFontIfPossible()
float GetFontSize() const
CXFA_Node * GetFirstContainerChild() const
CXFA_Value * GetFormValueIfExists() const
absl::optional< bool > GetDefaultBoolean(XFA_Attribute attr) const
bool LoadCaption(CXFA_FFDoc *doc)
CXFA_Node(CXFA_Document *pDoc, XFA_PacketType ePacket, Mask< XFA_XDPPACKET > validPackets, XFA_ObjectType oType, XFA_Element eType, pdfium::span< const PropertyData > properties, pdfium::span< const AttributeData > attributes, CJX_Object *js_object)
bool IsVerticalScrollPolicyOff()
bool LoadLayoutImage(CXFA_FFDoc *doc)
bool HasProperty(XFA_Element property) const
WideString NormalizeNumStr(const WideString &wsValue)
int32_t GetFracDigits() const
WideString GetValue(XFA_ValuePicture eValueType)
bool LoadEditImage(CXFA_FFDoc *doc)
CXFA_Node * GetExclGroupIfExists()
int32_t GetLeadDigits() const
void Trace(cppgc::Visitor *visitor) const override
CXFA_Occur * GetOccurIfExists()
bool IsOpenAccess() const
void SetNodeAndDescendantsUnused()
CXFA_Node * GetFirstChildByName(uint32_t dwNodeNameHash) const
bool SetValue(XFA_ValuePicture eValueType, const WideString &wsValue)
std::vector< CXFA_Event * > GetEventByActivity(XFA_AttributeValue iActivity, bool bIsFormReady)
size_t GetIndexByClassName()
void SetTemplateNode(CXFA_Node *pTemplateNode)
std::vector< CXFA_Node * > GetBindItemsCopy() const
WideString GetRawValue() const
CXFA_Node * GetContainerParent() const
CXFA_Node * Clone(bool bRecursive)
CXFA_Node * GetNextContainerSibling() const
XFA_AttributeValue GetIntact()
void InsertChildAndNotify(CXFA_Node *pNode, CXFA_Node *pBeforeNode)
float GetCheckButtonSize()
size_t CountChoiceListItems(bool bSaveValue)
CXFA_Validate * GetValidateIfExists() const
int32_t GetSelectedItem(int32_t nIndex)
CXFA_Node * GetFirstChildByName(WideStringView wsNodeName) const
CXFA_TextLayout * GetTextLayout()
int32_t GetRotate() const
absl::optional< XFA_AttributeValue > GetDefaultEnum(XFA_Attribute attr) const
void SetDataDescriptionNode(CXFA_Node *pDataDescriptionNode)
void SetItemState(int32_t nIndex, bool bSelected, bool bNotify, bool bScriptModify)
CXFA_Node * GetNextSameNameSibling(uint32_t dwNodeNameHash) const
CXFA_Para * GetParaIfExists() const
CXFA_Node * GetInstanceMgrOfSubform()
RetainPtr< CFX_DIBitmap > GetLayoutImage()
static CXFA_Node * Create(CXFA_Document *doc, XFA_Element element, XFA_PacketType packet)
CXFA_Node * CreateInstanceIfPossible(bool bDataMerge)
virtual XFA_Element GetValueNodeType() const
WideString NumericLimit(const WideString &wsValue)
void SetSelectedMemberByValue(WideStringView wsValue, bool bNotify, bool bScriptModify, bool bSyncData)
void InsertItem(const WideString &wsLabel, const WideString &wsValue, bool bNotify)
void SetBindingNode(CXFA_Node *node)
CXFA_Node * GetSelectedMember()
CXFA_Node * GetOrCreateProperty(int32_t index, XFA_Element eProperty)
void SendAttributeChangeMessage(XFA_Attribute eAttribute, bool bScriptModify)
void AddBindItem(CXFA_Node *pFormNode)
bool IsHorizontalScrollPolicyOff()
WideString GetFormatDataValue(const WideString &wsValue)
CXFA_Calculate * GetCalculateIfExists() const
float GetLineHeight() const
absl::optional< float > TryWidth()
bool HasBindItems() const
bool DeleteItem(int32_t nIndex, bool bNotify, bool bScriptModify)
void SetFlag(XFA_NodeFlag dwFlag)
XFA_EventError ExecuteScript(CXFA_FFDocView *pDocView, CXFA_Script *script, CXFA_EventParam *pEventParam)
bool IsChoiceListMultiSelect()
std::vector< CXFA_Node * > GetNodeListWithFilter(Mask< XFA_NodeFilter > dwFilter)
absl::optional< int32_t > GetDefaultInteger(XFA_Attribute attr) const
CXFA_Node * GetOneChildOfClass(WideStringView wsClass)
CXFA_Node * CreateSamePacketNode(XFA_Element eType)
void SetPreNull(bool val)
std::vector< int32_t > GetSelectedItems()
bool GetItemState(int32_t nIndex)
void ClearFlag(XFA_NodeFlag dwFlag)
RetainPtr< CFX_DIBitmap > GetEditImage()
WideString GetNameExpression()
bool HasAttribute(XFA_Attribute attr) const
uint8_t PropertyOccurrenceCount(XFA_Element property) const
int32_t CountSelectedItems()
CXFA_Node * GetTemplateNodeIfExists() const
WideString GetNormalizeDataValue(const WideString &wsValue)
absl::optional< WideString > GetDefaultCData(XFA_Attribute attr) const
size_t GetIndex(bool bIsProperty, bool bIsClassIndex)
CXFA_Border * GetOrCreateBorderIfPossible()
std::vector< CXFA_Node * > GetSiblings(bool bIsClassName)
absl::optional< WideString > GetChoiceListItem(int32_t nIndex, bool bSaveValue)
CFX_Size GetLayoutImageDpi() const
std::vector< WideString > GetChoiceListItems(bool bSaveValue)
CXFA_Node * GetExclGroupFirstMember()
CXFA_Node * GetDataDescriptionNode()
CXFA_Node * GetPrevContainerSibling() const
void SetEditImage(RetainPtr< CFX_DIBitmap > newImage)
CXFA_Node * GetOneChildNamed(WideStringView wsName)
CXFA_Node * GetBindData()
uint32_t GetNameHash() const
GCedLocaleIface * GetLocale()
CXFA_Node * GetExclGroupNextMember(CXFA_Node *pNode)
CFX_XMLNode * CreateXMLMappingNode()
void SetXMLMappingNode(CFX_XMLNode *node)
CXFA_Node * SetSelectedMember(WideStringView wsName)
void SetToXML(const WideString &value)
bool IsUserInteractive() const
std::pair< CXFA_Node *, int32_t > GetProperty(int32_t index, XFA_Element eProperty) const
CXFA_Node * CloneTemplateToForm(bool bRecursive)
void ClearAllSelections()
bool HasButtonRollover() const
CXFA_Font * GetFontIfExists() const
CXFA_Node * GetContainerNode()
bool RemoveBindItem(CXFA_Node *pFormNode)
absl::optional< WideString > GetLocaleName()
WideString GetPictureContent(XFA_ValuePicture ePicture)
void SetSelectedItems(const std::vector< int32_t > &iSelArray, bool bNotify, bool bScriptModify, bool bSyncData)
CXFA_TextLayout * GetCaptionTextLayout()
XFA_EventError ProcessEvent(CXFA_FFDocView *pDocView, XFA_AttributeValue iActivity, CXFA_EventParam *pEventParam)
std::vector< WideString > GetSelectedItemsValue()
void InsertChildAndNotify(int32_t index, CXFA_Node *pNode)
absl::optional< float > FindSplitPos(CXFA_FFDocView *pDocView, size_t szBlockIndex, float fCalcHeight)
CFX_Size GetEditImageDpi() const
bool IsWidgetReady() const
bool HasPropertyFlag(XFA_Element property, XFA_PropertyFlag flag) const
absl::optional< CXFA_Measurement > GetDefaultMeasurement(XFA_Attribute attr) const
CXFA_Validate * GetOrCreateValidateIfPossible()
BoolScriptResult ExecuteBoolScript(CXFA_FFDocView *pDocView, CXFA_Script *script, CXFA_EventParam *pEventParam)
size_t CountChildren(XFA_Element eType, bool bOnlyChild)
XFA_AttributeType GetAttributeType(XFA_Attribute type) const
RetainPtr< CFGAS_GEFont > GetFGASFont(CXFA_FFDoc *doc)
CXFA_Node * GetUIChildNode()
XFA_PacketType GetPacketType() const
CXFA_Border * GetUIBorder()
void SetCheckState(XFA_CheckState eCheckState)
XFA_FFWidgetType GetFFWidgetType()
CXFA_Margin * GetMarginIfExists() const
void InsertItem(CXFA_Node *pNewInstance, int32_t iPos, int32_t iCount, bool bMoveDataBindingNodes)
std::vector< CXFA_Node * > GetNodeListForType(XFA_Element eTypeFilter)
XFA_EventError ProcessValidate(CXFA_FFDocView *pDocView, int32_t iFlags)
bool IsChoiceListAllowTextEntry()
void SetLayoutImage(RetainPtr< CFX_DIBitmap > newImage)
WideString GetItemValue(WideStringView wsLabel)
CXFA_Node * GetItemIfExists(int32_t iIndex)
bool IsChoiceListCommitOnSelect()
XFA_EventError ProcessCalculate(CXFA_FFDocView *pDocView)
void StartWidgetLayout(CXFA_FFDoc *doc, float *pCalcWidth, float *pCalcHeight)
virtual XFA_FFWidgetType GetDefaultFFWidgetType() const
bool PresenceRequiresSpace() const
bool IsTransparent() const
bool IsAncestorOf(const CXFA_Node *that) const
void RemoveItem(CXFA_Node *pRemoveInstance, bool bRemoveDataBinding)
XFA_CheckState GetCheckState()
bool IsNeedSavingXMLNode() const
std::pair< XFA_Element, int32_t > GetMaxChars() const
absl::optional< int32_t > GetNumberOfCells()
void SetInitializedFlagAndNotify()
bool IsInitialized() const
CXFA_Node * GetModelNode()
CXFA_Border * GetBorderIfExists() const
~CXFA_NumberOfCopies() override
~CXFA_NumberPattern() override
~CXFA_NumberPatterns() override
~CXFA_NumberSymbol() override
~CXFA_NumberSymbols() override
XFA_Element GetValueNodeType() const override
XFA_FFWidgetType GetDefaultFFWidgetType() const override
~CXFA_NumericEdit() override
XFA_Element GetElementType() const
uint32_t GetClassHashCode() const
CXFA_Document * GetDocument() const
virtual void Trace(cppgc::Visitor *visitor) const
CXFA_Object(CXFA_Document *pDocument, XFA_ObjectType objectType, XFA_Element eType, CJX_Object *jsObject)
bool IsContainerNode() const
~CXFA_OpenAction() override
~CXFA_Operation() override
~CXFA_OutputBin() override
~CXFA_OutputXSL() override
~CXFA_Overflow() override
~CXFA_Overprint() override
~CXFA_PageArea() override
~CXFA_PageOffset() override
XFA_AttributeValue GetVerticalAlign()
~CXFA_Password() override
~CXFA_Permissions() override
~CXFA_PickTrayByPDFSize() override
~CXFA_PlaintextMetadata() override
~CXFA_Presence() override
~CXFA_PrintHighQuality() override
~CXFA_PrintScaling() override
~CXFA_PrinterName() override
~CXFA_Producer() override
XFA_AttributeValue GetRunAt()
WideString GetExpression()
float GetThickness() const
CXFA_TextEditData()=default
CXFA_TextEditData * AsTextEditData() override
~CXFA_TextEditData() override=default
CXFA_TextProvider * GetTextProvider() const
CXFA_TextLayoutData * AsTextLayoutData() override
CXFA_TextLayout * GetTextLayout() const
~CXFA_TextLayoutData() override=default
void Trace(cppgc::Visitor *visitor) const override
void LoadText(CXFA_FFDoc *doc, CXFA_Node *pNode)
float StartLayout(float fWidth)
CFX_SizeF CalcSize(const CFX_SizeF &minSize, const CFX_SizeF &maxSize)
float DoLayout(float fTextHeight)
WideString GetContent() const
bool IsAOneOfChild(CXFA_Node *child) const
XFA_AttributeValue GetNullTest()
XFA_AttributeValue GetFormatTest()
WideString GetNullMessageText()
WideString GetScriptMessageText()
CXFA_Script * GetScriptIfExists()
XFA_AttributeValue GetScriptTest()
WideString GetPicture() const
WideString GetFormatMessageText()
CXFA_Text * GetTextIfExists() const
WideString GetChildValueContent() const
CXFA_Image * GetImageIfExists() const
virtual WideString GetDecimalSymbol() const =0
virtual WideString GetDatePattern(DateTimeSubcategory eType) const =0
virtual WideString GetName() const =0
virtual WideString GetTimePattern(DateTimeSubcategory eType) const =0
virtual WideString GetGroupingSymbol() const =0
virtual WideString GetMinusSymbol() const =0
WideString & operator+=(const WideString &str)
static WideString Format(const wchar_t *pFormat,...)
WideString & operator=(WideString &&that) noexcept
WideString & operator+=(const wchar_t *str)
WideString & operator+=(wchar_t ch)
void TrimLeft(wchar_t target)
CharType operator[](const size_t index) const
const wchar_t * c_str() const
WideString(const WideString &other)
bool operator!=(const WideString &other) const
WideString & operator=(const WideString &that)
static WideString FromASCII(ByteStringView str)
const_iterator end() const
const_iterator begin() const
bool EqualsASCII(ByteStringView that) const
ByteString ToDefANSI() const
@ XFA_EVENT_InitCalculate
CXFA_Node * ToNode(CXFA_Object *pObj)
bool FXSYS_IsDecimalDigit(wchar_t c)
#define FXFONT_FORCE_BOLD
#define CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
WideString operator+(const WideString &str1, const WideString &str2)
WideString operator+(const wchar_t *str1, const WideString &str2)
WideString operator+(const WideString &str1, const wchar_t *str2)
UNOWNED_PTR_EXCLUSION void * default_value
XFA_EventError xfa_event_result
void XFA_EventErrorAccumulate(XFA_EventError *pAcc, XFA_EventError eNew)
CXFA_LocaleValue XFA_GetLocaleValue(const CXFA_Node *pNode)