Foxit PDF SDK
fs_xfa.h
Go to the documentation of this file.
1 
16 #ifndef FS_XFA_H_
17 #define FS_XFA_H_
18 
19 #include "common/fs_common.h"
20 
26 namespace foxit {
27 namespace common {
28  class Bitmap;
29 }
30 
31 namespace pdf{
32 class Signature;
33 class PDFDoc;
34 }
35 
39 namespace addon {
43 namespace xfa {
44 class XFADoc;
45 class XFAPage;
46 class XFAWidget;
47 
49 class WidgetChoiceOption FS_FINAL : public Object {
50  public:
54  , selected(false){}
55 
65  , selected(selected){}
66 
73  : option_label(option.option_label)
74  , selected(option.selected){}
75 
84  option_label = option.option_label;
85  selected = option.selected;
86  return *this;
87  }
88 
98  void Set( const wchar_t* option_label, bool selected) {
99  this->option_label = option_label;
100  this->selected = selected;
101  }
102 
105 
107  bool selected;
108 };
109 
112 
119  public:
125  typedef enum _AppInfo {
138  } AppInfo;
139 
145  typedef enum _BeepType {
156  } BeepType;
157 
163  typedef enum _StringID {
377  } StringID;
378 
384  typedef enum _MsgBoxIconType {
393  } MsgBoxIconType;
394 
400  typedef enum _MsgBoxButtonType {
410 
416  typedef enum _MsgBoxButtonID {
425  } MsgBoxButtonID;
426 
427 
433  virtual void Release() = 0;
434 
444  virtual WString GetAppInfo(AppInfo app_info) = 0;
445 
454  virtual void Beep(BeepType type) = 0;
455 
469  virtual MsgBoxButtonID MsgBox(const wchar_t* message, const wchar_t* title, MsgBoxIconType icon_type,
470  MsgBoxButtonType button_type) = 0;
471 
484  virtual WString Response(const wchar_t* question, const wchar_t* title, const wchar_t* default_answer,
485  bool is_mask) = 0;
486 
494  virtual common::file::ReaderCallback* DownLoadUrl(const wchar_t* url) = 0;
495 
510  virtual WString PostRequestURL(const wchar_t* url, const wchar_t* data, const wchar_t* content_type,
511  const wchar_t* encode, const wchar_t* header) = 0;
512 
523  virtual bool PutRequestURL(const wchar_t* url, const wchar_t* data, const wchar_t* encode) = 0;
524 
542  virtual WString LoadString(StringID string_id) = 0;
543 
554  virtual WStringArray ShowFileDialog(const wchar_t* string_title, const wchar_t* string_filter,
555  bool is_openfile_dialog) = 0;
556 
557  protected:
558  ~AppProviderCallback() {}
559 };
560 
567  public:
573  typedef enum _InvalidateFlag {
578  } InvalidateFlag;
579 
585  typedef enum _PrintOption {
593  e_PrintOptionAsImage = 0x00000008,
598  } PrintOption;
599 
605  typedef enum _SubmitFormat {
616  } SubmitFormat;
617 
623  typedef enum _TextEncoding {
648  } TextEncoding;
649 
655  typedef enum _PageViewEventType {
663 
669  typedef enum _WidgetEventType {
674  } WidgetEventType;
675 
676 
682  virtual void Release() = 0;
683 
696  virtual void InvalidateRect(int page_index, const RectF& rect, InvalidateFlag flag) = 0;
697 
708  virtual void DisplayCaret(int page_index, bool is_visible, const RectF& rect) = 0;
709 
724  virtual bool GetPopupPos(int page_index, float min_popup, float max_popup,
725  const RectF& rect_widget, RectF& inout_rect_popup) = 0;
726 
735  virtual bool PopupMenu(int page_index, const PointF& rect_popup) = 0;
736 
744  virtual int GetCurrentPage(const XFADoc& doc) = 0;
745 
754  virtual void SetCurrentPage(const XFADoc& doc, int current_page_index) = 0;
755 
763  virtual void SetChangeMark(const XFADoc& doc) = 0;
764 
772  virtual WString GetTitle(const XFADoc& doc) = 0;
773 
781  virtual void SetFocus(XFAWidget& xfa_widget) = 0;
782 
793  virtual void ExportData(const XFADoc& doc, const WString& file_path) = 0;
794 
805  virtual void ImportData(const XFADoc& doc, const WString& file_path) = 0;
806 
815  virtual void GotoURL(const XFADoc& doc, const WString& url) = 0;
816 
829  virtual void Print(const XFADoc& doc, int start_page_index, int end_page_index, uint32 options) = 0;
830 
838  virtual ARGB GetHighlightColor(const XFADoc& doc) = 0;
839 
853  virtual bool SubmitData(const XFADoc& doc, const WString& target, SubmitFormat format, TextEncoding text_encoding,
854  const WString& content) = 0;
855 
866  virtual void PageViewEvent(int page_index, PageViewEventType page_view_event_type) = 0;
867 
878  virtual void WidgetEvent(const XFAWidget& xfa_widget,WidgetEventType widget_event_type) = 0;
879 
880  protected:
881  ~DocProviderCallback() {}
882 };
883 
893 class XFADoc FS_FINAL : public Base{
894  public:
900  typedef enum _EventType {
910  } EventType;
911 
917  typedef enum _Type {
921  e_Static = 1,
923  e_XDP = 2
924  } Type;
925 
931  typedef enum _ExportDataType {
938  } ExportDataType;
939 
940 
954  XFADoc(const pdf::PDFDoc& document, DocProviderCallback* xfa_doc_provider_handler);
955 
968  XFADoc(const foxit::pdf::PDFDoc& document);
969 
975  XFADoc(const XFADoc& other);
983  XFADoc& operator = (const XFADoc& other);
984 
992  bool operator == (const XFADoc& other) const;
993 
1001  bool operator != (const XFADoc& other) const;
1002 
1010  bool IsEmpty() const;
1011 
1013  ~XFADoc();
1014 
1033 
1045 
1052  Type GetType() const;
1053 
1059  int GetPageCount() const;
1060 
1069  XFAPage GetPage(int page_index);
1070 
1080  bool ExportData(const char* output_file_path, ExportDataType export_type);
1081 
1091  bool ExportData(const wchar_t* output_file_path, ExportDataType export_type);
1092 
1103  void SetPDFPath(const char* pdf_file_path);
1104 
1115  void SetPDFPath(const wchar_t* pdf_file_path);
1116 
1125  bool ImportData(const char* file_path);
1126 
1135  bool ImportData(const wchar_t* file_path);
1136 
1142  void ResetForm();
1143 
1151  void FlattenTo(const char* output_file_path);
1152 
1160  void FlattenTo(const wchar_t* output_file_path);
1161 
1170 
1179  void ProcessEvent(EventType event_type);
1180 
1188  void SetFocus(XFAWidget xfa_widget);
1189 
1195  void KillFocus();
1196 
1210  XFAWidget GetWidgetByFullName(const WString& full_name);
1211 
1212  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1213  explicit XFADoc(FS_HANDLE handle = NULL);
1214 };
1215 
1222 class XFAPage FS_FINAL : public Base{
1223  public:
1229  XFAPage(const XFAPage& other);
1237  XFAPage& operator = (const XFAPage& other);
1238 
1246  bool operator == (const XFAPage& other) const;
1254  bool operator != (const XFAPage& other) const;
1255 
1257  ~XFAPage();
1258 
1266  bool IsEmpty() const;
1267 
1281  Matrix GetDisplayMatrix(int left, int top, int width, int height, common::Rotation rotate);
1282 
1288  float GetWidth() const;
1289 
1295  float GetHeight() const;
1296 
1307  XFAWidget GetWidgetAtDevicePoint(const Matrix& matrix, const PointF& device_point, float tolerance);
1308 
1314  int GetIndex() const;
1315 
1321  int GetWidgetCount() const;
1322 
1331  XFAWidget GetWidget(int widget_index) const;
1332 
1342  XFAWidget GetWidgetByFullName(const WString& full_name);
1343 
1351 
1359 
1369  XFAWidget GetNextWidget(const XFAWidget& widget);
1370 
1380  XFAWidget GetPrevWidget(const XFAWidget& widget);
1381 
1382  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1383  explicit XFAPage(FS_HANDLE handle = NULL);
1384 };
1385 
1392 class XFAWidget FS_FINAL : public Base{
1393  public:
1399  typedef enum _HitTestArea {
1408  } HitTestArea;
1409 
1415  typedef enum _WidgetType {
1450  } WidgetType;
1451 
1458  typedef enum _PresenceProperty {
1469  } PresenceProperty;
1470 
1476  typedef enum _WidgetNameType {
1483  } WidgetNameType;
1484 
1490  typedef enum _WidgetHAlignType {
1503  } WidgetHAlignType;
1504 
1510  typedef enum _WidgetVAlignType {
1517  } WidgetVAlignType;
1518 
1524  typedef enum _WidgetEdgePosition {
1534 
1535 
1541  XFAWidget(const XFAWidget& other);
1549  XFAWidget& operator = (const XFAWidget& other);
1550 
1558  bool operator == (const XFAWidget& other) const;
1566  bool operator != (const XFAWidget& other) const;
1567 
1575  bool IsEmpty() const;
1576 
1578  ~XFAWidget();
1579 
1585  XFAPage GetXFAPage();
1586 
1592  int GetIndex() const;
1593 
1599  void ResetData();
1600 
1609  RectF GetRect();
1610 
1616  WString GetValue();
1617 
1625  void SetValue(const wchar_t* value);
1626 
1636 
1646 
1655  bool IsChecked() const;
1656 
1665 
1671  bool OnMouseEnter();
1672 
1678  bool OnMouseExit();
1679 
1690  bool OnLButtonDown(const PointF& point, uint32 flags);
1691 
1702  bool OnLButtonUp(const PointF& point, uint32 flags);
1703 
1714  bool OnLButtonDoubleClick(const PointF& point, uint32 flags);
1715 
1726  bool OnMouseMove(const PointF& point, uint32 flags);
1727 
1738  bool OnRButtonDown(const PointF& point, uint32 flags);
1739 
1750  bool OnRButtonUp(const PointF& point, uint32 flags);
1751 
1764  bool OnKeyDown(uint32 key_code, uint32 flags);
1765 
1778  bool OnKeyUp(uint32 key_code, uint32 flags);
1779 
1790  bool OnChar(int input_char, uint32 flags);
1791 
1800  HitTestArea OnHitTest(const PointF& point);
1801 
1808  WidgetType GetType();
1809 
1817 
1825 
1834  bool HasEdge(WidgetEdgePosition edge_pos);
1835 
1845 
1851  WString GetToolTip();
1852 
1863 
1864  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
1865  explicit XFAWidget(FS_HANDLE handle = NULL);
1866 };
1867 
1871 class WidgetMenu FS_FINAL : public Base {
1872  public:
1878  explicit WidgetMenu(const XFAWidget& xfa_widget);
1879 
1885  WidgetMenu(const WidgetMenu& other);
1893  WidgetMenu& operator = (const WidgetMenu& other);
1894 
1902  bool operator == (const WidgetMenu& other) const;
1910  bool operator != (const WidgetMenu& other) const;
1911 
1913  ~WidgetMenu();
1914 
1922  bool IsEmpty() const;
1923 
1929  bool CanCopy();
1930 
1936  bool CanCut();
1937 
1943  bool CanPaste();
1944 
1950  bool CanSelectAll();
1951 
1957  bool CanDelete();
1958 
1965  bool CanDeSelect();
1966 
1972  WString Copy();
1973 
1979  WString Cut();
1980 
1988  bool Paste(const wchar_t* text);
1989 
1995  bool SelectAll();
1996 
2002  bool Delete();
2003 
2009  bool DeSelect();
2010 
2017  bool CanUndo();
2018 
2025  bool CanRedo();
2026 
2032  bool Undo();
2033 
2039  bool Redo();
2040 
2046  bool Bold();
2047 
2053  bool Italic();
2054 
2060  bool Underline();
2061 
2067  bool Superscript();
2068 
2074  bool Subscript();
2075 
2081  bool ClearStyle();
2082 
2083  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
2084  explicit WidgetMenu(FS_HANDLE handle = NULL);
2085 };
2086 } // namespace XFA
2087 } // namespace addon
2088 } // namespace foxit
2089 #endif // namespace foxit
2090 
XFADoc(const pdf::PDFDoc &document, DocProviderCallback *xfa_doc_provider_handler)
Constructor.
WidgetChoiceOption & operator=(const WidgetChoiceOption &option)
Assign operator.
Definition: fs_xfa.h:83
WidgetType GetType()
Get type of XFA widget.
No text encoding.
Definition: fs_xfa.h:625
Sample message: "Illegal continue".
Definition: fs_xfa.h:253
bool CanSelectAll()
Check if the text of related XFA widget can be selected all.
bool Bold()
(Only useful for rich text) Make the rich text bold.
Left-align the last line and spread-justify the rest.
Definition: fs_xfa.h:1494
Spread-justify all lines to fill the available region.
Definition: fs_xfa.h:1496
Sample message: "Invalidate expression '%s'".
Definition: fs_xfa.h:233
Sample message: "The value you entered for %s is invalid. To ignore validations for %s,...
Definition: fs_xfa.h:363
Sample message: "The element [%s] has violated its allowable number of occurrences".
Definition: fs_xfa.h:213
XFA widget type: choice list.
Definition: fs_xfa.h:1431
bool ExportData(const char *output_file_path, ExportDataType export_type)
Export data to a file.
PresenceProperty
Enumeration for presence attribute of XFA widget.
Definition: fs_xfa.h:1458
String ID for case: Use string in local language for "Thursday".
Definition: fs_xfa.h:325
common::Progressive StartLoad(common::PauseCallback *pause=0)
Start to load content for current XFA document.
virtual void SetFocus(XFAWidget &xfa_widget)=0
A callback function used to set focus widget.
Sample message: "Expected identifier instead of '%s'".
Definition: fs_xfa.h:223
Sample message: "Invalidate character '%c'".
Definition: fs_xfa.h:227
String ID for case: Use string in local language for "Saturday".
Definition: fs_xfa.h:329
Sample message: "Cannot directly assign the value to object".
Definition: fs_xfa.h:269
bool OnLButtonDown(const PointF &point, uint32 flags)
Call this function when left mouse button is down.
Sample message: "Function 's' is built-in.
Definition: fs_xfa.h:293
Sample message: "Cannot find function '%s'".
Definition: fs_xfa.h:279
String ID for case: Use string in local language for "Sunday".
Definition: fs_xfa.h:317
Sample message: "'%s' operator cannot support array calculation".
Definition: fs_xfa.h:285
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:216
MsgBoxIconType
Enumeration for icon type of XFA message box.
Definition: fs_xfa.h:384
RectF GetRect()
Get rectangle of XFA widget.
XFA widget type: Exclusion Group for radio button only.
Definition: fs_xfa.h:1447
String ID for case: Use string in local language for "May".
Definition: fs_xfa.h:339
Align the radix indicator.
Definition: fs_xfa.h:1500
bool ClearStyle()
(Only useful for rich text) Clear the style of the rich text.
Type of exported data: Static XDP.
Definition: fs_xfa.h:935
Align the text to the left edge of the available region.
Definition: fs_xfa.h:1498
XFA document type: XDP, as Raw XML data.
Definition: fs_xfa.h:923
Align the text to the bottom of the available region.
Definition: fs_xfa.h:1514
The submit data is packaged in URL-encoded format as described in Uniform Resource Locator(URL).
Definition: fs_xfa.h:611
Sample message: "Bad suffix on number".
Definition: fs_xfa.h:221
Text encoding: GB2312.
Definition: fs_xfa.h:635
String ID for case: Use string in local language for "Today".
Definition: fs_xfa.h:355
Sample message: "Incorrect number of parameters are used when calling method '%s'".
Definition: fs_xfa.h:299
Text encoding: Big5.
Definition: fs_xfa.h:627
Sample message: "An attempt was made to reference property '%s' of a non-object in SOM expression %s"...
Definition: fs_xfa.h:291
Message box button: Yes and No.
Definition: fs_xfa.h:406
String ID for case: Some enumerate value is invalid. Sample message: "Invalid enumerate value:".
Definition: fs_xfa.h:186
Beep type: warning.
Definition: fs_xfa.h:149
If set, shrink page to fit within content area.
Definition: fs_xfa.h:591
foxit::common::Bitmap GetBitmap()
Get the bitmap of current XFA widget.
XFAWidget GetPrevWidget(const XFAWidget &widget)
Get the previous XFA widget of a specified XFA widget in current tab order.
PrintOption
Enumeration for XFA print options.
Definition: fs_xfa.h:585
bool OnKeyDown(uint32 key_code, uint32 flags)
Call this function when key on the keyboard is down.
virtual void Release()=0
A callback function used to release current callback object itself.
Sample message: "Index value is out of bounds".
Definition: fs_xfa.h:297
WidgetHAlignType GetHAlign()
Get text horizontal alignment.
float GetWidth() const
Get the width.
Matrix GetDisplayMatrix(int left, int top, int width, int height, common::Rotation rotate)
Get the display matrix, from PDF coordinate system to targeted device coordinate system.
Sample message: "Unable to set the value for property 'variation'".
Definition: fs_xfa.h:207
Egde position: top.
Definition: fs_xfa.h:1526
String ID for case: Use string in local language for "Wednesday".
Definition: fs_xfa.h:323
bool CanCopy()
Check if the text of related XFA widget can be copied.
bool OnLButtonUp(const PointF &point, uint32 flags)
Call this function when left mouse button is up.
bool OnChar(int input_char, uint32 flags)
Call this function when a character code is being input.
CFX_Object Object
Object type.
Definition: fs_basictypes.h:219
Sample message: "Cannot find const '%s'".
Definition: fs_xfa.h:267
Message box button ID: OK.
Definition: fs_xfa.h:418
Definition: fs_common.h:568
WString GetName(WidgetNameType type)
Get Widget name.
Sample message: "Divide by zero".
Definition: fs_xfa.h:257
void KillFocus()
Kill the focus of XFA widget.
String ID for case: Use string in local language for "March".
Definition: fs_xfa.h:335
virtual bool PopupMenu(int page_index, const PointF &rect_popup)=0
A callback function used to pop up the context menu.
bool IsChecked() const
Check if current XFA widget is checked when it is a check box or a radio button.
If set, show printing dialog box.
Definition: fs_xfa.h:587
String ID for case: Some setting operation to property is invalid. Sample message: "Invalid property ...
Definition: fs_xfa.h:195
Sample message: "Unable to set the value for property 'ready'".
Definition: fs_xfa.h:211
bool CanUndo()
Check if the operation of related XFA widget can be undone.
bool operator==(const WidgetMenu &other) const
Equal operator.
virtual void SetCurrentPage(const XFADoc &doc, int current_page_index)=0
A callback function used to set index of current page.
XFAWidget GetLastWidget()
Get the last XFA widget in current tab order.
void ResetData()
Reset XFA Widget Data.
Application information: language.
Definition: fs_xfa.h:129
void SetFocus(XFAWidget xfa_widget)
Set the focus of XFA widget.
XFAWidget GetWidgetAtDevicePoint(const Matrix &matrix, const PointF &device_point, float tolerance)
Get the XFA widget at a specified point, in device coordination system.
WidgetHAlignType
Enumeration for the type of text horizontal alignment of XFA widget.
Definition: fs_xfa.h:1490
XFAPage & operator=(const XFAPage &other)
Assign operator.
Application information: platform.
Definition: fs_xfa.h:131
File stream interface, reading & writing.
Definition: fx_stream.h:669
Sample message: "Function '%s' does not have %d parameters".
Definition: fs_xfa.h:243
bool CanDeSelect()
Check if the selection of the text in related XFA widget can be canceled.
virtual void ExportData(const XFADoc &doc, const WString &file_path)=0
A callback function used to export data to file.
Message box button: OK.
Definition: fs_xfa.h:402
void FlattenTo(const char *output_file_path)
Flatten current XFA document to a file.
Header file for common definitions and classes.
Hit test area: Unknown.
Definition: fs_xfa.h:1401
Sample message: "Value!".
Definition: fs_xfa.h:184
String ID for case: If to modify field. Sample message: "Do you want to modify this field?...
Definition: fs_xfa.h:169
The submit data is packaged in XFD format, as described in XFDF.
Definition: fs_xfa.h:613
virtual int GetCurrentPage(const XFADoc &doc)=0
A callback function used to get index of current page.
Hit test area: HyperLink.
Definition: fs_xfa.h:1407
Type GetType() const
Get the XFA document type.
XFA widget type: numeric edit.
Definition: fs_xfa.h:1427
void ResetForm()
Reset form.
This kind of event is triggered just before the rendering for printing begins.
Definition: fs_xfa.h:909
The submit data is packaged in XDP format, as described in XDP Specification.
Definition: fs_xfa.h:607
Egde position: right.
Definition: fs_xfa.h:1528
Text encoding: UCS-2.
Definition: fs_xfa.h:643
String ID for case: Use string in local language for "June".
Definition: fs_xfa.h:341
Application information: type.
Definition: fs_xfa.h:137
Sample message: "Unknown error is caught!".
Definition: fs_xfa.h:180
Type of exported data: XML.
Definition: fs_xfa.h:933
File reading interface.
Definition: fx_stream.h:566
bool OnMouseMove(const PointF &point, uint32 flags)
Call this function when mouse moves.
virtual void InvalidateRect(int page_index, const RectF &rect, InvalidateFlag flag)=0
A callback function used to invalidate rectangle according the flag.
Name type: caption name. Name in this type will be retrieved from caption entry.
Definition: fs_xfa.h:1480
Sample message: "%s : %s".
Definition: fs_xfa.h:295
Type of exported data: XDP.
Definition: fs_xfa.h:937
bool Undo()
Undo the operation of related XFA widget. (No effect for rich text)
Text encoding: KSC5601.
Definition: fs_xfa.h:639
XFA widget type: unknown.
Definition: fs_xfa.h:1445
Event type: after an XFA widget is added.
Definition: fs_xfa.h:671
Message box button: OK and Cancel.
Definition: fs_xfa.h:404
Presence property: Visible. Participate in interaction, layout, and rendering.
Definition: fs_xfa.h:1462
uint32 ARGB
ARGB color type, 32 bits, ((b) | ((g) << 8) | ((r) << 16)) | ((a) << 24)
Definition: fs_basictypes.h:212
bool DeSelect()
Cancel the selection of the text in related XFA widget.
Sample message: "Unsupported property %s.".
Definition: fs_xfa.h:190
Invalidate all pages.
Definition: fs_xfa.h:575
bool HasEdge(WidgetEdgePosition edge_pos)
Check if the edge for specified position exists.
bool operator==(const XFAPage &other) const
Equal operator.
bool Italic()
(Only useful for rich text) Make the rich text italic.
Sample message: "Compiler error".
Definition: fs_xfa.h:239
XFAWidget GetFirstWidget()
Get the first XFA widget in current tab order.
XFA widget type: push button.
Definition: fs_xfa.h:1419
virtual bool SubmitData(const XFADoc &doc, const WString &target, SubmitFormat format, TextEncoding text_encoding, const WString &content)=0
A callback function to submit data.
bool IsEmpty() const
Check whether current object is empty or not.
XFA document type: Dynamic.
Definition: fs_xfa.h:919
Sample message: "Out of the range of '%s' array".
Definition: fs_xfa.h:283
Hit test area: Title Bar.
Definition: fs_xfa.h:1405
Application information: variation.
Definition: fs_xfa.h:133
String ID for case: Use string in local language for "April".
Definition: fs_xfa.h:337
XFA widget type: password edit.
Definition: fs_xfa.h:1437
Sample message: "Cannot find property '%s'".
Definition: fs_xfa.h:263
XFAWidget & operator=(const XFAWidget &other)
Assign operator.
bool IsEmpty() const
Check whether current object is empty or not.
Sample message: "Illegal value:cannot assign '%s' to %s.".
Definition: fs_xfa.h:367
float GetHeight() const
Get the height of the XFA page.
If set, print page as image; otherwise, as text.
Definition: fs_xfa.h:593
Sample message: "'%s' is not an array".
Definition: fs_xfa.h:281
bool OnLButtonDoubleClick(const PointF &point, uint32 flags)
Call this function when left mouse button is double-clicked .
Sample message: "Message limit exceeded. Remaining %d validation errors not reported....
Definition: fs_xfa.h:357
virtual ARGB GetHighlightColor(const XFADoc &doc)=0
A callback function get the highlight color.
String ID for case: Use string in local language for "October".
Definition: fs_xfa.h:349
int GetWidgetCount() const
Get the count of XFA widget.
InvalidateFlag
Enumeration for XFA invalidate flag.
Definition: fs_xfa.h:573
void SetPDFPath(const char *pdf_file_path)
Set the path of related PDF document.
String ID for case: Not allow to modify field. Sample message: "You are not allowed to modify this fi...
Definition: fs_xfa.h:171
Sample message: "Invalidate left-value '%s'".
Definition: fs_xfa.h:237
bool IsEmpty() const
Check whether current object is empty or not.
MsgBoxButtonType
Enumeration for button type of XFA message box.
Definition: fs_xfa.h:400
XFA widget type: barcode.
Definition: fs_xfa.h:1417
HitTestArea
Enumeration for hit test area of XFA widget.
Definition: fs_xfa.h:1399
Message box icon: Status.
Definition: fs_xfa.h:392
Sample message: "Cannot find container '%s'".
Definition: fs_xfa.h:261
WidgetChoiceOption(const WidgetChoiceOption &option)
Constructor, with another choice option object.
Definition: fs_xfa.h:72
String ID for case: Use string in local language for "Monday".
Definition: fs_xfa.h:319
virtual WString Response(const wchar_t *question, const wchar_t *title, const wchar_t *default_answer, bool is_mask)=0
A callback function used to response.
WidgetChoiceOption()
Constructor.
Definition: fs_xfa.h:52
bool SelectAll()
Select all the text of related XFA widget.
Text encoding: ShiftJIS.
Definition: fs_xfa.h:641
WString option_label
The displayed string value for the option.
Definition: fs_xfa.h:104
Center the text horizontally within the available region.
Definition: fs_xfa.h:1492
Sample message: "Cannot assign to '%s'".
Definition: fs_xfa.h:277
String ID for case: Server denies. Sample message: "Server does not permit".
Definition: fs_xfa.h:315
virtual void PageViewEvent(int page_index, PageViewEventType page_view_event_type)=0
A callback function to execute page view event.
Sample message: "Condition is null".
Definition: fs_xfa.h:249
bool CanCut()
Check if the text of related XFA widget can be cut.
BeepType
Enumeration for XFA beep type.
Definition: fs_xfa.h:145
Text encoding: ISO8859NN.
Definition: fs_xfa.h:637
bool Paste(const wchar_t *text)
Paste the text to related XFA widget.
bool operator !=(const XFAPage &other) const
Not equal operator.
Name type: full name.
Definition: fs_xfa.h:1482
WString Cut()
Cut the text of related XFA widget.
Sample message: "Unsupported method %s.".
Definition: fs_xfa.h:188
Sample message: "Expected number instead of '%s'".
Definition: fs_xfa.h:273
AppInfo
Enumeration for XFA application information type.
Definition: fs_xfa.h:125
XFA widget type: line.
Definition: fs_xfa.h:1435
Text encoding: GBK.
Definition: fs_xfa.h:631
Event type: before an XFA widget is removed.
Definition: fs_xfa.h:673
String ID for case: Application's name. Sample message: "Foxit Phantom".
Definition: fs_xfa.h:173
Egde position: left.
Definition: fs_xfa.h:1532
virtual void WidgetEvent(const XFAWidget &xfa_widget, WidgetEventType widget_event_type)=0
A callback function to execute XFA widget event.
bool operator==(const XFAWidget &other) const
Equal operator.
XFA widget type: text edit.
Definition: fs_xfa.h:1443
Definition: fs_xfa.h:1392
If set, that means printing process can be canceled.
Definition: fs_xfa.h:589
Sample message: "'%s' redefinition".
Definition: fs_xfa.h:229
Align the text to the top of the available region.
Definition: fs_xfa.h:1512
Event type: Unknown.
Definition: fs_xfa.h:902
String ID for case: Filter for image files. Sample message: "Image Files(*.bmp;*.jpg;*....
Definition: fs_xfa.h:178
bool IsEmpty() const
Check whether current object is empty or not.
Definition: fs_signature.h:93
Sample message: "Cannot modify the '%s' value".
Definition: fs_xfa.h:241
Sample message: "%s.%s cannot covert to object".
Definition: fs_xfa.h:259
XFAWidget(const XFAWidget &other)
Constructor, with another XFA widget object.
EventType
Enumeration for XFA event type.
Definition: fs_xfa.h:900
Event type: all page views are removed.
Definition: fs_xfa.h:661
bool OnRButtonDown(const PointF &point, uint32 flags)
Call this function when right mouse is down.
Sample message: "Error:Invalid enumerated value:%s".
Definition: fs_xfa.h:371
Beep type: error.
Definition: fs_xfa.h:147
Definition: fx_coordinates.h:30
Align the text so that it is centered between the top and bottom of the available region.
Definition: fs_xfa.h:1516
Message box icon: Question.
Definition: fs_xfa.h:390
Sample message: "The element [%s] has violated its allowable number of occurrences".
Definition: fs_xfa.h:313
Application information: name.
Definition: fs_xfa.h:135
virtual bool GetPopupPos(int page_index, float min_popup, float max_popup, const RectF &rect_widget, RectF &inout_rect_popup)=0
A callback function used to get the pop-up position.
virtual WStringArray ShowFileDialog(const wchar_t *string_title, const wchar_t *string_filter, bool is_openfile_dialog)=0
A callback function used to show file dialog.
Align the text to the right edge of the available region.
Definition: fs_xfa.h:1502
Sample message: "Not have a default property".
Definition: fs_xfa.h:197
Rotation
Enumeration for rotation.
Definition: fs_common.h:344
int GetPageCount() const
Get XFA page count.
addon::xfa::WidgetChoiceOptionArray GetOptions() const
Get options of a choice list or an Exclusion Group (for radion button only).
bool Redo()
Redo the operation of related XFA widget. (No effect for rich text)
String ID for case: Use string in local language for "August".
Definition: fs_xfa.h:345
Sample message: "Invalid append operation: %s cannot have a child element of %s".
Definition: fs_xfa.h:305
If set, print annotations.
Definition: fs_xfa.h:597
bool OnRButtonUp(const PointF &point, uint32 flags)
Call this function when right button is up.
virtual WString GetTitle(const XFADoc &doc)=0
A callback function used to get title of current XFA document.
XFAPage GetPage(int page_index)
Get XFA page by index.
virtual void Release()=0
A callback function used to release current callback object itself.
Definition: fs_xfa.h:1871
bool operator !=(const XFAWidget &other) const
Not equal operator.
XFA document type: Static.
Definition: fs_xfa.h:921
Sample message: "%s cannot be left blank.".
Definition: fs_xfa.h:361
Presence property: Unknown.
Definition: fs_xfa.h:1460
Text encoding: GB18030.
Definition: fs_xfa.h:633
Sample message: "Expected '%s' instead of '%s'".
Definition: fs_xfa.h:225
Application information: version.
Definition: fs_xfa.h:127
ExportDataType
Enumeration for the type of exported data.
Definition: fs_xfa.h:931
void SetValue(const wchar_t *value)
Set the value string.
StringID
Enumeration for string ID used to specify a case.
Definition: fs_xfa.h:163
foxit::pdf::Signature GetSignature()
Get the signature object from current XFA widget.
Message box icon: Error.
Definition: fs_xfa.h:386
String ID for case: Use string in local language for "July".
Definition: fs_xfa.h:343
String ID for case: Use string in local language for "Friday".
Definition: fs_xfa.h:327
Foxit namespace.
Definition: fs_compare.h:27
Sample message: "Unable to set the value for property 'length'".
Definition: fs_xfa.h:217
Sample message: "Invalidate token '%s'".
Definition: fs_xfa.h:231
virtual common::file::ReaderCallback * DownLoadUrl(const wchar_t *url)=0
A callback function used to download from specified URL.
virtual WString GetAppInfo(AppInfo app_info)=0
A callback function used to get application information for a specified information type.
WidgetNameType
Enumeration for the type of XFA widget name.
Definition: fs_xfa.h:1476
Sample message: "Validate failed".
Definition: fs_xfa.h:165
bool OnMouseExit()
Call this function when mouse exits.
bool operator==(const XFADoc &other) const
Equal operator.
XFA widget type: image.
Definition: fs_xfa.h:1449
bool selected
Used to indicate whether the option is selected or not.
Definition: fs_xfa.h:107
HitTestArea OnHitTest(const PointF &point)
Call this function to do hit test for a specified point.
If set, print page in reverse order; otherwise, in normal order.
Definition: fs_xfa.h:595
Sample message: "Invalid node type: '%s'".
Definition: fs_xfa.h:311
WString GetToolTip()
Get tooltip string.
Egde position: bottom.
Definition: fs_xfa.h:1530
Hit test area: Client.
Definition: fs_xfa.h:1403
Sample message: "Illegal break".
Definition: fs_xfa.h:251
Sample message: "Validate access index '%s' out of array".
Definition: fs_xfa.h:275
Definition: fs_xfa.h:893
Text encoding: font specific.
Definition: fs_xfa.h:629
Definition: fx_basic.h:3752
TextEncoding
Enumeration for text encoding for XFA submit.
Definition: fs_xfa.h:623
virtual bool PutRequestURL(const wchar_t *url, const wchar_t *data, const wchar_t *encode)=0
A callback function used to put data to the given url.
Sample message: "Invalidate instruction".
Definition: fs_xfa.h:271
Presence property: Invisible. Participate in interaction and layout but not rendering.
Definition: fs_xfa.h:1468
bool OnMouseEnter()
Call this function when mouse enters current XFA widget.
Sample message: "Unable to set the value for property 'validationsEnabled'".
Definition: fs_xfa.h:205
WidgetVAlignType GetVAlign()
Get text vertical alignment.
bool operator !=(const XFADoc &other) const
Not equal operator.
XFA widget type: arc.
Definition: fs_xfa.h:1423
Message box button ID: Yes.
Definition: fs_xfa.h:424
XFAWidget GetWidget(int widget_index) const
Get XFA widget by index.
String ID for case: Use string in local language for "January".
Definition: fs_xfa.h:331
Sample message: "Unable to set the value for property 'language'".
Definition: fs_xfa.h:199
Message box button: Yes, No and Cancel.
Definition: fs_xfa.h:408
The submit data is packaged in PDF format as described in the PDF Reference.
Definition: fs_xfa.h:609
Event type: after a page view is removed.
Definition: fs_xfa.h:659
virtual WString LoadString(StringID string_id)=0
A callback function used to load a string in local language for a specified case.
WidgetMenu & operator=(const WidgetMenu &other)
Assign operator.
This kind of event is triggered just after the rendered form has been sent to the printer,...
Definition: fs_xfa.h:907
Message box button ID: No.
Definition: fs_xfa.h:422
#define NULL
The null-pointer value.
Definition: fx_system.h:767
Definition: fx_coordinates.h:771
Beep type: question.
Definition: fs_xfa.h:151
XFAWidget GetNextWidget(const XFAWidget &widget)
Get the next XFA widget of a specified XFA widget in current tab order.
Sample message: "Argument mismatch in property or function argument".
Definition: fs_xfa.h:301
XFA widget type: radio button.
Definition: fs_xfa.h:1439
Definition: fs_pdfdoc.h:389
SubmitFormat
Enumeration for XFA submit format.
Definition: fs_xfa.h:605
bool operator !=(const WidgetMenu &other) const
Not equal operator.
Presence property: Hidden. Participate in interaction but not layout or rendering.
Definition: fs_xfa.h:1464
WidgetEdgePosition
Enumeration for the positon of XFA widget edge position.
Definition: fs_xfa.h:1524
XFA widget type: check button.
Definition: fs_xfa.h:1421
virtual void DisplayCaret(int page_index, bool is_visible, const RectF &rect)=0
A callback function used to display or hide caret.
Type
Enumeration for XFA document type.
Definition: fs_xfa.h:917
Sample message: "Invalid enumerated value: %s".
Definition: fs_xfa.h:303
XFA widget type: rectangle.
Definition: fs_xfa.h:1441
virtual void Beep(BeepType type)=0
A callback function used to beep for specified beep type.
Sample message: "%s cannot be left blank. To ignore validations for %s, click Ignore....
Definition: fs_xfa.h:359
XFAWidget GetWidgetByFullName(const WString &full_name)
Get the XFA widget which matches the specified full name in current XFA page.
Sample message: "Unable to set the value for property 'platform'".
Definition: fs_xfa.h:203
void ProcessEvent(EventType event_type)
Process a kind of event for all the XFA widgets in current XFA document.
String ID for case: Use string in local language for "December".
Definition: fs_xfa.h:353
Definition: fs_xfa.h:1222
Sample message: "Cannot find method '%s'".
Definition: fs_xfa.h:265
bool Subscript()
(Only useful for rich text) Make the rich text as subscript.
Sample message: "Unable to set".
Definition: fs_xfa.h:182
WString Copy()
Copy the text of related XFA widget.
Text encoding: UTF-16.
Definition: fs_xfa.h:645
Sample message: "Calculate Override".
Definition: fs_xfa.h:167
virtual void SetChangeMark(const XFADoc &doc)=0
A callback function used to set change mark flag to current XFA document.
XFA widget type: signature.
Definition: fs_xfa.h:1429
virtual void ImportData(const XFADoc &doc, const WString &file_path)=0
A callback function used to import data from file.
Definition: fs_basictypes.h:226
virtual void Print(const XFADoc &doc, int start_page_index, int end_page_index, uint32 options)=0
A callback function used to print.
The submit data is translated and packaged into an URL-Encoded format.
Definition: fs_xfa.h:615
XFAPage(const XFAPage &other)
Constructor, with another XFA page object.
XFAPage GetXFAPage()
Get the related XFA page, to which current XFA widget belongs.
bool Underline()
(Only useful for rich text) Underline the rich text.
Event type: after a page view is added.
Definition: fs_xfa.h:657
Sample message: "Unsupported character '%c'".
Definition: fs_xfa.h:219
XFADoc & operator=(const XFADoc &other)
Assign operator.
Sample message: "Unable to set the value for property 'version'".
Definition: fs_xfa.h:209
Sample message: "Unable to set the value for property 'numPages'".
Definition: fs_xfa.h:201
WidgetMenu(const XFAWidget &xfa_widget)
Constructor, from XFA widget object.
int GetIndex() const
Get index of the XFA page.
Sample message: "At least one required field was empty. Please fill in the required fields(highlighte...
Definition: fs_xfa.h:376
Definition: fx_coordinates.h:1076
Sample message: "Script failed(language is %s;context is %s) script=%s".
Definition: fs_xfa.h:369
Sample message: "'%s' function's %d argument cannot be array".
Definition: fs_xfa.h:287
PageViewEventType
Enumeration for the event type of page view.
Definition: fs_xfa.h:655
Sample message: "'%s' doesn't have property '%s'".
Definition: fs_xfa.h:309
int GetIndex() const
Get the index of XFA Widget in related XFA page.
Message box button ID: Cancel.
Definition: fs_xfa.h:420
Sample message: "The value you entered for %s is invalid.".
Definition: fs_xfa.h:365
String ID for case: Use string in local language for "Tuesday".
Definition: fs_xfa.h:321
XFAWidget GetWidgetByFullName(const WString &full_name)
Get the XFA widget which matches the specified full name.
XFA widget type: date time edit.
Definition: fs_xfa.h:1425
void SetDocProviderCallback(foxit::addon::xfa::DocProviderCallback *doc_provider_callback)
Set XFA document provider callback.
Sample message: "Expected operator '%s' instead of '%s'".
Definition: fs_xfa.h:255
Beep type: status.
Definition: fs_xfa.h:153
XFA widget type: image edit.
Definition: fs_xfa.h:1433
WIDE STRING CLASS.
Definition: fx_string.h:1452
String ID for case: Use string in local language for "February".
Definition: fs_xfa.h:333
Beep type: default.
Definition: fs_xfa.h:155
bool ImportData(const char *file_path)
Import data from an XML or XDP file.
WidgetType
Enumeration for the type of XFA widget.
Definition: fs_xfa.h:1415
Invalidate current page.
Definition: fs_xfa.h:577
Definition: fs_image.h:36
WidgetChoiceOption(const wchar_t *option_label, bool selected)
Constructor, with parameters.
Definition: fs_xfa.h:63
bool CanRedo()
Check if the operation of related XFA widget can be redone.
WidgetEventType
Enumeration for the type of XFA widget event.
Definition: fs_xfa.h:669
virtual MsgBoxButtonID MsgBox(const wchar_t *message, const wchar_t *title, MsgBoxIconType icon_type, MsgBoxButtonType button_type)=0
A callback function used to set message box.
WString GetValue()
Get the value string.
String ID for case: Use string in local language for "September".
Definition: fs_xfa.h:347
Text encoding: UTF-8.
Definition: fs_xfa.h:647
Sample message: "'%s' argument is expected to be a container".
Definition: fs_xfa.h:289
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:198
bool Delete()
Delete all the text of related XFA widget.
PresenceProperty GetPresence()
Get the presence property of the XFA widget.
virtual void GotoURL(const XFADoc &doc, const WString &url)=0
A callback function used to go to a specified URL.
Definition: fs_basictypes.h:399
Sample message: "Unable to set the value for property 'className'".
Definition: fs_xfa.h:215
Sample message: "SOM expression returned list when single result was expected".
Definition: fs_xfa.h:307
bool OnKeyUp(uint32 key_code, uint32 flags)
Call this function when key on the keyboard is up.
bool CanPaste()
Check if the text of related XFA widget can be pasted.
void Set(const wchar_t *option_label, bool selected)
Set value.
Definition: fs_xfa.h:98
String ID for case: Use string in local language for "November".
Definition: fs_xfa.h:351
virtual WString PostRequestURL(const wchar_t *url, const wchar_t *data, const wchar_t *content_type, const wchar_t *encode, const wchar_t *header)=0
A callback function used to post data to the given url.
Message box icon: Warning.
Definition: fs_xfa.h:388
Presence property: Inactive. Do not participate in interaction, layout, or rendering.
Definition: fs_xfa.h:1466
bool CanDelete()
Check if the text of related XFA widget can be deleted.
MsgBoxButtonID
Enumeration for button ID of XFA message box.
Definition: fs_xfa.h:416
WidgetVAlignType
Enumeration for the type of text vertical alignment of XFA widget.
Definition: fs_xfa.h:1510
bool Superscript()
(Only useful for rich text) Make the rich text as superscript.
Sample message: "Undefined identifier '%s'".
Definition: fs_xfa.h:235
Sample message: "Unexpected expression '%s'".
Definition: fs_xfa.h:247
Sample message: "Expected 'endif' instead of '%s'".
Definition: fs_xfa.h:245
Name type: field name. Name in this type will be retrieved from XFA widget's name entry and this may ...
Definition: fs_xfa.h:1478