OOo中文字处理中的表格介绍
来源:互联网 发布:淘宝啄木鸟真皮男包 编辑:程序博客网 时间:2024/04/29 03:07
翻译自:http://wiki.openoffice.org/wiki/Writer/Core_And_Layout#Tables
表格
基本上,文字处理的表格由模型表示(类SwTable)和视图表示(类SwTabFrm)联合表现出来的。
表格模型
表格模型定义在SwTable对象中,SwTable对象是由SwTableLine对象数组组成,其中的SwTableLine对象是由SwTableBox数组组成的,所有这些对象注册到继承自SwFrmFmt的类中,例如SwTableFmt,SwTableLineFmt,SwTableBoxFmt。表格的属性、表格行和表格单元格都被设置到SwFrmFmt对象中。通过这种方式,属性的变化会通过Modify()函数传播到表模型对象。SwTable指针是SwTableNode的成员变量,通过这种方式,SwTable被链接到节点数组。
表格帧
SwTabFrm、SwRowFrm和SwCellFrm为表格的布局对象,它们中的每一个对应一个表格模型对象:SwTable <-> SwTabFrm, SwTableLine <-> SwRowFrm, SwTableBox <-> SwCellFrm。像表模型对象一样,表的布局对象也被注册到客户端的各自的SwFrmFmt对象。
索引和位置
SwNodes类(SwNode对象数组):包含SwNodeIndexes列表,成员变量pRoot指向列表中的第一个元素。如果SwNodes数组执行删除SwNode对象操作,SwNodeIndexes会指向一个删除的对象将会调整为下一个不会被删除的对象。
类SwNodeIndex:包含指向SwNode对象的指针,它是在SwNodes数组的SwNode对象的列表的一部分。只要SwNode对象是在SwNodes数组,该SwNodeIndex不需要改变。
如果SwNode从SwNodes数组中移除,SwNodeIndex适应移动到SwNodes数组中的下一个SwNode,此操作是由SwNodes(-Array)自己完成的。所有的SwNodeIndexs必须注册在它们的SwNode所在的SwNodes数组上,SwNodes数组包含所有注册的SwNodeIndexes的列表。成员函数pRoot指向第一个SwNodeIndex,每个SwNodeIndex有pPrev和pNext指针指向上一个/下一个在列表中的SwNodeIndex。
++() 和--()操作符允许SwNodeIndex在SwNodes数组中迭代。
类SwNodeRange:简单的SwNodeIndex对(start,end)。
SwNodes继承自BigPtrArray,BigPtrArray是BigPtrEntry的数组。
BigPtrEntry知道在数组中的位置(GetPos()),如果有元素插入或者删除,必须进行调整其位置。
SwNode继承自BigPtrEntry。
在文字处理模型中,SwTxtNode代表一个段落。SwTxtNode继承自SwCntntNode,SwCntntNode继承自SwIndexReg。
类SwIndexReg:包含一个排序的SwIndexes列表,pFirst指向列表中的第一个元素,pLast指向列表中的最后一个元素。
类SwIndex:代表数组(SwIndexReg *pArray)中的一个位置(xub_StrLen nIndex),SwIndex注册到这个数组中。如果数组被操作,会更新所有相应的位置(方法Update(..))。
类SwPosition:它是SwNodeIndex和SwIndex对并且代表文档中的一个位置。如果SwNodeIndex指向一个段落(SwTxtNode),SwIndex注册到这个SwNode并且其值指向段落中一个字符的位置。如果SwNode指向其他的类型(例如,SwTableNode、SwSectionNode、SwStartNode),SwIndex被注册到一个虚的SwIndexReg上。
重要提示:如果SwPosition的SwNodeIndex指向SwTxtNode,SwIndex必须注册到相同的SwTxtNode。如果一个SwPostion的SwNodeIndex的操作代码为:
aPosition.nNode++;SwIndex也需要适应:aPosition.nContent.Assign( aPosition.nNode.GetNode().GetCntntNode(), 0 );.
- OOo中文字处理中的表格介绍
- OOO
- OOO
- ooo
- c语言键盘输入+中文字处理
- 网站编码中的字处理问题
- WORD2003中文字处理全真模拟试卷
- 中文按双字处理的案例
- 统的基本组成;中文Windows操作系统;字处理
- 使用Python处理excel表格(openpyxl)及表格中的中文处理
- 如何用VC读取Excel表格中的数据详细介绍
- 如何用VC读取Excel表格中的数据详细介绍
- 系统的基本组成;中文Windows操作系统;字处理软件Word;电子表格软
- 学习有感ooo
- aeroo ooo配置
- 表格中的表格效果,表格嵌套
- 表格属性介绍
- 别了,中联部字处理小组
- 2012年9月中国手机市场分析报告(简版)
- 中国互联网的十一种盈利模式
- 唉
- Bash判断(三)-if
- VS2005 使用SKIN皮肤库
- OOo中文字处理中的表格介绍
- 数据库一个表更新时没有加where 语句,把数据库恢复到执行update前的过程如下
- 2012-10-30笔记
- 旧人旧事旧时光,旧情旧爱旧伤感
- 有一个3*4的矩阵,求矩阵中所有元素中的最大值 用函数处理
- python 获取本机计算机名和IP地址
- Spriter a4 更新
- 美股网页表格数据爬虫设计
- MySql基本命令