docs: 添加 Axis Innovators Box 框架完整 API 文档
- 新增浏览器模块技术文档,涵盖 BrowserCore、BrowserWindow 等核心组件 - 添加事件系统文档,包括 EventBus、GlobalEventBus 及各类事件定义 - 创建 LanguageManager 国际化管理器详细说明文档 - 新增 Log4j2OutputStream 标准输出重定向类文档 - 添加 Main 入口类启动流程与路由机制说明 - 创建 BrowserCreationCallback 回调接口使用指南 - 完善 AxisInnovatorsBox 主类架构与崩溃诊断系统文档
This commit is contained in:
85
api-documentation/register/RegistrationSettingsItem.md
Normal file
85
api-documentation/register/RegistrationSettingsItem.md
Normal file
@@ -0,0 +1,85 @@
|
||||
这是一个专门为 `com.axis.innovators.box.register.RegistrationSettingsItem` 类编写的技术介绍文档。
|
||||
|
||||
---
|
||||
|
||||
# RegistrationSettingsItem 类技术文档
|
||||
|
||||
**包路径:** `com.axis.innovators.box.register.RegistrationSettingsItem`
|
||||
**继承关系:** `com.axis.innovators.box.window.WindowsJDialog`
|
||||
**主要功能:** 设置中心控制器、设置项注册引擎、应用配置管理
|
||||
**作者:** tzdwindows 7
|
||||
|
||||
## 1. 概述
|
||||
|
||||
`RegistrationSettingsItem` 是 **Axis Innovators Box** 的配置核心。它既是一个用于展示设置界面的对话框组件,也是一个全局的设置项注册仓库。它允许主程序和外部插件动态地将自定义的设置面板(JPanel)插入到统一的“设置中心”内。
|
||||
|
||||
此外,该类还负责处理应用的外观(主题、字体、背景图片)、性能(CUDA 加速)和国际化(语言)的持久化逻辑。
|
||||
|
||||
## 2. 核心职责
|
||||
|
||||
### 2.1 设置项注册 (Registration)
|
||||
提供标准的 API,允许不同模块注册设置页面:
|
||||
* **内置页面:** 自动初始化“常规设置”、“插件管理”、“主题选择”和“关于我们”四个核心面板。
|
||||
* **插件扩展:** 插件可以通过 `addSettings()` 方法将自己的配置界面无缝集成到主设置窗口中。
|
||||
|
||||
### 2.2 环境外观管理
|
||||
* **主题切换:** 与 `RegistrationTopic` 配合,实现 LookAndFeel 的动态切换与搜索。
|
||||
* **字体定制:** 全局修改 UI 字体,包括字体家族和大小。
|
||||
* **背景特效:** 支持设置主窗口背景图片,并提供实时的**高斯模糊/毛玻璃**特效预览与应用。
|
||||
|
||||
### 2.3 配置持久化
|
||||
使用 `StateManager`(关联文件 `app_settings`)将用户的个性化选择保存到磁盘:
|
||||
* `theme.color`: 界面主题主色调。
|
||||
* `ui.font`: 用户选择的字体。
|
||||
* `background.path` & `background.blur`: 背景图片路径及其模糊程度。
|
||||
* `ui.language`: 选定的语言环境。
|
||||
* `ai.cuda.enabled`: AI 推理的 CUDA 加速开关。
|
||||
|
||||
## 3. 关键功能模块解析
|
||||
|
||||
### 3.1 动态背景模糊系统
|
||||
该类内置了复杂的图像处理算法用于背景预览:
|
||||
* **`applyFastBlur`**: 快速盒式模糊,适用于小半径预览。
|
||||
* **`applyScaledBlur`**: 缩放模糊算法,通过降低采样率再放大的方式,在大半径模糊下保持极高的性能。
|
||||
* **`applyGaussianBlur`**: 标准高斯模糊,通过一维卷积核两次传递(水平+垂直)实现高质量效果。
|
||||
|
||||
### 3.2 插件管理面板 (`createPluginSettingsPanel`)
|
||||
实时统计并展示系统中已加载的所有插件信息:
|
||||
* 区分 **Java 插件** 和 **Python 插件**。
|
||||
* 支持双击查看详细信息,包括插件图标、物理位置(JAR 路径)、主类名及转换器信息。
|
||||
|
||||
### 3.3 全局应用逻辑 (`applyAllSettings`)
|
||||
这是一个静态方法,通常在 `AxisInnovatorsBox` 启动时调用。它会按顺序读取 `StateManager` 中的所有记录,并一次性应用到当前 JVM 环境中,确保用户每次打开应用时都能获得一致的体验。
|
||||
|
||||
## 4. API 接口说明
|
||||
|
||||
### 4.1 注册设置项
|
||||
|
||||
```java
|
||||
public void addSettings(JPanel panel, String title, Icon icon, String tip, String registeredName)
|
||||
```
|
||||
* `panel`: 要显示的设置 UI 面板。
|
||||
* `title`: 侧边栏或标签页显示的标题。
|
||||
* `registeredName`: 唯一标识符(建议格式 `pluginId:itemName`)。
|
||||
|
||||
### 4.2 设置项管理
|
||||
|
||||
| 方法 | 描述 |
|
||||
| :--- | :--- |
|
||||
| `static void overloading()` | 重新初始化设置列表,常用于切换语言后刷新 UI 文本。 |
|
||||
| `static void applyAllSettings()` | 从磁盘加载并应用所有已保存的配置。 |
|
||||
| `void registration(JTabbedPane tp)` | 将所有已注册的设置项填充到指定的选项卡组件中。 |
|
||||
|
||||
## 5. 交互特性
|
||||
|
||||
1. **主题搜索:** 在主题面板按 `Ctrl + F` 可调出搜索栏,快速定位已安装的主题。
|
||||
2. **实时预览:** 调整模糊滑块或选择颜色时,设置界面内的预览组件会立即更新。
|
||||
3. **热重载:** 切换主题或语言后,会触发 `AxisInnovatorsBox.getMain().reloadAllWindow()`,无需重启即可看到全局变化。
|
||||
|
||||
## 6. 设计细节
|
||||
|
||||
* **隔离性:** 使用 `UUID` 内部管理设置项,确保即使注册名相似也不会发生引用冲突。
|
||||
* **健壮性:** 在加载背景图片或字体时,会自动检查物理文件是否存在及字体在当前系统中是否可用,防止因配置损坏导致启动崩溃。
|
||||
|
||||
---
|
||||
*文档生成时间: 2026-01-02*
|
||||
Reference in New Issue
Block a user