fix: 修正滑块填充残留、数值内联输入与信号/分组重命名,拖拽虚影跟随鼠标
- 滑块最小值时不再有超出圆钮的填充残留,三处滑块统一为共享实现 - 透明度/RGB/色号支持点击或双击直接输入,整段高亮、首次键入替换、回车提交、Ctrl+C 复制 - 双击信号行或分组名进入重命名编辑;分组竖线改为绘制而非字符 - 拖拽信号时曲线虚影跟随鼠标纵向位移 - 数据层新增展示名覆盖,面板改为持有可写数据集合
This commit is contained in:
1 parent
542aa51e40
commit
261b8ac07d
13 files changed
+1074
-274
No files matched your search
@@ -85,13 +85,20 @@ namespace jdi
|
||||
*/
|
||||
struct SignalData
|
||||
{
|
||||
std::wstring name; /**< 显示名称(已剥离 "[n]" 序号前缀)。 */
|
||||
std::wstring name; /**< 名称(取自文件列名,完全保留原样)。 */
|
||||
std::wstring displayName; /**< 用户重命名的显示名;为空时使用 name。 */
|
||||
std::wstring rawHeader; /**< 原始列名。 */
|
||||
std::wstring unit; /**< 从列名括号中提取的单位,可能为空。 */
|
||||
std::vector<double> values; /**< 采样值,缺失处为 NaN。 */
|
||||
double minValue = 0.0; /**< 有限采样值最小值。 */
|
||||
double maxValue = 0.0; /**< 有限采样值最大值。 */
|
||||
std::size_t finiteCount = 0; /**< 有限采样点数量。 */
|
||||
|
||||
/**
|
||||
* @brief 获取用于界面展示的名称。
|
||||
* @return 用户重命名后的显示名,未重命名时返回文件中的原始名称。
|
||||
*/
|
||||
const std::wstring& Title() const { return displayName.empty() ? name : displayName; }
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -99,14 +106,21 @@ namespace jdi
|
||||
*/
|
||||
struct DataFile
|
||||
{
|
||||
std::wstring filePath; /**< 文件完整路径。 */
|
||||
std::wstring filePath; /**< 文件完整路径(仅用于状态提示)。 */
|
||||
std::wstring fileName; /**< 文件名称。 */
|
||||
std::wstring displayName; /**< 用户重命名的分组名;为空时使用 fileName。 */
|
||||
std::wstring timeColumnName; /**< 时间列列名。 */
|
||||
std::vector<double> time; /**< 时间轴数值。 */
|
||||
std::vector<SignalData> signals; /**< 该文件包含的信号。 */
|
||||
double minTime = 0.0; /**< 时间轴最小值。 */
|
||||
double maxTime = 0.0; /**< 时间轴最大值。 */
|
||||
bool timeMonotonic = true; /**< 时间轴是否单调不减。 */
|
||||
|
||||
/**
|
||||
* @brief 获取用于界面展示的分组名。
|
||||
* @return 用户重命名后的显示名,未重命名时返回文件名。
|
||||
*/
|
||||
const std::wstring& Title() const { return displayName.empty() ? fileName : displayName; }
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -168,6 +182,23 @@ namespace jdi
|
||||
*/
|
||||
const DataFile* FileAt(int fileIndex) const;
|
||||
|
||||
/**
|
||||
* @brief 修改某个信号在界面上的显示名称。
|
||||
* @param [IN] fileIndex 文件下标。
|
||||
* @param [IN] signalIndex 文件内信号下标。
|
||||
* @param [IN] name 新的显示名;传入空串表示恢复使用原始列名。
|
||||
* @return 修改成功返回 true。
|
||||
*/
|
||||
bool SetSignalDisplayName(int fileIndex, int signalIndex, const std::wstring& name);
|
||||
|
||||
/**
|
||||
* @brief 修改某个文件分组的显示名称。
|
||||
* @param [IN] fileIndex 文件下标。
|
||||
* @param [IN] name 新的分组名;传入空串表示恢复使用文件名。
|
||||
* @return 修改成功返回 true。
|
||||
*/
|
||||
bool SetFileDisplayName(int fileIndex, const std::wstring& name);
|
||||
|
||||
/**
|
||||
* @brief 解析信号引用。
|
||||
* @param [IN] ref 信号引用。
|
||||
|
||||
Reference in new issue
Block a user