gaozheng
|
4a1fecb149
|
fix(detail): inversion 处理类对话框视觉返工对齐原版(白化/网格化/滤波/另存)
之前用客户端 FormKit 外壳导致与原版 web modal 系统性不一致,以原版为准返工:
- 白化:550px、第2项"白化文件"、边界扩展改文本框、确认/取消顺序、标签右对齐
- 网格化:步1 500/步2 800px、网格参数/数据值设置双分组栅格、"数据值保存为"、
补恢复默认值按钮 + 间距↔点数双向联动 + 分项校验
- 滤波:900px 左树右设置双卡片、"忽略"、矩阵行列表头 + 奇偶校验
- 另存为(Inversion):标题"另存为新的网格数据"、400px、默认名"网格数据1"、确认/取消
- 工具条:异常标注/自动标注/另存为、原数据另存为 右对齐
API 端点/请求体字段未动(已 1:1)。build all + test 324/324 绿。
|
2026-06-23 11:31:14 +08:00 |
gaozheng
|
8f167b62c9
|
fix(detail): 白化 tmObjectId 经 open 链路从数据集列表透传(修模板列表为空)
白化「白化模板/模型」方式文件列表为空:原 plan A 用 getDsObjectDetail(dsId)
取 structParentId,实测该响应不含此字段。原版 web 取自数据集行所属 TM
(dsFileRow.structParentId)。
改为 plan B:tmObjectId 从 datasetsLoaded(tmObjectId) 存入树节点新角色
kDsTmObjectIdRole,双击/右键打开时读出,经 openDataset→datasetOpened 信号
→Panel→Page→DetailViewFactory→GridDataChartView 透传,openWhitening 直接用,
删除 getDsObjectDetail 懒拉。
build all(app 链接) + test 全绿,320/320。
|
2026-06-23 10:51:12 +08:00 |
gaozheng
|
ec4a7e81ef
|
feat(detail): 补全详情视图剩余交互(框选/绘形/直方图/行级可见性/富文本/白化)
继续数据集详情视图 100% 复刻,补齐上批后置/降级的 6 项。
- M2 measurement 列表行级可见性:DataTableView 载荷驱动可交互开关列
(仅 measurement 启用),行级 popconfirm → saveDisplayStatus
- M3 数据过滤直方图:新增自绘 ScatterHistogramView,分布柱 + 选区高亮 +
与 min/max 输入联动
- M14 散点框选:ScatterMarqueePicker 橡皮筋框选 + ScatterPlotItem 选中高亮,
显示/隐藏对选中子集操作
- I9 异常图上绘形:ContourDrawTool 在等值面上交互绘制 点/线/面/文字
(先弹窗填类型/名称→图上绘制→newException),坐标表保留为兜底
- I14 富文本描述:DescriptionPanel 升级富文本(粗体/斜体/下划线/字色/字号/
标题/列表) + QuillDelta 与 Quill Delta 常见格式往返(非 Quill 不可字节级1:1)
- I3 白化 tmObjectId:openWhitening 经 getDsObjectDetail 取 structParentId
修复 ScatterHistogram 命名冲突(widget 改名 ScatterHistogramView,与
ScatterDataOps 的分箱结构 struct 区分),desktop 目标恢复可链接。
抽纯函数 ChartPickGeometry/QuillDelta/buildScatterHistogram + 单测。
build app + test 全绿,318/318 通过。
|
2026-06-23 10:33:14 +08:00 |
gaozheng
|
12813bd8d0
|
feat(detail): 数据集详情视图交互复刻(measurement/inversion/grid)
对照原版 web 1:1 复刻数据集详情视图的写操作交互,补齐既有视图的全部
可交互能力。
基础设施
- 新增写操作命令仓储 IDatasetCommandRepository + ApiDatasetCommandRepository
(26 个写/查接口,端点逐字对照原版 apis),回调式异步沿用 ApiColorTemplateRepository 模式
- 写操作注入链平行 setColorTemplateRepo:main→Panel→Page→DetailViewFactory→视图,
透传 cmdRepo + dsIdGetter
- 新增共享对话框 InversionFormDialog/SaveAsDialog/ScatterFilterDialog/GridWizardDialog/
WhiteningDialog/FilterDialog/ExceptionDialog/ExceptionDetailDialog/AutoAnnotationDialog
- 纯函数 InversionFormParse/ScatterDataOps/InversionProcessOps/ContourSimplify + 单测
measurement(M1-M13):可见性持久化、数据过滤、X/Y/V轴、值类型、色阶配置、
生成视电阻率、反演运算、另存为、导出DAT、信息点选
inversion 网格(I1-I15):网格化向导、白化、滤波、等值线提示、简化容差(真生效)、
异常增删改查+定位、自动标注、描述保存、另存为
inversion 原数据(O1-O3) + grid 反演(G1,functionList 驱动)
后置/降级(台账 §6.4):M14框选、M2行级可见性、M3过滤直方图、I9图上绘形、
I14富文本(Qt无Quill)、I3白化tmObjectId透传
测试 285/285 通过
|
2026-06-23 09:21:37 +08:00 |
gaozheng
|
5e60446210
|
feat(vtk): 色阶编辑器(2D/3D共享)+模板库后端+剖面着色修正+二维数据集足迹
本会话主要交付:
- 色阶配置对话框 1:1 复刻原版(colorLevel/contourLevel/contourLine/colorEditor + colorUtils):
左三列⚙表格(层级/线形/颜色) + 层级⚙/线形⚙/颜色⚙ 子对话框 + 连续渐变(直方图/读出/min-max/反转)
+ .lvl/.clr 导入导出;文案/校验对齐原版精确 i18n。
- lvl/clr 模板库接真实后端:IColorTemplateRepository + ApiColorTemplateRepository,
另存/打开/新建色阶/配色方案下拉 经仓储注入 2D(GridDataChartView)与 3D(主对话框)。
- 剖面帘面着色对齐原版 threeContour.js getTerrainColor:上界 stop 取色 + 满 RGB,
修正"色带整体下移一格 / 发浅发灰 / 丢 alpha"导致与原版差异大的问题。
- 二维数据集视图首切片:勾选轨迹类数据集 → 足迹平铺进 View3D 地图
(Api3dRepository::loadMapLine 走 dd/ert/trajectory/line + MapLineActor + col2D 接线),
view2DMode 控摆放高度,顶/底锚真实地表高程(zRefElev)。
- 测试 252 全绿。
并含本分支前序未提交的 UI 工作(ToastOverlay/TopBar/Theme/DynamicForm/若干 panel),
经 CMakeLists/main.cpp 纠缠,随此 checkpoint 一并提交。未纳入未跟踪的 png/yml 及审查报告 txt。
|
2026-06-22 12:48:45 +08:00 |
gaozheng
|
2cf2b6aaa7
|
feat(dataset-detail): dd_grid 白化数据列表 + 引擎服务端分页(vxe-pager)
⑤ dd_grid 详情:单「列表」页签,序号/x/y 三列(均居中),服务端分页。
按原版(vxe-table)实测复刻:序号列前插、按页偏移自增;total 取 data.total;
分页器对齐 vxe-pager(上一页/页码…/下一页 + 前往N页 + 每页条数 50/100/500/1000 默认50 + 共N条记录)。
引擎新增分页能力(通用,后续分页型详情复用):
- TablePayload 加 pageNo/pageSize(>0 才渲染分页器;0=全量列表,measurement/trajectory 不受影响)
- GridDto.parseGridTable 复用通用 parseGridHeaderTable,前插序号列 + 回填分页态
- 仓储 loadAsync 增 pageNo/pageSize 透传,新增 grid.rows 加载器(端点 dd/ert/grid/rows,默认50条/页)
- 控制器新增 loadTabPaged(保留 3 参 loadTab 以维持 tabNeeded 连接)
- TablePager 分页器组件 + DataTableView 按 pageSize>0 显隐并转发 pageRequested
→ DatasetDetailPage/Panel.tabPageNeeded → Controller.loadTabPaged 反向链路
- GridStrategy(dd_grid 单分页页签) 注册入 main
测试:test_grid_dto(序号偏移/total/分页态/空数据) + grid.rows 分派 + GridStrategy 注册
+ 控制器 loadTabPaged 透传/默认页参;154/154 通过。
ABI 关键头(DetailPayloads.hpp)变更后全量重编 geopro 代码并验 obj 新鲜度。
|
2026-06-13 17:27:39 +08:00 |
gaozheng
|
b033dc2a2c
|
feat(dataset-detail): dd_trajectory_data 轨迹详情(地图+列表+高程)
在按类型渲染引擎上落地轨迹三页签,新增 LineProfile + WebMap 两个视图 kind。
- 地图(TrajectoryMapView:QWebEngineView + 本地 MapLibre GL JS 4.7.1):
WebGL 引擎,天地图栅格 WMTS 底图(街道 vec_w+cva_w / 卫星 img_w+cia_w,token,
t0-t7 子域,逐层 maxzoom);over-zoom 上采样平滑;街道/卫星图层切换 + 回到当前
位置定位按钮;实心橙点(#ff8c00 白环)+ 连线 + 起点标;经纬度取自
trajectory/line?frontCrsCode=EPSG:4326(服务端转 WGS84);runJavaScript 喂点(无 WebChannel)
- 高程(LineChartView:QwtPlot + QwtPlotCurve):X=电极号 #1..#40,Y=高程,
数据空间预算样条平滑(非 Fitted,避免像素重拟合漂移);hover 用 QwtWidgetOverlay
画虚线参考线+实心点(叠加层不 replot 主图→曲线零漂移)+ 自定义浮动框(#编号/●高程(m) 值)
- 列表:复用通用 DataTableView + 通用 gridHeaderDisplay→TablePayload 解析(14 列)
- LinePayload/MapPayload(DetailPayloads.hpp 加性);TrajectoryDto;TrajectoryStrategy
(地图/WebMap+列表/Table+高程/LineProfile);ApiDatasetRepository loaderKey
traj.map/traj.rows/traj.elev;DetailViewFactory LineProfile/WebMap;main 注册
- 构建:geopro_desktop 链接 Qt6::WebEngineWidgets/WebEngineQuick;main 加
QtWebEngineQuick::initialize()+AA_ShareOpenGLContexts;CMake 部署 WebEngine 运行时
测试 143→148 全绿。夹具 tests/fixtures/dd/ert-trajectory-{rows,line}.json。
|
2026-06-13 16:36:28 +08:00 |
gaozheng
|
bc5613f0d2
|
feat(dataset-detail): dd_ert_measurement_gr_data 接地电阻柱状图详情
在按类型渲染引擎上新增 Bar 视图 kind。
- 柱状图(BarChartView:QwtPlotBarChart 单系列 / QwtPlotMultiBarChart 分组):
X=电极点 #1..#40(electrodeId),Y=电阻(欧姆)=p1Rg,单系列 P1 实心 #5470c6
(任一行 p2Rg 非空时加分组系列 P2);Y 轴标题「电阻(单位:欧姆)」横排左上、
X 轴标题「电极点」、图例 P1;主题跟随;析构 clearSeries 防悬垂
- 列表:复用通用 DataTableView,固定 7 列(ID/日期/时间/P1 Rg(Ω)/P1状态/
P2 Rg(Ω)/P2状态)
- BarPayload(DetailPayloads.hpp 加性);GrMeasurementDto(parseGrBar/parseGrTable,
响应为 JSON 数组,p1/p2 isDouble 守卫);GrMeasurementStrategy(柱状图/Bar+列表/Table);
ApiDatasetRepository loaderKey gr.bar/gr.rows(同一端点不同解析);
DetailViewFactory Bar case;main 注册
测试 138→143 全绿。夹具 tests/fixtures/dd/ert-gr-rows.json。
|
2026-06-13 11:46:47 +08:00 |
gaozheng
|
a00aeb9a56
|
feat(dataset-detail): 按类型渲染引擎 + inversion 迁移 + dd_ert_measurement_data 详情
将数据集详情从硬编码 ERT 反演重构为通用「ddCode→页签→视图kind」渲染引擎,
把已验收的 dd_inversion_data 迁入新引擎(渲染零变化),并在引擎上实现
dd_ert_measurement_data(ERT原始数据)详情。
引擎:
- 策略声明页签:IDatasetChartStrategy::tabs()→vector<TabSpec{title,ViewKind,
loaderKey,lazy}> 取代 hasGridPhase();控制器通用化(datasetOpened/loadTab/
tabReady),按页签槽位保留 abort-and-replace + 句柄身份比对 + deleteLater 三件套
- 单一异步句柄 DetailLoad/ApiDetailLoad(QVariant 载荷),仓储 loadAsync(loaderKey,
dsId) 扁平分派;删 ChartLoad/GridLoad/loadChartAsync/loadGridAsync/DatasetLoads.hpp
- 视图 IDetailView{widget,setPayload(QVariant)} + DetailViewFactory 按 ViewKind 实例化;
载荷 Scatter/Contour/TablePayload(core/model/detail/DetailPayloads.hpp)
- Page 按 TabSpec 建页签 + 通用 lazy;inversion 散点/网格迁入,渲染代码未改
dd_ert_measurement_data(③散点伪剖面 + 列表):
- 散点复用 RawDataChartView/ScatterPlotItem:x=斜距/y=伪深度(负向)/色=视电阻率,
连续 cauto(含负离群值),colorBar 取自 colorGradation businessCode=R0&type=3(混合
hex+rgba/AlphaScale::Unit);电极灰菱形(#BEBEBE实心+白描边 size16);A/B/M/N 与电极
浮动 hover;数据点尺寸对齐原版 12px;色阶底部横向(与反演一致)
- 通用 DataTableView(gridHeaderDisplay/filedList+rowList,均衡等宽列+居中+隐藏/显示
开关列);MeasurementDto 解析(散点位置数组 + vmap 摊平)
- 工具条视觉 1:1(信息/框选/显示/隐藏/数据过滤/x·y·v·计算方法下拉/色阶配置/生成视电阻
率/反演运算/另存为);显示隐藏+x/y 下拉轻交互,其余占位
测试 75→138 全绿。Phase0 真实响应夹具 tests/fixtures/dd/*。
|
2026-06-13 10:51:24 +08:00 |
gaozheng
|
10072eb4b3
|
feat(dataset-detail+app): 数据集树/按根分页 + 暗色主题保真 + 详情图保真 + 桌面日志崩溃捕获
本分支累积的数据集详情与桌面端健壮性工作(多轮迭代,已逐项实测/用户验收),一次性提交。
数据集列表树化 + 按根分页:
- 原版数据列表为 el-table 树(派生数据按 sourceShowParentId 挂源「原始数据」下);
DsRow 加 parentId,parseDsRows 解析 sourceShowParentId(回退 parentId),
DatasetListPanel 由 QListWidget 改建 QTreeWidget(卡片委托泛化到 QAbstractItemView)。
- 后端 data/page 按扁平 DS 分页 → 改为客户端按「第一层节点(根)」分页:
loadRowsAsync 加 pageSize,selectObject 一次取全,新增 emitNextDataRootPage 按根切页(5根/页),
loadMoreData 改同步切页;main.cpp 加载更多计数改按根。
暗色主题保真(浅色保持与原版 1:1,仅暗色改 token):
- 新增 ChartTheme::applyChartPlotTheme:按 isDarkTheme() 设 QwtPlot 画布/轴字/网格/零线配色,连 ThemeManager::changed 热切换。
- ColorBarWidget、LoadingOverlay 底色/蒙板/文字同步跟随主题。
详情图渲染保真:
- colorBar alpha 标度修复(混合 hex+rgba 格式,rgba alpha 为 0–1,Bit255→Unit)。
- 散点 cauto 归一化(ColorMapService.setDataRange 解耦色阶形状与数据归一化)。
- 散点 hover 提示(ScatterHoverTip,X/Y/值 3 位小数,canvas mouseTracking)。
- 详情页签用数据名命名。
桌面端日志 + 崩溃捕获:
- Logging:滚动日志 + MiniDump 崩溃捕获 + VEH 抛点符号化;main.cpp GuardedApplication::notify 顶层异常护栏。
- 根 CMakeLists Release 产出 PDB(/Zi /DEBUG);ColorMapService NaN/Inf 守卫。
测试 116→122 全绿(+ParseDsRowsParentIdForTree / DataPaginatesByRootNodeNotFlatCount / 散点/colormap 回归)。
|
2026-06-12 19:00:32 +08:00 |
gaozheng
|
0cb0ed8aa0
|
refactor(detail): 控制器按 ddCode 走 ChartStrategyRegistry 分派, 未注册优雅降级 (替代硬编码 dd_inversion_data)
- IDatasetChartStrategy + ChartStrategyRegistry 下移到控制器层 (src/controller, namespace geopro::controller), 删 app 层那份, 修层级倒置 (控制器不得依赖 app)
- 接口加 hasGridPhase(); ErtInversionStrategy 留 app 层, 改继承 controller 接口, hasGridPhase()=true
- DatasetDetailController 构造注入 ChartStrategyRegistry&; openDataset 用 registry.supports 降级; loadGridData 用 strategy->hasGridPhase 判定
- main.cpp 构造 registry 注册 ErtInversionStrategy 并注入 (registry 先于 detailCtrl 声明)
- 测试: registry 加 hasGridPhase 断言; 控制器加空注册表降级 + 无网格阶段跳过网格加载用例; 全量 109/109 绿 (基线 106)
|
2026-06-12 08:14:19 +08:00 |
gaozheng
|
78f96dbc08
|
fix(review): 修 cpp-review HIGH/MEDIUM —散点ys越界/colorSvc析构泄漏/QwtPlot autoDelete注释/控制器catch(...)防busy死锁 + 清死代码simplifyInPlace/simplifyTol + 填充等比限幅 + DTO行数校验+枚举钳制 + ContourLine.level默认NaN
|
2026-06-11 18:59:19 +08:00 |
gaozheng
|
57c14ae8b4
|
fix(ui): 等值线每条只标注一个(弧长中点),对齐原版(移除周期重复标注)
|
2026-06-11 18:36:22 +08:00 |
gaozheng
|
48d21b82e9
|
fix(ui): 等值线 vtkSplineFilter 样条平滑(去DP简化,贴近原版圆滑曲线) + 标注沿线周期重复+降阈值(小等值线也标注)
|
2026-06-11 18:33:12 +08:00 |
gaozheng
|
4fbab033f0
|
fix(ui): 等值线用vtkStripper连成长折线(使沿线数值标注可落上) + 网格页(图+异常)分割器放入页签内QScrollArea(滚动限页签内) + 等值线测试
|
2026-06-11 18:21:52 +08:00 |
gaozheng
|
03a6622dea
|
fix(ui): 滚轮缩放并入LivePanner并消费事件(不再触发外层滚动条) + 网格页底部改QSplitter(去固定200px,两页高度解耦/不溢出)
|
2026-06-11 17:22:39 +08:00 |
gaozheng
|
f14902cdd4
|
feat(ui): GridDataChartView 接入 QwtPlot+ContourPlotItem(真实比尺,白底,色阶条)
plotArea 占位换 QwtPlot(仿 RawDataChartView: 白底浅 palette, x 轴 xBottom/y 轴 yLeft,
LivePanner 实时平移, Magnifier setWheelFactor(1/0.9), QwtPlotRescaler ref=xBottom
aspect=1 真实比尺; 网格线/过原点零线省去, 被填充覆盖)。色阶占位换 ColorBarWidget。
setGridData: 建 ColorMapService(gridScale) + ContourPlotItem.setData → attach,
按数据 bbox setAxisScale + rescale + replot, 更新色阶条与底部异常表。
工具条「显示异常/显示等值线标注」复选框 → 切 ContourPlotItem 开关并 replot。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-11 17:00:36 +08:00 |
gaozheng
|
32e0aaec28
|
feat(ui): ContourPlotItem 网格填充栅格热力图 + 矢量等值线/标注/异常叠加
QwtPlotItem(非 Q_OBJECT)。填充用预渲染 ARGB32 QImage(每格细分 K=4,
双线性插值, 离散色带取色 → 平滑填充带边界; 含 NaN 格的像素透明 → 不规则白边),
draw 时按数据 bbox 映射目标矩形 blit + SmoothPixmapTransform(拖动/缩放快)。
等值线复用 buildContourBands 的 lines(矢量), 黑 cosmetic 细线;
level 由线上代表点采网格值吸附最近色阶级回填(管线恒 0), 沿线方向旋转标注(字号10)。
异常按 markType 画 点(方块)/线(折线)/面(闭合多边形), lineColor + dashed->虚线。
x 轴绑 xBottom, y 轴绑 yLeft。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-11 17:00:22 +08:00 |
gaozheng
|
1054c227e1
|
perf/fix(ui): 详情懒加载(双击只拉散点~0.8s,网格4s推迟) + 实时拖动平移(LivePanner替换像素抓取) + 横纵网格线
|
2026-06-11 16:33:35 +08:00 |
gaozheng
|
525c123211
|
feat(ui): 原数据散点锁定 x:y 真实比尺(QwtPlotRescaler aspect=1, Expanding)
|
2026-06-11 16:14:37 +08:00 |
gaozheng
|
cf47314500
|
fix(ui): 散点 滚轮缩放方向反转(上滚=放大)+放开最小宽度(随面板收缩) + 色阶条居中74%宽(非满宽,对齐原版)
|
2026-06-11 16:09:00 +08:00 |
gaozheng
|
1f28505227
|
fix(ui): 原数据散点 白底+散点项关联xTop轴(修x压缩)+过原点零线 + 色阶条等宽色带/深色文字/白底
|
2026-06-11 15:55:32 +08:00 |
gaozheng
|
e405fc1565
|
feat(ui): 原数据散点视图(QwtPlot x顶轴+Panner/Magnifier+连续色阶+方块散点+独立色阶条)
- ColorBarWidget:独立 QWidget 色阶条,水平离散色带 + 断点刻度,固定高 36px,
作为 QwtPlot 兄弟 widget 布局在图表下方,不进 Qwt 坐标系(不随缩放移动)。
- ScatterPlotItem:QwtPlotItem 子类,每点画固定 7px 方块(kHalfSide=3.5px),
白色描边(1px),颜色由 ColorMapService::colorAtContinuous 连续插值决定。
- RawDataChartView:plotArea 换成 QwtPlot,x 轴顶部(xTop)、关闭 xBottom、yLeft 正常;
QwtPlotPanner(左键拖动平移)+ QwtPlotMagnifier(滚轮缩放);
setData 时重建 ColorMapService + ScatterPlotItem,按数据包围盒设轴范围;
独立色阶条随 setData 更新。
|
2026-06-11 15:40:43 +08:00 |
gaozheng
|
c7fec86d3b
|
feat(core+chart): ColorScale::stops() 暴露断点 + ColorMapService 连续插值色阶服务
- core::ColorScale 新增 stops() 方法,返回升序 (value, Rgba) 断点列表,供连续插值用。
- app::ColorMapService:从 ColorScale 构建,支持 normalized()/colorAtContinuous()/colorAtDiscrete();
连续模式在归一化断点位置间线性插值 RGB,与原版 Plotly colorscale 一致。
- cmake/qwt.cmake 补加 QWT_MOC_INCLUDE=1,修复 Qwt AUTOMOC self-include 宏保护缺失导致
Q_OBJECT MOC 代码不编入 .obj 的链接错误(LNK2019 x61 系列)。
- 新增 TDD 测试 ColorMapService.*(4 个用例,全绿)。
|
2026-06-11 15:40:27 +08:00 |
gaozheng
|
7808b8422a
|
feat(ui): 数据集详情三层UI骨架(下划线页签+原数据/网格各自工具条+网格页底部异常列表/描述)
- 新建 DescriptionPanel:只读 QTextEdit,供网格数据底部「描述」页签使用
- 新建 RawDataChartView:工具条(网格/色阶配置/图形类型ComboBox/另存为) + 图表占位(stretch) + 色阶占位(36px)
- 新建 GridDataChartView:工具条(网格/色阶配置/白化/滤波/显示开关/简化容差滑块/异常标注/自动标注/另存为) + 图表占位(stretch) + 色阶占位(36px) + 底部200px双页签(异常列表/描述)
- 重写 DatasetDetailPage:用 buildTabbedPanel 做「原数据/网格数据」下划线页签 + 右侧「导出」HeaderAction
- 删除 DatasetChartView(已被 RawDataChartView/GridDataChartView 替代)
- CMakeLists:注册新 .cpp,移除 DatasetChartView,条件链接 qwt 目标
|
2026-06-11 15:04:34 +08:00 |
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
|
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 |