init
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
---
|
||||
source_files:
|
||||
- DTS Viewer/DTS.Viewer.Modules/DTS.Viewer.Graph/View/GraphView.xaml.cs
|
||||
- DTS Viewer/DTS.Viewer.Modules/DTS.Viewer.Graph/View/TestDataView.xaml.cs
|
||||
- DTS Viewer/DTS.Viewer.Modules/DTS.Viewer.Graph/View/TestDataSeriesView.xaml.cs
|
||||
generated_at: "2026-04-17T15:54:31.440283+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "00811c8a21090fcd"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Viewer.Graph Views
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module provides WPF view components for graph and chart visualization within the DTS Viewer application. It contains three partial classes—`GraphView`, `TestDataView`, and `TestDataSeriesView`—that serve as code-behind files for their respective XAML views. These views implement interfaces from `DTS.Common.Interface` and provide chart rendering, user interaction handling, and export functionality (PDF and CSV) for test data series visualization.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### GraphView
|
||||
**Signature:** `public partial class GraphView : IGraphView`
|
||||
|
||||
- **`GraphView()`** - Constructor. Calls `InitializeComponent()` to load the XAML-defined UI.
|
||||
|
||||
---
|
||||
|
||||
### TestDataView
|
||||
**Signature:** `public partial class TestDataView : ITestDataView`
|
||||
|
||||
- **`TestDataView()`** - Constructor. Calls `InitializeComponent()` to load the XAML-defined UI.
|
||||
|
||||
---
|
||||
|
||||
### TestDataSeriesView
|
||||
**Signature:** `public partial class TestDataSeriesView : ITestDataSeriesView`
|
||||
|
||||
- **`TestDataSeriesView()`** - Constructor. Calls `InitializeComponent()` to load the XAML-defined UI.
|
||||
|
||||
- **`bool SaveReportToPDF(string directory)`** - Generates a PDF report containing the chart image and a gRMS data table. Returns `true` on success, `false` on failure. Creates the directory if it does not exist. Logs success/failure via `APILogger`.
|
||||
|
||||
- **`bool SaveReportToCSV(string directory)`** - Exports chart data to a CSV file with frequency and PSD values. Returns `true` on success, `false` on failure. Creates the directory if it does not exist. Logs success/failure via `APILogger`.
|
||||
|
||||
---
|
||||
|
||||
### AxisExtension (Static Class)
|
||||
**Signature:** `public static class AxisExtension`
|
||||
|
||||
- **`double GetDispMin(this Axis axis)`** - Extension method that calculates the displayed minimum value based on `ActualMin`, `ActualMax`, `Value`, and `Scale` properties.
|
||||
|
||||
- **`double GetDispMax(this Axis axis)`** - Extension method that calculates the displayed maximum value based on `ActualMin`, `ActualMax`, `Value`, and `Scale` properties.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **`SaveReportToPDF`**: The `directory` parameter must not be null, empty, or whitespace; otherwise, a `DirectoryNotFoundException` is thrown.
|
||||
- **`SaveReportToPDF`**: `MainChart.DataContext` must be castable to `TestDataSeriesViewModel`; a direct cast is performed without null checking.
|
||||
- **`SaveReportToPDF`**: `GraphDataSeries` must contain at least one element (accesses `dataSeries[0]` for test setup name and test ID).
|
||||
- **`SaveReportToCSV`**: All data series in `GraphDataSeries` must have `Xvalue` and `Yvalue` arrays of equal or greater length than
|
||||
Reference in New Issue
Block a user