fix: 修复图例改名不同步、细化网格标尺并支持标签页重排与曲线实色跟随拖拽

- 图例跟随重命名:绘图区图例文本改用信号当前显示名(Title),
  左侧列表改名后网格图例立即同步。
- 标签页重排与改名:新增拖拽排序(按住标签左右拖动并显示插入指示条,
  重排后保持原激活页)与双击内联改名,新增 MoveTab 正确处理激活下标。
  修复改名后未重新布局导致标签页整条消失的问题(SetTabs 会重置标签矩形)。
  双击判定改为自行按双击时间识别,不再依赖系统 WM_LBUTTONDBLCLK。
- 信号拖拽:虚影改用原信号颜色与线宽(不再画成虚线),保持原有线段/散点样式;
  横向与纵向均自由跟随鼠标位移;拖拽首帧位移为零,虚影始终贴合在鼠标下方。
- 网格与标尺细化:时间轴与幅值轴期望刻度数提高,并在相邻主刻度之间
  补绘 5 等分细线,便于目视估读。
- 图例定位与交互:图例移到各网格左上角,与标尺数字冲突时优先显示图例
  (标尺数值主动避让);图例条目支持单击选中信号(与左侧列表联动、
  样式区随之切换目标)与双击重命名信号。
- 网格划分:合并网格后新勾选的信号不再被并入那个唯一的合并网格,
  而是自动切换为自定义划分并独占一个新网格。
- 工具栏:「每信号一格」改名为「拆分信号网格」。
- 清理:移除已无引用的 UiDrawArrowIcon 与 m_styleContentRect。
This commit is contained in:
DeepSeek V4.1 Flash committed 2026-09-30 11:02:09 +08:00
1 parent 261b8ac07d
commit 4e295a2a7d
12 files changed
+800 -109

No files matched your search

+1 -2
View File
@@ -492,9 +492,8 @@ namespace jdi
std::array<gd::RectF, 3> m_modeRects; /**< 绘制样式按钮矩形。 */
// 样式区固定四行:颜色 / 样式 / 透明度 / 线宽。各行控件共用同一内容列宽度。
// 样式区固定四行:颜色 / 样式 / 透明度 / 线宽。各行控件共用同一内容列宽度与左边界。
std::array<gd::RectF, 4> m_styleRowRects; /**< 四行整体矩形(含标签列)。 */
gd::RectF m_styleContentRect; /**< 四行共用的内容列矩形。 */
gd::RectF m_opacityTrackRect; /**< 不透明度滑块轨道矩形。 */
gd::RectF m_opacityValueRect; /**< 不透明度数值文本矩形。 */
@@ -414,9 +414,6 @@ namespace jdi
const float groupLeft = m_styleRect.X + padH;
const float contentLeft = groupLeft + labelWidth + labelGap;
m_styleContentRect = gd::RectF(contentLeft, firstTop, contentWidth,
kStyleRowCount * rowHeight + (kStyleRowCount - 1.0f) *
(kStyleRowGap * m_scale));
for (int index = 0; index < static_cast<int>(kStyleRowCount); ++index)
{
m_styleRowRects[static_cast<std::size_t>(index)] =