Commit Graph

237 Commits

Author SHA1 Message Date
gaozheng 82b654176e fix(ui): 审查修复 loadFailed接线/控制器重入守卫+ddCode降级/散点越界/点异常/Tab deleteLater/makeLines
- main.cpp: DatasetDetailController::loadFailed 连接到 statusBar,5s 显示失败消息
- DatasetDetailController: 加 busy_ 重入守卫;ddCode 非 dd_inversion_data 时直接 loadFailed 降级
- DatasetChartView::showScatter: 按 x/y/v 三者最短长度循环,防越界;加 #include <algorithm>
- DatasetChartView::rebuildAnomalyItems: 先处理 markType==1 点异常(小方块),再走原折线/多边形分支
- DatasetChartView::clearChart: 加注释说明 scene_->clear() + anomalyItems_.clear() 不变式
- DatasetDetailPanel: tabCloseRequested 改用 deleteLater,避免在事件处理期间同步析构
- ContourBands: buildContourBands 按 opt.makeLines 决定是否开 GenerateContourEdgesOn 及提取等值线
2026-06-11 12:42:04 +08:00
gaozheng 548895bdcf test(controller): DatasetDetailController chartReady/loadFailed 编排 2026-06-11 12:22:37 +08:00
gaozheng 08ba483550 feat(ui): 接线数据详情面板(移除旧VTK详情)+单击聚焦/双击打开/反向联动
- 移除旧 VTK 数据详情 dock(detailWidget/独立 renderer/工具条 原数据·网格数据·显示异常/电极/等值线)
  及 rebuildDetail lambda、共享态(currentDsId/detailMode/showAnomalies/...)与相关连接
- 清理因删除产生的孤儿:animateReveal、DetailMode、kScatterPointSize、kBarBtnQss
- 新建 DatasetDetailPanel 多 Tab 面板 dock(QGraphicsView 平面图表)
- buildWorkbench 加参 DatasetDetailController&;main() 构造 ApiDatasetRepository + DatasetDetailController
- 单击=属性表单+聚焦已开页;双击=openDataset(dsId,ddCode);chartReady→openOrUpdate;
  focusRequested→focusDataset;activeDatasetChanged→反向高亮列表
- 新增 kDsDdCodeRole(0x0104),populateDatasetList 写入 ddCode
- 保留 rebuildCentral 及中央场景、repo.loadGrid(grid1)
2026-06-11 12:18:18 +08:00
gaozheng 88d2fea9df feat(ui): DatasetDetailPanel 多Tab壳(按dsId去重+反向联动信号) 2026-06-11 12:09:38 +08:00
gaozheng b8c74962e8 feat(ui): DatasetDetailPage 原数据/网格切换+叠加开关+异常联动 2026-06-11 12:08:13 +08:00
gaozheng 535db496c4 feat(ui): AnomalyTablePanel ds级异常表(行眼睛→隐藏集信号) 2026-06-11 12:07:06 +08:00
gaozheng d61775a3bc feat(controller): DatasetDetailController 编排 + ErtInversionStrategy 标识 2026-06-11 12:04:12 +08:00
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 3192cf24cf feat(data): ApiDatasetRepository 接真实 API + loadScatterColorScale 提到接口 2026-06-11 11:52:05 +08:00
gaozheng e1bbf39d6d feat(data): DatasetChartDto 解析 inversion网格/散点/colorBar/异常 2026-06-11 11:50:08 +08:00
gaozheng 00c42f7a8d feat(render): ContourBands NaN 凸包裁剪(剔除无效quad)+等值线DP简化 2026-06-11 11:41:26 +08:00
gaozheng b7e0a2034d feat(render): ContourBands 双线性上采样+盒式平滑预处理(对齐 web 2x+smooth) 2026-06-11 11:39:05 +08:00
gaozheng f1ad490096 feat(render): ContourBands 从 VTK banded 提取色带多边形+等值线几何 2026-06-11 11:37:09 +08:00
gaozheng 179f46b42c feat(core): Grid 增 NaN 约定 + hasValue(凸包裁剪用) 2026-06-11 11:34:11 +08:00
gaozheng 467dbb3841 chore(scripts): 本地构建/测试封装(vcvars+VS cmake/ctest, build/release) 2026-06-11 11:30:52 +08:00
gaozheng 29cef952fe docs(plan): 数据集详情视图改造实现计划(TDD,7 阶段) 2026-06-11 11:16:45 +08:00
gaozheng e2c8fccbde docs(spec): 数据集详情视图改造为平面图表(QGraphicsView,源码级复刻 web)
- 详情 dock 从 VTK 渲染换为本地面板+平面图表,并真正接上数据集选择
- 散点=Plotly scattergl 方块(客户端用 QGraphicsRectItem 复刻输出)
- 网格等值面=自制 marching-squares 引擎;采用 VTK+预处理混合方案(~95%)
  上采样2x+平滑+banded+NaN凸包裁剪+等值线简化
- 真实 API:getErtRawDataScatterGraph/inversion·rows/colorGradation/queryException
- dd 类型驱动的图表策略框架,首版落地 dd_inversion_data
- 异常归属辨析:右上对象异常(地图)与详情底部异常表(图表)并存
- 复用 core::Grid/ScatterField/ColorScale/Anomaly + 现有 GridContourActor 管线
2026-06-11 10:52:05 +08:00
gaozheng 012abcf423 Merge pull request 'feat/object-selection-panels' (#4) from feat/object-selection-panels into main
Reviewed-on: https://gitea.geomative.cn/gaozheng/geopro/pulls/4
2026-06-10 21:33:30 +08:00
gaozheng b7fbb0457c 清理重复文件 2026-06-10 21:33:07 +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 3daaad3de3 fix(controller): setCheckedTms busy 时挂起重放(不丢弃) + 切项目清 currentParentId/挂起态 2026-06-10 21:22:39 +08:00
gaozheng d435fca32d feat(ui): 属性面板改两列卡片式表单(边框/底色/分隔线,主题协调) 2026-06-10 21:18:12 +08:00
gaozheng 7a56e49584 feat(ui): 接线 对象单击/勾选/数据集单击 → 三面板(移除占位) 2026-06-10 21:04:38 +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 6cf53ab199 fix(controller): 无条件清异常缓存(跨空间) + 移动语义 + 信号参数正名 2026-06-10 20:29:46 +08:00
gaozheng 8cab498f81 feat(controller): selectObject/setCheckedTms/selectDataset 编排 + 异常缓存 2026-06-10 20:22:09 +08:00
gaozheng 4621e11c73 feat(data): 仓储泛化 loadRows + 对象/数据集详情 + 按TM异常 接口实现 2026-06-10 20:15:00 +08:00
gaozheng a21d392816 feat(data): groupExceptionsByConsortium 按异常体分组 + 独立异常 2026-06-10 20:09:37 +08:00
gaozheng acf71bdaef feat(data): parseExceptions 映射异常字段 + 详情摘要 2026-06-10 20:03:28 +08:00
gaozheng 0018c11e0a feat(data): parseDynamicForm 合并动态表单字段定义与值(含排序) 2026-06-10 19:56:55 +08:00
gaozheng 37300d523e docs(plan): 对象单击/勾选驱动三面板 实现计划(TDD,10 任务) 2026-06-10 19:48:22 +08:00
gaozheng c3cedd8c2a docs(spec): 异常面板纳入异常体只读树(对象→异常体→异常+独立异常),详情展开做/眼睛推迟 2026-06-10 19:38:29 +08:00
gaozheng 8ac5f33c7f docs(spec): 对象单击/勾选驱动 数据列表·异常·属性 三面板(接真实API)设计 2026-06-10 19:27:32 +08:00
gaozheng 439737a457 Merge pull request 'refactor/pure-qt-ui' (#3) from refactor/pure-qt-ui into main
Reviewed-on: https://gitea.geomative.cn/gaozheng/geopro/pulls/3
2026-06-10 18:41:52 +08:00
gaozheng d1be0567de fix(ui): 统一图标-文字间距到6px——给切换器/页签图标加2px右内边距(Fusion内置4px+2),与面板标题(6px)一致(§6.7) 2026-06-10 18:39:49 +08:00
gaozheng 9680fefbe3 feat(topbar): 用户区按样图重做(头像竖直居中+姓名/职务两行左对齐+下拉箭头,整块可点) + 加宽下拉菜单(账户/个人资料/偏好设置/API密钥/退出登录) 2026-06-10 17:59:10 +08:00
gaozheng 3ccb8df4ed fix(ui): 修复改名导致的停靠布局丢失(bump dockState键丢弃失配旧布局) + 用户区改回QToolButton(头像图标+姓名职务一行,整块可点)修复挤成一团 2026-06-10 17:41:46 +08:00
gaozheng c953b35334 feat(topbar): 切换器下拉箭头换高清chevron(替代粗糙▾) + 用户区头像/姓名/职务同行且整块可点击 2026-06-10 17:27:37 +08:00
gaozheng 9e80b2fea1 feat(ui): 面板改名(对象/数据集/异常/数据集属性) + 原数据/网格数据改为下划线页签(与其他切换一致) + 表头图标间距对齐规范6px(§6.7) 2026-06-10 17:21:36 +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 b78969471e refactor(theme): 登录/设置迁移令牌 + 删除遗留 kDarkMap 字符串替换路径(暗色全由令牌双值驱动)(规范§13.1) 2026-06-10 16:57:10 +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 b728631477 refactor(theme): TopBar/PanelHeader 内联样式迁移到语义令牌(规范§4.3/§5) 2026-06-10 16:21:49 +08:00