Commit Graph

3 Commits

Author SHA1 Message Date
XplorePlane Developer 957157ae80 fix: 修复编译错误、BGA向导预览、算子重复插入及状态栏消息
## Compilation fixes
- Fix XAML namespace reference XplorePlane.Converters → XplorePlane.Helpers (EventLogView, StateDisplayView)
- Add missing using for ISampleTypeRepository / JsonSampleTypeRepository in App.xaml.cs
- Fix ILoggerService.Warn() calls using Exception as first arg instead of message string
- Serialize CncProgram to JSON when passing to MatrixLayout (expects string, not CncProgram object)
- Suppress CS8632 nullable annotation warnings project-wide

## BGA wizard fixes
- Fix preview not showing on step 3: force RefreshBgaPreview() when entering final step
- Add step validation in CanNext() to prevent skipping to preview with invalid inputs
- Notify NextCommand.CanExecuteChanged when inputs change
- Fix RunProgress runtime binding error: set Mode=OneWay for ProgressBar.Value

## Operator toolbox: prevent duplicate insertion
- Add static OperatorTarget property for direct dispatch to active pipeline
- PipelineEditorView registers as toolbox target on load (floating window only)
- CNC page sets initial target; PipelineEditorWindow resets to CNC pipeline on close
- '+' button inserts only to the active pipeline instead of broadcasting to all subscribers

## Pipeline editor status bar messages
- Add StatusBarMessageEvent / StatusBarMessagePayload to CommonEvents.cs
- PipelineEditorViewModel publishes status on all ops (add/remove/reorder/save/execute)
- MainViewModel subscribes and displays on main window bottom status bar
- Auto-clear after timeout (3s info, 5s error)

## docs
- Merge three architecture docs into consolidated XplorePlane-架构与结构说明.md
2026-07-24 15:59:16 +08:00
zhengxuan.zhang 94bfc5a705 fix(tests): 修复 SimulatedXRaySourceTests 因 VariablesConnectedEvent 未被 Mock 导致的失败
SimulatedXRaySource.ConnectVariables() 中新增的 VariablesConnectedEvent
发布未被测试的 EventAggregator Mock 覆盖,导致 GetEvent<T>() 返回 null,
触发 NullReferenceException,5 个测试全部失败。

- 补充 VariablesConnectedEvent、StatusUpdatedEvent 的 Mock 设置
- Initialize_SetsInitializedTrue 增加 VariablesConnectedEvent(true) 发布断言
- 修正 TurnOff_PublishesClosedEvent 断言逻辑:Arrange 阶段
  ConnectVariables/TurnOn 已产生一次 Closed 事件,需在 Act 前清空
  Invocations 避免误判发布次数
2026-07-15 09:57:19 +08:00
zhengxuan.zhang 43d0e7fa89 feat: 硬件虚拟化与CNC联动集成 - 运动控制/射线源模拟实现,CNC执行联动增强 2026-05-21 16:02:53 +08:00