跳到主要内容

UI 使用指南

界面总览

ToolBank 采用多文档界面(MDI)设计,主要由以下区域组成:

主界面布局

┌─────────────────────────────────────────────────────────────┐
│ 菜单栏 │ 工具栏 │ 状态指示 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 程序编辑器 / 视图区 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 属性面板 │ 参数配置 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 日志输出 / 运行信息 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

主要功能

程序管理

功能快捷键说明
新建程序Ctrl+N创建新的程序工程
加载程序Ctrl+O打开已保存的程序
保存程序Ctrl+S保存当前程序
另存为Ctrl+Shift+S保存到新位置
关闭程序Ctrl+W关闭当前程序

程序运行

功能快捷键说明
运行一次F5执行主程序一次
重复运行F6循环执行主程序
运行当前算子F9执行光标处的算子
单步运行F10逐步执行每个算子
暂停运行Pause暂停当前运行
停止运行Esc终止运行

编辑操作

功能快捷键说明
添加算子Ctrl+T打开工具选择器
删除算子Delete删除选中的算子
复制算子Ctrl+C复制选中的算子
粘贴算子Ctrl+V粘贴剪贴板中的算子
启用/禁用Space切换算子启用状态

程序编辑器

Job 标签页

程序由多个 Job 组成,每个 Job 是一个独立的执行流程。

标签页操作

  • 标签页右键菜单
    • 钉住/取消钉住
    • 关闭标签
    • 增加 Job
    • 删除 Job
    • 重命名
    • 切换到图表/表格视图

工具列表

每个 Job 内包含有序的算子列表。

算子行结构

┌──────────────────────────────────────────────────────┐
│ ▼ │ [启用] │ 算子名称 │ 输入值 │ 输出值 │ 耗时 │ │
├──────────────────────────────────────────────────────┤
│ │ ✓ │ LoadImage │ "image.png" │ Image │ 5ms │ │
│ │ ✓ │ GaussianBlur │ Image → │ BlurImg │ 3ms │ │
│ ▼ │ ✓ │ IF (count > 0) │ count, 0, > │ - │ 1ms │ │
│ ▼ ✓ │ ├─ Job_Pass (子流程) │ │ │ │
│ │ ✓ │ SaveImage │ BlurImg │ - │ 2ms │ │
└──────────────────────────────────────────────────────┘

添加算子

  1. 点击算子列表末尾的 "+" 按钮
  2. 在工具选择器中选择算子
  3. 配置输入输出参数
  4. Enter 确认

算子参数绑定

控制流结构

IF/ELSE

┌─ IF (condition) ────────────────┐
│ │ 条件算子... │
│ ├─ THEN ─────────────────────┐ │
│ │ 真值分支算子... │ │
│ └─ ELSE ─────────────────────┐ │
│ │ 假值分支算子... │ │
│ └─ END IF │ │
└───────────────────────────────────┘

LOOP

┌─ LOOP (count, 10) ─────────────┐
│ 循环体算子... │
│ └─ END LOOP │
└──────────────────────────────────┘

工具选择器

分类浏览

┌─────────────────────────────────────┐
│ 🔍 搜索: ________________________│
├─────────────────────────────────────┤
│ 📁 图像处理 │
│ ├── GaussianBlur │
│ ├── MedianBlur │
│ ├── Threshold │
│ └── MorphologyEx │
│ 📁 区域操作 │
│ ├── FindContours │
│ ├── BoundingRect │
│ └── MinAreaRect │
│ 📁 数学运算 │
│ ├── Add │
│ ├── Subtract │
│ └── Multiply │
│ 📁 变量定义 │
│ ├── DefineInteger │
│ ├── DefineDouble │
│ └── DefineString │
│ 📁 控制流 │
│ ├── IF ... ELSE │
│ ├── LOOP │
│ └── CALL Job │
│ 📁 文件读写 │
│ ├── LoadImage │
│ └── SaveImage │
└─────────────────────────────────────┘

搜索功能

  • 支持按名称快速查找
  • 支持模糊匹配
  • 实时过滤结果

变量管理

变量类型

变量操作

操作说明
查看变量在变量面板浏览所有变量
添加变量点击 "+" 创建新变量
重命名右键变量 → 重命名
删除右键变量 → 删除
查看值双击变量查看详细值

变量绑定

算子的输入参数可以绑定:

  • 常量值:直接输入数值或字符串
  • 已有变量:引用其他算子的输出
算子A 输出: ImageVar

算子B 输入: ImageVar ← 绑定到算子A的输出

主题与外观

内置主题

主题说明
Light浅色主题
Dark深色主题
Blue蓝色主题
BlueWhite蓝白主题
DeepBlue深蓝主题

切换主题

  1. 打开 设置主题
  2. 选择喜欢的主题
  3. 界面立即更新

快捷操作

上下文菜单

在程序编辑器中右键点击:

┌──────────────────────────────┐
│ ▶ 运行到此算子 │
│ ⏸ 在算子处设置断点 │
│ ─────────────────────────── │
│ ✏️ 编辑参数 │
│ 📋 复制算子 │
│ 📌 粘贴算子 │
│ ─────────────────────────── │
│ 🔼 上移 │
│ 🔽 下移 │
│ ─────────────────────────── │
│ ❌ 删除算子 │
│ ⚙️ 属性 │
└──────────────────────────────┘

拖拽操作

  • 拖拽算子:调整执行顺序
  • 拖拽变量:绑定到算子参数
  • 跨 Job 复制:复制算子到其他 Job

状态栏

底部状态栏显示:

  • 当前程序状态(就绪/运行中/暂停)
  • 运行耗时统计
  • 已加载插件数量
  • 主题切换按钮

日志面板

日志级别

级别颜色说明
INFO白色一般信息
WARNING黄色警告信息
ERROR红色错误信息
SUCCESS绿色成功提示

日志操作

  • 清除日志:清空当前日志
  • 保存日志:导出为文件
  • 过滤:按级别过滤显示

程序保存格式

程序以 JSON 格式保存:

{
"name": "MyProgram",
"description": "示例程序",
"version": "1.0",
"jobs": [
{
"name": "Main",
"tools": [
{
"name": "LoadImage",
"category": 0,
"inputs": [
{"name": "Path", "runtimeValue": "image.png"}
],
"outputs": [
{"name": "Image", "runtimeValue": "InputImage"}
]
}
]
}
]
}