1 // Copyright 2014 PDFium Authors. All rights reserved.
\r
2 // Use of this source code is governed by a BSD-style license that can be
\r
3 // found in the LICENSE file.
\r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
\r
7 #ifndef _FXFA_NODEACC_H
\r
8 #define _FXFA_NODEACC_H
\r
20 class CXFA_Calculate;
\r
25 class CXFA_Validate;
\r
26 class CXFA_Variables;
\r
32 class CXFA_BindItems;
\r
39 class CXFA_Rectangle;
\r
40 class CXFA_WidgetData;
\r
43 class CXFA_Certificate;
\r
44 class CXFA_WrapCertificate;
\r
46 class CXFA_SubjectDNs;
\r
47 class CXFA_DigestMethods;
\r
48 class CXFA_Encodings;
\r
49 class CXFA_EncryptionMethods;
\r
51 class CXFA_Manifest;
\r
52 inline FX_BOOL XFA_IsSpace(FX_WCHAR c)
\r
54 return (c == 0x20) || (c == 0x0d) || (c == 0x0a) || (c == 0x09);
\r
56 inline FX_BOOL XFA_IsDigit(FX_WCHAR c)
\r
58 return c >= '0' && c <= '9';
\r
60 typedef CFX_ArrayTemplate<CXFA_Node*> CXFA_NodeArray;
\r
61 typedef CFX_ArrayTemplate<CXFA_Object*> CXFA_ObjArray;
\r
62 class CXFA_Data : public CFX_Object
\r
65 CXFA_Data(CXFA_Node* pNode) : m_pNode(pNode) {}
\r
66 operator CXFA_Node*() const
\r
70 CXFA_Node* GetNode()
\r
75 FX_BOOL IsExistInXML() const
\r
77 return m_pNode != NULL;
\r
80 XFA_ELEMENT GetClassID() const;
\r
82 FX_BOOL TryMeasure(XFA_ATTRIBUTE eAttr, FX_FLOAT &fValue, FX_BOOL bUseDefault = FALSE) const;
\r
83 FX_BOOL SetMeasure(XFA_ATTRIBUTE eAttr, FX_FLOAT fValue);
\r
86 class CXFA_Fill : public CXFA_Data
\r
89 CXFA_Fill(CXFA_Node* pNode);
\r
92 FX_INT32 GetPresence();
\r
94 FX_ARGB GetColor(FX_BOOL bText = FALSE);
\r
96 void SetColor(FX_ARGB color);
\r
99 FX_INT32 GetFillType();
\r
101 FX_INT32 GetPattern(FX_ARGB& foreColor);
\r
103 FX_INT32 GetStipple(FX_ARGB& stippleColor);
\r
105 FX_INT32 GetLinear(FX_ARGB& endColor);
\r
107 FX_INT32 GetRadial(FX_ARGB& endColor);
\r
108 FX_BOOL SetPresence(FX_INT32 iPresence);
\r
109 FX_BOOL SetFillType(FX_INT32 iType);
\r
110 FX_BOOL SetPattern(FX_INT32 iPattern, FX_ARGB foreColor);
\r
111 FX_BOOL SetStipple(FX_INT32 iStipple, FX_ARGB stippleColor);
\r
112 FX_BOOL SetLinear(FX_INT32 iLinear, FX_ARGB endColor);
\r
113 FX_BOOL SetRadial(FX_INT32 iRadial, FX_ARGB endColor);
\r
115 class CXFA_Margin : public CXFA_Data
\r
118 CXFA_Margin(CXFA_Node* pNode);
\r
119 FX_BOOL GetLeftInset(FX_FLOAT &fInset, FX_FLOAT fDefInset = 0) const;
\r
120 FX_BOOL GetTopInset(FX_FLOAT &fInset, FX_FLOAT fDefInset = 0) const;
\r
121 FX_BOOL GetRightInset(FX_FLOAT &fInset, FX_FLOAT fDefInset = 0) const;
\r
122 FX_BOOL GetBottomInset(FX_FLOAT &fInset, FX_FLOAT fDefInset = 0) const;
\r
123 FX_BOOL SetLeftInset(FX_FLOAT fInset);
\r
124 FX_BOOL SetTopInset(FX_FLOAT fInset);
\r
125 FX_BOOL SetRightInset(FX_FLOAT fInset);
\r
126 FX_BOOL SetBottomInset(FX_FLOAT fInset);
\r
128 class CXFA_Font : public CXFA_Data
\r
131 CXFA_Font(CXFA_Node* pNode);
\r
133 FX_FLOAT GetBaselineShift();
\r
135 FX_FLOAT GetHorizontalScale();
\r
137 FX_FLOAT GetVerticalScale();
\r
139 FX_FLOAT GetLetterSpacing();
\r
141 FX_INT32 GetLineThrough();
\r
143 FX_INT32 GetLineThroughPeriod();
\r
145 FX_INT32 GetOverline();
\r
147 FX_INT32 GetOverlinePeriod();
\r
149 FX_INT32 GetUnderline();
\r
151 FX_INT32 GetUnderlinePeriod();
\r
153 FX_FLOAT GetFontSize();
\r
155 void GetTypeface(CFX_WideStringC &wsTypeFace);
\r
159 FX_BOOL IsItalic();
\r
161 FX_BOOL IsUseKerning();
\r
163 FX_ARGB GetColor();
\r
165 void SetColor(FX_ARGB color);
\r
166 FX_BOOL SetBaselineShift(FX_FLOAT fBaselineShift);
\r
167 FX_BOOL SetHorizontalScale(FX_FLOAT fHorizontalScale);
\r
168 FX_BOOL SetVerticalScale(FX_FLOAT fVerticalScale);
\r
169 FX_BOOL SetLetterSpacing(FX_FLOAT fLetterSpacing, XFA_UNIT eUnit);
\r
170 FX_BOOL SetLineThrough(FX_INT32 iLineThrough);
\r
171 FX_BOOL SetLineThroughPeriod(FX_INT32 iLineThroughPeriod);
\r
172 FX_BOOL SetOverline(FX_INT32 iOverline);
\r
173 FX_BOOL SetOverlinePeriod(FX_INT32 iOverlinePeriod);
\r
174 FX_BOOL SetUnderline(FX_INT32 iUnderline);
\r
175 FX_BOOL SetUnderlinePeriod(FX_INT32 iUnderlinePeriod);
\r
177 class CXFA_Caption : public CXFA_Data
\r
180 CXFA_Caption(CXFA_Node* pNode);
\r
182 FX_INT32 GetPresence();
\r
184 FX_INT32 GetPlacementType();
\r
186 FX_FLOAT GetReserve();
\r
188 CXFA_Margin GetMargin();
\r
190 CXFA_Font GetFont();
\r
192 CXFA_Value GetValue();
\r
194 CXFA_Para GetPara();
\r
195 FX_BOOL SetPresence(FX_INT32 iPresence);
\r
196 FX_BOOL SetPlacementType(FX_INT32 iType);
\r
197 FX_BOOL SetReserve(FX_FLOAT fReserve);
\r
199 class CXFA_Para : public CXFA_Data
\r
202 CXFA_Para(CXFA_Node* pNode);
\r
204 FX_INT32 GetHorizontalAlign();
\r
206 FX_INT32 GetVerticalAlign();
\r
208 FX_FLOAT GetLineHeight();
\r
209 FX_FLOAT GetMarginLeft();
\r
210 FX_FLOAT GetMarginRight();
\r
211 FX_INT32 GetOrphans();
\r
212 FX_FLOAT GetRadixOffset();
\r
213 FX_FLOAT GetSpaceAbove();
\r
214 FX_FLOAT GetSpaceBelow();
\r
215 FX_FLOAT GetTextIndent();
\r
216 FX_INT32 GetWidows();
\r
217 FX_BOOL SetHorizontalAlign(FX_INT32 iHorizontalAlign);
\r
218 FX_BOOL SetVerticalAlign(FX_INT32 iVerticalAlign);
\r
219 FX_BOOL SetLineHeight(FX_FLOAT fLineHeight);
\r
220 FX_BOOL SetMarginLeft(FX_FLOAT fMarginLeft);
\r
221 FX_BOOL SetMarginRight(FX_FLOAT fMarginRight);
\r
222 FX_BOOL SetOrphans(FX_INT32 iOrphans);
\r
223 FX_BOOL SetRadixOffset(FX_FLOAT fRadixOffset);
\r
224 FX_BOOL SetSpaceAbove(FX_FLOAT fSpaceAbove);
\r
225 FX_BOOL SetSpaceBelow(FX_FLOAT fSpaceBelow);
\r
226 FX_BOOL SetTextIndent(FX_FLOAT fTextIndent);
\r
227 FX_BOOL SetWidows(FX_INT32 iWidows);
\r
229 class CXFA_Keep : public CXFA_Data
\r
232 CXFA_Keep(CXFA_Node *pNode, CXFA_Node *pParent);
\r
234 FX_INT32 GetIntact();
\r
235 FX_INT32 GetNext();
\r
236 FX_INT32 GetPrevious();
\r
237 FX_BOOL SetIntact(FX_INT32 iIntact);
\r
238 FX_BOOL SetNext(FX_INT32 iNext);
\r
239 FX_BOOL SetPrevious(FX_INT32 iPrevious);
\r
241 CXFA_Node *m_pParent;
\r
243 enum XFA_TEXTENCODING {
\r
244 XFA_TEXTENCODING_None,
\r
245 XFA_TEXTENCODING_Big5,
\r
246 XFA_TEXTENCODING_FontSpecific,
\r
247 XFA_TEXTENCODING_GBK,
\r
248 XFA_TEXTENCODING_GB18030,
\r
249 XFA_TEXTENCODING_GB2312,
\r
250 XFA_TEXTENCODING_ISO8859NN,
\r
251 XFA_TEXTENCODING_KSC5601,
\r
252 XFA_TEXTENCODING_ShiftJIS,
\r
253 XFA_TEXTENCODING_UCS2,
\r
254 XFA_TEXTENCODING_UTF16,
\r
255 XFA_TEXTENCODING_UTF8
\r
257 class CXFA_Event : public CXFA_Data
\r
260 CXFA_Event(CXFA_Node* pNode);
\r
263 FX_INT32 GetActivity();
\r
265 FX_INT32 GetEventType();
\r
266 void GetRef(CFX_WideStringC &wsRef);
\r
268 FX_INT32 GetExecuteRunAt();
\r
269 FX_INT32 GetExecuteType();
\r
270 void GetExecuteConnection(CFX_WideString &wsConnection);
\r
273 CXFA_Script GetScript();
\r
276 CXFA_Submit GetSubmit();
\r
279 FX_INT32 GetSignDataOperation();
\r
280 void GetSignDataTarget(CFX_WideString &wsTarget);
\r
281 FX_BOOL SetActivity(FX_INT32 iActivity);
\r
282 FX_BOOL SetEventType(FX_INT32 iEventType);
\r
283 FX_BOOL SetExecuteRunAt(FX_INT32 iExecuteRunAt);
\r
284 FX_BOOL SetExecuteType(FX_INT32 iExecuteType);
\r
285 FX_BOOL SetExecuteConnection(const CFX_WideString& wsConnection);
\r
286 FX_BOOL SetSignDataOperation(FX_INT32 iOperation);
\r
287 FX_BOOL SetSignDataTarget(const CFX_WideString& wsTarget);
\r
289 enum XFA_SCRIPTTYPE {
\r
290 XFA_SCRIPTTYPE_Formcalc = 0,
\r
291 XFA_SCRIPTTYPE_Javascript,
\r
292 XFA_SCRIPTTYPE_Unkown,
\r
294 class CXFA_Script : public CXFA_Data
\r
297 CXFA_Script(CXFA_Node* pNode);
\r
298 void GetBinding(CFX_WideString &wsBinding);
\r
300 XFA_SCRIPTTYPE GetContentType();
\r
301 FX_INT32 GetRunAt();
\r
302 void GetExpression(CFX_WideString &wsExpression);
\r
303 FX_BOOL SetBinding(const CFX_WideString& wsBinding);
\r
304 FX_BOOL SetContentType(XFA_SCRIPTTYPE eType);
\r
305 FX_BOOL SetRunAt(FX_INT32 iRunAt);
\r
306 FX_BOOL SetExpression(const CFX_WideString& wsExpression);
\r
308 class CXFA_Submit : public CXFA_Data
\r
311 CXFA_Submit(CXFA_Node* pNode);
\r
312 FX_BOOL IsSubmitEmbedPDF();
\r
313 FX_INT32 GetSubmitFormat();
\r
314 void GetSubmitTarget(CFX_WideStringC &wsTarget);
\r
315 XFA_TEXTENCODING GetSubmitTextEncoding();
\r
316 void GetSubmitXDPContent(CFX_WideStringC &wsContent);
\r
317 FX_BOOL SetSubmitFormat(FX_INT32 iSubmitFormat);
\r
318 FX_BOOL SetSubmitTarget(const CFX_WideString& wsTarget);
\r
319 FX_BOOL SetSubmitTextEncoding(XFA_TEXTENCODING eTextEncoding);
\r
320 FX_BOOL SetSubmitXDPContent(const CFX_WideString& wsContent);
\r
322 class CXFA_Value : public CXFA_Data
\r
325 CXFA_Value(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
327 XFA_ELEMENT GetChildValueClassID();
\r
329 FX_BOOL GetChildValueContent(CFX_WideString &wsContent);
\r
331 CXFA_Line GetLine();
\r
332 CXFA_Rectangle GetRectangle();
\r
333 CXFA_Text GetText();
\r
334 CXFA_ExData GetExData();
\r
335 CXFA_Image GetImage();
\r
336 FX_BOOL SetChildValueContent(const CFX_WideString& wsContent, FX_BOOL bNotify = FALSE, XFA_ELEMENT iType = XFA_ELEMENT_UNKNOWN);
\r
338 class CXFA_Line : public CXFA_Data
\r
341 CXFA_Line(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
342 FX_INT32 GetHand();
\r
344 CXFA_Edge GetEdge();
\r
345 FX_BOOL SetHand(FX_INT32 iHand);
\r
346 FX_BOOL SetSlop(FX_INT32 iSlop);
\r
348 class CXFA_Text : public CXFA_Data
\r
351 CXFA_Text(CXFA_Node* pNode);
\r
352 void GetName(CFX_WideStringC &wsName);
\r
353 FX_INT32 GetMaxChars();
\r
354 void GetRid(CFX_WideStringC &wsRid);
\r
355 void GetContent(CFX_WideString &wsText);
\r
356 void SetContent(CFX_WideString wsText, FX_BOOL bNotify = TRUE);
\r
357 FX_BOOL SetName(const CFX_WideString& wsName);
\r
358 FX_BOOL SetMaxChars(FX_INT32 iMaxChars);
\r
359 FX_BOOL SetRid(const CFX_WideString& wsRid);
\r
361 class CXFA_ExData : public CXFA_Data
\r
364 CXFA_ExData(CXFA_Node* pNode);
\r
365 void GetContentType(CFX_WideStringC &wsContentType);
\r
366 void GetHref(CFX_WideStringC &wsHref);
\r
367 FX_INT32 GetMaxLength();
\r
368 void GetRid(CFX_WideStringC &wsRid);
\r
369 FX_INT32 GetTransferEncoding();
\r
370 void GetContent(CFX_WideString &wsText);
\r
371 FX_BOOL SetContentType(const CFX_WideString& wsContentType);
\r
372 FX_BOOL SetHref(const CFX_WideString& wsHref);
\r
373 FX_BOOL SetMaxLength(FX_INT32 iMaxLength);
\r
374 FX_BOOL SetRid(const CFX_WideString& wsRid);
\r
375 FX_BOOL SetTransferEncoding(FX_INT32 iTransferEncoding);
\r
376 FX_BOOL SetContent(const CFX_WideString& wsText, FX_BOOL bNotify = FALSE, FX_BOOL bScriptModify = FALSE, FX_BOOL bSyncData = TRUE);
\r
378 class CXFA_Image : public CXFA_Data
\r
381 CXFA_Image(CXFA_Node* pNode, FX_BOOL bDefValue);
\r
382 FX_INT32 GetAspect();
\r
383 FX_BOOL GetContentType(CFX_WideString &wsContentType);
\r
384 FX_BOOL GetHref(CFX_WideString &wsHref);
\r
385 FX_INT32 GetTransferEncoding();
\r
386 FX_BOOL GetContent(CFX_WideString &wsText);
\r
387 FX_BOOL SetAspect(FX_INT32 iAspect);
\r
388 FX_BOOL SetContentType(const CFX_WideString& wsContentType);
\r
389 FX_BOOL SetHref(const CFX_WideString& wsHref);
\r
390 FX_BOOL SetTransferEncoding(FX_INT32 iTransferEncoding);
\r
391 FX_BOOL SetContent(const CFX_WideString& wsText);
\r
393 FX_BOOL m_bDefValue;
\r
395 class CXFA_Calculate : public CXFA_Data
\r
398 CXFA_Calculate(CXFA_Node* pNode);
\r
400 FX_INT32 GetOverride();
\r
401 CXFA_Script GetScript();
\r
402 void GetMessageText(CFX_WideString &wsMessage);
\r
403 FX_BOOL SetOverride(FX_INT32 iOverride);
\r
404 FX_BOOL SetMessageText(const CFX_WideString& wsMessage);
\r
406 class CXFA_Validate : public CXFA_Data
\r
409 CXFA_Validate(CXFA_Node* pNode);
\r
410 FX_INT32 GetFormatTest();
\r
411 FX_BOOL SetFormatTest(CFX_WideString wsValue);
\r
412 FX_INT32 GetNullTest();
\r
413 FX_BOOL SetNullTest(CFX_WideString wsValue);
\r
414 FX_INT32 GetScriptTest();
\r
415 void GetFormatMessageText(CFX_WideString &wsMessage);
\r
416 void SetFormatMessageText(CFX_WideString wsMessage);
\r
417 void GetNullMessageText(CFX_WideString &wsMessage);
\r
418 void SetNullMessageText(CFX_WideString wsMessage);
\r
419 void GetScriptMessageText(CFX_WideString &wsMessage);
\r
420 void SetScriptMessageText(CFX_WideString wsMessage);
\r
421 void GetPicture(CFX_WideString &wsPicture);
\r
422 CXFA_Script GetScript();
\r
424 void GetMessageText(CFX_WideString &wsMessage, FX_WSTR wsMessageType);
\r
425 void SetMessageText(CFX_WideString &wsMessage, FX_WSTR wsMessageType);
\r
426 FX_BOOL SetTestValue(FX_INT32 iType, CFX_WideString &wsValue, XFA_ATTRIBUTEENUM eName);
\r
428 class CXFA_Variables : public CXFA_Data
\r
431 CXFA_Variables(CXFA_Node* pNode);
\r
433 FX_INT32 CountScripts();
\r
434 CXFA_Script GetScript(FX_INT32 nIndex);
\r
436 class CXFA_Bind : public CXFA_Data
\r
439 CXFA_Bind(CXFA_Node* pNode);
\r
440 FX_INT32 GetMatch();
\r
441 void GetRef(CFX_WideStringC &wsRef);
\r
442 void GetPicture(CFX_WideString &wsPicture);
\r
443 FX_BOOL SetMatch(FX_INT32 iMatch);
\r
444 FX_BOOL SetRef(const CFX_WideString& wsRef);
\r
445 FX_BOOL SetPicture(const CFX_WideString& wsPicture);
\r
447 class CXFA_Assist : public CXFA_Data
\r
450 CXFA_Assist(CXFA_Node* pNode);
\r
452 CXFA_ToolTip GetToolTip();
\r
454 class CXFA_ToolTip : public CXFA_Data
\r
457 CXFA_ToolTip(CXFA_Node* pNode);
\r
458 FX_BOOL GetTip(CFX_WideString &wsTip);
\r
459 FX_BOOL SetTip(const CFX_WideString& wsTip);
\r
461 class CXFA_BindItems : public CXFA_Data
\r
464 CXFA_BindItems(CXFA_Node* pNode);
\r
465 void GetConnection(CFX_WideStringC &wsConnection);
\r
466 void GetLabelRef(CFX_WideStringC &wsLabelRef);
\r
467 void GetValueRef(CFX_WideStringC &wsValueRef);
\r
468 void GetRef(CFX_WideStringC &wsRef);
\r
469 FX_BOOL SetConnection(const CFX_WideString& wsConnection);
\r
470 FX_BOOL SetLabelRef(const CFX_WideString& wsLabelRef);
\r
471 FX_BOOL SetValueRef(const CFX_WideString& wsValueRef);
\r
472 FX_BOOL SetRef(const CFX_WideString& wsRef);
\r
474 #define XFA_STROKE_SAMESTYLE_NoPresence 1
\r
475 #define XFA_STROKE_SAMESTYLE_Corner 2
\r
476 class CXFA_Stroke : public CXFA_Data
\r
480 CXFA_Stroke(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
482 FX_BOOL IsCorner() const
\r
484 return GetClassID() == XFA_ELEMENT_Corner;
\r
487 FX_BOOL IsEdge() const
\r
489 return GetClassID() == XFA_ELEMENT_Edge;
\r
492 FX_INT32 GetPresence() const;
\r
493 FX_BOOL IsVisible() const
\r
495 return GetPresence() == XFA_ATTRIBUTEENUM_Visible;
\r
498 FX_INT32 GetCapType() const;
\r
500 FX_INT32 GetStrokeType() const;
\r
502 FX_FLOAT GetThickness() const;
\r
503 CXFA_Measurement GetMSThickness() const;
\r
505 void SetThickness(FX_FLOAT fThickness);
\r
506 void SetMSThickness(CXFA_Measurement msThinkness);
\r
508 FX_ARGB GetColor() const;
\r
510 void SetColor(FX_ARGB argb);
\r
512 FX_INT32 GetJoinType() const;
\r
514 FX_BOOL IsInverted() const;
\r
516 FX_FLOAT GetRadius() const;
\r
518 FX_BOOL SameStyles(CXFA_Stroke stroke, FX_DWORD dwFlags = 0) const;
\r
520 class CXFA_Corner : public CXFA_Stroke
\r
523 CXFA_Corner(CXFA_Node* pNode) : CXFA_Stroke(pNode) {}
\r
525 class CXFA_Edge : public CXFA_Stroke
\r
528 CXFA_Edge(CXFA_Node* pNode) : CXFA_Stroke(pNode) {}
\r
530 typedef CFX_ArrayTemplate<CXFA_Stroke> CXFA_StrokeArray;
\r
531 typedef CFX_ArrayTemplate<CXFA_Edge> CXFA_EdgeArray;
\r
532 typedef CFX_ArrayTemplate<CXFA_Corner> CXFA_CornerArray;
\r
533 class CXFA_Box : public CXFA_Data
\r
537 CXFA_Box(CXFA_Node *pNode) : CXFA_Data(pNode) {}
\r
539 FX_BOOL IsArc() const
\r
541 return GetClassID() == XFA_ELEMENT_Arc;
\r
544 FX_BOOL IsBorder() const
\r
546 return GetClassID() == XFA_ELEMENT_Border;
\r
549 FX_BOOL IsRectangle() const
\r
551 return GetClassID() == XFA_ELEMENT_Rectangle;
\r
554 FX_INT32 GetBreak() const;
\r
556 FX_INT32 GetHand() const;
\r
558 FX_INT32 GetPresence() const;
\r
560 FX_INT32 CountCorners() const;
\r
562 CXFA_Corner GetCorner(FX_INT32 nIndex) const;
\r
564 FX_INT32 CountEdges() const;
\r
566 CXFA_Edge GetEdge(FX_INT32 nIndex = 0) const;
\r
568 void GetStrokes(CXFA_StrokeArray &strokes) const;
\r
570 FX_BOOL IsCircular() const;
\r
572 FX_BOOL GetStartAngle(FX_FLOAT &fStartAngle) const;
\r
573 FX_FLOAT GetStartAngle() const
\r
575 FX_FLOAT fStartAngle;
\r
576 GetStartAngle(fStartAngle);
\r
577 return fStartAngle;
\r
580 FX_BOOL GetSweepAngle(FX_FLOAT &fSweepAngle) const;
\r
581 FX_FLOAT GetSweepAngle() const
\r
583 FX_FLOAT fSweepAngle;
\r
584 GetSweepAngle(fSweepAngle);
\r
585 return fSweepAngle;
\r
588 CXFA_Fill GetFill(FX_BOOL bModified = FALSE) const;
\r
590 CXFA_Margin GetMargin() const;
\r
592 FX_BOOL SameStyles() const;
\r
594 FX_INT32 Get3DStyle(FX_BOOL &bVisible, FX_FLOAT &fThickness) const;
\r
596 class CXFA_Arc : public CXFA_Box
\r
599 CXFA_Arc(CXFA_Node *pNode) : CXFA_Box(pNode) {}
\r
601 class CXFA_Border : public CXFA_Box
\r
604 CXFA_Border(CXFA_Node *pNode) : CXFA_Box(pNode) {}
\r
606 class CXFA_Rectangle : public CXFA_Box
\r
609 CXFA_Rectangle(CXFA_Node *pNode) : CXFA_Box(pNode) {}
\r
611 enum XFA_CHECKSTATE {
\r
612 XFA_CHECKSTATE_On = 0,
\r
613 XFA_CHECKSTATE_Off = 1,
\r
614 XFA_CHECKSTATE_Neutral = 2,
\r
616 enum XFA_VALUEPICTURE {
\r
617 XFA_VALUEPICTURE_Raw = 0,
\r
618 XFA_VALUEPICTURE_Display,
\r
619 XFA_VALUEPICTURE_Edit,
\r
620 XFA_VALUEPICTURE_DataBind,
\r
622 class CXFA_WidgetData : public CXFA_Data
\r
625 CXFA_WidgetData(CXFA_Node *pNode);
\r
626 CXFA_Node* GetUIChild();
\r
628 XFA_ELEMENT GetUIType();
\r
629 CFX_WideString GetRawValue();
\r
631 FX_INT32 GetAccess(FX_BOOL bTemplate = FALSE);
\r
633 FX_BOOL GetAccessKey(CFX_WideStringC &wsAccessKey);
\r
635 FX_INT32 GetAnchorType();
\r
637 FX_INT32 GetColSpan();
\r
639 FX_INT32 GetPresence();
\r
641 FX_INT32 GetRotate();
\r
643 CXFA_Border GetBorder(FX_BOOL bModified = FALSE);
\r
645 CXFA_Caption GetCaption(FX_BOOL bModified = FALSE);
\r
647 CXFA_Font GetFont(FX_BOOL bModified = FALSE);
\r
649 CXFA_Margin GetMargin(FX_BOOL bModified = FALSE);
\r
651 CXFA_Para GetPara(FX_BOOL bModified = FALSE);
\r
653 CXFA_Keep GetKeep(FX_BOOL bModified = FALSE);
\r
655 void GetEventList(CXFA_NodeArray &events);
\r
656 FX_INT32 GetEventByActivity(FX_INT32 iActivity, CXFA_NodeArray &events, FX_BOOL bIsFormReady = FALSE);
\r
658 CXFA_Value GetDefaultValue(FX_BOOL bModified = FALSE);
\r
660 CXFA_Value GetFormValue(FX_BOOL bModified = FALSE);
\r
662 CXFA_Calculate GetCalculate(FX_BOOL bModified = FALSE);
\r
664 CXFA_Validate GetValidate(FX_BOOL bModified = FALSE);
\r
666 CXFA_Variables GetVariables(FX_BOOL bModified = FALSE);
\r
668 CXFA_Bind GetBind(FX_BOOL bModified = FALSE);
\r
670 CXFA_Assist GetAssist(FX_BOOL bModified = FALSE);
\r
672 void GetRelevant(CFX_WideStringC &wsRelevant);
\r
673 FX_DWORD GetRelevantStatus();
\r
675 FX_BOOL GetWidth(FX_FLOAT &fWidth);
\r
676 FX_BOOL GetHeight(FX_FLOAT &fHeight);
\r
678 FX_BOOL GetMinWidth(FX_FLOAT &fMinWidth);
\r
679 FX_BOOL GetMinHeight(FX_FLOAT &fMinHeight);
\r
681 FX_BOOL GetMaxWidth(FX_FLOAT &fMaxWidth);
\r
682 FX_BOOL GetMaxHeight(FX_FLOAT &fMaxHeight);
\r
684 CXFA_BindItems GetBindItems();
\r
685 FX_BOOL SetAccess(FX_INT32 iAccess, FX_BOOL bNotify = TRUE);
\r
686 FX_BOOL SetAccessKey(const CFX_WideString& wsAccessKey);
\r
687 FX_BOOL SetAnchorType(FX_INT32 iType);
\r
688 FX_BOOL SetColSpan(FX_INT32 iColSpan);
\r
689 FX_BOOL SetPresence(FX_INT32 iPresence);
\r
690 FX_BOOL SetRotate(FX_INT32 iRotate);
\r
691 FX_BOOL SetRelevant(const CFX_WideString& wsRelevant);
\r
692 FX_BOOL SetStatus(FX_DWORD dwStatus);
\r
693 FX_BOOL SetWidth(FX_FLOAT fWidth);
\r
694 FX_BOOL SetHeight(FX_FLOAT fHeight);
\r
695 FX_BOOL SetMinWidth(FX_FLOAT fMinWidth);
\r
696 FX_BOOL SetMinHeight(FX_FLOAT fMinHeight);
\r
697 FX_BOOL SetMaxWidth(FX_FLOAT fMaxWidth);
\r
698 FX_BOOL SetMaxHeight(FX_FLOAT fMaxHeight);
\r
699 FX_BOOL SetPos(FX_FLOAT x, FX_FLOAT y);
\r
700 FX_BOOL SetName(const CFX_WideString& wsName);
\r
701 FX_BOOL SetButtonHighlight(FX_INT32 iButtonHighlight);
\r
702 FX_BOOL SetButtonRollover(const CFX_WideString &wsRollover, FX_BOOL bRichText);
\r
703 FX_BOOL SetButtonDown(const CFX_WideString& wsDown, FX_BOOL bRichText);
\r
704 FX_BOOL SetCheckButtonShape(FX_INT32 iCheckButtonShape);
\r
705 FX_BOOL SetCheckButtonMark(FX_INT32 iCheckButtonMark);
\r
706 FX_BOOL SetCheckButtonSize(FX_FLOAT fCheckButtonMark);
\r
708 CXFA_Border GetUIBorder(FX_BOOL bModified = FALSE);
\r
710 CXFA_Margin GetUIMargin(FX_BOOL bModified = FALSE);
\r
711 void GetUIMargin(CFX_RectF &rtUIMargin);
\r
713 FX_INT32 GetButtonHighlight();
\r
714 FX_BOOL GetButtonRollover(CFX_WideString &wsRollover, FX_BOOL &bRichText);
\r
715 FX_BOOL GetButtonDown(CFX_WideString &wsDown, FX_BOOL &bRichText);
\r
718 FX_INT32 GetCheckButtonShape();
\r
720 FX_INT32 GetCheckButtonMark();
\r
722 FX_FLOAT GetCheckButtonSize();
\r
724 FX_BOOL IsAllowNeutral();
\r
725 FX_BOOL IsRadioButton();
\r
726 XFA_CHECKSTATE GetCheckState();
\r
727 void SetCheckState(XFA_CHECKSTATE eCheckState, FX_BOOL bNotify = TRUE);
\r
729 CXFA_Node* GetExclGroupNode();
\r
731 CXFA_Node* GetSelectedMember();
\r
733 CXFA_Node* SetSelectedMember(FX_WSTR wsName, FX_BOOL bNotify = TRUE);
\r
735 void SetSelectedMemberByValue(FX_WSTR wsValue, FX_BOOL bNotify = TRUE, FX_BOOL bScriptModify = FALSE, FX_BOOL bSyncData = TRUE);
\r
736 CXFA_Node* GetExclGroupFirstMember();
\r
737 CXFA_Node* GetExclGroupNextMember(CXFA_Node* pNode);
\r
739 FX_INT32 GetChoiceListCommitOn();
\r
741 FX_BOOL IsChoiceListAllowTextEntry();
\r
743 FX_INT32 GetChoiceListOpen();
\r
744 FX_BOOL IsListBox();
\r
745 FX_INT32 CountChoiceListItems(FX_BOOL bSaveValue = FALSE);
\r
747 FX_BOOL GetChoiceListItem(CFX_WideString &wsText, FX_INT32 nIndex, FX_BOOL bSaveValue = FALSE);
\r
748 void GetChoiceListItems(CFX_WideStringArray &wsTextArray, FX_BOOL bSaveValue = FALSE);
\r
750 FX_INT32 CountSelectedItems();
\r
752 FX_INT32 GetSelectedItem(FX_INT32 nIndex = 0);
\r
753 void GetSelectedItems(CFX_Int32Array &iSelArray);
\r
754 void GetSelectedItemsValue(CFX_WideStringArray &wsSelTextArray);
\r
756 FX_BOOL GetItemState(FX_INT32 nIndex);
\r
758 void SetItemState(FX_INT32 nIndex, FX_BOOL bSelected, FX_BOOL bNotify = FALSE, FX_BOOL bScriptModify = FALSE, FX_BOOL bSyncData = TRUE);
\r
759 void SetSelectdItems(CFX_Int32Array &iSelArray, FX_BOOL bNotify = FALSE, FX_BOOL bScriptModify = FALSE, FX_BOOL bSyncData = TRUE);
\r
760 void ClearAllSelections();
\r
761 void InsertItem(const CFX_WideString &wsLabel, const CFX_WideString &wsValue, FX_INT32 nIndex = -1, FX_BOOL bNotify = FALSE);
\r
762 void GetItemLabel(FX_WSTR wsValue, CFX_WideString &wsLabel);
\r
763 void GetItemValue(FX_WSTR wsLabel, CFX_WideString &wsValue);
\r
764 FX_BOOL DeleteItem(FX_INT32 nIndex, FX_BOOL bNotify = FALSE, FX_BOOL bScriptModify = FALSE, FX_BOOL bSyncData = TRUE);
\r
766 FX_INT32 GetHorizontalScrollPolicy();
\r
768 FX_INT32 GetNumberOfCells();
\r
770 FX_BOOL IsDateTimeEditUsePicker();
\r
772 FX_BOOL SetValue(const CFX_WideString& wsValue, XFA_VALUEPICTURE eValueType);
\r
773 FX_BOOL GetPictureContent(CFX_WideString &wsPicture, XFA_VALUEPICTURE ePicture);
\r
774 IFX_Locale* GetLocal();
\r
775 FX_BOOL GetValue(CFX_WideString &wsValue, XFA_VALUEPICTURE eValueType);
\r
776 FX_BOOL GetNormalizeDataValue(FX_WSTR wsValue, CFX_WideString &wsNormalizeValue);
\r
777 FX_BOOL GetFormatDataValue(FX_WSTR wsValue, CFX_WideString &wsFormatedValue);
\r
778 void NormalizeNumStr(const CFX_WideString& wsValue, CFX_WideString& wsOutput);
\r
780 CFX_WideString GetBarcodeType();
\r
781 FX_BOOL GetBarcodeAttribute_CharEncoding(FX_INT32& val);
\r
782 FX_BOOL GetBarcodeAttribute_Checksum(FX_INT32& val);
\r
783 FX_BOOL GetBarcodeAttribute_DataLength(FX_INT32& val);
\r
784 FX_BOOL GetBarcodeAttribute_StartChar(FX_CHAR& val);
\r
785 FX_BOOL GetBarcodeAttribute_EndChar(FX_CHAR& val);
\r
786 FX_BOOL GetBarcodeAttribute_ECLevel(FX_INT32& val);
\r
787 FX_BOOL GetBarcodeAttribute_ModuleWidth(FX_INT32& val);
\r
788 FX_BOOL GetBarcodeAttribute_ModuleHeight(FX_INT32& val);
\r
789 FX_BOOL GetBarcodeAttribute_PrintChecksum(FX_BOOL& val);
\r
790 FX_BOOL GetBarcodeAttribute_TextLocation(FX_INT32& val);
\r
791 FX_BOOL GetBarcodeAttribute_Truncate(FX_BOOL& val);
\r
792 FX_BOOL GetBarcodeAttribute_WideNarrowRatio(FX_FLOAT& val);
\r
794 void GetPasswordChar(CFX_WideString &wsPassWord);
\r
796 FX_BOOL IsAllowRichText();
\r
798 FX_BOOL IsMultiLine();
\r
800 FX_INT32 GetVerticalScrollPolicy();
\r
802 FX_INT32 GetMaxChars(XFA_ELEMENT& eType);
\r
804 FX_BOOL GetFracDigits(FX_INT32 &iFracDigits);
\r
806 FX_BOOL GetLeadDigits(FX_INT32 &iLeadDigits);
\r
808 CXFA_Filter GetFilter(FX_BOOL bModified = FALSE);
\r
809 CXFA_Manifest GetManifest(FX_BOOL bModified = FALSE);
\r
811 FX_BOOL m_bPreNull;
\r
813 void SyncValue(const CFX_WideString& wsValue, FX_BOOL bNotify);
\r
814 void InsertListTextItem(CXFA_Node* pItems, FX_WSTR wsText, FX_INT32 nIndex = -1);
\r
815 void FormatNumStr(const CFX_WideString& wsValue, IFX_Locale* pLocale, CFX_WideString& wsOutput);
\r
816 CXFA_Node* m_pUiChildNode;
\r
817 XFA_ELEMENT m_eUIType;
\r
819 class CXFA_Occur : public CXFA_Data
\r
822 CXFA_Occur(CXFA_Node* pNode);
\r
825 FX_INT32 GetInitial();
\r
826 FX_BOOL GetOccurInfo(FX_INT32& iMin, FX_INT32& iMax, FX_INT32& iInit);
\r
827 void SetMax(FX_INT32 iMax);
\r
828 void SetMin(FX_INT32 iMin);
\r
830 class CXFA_Filter : public CXFA_Data
\r
833 CXFA_Filter(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
834 CFX_WideString GetFilterString(XFA_ATTRIBUTE eAttribute);
\r
835 XFA_ATTRIBUTEENUM GetAppearanceFilterType();
\r
836 CFX_WideString GetAppearanceFilterContent();
\r
837 XFA_ATTRIBUTEENUM GetCertificatesCredentialServerPolicy();
\r
838 CFX_WideString GetCertificatesURL();
\r
839 CFX_WideString GetCertificatesURLPolicy();
\r
840 CXFA_WrapCertificate GetCertificatesEncryption(FX_BOOL bModified = FALSE);
\r
841 CXFA_WrapCertificate GetCertificatesIssuers(FX_BOOL bModified = FALSE);
\r
842 CFX_WideString GetCertificatesKeyUsageString(XFA_ATTRIBUTE eAttribute);
\r
843 CXFA_Oids GetCertificatesOids();
\r
844 CXFA_WrapCertificate GetCertificatesSigning(FX_BOOL bModified = FALSE);
\r
845 CXFA_DigestMethods GetDigestMethods(FX_BOOL bModified = FALSE);
\r
846 CXFA_Encodings GetEncodings(FX_BOOL bModified = FALSE);
\r
847 CXFA_EncryptionMethods GetEncryptionMethods(FX_BOOL bModified = FALSE);
\r
848 XFA_ATTRIBUTEENUM GetHandlerType();
\r
849 CFX_WideString GetHandlerContent();
\r
850 XFA_ATTRIBUTEENUM GetlockDocumentType();
\r
851 CFX_WideString GetlockDocumentContent();
\r
852 FX_INT32 GetMDPPermissions();
\r
853 XFA_ATTRIBUTEENUM GetMDPSignatureType();
\r
855 CXFA_Reasons GetReasons(FX_BOOL bModified = FALSE);
\r
856 CFX_WideString GetTimeStampServer();
\r
857 XFA_ATTRIBUTEENUM GetTimeStampType();
\r
859 class CXFA_Certificate : public CXFA_Data
\r
862 CXFA_Certificate(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
863 CFX_WideString GetCertificateName();
\r
864 CFX_WideString GetCertificateContent();
\r
866 class CXFA_WrapCertificate : public CXFA_Data
\r
869 CXFA_WrapCertificate(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
870 XFA_ATTRIBUTEENUM GetType();
\r
871 FX_INT32 CountCertificates();
\r
872 CXFA_Certificate GetCertificate(FX_INT32 nIndex);
\r
874 class CXFA_Oids : public CXFA_Data
\r
877 CXFA_Oids(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
878 XFA_ATTRIBUTEENUM GetOidsType();
\r
879 FX_INT32 CountOids();
\r
880 CFX_WideString GetOidContent(FX_INT32 nIndex);
\r
882 class CXFA_SubjectDNs : public CXFA_Data
\r
885 CXFA_SubjectDNs(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
886 XFA_ATTRIBUTEENUM GetSubjectDNsType();
\r
887 FX_INT32 CountSubjectDNs();
\r
888 CFX_WideString GetSubjectDNString(FX_INT32 nIndex, XFA_ATTRIBUTE eAttribute);
\r
889 CFX_WideString GetSubjectDNContent(FX_INT32 nIndex);
\r
891 class CXFA_DigestMethods : public CXFA_Data
\r
894 CXFA_DigestMethods(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
895 XFA_ATTRIBUTEENUM GetDigestMethodsType();
\r
896 FX_INT32 CountDigestMethods();
\r
897 CFX_WideString GetDigestMethodContent(FX_INT32 nIndex);
\r
899 class CXFA_Encodings : public CXFA_Data
\r
902 CXFA_Encodings(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
903 XFA_ATTRIBUTEENUM GetEncodingsType();
\r
904 FX_INT32 CountEncodings();
\r
905 CFX_WideString GetEncodingContent(FX_INT32 nIndex);
\r
907 class CXFA_EncryptionMethods : public CXFA_Data
\r
910 CXFA_EncryptionMethods(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
911 XFA_ATTRIBUTEENUM GetEncryptionMethodsType();
\r
912 FX_INT32 CountEncryptionMethods();
\r
913 CFX_WideString GetEncryptionMethodContent(FX_INT32 nIndex);
\r
915 class CXFA_Reasons : public CXFA_Data
\r
918 CXFA_Reasons(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
919 XFA_ATTRIBUTEENUM GetReasonsType();
\r
920 FX_INT32 CountReasons();
\r
921 CFX_WideString GetReasonContent(FX_INT32 nIndex);
\r
923 class CXFA_Manifest : public CXFA_Data
\r
926 CXFA_Manifest(CXFA_Node* pNode) : CXFA_Data(pNode) {}
\r
927 XFA_ATTRIBUTEENUM GetAction();
\r
928 FX_INT32 CountReives();
\r
929 CFX_WideString GetRefContent(FX_INT32 nIndex);
\r