User Tools

Site Tools


ftbl:class:application:xdocument

XDocument()

原型 XDocument()
描述 应用文档构造函数
参数 无
返回值 无

void setName(const char * dname)

原型 void setName(const char * dname)
描述 设置文档名,文件保存时将以该名字为文件名
参数 [i]const char * dname: 文档名
返回值 无

const char * getExtension()

原型 const char * getExtension()
描述 获取文档扩展名
参数 无
返回值 文档扩展名

const char * getName()

原型 const char * getName()
描述 获取文档名
参数 无
返回值 文档名字符串

const char * getPath()

原型 const char * getPath()
描述 获取文档路径,保存时按该路径保存
参数 无
返回值 文档路径字符串

const char * getGUID()

原型 const char * getGUID()
描述 获取文档的GUID,用以和其他类型的文档区分
参数 无
返回值 文档GUID字符串

const char * getDocIDString()

原型 const char * getDocIDString()
描述 获取文档ID字符串
参数 无
返回值 文档ID字符串

const DBVersion & getVersion()

原型 const DBVersion & getVersion()
描述 获取文档版本信息
参数 无
返回值 版本信息

void setVersion(int major, int minor, int sub, int build)

原型 void setVersion(int major, int minor, int sub, int build)
描述 设置文档版本信息
参数 [i]int major: 主版本号
[i] int minor: 副版本号
[i] int sub: 小版本号
[i] int build: 构建序号
返回值 无

const char * getVender()

原型 const char * getVender()
描述 获取程序服务提供商名称
参数 无
返回值 服务提供商名称

void setVender(const char * s)

原型 void setVender(const char * s)
描述 设置程序服务提供商名称
参数 [i]const char * s: 服务提供商名称
返回值 无

XSession * getSession(const char * name)

原型 XSession * getSession(const char * name)
描述 获取名称为name的应用会话
参数 [i]const char * name: 应用会话名
返回值 如名称为name的会话存在返回该会话,否则返回NULL

int64 getCreateTime() const

原型 int64 getCreateTime() const
描述 获取创建时间
参数 无
返回值 创建时间戳

int64 getModifyTime() const

原型 int64 getModifyTime() const
描述 获取修改时间戳
参数 无
返回值 修改时间戳

virtual void save(const char * fname, const char * scheme)

原型 virtual void save(const char * fname, const char * scheme)
描述 将文档保存到指定文件中
参数 [i]const char * fname: 文件名
[i] const char * scheme: 应用方案名
返回值 无

virtual bool load(const char * fname)

原型 virtual bool load(const char * fname)
描述 从文件中载入文档数据
参数 [i]const char * fname: 文件名
返回值 无

virtual void saveH5(const char * fname, const char * scheme)

原型 virtual void saveH5(const char * fname, const char * scheme)
描述 将文档保存为H5文件
参数 [i]const char * fname: H5文件名
[i] const char * scheme: 应用方案名
返回值 无

virtual bool loadH5(const char * fname)

原型 virtual bool loadH5(const char * fname)
描述 从H5文件中导入文档
参数 [i]const char * fname: H5文件名
返回值 如成功导入返回true,否则返回false

virtual void reset()

原型 virtual void reset()
描述 清空所有数据对象,重置文档
参数 无
返回值 无

virtual bool isEmpty() const

原型 virtual bool isEmpty() const
描述 判断文档是否为空(不包含任何数据对象)
参数 无
返回值 如文档为空返回true,否则返回false

virtual void clear()

原型 virtual void clear()
描述 清空文档所有数据对象
参数 无
返回值 无

virtual bool isClosable()

原型 virtual bool isClosable()
描述 判断当前文档是否可关闭,在某些应用场景,需要保持一份全局的文档,在不关闭整个程序的情况下,不可以单独关闭该文档
参数 无
返回值 如文档可关闭,返回true,否则返回false

virtual void buildObjectTree()

原型 virtual void buildObjectTree()
描述 重建对象树
参数 无
返回值 无

XTree * getObjectTree()

原型 XTree * getObjectTree()
描述 获取文档对象树
参数 无
返回值 对象树指针

XTree * getSecondTree()

原型 XTree * getSecondTree()
描述 获取第二文档对象树
参数 无
返回值 第二文档对象树

void updateDomainTree(XManager * mgr, const char * branchName = NULL, TypeID domainType = Domain_Unknown, TreeNode * category = NULL)

原型 void updateDomainTree(XManager * mgr, const char * branchName = NULL, TypeID domainType = Domain_Unknown, TreeNode * category = NULL)
描述 更新对象树的域分支
参数 [i]XManager * mgr: 域分支对应的对象管理器
[i] const char * branchName = NULL: 域分支名
[i] TypeID domainType = Domain_Unknown: 域分支类型
[i] TreeNode * category = NULL: 域分支节点
返回值 无

TreeNode * updateModelPartTree(const XPart * p, bool bDelete)

原型 TreeNode * updateModelPartTree(const XPart * p, bool bDelete)
描述 更新对象树的部件分支
参数 [i]const XPart * p: 待更新的部件
[i] bool bDelete: 为true时删除部件节点
返回值 更新时返回部件对应的节点,删除时返会部件节点的父节点

virtual TreeNode * updateObjectTree(const XItem * obj, bool bDelete = false)

原型 virtual TreeNode * updateObjectTree(const XItem * obj, bool bDelete = false)
描述 更新对象树的对象节点
参数 [i]const XItem * obj: 待更新的对象
[i] bool bDelete = false: 为true时删除对象节点
返回值 更新时返回对象对应的节点,删除时返会对象的父节点

TypeID ctype() const

原型 TypeID ctype() const
描述 获取文档类型ID
参数 无
返回值 整型文档类型ID

const char * ctypeString() const

原型 const char * ctypeString() const
描述 获取文档类型字符串
参数 无
返回值 文档类型字符串

virtual void release()

原型 virtual void release()
描述 释放文档所占内存空间
参数 无
返回值 无

virtual void init()

原型 virtual void init()
描述 初始化文档
参数 无
返回值 无

bool isModified()

原型 bool isModified()
描述 判断文档是否发生修改(数据对象的增加、修改、删除)
参数 无
返回值 如文档发生修改返回true,否则返回false

void setModified(bool b)

原型 void setModified(bool b)
描述 设置文档修改标志
参数 [i]bool b: 文档修改标志
返回值 无

void saveConfig(const char * scheme)

原型 void saveConfig(const char * scheme)
描述 保存文档的全局配置
参数 [i]const char * scheme:
返回值 无

void loadConfig(const char * scheme)

原型 void loadConfig(const char * scheme)
描述 载入文档的全局配置
参数 [i]const char * scheme:
返回值

virtual void registerEnumString()

原型 virtual void registerEnumString()
描述 注册枚举变量-字符串映射关系表
参数 无
返回值 无

XMemPool * getDocMem()

原型 XMemPool * getDocMem()
描述 获取文档公用内存池
参数 无
返回值 文档公用内存池

virtual const char * getExtensionNames()

原型 virtual const char * getExtensionNames()
描述 获取文档扩展名
参数 无
返回值 文档扩展名字符串

void setLogFile(const char * name)

原型 void setLogFile(const char * name)
描述 设置日志文件名
参数 [i]const char * name: 日志文件名
返回值 无

void enableUndo()

原型 void enableUndo()
描述 激活undo/redo模式
参数 无
返回值 无

void disableUndo()

原型 void disableUndo()
描述 使undo/redo模式失效
参数 无
返回值 无

virtual void clearCacheData()

原型 virtual void clearCacheData()
描述 清空文档缓存数据
参数 无
返回值 无

virtual void clearReference(const XItem* obj)

原型 virtual void clearReference(const XItem* obj)
描述 清空参考或者引用对象的其他所有对象
参数 [i]const XItem* obj: 引用对象
返回值 无

virtual XViewData * getViewData()

原型 virtual XViewData * getViewData()
描述 获取文档视图数据,文档视图数据包含用于显示的数据以及状态信息
参数 无
返回值 文档视图指针

virtual const XItem *getItem(TypeID tid, ulong id, DomainID did)

原型 virtual const XItem *getItem(TypeID tid, ulong id, DomainID did)
描述 访问数据对象
参数 [i]TypeID tid: 对象类型
[i] ulong id: 对象ID
[i] DomainID did: 对象域类型(访问模型里的对象时,为模型的ID)
返回值 数据对象指针

virtual const XItem *getItem(const XUniqueObjectID * ue)

原型 virtual const XItem *getItem(const XUniqueObjectID * ue)
描述 通过唯一对象标识访问数据对象
参数 [i]const XUniqueObjectID * ue: 唯一对象标识
返回值 数据对象指针

virtual void getItemInformation(const XUniqueObjectID * ue, string * infoStr)

原型 virtual void getItemInformation(const XUniqueObjectID * ue, string * infoStr)
描述 通过唯一对象标识获取数据对象的信息
参数 [i]const XUniqueObjectID * ue: 唯一对象标识
[i] string * infoStr: 数据对象信息
返回值 无

virtual void createViewData()

原型 virtual void createViewData()
描述 创建文档视图
参数 无
返回值 文档视图对象指针

TreeNode * findLeafNode(TreeNode * branchNode, TreeNodeData leafObj)

原型 TreeNode * findLeafNode(TreeNode * branchNode, TreeNodeData leafObj)
描述 从指定对象树分支搜索数据对象叶节点
参数 [i]TreeNode * branchNode: 对象树分支
[i] TreeNodeData leafObj: 数据对象
返回值 数据对象对应的树节点

TreeNode * getTreeItem(TreeNodeData domain, TreeNodeData obj, bool bSecondTree = false)

原型 TreeNode * getTreeItem(TreeNodeData domain, TreeNodeData obj, bool bSecondTree = false)
描述 获取数据对象对应的树节点
参数 [i]TreeNodeData domain: 数据对象所属的域(一般为对象管理器)
[i] TreeNodeData obj: 数据对象
[i] bool bSecondTree = false: 是否第二对象树
返回值 数据对象对应的树节点

TreeNode * getTreeItem(XManager * domain, TreeNodeData obj, bool bSecondTree = false)

原型 TreeNode * getTreeItem(XManager * domain, TreeNodeData obj, bool bSecondTree = false)
描述 获取数据对象对应的树节点
参数 [i]XManager * domain: 对象管理器
[i] TreeNodeData obj: 数据对象
[i] bool bSecondTree = false: 是否第二对象树
返回值 数据对象对应的树节点

virtual bool checkNodeStatus(TreeNode * node)

原型 virtual bool checkNodeStatus(TreeNode * node)
描述 检查树节点当前的状态
参数 [i]TreeNode * node: 树节点
返回值 如当前树节点包含的数据对象可用返回true,否则返回false

TreeNode * getBranchNode(TreeNodeData branchObj, bool bSecondTree = false)

原型 TreeNode * getBranchNode(TreeNodeData branchObj, bool bSecondTree = false)
描述 获取数据对象所对应的分支
参数 [i]TreeNodeData branchObj: 数据对象
[i] bool bSecondTree = false: 是否第二对象树
返回值 数据对象所对应的分支

OpnRecorder * getRecorder()

原型 OpnRecorder * getRecorder()
描述 获取文档的数据记录器
参数 无
返回值 数据记录器对象指针

void getDocTempFilePath(const char * file, string * strPath)

原型 void getDocTempFilePath(const char * file, string * strPath)
描述 获取文档临时目录路径下文件的全路径
参数 [i]const char * file: 文件名
[o] string * strPath: 文件全路径
返回值

void exchangeJsonItems(vector<const XItem*> * items, JsonParams * parr, const char * key, int domanID = 0)

原型 void exchangeJsonItems(vector<const XItem*> * items, JsonParams * parr, const char * key, int domanID = 0)
描述 对象选择器与脚本交换选择对象
参数 [i]vector<const XItem*> * items: 选择对象数组
[i] JsonParams * parr: 脚本参数对象
[i] const char * key: 选择对象所对应的关键字
[i] int domanID = 0: 选择对象所属域类型(模型ID)
返回值 无

static TypeID registerDocument(const char * docString, CreateDocFunc cfunc = 0, DestroyDocFunc dfunc = 0, TypeID docType = Document_None)

原型 static TypeID registerDocument(const char * docString, CreateDocFunc cfunc = 0, DestroyDocFunc dfunc = 0, TypeID docType = Document_None)
描述 注册文档
参数 [i]const char * docString: 文档类型名
[i] CreateDocFunc cfunc = 0: 文档构造函数
[i] DestroyDocFunc dfunc = 0: 文档析构函数
[i] TypeID docType = Document_None: 当为Document_None时强制指定文档类型ID,否则自动获取类型ID(可能会变化)
返回值 返回文档类型ID

static bool registerUIProxy(TypeID docID, CreateUIProxyFunc cUIFunc, DestroyUIProxyFunc dUIFunc)

原型 static bool registerUIProxy(TypeID docID, CreateUIProxyFunc cUIFunc, DestroyUIProxyFunc dUIFunc)
描述 注册界面代理
参数 [i]TypeID docID: 界面代理所对应的文档类型ID
[i] CreateUIProxyFunc cUIFunc: 界面代理构造函数
[i] DestroyUIProxyFunc dUIFunc: 界面代理析构函数
返回值 成功注册返回true,否则返回false

static bool registerSession(const char * sname, FuncCreateSession cFunc, FuncDestroySession dFunc)

原型 static bool registerSession(const char * sname, FuncCreateSession cFunc, FuncDestroySession dFunc)
描述 注册应用会话
参数 [i]const char * sname: 应用会话名
[i] FuncCreateSession cFunc: 应用会话构造函数
[i] FuncDestroySession dFunc: 应用会话析构函数
返回值 成功注册返回true,否则返回false

static bool queryDocumentTypes(vector<string> * docTypes)

原型 static bool queryDocumentTypes(vector<string> * docTypes)
描述 查询已注册的文档类型字符串数组
参数 [i]vector<string> * docTypes: 已注册的文档类型字符串数组
返回值 查询成功返回true,否则返回false

static const char * getDocumentTypeString(TypeID docID)

原型 static const char * getDocumentTypeString(TypeID docID)
描述 查询文档类型ID对应的文档类型字符串
参数 [i]TypeID docID: 整数文档类型ID
返回值 文档类型名

static TypeID getDocumentTypeID(const char * docString)

原型 static TypeID getDocumentTypeID(const char * docString)
描述 获取类型名为docstring的文档类型ID
参数 [i]const char * docString: 文档类型名
返回值 文档类型ID

static XDocument * create(const char * docString)

原型 static XDocument * create(const char * docString)
描述 创建类型名为docstring的文档
参数 [i]const char * docString: 文档类型名
返回值 文档指针

static void destroy(XDocument *)

原型 static void destroy(XDocument *)
描述 销毁文档
参数 [i]XDocument *: 文档指针
返回值 无

static UIProxy * createUIProxy(MainFrame * mf, XDocument * doc)

原型 static UIProxy * createUIProxy(MainFrame * mf, XDocument * doc)
描述 为文档doc创建界面代理
参数 [i]MainFrame * mf: 主框架
[i] XDocument * doc: 文档指针
返回值 界面代理指针

static void destroyUIProxy(TypeID docID, UIProxy *)

原型 static void destroyUIProxy(TypeID docID, UIProxy *)
描述 销毁界面代理
参数 [i]TypeID docID: 文档类型ID
[i] UIProxy *: 界面代理指针
返回值 无

static const char * resolveDocumentType(const char * fname)

原型 static const char * resolveDocumentType(const char * fname)
描述 从文件中解析获取文件类型
参数 [i]const char * fname: 文件名
返回值 成功解析返回文件类型名,否则返回NULL

static XSession * createSession(const char * sname)

原型 static XSession * createSession(const char * sname)
描述 创建临时会话
参数 [i]const char * sname: 会话类型名
返回值 会话指针

static void destroySession(XSession * session)

原型 static void destroySession(XSession * session)
描述 销毁临时会话
参数 [i]XSession * session: 会话指针
返回值 无

virtual ResultIndexMap * getResultIndexMap(XModel * mesh)

原型 virtual ResultIndexMap * getResultIndexMap(XModel * mesh)
描述 获取结果索引
参数 [i]XModel * mesh: 结果所属的网格模型
返回值 结果索引

void registerTreeNodeType(const char * tString)

原型 void registerTreeNodeType(const char * tString)
描述 注册树节点类型,在该节点不与任何数据对象对应时使用
参数 [i]const char * tString: 节点类型字符串
返回值 无

TypeID getTreeNodeType(const char * tString)

原型 TypeID getTreeNodeType(const char * tString)
描述 获取树节点数据类型ID
参数 [i]const char * tString: 树节点类型字符串
返回值 树节点数据类型ID

bool getModelSheet(const XModel * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)

原型 bool getModelSheet(const XModel * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)
描述 获取模型的属性清单
参数 [i]const XModel * obj: 模型对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
[i] bool bMesh: 模型是否为网格
返回值 成功获取返回true,否则返回false

bool getPartSheet(const XPart * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)

原型 bool getPartSheet(const XPart * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)
描述 获取部件的属性清单
参数 [i]const XPart * obj: 部件对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
[i] bool bMesh: 部件是否属于网格模型
返回值 成功获取返回true,否则返回false

bool getAssemblySheet(const XAssembly * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)

原型 bool getAssemblySheet(const XAssembly * obj, vector<ObjPropertyEntry> * prpSheet, bool bMesh)
描述 获取装配体的属性清单
参数 [i]const XAssembly * obj: 装配体对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
[i] bool bMesh: 装配体是否属于网格模型
返回值 成功获取返回true,否则返回false

bool getShapeSheet(const XGeometry * obj, vector<ObjPropertyEntry> * prpSheet)

原型 bool getShapeSheet(const XGeometry * obj, vector<ObjPropertyEntry> * prpSheet)
描述 获取几何的属性清单
参数 [i]const XGeometry * obj: 几何对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
返回值 成功获取返回true,否则返回false

bool getNodeSheet(const XNode * obj, vector<ObjPropertyEntry> * prpSheet)

原型 bool getNodeSheet(const XNode * obj, vector<ObjPropertyEntry> * prpSheet)
描述 获取节点属性清单
参数 [i]const XNode * obj: 节点对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
返回值 成功获取返回true,否则返回false

bool getElementSheet(const XElement * obj, vector<ObjPropertyEntry> * prpSheet)

原型 bool getElementSheet(const XElement * obj, vector<ObjPropertyEntry> * prpSheet)
描述 获取单元属性清单
参数 [i]const XElement * obj: 单元对象
[i] vector<ObjPropertyEntry> * prpSheet: 属性清单
返回值 成功获取返回true,否则返回false

bool updateExternalReference(const char * extpath)

原型 bool updateExternalReference(const char * extpath)
描述 更新参考指定路径的外部数据的所有数据对象
参数 [i]const char * extpath: 外部引用的路径
返回值 成功更新返回true,否则返回false

TreeNode * updateItemTree(XManager * mgr, const XItem * obj, bool bDelete = false)

原型 TreeNode * updateItemTree(XManager * mgr, const XItem * obj, bool bDelete = false)
描述 更新对象树
参数 [i]XManager * mgr: 对象管理器
[i] const XItem * obj: 数据对象
[i] bool bDelete = false: 是否删除树节点
返回值 更新时返回数据对象对应的树节点,删除时返回父节点

void updateDocFolder()

原型 void updateDocFolder()
描述 更新文档文件夹
参数 无
返回值 无

void saveHeader(XBinaryIO * io, const char * scheme)

原型 void saveHeader(XBinaryIO * io, const char * scheme)
描述 将文件头写入二进制文件
参数 [i]XBinaryIO * io: 二进制文件句柄
[i] const char * scheme: 应用方案名
返回值 无

bool loadHeader(XBinaryIO * io)

原型 bool loadHeader(XBinaryIO * io)
描述 从二进制文件中载入文件头
参数 [i]XBinaryIO * io: 二进制文件句柄
返回值 成功载入返回true,否则返回false

void saveHeader(XH5IO * io, const char * scheme, H5Object * hroot)

原型 void saveHeader(XH5IO * io, const char * scheme, H5Object * hroot)
描述 将文件头写入H5文件
参数 [i]XH5IO * io: H5文件句柄
[i] const char * scheme: 应用方案名
[i] H5Object * hroot: H5文件根节点
返回值 无

bool loadHeader(XH5IO * io, H5Object * hroot)

原型 bool loadHeader(XH5IO * io, H5Object * hroot)
描述 从H5文件中载入文件头
参数 [i]XH5IO * io: H5文件句柄
[i] H5Object * hroot: H5文件根节点
返回值 成功载入返回true,否则返回false
ftbl/class/application/xdocument.txt · Last modified: 2025/05/09 14:46 (external edit)