src/plugin: 基于生成器的新插件诞生流程文档

This commit is contained in:
zinface 2024-03-18 20:44:11 +08:00
parent 1f3408c621
commit 7936831b6e
12 changed files with 69 additions and 1 deletions

View File

@ -1,4 +1,72 @@
# Notepad--Plugin - 基于源代码树的插件开发说明 # Notepad--Plugin - 基于基础插件生成器的插件开发说明
> 流程图示
- 插件基础生成器主体结构预览
```cpp
/*
1. 它本身作为 Notepad-- 的插件
2. 它在构建时使用了 buildin.qrc 内置三个模板(h cpp cmake).
3. 它通过对话框输入的信息来对模板内容进行替换来生成适用于插件开发结构的代码
4. 它可以直接生成到目录,而且内置了一系列模板替换逻辑
5. 最后,它为你直接准备好了基础插件结构,并生成最终说明到 Notepad-- 的新编辑器中。
*/
```
#### 新插件诞生流程
1. 使用源码树中的 hello-simple 插件提供的功能
![图片](doc/image.png)
2. 在对话框中填写你的插件名称与类名(纯英文不带空格可以直接使用插件名)
![图片](doc/image-1.png)
3. 保存(生成)到源码树目录的某个子目录下
![图片](doc/image-2.png)
4. 在编辑器中将出现一段cmake的构建说明粘贴到 src/plugin/CMakeLists.txt 中
![图片](doc/image-3.png)
5. 在 Qt Creator 中准备构建这个插件 - 勾选
![图片](doc/image-4.png)
6. 在 Qt Creator 中选中这个目标单独构建它
![图片](doc/image-5.png)
7. 构建完成直接启动已编译过的 Notepad-- 程序
![图片](doc/image-6.png)
8. 在打开的 Notepad-- 中可以发现插件已经加载了
![图片](doc/image-7.png)
9. 在插件源码中可以发现一级菜单直接触发时执行的内容
![图片](doc/image-8.png)
10. 插件:一级菜单和二级菜单的区别
![图片](doc/image-9.png)
11. 插件二级菜单的入口与逻辑说明
![图片](doc/image-10.png)
- 来自 Notepad-- 新插件诞生流程缩略预览
```shell
# 1. 使用源码树中的 hello-simple 插件提供的功能
# 2. 在对话框中填写你的插件名称与类名(纯英文不带空格可以直接使用插件名)
# 3. 保存(生成)到源码树目录的某个子目录下
# 4. 在编辑器中将出现一段cmake的构建说明粘贴到 src/plugin/CMakeLists.txt 中
# 5. 在 Qt Creator 中准备构建这个插件 - 勾选
# 6. 在 Qt Creator 中选中这个目标单独构建它
# 7. 构建完成直接启动已编译过的 Notepad-- 程序
# 8. 在打开的 Notepad-- 中可以发现插件已经加载了
# 9. 在插件源码中可以发现一级菜单直接触发时执行的内容
# 10. 插件:一级菜单和二级菜单的区别
# 11. 插件二级菜单的入口与逻辑说明
```
- 来自框架化构建插件的开发后记
```shell
# 1. 一开始走了好多弯路,以前疯狂用宏来定义入口与触发实现,纯 C 风格的一层操作。
# 2. 后来给它加了层 "标准Qt插件开发" 的壳,诞生出基于某种意义上的框架来实现插件。
# 3. 开发过几个插件后,发现基于框架的东西基本上都是重复的。
# 4.为了解决插件的诞生难题,为了不像用 vulkan 一样画个三角形都要写900行框架初始化代码
# 所以用生成器的概念来创造插件的基础代码。
```
### Deprecated: 被废弃的开发说明
> 当前插件开发提供一系列模板 > 当前插件开发提供一系列模板

BIN
src/plugin/doc/image-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
src/plugin/doc/image-10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

BIN
src/plugin/doc/image-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
src/plugin/doc/image-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

BIN
src/plugin/doc/image-4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
src/plugin/doc/image-5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
src/plugin/doc/image-6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
src/plugin/doc/image-7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
src/plugin/doc/image-8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

BIN
src/plugin/doc/image-9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
src/plugin/doc/image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB