自主开发的OFD编辑器简介 -- 开ofd可编辑之先河
前言 OFD是板式文档格式,板式文档只管显示;怎么对板式文档编辑,那不是OFD标准考虑的事。有时使用者是“不讲道理的”,我就是想要编辑ofd文件!需求就是开发软件的动力,毕竟开发者会向钱看的。
经过一番绞尽脑汁,在OFD阅读器的基础上,终于实现了编辑功能。至于好不好用,就仁者见仁智者见智了。板式没有统一的编辑标准,就需要开发者更懂使用者的“心”!
1 文档多种多样,分类化解
没有一种编辑模式适合所有的文档,不同的使用者期望的编辑模式是不一样的。我们把编辑模式分为三种:段落模式、行模式、自由选择模式。总有一款适合你!
段落模式:

行模式:

自由选择模式

编辑功能
文本按三种模式做初步处理;后续,文本编辑功能的影响范围限定于框内。可对文本增删改、复制粘贴、换行、设置行间距和字间距等操作,支持undo功能。

无限undo功能,

块可以移动,并可以undo到起始位置

设置行间距、字间距、字体颜色


后记:板式文件的编辑功能不似流式文件,其编辑功能并无定法。我们能做的只有:尽可能把握使用者意图,尽量使使用者称心如意!为了使板式文件可编辑,没有现成的路可走,没有现成编辑控件可用。只有从底层做起,从控制鼠标、键盘等微小事件做起,所有的细节都在掌控之中!才能开发出一款可用编辑软件!
自主开发的OFD编辑器简介 -- 开ofd可编辑之先河的更多相关文章
- 自主开发编程语言被指Python套壳,中科院开发者道歉
中科院计算所团队“完全自主设计.开发和实现”的“木兰”编程语言是Python语言的套壳产品?针对近日这一网络质疑,1月17日,项目负责人.中科院计算所编译实验室员工刘雷在科学网上发表回应称,木兰语言在 ...
- iOS开发UI篇—CALayer简介
iOS开发UI篇—CALayer简介 一.简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView. 其实 ...
- CozyRSS开发记录0-RSS阅读器开坑
CozyRSS开发记录0-RSS阅读器开坑 1.RSS RSS,全名是Really Simple Syndication,简易信息聚合. 关于RSS相关的介绍,网上可以很容易的找到.RSS阅读器是我几 ...
- 再谈自主开发与企业IT管理
前两天写<自主开发与带兵打仗>分析了一下自主开发的利与弊,得到了园内不少朋友的反馈,但我觉得还有很多东西没有交待清楚,可能有很多朋友也跟我一样在公司的IT部门,有自己的研发团队也有很多外购 ...
- 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选 ...
- 依赖注入及AOP简述(十)——Web开发中常用Scope简介 .
1.2. Web开发中常用Scope简介 这里主要介绍基于Servlet的Web开发中常用的Scope. l 第一个比较常用的就是Application级Scope,通常我们会将一 ...
- iOS开发多线程篇—多线程简介
iOS开发多线程篇-多线程简介 一.进程和线程 1.什么是进程 进程是指在系统中正在执行的一个应用程序 每一个进程之间是独立的.每一个进程均执行在其专用且受保护的内存空间内 比方同一时候打开QQ.Xc ...
- Sublime Text3编辑器简介
Sublime Text3编辑器简介 下载地址 绿色中文版v3.3038下载地址:http://www.cncrk.com/downinfo/60832.html 官方网址(英文安装版)下载地址:ht ...
- DB 分库分表(3):关于使用框架还是自主开发以及 sharding 实现层面的考量
当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选 ...
- draft.js开发富文本编辑器
写在前头的话 在react中去寻找一个好用的富文本编辑器网上很少有推荐的,搜到的也只有一些个人不成熟的作品,慢慢发现网上比较推荐的一个东东叫做draft.js. 这个东西在网上可以找到的教程也是手指头 ...
随机推荐
- ES6语法特性
ES6语法特性 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了. 它的目标,是使得 JavaScript 语言 ...
- luogu P3842 [TJOI2007] 线段
link 好题,考虑如何设定状态. 设\(dp_{i,0/1}\)表示到了第\(i\)行走完后停在这一行的最左侧/最右侧. 设定\(l_i\)表示这一行该线段的最左侧,\(r_i\)表示这一行的最右侧 ...
- Flink CDC 实时同步 Oracle
Flink CDC 系列文章 Flink CDC 实时同步 MySQL Flink CDC 实时同步 Oracle 准备工作 Oracle 数据库(version: 11g) 开启归档日志 sqlpl ...
- nano编辑器保存退出
nano的编辑器保存推出 使用 ctrl x 然后提示Y N 是否保存 写入,输入Y即可 然后再Enter 确认就可以了
- ECharts 引入中国地图和区域地图
一,引入中国地图 <div id="chinaMap"></div> import china from 'echarts/map/js/china. ...
- 玩转AI工作流:一步步搭建灵活的自动化流程
我们之前搭建了许多不同类型的智能体,其中最受欢迎的就是在智能体中搭建各种工作流--这也是我最喜欢探索和玩的领域.那么,究竟什么是工作流?如何在后端实现一个工作流呢?今天我们就先简单了解下. 什么是工作 ...
- vue中登录超时跳转到登录页面设置拦截器
axios中添加响应拦截器 Axios.interceptors.response.use(res = > { let resData = res.data; if (resData.code ...
- gitlab安装与基本使用
这里会使用一个前端项目自动化部署的方式来进行了解 Node 安装项目依赖.打包都需要 Nginx web 项目部署必须「正向代理.方向代理.负载均衡等等」. GitLab 也会用到 Nginx(默认自 ...
- go官方包依赖管理工具之mod
1.1.go mod是什么 go mod 是Golang 1.11 版本引入的官方包(package)依赖管理工具,用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理. 之前Golang ...
- Python 学习记录 (4)
Plotly常见可视化方案:以鸢尾花数据为例 简单介绍: Ploty库也有大量统计可视化方案,并且这些可视化方案具有交互化属性. 主要对鸢尾花数据进行处理与可视化. 所展示的结果为交互界面的截图情况, ...