From 72e17a50d0de3ebb9d5994180fd34c3d187b2cdc Mon Sep 17 00:00:00 2001 From: codeboss <2422523675@qq.com> Date: Wed, 14 Feb 2024 18:36:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=AC=E5=85=A5=E5=8F=A6=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E9=A2=86=E5=9F=9F=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QtNovelDesc.pro | 4 ++-- QtNovelDesc.pro.user | 2 +- WordsIDE/main.cpp | 4 ++-- WordsIDE/srcedit_storyboard.h | 1 + libTextEdit/README.md | 28 ++++++++++++++++++++++++++++ libTextEdit/libTextEdit.pro | 3 +++ 6 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 libTextEdit/README.md diff --git a/QtNovelDesc.pro b/QtNovelDesc.pro index ecb9006..bc94a14 100644 --- a/QtNovelDesc.pro +++ b/QtNovelDesc.pro @@ -3,8 +3,8 @@ TEMPLATE = subdirs SUBDIRS += \ libGenericConsole \ libSplitView \ - WordsIDE \ + # WordsIDE \ libConfig \ libProjectManager \ - # libTextEdit \ + libTextEdit \ u_test diff --git a/QtNovelDesc.pro.user b/QtNovelDesc.pro.user index 87d0d37..94782ff 100644 --- a/QtNovelDesc.pro.user +++ b/QtNovelDesc.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/WordsIDE/main.cpp b/WordsIDE/main.cpp index 80e77fb..ff5c118 100644 --- a/WordsIDE/main.cpp +++ b/WordsIDE/main.cpp @@ -25,8 +25,8 @@ int main(int argc, char *argv[]) } } - MainWindow w(&a, "default"); - w.show(); +// MainWindow w(&a, "default"); +// w.show(); return a.exec(); } diff --git a/WordsIDE/srcedit_storyboard.h b/WordsIDE/srcedit_storyboard.h index 7c9bf0d..8f45174 100644 --- a/WordsIDE/srcedit_storyboard.h +++ b/WordsIDE/srcedit_storyboard.h @@ -42,6 +42,7 @@ namespace Presents { virtual void beforeClose() override; virtual Core::DocumentsManager *docsManager() const override; virtual Core::Route accessPath() const override; + virtual QMenu *bindMenu() const override; }; class StorySourceEditFactory : public Presents::TypedPresentFactory { diff --git a/libTextEdit/README.md b/libTextEdit/README.md new file mode 100644 index 0000000..2481237 --- /dev/null +++ b/libTextEdit/README.md @@ -0,0 +1,28 @@ +# 文本编辑控件 +## 创建原因 +1. 实现一个可以自主掌控的源码编辑控件 +2. 验证自己的设计理念,学习基本的文本排版技术 +3. 市面上没有一个开源好用的源码编辑器,需要以C++内存模型对外暴露文档模型,方便编辑和解析 +4. 需要多线程处理高亮渲染,以应对大规模关键词渲染需求 +5. 同一个文档模型多开视图窗口,自动同步修改内容,同一模型不同的渲染视图的渲染结果互不影响 +6. 自动补全功能 +7. 富文本元素排版 +8. Unicode内建支持 + +## 设计目标 +1. 富文本渲染控件 + 1. 支持排版元素:“文本”、“图片”、“超链接”、“列表”、“表格”、“视频”、“音频”; + 2. 支持编辑内容:“文本”、“表格”、“列表” + 3. 支持编辑引用:“图片”,“超链接”,“视频”,“音频”; + 4. 支持元素折叠和展开 + 5. 块级元素内建排版格式,行内元素排版方向内建 +2. 源码文本编辑控件 + 1. 纯文本控件,支持编辑和呈现文本元素 + 2. 多种文本格式混合排版 + 3. 支持块级元素折叠和展开 + 4. 全局统一排版方向,行内元素排版方向内建 + +## 开发路线图 +1. 基本的源码展示控件(WsTextPresent) +2. 基本的源码编辑控件(WsTextEdit) +3. 富文本渲染控件(WsRichTextPresent) \ No newline at end of file diff --git a/libTextEdit/libTextEdit.pro b/libTextEdit/libTextEdit.pro index 867aa92..52c6dc8 100644 --- a/libTextEdit/libTextEdit.pro +++ b/libTextEdit/libTextEdit.pro @@ -30,3 +30,6 @@ unix { target.path = /usr/lib } !isEmpty(target.path): INSTALLS += target + +DISTFILES += \ + README.md