gaozheng
|
46c75ed419
|
feat(ui): dd 图表策略接口 + 注册表(未注册降级)
|
2026-06-11 12:01:31 +08:00 |
gaozheng
|
facb812bca
|
feat(ui): DatasetChartView 散点/等值面/异常叠加(QGraphicsView)
|
2026-06-11 11:57:49 +08:00 |
gaozheng
|
72abeaa1d8
|
fix(ui): 修复 DynamicFormView::clear() 对嵌套布局重复释放导致的崩溃
it==it->layout()(QLayout 即 QLayoutItem),原代码 delete sub 后又 delete it 双重释放。
触发:clear 一个已填充表单时(切项目/重选对象→showMessage/setForm)崩溃。
|
2026-06-10 21:31:00 +08:00 |
gaozheng
|
d435fca32d
|
feat(ui): 属性面板改两列卡片式表单(边框/底色/分隔线,主题协调)
|
2026-06-10 21:18:12 +08:00 |
gaozheng
|
0d17a00931
|
fix(ui): 对象树项目根设为非交互容器(仅 GS/TM 可勾选/单击)
|
2026-06-10 20:58:09 +08:00 |
gaozheng
|
68296a5d36
|
feat(ui): ObjectTreePanel GS三态勾选 + objectClicked/checkedTmsChanged 合并发射
|
2026-06-10 20:50:51 +08:00 |
gaozheng
|
595d65cd3b
|
feat(ui): ObjectExceptionPanel 异常+异常体只读树(含详情展开)
|
2026-06-10 20:44:25 +08:00 |
gaozheng
|
5686155faa
|
feat(ui): DynamicFormView 动态表单分组键值渲染器
|
2026-06-10 20:36:03 +08:00 |
gaozheng
|
5f02d494dc
|
fix(theme): 复选指示器全局统一(清晰可见,规避Fusion浅底过淡) + 失焦保持选中,移除对象树本地重复样式
|
2026-06-10 17:09:09 +08:00 |
gaozheng
|
2a666663e7
|
refactor(theme): 全部项目对话框迁移令牌 + 清理委托接管后失效的列表选中/前景死代码
|
2026-06-10 17:02:03 +08:00 |
gaozheng
|
8f31f043df
|
feat(panels): 异常列表卡片化(色条+类型标签+显隐眼睛,真实数据)(规范§6.3)
|
2026-06-10 16:44:35 +08:00 |
gaozheng
|
b26dcc1ca7
|
feat(panels): 数据/文件列表卡片化(标题+元信息双行+选中竖条)(规范§6.2)
|
2026-06-10 16:40:14 +08:00 |
gaozheng
|
824e8bdf62
|
refactor(theme): 工作台内联色(对象树/数据详情工具条/停靠分隔)迁移到令牌(规范§4.2/§6.1/§6.12)
|
2026-06-10 16:27:57 +08:00 |
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
|
52bdf054a6
|
fix(list): 数据/文件/异常列表退回标准 QListWidget + 写死强选中色
根因: ElaListView 的选中底走 BasicSelectedAlpha, setThemeColor 改它对 ElaListView 不生效(自绘控件坑),
选中色无法变强。与对象树同理, 退回 Qt 原生 QListWidget:
- 3 列表 ElaListView+QStandardItemModel → QListWidget+QListWidgetItem(populate/加载更多/点击/勾选 全回退)
- applyListSelection: 本地 QSS 写死强调蓝选中(明 #C2D9F2 / 暗 #33527A + 适配文字, :!active 防失焦淡),
与对象树选中色完全一致, 100% 可控、明暗都清晰
- 行为(加载更多/数据集点击/异常勾选显隐)保持
|
2026-06-10 12:39:23 +08:00 |
gaozheng
|
66cf432a98
|
fix(theme): 选中底色统一加强(对象树+所有列表)
根因: ElaListView 的 BasicSelectedAlpha 默认是半透明灰、对比度弱; 树 QSS 选中也偏淡。
设计统一的强调蓝选中底(明 #C2D9F2 / 暗 #33527A, 强对比):
- applyBrandAccent: 设 BasicSelectedAlpha/BasicSelectedHoverAlpha 为该实色 → 所有 Ela 列表
选中底变清晰(并保留其 3px 强调色左竖条)
- 对象树: 本地 QSS item:selected 设同款蓝 + 适配文字色, :!active 防失焦变淡
|
2026-06-10 12:26:00 +08:00 |
gaozheng
|
934e25be54
|
fix(tree): 自绘清晰复选框(明暗都可见) + 选中整行连续(去碎片框)
- 多余选中框: 全局 QTreeView::item 去掉 border-radius+margin → 选中是整行连续一条, 不再浮动碎块
- light 复选框看不清: Fusion 原生复选框浅底边框过淡。writeCheckboxIcon 自绘 PNG
(未选=明显边框空心框, 选中=强调色底+白勾), 明暗各一套, 经 QTreeView::indicator QSS 引用,
主题切换重绘 → 明暗都清晰
|
2026-06-10 12:21:01 +08:00 |
gaozheng
|
cfd39e5be8
|
fix(ela): 对象树退回标准 QTreeWidget(复选框清晰) + 行内边距收紧
ElaTreeView 是 ElaWidgetTools 自绘控件(非 Qt 原生), light 下复选框对比度不足、选中渲染有局限。
- 对象树 ElaTreeView+QStandardItemModel → 标准 QTreeWidget+QTreeWidgetItem:
复选框/展开箭头由 Fusion 原生绘制, 明暗都清晰; 行为(TM 勾选/点击)不变
- 全局 QTreeView::item padding 8px→4px: 行间距过大修正
|
2026-06-10 12:00:20 +08:00 |
gaozheng
|
0867636ea4
|
feat(ela): 统一品牌强调色 + 切换器箭头修复 + 图标中性化 + 树缩进收紧
配色根因: Ela 默认主色(#0067C0亮/#4CC2FF暗)与项目品牌蓝 #2D6CB5 是两种蓝, 互相打架。
- applyBrandAccent(): 用 ElaTheme::setThemeColor 把 Primary 设成品牌蓝(亮 #2D6CB5/暗 #5E9BD6,
含 Hover/Press 三态) → 所有 Ela 原生控件选中/激活/标题栏强调 + 本项目 QSS 共用一套蓝
- 切换器图标: #2D6CB5 → setThemedGlyph 中性主题色(蓝只留给选中/激活), 与面板图标一致
- 切换器箭头: 成员 QToolButton* → ElaToolButton*, setMenu 走 Ela 重载 → Ela 自绘清晰展开箭头
(之前去掉手加的▾后没箭头, 是因为基类 setMenu 不触发自绘)
- 对象树缩进 20→14, 更紧凑
|
2026-06-10 11:05:45 +08:00 |
gaozheng
|
8e7563c0f5
|
feat(ela): 数据集/文件/异常列表 → ElaListView + QStandardItemModel
- DatasetListPanel/AnomalyListPanel: populate 签名 QListWidget*→QStandardItemModel*,
QListWidgetItem→QStandardItem(setData(value,role)/setCheckable/setIcon/setForeground)
- main.cpp: 3 列表 → ElaListView + QStandardItemModel; removeLoadMore/addLoadMore 改 model
(rowCount/item/removeRow/appendRow); itemClicked→clicked(QModelIndex);
anomaly itemChanged→model itemChanged; 加载更多/勾选显隐/点击 行为保持
- 注: 列表交互(异常显隐/加载更多/数据集点击)为活逻辑, 需运行验证
|
2026-06-10 09:48:24 +08:00 |
gaozheng
|
389a2da744
|
feat(ela): 表格→ElaTableWidget(直替) + 对象树→ElaTreeView+QStandardItemModel
- ProjectListDialog: QTableWidget → ElaTableWidget(item 版直接继承 QTableWidget, 1 行)
- ObjectTreePanel: QTreeWidget → ElaTreeView + Qt 自带 QStandardItemModel(非手写 model);
QTreeWidgetItem→QStandardItem, 勾选/点击逻辑改按 QModelIndex/itemChanged; ElaTreeView 自绘
展开折叠指示(去掉自定义 chevron QSS); 行为(TM 勾选/点击发 tmClicked/tmCheckToggled)保持
|
2026-06-10 09:40:28 +08:00 |
gaozheng
|
68d832c57b
|
fix(ela): 登录窗主题化 + VTK 背景稳健随主题 + 扫清所有硬编码浅色 QSS 遗漏
- 登录窗: setStyleSheet → applyThemedStyleSheet(整窗随主题, 品牌带文字用 white 关键字恒白);
refreshBtn/errorLabel 也随主题。修暗系统下浅窗+暗 Ela 控件割裂、占位文字看不清
- VTK: 改为主题切换时重跑 rebuildCentral/rebuildDetail(走完整渲染必重绘, 兼顾 syncSystemTheme
异步切暗时序); rebuildDetail 也按 vtkBackground 设背景
- 主动扫描修掉遗漏: dockManager 分隔条、数据集/文件列表、对象树枝/hint、空状态标题/提示 全走主题
- themed() 公共助手(给需拼接 ADS 样式的 dockManager)
|
2026-06-10 09:32:22 +08:00 |
gaozheng
|
1a9fb72cf0
|
feat(ui): impeccable 设计令牌体系 + 空状态/语义色/动效 + dock 标题修复
- typeset: Theme.hpp 新增排版令牌(type::),统一各处散落字号/字重
- layout: 间距/圆角令牌(space::/radius::),圆角 6 档→2 档,手调奇数余白对称化
- delight: 中央空状态引导浮层、上下文化加载文案、登录错误淡入
- colorize: 语义色令牌(semantic::),项目状态着色、状态栏错误染色、异常徽标警示色(休眠)
- overdrive(休眠): 详情视图相机补间+actor淡入(animateReveal),待 dd 详情渲染接通后激活
- fix(dock): restoreState 后重新隐藏 ADS 子窗口标题栏,修复已保存布局下标题栏复现
|
2026-06-09 20:26:00 +08:00 |
gaozheng
|
ee8342f4bf
|
feat(nav): ds数据/文件页签创建时间显示 + 加载更多分页(loadTmRows分页+total)
|
2026-06-09 15:29:42 +08:00 |
gaozheng
|
839e5c3487
|
feat(nav): 数据/文件页签接 data-page/file-page(按TM+classifyType拉取,文件页签展示名/大小)
|
2026-06-09 14:54:32 +08:00 |
gaozheng
|
60d46cf1db
|
fix(nav): 实测整改——项目用my/profile/queryProject、切换空间重注入token、结构按type建树(过滤DS)、下拉互斥、去重复项目根
|
2026-06-09 13:58:59 +08:00 |
gaozheng
|
601706d120
|
fix: 代码评审整改(控制器防重入 + URL 百分号编码 + 测试/注释完善)
|
2026-06-09 12:15:04 +08:00 |
gaozheng
|
c78022a6b6
|
feat(app): ObjectTreePanel 被动对象树(项目→GS→TM)
|
2026-06-09 11:52:31 +08:00 |
gaozheng
|
50c4de4019
|
feat(view): 左下数据列表 + 对象树收到测线层(对齐原型, 增量2)
- 对象树 GS→TM(测线复选, UserRole+2=tmId); DS(采集批次)移出树, 入左下「数据真实显示栏」
(QTabWidget 数据/文件; panels/DatasetListPanel)。findTm 按 tmId 查 TM。
- 中央 rebuildCentral 改遍历勾选的测线 → 渲染其 dd_section(可多条共存)。
- 树单击测线→填数据列表; 数据列表单击采集批次→loadDataset(数据详情+异常列表+属性,抽共享 lambda)。
- 启动自动选首个含 dd_section 的测线 + 首数据集(对齐原型默认载入态)。
- structure 取一次共享; app 构建干净; 待人工登录复核。
|
2026-06-08 09:33:06 +08:00 |
gaozheng
|
127e9a0b21
|
feat(view): 右上异常列表面板 + 与数据详情异常显隐联动(对齐原型, 增量1)
- panels/AnomalyListPanel(populateAnomalyList): 颜色块 + 名称(类型) + 由 location.coordinate
派生「位置 Xm·深 Ym·尺寸 Zm」; 可勾选(默认显示), UserRole 存异常下标。
- 右侧 dock 拆上下: 右上「异常列表」/ 右下「属性」(补"异常 N 个")。
- 单击数据集→重填列表(QSignalBlocker 防回灌)+ 清空隐藏集; 勾选变化→更新 hiddenAnoms
→ rebuildDetail 逐异常按下标过滤显隐(取消勾选→该异常虚线隐藏)。
- 计划落地 plans/2026-06-08-m1-prototype-layout.md(六面板对齐原型, 增量序列); STATUS §6.10 更新。
- app 构建干净; 待人工登录复核交互。
|
2026-06-08 09:24:11 +08:00 |