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

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

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

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

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

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

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

红孩儿编辑器的详细设计第四部分相关推荐

  1. Atom编辑器入门到精通(四) Atom使用进阶

    原创时间:2016-01-31 更新时间:2016-06-05 在本节中将介绍Atom提供的更高级的使用技巧,通过这些技巧将会进一步提高你的代码编写效率 代码片段(Snippets) Snippets ...

  2. 富文本编辑器Ueditor实战(四)-video集成

    本文接上文富文本编辑器Ueditor实战(三)-springboot集成,上文留了一个小问题,ueditor中上传video存在一个问题,标签会被自动替换的问题.那么如何应对在富文本编辑器中上传视频呢 ...

  3. python代码编辑器排行榜-4款好用的Python编辑器,你用过几个?

    [芝麻IP代理]Python语言有一个特点就是不特别强势,可是它能够使用都非常的多范畴,并且效率高的可怕,Python的使用范畴非常多,现在国内越来越多的人学习Python,从最开始遇到IP被封导致没 ...

  4. qt 实现html 编辑器,基于QT的HTML编辑器的设计与实现.doc

    PAGE PAGE 1 郑州大学毕业设计(论文) 题 目:基于Qt的html编辑器的设计与实现 指导教师: 职称: 学生姓名: 学号: 专 业: 院(系): 完成时间: 2012年5月10日 2012 ...

  5. vi编辑器的学习使用(二十)

    Vim编辑器有不同的方法来处理各类事物.我们在Vim编辑器的学习使用(四)已经讨论过文本块和多文件的处理方法.有了这些命令,我们就可以很好的来完成我们的工作.在这一次的学习中我们会讨论一些更多的内容. ...

  6. linux中vi编辑器(转载)

    三种模式相互切换 在命令终端输入vi进入vi编辑器. 命令模式:进入编辑器即进入命令模式, 输入模式:在命令模式下输入"i "进入输入模式: 末行模式:按":" ...

  7. 使用 ale.js 制作一个小而美的表格编辑器(4)

    今天来教大家如何使用 ale.js 制作一个小而美的表格编辑器,首先先上 gif: 是不是还是有一点非常 cool 的感觉的?那么我们现在开始吧! 这是我们这篇文章结束后完成的效果(如果想继续完成请访 ...

  8. 富文本及编辑器的跨平台方案

    一.前言 之前在<富文本编辑器之游戏角色升级 ing>一文中,跟大家分享了富文本编辑器的发展历程.选型技巧和扩展方案.今天将和大家一起聊一聊"富文本及编辑器跨平台方案" ...

  9. Snapde和常用的CSV文件编辑器对比

    Snapde,一个专门为编辑超大型数据量CSV文件而设计的单机版电子表格软件:它运行的速度非常快,反应非常灵敏. CSV是一种用逗号分隔列.回车分割行的文本文件,市面上常用的CSV编辑软件有:Snap ...

  10. 《基于Qt的VR编辑器开发》(Yanlz+Unity+SteamVR+5G+AI+VR云游戏+Qt+编辑器+跨平台+人机交互+触发事件+立钻哥哥+==)

    <基于Qt的VR编辑器开发> <基于Qt的VR编辑器开发> 版本 作者 参与者 完成日期 备注 YanlzFramework_Qt_V01_1.0 严立钻 2019.09.04 ...

最新文章

  1. TSR交通标志检测与识别
  2. golang NewRequest gorequest 实现http请求
  3. sqlserver2000 php5.4,PHP添加Mssql/sqlserver2000扩展,适用于Php5.2/Php5.3/Php5.4
  4. python gif动态图的合成
  5. 字节流写数据的三种方式
  6. 阿里云E-MapReduce 创建执行计划
  7. 自动生成SQL查询、删除、更新、插入语句
  8. Linux 命令(98)—— basename 命令
  9. 必须拉响恶性通胀的警报
  10. 【Unity】6.2 在VS2015中调试 C# 脚本
  11. [转]《博客园精华集》ASP.NET分册第2论筛选结果文章列表
  12. 淘宝模拟登录2解决滑动验证问题
  13. Java实现对称加密
  14. PTA题目 电话聊天狂人 散列表 map
  15. AssertionError: Torch not compiled with CUDA enabled问题
  16. php怎么获得今天的日期,PHP怎么获取今天、昨天、明天的日期-php教程
  17. 谷歌Imagen,人工智能对语言更加深入理解
  18. SparkContext的初始化(仲篇)——SparkUI、环境变量及调度
  19. 正交频分复用中的正交问题
  20. KVM 虚拟化 介绍

热门文章

  1. 数据开源 | 跨境电商场景中日平行语料1000
  2. 如何做投资--入门篇
  3. 虚拟机安装专用游戏多开win7系统教程简单易懂
  4. 开源的驰骋工作流程引擎,工作流程管理系统,表结构与运行机制。
  5. 模板消息接口php代码demo,发送模板API例子
  6. 【Unity学习】Unity GetCurrentAnimatorStateInfo方法判断动画播放
  7. 亚马逊AWS云服务器 ubuntu系统登陆教程
  8. RK3399 制作更新logo.img
  9. 32位系统为什么又叫x86系统呢?
  10. 网络文件常常提到类似./run.sh的数据,这个命令的意义是什么?