| // Copyright 2014 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 |
| |
| #ifndef XFA_INCLUDE_FXFA_FXFA_OBJECTACC_H_ |
| #define XFA_INCLUDE_FXFA_FXFA_OBJECTACC_H_ |
| |
| #include "core/include/fxge/fx_dib.h" |
| #include "xfa/src/fxfa/src/common/xfa_object.h" |
| |
| class CXFA_Node; |
| class IFX_Locale; |
| class CXFA_Margin; |
| class CXFA_Caption; |
| class CXFA_Para; |
| class CXFA_Event; |
| class CXFA_Script; |
| class CXFA_Value; |
| class CXFA_Calculate; |
| class CXFA_Line; |
| class CXFA_Text; |
| class CXFA_ExData; |
| class CXFA_Image; |
| class CXFA_Validate; |
| class CXFA_Variables; |
| class CXFA_Bind; |
| class CXFA_Assist; |
| class CXFA_ToolTip; |
| class CXFA_Keep; |
| class CXFA_Submit; |
| class CXFA_BindItems; |
| class CXFA_Stroke; |
| class CXFA_Corner; |
| class CXFA_Edge; |
| class CXFA_Box; |
| class CXFA_Arc; |
| class CXFA_Border; |
| class CXFA_Rectangle; |
| class CXFA_WidgetData; |
| class CXFA_Occur; |
| class CXFA_Filter; |
| class CXFA_Certificate; |
| class CXFA_WrapCertificate; |
| class CXFA_Oids; |
| class CXFA_SubjectDNs; |
| class CXFA_DigestMethods; |
| class CXFA_Encodings; |
| class CXFA_EncryptionMethods; |
| class CXFA_Reasons; |
| class CXFA_Manifest; |
| |
| inline FX_BOOL XFA_IsSpace(FX_WCHAR c) { |
| return (c == 0x20) || (c == 0x0d) || (c == 0x0a) || (c == 0x09); |
| } |
| inline FX_BOOL XFA_IsDigit(FX_WCHAR c) { |
| return c >= '0' && c <= '9'; |
| } |
| typedef CFX_ArrayTemplate<CXFA_Object*> CXFA_ObjArray; |
| |
| class CXFA_Data { |
| public: |
| explicit CXFA_Data(CXFA_Node* pNode) : m_pNode(pNode) {} |
| |
| operator bool() const { return !!m_pNode; } |
| CXFA_Node* GetNode() const { return m_pNode; } |
| XFA_ELEMENT GetClassID() const; |
| |
| protected: |
| FX_BOOL TryMeasure(XFA_ATTRIBUTE eAttr, |
| FX_FLOAT& fValue, |
| FX_BOOL bUseDefault = FALSE) const; |
| FX_BOOL SetMeasure(XFA_ATTRIBUTE eAttr, FX_FLOAT fValue); |
| |
| CXFA_Node* m_pNode; |
| }; |
| |
| class CXFA_Fill : public CXFA_Data { |
| public: |
| explicit CXFA_Fill(CXFA_Node* pNode); |
| ~CXFA_Fill(); |
| |
| int32_t GetPresence(); |
| FX_ARGB GetColor(FX_BOOL bText = FALSE); |
| int32_t GetFillType(); |
| int32_t GetPattern(FX_ARGB& foreColor); |
| int32_t GetStipple(FX_ARGB& stippleColor); |
| int32_t GetLinear(FX_ARGB& endColor); |
| int32_t GetRadial(FX_ARGB& endColor); |
| FX_BOOL SetPresence(int32_t iPresence); |
| void SetColor(FX_ARGB color); |
| FX_BOOL SetFillType(int32_t iType); |
| FX_BOOL SetPattern(int32_t iPattern, FX_ARGB foreColor); |
| FX_BOOL SetStipple(int32_t iStipple, FX_ARGB stippleColor); |
| FX_BOOL SetLinear(int32_t iLinear, FX_ARGB endColor); |
| FX_BOOL SetRadial(int32_t iRadial, FX_ARGB endColor); |
| }; |
| |
| class CXFA_Margin : public CXFA_Data { |
| public: |
| explicit CXFA_Margin(CXFA_Node* pNode); |
| FX_BOOL GetLeftInset(FX_FLOAT& fInset, FX_FLOAT fDefInset = 0) const; |
| FX_BOOL GetTopInset(FX_FLOAT& fInset, FX_FLOAT fDefInset = 0) const; |
| FX_BOOL GetRightInset(FX_FLOAT& fInset, FX_FLOAT fDefInset = 0) const; |
| FX_BOOL GetBottomInset(FX_FLOAT& fInset, FX_FLOAT fDefInset = 0) const; |
| FX_BOOL SetLeftInset(FX_FLOAT fInset); |
| FX_BOOL SetTopInset(FX_FLOAT fInset); |
| FX_BOOL SetRightInset(FX_FLOAT fInset); |
| FX_BOOL SetBottomInset(FX_FLOAT fInset); |
| }; |
| |
| class CXFA_Font : public CXFA_Data { |
| public: |
| explicit CXFA_Font(CXFA_Node* pNode); |
| |
| FX_FLOAT GetBaselineShift(); |
| FX_FLOAT GetHorizontalScale(); |
| FX_FLOAT GetVerticalScale(); |
| FX_FLOAT GetLetterSpacing(); |
| int32_t GetLineThrough(); |
| int32_t GetLineThroughPeriod(); |
| int32_t GetOverline(); |
| int32_t GetOverlinePeriod(); |
| int32_t GetUnderline(); |
| int32_t GetUnderlinePeriod(); |
| FX_FLOAT GetFontSize(); |
| void GetTypeface(CFX_WideStringC& wsTypeFace); |
| |
| FX_BOOL IsBold(); |
| FX_BOOL IsItalic(); |
| FX_BOOL IsUseKerning(); |
| |
| FX_ARGB GetColor(); |
| void SetColor(FX_ARGB color); |
| |
| FX_BOOL SetBaselineShift(FX_FLOAT fBaselineShift); |
| FX_BOOL SetHorizontalScale(FX_FLOAT fHorizontalScale); |
| FX_BOOL SetVerticalScale(FX_FLOAT fVerticalScale); |
| FX_BOOL SetLetterSpacing(FX_FLOAT fLetterSpacing, XFA_UNIT eUnit); |
| FX_BOOL SetLineThrough(int32_t iLineThrough); |
| FX_BOOL SetLineThroughPeriod(int32_t iLineThroughPeriod); |
| FX_BOOL SetOverline(int32_t iOverline); |
| FX_BOOL SetOverlinePeriod(int32_t iOverlinePeriod); |
| FX_BOOL SetUnderline(int32_t iUnderline); |
| FX_BOOL SetUnderlinePeriod(int32_t iUnderlinePeriod); |
| }; |
| |
| class CXFA_Caption : public CXFA_Data { |
| public: |
| explicit CXFA_Caption(CXFA_Node* pNode); |
| |
| int32_t GetPresence(); |
| int32_t GetPlacementType(); |
| FX_FLOAT GetReserve(); |
| CXFA_Margin GetMargin(); |
| CXFA_Font GetFont(); |
| CXFA_Value GetValue(); |
| CXFA_Para GetPara(); |
| FX_BOOL SetPresence(int32_t iPresence); |
| FX_BOOL SetPlacementType(int32_t iType); |
| FX_BOOL SetReserve(FX_FLOAT fReserve); |
| }; |
| |
| class CXFA_Para : public CXFA_Data { |
| public: |
| explicit CXFA_Para(CXFA_Node* pNode); |
| |
| int32_t GetHorizontalAlign(); |
| int32_t GetVerticalAlign(); |
| FX_FLOAT GetLineHeight(); |
| FX_FLOAT GetMarginLeft(); |
| FX_FLOAT GetMarginRight(); |
| int32_t GetOrphans(); |
| FX_FLOAT GetRadixOffset(); |
| FX_FLOAT GetSpaceAbove(); |
| FX_FLOAT GetSpaceBelow(); |
| FX_FLOAT GetTextIndent(); |
| int32_t GetWidows(); |
| FX_BOOL SetHorizontalAlign(int32_t iHorizontalAlign); |
| FX_BOOL SetVerticalAlign(int32_t iVerticalAlign); |
| FX_BOOL SetLineHeight(FX_FLOAT fLineHeight); |
| FX_BOOL SetMarginLeft(FX_FLOAT fMarginLeft); |
| FX_BOOL SetMarginRight(FX_FLOAT fMarginRight); |
| FX_BOOL SetOrphans(int32_t iOrphans); |
| FX_BOOL SetRadixOffset(FX_FLOAT fRadixOffset); |
| FX_BOOL SetSpaceAbove(FX_FLOAT fSpaceAbove); |
| FX_BOOL SetSpaceBelow(FX_FLOAT fSpaceBelow); |
| FX_BOOL SetTextIndent(FX_FLOAT fTextIndent); |
| FX_BOOL SetWidows(int32_t iWidows); |
| }; |
| |
| class CXFA_Keep : public CXFA_Data { |
| public: |
| CXFA_Keep(CXFA_Node* pNode, CXFA_Node* pParent); |
| |
| int32_t GetIntact(); |
| int32_t GetNext(); |
| int32_t GetPrevious(); |
| FX_BOOL SetIntact(int32_t iIntact); |
| FX_BOOL SetNext(int32_t iNext); |
| FX_BOOL SetPrevious(int32_t iPrevious); |
| |
| private: |
| CXFA_Node* m_pParent; |
| }; |
| |
| enum XFA_TEXTENCODING { |
| XFA_TEXTENCODING_None, |
| XFA_TEXTENCODING_Big5, |
| XFA_TEXTENCODING_FontSpecific, |
| XFA_TEXTENCODING_GBK, |
| XFA_TEXTENCODING_GB18030, |
| XFA_TEXTENCODING_GB2312, |
| XFA_TEXTENCODING_ISO8859NN, |
| XFA_TEXTENCODING_KSC5601, |
| XFA_TEXTENCODING_ShiftJIS, |
| XFA_TEXTENCODING_UCS2, |
| XFA_TEXTENCODING_UTF16, |
| XFA_TEXTENCODING_UTF8 |
| }; |
| |
| class CXFA_Event : public CXFA_Data { |
| public: |
| explicit CXFA_Event(CXFA_Node* pNode); |
| |
| int32_t GetActivity(); |
| int32_t GetEventType(); |
| void GetRef(CFX_WideStringC& wsRef); |
| |
| int32_t GetExecuteRunAt(); |
| int32_t GetExecuteType(); |
| void GetExecuteConnection(CFX_WideString& wsConnection); |
| |
| CXFA_Script GetScript(); |
| CXFA_Submit GetSubmit(); |
| |
| int32_t GetSignDataOperation(); |
| void GetSignDataTarget(CFX_WideString& wsTarget); |
| FX_BOOL SetActivity(int32_t iActivity); |
| FX_BOOL SetEventType(int32_t iEventType); |
| FX_BOOL SetExecuteRunAt(int32_t iExecuteRunAt); |
| FX_BOOL SetExecuteType(int32_t iExecuteType); |
| FX_BOOL SetExecuteConnection(const CFX_WideString& wsConnection); |
| FX_BOOL SetSignDataOperation(int32_t iOperation); |
| FX_BOOL SetSignDataTarget(const CFX_WideString& wsTarget); |
| }; |
| |
| enum XFA_SCRIPTTYPE { |
| XFA_SCRIPTTYPE_Formcalc = 0, |
| XFA_SCRIPTTYPE_Javascript, |
| XFA_SCRIPTTYPE_Unkown, |
| }; |
| |
| class CXFA_Script : public CXFA_Data { |
| public: |
| explicit CXFA_Script(CXFA_Node* pNode); |
| |
| void GetBinding(CFX_WideString& wsBinding); |
| XFA_SCRIPTTYPE GetContentType(); |
| int32_t GetRunAt(); |
| void GetExpression(CFX_WideString& wsExpression); |
| FX_BOOL SetBinding(const CFX_WideString& wsBinding); |
| FX_BOOL SetContentType(XFA_SCRIPTTYPE eType); |
| FX_BOOL SetRunAt(int32_t iRunAt); |
| FX_BOOL SetExpression(const CFX_WideString& wsExpression); |
| }; |
| |
| class CXFA_Submit : public CXFA_Data { |
| public: |
| explicit CXFA_Submit(CXFA_Node* pNode); |
| |
| FX_BOOL IsSubmitEmbedPDF(); |
| int32_t GetSubmitFormat(); |
| void GetSubmitTarget(CFX_WideStringC& wsTarget); |
| XFA_TEXTENCODING GetSubmitTextEncoding(); |
| void GetSubmitXDPContent(CFX_WideStringC& wsContent); |
| FX_BOOL SetSubmitFormat(int32_t iSubmitFormat); |
| FX_BOOL SetSubmitTarget(const CFX_WideString& wsTarget); |
| FX_BOOL SetSubmitTextEncoding(XFA_TEXTENCODING eTextEncoding); |
| FX_BOOL SetSubmitXDPContent(const CFX_WideString& wsContent); |
| }; |
| |
| class CXFA_Value : public CXFA_Data { |
| public: |
| explicit CXFA_Value(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| XFA_ELEMENT GetChildValueClassID(); |
| FX_BOOL GetChildValueContent(CFX_WideString& wsContent); |
| CXFA_Arc GetArc(); |
| CXFA_Line GetLine(); |
| CXFA_Rectangle GetRectangle(); |
| CXFA_Text GetText(); |
| CXFA_ExData GetExData(); |
| CXFA_Image GetImage(); |
| FX_BOOL SetChildValueContent(const CFX_WideString& wsContent, |
| FX_BOOL bNotify = FALSE, |
| XFA_ELEMENT iType = XFA_ELEMENT_UNKNOWN); |
| }; |
| |
| class CXFA_Line : public CXFA_Data { |
| public: |
| explicit CXFA_Line(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| int32_t GetHand(); |
| FX_BOOL GetSlop(); |
| CXFA_Edge GetEdge(); |
| FX_BOOL SetHand(int32_t iHand); |
| FX_BOOL SetSlop(int32_t iSlop); |
| }; |
| |
| class CXFA_Text : public CXFA_Data { |
| public: |
| explicit CXFA_Text(CXFA_Node* pNode); |
| |
| void GetName(CFX_WideStringC& wsName); |
| int32_t GetMaxChars(); |
| void GetRid(CFX_WideStringC& wsRid); |
| void GetContent(CFX_WideString& wsText); |
| void SetContent(CFX_WideString wsText, FX_BOOL bNotify = TRUE); |
| FX_BOOL SetName(const CFX_WideString& wsName); |
| FX_BOOL SetMaxChars(int32_t iMaxChars); |
| FX_BOOL SetRid(const CFX_WideString& wsRid); |
| }; |
| |
| class CXFA_ExData : public CXFA_Data { |
| public: |
| explicit CXFA_ExData(CXFA_Node* pNode); |
| |
| void GetContentType(CFX_WideStringC& wsContentType); |
| void GetHref(CFX_WideStringC& wsHref); |
| int32_t GetMaxLength(); |
| void GetRid(CFX_WideStringC& wsRid); |
| int32_t GetTransferEncoding(); |
| void GetContent(CFX_WideString& wsText); |
| FX_BOOL SetContentType(const CFX_WideString& wsContentType); |
| FX_BOOL SetHref(const CFX_WideString& wsHref); |
| FX_BOOL SetMaxLength(int32_t iMaxLength); |
| FX_BOOL SetRid(const CFX_WideString& wsRid); |
| FX_BOOL SetTransferEncoding(int32_t iTransferEncoding); |
| FX_BOOL SetContent(const CFX_WideString& wsText, |
| FX_BOOL bNotify = FALSE, |
| FX_BOOL bScriptModify = FALSE, |
| FX_BOOL bSyncData = TRUE); |
| }; |
| |
| class CXFA_Image : public CXFA_Data { |
| public: |
| CXFA_Image(CXFA_Node* pNode, FX_BOOL bDefValue); |
| |
| int32_t GetAspect(); |
| FX_BOOL GetContentType(CFX_WideString& wsContentType); |
| FX_BOOL GetHref(CFX_WideString& wsHref); |
| int32_t GetTransferEncoding(); |
| FX_BOOL GetContent(CFX_WideString& wsText); |
| FX_BOOL SetAspect(int32_t iAspect); |
| FX_BOOL SetContentType(const CFX_WideString& wsContentType); |
| FX_BOOL SetHref(const CFX_WideString& wsHref); |
| FX_BOOL SetTransferEncoding(int32_t iTransferEncoding); |
| FX_BOOL SetContent(const CFX_WideString& wsText); |
| |
| protected: |
| FX_BOOL m_bDefValue; |
| }; |
| |
| class CXFA_Calculate : public CXFA_Data { |
| public: |
| explicit CXFA_Calculate(CXFA_Node* pNode); |
| |
| int32_t GetOverride(); |
| CXFA_Script GetScript(); |
| void GetMessageText(CFX_WideString& wsMessage); |
| FX_BOOL SetOverride(int32_t iOverride); |
| FX_BOOL SetMessageText(const CFX_WideString& wsMessage); |
| }; |
| |
| class CXFA_Validate : public CXFA_Data { |
| public: |
| explicit CXFA_Validate(CXFA_Node* pNode); |
| |
| int32_t GetFormatTest(); |
| FX_BOOL SetFormatTest(CFX_WideString wsValue); |
| int32_t GetNullTest(); |
| FX_BOOL SetNullTest(CFX_WideString wsValue); |
| int32_t GetScriptTest(); |
| void GetFormatMessageText(CFX_WideString& wsMessage); |
| void SetFormatMessageText(CFX_WideString wsMessage); |
| void GetNullMessageText(CFX_WideString& wsMessage); |
| void SetNullMessageText(CFX_WideString wsMessage); |
| void GetScriptMessageText(CFX_WideString& wsMessage); |
| void SetScriptMessageText(CFX_WideString wsMessage); |
| void GetPicture(CFX_WideString& wsPicture); |
| CXFA_Script GetScript(); |
| |
| protected: |
| void GetMessageText(CFX_WideString& wsMessage, |
| const CFX_WideStringC& wsMessageType); |
| void SetMessageText(CFX_WideString& wsMessage, |
| const CFX_WideStringC& wsMessageType); |
| FX_BOOL SetTestValue(int32_t iType, |
| CFX_WideString& wsValue, |
| XFA_ATTRIBUTEENUM eName); |
| }; |
| |
| class CXFA_Variables : public CXFA_Data { |
| public: |
| explicit CXFA_Variables(CXFA_Node* pNode); |
| |
| int32_t CountScripts(); |
| CXFA_Script GetScript(int32_t nIndex); |
| }; |
| |
| class CXFA_Bind : public CXFA_Data { |
| public: |
| explicit CXFA_Bind(CXFA_Node* pNode); |
| |
| int32_t GetMatch(); |
| void GetRef(CFX_WideStringC& wsRef); |
| void GetPicture(CFX_WideString& wsPicture); |
| FX_BOOL SetMatch(int32_t iMatch); |
| FX_BOOL SetRef(const CFX_WideString& wsRef); |
| FX_BOOL SetPicture(const CFX_WideString& wsPicture); |
| }; |
| |
| class CXFA_Assist : public CXFA_Data { |
| public: |
| explicit CXFA_Assist(CXFA_Node* pNode); |
| |
| CXFA_ToolTip GetToolTip(); |
| }; |
| |
| class CXFA_ToolTip : public CXFA_Data { |
| public: |
| explicit CXFA_ToolTip(CXFA_Node* pNode); |
| |
| FX_BOOL GetTip(CFX_WideString& wsTip); |
| FX_BOOL SetTip(const CFX_WideString& wsTip); |
| }; |
| |
| class CXFA_BindItems : public CXFA_Data { |
| public: |
| explicit CXFA_BindItems(CXFA_Node* pNode); |
| |
| void GetConnection(CFX_WideStringC& wsConnection); |
| void GetLabelRef(CFX_WideStringC& wsLabelRef); |
| void GetValueRef(CFX_WideStringC& wsValueRef); |
| void GetRef(CFX_WideStringC& wsRef); |
| FX_BOOL SetConnection(const CFX_WideString& wsConnection); |
| FX_BOOL SetLabelRef(const CFX_WideString& wsLabelRef); |
| FX_BOOL SetValueRef(const CFX_WideString& wsValueRef); |
| FX_BOOL SetRef(const CFX_WideString& wsRef); |
| }; |
| |
| #define XFA_STROKE_SAMESTYLE_NoPresence 1 |
| #define XFA_STROKE_SAMESTYLE_Corner 2 |
| |
| class CXFA_Stroke : public CXFA_Data { |
| public: |
| explicit CXFA_Stroke(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| bool IsCorner() const { return GetClassID() == XFA_ELEMENT_Corner; } |
| bool IsEdge() const { return GetClassID() == XFA_ELEMENT_Edge; } |
| bool IsVisible() const { return GetPresence() == XFA_ATTRIBUTEENUM_Visible; } |
| int32_t GetPresence() const; |
| int32_t GetCapType() const; |
| int32_t GetStrokeType() const; |
| FX_FLOAT GetThickness() const; |
| CXFA_Measurement GetMSThickness() const; |
| void SetThickness(FX_FLOAT fThickness); |
| void SetMSThickness(CXFA_Measurement msThinkness); |
| FX_ARGB GetColor() const; |
| void SetColor(FX_ARGB argb); |
| int32_t GetJoinType() const; |
| FX_BOOL IsInverted() const; |
| FX_FLOAT GetRadius() const; |
| FX_BOOL SameStyles(CXFA_Stroke stroke, FX_DWORD dwFlags = 0) const; |
| }; |
| |
| class CXFA_Corner : public CXFA_Stroke { |
| public: |
| explicit CXFA_Corner(CXFA_Node* pNode) : CXFA_Stroke(pNode) {} |
| }; |
| |
| class CXFA_Edge : public CXFA_Stroke { |
| public: |
| explicit CXFA_Edge(CXFA_Node* pNode) : CXFA_Stroke(pNode) {} |
| }; |
| |
| typedef CFX_ArrayTemplate<CXFA_Stroke> CXFA_StrokeArray; |
| typedef CFX_ArrayTemplate<CXFA_Edge> CXFA_EdgeArray; |
| typedef CFX_ArrayTemplate<CXFA_Corner> CXFA_CornerArray; |
| |
| class CXFA_Box : public CXFA_Data { |
| public: |
| explicit CXFA_Box(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| bool IsArc() const { return GetClassID() == XFA_ELEMENT_Arc; } |
| bool IsBorder() const { return GetClassID() == XFA_ELEMENT_Border; } |
| bool IsRectangle() const { return GetClassID() == XFA_ELEMENT_Rectangle; } |
| int32_t GetBreak() const; |
| int32_t GetHand() const; |
| int32_t GetPresence() const; |
| int32_t CountCorners() const; |
| CXFA_Corner GetCorner(int32_t nIndex) const; |
| int32_t CountEdges() const; |
| CXFA_Edge GetEdge(int32_t nIndex = 0) const; |
| void GetStrokes(CXFA_StrokeArray& strokes) const; |
| FX_BOOL IsCircular() const; |
| FX_BOOL GetStartAngle(FX_FLOAT& fStartAngle) const; |
| FX_FLOAT GetStartAngle() const { |
| FX_FLOAT fStartAngle; |
| GetStartAngle(fStartAngle); |
| return fStartAngle; |
| } |
| |
| FX_BOOL GetSweepAngle(FX_FLOAT& fSweepAngle) const; |
| FX_FLOAT GetSweepAngle() const { |
| FX_FLOAT fSweepAngle; |
| GetSweepAngle(fSweepAngle); |
| return fSweepAngle; |
| } |
| |
| CXFA_Fill GetFill(FX_BOOL bModified = FALSE) const; |
| CXFA_Margin GetMargin() const; |
| FX_BOOL SameStyles() const; |
| int32_t Get3DStyle(FX_BOOL& bVisible, FX_FLOAT& fThickness) const; |
| }; |
| |
| class CXFA_Arc : public CXFA_Box { |
| public: |
| explicit CXFA_Arc(CXFA_Node* pNode) : CXFA_Box(pNode) {} |
| }; |
| |
| class CXFA_Border : public CXFA_Box { |
| public: |
| explicit CXFA_Border(CXFA_Node* pNode) : CXFA_Box(pNode) {} |
| }; |
| |
| class CXFA_Rectangle : public CXFA_Box { |
| public: |
| explicit CXFA_Rectangle(CXFA_Node* pNode) : CXFA_Box(pNode) {} |
| }; |
| |
| enum XFA_CHECKSTATE { |
| XFA_CHECKSTATE_On = 0, |
| XFA_CHECKSTATE_Off = 1, |
| XFA_CHECKSTATE_Neutral = 2, |
| }; |
| |
| enum XFA_VALUEPICTURE { |
| XFA_VALUEPICTURE_Raw = 0, |
| XFA_VALUEPICTURE_Display, |
| XFA_VALUEPICTURE_Edit, |
| XFA_VALUEPICTURE_DataBind, |
| }; |
| |
| class CXFA_WidgetData : public CXFA_Data { |
| public: |
| explicit CXFA_WidgetData(CXFA_Node* pNode); |
| |
| CXFA_Node* GetUIChild(); |
| XFA_ELEMENT GetUIType(); |
| CFX_WideString GetRawValue(); |
| int32_t GetAccess(FX_BOOL bTemplate = FALSE); |
| FX_BOOL GetAccessKey(CFX_WideStringC& wsAccessKey); |
| int32_t GetAnchorType(); |
| int32_t GetColSpan(); |
| int32_t GetPresence(); |
| int32_t GetRotate(); |
| CXFA_Border GetBorder(FX_BOOL bModified = FALSE); |
| CXFA_Caption GetCaption(FX_BOOL bModified = FALSE); |
| CXFA_Font GetFont(FX_BOOL bModified = FALSE); |
| CXFA_Margin GetMargin(FX_BOOL bModified = FALSE); |
| CXFA_Para GetPara(FX_BOOL bModified = FALSE); |
| CXFA_Keep GetKeep(FX_BOOL bModified = FALSE); |
| void GetEventList(CXFA_NodeArray& events); |
| int32_t GetEventByActivity(int32_t iActivity, |
| CXFA_NodeArray& events, |
| FX_BOOL bIsFormReady = FALSE); |
| CXFA_Value GetDefaultValue(FX_BOOL bModified = FALSE); |
| CXFA_Value GetFormValue(FX_BOOL bModified = FALSE); |
| CXFA_Calculate GetCalculate(FX_BOOL bModified = FALSE); |
| CXFA_Validate GetValidate(FX_BOOL bModified = FALSE); |
| CXFA_Variables GetVariables(FX_BOOL bModified = FALSE); |
| CXFA_Bind GetBind(FX_BOOL bModified = FALSE); |
| CXFA_Assist GetAssist(FX_BOOL bModified = FALSE); |
| void GetRelevant(CFX_WideStringC& wsRelevant); |
| FX_DWORD GetRelevantStatus(); |
| FX_BOOL GetWidth(FX_FLOAT& fWidth); |
| FX_BOOL GetHeight(FX_FLOAT& fHeight); |
| FX_BOOL GetMinWidth(FX_FLOAT& fMinWidth); |
| FX_BOOL GetMinHeight(FX_FLOAT& fMinHeight); |
| FX_BOOL GetMaxWidth(FX_FLOAT& fMaxWidth); |
| FX_BOOL GetMaxHeight(FX_FLOAT& fMaxHeight); |
| CXFA_BindItems GetBindItems(); |
| FX_BOOL SetAccess(int32_t iAccess, FX_BOOL bNotify = TRUE); |
| FX_BOOL SetAccessKey(const CFX_WideString& wsAccessKey); |
| FX_BOOL SetAnchorType(int32_t iType); |
| FX_BOOL SetColSpan(int32_t iColSpan); |
| FX_BOOL SetPresence(int32_t iPresence); |
| FX_BOOL SetRotate(int32_t iRotate); |
| FX_BOOL SetRelevant(const CFX_WideString& wsRelevant); |
| FX_BOOL SetStatus(FX_DWORD dwStatus); |
| FX_BOOL SetWidth(FX_FLOAT fWidth); |
| FX_BOOL SetHeight(FX_FLOAT fHeight); |
| FX_BOOL SetMinWidth(FX_FLOAT fMinWidth); |
| FX_BOOL SetMinHeight(FX_FLOAT fMinHeight); |
| FX_BOOL SetMaxWidth(FX_FLOAT fMaxWidth); |
| FX_BOOL SetMaxHeight(FX_FLOAT fMaxHeight); |
| FX_BOOL SetPos(FX_FLOAT x, FX_FLOAT y); |
| FX_BOOL SetName(const CFX_WideString& wsName); |
| FX_BOOL SetButtonHighlight(int32_t iButtonHighlight); |
| FX_BOOL SetButtonRollover(const CFX_WideString& wsRollover, |
| FX_BOOL bRichText); |
| FX_BOOL SetButtonDown(const CFX_WideString& wsDown, FX_BOOL bRichText); |
| FX_BOOL SetCheckButtonShape(int32_t iCheckButtonShape); |
| FX_BOOL SetCheckButtonMark(int32_t iCheckButtonMark); |
| FX_BOOL SetCheckButtonSize(FX_FLOAT fCheckButtonMark); |
| CXFA_Border GetUIBorder(FX_BOOL bModified = FALSE); |
| CXFA_Margin GetUIMargin(FX_BOOL bModified = FALSE); |
| void GetUIMargin(CFX_RectF& rtUIMargin); |
| int32_t GetButtonHighlight(); |
| FX_BOOL GetButtonRollover(CFX_WideString& wsRollover, FX_BOOL& bRichText); |
| FX_BOOL GetButtonDown(CFX_WideString& wsDown, FX_BOOL& bRichText); |
| int32_t GetCheckButtonShape(); |
| int32_t GetCheckButtonMark(); |
| FX_FLOAT GetCheckButtonSize(); |
| FX_BOOL IsAllowNeutral(); |
| FX_BOOL IsRadioButton(); |
| XFA_CHECKSTATE GetCheckState(); |
| void SetCheckState(XFA_CHECKSTATE eCheckState, FX_BOOL bNotify = TRUE); |
| CXFA_Node* GetExclGroupNode(); |
| CXFA_Node* GetSelectedMember(); |
| CXFA_Node* SetSelectedMember(const CFX_WideStringC& wsName, |
| FX_BOOL bNotify = TRUE); |
| void SetSelectedMemberByValue(const CFX_WideStringC& wsValue, |
| FX_BOOL bNotify = TRUE, |
| FX_BOOL bScriptModify = FALSE, |
| FX_BOOL bSyncData = TRUE); |
| CXFA_Node* GetExclGroupFirstMember(); |
| CXFA_Node* GetExclGroupNextMember(CXFA_Node* pNode); |
| int32_t GetChoiceListCommitOn(); |
| FX_BOOL IsChoiceListAllowTextEntry(); |
| int32_t GetChoiceListOpen(); |
| FX_BOOL IsListBox(); |
| int32_t CountChoiceListItems(FX_BOOL bSaveValue = FALSE); |
| FX_BOOL GetChoiceListItem(CFX_WideString& wsText, |
| int32_t nIndex, |
| FX_BOOL bSaveValue = FALSE); |
| void GetChoiceListItems(CFX_WideStringArray& wsTextArray, |
| FX_BOOL bSaveValue = FALSE); |
| int32_t CountSelectedItems(); |
| int32_t GetSelectedItem(int32_t nIndex = 0); |
| void GetSelectedItems(CFX_Int32Array& iSelArray); |
| void GetSelectedItemsValue(CFX_WideStringArray& wsSelTextArray); |
| FX_BOOL GetItemState(int32_t nIndex); |
| void SetItemState(int32_t nIndex, |
| FX_BOOL bSelected, |
| FX_BOOL bNotify = FALSE, |
| FX_BOOL bScriptModify = FALSE, |
| FX_BOOL bSyncData = TRUE); |
| void SetSelectdItems(CFX_Int32Array& iSelArray, |
| FX_BOOL bNotify = FALSE, |
| FX_BOOL bScriptModify = FALSE, |
| FX_BOOL bSyncData = TRUE); |
| void ClearAllSelections(); |
| void InsertItem(const CFX_WideString& wsLabel, |
| const CFX_WideString& wsValue, |
| int32_t nIndex = -1, |
| FX_BOOL bNotify = FALSE); |
| void GetItemLabel(const CFX_WideStringC& wsValue, CFX_WideString& wsLabel); |
| void GetItemValue(const CFX_WideStringC& wsLabel, CFX_WideString& wsValue); |
| FX_BOOL DeleteItem(int32_t nIndex, |
| FX_BOOL bNotify = FALSE, |
| FX_BOOL bScriptModify = FALSE, |
| FX_BOOL bSyncData = TRUE); |
| int32_t GetHorizontalScrollPolicy(); |
| int32_t GetNumberOfCells(); |
| FX_BOOL IsDateTimeEditUsePicker(); |
| FX_BOOL SetValue(const CFX_WideString& wsValue, XFA_VALUEPICTURE eValueType); |
| FX_BOOL GetPictureContent(CFX_WideString& wsPicture, |
| XFA_VALUEPICTURE ePicture); |
| IFX_Locale* GetLocal(); |
| FX_BOOL GetValue(CFX_WideString& wsValue, XFA_VALUEPICTURE eValueType); |
| FX_BOOL GetNormalizeDataValue(const CFX_WideStringC& wsValue, |
| CFX_WideString& wsNormalizeValue); |
| FX_BOOL GetFormatDataValue(const CFX_WideStringC& wsValue, |
| CFX_WideString& wsFormatedValue); |
| void NormalizeNumStr(const CFX_WideString& wsValue, CFX_WideString& wsOutput); |
| CFX_WideString GetBarcodeType(); |
| FX_BOOL GetBarcodeAttribute_CharEncoding(int32_t& val); |
| FX_BOOL GetBarcodeAttribute_Checksum(int32_t& val); |
| FX_BOOL GetBarcodeAttribute_DataLength(int32_t& val); |
| FX_BOOL GetBarcodeAttribute_StartChar(FX_CHAR& val); |
| FX_BOOL GetBarcodeAttribute_EndChar(FX_CHAR& val); |
| FX_BOOL GetBarcodeAttribute_ECLevel(int32_t& val); |
| FX_BOOL GetBarcodeAttribute_ModuleWidth(int32_t& val); |
| FX_BOOL GetBarcodeAttribute_ModuleHeight(int32_t& val); |
| FX_BOOL GetBarcodeAttribute_PrintChecksum(FX_BOOL& val); |
| FX_BOOL GetBarcodeAttribute_TextLocation(int32_t& val); |
| FX_BOOL GetBarcodeAttribute_Truncate(FX_BOOL& val); |
| FX_BOOL GetBarcodeAttribute_WideNarrowRatio(FX_FLOAT& val); |
| void GetPasswordChar(CFX_WideString& wsPassWord); |
| FX_BOOL IsAllowRichText(); |
| FX_BOOL IsMultiLine(); |
| int32_t GetVerticalScrollPolicy(); |
| int32_t GetMaxChars(XFA_ELEMENT& eType); |
| FX_BOOL GetFracDigits(int32_t& iFracDigits); |
| FX_BOOL GetLeadDigits(int32_t& iLeadDigits); |
| CXFA_Filter GetFilter(FX_BOOL bModified = FALSE); |
| CXFA_Manifest GetManifest(FX_BOOL bModified = FALSE); |
| |
| FX_BOOL m_bIsNull; |
| FX_BOOL m_bPreNull; |
| |
| protected: |
| void SyncValue(const CFX_WideString& wsValue, FX_BOOL bNotify); |
| void InsertListTextItem(CXFA_Node* pItems, |
| const CFX_WideStringC& wsText, |
| int32_t nIndex = -1); |
| void FormatNumStr(const CFX_WideString& wsValue, |
| IFX_Locale* pLocale, |
| CFX_WideString& wsOutput); |
| |
| CXFA_Node* m_pUiChildNode; |
| XFA_ELEMENT m_eUIType; |
| }; |
| |
| class CXFA_Occur : public CXFA_Data { |
| public: |
| explicit CXFA_Occur(CXFA_Node* pNode); |
| |
| int32_t GetMax(); |
| int32_t GetMin(); |
| int32_t GetInitial(); |
| FX_BOOL GetOccurInfo(int32_t& iMin, int32_t& iMax, int32_t& iInit); |
| void SetMax(int32_t iMax); |
| void SetMin(int32_t iMin); |
| }; |
| |
| class CXFA_Filter : public CXFA_Data { |
| public: |
| explicit CXFA_Filter(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| CFX_WideString GetFilterString(XFA_ATTRIBUTE eAttribute); |
| XFA_ATTRIBUTEENUM GetAppearanceFilterType(); |
| CFX_WideString GetAppearanceFilterContent(); |
| XFA_ATTRIBUTEENUM GetCertificatesCredentialServerPolicy(); |
| CFX_WideString GetCertificatesURL(); |
| CFX_WideString GetCertificatesURLPolicy(); |
| CXFA_WrapCertificate GetCertificatesEncryption(FX_BOOL bModified = FALSE); |
| CXFA_WrapCertificate GetCertificatesIssuers(FX_BOOL bModified = FALSE); |
| CFX_WideString GetCertificatesKeyUsageString(XFA_ATTRIBUTE eAttribute); |
| CXFA_Oids GetCertificatesOids(); |
| CXFA_WrapCertificate GetCertificatesSigning(FX_BOOL bModified = FALSE); |
| CXFA_DigestMethods GetDigestMethods(FX_BOOL bModified = FALSE); |
| CXFA_Encodings GetEncodings(FX_BOOL bModified = FALSE); |
| CXFA_EncryptionMethods GetEncryptionMethods(FX_BOOL bModified = FALSE); |
| XFA_ATTRIBUTEENUM GetHandlerType(); |
| CFX_WideString GetHandlerContent(); |
| XFA_ATTRIBUTEENUM GetlockDocumentType(); |
| CFX_WideString GetlockDocumentContent(); |
| int32_t GetMDPPermissions(); |
| XFA_ATTRIBUTEENUM GetMDPSignatureType(); |
| CXFA_Reasons GetReasons(FX_BOOL bModified = FALSE); |
| CFX_WideString GetTimeStampServer(); |
| XFA_ATTRIBUTEENUM GetTimeStampType(); |
| }; |
| |
| class CXFA_Certificate : public CXFA_Data { |
| public: |
| explicit CXFA_Certificate(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| CFX_WideString GetCertificateName(); |
| CFX_WideString GetCertificateContent(); |
| }; |
| |
| class CXFA_WrapCertificate : public CXFA_Data { |
| public: |
| explicit CXFA_WrapCertificate(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| XFA_ATTRIBUTEENUM GetType(); |
| int32_t CountCertificates(); |
| CXFA_Certificate GetCertificate(int32_t nIndex); |
| }; |
| |
| class CXFA_Oids : public CXFA_Data { |
| public: |
| explicit CXFA_Oids(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| XFA_ATTRIBUTEENUM GetOidsType(); |
| int32_t CountOids(); |
| CFX_WideString GetOidContent(int32_t nIndex); |
| }; |
| |
| class CXFA_SubjectDNs : public CXFA_Data { |
| public: |
| explicit CXFA_SubjectDNs(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| XFA_ATTRIBUTEENUM GetSubjectDNsType(); |
| int32_t CountSubjectDNs(); |
| CFX_WideString GetSubjectDNString(int32_t nIndex, XFA_ATTRIBUTE eAttribute); |
| CFX_WideString GetSubjectDNContent(int32_t nIndex); |
| }; |
| |
| class CXFA_DigestMethods : public CXFA_Data { |
| public: |
| explicit CXFA_DigestMethods(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| XFA_ATTRIBUTEENUM GetDigestMethodsType(); |
| int32_t CountDigestMethods(); |
| CFX_WideString GetDigestMethodContent(int32_t nIndex); |
| }; |
| |
| class CXFA_Encodings : public CXFA_Data { |
| public: |
| explicit CXFA_Encodings(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| XFA_ATTRIBUTEENUM GetEncodingsType(); |
| int32_t CountEncodings(); |
| CFX_WideString GetEncodingContent(int32_t nIndex); |
| }; |
| |
| class CXFA_EncryptionMethods : public CXFA_Data { |
| public: |
| explicit CXFA_EncryptionMethods(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| XFA_ATTRIBUTEENUM GetEncryptionMethodsType(); |
| int32_t CountEncryptionMethods(); |
| CFX_WideString GetEncryptionMethodContent(int32_t nIndex); |
| }; |
| |
| class CXFA_Reasons : public CXFA_Data { |
| public: |
| explicit CXFA_Reasons(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| XFA_ATTRIBUTEENUM GetReasonsType(); |
| int32_t CountReasons(); |
| CFX_WideString GetReasonContent(int32_t nIndex); |
| }; |
| |
| class CXFA_Manifest : public CXFA_Data { |
| public: |
| explicit CXFA_Manifest(CXFA_Node* pNode) : CXFA_Data(pNode) {} |
| |
| XFA_ATTRIBUTEENUM GetAction(); |
| int32_t CountReives(); |
| CFX_WideString GetRefContent(int32_t nIndex); |
| }; |
| |
| #endif // XFA_INCLUDE_FXFA_FXFA_OBJECTACC_H_ |