信号 X 按钮移至行尾并统一抬起响应,光标读数补秒单位,图例悬停高亮信号,去除筛选框内圈
1. 信号条目的「移除」X 按钮移到最右端
- 与分组行关闭 X 同尺寸(18)、同右边距(同一列)、同行内垂直居中,描边宽度也统一。
- 网格编号 GX 徽标让位到 X 左侧,二者恒在列表最右侧;名称可用宽度改按实际徽标是否显示计算,
不再白留一段空间。
2. 所有 X 关闭按钮由"按下即响应"改为"左键抬起才响应"
- 与常见的可取消按钮一致:按下只记录目标,按住后移开鼠标再松开视为放弃。
- 覆盖文件分组 X、信号 X、筛选框清空 X、标签页 X 与实验性功能面板 X。
- 筛选框的清空 X 在编辑态下走的是宿主的 EDIT_FIELD 分支(OnEditMouseDown/OnEditMouseUp),
非编辑态才走面板的按下/抬起分支,两条路径都已改造。
- 标签页 X 原先只要求"抬起时仍在同一标签内",现收紧为"仍在 X 上"。
- PlotView::OnLButtonUp 增加横坐标参数以便判定抬起位置。
3. 时间光标读数补上 s 后缀
- 新增 FormatCursorTime,标签宽度测量与文字绘制同时使用,避免文字被裁掉;
内联编辑仍使用不带单位的秒值。
4. 鼠标悬停网格图例时高亮对应信号
- 除图例条目的半高亮外,对命中信号绘制与"鼠标贴近曲线"相同的光晕,
便于确认该条目对应哪条曲线。
5. 筛选信号输入框编辑态不再出现内圈
- 把输入框绘制拆分为"底板+边框"与"仅内容"两部分;筛选框外框已自绘,
编辑态改用仅内容版本,空内容时不再套一层多余的圆角内框;
有输入时的清空 X 不受影响。
This commit is contained in:
1 parent
a1e30985b8
commit
d3c83237f1
8 files changed
+252
-72
No files matched your search
@@ -220,7 +220,7 @@ namespace jdi
|
||||
* @brief 编辑态下松开鼠标左键:结束拖拽框选。
|
||||
* @return 之前处于拖拽中返回 true。
|
||||
*/
|
||||
bool OnEditMouseUp();
|
||||
bool OnEditMouseUp(int x, int y);
|
||||
|
||||
/**
|
||||
* @brief 获取指定信号的显示外观(只读,全局共享)。
|
||||
@@ -405,10 +405,10 @@ namespace jdi
|
||||
gd::RectF SignalBadgeRect(int row) const;
|
||||
|
||||
/**
|
||||
* @brief 计算信号行左侧「移除该信号」✕ 按钮的矩形。
|
||||
* @brief 计算信号行右侧「移除该信号」✕ 按钮的矩形。
|
||||
*
|
||||
* 位置就信号行空着的折叠三角列,并与所属分组行的复选框**同一列**(左边界对齐),
|
||||
* 因此始终位于复选框前方且与其垂直对齐。
|
||||
* 位于信号条目的**最右端**,尺寸、样式与右边距与分组行的关闭 ✕ 完全一致,
|
||||
* 并与它们在同一行内垂直居中(因此视觉上垂直对齐);网格徽标会让位到它的左侧。
|
||||
*
|
||||
* @param [IN] row 行下标。
|
||||
* @return 按钮矩形;非信号行时返回空矩形。
|
||||
@@ -641,6 +641,16 @@ namespace jdi
|
||||
SignalRef m_pendingLaneRef; /**< 待弹出菜单的目标信号。 */
|
||||
bool m_pendingColorPicker = false; /**< 左键抬起时是否弹出拾色器。 */
|
||||
|
||||
/**
|
||||
* @brief 待确认的「关闭类」按钮(✕)。
|
||||
*
|
||||
* 关闭类按钮统一改为**左键抬起**时生效:按下只记录目标,抬起时若指针仍在同一个
|
||||
* ✕ 上才真正执行;按住后移开再松开视为放弃(与常见"可取消按钮"交互一致)。
|
||||
*/
|
||||
RowPart m_pendingClosePart = RowPart::NONE; /**< 待确认的 ✕ 所在行内区域(CLOSE / REMOVE_SIGNAL)。 */
|
||||
int m_pendingCloseRow = -1; /**< 待确认的 ✕ 所在行下标。 */
|
||||
bool m_pendingFilterClear = false; /**< 待确认的筛选框清空 ✕。 */
|
||||
|
||||
bool m_layoutDirty = false; /**< 是否需要重新布局。 */
|
||||
|
||||
SignalRef m_menuTargetSignal; /**< 菜单操作的目标信号。 */
|
||||
|
||||
Reference in new issue
Block a user