gaozheng
|
9010b20b57
|
refactor(ui): 方案A — 移除 ElaWidgetTools,统一为标准 Qt + 单一设计系统
根因: 此前 Fusion+自定义QSS+ElaWidgetTools(自绘控件) 三套样式系统并存、互相打架,
是各种丑/不一致的来源。本次彻底收敛为一套:
- 移除 ElaWidgetTools 依赖(CMake FetchContent + 链接 + spike);所有 Ela* 控件 → 标准 Qt:
ElaWindow→QMainWindow(原生标题栏)、ElaMenu/MenuBar→QMenu/QMenuBar、ElaLineEdit/ComboBox/
CheckBox/PushButton/ToolButton/Text/TableWidget→对应 Qt、ElaIconButton→QToolButton+glyph
- 主题系统: 自建 ThemeManager(替代 ElaTheme,QStyleHints 检测系统明暗、持久化、changed 信号热切)
+ 单一「浅→暗」颜色映射(kDarkMap,全 UI 唯一颜色来源) + 单份 QSS(明色基线,暗色按表替换)
- 主题: 跟随系统/浅/深(持久化, 启动应用→登录与主页统一); 字号缩放经 scaledPx 覆盖内联 chrome
- NOTICE/关于 同步去掉 ElaWidgetTools
- ctest 53/53
|
2026-06-10 14:44:59 +08:00 |
gaozheng
|
8d938dd848
|
fix(ela): P1 code review 修复
- H1: ElaWidgetTools GIT_TAG 钉到 b80eadc(可复现)
- H3: 内层 QMainWindow 以 ElaWindow 为父构造(避免无父期调色板/DPI 抖动)
- M4: spike 改 option(GEOPRO_BUILD_ELA_SPIKE) 守卫,默认不编
- 备注: ctest 53/53 通过; C2(applyTheme 顺序)为 P1 有意共存,P2 主题桥统一; H2/M1 记入 P4
|
2026-06-09 21:39:47 +08:00 |
gaozheng
|
6df2c4832c
|
chore(ela): ElaWidgetTools 评估 spike + 全面迁移计划 + 构建 TEMP 兜底
- spike/ela: 隔离 demo 验证 ElaWindow + ADS 内嵌 + QVTK + 明暗切换(Qt6.11.1/MSVC 构建通过)
- CMakeLists: FetchContent 引入 ElaWidgetTools(fork,SOURCE_SUBDIR 仅编库) + 挂 spike
- build.bat: TEMP/TMP 重定向到 D: 构建目录,规避 C: 盘满导致的 LNK1108
- docs: 全面 Ela 化迁移计划(P0-P4 + 控件映射表 + 风险登记)
|
2026-06-09 21:23:14 +08:00 |
gaozheng
|
462cfaac9d
|
feat(m1): dock 布局持久化 + 记住登录(QtKeychain) + 纵向夸张统一
- 3 dock 布局/窗口几何 QSettings 持久化(退出保存、启动恢复;ADS 按标题作键)
- 4 记住登录:FetchContent QtKeychain v0.14.0(Qt6,静态) + Credential 同步存取;登录窗加「记住登录(30天)」复选框;启动有有效 token 则免登录
- 5 Z 基准统一:kCurtainZScale(3)/kDetailYScale(1.5) 合并为单一 kVerticalExaggeration(2.0),帘面/体素/切片/剖面/地形一致
|
2026-06-09 09:42:27 +08:00 |
gaozheng
|
9337340848
|
spike(S2): ADS+QVTKOpenGLStereoWidget 浮动/重停靠不黑屏(用户实测) — 三 spike 全绿
- main.cpp: ADS CDockManager 承载 VTK 面板 + 占位面板
- CMakeLists: FetchContent 拉 ADS 对接官方 Qt; app 链 ads::qt6advanceddocking
- Phase 0 spike 报告: 门槛 PASS, 记录实机环境/结论/构建约定/色阶映射待办
|
2026-06-07 19:35:46 +08:00 |
gaozheng
|
acbc6d5b46
|
spike: 准备 S1 冒烟构建 + voxel 离线验证
- tools/validate_voxel.py: 两交叉剖面 IDW+maxDist 成体素, 切片可视化; 实证 105k 体素仅 15.9% 有约束(可信体需≥3线/3D网格)
- CMakeLists: VTK find_package 指定 COMPONENTS(VTK9 必需, 否则 VTK_LIBRARIES 空)
- vcpkg.json: 依赖按层递增, 当前仅 gtest(免 S1 被 GDAL/PROJ 拖慢)
|
2026-06-07 19:17:11 +08:00 |
gaozheng
|
c76461609a
|
build: 切换为方案②-修订(官方 MSVC Qt + 源码 VTK + vcpkg 仅非Qt依赖)
经双专家评审+实机勘验: 原装 D:\Qt\6.11.1 为 MinGW 版(MSVC 不可链), VTK 无 MSVC 预编译须源码编, VS18=14.51 链官方 Qt(v143) ABI 安全(新链旧)。
- vcpkg.json: 移除 qtbase/qttools/vtk/qtkeychain/qt-advanced-docking-system(凡依赖 Qt 者不走 vcpkg), 仅留非 Qt 依赖
- CMakeLists/CMakePresets: 官方 Qt 经 CMAKE_PREFIX_PATH, VTK 经 VTK_DIR(external/vtk-install), ADS/QtKeychain 走 FetchContent
- 设计 §11/K-8 + ENV_SETUP 改写为方案②-修订; external/ 加入 .gitignore
|
2026-06-07 18:28:30 +08:00 |
gaozheng
|
87eba2c5a3
|
scaffold: M1 工程骨架(CMake+vcpkg+分层目录+spike冒烟程序)
- 顶层 CMakeLists / CMakePresets / vcpkg.json(全 vcpkg, Qt+VTK[qt] 共用一份 Qt)
- .clang-format / .clangd / .editorconfig(AI 编码上下文基础设施, 规约 §10.1)
- src 分层目录(core/data/net/render/view/controller/app)+ 各层 README
- src/app: Qt+VTK 冒烟程序(锥体), 作 spike#1/#2 起点
- tests: gtest 冒烟 + ctest 接入
- README
|
2026-06-07 17:41:10 +08:00 |