红孩儿编辑器的详细设计第四部分

红孩儿编辑器的详细设计第四部分

系统中主要的数据结构设计

1缓存的结构
二维的数组,还有一个栈,是一个修改的日志 包括操作类型,位置,原内容,新内容。

2状态的结构
是一个对象,它有属性是文件名,当前的光标行号,当前光标的列号,
左上角顶点处的位置在文件中的行号,列号

3配置的结构
是一个对象,它有属性 是否是语法高亮显示,是否是代码折叠, 是否是括号匹配,
是否是自动换行,是否是显示行号,是否是插入模式,输入法,字体大小,字体名称
查找的配置,作为一个子对象,它也有自己的属性例如,查找方向,是否大小写匹配,
是否支持正则表达式,正则表达式的内容,是查找一次还是多次,查找范围是全文还是限定区域

4编辑器主体对象的结构
这个对象有许多的属性,例如,光标的当前的行号,列号,光标标记
编辑的宽度和高度,单行的高度,一个字的宽度,操作光标定位的方法


5 HTML5的画布对象
这个对象的属性有填充格式,画线的格式,填充矩形的方法,画线矩形的方法。

猜你喜欢

转载自blog.csdn.net/gggwfn1982/article/details/83866833