样式区「调整」行:系数调整(二级面板输入)+ 取绝对值 + 中心反转
- 移除上一轮新增的「系数增益」输入行与「取绝对值 / 中心反转」按钮行。 - 在「样式」下方、「线宽」上方新增「调整」行,一行三个等宽按钮: 「系数调整」「取绝对值」「中心反转」(后两者即原按钮迁移至此)。 样式区固定行数回到五行(颜色 / 样式 / 调整 / 线宽 / 透明度),标签列宽回到 44(只需容纳「调整」)。 - 「系数调整」交互与"自定义颜色色块入口"一致:按下只登记,**抬起**且指针仍在同一按钮上才展开 二级面板;面板锚定在按钮下沿,内含一个数值输入框(默认 1,EditFilter::NUMBER)。 提交后面板保持打开(与网格 Y 轴上下限的菜单内联编辑一致),并把夹取后的真实值回写输入框。 - 按钮启用态规则:绘制系数 != 1 时显示为"已启用"(与其它切换按钮启用样式完全一致: accentSoft 底 + accent 描边),等于默认值 1 时为"未启用"样式。 - 系数为 1 / 非保序变换的回退逻辑、SceneContentHash / 样式快照 / 折线缓存键等绘制链路不变。 验证(离屏 harness,SW_HIDE、不动鼠标键盘屏幕): - [AL] 重构为:五行高度与行序(调整行在样式行与线宽行之间)、三按钮按序铺满且不重叠、 三个标签都完整放得下(无裁切); 「系数调整」按住不弹出 / 移开再松开取消 / 单击展开(SIGNAL_PANEL 范围、标题「系数调整」、 初始值 1、锚定在按钮下沿)→ 点击输入框进入编辑 → 键入 2.5 回车提交(面板保持打开、 输入框回显 2.5、折线缓存键携带新系数)→ 点别处关闭面板; 像素级核对按钮样式:gain=1 时填充为 cardBg,gain=2.5 时填充与"取绝对值已启用"的按钮**逐像素同色** (0xFFCFE4F3)且与未启用态不同。 - 其余用例(样式变换顺序与顶点范围、拾色器两列等高、选区放大下 GX/图例命中、标题栏内存读数) 保持不变。合计 549/549 通过;make clean && make all 零警告。
This commit is contained in:
1 parent
c3343907ec
commit
2f243dd557
2 files changed
+172
-123
No files matched your search
@@ -34,7 +34,8 @@ namespace jdi
|
||||
CMD_COLOR_BASE = 100, /**< 预设颜色基准(配合色块下标)。 */
|
||||
CMD_MODE_BASE = 200, /**< 绘制样式基准(配合下标)。 */
|
||||
CMD_LANE_BASE = 300, /**< 网格归属基准(配合下标)。 */
|
||||
CMD_LANE_NEW = 400 /**< 新建网格。 */
|
||||
CMD_LANE_NEW = 400, /**< 新建网格。 */
|
||||
CMD_GAIN_EDIT = 500, /**< 「系数调整」二级面板里的系数输入框(幂等提交)。 */
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -300,8 +301,7 @@ namespace jdi
|
||||
WIDTH = 1, /**< 线宽数值。 */
|
||||
OPACITY = 2, /**< 不透明度数值(百分比)。 */
|
||||
SIGNAL_NAME = 3, /**< 信号显示名称(列表行内)。 */
|
||||
FILE_NAME = 4, /**< 分组显示名称(列表行内)。 */
|
||||
GAIN = 5 /**< 系数增益(绘制前把采样值乘以该系数)。 */
|
||||
FILE_NAME = 4 /**< 分组显示名称(列表行内)。 */
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -340,7 +340,7 @@ namespace jdi
|
||||
OPACITY_VALUE, /**< 不透明度数值框(可点击输入)。 */
|
||||
WIDTH_SLIDER, /**< 线宽滑块。 */
|
||||
WIDTH_VALUE, /**< 线宽数值框(可点击输入)。 */
|
||||
GAIN_FIELD, /**< 系数增益输入框。 */
|
||||
GAIN_ADJUST, /**< 「系数调整」按钮(点击展开系数输入二级面板)。 */
|
||||
ABSOLUTE_TOGGLE, /**< 「取绝对值」切换按钮。 */
|
||||
INVERT_TOGGLE, /**< 「中心反转」切换按钮。 */
|
||||
TOGGLE_ALL, /**< 全部显示/隐藏按钮。 */
|
||||
@@ -493,6 +493,17 @@ namespace jdi
|
||||
*/
|
||||
bool OpenColorPickerPopup(const SignalStyle& style);
|
||||
|
||||
/**
|
||||
* @brief 打开「系数调整」的**二级面板**(一个带输入框的浮动面板,锚定在该按钮下方)。
|
||||
*
|
||||
* 与自定义颜色入口同一套交互:点击按钮 → 抬起时展开浮动面板 → 面板内的输入框可编辑
|
||||
* 绘制前乘上的系数(默认 1),回车 / 点击其它位置提交,面板保持打开(与网格 Y 轴上下限
|
||||
* 的菜单内联输入框一致)。
|
||||
*
|
||||
* @return 面板已打开返回 true。
|
||||
*/
|
||||
bool OpenGainMenu();
|
||||
|
||||
/**
|
||||
* @brief 判断当前标签页中全部信号是否均为可见状态。
|
||||
* @return 全部可见且至少有一条信号返回 true。
|
||||
@@ -596,17 +607,16 @@ namespace jdi
|
||||
|
||||
std::array<gd::RectF, 3> m_modeRects; /**< 绘制样式按钮矩形。 */
|
||||
|
||||
// 样式区固定六行:颜色 / 样式 / 线宽 / 透明度 / 系数增益 / 取绝对值与中心反转。
|
||||
// 样式区固定五行:颜色 / 样式 / 调整(系数调整·取绝对值·中心反转)/ 线宽 / 透明度。
|
||||
// 各行控件共用同一内容列宽度与左边界。
|
||||
std::array<gd::RectF, 6> m_styleRowRects; /**< 六行整体矩形(含标签列)。 */
|
||||
std::array<gd::RectF, 5> m_styleRowRects; /**< 五行整体矩形(含标签列)。 */
|
||||
|
||||
gd::RectF m_opacityTrackRect; /**< 不透明度滑块轨道矩形。 */
|
||||
gd::RectF m_opacityValueRect; /**< 不透明度数值文本矩形。 */
|
||||
gd::RectF m_widthTrackRect; /**< 线宽滑块轨道矩形。 */
|
||||
gd::RectF m_widthValueRect; /**< 线宽数值文本矩形(双击可输入)。 */
|
||||
gd::RectF m_gainFieldRect; /**< 系数增益输入框矩形。 */
|
||||
gd::RectF m_absoluteRect; /**< 「取绝对值」切换按钮矩形。 */
|
||||
gd::RectF m_invertedRect; /**< 「中心反转」切换按钮矩形。 */
|
||||
/** 「调整」行的三个等宽按钮:0 = 系数调整,1 = 取绝对值,2 = 中心反转。 */
|
||||
std::array<gd::RectF, 3> m_adjustRects;
|
||||
|
||||
std::vector<ListRow> m_rows; /**< 列表行集合(惰性缓存)。 */
|
||||
bool m_rowsDirty = true; /**< 列表行集合是否需要重建。 */
|
||||
@@ -648,6 +658,7 @@ namespace jdi
|
||||
bool m_pendingLaneMenu = false; /**< 左键抬起时是否弹出网格归属菜单。 */
|
||||
SignalRef m_pendingLaneRef; /**< 待弹出菜单的目标信号。 */
|
||||
bool m_pendingColorPicker = false; /**< 左键抬起时是否弹出拾色器。 */
|
||||
bool m_pendingGainMenu = false; /**< 左键抬起时是否弹出「系数调整」的系数输入二级面板。 */
|
||||
|
||||
/**
|
||||
* @brief 待确认的「关闭类」按钮(✕)。
|
||||
|
||||
Reference in new issue
Block a user