diff --git a/zh_cn/docs/开发者/02 - 工程配置/vx.json b/zh_cn/docs/开发者/02 - 工程配置/vx.json index 8cc30847..19ab5892 100644 --- a/zh_cn/docs/开发者/02 - 工程配置/vx.json +++ b/zh_cn/docs/开发者/02 - 工程配置/vx.json @@ -5,7 +5,7 @@ "attachment_folder": "", "created_time": "2022-09-09T15:41:27Z", "id": "63", - "modified_time": "2022-09-22T23:53:02Z", + "modified_time": "2022-10-05T09:51:07Z", "name": "工程结构.md", "signature": "784285914952851111", "tags": [ diff --git a/zh_cn/docs/开发者/02 - 工程配置/vx_images/367553117269276.png b/zh_cn/docs/开发者/02 - 工程配置/vx_images/367553117269276.png new file mode 100644 index 00000000..e8c9ba9e Binary files /dev/null and b/zh_cn/docs/开发者/02 - 工程配置/vx_images/367553117269276.png differ diff --git a/zh_cn/docs/开发者/02 - 工程配置/工程结构.md b/zh_cn/docs/开发者/02 - 工程配置/工程结构.md index c6029f93..30a62098 100644 --- a/zh_cn/docs/开发者/02 - 工程配置/工程结构.md +++ b/zh_cn/docs/开发者/02 - 工程配置/工程结构.md @@ -1,6 +1,11 @@ # 工程结构 +## 代码结构图 + +![](vx_images/367553117269276.png) + + ## 结构解析 ``` @@ -30,7 +35,7 @@ │ ├── search 搜索模块 │ ├── snippet 片段模块 │ ├── task 任务模块 -│ ├── unitedentry TODO 不知道这里是干什么的 +│ ├── unitedentry 统一入口模块 │ ├── utils 工具模块 │ └── widgets 窗体 │ ├── *** 其他窗体文件 @@ -79,96 +84,96 @@ git submodule update --init --recursive 其他在 `src/core` 根目录下的文件 -| 名称 | 解释 | -| :------------------- | :--- | -| buffermgr | | -| clipboarddata | | -| configmgr | | -| coreconfig | | -| editorconfig | | -| externalfile | | -| file | | -| global | | -| historyitem | | -| historymgr | | -| htmltemplatehelper | | -| logger | | -| mainconfig | | -| markdowneditorconfig | | -| notebookmgr | | -| quickaccesshelper | | -| sessionconfig | | -| singleinstanceguard | | -| templatemgr | | -| texteditorconfig | | -| theme | | -| thememgr | | -| vnotex | | -| widgetconfig | | +| 名称 | 解释 | +| :------------------- | :------------------------------------------------------------------------------- | +| vnotex | vnote总入口,对核心的功能进行初始化等 | +| global | 全局通用枚举、内联方法 | +| buffermgr | 缓冲管理器,当前打开的笔记都会进入到缓存中,笔记打开、缓存的增删 | +| configmgr | 配置管理器,主配置、当前会话配置、核心配置、编辑器配置、窗体配置的总入口 | +| historymgr | 操作历史管理器,以json的格式将历史操作数据存储到session.json中 | +| templatemgr | 模板管理器,把模板理解为一个笔记即可,获得模板基础信息、文件夹,主题,路径 | +| thememgr | 主题管理器,调色、高亮、编辑、md配色、icon图标等 | +| notebookmgr | 笔记本管理器,笔记本的CRUD,版本控制、后端、配置、导入等 | +| mainconfig | 主配置,版本、核心配置、编辑器配置、窗体配置等入口 | +| coreconfig | 核心配置,设置中的快捷键、主题、检查更新、默认打开 | +| editorconfig | 编辑器配置,设置中的编辑器、文本编辑、markdown编辑、自动保存等 | +| markdowneditorconfig | markdown编辑器配置,文本、uml、graphviz、mathjax、图片、缩放、代码、链接跳转 | +| texteditorconfig | 文本编辑器配置,插入模式、光标、折叠、制表符、特殊高亮 | +| widgetconfig | 窗体配置,标题自动扩展、序号、查询和替换、 资源视图、搜索、窗体保持、窗体拆分、统一入口 | +| sessionconfig | 当前会话配置,opengl,当前笔记打开状态、窗体布局等 | +| clipboarddata | 剪切板数据,TODO | +| externalfile | 外部文件,读取、路径、图片等 | +| file | 文件,这里主要是对图片操作 | +| historyitem | 操作历史的item,记录历史的变动 | +| logger | 日志 | +| htmltemplatehelper | html模板帮助 | +| quickaccesshelper | 快速访问帮助 | +| singleinstanceguard | 窗体的单例,只能打开一个vnote | +| theme | 主题的实际应用 | 文件夹 `buffer` 缓冲区,就是已经打开的笔记 -| 名称 | 解释 | -| :-------------------- | :--- | -| buffer | | -| bufferprovider | | -| filebufferprovider | | -| filetypehelper | | -| markdownbuffer | | -| markdownbufferfactory | | -| nodebufferprovider | | -| textbuffer | | -| textbufferfactory | | +| 名称 | 解释 | +| :-------------------- | :----------------------------------------------------------------------------------- | +| buffer | 缓冲区的CRUD、视图 | +| bufferprovider | 缓冲区供应者,对接vnote自己的笔记的缓冲区,缓冲区的虚方法,TODO为什么这里要定义这些虚方法呢 | +| filebufferprovider | 文件缓冲区供应者,对接外部文件的缓存区 | +| filetypehelper | 文件类型帮助 | +| markdownbuffer | markdown缓冲区,图片增删,过时图片删除 | +| markdownbufferfactory | marodkwn缓冲区工厂类,创建所用 | +| nodebufferprovider | 笔记缓冲区提供者 TODO 这块没太懂 | +| textbuffer | 文本缓冲区 | +| textbufferfactory | 文本缓冲区工厂类,创建所用 | 文件夹 `notebook` 笔记的索引、笔记索引的嵌入式数据库操作、标签、参数、外部文件 -| 名称 | 解释 | -| :--------------------- | :--- | -| bundlenotebook | | -| bundlenotebookfactory | | -| externalnode | | -| node | | -| nodeparameters | | -| notebook | | -| notebookdatabaseaccess | | -| notebookparameters | | -| notebooktagmgr | | -| tag | | -| vxnode | | -| vxnodefile | | +| 名称 | 解释 | +| :--------------------- | :-------------------------------------------------------------------------------- | +| bundlenotebook | 笔记本打包,会将所有笔记和笔记本拍平后的数据结构、标签、以及对应关系读写到SQLite数据库中 | +| bundlenotebookfactory | 笔记本打包工厂类 | +| externalnode | vnote 未管理的外部节点 | +| node | 笔记 (笔记本的节点) 兼容2 | +| nodeparameters | 笔记的参数,id,创建时间,修改时间,标签,附件 | +| notebook | 笔记本和回收站 | +| notebookdatabaseaccess | 笔记本和笔记的数据库读写操作 | +| notebookparameters | 笔记本的参数 | +| notebooktagmgr | 笔记本标签管理器 | +| tag | 标签 | +| vxnode | vnotex3的节点 | +| vxnodefile | vnotex3的文件 | -文件夹 `notebookbackend` TODO 笔记后端(工厂方法) +文件夹 `notebookbackend` 笔记后端,如存储等,尚未实现 -| 名称 | 解释 | -| :-------------------------- | :--- | -| inotebookbackend | | -| localnotebookbackend | | -| localnotebookbackendfactory | | +| 名称 | 解释 | +| :-------------------------- | :-------------------------------- | +| inotebookbackend | 笔记本后端的抽象类,文件的访问和同步 | +| localnotebookbackend | 笔记本后端的本地文件系统 | +| localnotebookbackendfactory | 笔记本后端工厂类 | -文件夹 `notebookconfigmgr` TODO 笔记索引配置管理 +文件夹 `notebookconfigmgr` 笔记索引配置管理 -| 名称 | 解释 | -| :-- | :-- | -| bundlenotebookconfigmgr | | -| inotebookconfigmgr | | -| notebookconfig | | -| vxnodeconfig | | -| vxnotebookconfigmgr | | -| vxnotebookconfigmgrfactory | | +| 名称 | 解释 | +| :------------------------- | :-------------------------------------------------- | +| bundlenotebookconfigmgr | 笔记本配置管理器打包,获取数据库、本地文件索引信息等配置 | +| inotebookconfigmgr | 笔记本配置管理器的抽象类,配置文件的读写 | +| notebookconfig | 笔记本配置 | +| vxnodeconfig | vx节点配置 | +| vxnotebookconfigmgr | vx笔记本配置管理器 | +| vxnotebookconfigmgrfactory | vx笔记本配置管理器工厂类 | -文件夹 `versioncontroller` TODO 笔记版本管理(未开发) +文件夹 `versioncontroller` 笔记版本管理(未开发) -| 名称 | 解释 | -| :---------------------------- | :--- | -| dummyversioncontroller | | -| dummyversioncontrollerfactory | | -| versioncontrollerserver | | +| 名称 | 解释 | +| :---------------------------- | :------------------ | +| dummyversioncontroller | 虚拟版本控制器 | +| dummyversioncontrollerfactory | 虚拟版本控制器工厂类 | +| versioncontrollerserver | 版本控制器服务 | ### src/data -资源文件夹,主要包含 `核心资源` 和 `额外资源`,因为是资源文件,所有会有对应的 `.qrc 工程资源文件` 可以理解为在打包时需要哪些资源文件: +资源文件夹,主要包含 `核心资源` 和 `额外资源`,因为是资源文件,所有会有对应的 `.qrc` 工程资源文件,可以理解为在打包时需要哪些资源文件: core `核心资源` @@ -216,7 +221,7 @@ extra `额外资源` | imagehost | 图床 | | imagehostmgr | 图床管理、增删、改名 | | imagehostutils | 图床工具类 | -| repoimagehost | TODO 不知道 | +| repoimagehost | 图床解析、测试、使用 | ### search @@ -260,17 +265,17 @@ extra `额外资源` 统一入口模块 -| 名称 | 解释 | -| :----------------- | :------------------------- | -| entrypopup | 统一入口的弹出框 | -| entrywidgetfactory | 窗口工厂类 | -| findunitedentry | 统一入口查找 | -| helpunitedentry | 统一入口帮助 | -| iunitedentry | TODO 不知道 | -| unitedentry | TODO 不知道 | -| unitedentryalias | 统一入口别名 | -| unitedentryhelper | TODO 没懂与上面的help的区别 | -| unitedentrymgr | 统一入口管理器 | +| 名称 | 解释 | +| :----------------- | :-------------- | +| entrypopup | 统一入口的弹出框 | +| entrywidgetfactory | 窗口工厂类 | +| findunitedentry | 统一入口查找 | +| helpunitedentry | 统一入口帮助 | +| iunitedentry | 统一入口的接口 | +| unitedentry | 统一入口 | +| unitedentryalias | 统一入口别名 | +| unitedentryhelper | 统一入口帮助 | +| unitedentrymgr | 统一入口管理器 | ### utils @@ -301,141 +306,137 @@ extra `额外资源` 窗体模块 -| 名称 | 解释 | -| :------------------------------ | :---------------- | -| attachmentdragdropareaindicator | TODO 不知道 | -| attachmentpopup | 附件弹出框 | -| biaction | TODO bi动作 | -| buttonpopup | 按钮弹出框 | -| combobox | 解决间距的下拉菜单 | -| consoleviewer | 控制台预览 | -| dockwidgethelper | 左侧导航坞窗体帮助 | -| dragdropareaindicator | TODO 拖拽区域指示 | -| editreaddiscardaction | TODO 读写丢弃动作 | -| filesystemviewer | 文件系统观察者 | -| findandreplacewidget | 查找和替换窗体 | -| floatingwidget | 浮动窗体 | -| fullscreentoggleaction | 全屏切换 | -| historypanel | 历史记录面板 | -| itemproxystyle | TODO 不知道 | -| labelwithbuttonswidget | 标签按钮小部件 | -| lineedit | TODO 什么线条编辑 | -| lineeditdelegate | TODO 线条委托 | -| lineeditwithsnippet | | -| listwidget | | -| locationinputwithbrowsebutton | | -| locationlist | | -| mainwindow | | -| markdownviewwindow | | -| messageboxhelper | | -| navigationmode | | -| navigationmodemgr | | -| notebookexplorer | | -| notebookexplorersession | | -| notebooknodeexplorer | | -| notebookselector | | -| outlinepopup | | -| outlineprovider | | -| outlineviewer | | -| propertydefs | | -| quickselector | | -| searchinfoprovider | | -| searchpanel | | -| simplesegmenthighlighter | | -| snippetpanel | | -| statusbarhelper | | -| styleditemdelegate | | -| systemtrayhelper | | -| tagexplorer | | -| tagpopup | | -| tagviewer | | -| textviewwindow | | -| titlebar | | -| titletoolbar | | -| toolbarhelper | | -| toolbox | | -| treeview | | -| treewidget | | -| treewidgetitem | | -| viewarea | | -| viewareasession | | -| viewsplit | | -| viewwindow | | -| viewwindowsession | | -| viewwindowtoolbarhelper | | -| webpage | | -| webviewer | | -| widgetsfactory | | -| windowspanel | | -| windowsprovider | | -| wordcountpopup | | + +| 名称 | 解释 | +| :------------------------------ | :--------------------------------------------------------------------- | +| attachmentdragdropareaindicator | TODO 不知道 | +| attachmentpopup | 附件弹出框 | +| biaction | TODO bi动作 | +| buttonpopup | 按钮弹出框 | +| combobox | 解决间距的下拉菜单 | +| consoleviewer | 控制台预览 | +| dockwidgethelper | 左侧导航坞窗体帮助 | +| dragdropareaindicator | 拖放区域指示部件 | +| editreaddiscardaction | (阅读模式、编辑模式、放弃)动作 | +| filesystemviewer | 文件系统观察者 | +| findandreplacewidget | 查找和替换窗体 | +| floatingwidget | 浮动窗体 | +| fullscreentoggleaction | 全屏切换 | +| historypanel | 历史记录面板 | +| itemproxystyle | TODO 不知道 | +| labelwithbuttonswidget | 标签按钮小部件 | +| lineedit | 行编辑部件 | +| lineeditdelegate | 行编辑部件代理 | +| lineeditwithsnippet | 行编辑与片段 | +| listwidget | 列表窗体 | +| locationinputwithbrowsebutton | TODO | +| locationlist | 位置列表 | +| mainwindow | 主窗体,窗体总入口 | +| markdownviewwindow | markdown视图 | +| messageboxhelper | 消息推送帮助 | +| navigationmode | 导航模式接口,如果一个小部件想要支持导航模式,则需要继承这个类。 | +| navigationmodemgr | 导航模式管理器 | +| notebookexplorer | 笔记本资源管理器 | +| notebookexplorersession | 笔记本资源管理器当前会话,用与重新打开后的会话恢复 | +| notebooknodeexplorer | 笔记本中的笔记资源管理器 | +| notebookselector | 笔记本选择器 | +| outlinepopup | 笔记中弹出的大纲 | +| outlineprovider | 大纲提供者 | +| outlineviewer | 大纲视图 | +| propertydefs | 定义用于QSS的属性。 | +| quickselector | TODO | +| searchinfoprovider | 搜索提供者 | +| searchpanel | 搜索面板 | +| simplesegmenthighlighter | TODO | +| snippetpanel | 片段面板 | +| statusbarhelper | 状态栏帮助 | +| styleditemdelegate | 样式代理 | +| systemtrayhelper | 系统托盘 | +| tagexplorer | 标签资源管理器 | +| tagpopup | 笔记中的标签弹出框 | +| tagviewer | 标签视图 | +| textviewwindow | 文本视图窗体 | +| titlebar | 标题栏 | +| titletoolbar | 标题工具栏 | +| toolbarhelper | 工具栏帮助 | +| toolbox | TODO | +| treeview | TODO | +| treewidget | vnotex修改后的树窗体 | +| treewidgetitem | vnotex修改后的树窗体的选项,修改了默认排序 | +| viewarea | 视图区域 TODO | +| viewareasession | TODO | +| viewsplit | 视图拆分 | +| viewwindow | 视图拆分后的窗体 | +| viewwindowsession | TODO | +| viewwindowtoolbarhelper | 视图工具栏帮助 | +| webpage | TODO | +| webviewer | TODO | +| widgetsfactory | 窗体工厂类,菜单、行编辑、行编辑片段、单选框、多选框、下拉框、旋转、纯文本等 | +| windowspanel | 窗体面板 | +| windowsprovider | 窗体提供者 | +| wordcountpopup | 字数统计弹出框 | dialogs 对话框 -| 名称 | 解释 | -| :-------------------------- | :--- | -| deleteconfirmdialog | | -| dialog | | -| exportdialog | | -| filepropertiesdialog | | -| folderfilesfilterwidget | | -| folderpropertiesdialog | | -| imageinsertdialog | | -| importfolderdialog | | -| importfolderutils | | -| importlegacynotebookdialog | | -| importnotebookdialog | | -| legacynotebookutils | | -| levellabelwithupbutton | | -| linkinsertdialog | | -| managenotebooksdialog | | -| newfolderdialog | | -| newnotebookdialog | | -| newnotebookfromfolderdialog | | -| newnotedialog | | -| newsnippetdialog | | -| newtagdialog | | -| nodeinfowidget | | -| notebookinfowidget | | -| notepropertiesdialog | | -| renametagdialog | | -| scrolldialog | | -| selectdialog | | -| selectionitemwidget | | -| snippetinfowidget | | -| snippetpropertiesdialog | | -| sortdialog | | -| tableinsertdialog | | -| updater | | -| viewtagsdialog | | +| 名称 | 解释 | +| :-------------------------- | :--------------------- | +| deleteconfirmdialog | 需要确认的删除项信息 | +| dialog | vnotex修改后的对话框 | +| exportdialog | 导出对话框 | +| filepropertiesdialog | 文件配置对话框 | +| folderfilesfilterwidget | 文件夹过滤窗体 | +| folderpropertiesdialog | 文件夹设置对话框 | +| imageinsertdialog | 图片插入对话框 | +| importfolderdialog | 导入文件夹对话框 | +| importfolderutils | 导入文件夹工具类 | +| importlegacynotebookdialog | 导入旧版的笔记本对话框 | +| importnotebookdialog | 导入笔记本对话框 | +| legacynotebookutils | 旧版笔记本工具类 | +| levellabelwithupbutton | TODO | +| linkinsertdialog | 链接插入对话框 | +| managenotebooksdialog | 笔记本管理对话框 | +| newfolderdialog | 新建文件夹对话框 | +| newnotebookdialog | 新建笔记本对话框 | +| newnotebookfromfolderdialog | 从文件夹新建笔记本对话框 | +| newnotedialog | 新建笔记对话框 | +| newsnippetdialog | 新建片段对话框 | +| newtagdialog | 新建标签对话框 | +| nodeinfowidget | 节点(笔记)信息窗体 | +| notebookinfowidget | 笔记本信息窗体 | +| notepropertiesdialog | 笔记属性对话框 | +| renametagdialog | 名称变更对话框 | +| scrolldialog | 滚动条对话框 | +| selectdialog | 选择对话框 | +| selectionitemwidget | 选择项窗体 | +| snippetinfowidget | 片段窗体 | +| snippetpropertiesdialog | 片段属性对话框 | +| sortdialog | 排序对话框 | +| tableinsertdialog | 表格插入对话框 | +| updater | 自动更新 | +| viewtagsdialog | TODO | editors 编辑器 -| 名称 | 解释 | -| :-------------------------- | :--- | -| editormarkdownvieweradapter | | -| graphhelper | | -| graphvizhelper | | -| markdowneditor | | -| markdowntable | | -| markdowntablehelper | | -| markdownviewer | | -| markdownvieweradapter | | -| plantumlhelper | | -| previewhelper | | -| statuswidget | | -| texteditor | | +| 名称 | 解释 | +| :-------------------------- | :----------------------- | +| editormarkdownvieweradapter | markdown 编辑器视图适配器 | +| graphhelper | 图帮助 | +| graphvizhelper | | +| markdowneditor | markdown编辑器 | +| markdowntable | markdown中的智能表格 | +| markdowntablehelper | markdown表格帮助 | +| markdownviewer | TODO | +| markdownvieweradapter | TODO | +| plantumlhelper | uml帮助 | +| previewhelper | 预览帮助 | +| statuswidget | 状态窗体 | +| texteditor | 纯文本编辑器 | framelessmainwindow 无边框窗口 | 名称 | 解释 | | :----------------------- | :-------- | -| framelessmainwindow | | +| framelessmainwindow | 主窗体 | | framelessmainwindowlinux | 针对linux | | framelessmainwindowwin | 针对win | - - -## 模块关系图 - -TODO