fix: 修正样式区对齐与线宽输入交互,分组标题改为“组X|文件名”并支持同文件重复加载
样式编辑区: - 标签列与内容列改为靠左对齐(原为整体居中),拉宽左侧面板时不再向中间偏移。 - 颜色行不再居中,与样式、透明度、线宽三行共用同一左边界与同一宽度上限 (260 逻辑像素),实测四行均为 89-413px,右侧留 93px 空白。 线宽输入: - 双击数值框后数值整体居中并高亮(外框与数值呈选中态),首次键入即整体覆盖原值, 之后显示插入符;回车确认、Esc 取消、点击其它区域确认,交互与常见登录输入框一致。 散点绘制: - 散点半径改为随线宽线性增长(0.5-10px 映射到 1.6-12px,系数 1.5), 修复此前半径被上限 4px 过早截断、线宽较大时数据点不再放大的问题。 透明度描边: - 新增统一色块绘制入口 UiDrawSwatch:按不透明度填充,且仅在不透明度低于 45% 时 补一圈描边;可见时不绘制描边。 - 预设色块、自定义色块、信号行色块与波形图例色块统一走该入口, 修复透明度过低时完全不可见的问题。 文件分组: - 分组标题改为“组X|<文件名>”,序号使用强调色;序号按当前位置连续编号, 关闭某个分组后其余分组自动重新编号。 - 移除按路径查重的限制,同一文件可多次加载并分别归入不同分组。 - 关闭分组改为“移至末位后弹出 + 收缩容量”,使该文件的时间轴与全部信号缓冲区 在本次调用内立即析构归还系统。 - 确认加载后不再依赖原始文件:读取阶段即关闭句柄并整份载入内存, 已实测删除源文件后仍可正常勾选与绘制波形。 验证:make clean && make all(Release+Debug)零错误零警告; 逐项以真实/合成鼠标与像素扫描核对以上行为。
This commit is contained in:
1 parent
dbe9b904ab
commit
cba62c8218
7 files changed
+134
-82
No files matched your search
@@ -734,15 +734,8 @@ namespace jdi
|
||||
return false;
|
||||
}
|
||||
|
||||
const int existing = m_dataSet.IndexOfFile(path);
|
||||
if (existing >= 0)
|
||||
{
|
||||
const DataFile* file = m_dataSet.FileAt(existing);
|
||||
SetStatusMessage(L"该文件已在工作区中:" + (file != nullptr ? file->fileName : path), true);
|
||||
InvalidateRect(m_hwnd, nullptr, FALSE);
|
||||
return false;
|
||||
}
|
||||
|
||||
// 同一文件允许多次加载:每次都会新建一个独立分组,各自持有独立的采样数据副本,
|
||||
// 因此后续对原始文件的修改或删除都不会影响已加载内容。
|
||||
CsvTable table;
|
||||
std::wstring error;
|
||||
if (!LoadCsvTable(path, table, error))
|
||||
@@ -767,8 +760,8 @@ namespace jdi
|
||||
const DataFile* file = m_dataSet.FileAt(fileIndex);
|
||||
if (file != nullptr)
|
||||
{
|
||||
std::wstring message = L"已加载 " + file->fileName + L"(" +
|
||||
FormatCount(static_cast<unsigned long long>(file->time.size())) +
|
||||
std::wstring message = L"已加载 组" + std::to_wstring(fileIndex + 1) + L"|" + file->fileName +
|
||||
L"(" + FormatCount(static_cast<unsigned long long>(file->time.size())) +
|
||||
L" 行采样," + std::to_wstring(file->signals.size()) +
|
||||
L" 条信号,时间列:" + file->timeColumnName + L")";
|
||||
if (!file->timeMonotonic)
|
||||
|
||||
Reference in new issue
Block a user