// 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 FXFA_OBJECTACC_H_ | |
#define FXFA_OBJECTACC_H_ | |
#include "core/include/fxge/fx_dib.h" // For FX_ARGB. | |
class CXFA_Node; | |
class IFX_Locale; | |
class CXFA_Data; | |
class CXFA_Font; | |
class CXFA_Fill; | |
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_Node*> CXFA_NodeArray; | |
typedef CFX_ArrayTemplate<CXFA_Object*> CXFA_ObjArray; | |
class CXFA_Data { | |
public: | |
CXFA_Data(CXFA_Node* pNode) : m_pNode(pNode) {} | |
operator CXFA_Node*() const { return m_pNode; } | |
CXFA_Node* GetNode() { return m_pNode; } | |
FX_BOOL IsExistInXML() const { return m_pNode != NULL; } | |
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: | |
CXFA_Fill(CXFA_Node* pNode); | |
~CXFA_Fill(); | |
int32_t GetPresence(); | |
FX_ARGB GetColor(FX_BOOL bText = FALSE); | |
void SetColor(FX_ARGB color); | |
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); | |
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: | |
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: | |
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: | |
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: | |
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: | |
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: | |
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: | |
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: | |
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: | |
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: | |
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: | |
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: | |
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: | |
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: | |
CXFA_Variables(CXFA_Node* pNode); | |
int32_t CountScripts(); | |
CXFA_Script GetScript(int32_t nIndex); | |
}; | |
class CXFA_Bind : public CXFA_Data { | |
public: | |
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: | |
CXFA_Assist(CXFA_Node* pNode); | |
CXFA_ToolTip GetToolTip(); | |
}; | |
class CXFA_ToolTip : public CXFA_Data { | |
public: | |
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: | |
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: | |
CXFA_Stroke(CXFA_Node* pNode) : CXFA_Data(pNode) {} | |
FX_BOOL IsCorner() const { return GetClassID() == XFA_ELEMENT_Corner; } | |
FX_BOOL IsEdge() const { return GetClassID() == XFA_ELEMENT_Edge; } | |
int32_t GetPresence() const; | |
FX_BOOL IsVisible() const { | |
return GetPresence() == XFA_ATTRIBUTEENUM_Visible; | |
} | |
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: | |
CXFA_Corner(CXFA_Node* pNode) : CXFA_Stroke(pNode) {} | |
}; | |
class CXFA_Edge : public CXFA_Stroke { | |
public: | |
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: | |
CXFA_Box(CXFA_Node* pNode) : CXFA_Data(pNode) {} | |
FX_BOOL IsArc() const { return GetClassID() == XFA_ELEMENT_Arc; } | |
FX_BOOL IsBorder() const { return GetClassID() == XFA_ELEMENT_Border; } | |
FX_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: | |
CXFA_Arc(CXFA_Node* pNode) : CXFA_Box(pNode) {} | |
}; | |
class CXFA_Border : public CXFA_Box { | |
public: | |
CXFA_Border(CXFA_Node* pNode) : CXFA_Box(pNode) {} | |
}; | |
class CXFA_Rectangle : public CXFA_Box { | |
public: | |
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: | |
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: | |
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: | |
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: | |
CXFA_Certificate(CXFA_Node* pNode) : CXFA_Data(pNode) {} | |
CFX_WideString GetCertificateName(); | |
CFX_WideString GetCertificateContent(); | |
}; | |
class CXFA_WrapCertificate : public CXFA_Data { | |
public: | |
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: | |
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: | |
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: | |
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: | |
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: | |
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: | |
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: | |
CXFA_Manifest(CXFA_Node* pNode) : CXFA_Data(pNode) {} | |
XFA_ATTRIBUTEENUM GetAction(); | |
int32_t CountReives(); | |
CFX_WideString GetRefContent(int32_t nIndex); | |
}; | |
#endif // FXFA_OBJECTACC_H_ |