Foxit PDF SDK
fs_portfolio.h
浏览该文件的文档.
1 
16 #ifndef FS_PORTFOLIO_H_
17 #define FS_PORTFOLIO_H_
18 
19 #include "common/fs_common.h"
20 #include "pdf/fs_pdfdoc.h"
21 #include "pdf/fs_filespec.h"
22 
28 namespace foxit {
32 namespace pdf {
36 namespace portfolio {
40 class PortfolioNode : public Base {
41  public:
47  typedef enum _Type {
54  } Type;
55 
61  PortfolioNode(const PortfolioNode& other);
72 
80  bool operator == (const PortfolioNode& other) const;
88  bool operator != (const PortfolioNode& other) const;
89 
97  bool IsEmpty() const;
98 
105  Type GetNodeType() const;
106 
107  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
108  explicit PortfolioNode(FS_HANDLE handle = NULL);
109 
110 };
111 
114 
115 class PortfolioFileNode;
116 
123 class PortfolioFolderNode FS_FINAL : public PortfolioNode {
124  public:
130  explicit PortfolioFolderNode(const PortfolioNode& other);
131 
134 
141  bool IsRoot() const;
142 
149  WString GetName() const;
150 
162  PortfolioFileNode AddFile(const wchar_t* file_path);
176  PortfolioFileNode AddFile(foxit::common::file::StreamCallback* file_stream, const wchar_t* file_name);
190  PortfolioFileNode AddPDFDoc(const PDFDoc& pdf_doc, const wchar_t* file_name);
191 
199  PortfolioFolderNode AddSubFolder(const wchar_t* folder_name);
200 
208  void RemoveSubNode(const PortfolioNode& sub_node);
209 
219 
235 
241  WString GetDescription() const;
249  void SetDescription(const wchar_t* description);
250 
251  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
252  explicit PortfolioFolderNode(FS_HANDLE handle = NULL);
253 
254 };
255 
261 class PortfolioFileNode FS_FINAL : public PortfolioNode {
262  public:
268  explicit PortfolioFileNode(const PortfolioNode& other);
269 
272 
278  FileSpec GetFileSpec() const;
279 
288  WString GetKeyName() const;
289 
290  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
291  explicit PortfolioFileNode(FS_HANDLE handle = NULL);
292 
293 };
294 
298 class SchemaField FS_FINAL : public Base {
299  public:
303  SchemaField();
304 
310  SchemaField(const SchemaField& other);
318  SchemaField& operator = (const SchemaField& other);
319 
327  bool operator == (const SchemaField& other) const;
335  bool operator != (const SchemaField& other) const;
336 
344  bool IsEmpty() const;
345 
347  ~SchemaField();
348 
361  String GetKeyName() const;
362 
377  void SetKeyName(const char* key_name);
378 
401  String GetSubtypeName() const;
427  void SetSubtypeName(const char* subtype_name);
428 
436  WString GetDisplayName() const;
446  void SetDisplayName(const wchar_t* display_name);
447 
454  bool IsVisible() const;
463  void SetVisibility(bool is_visible);
464 
465  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
466  explicit SchemaField(FS_HANDLE handle);
467 
468 };
469 
471 FSDK_DEFINE_ARRAY(SchemaFieldArray, SchemaField)
472 
473 
479 class Portfolio FS_FINAL : public Base {
480  public:
486  typedef enum _InitialViewMode {
488  e_InitialViewUnknownMode = 0,
492  e_InitialViewDetailMode = 1,
497  e_InitialViewTileMode = 2,
501  e_InitialViewHidden = 3
502  } InitialViewMode;
503 
504 
514  static Portfolio CreatePortfolio();
515 
526  static Portfolio CreatePortfolio(const foxit::pdf::PDFDoc& portfolio_pdf_doc);
527 
533  Portfolio(const Portfolio& other);
541  Portfolio& operator = (const Portfolio& other);
542 
550  bool operator == (const Portfolio& other) const;
558  bool operator != (const Portfolio& other) const;
559 
567  bool IsEmpty() const;
568 
570  ~Portfolio();
571 
577  PDFDoc GetPortfolioPDFDoc() const;
578 
587  PortfolioNode GetRootNode() const;
588 
594  InitialViewMode GetInitialViewMode() const;
603  void SetInitialViewMode(InitialViewMode mode);
604 
611  bool IsSortedInAscending() const;
621  void SetSortingOrder(bool use_ascending_order);
627  String GetSortingFieldKeyName() const;
635  void SetSortingFieldKeyName(const char* name);
636 
645  WString GetInitialFileSpecKeyName() const;
657  void SetInitialFileSpecKeyName(const wchar_t* name);
658 
666  SchemaFieldArray GetSchemaFields() const;
677  void SetSchemaFields(const SchemaFieldArray& field_array);
678 
679  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
680  explicit Portfolio(FS_HANDLE handle = NULL);
681 
682 };
683 
684 } // namespace portfolio
685 } // namespace pdf
686 } // namespace foxit
687 
688 #endif // FS_PORTFOLIO_H_
689 
Type GetNodeType() const
获取节点类型。
void SetDescription(const wchar_t *description)
设置描述。
~PortfolioFolderNode()
析构函数。
Definition: fs_portfolio.h:133
void RemoveSubNode(const PortfolioNode &sub_node)
移除一个子节点。
WString GetDisplayName() const
获取显示名称。
PDF文档相关定义和类的头文件。
WString GetKeyName() const
获取相关文件规范对象的键名。
Definition: fs_basictypes.h:482
未知作品集节点类型。
Definition: fs_portfolio.h:49
FileSpec GetFileSpec() const
获取用于访问嵌入文件信息和数据的相关文件规范对象。
文件规范相关定义和类的头文件。
宽字符串类
Definition: fx_string.h:1457
bool operator !=(const PortfolioNode &other) const
不相等操作符。
PortfolioFileNode AddPDFDoc(const PDFDoc &pdf_doc, const wchar_t *file_name)
添加一个已加载的PDF文档作为子节点。
作品集节点类型:文件夹。
Definition: fs_portfolio.h:51
Definition: fs_pdfdoc.h:771
void SetDisplayName(const wchar_t *display_name)
设置显示名称。
Definition: fs_portfolio.h:479
bool operator==(const char *str1, const CFX_ByteString &str2)
检查两个字节字符串是否相等。
Definition: fs_basictypes.h:128
Definition: fs_portfolio.h:123
void SetKeyName(const char *key_name)
设置键名字符串。
bool IsRoot() const
检查当前文件夹节点是否表示根节点。
~PortfolioFileNode()
析构函数。
Definition: fs_portfolio.h:271
文件流接口,用于读取和写入。
Definition: fx_stream.h:692
Definition: fs_portfolio.h:40
PortfolioFolderNode(const PortfolioNode &other)
构造函数,使用父类对象。
Definition: fs_portfolio.h:261
PortfolioFileNode(const PortfolioNode &other)
构造函数,使用父类对象。
PortfolioFolderNode AddSubFolder(const wchar_t *folder_name)
添加一个新的子文件夹。
void * FS_HANDLE
句柄类型。
Definition: fs_basictypes.h:214
String GetKeyName() const
获取键名字符串。
WString GetName() const
获取当前文件夹节点的名称。
通用定义和类的头文件。
Definition: fs_portfolio.h:471
Definition: fs_basictypes.h:449
Definition: fs_filespec.h:38
String GetSubtypeName() const
获取子类型名称字符串。
PortfolioNodeArray GetSortedSubNodes() const
获取已根据类 Portfolio 中定义的排序顺序和指定字段名称排序的子节点数组。
Type
作品集节点类型枚举。
Definition: fs_portfolio.h:47
void SetSubtypeName(const char *subtype_name)
设置子类型名称字符串。
bool IsEmpty() const
检查当前对象是否为空。
bool operator==(const PortfolioNode &other) const
相等操作符。
bool IsEmpty() const
检查当前对象是否为空。
Foxit命名空间。
Definition: fs_taggedpdf.h:27
PortfolioNode(const PortfolioNode &other)
构造函数,使用另一个作品集节点对象。
bool operator==(const SchemaField &other) const
相等操作符。
PortfolioNode & operator=(const PortfolioNode &other)
赋值操作符。
字节字符串类
Definition: fx_string.h:317
SchemaField & operator=(const SchemaField &other)
赋值操作符。
Definition: fs_portfolio.h:113
作品集节点类型:文件。
Definition: fs_portfolio.h:53
#define NULL
空指针值。
Definition: fx_system.h:792
PortfolioFileNode AddFile(const wchar_t *file_path)
添加一个文件(通过文件路径指定)作为子节点。
WString GetDescription() const
获取描述。
DateTime GetModifiedDateTime() const
获取最后修改日期时间。
void SetVisibility(bool is_visible)
设置当前字段在应用程序中的初始可见性。
bool operator !=(const SchemaField &other) const
不相等操作符。
DateTime GetCreationDateTime() const
获取创建日期时间。
Definition: fs_portfolio.h:298
bool IsVisible() const
检查当前字段在应用程序中是否初始可见。