refactor(controller): 拆分回调函数到模块化文件并添加字符串列表访问器

- 将 callbacks.c 拆分为多个按功能分类的文件(callbacks_basic.c、callbacks_nav.c、callbacks_search.c、callbacks_io.c、callbacks_sys.c)
- 新增 callbacks_internal.h 提供内部辅助函数声明,减少代码重复
- 在 string_ext 模块中添加 string_list_get 和 string_list_set 安全访问器函数
- 更新 CMakeLists.txt 和 ui_utils.c 以使用新的模块结构和访问器
- 重构旨在提高代码可维护性和可读性,便于后续功能扩展
This commit is contained in:
2026-04-28 21:54:47 +08:00
parent ea3d678d22
commit 7908bad1f4
11 changed files with 676 additions and 577 deletions
+22
View File
@@ -0,0 +1,22 @@
#ifndef CALLBACKS_INTERNAL_H
#define CALLBACKS_INTERNAL_H
#include <iup.h>
#include "core/app_context.h"
// 内部辅助函数声明(供各 callbacks_*.c 文件共享)
// 这些函数不对外暴露,仅在 controller 层内部使用
// 获取主对话框句柄
Ihandle *get_main_dlg(void);
// 从对话框获取应用上下文
AppContext *get_app_context_from_dlg(Ihandle *dlg);
// 获取当前活动的数据列表(根据 Tab 页切换)
StringList *get_current_raw_data(Ihandle *dlg);
// 获取当前活动的列表 UI 控件
Ihandle *get_current_list(Ihandle *dlg);
#endif // CALLBACKS_INTERNAL_H