init
This commit is contained in:
44
docs/ai/Common/DTS.Common/Events/ChannelCodes.md
Normal file
44
docs/ai/Common/DTS.Common/Events/ChannelCodes.md
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/ChannelCodes/ChannelCodesViewChangedEvent.cs
|
||||
- Common/DTS.Common/Events/ChannelCodes/ChannelCodeCommittedEvent.cs
|
||||
generated_at: "2026-04-17T16:07:34.968095+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "9d1faa44d38bcfed"
|
||||
---
|
||||
|
||||
# ChannelCodes
|
||||
|
||||
### Purpose
|
||||
This module defines event types for the Channel Codes subsystem within the DTS application. It provides pub/sub event definitions used to broadcast changes to channel code views and to notify the system when channel codes have been committed, carrying metadata about the committed code and user permissions.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`ChannelCodesViewChangedEvent`** (class, inherits `PubSubEvent<DTS.Common.Enums.IsoViewMode>`)
|
||||
- Event payload: `DTS.Common.Enums.IsoViewMode` (enum value)
|
||||
- Purpose: Broadcasts when the channel codes view mode has changed.
|
||||
|
||||
**`ChannelCodeCommittedEvent`** (class, inherits `PubSubEvent<ChannelCodeCommittedEventArgs[]>`)
|
||||
- Event payload: Array of `ChannelCodeCommittedEventArgs`
|
||||
- Purpose: Broadcasts when one or more channel codes have been committed.
|
||||
|
||||
**`ChannelCodeCommittedEventArgs`** (class)
|
||||
- Constructor: `ChannelCodeCommittedEventArgs(ChannelEnumsAndConstants.ChannelCodeType channelCodeType, string code, string name, bool canUserCommitChannelCodes)`
|
||||
- Properties:
|
||||
- `ChannelCodeType` (`ChannelEnumsAndConstants.ChannelCodeType`) - The type of channel code.
|
||||
- `Code` (`string`) - The code identifier.
|
||||
- `Name` (`string`) - The display name.
|
||||
- `CanUserCommitChannelCodes` (`bool`) - Indicates whether the user submitting the event has write privilege for channel codes.
|
||||
|
||||
### Invariants
|
||||
- `ChannelCodeCommittedEventArgs` properties are set only via constructor and are read-only (private setters).
|
||||
- `ChannelCodeCommittedEvent` publishes an array of event args, not a single instance.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `Prism.Events` (for `PubSubEvent<T>` base class), `DTS.Common.Enums` (for `IsoViewMode`), `DTS.Common.Enums.Channels` (for `ChannelEnumsAndConstants.ChannelCodeType`).
|
||||
|
||||
### Gotchas
|
||||
- The file `ChannelCodesViewChangedEvent.cs` suppresses the ReSharper namespace check, suggesting the file location may not match the declared namespace (`DTS.Common.Events` vs. expected `DTS.Common.Events.ChannelCodes`). This could cause confusion when locating the class.
|
||||
|
||||
---
|
||||
23
docs/ai/Common/DTS.Common/Events/DASFactory.md
Normal file
23
docs/ai/Common/DTS.Common/Events/DASFactory.md
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/DASFactory/DASConfigurationEvent.cs
|
||||
generated_at: "2026-04-17T16:11:09.537747+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "217896f072379dd1"
|
||||
---
|
||||
|
||||
# DASFactory
|
||||
|
||||
### Purpose
|
||||
This module provides an event for broadcasting DAS (Data Acquisition System) configuration notifications, specifically to alert subscribers when configurations are blank or missing. It was introduced to handle emergency download scenarios where filestore configurations may be absent, per issue 17872.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`DASConfigurationEvent`**
|
||||
- Signature: `class DASConfigurationEvent : PubSubEvent<IDASConfigurationArg>`
|
||||
- Description: A pub/sub event that carries `IDASConfigurationArg` payloads to notify subscribers about configuration state, particularly blank or missing configurations.
|
||||
|
||||
### Invariants
|
||||
- The event payload must implement `IDASConfigurationArg` interface (defined externally in `DTS.Common.Interface.DASFactory`).
|
||||
- The event is currently only used for notifying about
|
||||
78
docs/ai/Common/DTS.Common/Events/DTS.Viewer/Reports.md
Normal file
78
docs/ai/Common/DTS.Common/Events/DTS.Viewer/Reports.md
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/DTS.Viewer/Reports/SaveReportToCSVRequestedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/Reports/SaveReportToPDFRequestedEvent.cs
|
||||
generated_at: "2026-04-17T16:38:04.393080+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "0eaf9841175516dd"
|
||||
---
|
||||
|
||||
# Documentation: Report Export Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two Prism event aggregation types for requesting report exports in the DTS Viewer application. `SaveReportToCSVRequestedEvent` and `SaveReportToPDFRequestedEvent` enable loosely-coupled communication between view models and report generation services, allowing components to request CSV or PDF exports without direct dependencies on each other. Both events carry the target directory path and a reference to the requesting parent view model.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `SaveReportToCSVRequestedEvent`
|
||||
**Signature:** `public class SaveReportToCSVRequestedEvent : PubSubEvent<SaveReportToCSVRequestedEventArgs>`
|
||||
|
||||
An event type for publishing and subscribing to CSV export requests. Inherits from Prism's `PubSubEvent<T>` and uses `SaveReportToCSVRequestedEventArgs` as its payload type.
|
||||
|
||||
---
|
||||
|
||||
### `SaveReportToCSVRequestedEventArgs`
|
||||
**Signature:** `public class SaveReportToCSVRequestedEventArgs`
|
||||
|
||||
Payload class carrying data for CSV export requests.
|
||||
|
||||
| Property | Type | Access |
|
||||
|----------|------|--------|
|
||||
| `Directory` | `string` | get; set; |
|
||||
| `ParentVM` | `IBaseViewModel` | get; set; |
|
||||
|
||||
---
|
||||
|
||||
### `SaveReportToPDFRequestedEvent`
|
||||
**Signature:** `public class SaveReportToPDFRequestedEvent : PubSubEvent<SaveReportToPDFRequestedEventArgs>`
|
||||
|
||||
An event type for publishing and subscribing to PDF export requests. Inherits from Prism's `PubSubEvent<T>` and uses `SaveReportToPDFRequestedEventArgs` as its payload type.
|
||||
|
||||
---
|
||||
|
||||
### `SaveReportToPDFRequestedEventArgs`
|
||||
**Signature:** `public class SaveReportToPDFRequestedEventArgs`
|
||||
|
||||
Payload class carrying data for PDF export requests.
|
||||
|
||||
| Property | Type | Access |
|
||||
|----------|------|--------|
|
||||
| `Directory` | `string` | get; set; |
|
||||
| `ParentVM` | `IBaseViewModel` | get; set; |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Both event args classes expose identical property structures (`Directory` and `ParentVM`).
|
||||
- `Directory` is intended to represent a file system path for the export destination.
|
||||
- `ParentVM` must implement `IBaseViewModel` interface from `DTS.Common.Base`.
|
||||
- Properties are mutable (public setters); no constructor-based initialization is enforced.
|
||||
- No null validation or path validation is performed within these classes.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `Prism.Events` — Provides `PubSubEvent<T>` base class for event aggregation
|
||||
- `DTS.Common.Base` — Provides `IBaseViewModel` interface
|
||||
|
||||
**Consumers (inferred):**
|
||||
- Any module publishing or subscribing to report export requests via Prism's `IEventAggregator`
|
||||
- Report generation services that handle these events
|
||||
- View models that initiate export operations
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/DTS.Viewer/Reports/PowerSpectralDensity/PSDReportSettingsChangedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/Reports/PowerSpectralDensity/PSDReportGRMSValuesUpdatedEvent.cs
|
||||
generated_at: "2026-04-17T16:26:51.849481+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "59c47482ba063f01"
|
||||
---
|
||||
|
||||
# PowerSpectralDensity
|
||||
|
||||
### Purpose
|
||||
This module defines Prism event types for broadcasting Power Spectral Density (PSD) report-related changes within the DTS Viewer application. It enables loose coupling between components that produce PSD report updates (settings changes, GRMS value recalculations) and consumers that need to react to those updates, using the event aggregation pattern.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`PSDReportSettingsChangedEvent`** (class, inherits `PubSubEvent<PSDReportSettingsChangedEventArg>`)
|
||||
- Event type for publishing/subscribing to PSD report settings changes.
|
||||
- Payload type: `PSDReportSettingsChangedEventArg`
|
||||
|
||||
**`PSDReportSettingsChangedEventArg`** (class)
|
||||
- `IPSDReportSettingsModel Model { get; set; }` — The updated PSD report settings model.
|
||||
- `IBaseViewModel ParentVM { get; set; }` — Reference to the parent view model originating the change.
|
||||
|
||||
**`PSDReportGRMSValuesUpdatedEvent`** (class, inherits `PubSubEvent<PSDReportGRMSValuesUpdatedEventArg>`)
|
||||
- Event type for publishing/subscribing to GRMS (Root Mean Square) value updates in PSD reports.
|
||||
- Payload type: `PSDReportGRMSValuesUpdatedEventArg`
|
||||
|
||||
**`PSDReportGRMSValuesUpdatedEventArg`** (class)
|
||||
- `IChannelGRMSSummary[] Values { get; set; }` — Array of channel GRMS summary values.
|
||||
- `IBaseViewModel ParentVM { get; set; }` — Reference to the parent view model associated with the update.
|
||||
|
||||
### Invariants
|
||||
- Both event types inherit from `PubSubEvent<T>` from Prism, requiring the event aggregator pattern for publication/subscription.
|
||||
- The `ParentVM` property in both event args is intended to identify the source context of the event (nullability is not enforced at compile time).
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (for `IBaseViewModel`), `DTS.Common.Interface` (for `IPSDReportSettingsModel`, `IChannelGRMSSummary`), `Prism.Events` (for `PubSubEvent<T>`).
|
||||
- **Depended on by**: Unclear from source alone—likely PSD report view models, view components, or services that subscribe to or publish these events.
|
||||
|
||||
### Gotchas
|
||||
- The `ParentVM` property could be `null` if not set by the publisher; subscribers should handle this possibility.
|
||||
- The event args classes use mutable auto-properties; event payloads can be modified after publication if references are retained.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,83 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/DTS.Viewer/TestModification/RefreshTestRequestEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/TestModification/ShowT0CursorEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/TestModification/TestModificationChangedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/TestModification/SetUseZeroForUnfilteredEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/TestModification/TestModificationEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/TestModification/ShiftT0Event.cs
|
||||
generated_at: "2026-04-17T16:03:15.426783+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "f69e333ecbb396d6"
|
||||
---
|
||||
|
||||
# TestModification
|
||||
|
||||
### Purpose
|
||||
This module defines a set of Prism events for coordinating test modification operations within the DTS Viewer system. It provides a loosely-coupled messaging mechanism for components to communicate changes to test data, T0 cursor state, and filtering behavior without direct references. All events inherit from `CompositePresentationEvent<T>` from the legacy Microsoft.Practices.Prism library.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**RefreshTestRequestEvent**
|
||||
- Signature: `public class RefreshTestRequestEvent : CompositePresentationEvent<string>`
|
||||
- Payload: `string` (test ID)
|
||||
- Behavior: Published to request a refresh of a specific test identified by its ID.
|
||||
|
||||
**ShowT0CursorEvent**
|
||||
- Signature: `public class ShowT0CursorEvent : CompositePresentationEvent<bool>`
|
||||
- Payload: `bool` (true to show, false to hide)
|
||||
- Behavior: Controls visibility of the T0 cursor in the viewer.
|
||||
|
||||
**TestModificationChangedEvent**
|
||||
- Signature: `public class TestModificationChangedEvent : CompositePresentationEvent<ITestModificationModel>`
|
||||
- Payload: `ITestModificationModel`
|
||||
- Behavior: Notifies subscribers when the data folder or test modification model has changed.
|
||||
|
||||
**SetUseZeroForUnfilteredEvent**
|
||||
- Signature: `public class SetUseZeroForUnfilteredEvent : CompositePresentationEvent<bool>`
|
||||
- Payload: `bool`
|
||||
- Behavior: Controls whether 0 or P is used in the isocode filter field when modifying an isocode from a filter.
|
||||
|
||||
**TestModificationEvent**
|
||||
- Signature: `public class TestModificationEvent : CompositePresentationEvent<TestModificationArgs>`
|
||||
- Payload: `TestModificationArgs`
|
||||
- Behavior: Published whenever a test is modified by the viewer. Used by DataPro to regenerate an ROI when an event is modified.
|
||||
|
||||
**TestModificationArgs**
|
||||
- Properties:
|
||||
- `string DataSetDirectory { get; private set; }` - Path to the DTS file
|
||||
- `string TestId { get; private set; }` - Identifier of the modified test
|
||||
- Constructor: `TestModificationArgs(string dtsFilePath, string testId)`
|
||||
|
||||
**ShiftT0Event**
|
||||
- Signature: `public class ShiftT0Event : CompositePresentationEvent<ShiftT0EventArguments>`
|
||||
- Payload: `ShiftT0EventArguments`
|
||||
- Behavior: Published to shift the T0 marker position.
|
||||
|
||||
**ShiftT0EventArguments**
|
||||
- Properties:
|
||||
- `double T0Time { get; }` - The T0 time value
|
||||
- `bool IsInitialization { get; }` - Whether this shift is part of initialization
|
||||
- `int T0Steps { get; }` - Steps/samples from T0 to shift
|
||||
- `bool IsKeyPress { get; }` - Whether shift was caused by arrow key press
|
||||
- Constructors:
|
||||
- `ShiftT0EventArguments(double t0, bool isInitialization)` - Sets T0Time, defaults T0Steps=0, IsKeyPress=false
|
||||
- `ShiftT0EventArguments(int steps, bool isInitialization, bool isKeyPress)` - Sets T0Steps, defaults T0Time=0D
|
||||
|
||||
### Invariants
|
||||
- `TestModificationArgs.DataSetDirectory` and `TestId` are set only at construction and cannot be modified.
|
||||
- `ShiftT0EventArguments` properties are immutable after construction.
|
||||
- When using the time-based constructor for `ShiftT0EventArguments`, `T0Steps` is always 0 and `IsKeyPress` is always false.
|
||||
- When using the steps-based constructor for `ShiftT0EventArguments`, `T0Time` is always 0D.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `Microsoft.Practices.Prism.Events` (legacy Prism event aggregation), `DTS.Common.Interface` (for `ITestModificationModel`)
|
||||
- **Depended on by**: Unclear from source alone; likely consumed by viewer components, DataPro, and any module that modifies test data.
|
||||
|
||||
### Gotchas
|
||||
- The XML comment for `TestModificationChangedEvent` states "The Data Folder changed event" which appears inconsistent with the class name and payload type (`ITestModificationModel`).
|
||||
- Several files use `// ReSharper disable CheckNamespace` suggesting namespace inconsistencies that were suppressed rather than fixed.
|
||||
- The `ShiftT0EventArguments` class has two mutually exclusive constructors; the time-based and steps-based approaches cannot be combined in a single instance.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,62 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerChartOptions/ResetZoomChangedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerChartOptions/CursorShowChangedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerChartOptions/CursorsClearChangedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerChartOptions/CursorShowMinMaxChangedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerChartOptions/CursorsAlailableChangedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerChartOptions/SaveToPDFRequestedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerChartOptions/ChartAxisChangedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerChartOptions/ChartOptionsChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:02:47.398492+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "795f6e3411213c28"
|
||||
---
|
||||
|
||||
# ViewerChartOptions
|
||||
|
||||
### Purpose
|
||||
This module defines Prism-based event classes for chart viewer operations, enabling loosely-coupled communication between components in the viewer subsystem. Events cover zoom reset, cursor display/clearing, PDF export, and axis/options changes. Uses the older `Microsoft.Practices.Prism.Events` namespace (Prism 4.x or earlier).
|
||||
|
||||
### Public Interface
|
||||
|
||||
**ResetZoomChangedEvent**
|
||||
- Inherits `CompositePresentationEvent<bool>` - Event payload is a boolean.
|
||||
|
||||
**CursorShowChangedEvent**
|
||||
- Inherits `CompositePresentationEvent<bool>` - Event payload is a boolean.
|
||||
|
||||
**CursorsClearChangedEvent**
|
||||
- Inherits `CompositePresentationEvent<bool>` - Event payload is a boolean.
|
||||
|
||||
**CursorShowMinMaxChangedEvent**
|
||||
- Inherits `CompositePresentationEvent<bool>` - Event payload is a boolean.
|
||||
|
||||
**CursorsAlailableChangedEvent**
|
||||
- Inherits `CompositePresentationEvent<bool>` - Event payload is a boolean. Note: typo in class name ("Alailable" vs "Available").
|
||||
|
||||
**SaveToPDFRequestedEvent**
|
||||
- Inherits `CompositePresentationEvent<string>` - Event payload is a string (likely file path).
|
||||
|
||||
**ChartAxisChangedEvent**
|
||||
- Inherits `CompositePresentationEvent<ChartAxisChangedEventArg>` - Event payload is `ChartAxisChangedEventArg`.
|
||||
|
||||
**ChartAxisChangedEventArg**
|
||||
- `IBaseViewModel ParentVM { get; set; }` - Parent view model reference.
|
||||
- `string Axis { get; set; }` - Axis identifier.
|
||||
- `double MinValue { get; set; }` - Minimum axis value.
|
||||
- `double MaxValue { get; set; }` - Maximum axis value.
|
||||
|
||||
**ChartOptionsChangedEvent**
|
||||
- Inherits `CompositePresentationEvent<ChartOptionsChangedEventArg>` - Event payload is `ChartOptionsChangedEventArg`.
|
||||
|
||||
**ChartOptionsChangedEventArg**
|
||||
- `IBaseViewModel ParentVM { get; set; }` - Parent view model reference.
|
||||
- `IChartOptionsModel Model { get; set; }` - Chart options model.
|
||||
- `string ChartType { get; set; }` - Chart type identifier.
|
||||
|
||||
### Invariants
|
||||
- All events inherit from `CompositePresentationEvent<T>` and are empty classes (no additional members).
|
||||
- Event args classes (`ChartAxisChangedEventArg`, `ChartOptionsChangedEventArg`) are mutable POCOs with public getters and setters.
|
||||
- The `
|
||||
57
docs/ai/Common/DTS.Common/Events/DTS.Viewer/ViewerFilter.md
Normal file
57
docs/ai/Common/DTS.Common/Events/DTS.Viewer/ViewerFilter.md
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerFilter/FilterParameterChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:43:24.528045+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "ccf977f1060969f3"
|
||||
---
|
||||
|
||||
# Documentation: FilterParameterChangedEvent
|
||||
|
||||
## Purpose
|
||||
|
||||
This module provides a Prism Event Aggregator event definition for broadcasting filter parameter changes across the application. It enables loosely coupled communication between view models when filter criteria are modified, allowing components to subscribe to and react to filter changes without requiring direct references to the originating component.
|
||||
|
||||
---
|
||||
|
||||
## Public Interface
|
||||
|
||||
### `FilterParameterArgs`
|
||||
|
||||
Event payload class containing the data transmitted when a filter parameter changes.
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Requester` | `IBaseViewModel` | The view model that initiated the filter change request |
|
||||
| `Param` | `string` | The filter parameter value being communicated |
|
||||
|
||||
### `FilterParameterChangedEvent`
|
||||
|
||||
Event class for pub/sub messaging via Prism's Event Aggregator.
|
||||
|
||||
- **Inherits from:** `PubSubEvent<FilterParameterArgs>`
|
||||
- **Usage:** Subscribe to receive filter change notifications; publish to broadcast filter changes.
|
||||
|
||||
---
|
||||
|
||||
## Invariants
|
||||
|
||||
- `FilterParameterArgs` is a mutable POCO with no constructor enforcement—callers must explicitly set `Requester` and `Param` properties.
|
||||
- Both properties on `FilterParameterArgs` may be `null` (no null-checking or validation is enforced at the class level).
|
||||
- The event follows Prism's `PubSubEvent<T>` contract, which manages its own thread-safety and subscription lifecycle guarantees.
|
||||
|
||||
---
|
||||
|
||||
## Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `DTS.Common.Base` — provides `IBaseViewModel` interface
|
||||
- `Prism.Events` — provides `PubSubEvent<T>` base class for event aggregation
|
||||
|
||||
**Consumers (inferred):**
|
||||
- Any view model or component that publishes or subscribes to filter parameter changes via Prism's `IEventAggregator`.
|
||||
|
||||
---
|
||||
|
||||
## Gotchas
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerSettings/CalibrationBehaviorSettableInViewerChangedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerSettings/ViewerSettingsVisibilityChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:37:52.583907+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "4781a254be509f2c"
|
||||
---
|
||||
|
||||
# Documentation: Viewer Settings Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two Prism event classes used for decoupled communication within the DTS Viewer subsystem. These events facilitate pub/sub messaging related to viewer settings state changes—specifically, calibration behavior configuration and visibility toggling of the viewer settings UI. Both events leverage Prism's `PubSubEvent<T>` base class to enable loosely-coupled component communication.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `CalibrationBehaviorSettableInViewerChangedEvent`
|
||||
- **Signature:** `public class CalibrationBehaviorSettableInViewerChangedEvent : PubSubEvent<bool>`
|
||||
- **Behavior:** A typed event that carries a `bool` payload indicating whether calibration behavior can be set in the viewer. Publishers broadcast the boolean state; subscribers receive it via the Prism event aggregation mechanism.
|
||||
|
||||
### `ViewerSettingsVisibilityChangedEvent`
|
||||
- **Signature:** `public class ViewerSettingsVisibilityChangedEvent : PubSubEvent<Visibility>`
|
||||
- **Behavior:** A typed event that carries a `System.Windows.Visibility` payload. Publishers broadcast visibility state changes (e.g., `Visible`, `Hidden`, `Collapsed`); subscribers receive the new visibility value.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **Payload types are fixed:** `CalibrationBehaviorSettableInViewerChangedEvent` always carries `bool`; `ViewerSettingsVisibilityChangedEvent` always carries `Visibility`.
|
||||
- **Inheritance contract:** Both classes inherit from `PubSubEvent<T>` and do not override or extend any members, relying entirely on the Prism base implementation.
|
||||
- **Namespace consistency:** Both types reside in `DTS.Common.Events` regardless of their file location within `DTS.Viewer/ViewerSettings/` subdirectories.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `Prism.Events` — Provides `PubSubEvent<T>` base class for event aggregation
|
||||
- `System.Windows` — Provides `Visibility` enum (used by `ViewerSettingsVisibilityChangedEvent` only)
|
||||
|
||||
### What depends on this module:
|
||||
- **Unclear from source alone.** Consumers would be any component that publishes or subscribes to these events via Prism's `IEventAggregator`, but such usages are not present in the provided files.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Namespace/file path mismatch:** The files are located in `Common/DTS.Common/Events/DTS.Viewer/ViewerSettings/`, but the declared namespace is `DTS.Common.Events`. The `// ReSharper disable CheckNamespace` directive suppresses IDE warnings about this discrepancy. This may indicate a deliberate organizational choice or historical refactoring artifact.
|
||||
- **No explicit constructors or members:** Both classes are empty declarations inheriting from `PubSubEvent<T>`. This is idiomatic for Prism events but may confuse developers expecting explicit publish/subscribe methods on the class itself—those are accessed via `IEventAggregator.GetEvent<T>()`.
|
||||
@@ -0,0 +1,56 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/ChannelSelectionCountNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/ChannelsModificationNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/ChannelSelectionChangeNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/GraphChannelReadCalcProgressChangedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/GraphChannelsReadCompletedNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/DataFileSelectedEvent.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/TestLoadedCountNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/GraphLoadedCountNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/TestSummaryCountNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/GraphClearNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/GraphSelectedEventCountNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/GraphSelectedChannelCountNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/GraphSelectedChannelsNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/GraphSelectedEventsNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/ChannelsModificationLineFitNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/TestSummaryChangeNotification.cs
|
||||
- Common/DTS.Common/Events/DTS.Viewer/ViewerTestSummary/DataFolderChangedEvent.cs
|
||||
generated_at: "2026-04-17T15:28:05.385787+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "9d06f7a32bf91d25"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events (ViewerTestSummary)
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a collection of Prism.Events-based pub/sub event types for the DTS Viewer's Test Summary functionality. It facilitates loosely-coupled communication between UI components regarding test data selection, graph state, channel modifications, and data file/folder operations. The events enable decoupled view models to broadcast and react to state changes without direct references, supporting the application's MVVM architecture.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### Events (all inherit from `PubSubEvent<T>`)
|
||||
|
||||
| Event Name | Payload Type | Description |
|
||||
|------------|--------------|-------------|
|
||||
| `ChannelSelectionCountNotification` | `int` | Broadcasts the count of selected channels. |
|
||||
| `ChannelsModificationNotification` | `List<ITestChannel>` | Notifies when the collection of graph channels has been modified. |
|
||||
| `ChannelSelectionChangeNotification` | `List<ITestChannel>` | Notifies when the selected test summary list changes. |
|
||||
| `GraphChannelReadCalcProgressChangedEvent` | `GraphChannelReadCalcProgressChangedEventArgs` | Reports progress during graph channel read/calculation operations. |
|
||||
| `GraphChannelsReadCompletedNotification` | `GraphChannelsReadCompletedNotificationArgs` | Signals completion of graph channel reading. |
|
||||
| `DataFileSelectedEvent` | `DataFileSelectionArg` | Notifies when a data file is selected without triggering full folder change subscriptions. |
|
||||
| `TestLoadedCountNotification` | `TestLoadedCountNotificationArg` | Broadcasts the count of loaded tests. |
|
||||
| `GraphLoadedCountNotification` | `GraphLoadedCountNotificationArg` | Broadcasts the count of loaded graphs. |
|
||||
| `TestSummaryCountNotification` | `TestSummaryCountNotificationArg` | Broadcasts the count of test summaries. |
|
||||
| `GraphClearNotification` | `GraphClearNotificationArg` | Notifies when graphs should be cleared. |
|
||||
| `GraphSelectedEventCountNotification` | `GraphSelectedEventCountNotificationArg` | Broadcasts the count of selected events in a graph. |
|
||||
| `GraphSelectedChannelCountNotification` | `GraphSelectedChannelCountNotificationArg` | Broadcasts the count of selected channels in a graph. |
|
||||
| `GraphSelectedChannelsNotification` | `GraphSelectedChannelsNotificationArg` | Notifies of the currently selected channels in a graph. |
|
||||
| `GraphSelectedEventsNotification` | `GraphSelectedEventsNotificationArg` | Notifies of the currently selected events in a graph. |
|
||||
| `ChannelsModificationLineFitNotification` | `LineFitArgs` | Notifies of line fit modifications with index range. |
|
||||
| `TestSummaryChangeNotification` | `TestSummaryChangeNotificationArg` | Notifies when the test summary list changes. |
|
||||
| `DataFolderChangedEvent` | `DataFolderSelectionArg` | Notifies when the data folder
|
||||
47
docs/ai/Common/DTS.Common/Events/Database.md
Normal file
47
docs/ai/Common/DTS.Common/Events/Database.md
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/Database/DbStatusEvent.cs
|
||||
generated_at: "2026-04-17T16:10:34.394598+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "58b4a0b43cbc1077"
|
||||
---
|
||||
|
||||
# Database
|
||||
|
||||
### Purpose
|
||||
This module provides an event mechanism for communicating database switch operations and their outcomes throughout the application. It supports reporting various failure scenarios during database migration/switch operations (remote connection failures, backup failures, copy failures, restore failures) as well as successful completion, enabling the application to respond appropriately to database state transitions.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`DbStatusEvent`**
|
||||
- Signature: `public class DbStatusEvent : PubSubEvent<DbStatusArg>`
|
||||
- Description: A Prism `PubSubEvent` that carries a `DbStatusArg` payload. Used to notify the application when a database switch event has occurred.
|
||||
|
||||
**`DbStatusArg`**
|
||||
- Signature: `public class DbStatusArg`
|
||||
- Description: Argument class encapsulating the status and optional exception details for a database operation.
|
||||
|
||||
- **`EventTypes`** (nested enum): Defines possible operation outcomes:
|
||||
- `FailedToConnectToRemote`
|
||||
- `FailedToBackupLocal`
|
||||
- `FailedToCopy`
|
||||
- `FailedToRestoreLocal`
|
||||
- `FailedToBackupLocalFileNotFound`
|
||||
- `Complete`
|
||||
- `LegacyStatus`
|
||||
|
||||
- **`Status`** property: `EventTypes` (getter only) - The status type of the operation.
|
||||
|
||||
- **`Exception`** property: `Exception` (getter only) - The exception associated with a failure, if any.
|
||||
|
||||
- **Constructor**: `DbStatusArg(EventTypes error, Exception exception)` - Initializes a new instance with the specified status and exception.
|
||||
|
||||
### Invariants
|
||||
- `Status` is immutable after construction (get-only property).
|
||||
- `Exception` is immutable after construction (get-only property).
|
||||
- `Exception` may be `null` for non-error statuses (e.g., `Complete`), though this is not enforced by the constructor.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `System` (for `Exception` type), `Prism.Events` (for `PubSubEvent<T>` base class).
|
||||
- **Depended on by**: Not determinable from source alone; consumers would subscribe to or publish this event via Prism
|
||||
40
docs/ai/Common/DTS.Common/Events/Diagnostics.md
Normal file
40
docs/ai/Common/DTS.Common/Events/Diagnostics.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/Diagnostics/CheckDataToDownloadEvent.cs
|
||||
generated_at: "2026-04-17T16:11:09.535998+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "432a82d8ead3203a"
|
||||
---
|
||||
|
||||
# Diagnostics
|
||||
|
||||
### Purpose
|
||||
This module provides a Prism event mechanism for coordinating data download checks within the DTS system. It allows producers to signal when data should be downloaded, with an option to bypass validation checks. The event facilitates communication between components that trigger downloads and components that validate or process download requests.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`CheckDataToDownloadEvent`**
|
||||
- Signature: `class CheckDataToDownloadEvent : PubSubEvent<CheckDataToDownloadEventArgs>`
|
||||
- Description: A pub/sub event type that carries `CheckDataToDownloadEventArgs` payloads. Subscribers can listen for download check requests and publishers can trigger them.
|
||||
|
||||
**`CheckDataToDownloadEventArgs`**
|
||||
- Signature: `class CheckDataToDownloadEventArgs`
|
||||
- Constructor: `CheckDataToDownloadEventArgs(bool bypassCheck, object o)`
|
||||
- Properties:
|
||||
- `bool BypassCheck { get; }` - Indicates whether validation checks should be skipped.
|
||||
- `object Producer { get; }` - Reference to the object that initiated the check.
|
||||
|
||||
### Invariants
|
||||
- `BypassCheck` and `Producer` are set only at construction and cannot be modified thereafter (private setters).
|
||||
- `Producer` may be `null` if the constructor is called with a null object reference (no null validation in constructor).
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `Prism.Events` (for `PubSubEvent<T>` base class)
|
||||
- **Depended on by**: Unknown from source alone (consumers would subscribe/publish this event)
|
||||
|
||||
### Gotchas
|
||||
- The `Producer` parameter is stored as an untyped `object`, requiring runtime type checking by consumers if specific producer types need to be distinguished.
|
||||
- No validation is performed on constructor arguments; callers can pass `null` for the producer.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,71 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/GroupTemplates/CustomChannels/CustomChannelExportFileSetEvent.cs
|
||||
- Common/DTS.Common/Events/GroupTemplates/CustomChannels/CustomChannelImportEvent.cs
|
||||
generated_at: "2026-04-17T16:37:50.415537+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "0051299d71a30734"
|
||||
---
|
||||
|
||||
# Documentation: Custom Channel Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module provides event definitions for coordinating custom channel import and export operations within the group templates subsystem. It enables loosely-coupled communication between components regarding custom channel file handling, allowing the application to manage its busy state during exports and track import completion status. These events follow the Prism Event Aggregator pattern for pub/sub messaging.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `CustomChannelExportFileSetEvent`
|
||||
**Signature:** `public class CustomChannelExportFileSetEvent : PubSubEvent<string>`
|
||||
|
||||
An event that signals the application should change its busy/available state. The payload is a `string` value, though the semantic meaning of the string content is not specified in the source.
|
||||
|
||||
---
|
||||
|
||||
### `CustomChannelImportEvent`
|
||||
**Signature:** `public class CustomChannelImportEvent : PubSubEvent<CustomChannelImportEventArgs>`
|
||||
|
||||
An event that communicates custom channel import status changes. Publishers emit `CustomChannelImportEventArgs` to inform subscribers of import progress.
|
||||
|
||||
---
|
||||
|
||||
### `CustomChannelImportEventArgs`
|
||||
**Signature:** `public class CustomChannelImportEventArgs`
|
||||
|
||||
A payload class carrying import status information.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `Status` (nested enum) | `enum` | Contains value: `Done` |
|
||||
| `ImportStatus` | `Status` | Read-only property containing the import status |
|
||||
| `CustomChannelImportEventArgs(Status status)` | Constructor | Initializes the instance with a status value |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `CustomChannelImportEventArgs.ImportStatus` is immutable after construction (read-only property with no setter).
|
||||
- `CustomChannelImportEventArgs.Status` enum currently defines only the `Done` value; no other statuses are available.
|
||||
- Both event classes inherit from `PubSubEvent<T>` and are intended to be used with Prism's `IEventAggregator`.
|
||||
- The namespace `DTS.Common.Events.GroupTemplates.CustomChannels` groups these events under the custom channels feature area.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `Prism.Events` — Provides the `PubSubEvent<T>` base class for event aggregation.
|
||||
|
||||
**Consumers (inferred):**
|
||||
- Any component that publishes or subscribes to custom channel import/export events within the group templates subsystem. Specific consumers are not identifiable from these source files alone.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Ambiguous string payload:** `CustomChannelExportFileSetEvent` uses a `string` payload, but the source does not define what the string represents (e.g., a file path, a message, an identifier). The XML comment mentions "mark itself busy or available," but how the string value maps to busy/available state is unclear from source alone.
|
||||
|
||||
- **Limited status enum:** `CustomChannelImportEventArgs.Status` only defines `Done`. There are no intermediate states (e.g., `Started`, `InProgress`) or error states (e.g., `Failed`, `Cancelled`).
|
||||
@@ -0,0 +1,70 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/GroupTemplates/GroupTemplateList/GroupTemplateListGroupDoubleClickEvent.cs
|
||||
- Common/DTS.Common/Events/GroupTemplates/GroupTemplateList/GroupTemplateListGroupTemplateSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:37:52.470436+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "6fe92df199df2a2d"
|
||||
---
|
||||
|
||||
# Documentation: GroupTemplateList Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two event types for the GroupTemplateList feature within the DTS application. These events facilitate loosely-coupled communication between UI components using the Prism Event Aggregation pattern. They notify subscribers when user interactions occur with group templates—specifically when a template is selected or double-clicked.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `GroupTemplateListGroupDoubleClickEvent`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class GroupTemplateListGroupDoubleClickEvent : PubSubEvent<string> { }
|
||||
```
|
||||
|
||||
**Behavior:**
|
||||
An event that publishes a `string` payload. Intended to be raised when a user double-clicks on a group template in a list view. Subscribers receive the template identifier as a string.
|
||||
|
||||
---
|
||||
|
||||
### `GroupTemplateListGroupTemplateSelectedEvent`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class GroupTemplateListGroupTemplateSelectedEvent : PubSubEvent<string[]> { }
|
||||
```
|
||||
|
||||
**Behavior:**
|
||||
An event that publishes a `string[]` (string array) payload. Intended to be raised when a template is selected in the group template list. Subscribers receive an array of strings, the contents of which are not documented in the source.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Both event classes inherit from `PubSubEvent<T>` and add no additional members or overrides.
|
||||
- `GroupTemplateListGroupDoubleClickEvent` always carries a single `string` payload.
|
||||
- `GroupTemplateListGroupTemplateSelectedEvent` always carries a `string[]` payload.
|
||||
- Both classes are concrete, non-abstract, and non-sealed.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `Prism.Events` — Provides the `PubSubEvent<T>` base class for implementing the pub/sub event pattern.
|
||||
|
||||
**What depends on this module:**
|
||||
- Cannot be determined from source alone. Consumers would typically be ViewModels or services that publish or subscribe to these events via Prism's `IEventAggregator`.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
1. **Mismatched XML documentation:** The `<summary>` comment in `GroupTemplateListGroupDoubleClickEvent.cs` incorrectly states "The GroupTemplateListGroupTemplateSelectedEvent event" instead of referencing its own class name. This appears to be a copy-paste error.
|
||||
|
||||
2. **Inconsistent payload types:** The two events use different payload types (`string` vs `string[]`) despite both having the same remarks comment ("called when a template is selected"). The semantic meaning of the `string[]` payload in `GroupTemplateListGroupTemplateSelectedEvent` is unclear from the source—developers should investigate the publisher to understand what the array contains.
|
||||
|
||||
3. **Identical remarks:** Both events share the same remarks text, which is misleading since they represent different user
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/GroupTemplates/TemplateChannelList/TemplateChannelListOrderChangedEvent.cs
|
||||
- Common/DTS.Common/Events/GroupTemplates/TemplateChannelList/TemplateChannelListSelectionChangedEvent.cs
|
||||
- Common/DTS.Common/Events/GroupTemplates/TemplateChannelList/TemplateChannelListRequiredChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:36:14.988730+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "e9ebc9c1d84a9eda"
|
||||
---
|
||||
|
||||
# Documentation: Template Channel List Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines three Prism event types for broadcasting changes related to template channel lists within the group templates subsystem. These events enable loosely-coupled communication between components when channel order changes, selection state changes, or required channel state changes occur. All events follow the Prism Event Aggregator pattern, extending `PubSubEvent<T>`.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `TemplateChannelListOrderChangedEvent`
|
||||
**Signature:** `public class TemplateChannelListOrderChangedEvent : PubSubEvent<IGroupTemplateChannel>`
|
||||
|
||||
An event that publishes `IGroupTemplateChannel` payloads when the order of channels in a template channel list has changed.
|
||||
|
||||
---
|
||||
|
||||
### `TemplateChannelListSelectionChangedEvent`
|
||||
**Signature:** `public class TemplateChannelListSelectionChangedEvent : PubSubEvent<IGroupTemplateChannel>`
|
||||
|
||||
An event that publishes `IGroupTemplateChannel` payloads when the selection state within a template channel list has changed.
|
||||
|
||||
---
|
||||
|
||||
### `TemplateChannelListRequiredChangedEvent`
|
||||
**Signature:** `public class TemplateChannelListRequiredChangedEvent : PubSubEvent<TemplateChannelListRequiredChangeEventArgs>`
|
||||
|
||||
An event that publishes `TemplateChannelListRequiredChangeEventArgs` payloads when the "required" state of template channels has changed.
|
||||
|
||||
---
|
||||
|
||||
### `TemplateChannelListRequiredChangeEventArgs`
|
||||
**Signature:** `public class TemplateChannelListRequiredChangeEventArgs`
|
||||
|
||||
A payload class carrying information about required channel changes.
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Consumer` | `object` | The consumer object associated with the change. |
|
||||
| `Channels` | `IGroupTemplateChannel[]` | Array of channels affected by the required change. |
|
||||
|
||||
**Constructor:**
|
||||
```csharp
|
||||
public TemplateChannelListRequiredChangeEventArgs(object o, IGroupTemplateChannel[] channels)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- All three event classes inherit from `PubSubEvent<T>` from Prism, ensuring they work with the Prism Event Aggregator pattern.
|
||||
- `TemplateChannelListOrderChangedEvent` and `TemplateChannelListSelectionChangedEvent` both use `IGroupTemplateChannel` as their payload type.
|
||||
- `TemplateChannelListRequiredChangedEvent` uses `TemplateChannelListRequiredChangeEventArgs` as its payload type, which encapsulates both a consumer reference and an array of channels.
|
||||
- `TemplateChannelListRequiredChangeEventArgs.Channels` is an array (not a collection), set at construction time with no null validation in the constructor.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `DTS.Common.Interface.GroupTemplate` — provides the `IGroupTemplateChannel` interface used as payload type
|
||||
- `Prism.Events` — provides
|
||||
96
docs/ai/Common/DTS.Common/Events/Groups/GroupChannelList.md
Normal file
96
docs/ai/Common/DTS.Common/Events/Groups/GroupChannelList.md
Normal file
@@ -0,0 +1,96 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/Groups/GroupChannelList/GroupChannelDeleteRequestEvent.cs
|
||||
- Common/DTS.Common/Events/Groups/GroupChannelList/GroupChannelsChangedEvent.cs
|
||||
- Common/DTS.Common/Events/Groups/GroupChannelList/GroupUpdatedEvent.cs
|
||||
generated_at: "2026-04-17T16:36:42.587532+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "9096e4545f2ae1d9"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.Groups.GroupChannelList
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines three event types used for inter-component communication within the group channel management subsystem. It leverages the Prism.Events pub/sub mechanism to enable loosely-coupled messaging between components that manage group channels. The events facilitate deletion requests, channel list change notifications, and group update status propagation.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `GroupChannelDeleteRequestEvent`
|
||||
**Signature:** `public class GroupChannelDeleteRequestEvent : PubSubEvent<GroupChannelDeleteRequestEventArgs>`
|
||||
|
||||
An event used to request deletion of a group channel. Publishers signal intent to delete; subscribers handle the actual deletion logic.
|
||||
|
||||
---
|
||||
|
||||
### `GroupChannelDeleteRequestEventArgs`
|
||||
**Signature:** `public class GroupChannelDeleteRequestEventArgs`
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Page` | `object` | The page/context initiating the delete request |
|
||||
| `Channel` | `IGroupChannel` | The channel targeted for deletion |
|
||||
|
||||
**Constructor:** `GroupChannelDeleteRequestEventArgs(object page, IGroupChannel channel)`
|
||||
|
||||
---
|
||||
|
||||
### `GroupChannelsChangedEvent`
|
||||
**Signature:** `public class GroupChannelsChangedEvent : PubSubEvent<GroupChannelsChangedEventArgs>`
|
||||
|
||||
An event published when the collection of channels associated with a group has changed.
|
||||
|
||||
---
|
||||
|
||||
### `GroupChannelsChangedEventArgs`
|
||||
**Signature:** `public class GroupChannelsChangedEventArgs`
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Group` | `object` | The group whose channels changed |
|
||||
| `ChannelCount` | `int` | The updated count of channels in the group |
|
||||
|
||||
**Constructor:** `GroupChannelsChangedEventArgs(object group, int channelCount)`
|
||||
|
||||
---
|
||||
|
||||
### `GroupUpdatedEvent`
|
||||
**Signature:** `public class GroupUpdatedEvent : PubSubEvent<GroupUpdatedEventArgs>`
|
||||
|
||||
An event published when a group has been updated, with specific status indicating the type of update.
|
||||
|
||||
---
|
||||
|
||||
### `GroupUpdatedEventArgs`
|
||||
**Signature:** `public class GroupUpdatedEventArgs`
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Page` | `object` | The page/context where the update occurred |
|
||||
| `UpdateStatus` | `Status` | Enum indicating what type of update occurred |
|
||||
|
||||
**Constructor:** `GroupUpdatedEventArgs(object page, Status status)`
|
||||
|
||||
**Nested Enum:**
|
||||
```csharp
|
||||
public enum Status
|
||||
{
|
||||
ChannelsInserted,
|
||||
AssignmentsMade
|
||||
}
|
||||
```
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- All event argument classes have immutable properties (read-only, set only via constructor).
|
||||
- `GroupChannelDeleteRequestEventArgs.Channel` must be a valid `IGroupChannel` implementation instance.
|
||||
- `GroupChannelsChangedEventArgs.ChannelCount` is an `int`; the source does not specify whether negative values are valid or prevented.
|
||||
- `GroupUpdatedEventArgs.UpdateStatus` is constrained to the defined `Status` enum values (`ChannelsInserted`, `AssignmentsMade`).
|
||||
- All `Page` and `Group` properties are typed as `object`, allowing any reference type; no type constraints are enforced at compile time.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `Prism.Events` — Provides `PubSubEvent<T>` base class for all three events.
|
||||
- `DTS.Common
|
||||
51
docs/ai/Common/DTS.Common/Events/Groups/GroupsList.md
Normal file
51
docs/ai/Common/DTS.Common/Events/Groups/GroupsList.md
Normal file
@@ -0,0 +1,51 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/Groups/GroupsList/GroupListEditGroupEvent.cs
|
||||
- Common/DTS.Common/Events/Groups/GroupsList/GroupListGroupSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:37:48.828756+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "42ef77f2b2284294"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.Groups.GroupList
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines event types for the Group List feature using Prism's event aggregation pattern. These events enable decoupled publish/subscribe communication between components in the application when group-related user actions occur, such as selecting groups or initiating an edit operation. The events carry integer-based identifiers as payloads.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `GroupListEditGroupEvent`
|
||||
- **Signature:** `public class GroupListEditGroupEvent : PubSubEvent<int>`
|
||||
- **Behavior:** An event that publishes an `int` payload, intended to signal that a group edit operation should be initiated. The payload represents a single group identifier.
|
||||
|
||||
### `GroupListGroupSelectedEvent`
|
||||
- **Signature:** `public class GroupListGroupSelectedEvent : PubSubEvent<int[]>`
|
||||
- **Behavior:** An event that publishes an `int[]` payload, intended to signal that one or more groups have been selected. The payload is an array of group identifiers.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `GroupListEditGroupEvent` always carries a single `int` payload representing a group ID.
|
||||
- `GroupListGroupSelectedEvent` always carries an `int[]` payload representing zero or more group IDs.
|
||||
- Both event types inherit from `PubSubEvent<T>`, guaranteeing they follow Prism's event aggregation contract.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `Prism.Events` — Provides the `PubSubEvent<T>` base class for event aggregation.
|
||||
|
||||
**What depends on this module:**
|
||||
- Unknown from source alone. Consumers would be any component that publishes or subscribes to these events via Prism's `IEventAggregator`.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Stale XML documentation:** Both classes contain XML comments referencing `GroupTemplateListGroupTemplateSelectedEvent` and "called when a template is selected." This appears to be copy-paste documentation that does not match the actual class names or their intended purposes (group editing and group selection, not template selection). The documentation should not be trusted as accurate.
|
||||
51
docs/ai/Common/DTS.Common/Events/Hardware/HardwareList.md
Normal file
51
docs/ai/Common/DTS.Common/Events/Hardware/HardwareList.md
Normal file
@@ -0,0 +1,51 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/Hardware/HardwareList/HardwareListShowCompactEvent.cs
|
||||
- Common/DTS.Common/Events/Hardware/HardwareList/HardwareListEditHardwareEvent.cs
|
||||
- Common/DTS.Common/Events/Hardware/HardwareList/HardwareListHardwareSelectedEvent.cs
|
||||
- Common/DTS.Common/Events/Hardware/HardwareList/HardwareReplaceEvent.cs
|
||||
- Common/DTS.Common/Events/Hardware/HardwareList/HardwareSavedEvent.cs
|
||||
- Common/DTS.Common/Events/Hardware/HardwareList/HardwareListHardwareIncludedEvent.cs
|
||||
- Common/DTS.Common/Events/Hardware/HardwareList/HardwareListHardwareTestPTPDomainIDEvent.cs
|
||||
- Common/DTS.Common/Events/Hardware/HardwareList/HardwareListHardwareTestSampleRateEvent.cs
|
||||
- Common/DTS.Common/Events/Hardware/HardwareList/HardwareListHardwareTestClockMasterEvent.cs
|
||||
- Common/DTS.Common/Events/Hardware/HardwareList/HardwareListHardwareTestAAFilterRateEvent.cs
|
||||
generated_at: "2026-04-17T16:22:33.693123+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "093b189fdc0d0e9b"
|
||||
---
|
||||
|
||||
# HardwareList
|
||||
|
||||
### Purpose
|
||||
This module defines a collection of event types for the Prism Event Aggregator used to communicate changes and actions related to hardware within a hardware list. It facilitates loosely coupled communication between components regarding hardware selection, configuration changes (sample rate, clock master, PTP domain), and lifecycle events (saving, replacing).
|
||||
|
||||
### Public Interface
|
||||
|
||||
**Events (all inherit from `Prism.Events.PubSubEvent`)**
|
||||
|
||||
* `HardwareListShowCompactEvent` : `PubSubEvent<bool>`
|
||||
* Payload: `bool` indicating the compact/expanded state.
|
||||
* Used to signal a change in the view mode (compact vs. expanded).
|
||||
* `HardwareListEditHardwareEvent` : `PubSubEvent<string>`
|
||||
* Payload: `string` (likely a hardware identifier).
|
||||
* Used to indicate a specific piece of hardware was selected for editing.
|
||||
* `HardwareListHardwareSelectedEvent` : `PubSubEvent<string[]>`
|
||||
* Payload: `string[]` (array of identifiers).
|
||||
* Used to indicate one or more hardware items were selected.
|
||||
* `HardwareReplaceEvent` : `PubSubEvent<Tuple<IHardware, IHardware>>`
|
||||
* Payload: `Tuple<IHardware, IHardware>` (Old hardware, New hardware).
|
||||
* Used to request a hardware replacement operation.
|
||||
* `HardwareSavedEvent` : `PubSubEvent<Tuple<int, string>>`
|
||||
* Payload: `Tuple<int, string>` (Database ID, Serial Number).
|
||||
* Used to indicate hardware was added or updated.
|
||||
* `HardwareListHardwareIncludedEvent` : `PubSubEvent<HardwareListHardwareIncludedEventArgs>`
|
||||
* Payload: `HardwareListHardwareIncludedEventArgs`.
|
||||
* Used to signal a change in the "included" status of hardware.
|
||||
* `HardwareListHardwareTestPTPDomainIDEvent` : `PubSubEvent<HardwareListHardwareTestPTPDomainIDEventArgs>`
|
||||
* Payload: `HardwareListHardwareTestPTPDomainIDEventArgs`.
|
||||
* Used to indicate a change in the PTP Domain ID for a test.
|
||||
* `HardwareListHardwareTestSampleRateEvent` : `PubSubEvent<HardwareListHardwareTestSampleRateEventArgs>`
|
||||
* Payload: `HardwareListHardwareTestSampleRateEventArgs`.
|
||||
* Used to indicate a change in the sample rate for
|
||||
57
docs/ai/Common/DTS.Common/Events/ISO.md
Normal file
57
docs/ai/Common/DTS.Common/Events/ISO.md
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/ISO/ExtraPropertiesChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:43:15.351224+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "f41653a888428aaa"
|
||||
---
|
||||
|
||||
# Documentation: ExtraPropertiesChangedEvent.cs
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module provides a Prism-based event mechanism for broadcasting changes to "extra properties" within an ISO-related domain. It enables loose coupling between producers and consumers of property change notifications by leveraging the `PubSubEvent` pattern from Prism's event aggregation framework. The event carries metadata about which properties changed, the object that produced the change, and the intended consumer.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ExtraPropertiesChangedEvent`
|
||||
A class that extends `PubSubEvent<ExtraPropertiesChangedEventArgs>`. This is the event token used to subscribe to or publish extra property change notifications via a Prism `IEventAggregator`.
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class ExtraPropertiesChangedEvent : PubSubEvent<ExtraPropertiesChangedEventArgs> { }
|
||||
```
|
||||
|
||||
### `ExtraPropertiesChangedEventArgs`
|
||||
A class encapsulating the data passed when the event is raised.
|
||||
|
||||
**Constructor:**
|
||||
```csharp
|
||||
public ExtraPropertiesChangedEventArgs(IList<IExtraProperty> extraProperties, object producer, object consumer)
|
||||
```
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `ExtraProperties` | `IList<IExtraProperty>` | `get; private set;` | The collection of extra properties that changed. |
|
||||
| `Producer` | `object` | `get; private set;` | The object that produced the property changes. |
|
||||
| `Consumer` | `object` | `get; private set;` | The intended consumer of the property changes. |
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **Immutability after construction**: All properties (`ExtraProperties`, `Producer`, `Consumer`) are set exclusively via the constructor and cannot be modified afterward due to `private set` accessors.
|
||||
- **No null validation in constructor**: The constructor does not perform null checks on any parameters; callers may pass `null` values which will be assigned directly.
|
||||
- **Reference semantics**: The `ExtraProperties` list is stored by reference, not copied; modifications to the original list after construction could affect the event args.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `System` - Core .NET framework
|
||||
- `System.Collections.Generic` - For `IList<T>` interface
|
||||
- `DTS.Common.Interface.ISO.ExtraProperties` - Provides `IExtraProperty` interface
|
||||
- `Prism.Events` - Provides `PubSubEvent<T>` base class (Prism library)
|
||||
|
||||
**What depends on this module:**
|
||||
- Cannot be determined from this source file alone. Consumers would be any module that publishes or subscribes to `ExtraPropertiesChangedEvent`
|
||||
10
docs/ai/Common/DTS.Common/Events/Realtime.md
Normal file
10
docs/ai/Common/DTS.Common/Events/Realtime.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/Realtime/RealtimeChannelSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:44:09.812137+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "dbf91693356c6ab6"
|
||||
---
|
||||
|
||||
# Documentation
|
||||
32
docs/ai/Common/DTS.Common/Events/RegionOfInterest.md
Normal file
32
docs/ai/Common/DTS.Common/Events/RegionOfInterest.md
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/RegionOfInterest/RegionOfInterestChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:10:34.392992+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "04ca50cc4f4be546"
|
||||
---
|
||||
|
||||
# RegionOfInterest
|
||||
|
||||
### Purpose
|
||||
This module defines a typed event for broadcasting changes to a Region of Interest (ROI) within the application. It leverages the Prism event aggregation system to enable loosely-coupled communication between components when ROI configuration changes, allowing subscribers to react to new ROI definitions without direct coupling to the publisher.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`RegionOfInterestChangedEvent`**
|
||||
- Signature: `public class RegionOfInterestChangedEvent : PubSubEvent<IRegionOfInterest>`
|
||||
- Description: A Prism `PubSubEvent` that carries an `IRegionOfInterest` payload. Publishers invoke this event with a new ROI instance; subscribers receive the `IRegionOfInterest` object when the event is published.
|
||||
|
||||
### Invariants
|
||||
- The event payload must implement `IRegionOfInterest` (defined in `DTS.Common.Interface.RegionOfInterest`).
|
||||
- As a `PubSubEvent<T>`, the event follows Prism's thread-safe publication/subscription semantics.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `Prism.Events` (for `PubSubEvent<T>` base class), `DTS.Common.Interface.RegionOfInterest` (for `IRegionOfInterest` interface).
|
||||
- **Depended on by**: Not determinable from source alone; consumers would subscribe to or publish this event via Prism's `IEventAggregator`.
|
||||
|
||||
### Gotchas
|
||||
None identified from source alone.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/RegionOfInterest/RegionOfInterestChannels/RegionOfInterestChannelsSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:27:35.499903+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "04ae6f47be36fec7"
|
||||
---
|
||||
|
||||
# RegionOfInterestChannels
|
||||
|
||||
### Purpose
|
||||
This module defines a Prism event for publishing and subscribing to region of interest (ROI) channel selection changes. It enables loosely-coupled communication between components when users select channels associated with a specific region of interest, carrying both channel identifiers and names along with context about the consumer.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`RegionOfInterestChannelsSelectedEvent`**
|
||||
- Inherits from `PubSubEvent<RegionOfInterestChannelsSelectedEventArgs>`
|
||||
- A Prism event type used for pub/sub messaging across the application
|
||||
|
||||
**`RegionOfInterestChannelsSelectedEventArgs`**
|
||||
- Constructor: `RegionOfInterestChannelsSelectedEventArgs(string roiSuffix, string[] selectedChannelNames, long[] selectedChannelIds, object o)`
|
||||
- Properties (all read-only):
|
||||
- `string RegionOfInterestSuffix` - Suffix identifier for the region of interest
|
||||
- `string[] ChannelNames` - Array of selected channel names
|
||||
- `long[] ChannelIds` - Array of selected channel IDs
|
||||
- `object Consumer` - Reference to the object consuming this selection
|
||||
|
||||
### Invariants
|
||||
- All properties on `RegionOfInterestChannelsSelectedEventArgs` are immutable after construction (private setters).
|
||||
- Constructor requires all four parameters; no
|
||||
67
docs/ai/Common/DTS.Common/Events/Sensors.md
Normal file
67
docs/ai/Common/DTS.Common/Events/Sensors.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/Sensors/CalibrationBehaviorSettingChangedEvent.cs
|
||||
- Common/DTS.Common/Events/Sensors/ExportCalibrationBehaviorSettingChangedEvent.cs
|
||||
- Common/DTS.Common/Events/Sensors/SensorFilterTypeChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:35:56.568628+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "8318e849b47a0f7f"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.Sensors
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines event types for the Prism pub/sub event system, specifically for sensor-related state changes. It provides three event classes that enable loosely-coupled communication between components: two for calibration behavior setting changes (`CalibrationBehaviorSettingChangedEvent` and `ExportCalibrationBehaviorSettingChangedEvent`), and one for sensor filter type changes (`SensorFilterTypeChangedEvent`). These events facilitate notification when sensor calibration behaviors or filter configurations are modified, allowing subscribers to react without direct coupling to the event publishers.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `CalibrationBehaviorSettingChangedEvent`
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class CalibrationBehaviorSettingChangedEvent : PubSubEvent<DTS.Common.Enums.Sensors.CalibrationBehaviors>
|
||||
```
|
||||
A pub/sub event that carries a `CalibrationBehaviors` enum value as its payload. Used to notify subscribers when a calibration behavior setting has changed.
|
||||
|
||||
---
|
||||
|
||||
### `ExportCalibrationBehaviorSettingChangedEvent`
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class ExportCalibrationBehaviorSettingChangedEvent : PubSubEvent<DTS.Common.Enums.Sensors.CalibrationBehaviors>
|
||||
```
|
||||
A pub/sub event that carries a `CalibrationBehaviors` enum value as its payload. Used to notify subscribers when an export-related calibration behavior setting has changed. Distinct from `CalibrationBehaviorSettingChangedEvent` to allow separate subscription channels.
|
||||
|
||||
---
|
||||
|
||||
### `SensorFilterTypeChangedEvent`
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class SensorFilterTypeChangedEvent : PubSubEvent<SensorFilterTypeChangedEventArgs>
|
||||
```
|
||||
A pub/sub event that carries `SensorFilterTypeChangedEventArgs` as its payload. Used to notify subscribers that a sensor filter or ISO code filter field has changed.
|
||||
|
||||
---
|
||||
|
||||
### `SensorFilterTypeChangedEventArgs`
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class SensorFilterTypeChangedEventArgs
|
||||
```
|
||||
|
||||
**Properties:**
|
||||
| Property | Type | Access |
|
||||
|----------|------|--------|
|
||||
| `ISOCodeChar` | `char` | `public get; private set` |
|
||||
| `EventType` | `EventTypes` | `public get; private set` |
|
||||
| `FilterClass` | `FilterClassType` | `public get; private set` |
|
||||
| `Calibration` | `ISensorCalibration` | `public get; private set` |
|
||||
| `Sensor` | `ISensorData` | `public get; private set` |
|
||||
| `UseISOCodeFilterMapping` | `bool` | `public get; private set` |
|
||||
| `UseZeroForUnfiltered` | `bool` | `public get; private set` |
|
||||
|
||||
**Nested Enum:**
|
||||
```csharp
|
||||
31
docs/ai/Common/DTS.Common/Events/Sensors/SensorsList.md
Normal file
31
docs/ai/Common/DTS.Common/Events/Sensors/SensorsList.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/Sensors/SensorsList/SensorsListSensorSelectedEvent.cs
|
||||
- Common/DTS.Common/Events/Sensors/SensorsList/SensorChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:07:34.970450+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "0b9c7db9a1a83e71"
|
||||
---
|
||||
|
||||
# SensorsList
|
||||
|
||||
### Purpose
|
||||
This module defines events for the Sensors List subsystem, enabling communication about sensor selection, persistence, and property changes. It supports the sensor configuration workflow by notifying subscribers when sensors are selected, saved, updated, or when specific sensor properties change.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`SensorsListSensorSelectedEvent`** (class, inherits `PubSubEvent<string[]>`)
|
||||
- Event payload: `string[]` (array of sensor identifiers)
|
||||
- Purpose: Indicates that a sensor has been selected from the sensors list.
|
||||
- Note: XML documentation incorrectly references "TTSImportSummaryImportEvent" and "Summary step" — appears to be copy-paste documentation debt.
|
||||
|
||||
**`SensorSavedEvent`** (class, inherits `PubSubEvent<double>`)
|
||||
- Event payload: `double`
|
||||
- Purpose: Notifies the save function when a new sensor has been added in the settings menu (FB 13120).
|
||||
|
||||
**`SensorUpdatedEvent`** (class, inherits `PubSubEvent<bool>`)
|
||||
- Event payload: `bool`
|
||||
- Purpose: Used in selecting the default filter in filter list when adding or deleting a sensor (FB 13120).
|
||||
|
||||
**`SensorChangedEvent`** (
|
||||
44
docs/ai/Common/DTS.Common/Events/TSRAIRGo.md
Normal file
44
docs/ai/Common/DTS.Common/Events/TSRAIRGo.md
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/TSRAIRGo/StartStopDASScan.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/StartStopOverallStatusStateMachine.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/Trigger.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/Download.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/RemoveDAS.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/NavigateToDashboard.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/Arm.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/NavigateFromTSRAIRGoToDataPRO.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/ClearIpAddress.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/IpAddressToPing.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/RecordingModeChanged.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/SystemStatus.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/DASSampleRateChanged.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/SystemSettingsSampleRateChanged.cs
|
||||
- Common/DTS.Common/Events/TSRAIRGo/LevelTrigger.cs
|
||||
generated_at: "2026-04-17T16:03:25.204934+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "5489ddf486796c78"
|
||||
---
|
||||
|
||||
# TSRAIRGo
|
||||
|
||||
### Purpose
|
||||
This module defines a collection of event types and argument payloads for the Prism Event Aggregator, specifically catering to the TSRAIRGo subsystem. It facilitates loosely coupled communication between components regarding DAS (Data Acquisition System) hardware control (scanning, arming, removal), system configuration (sample rates, triggers, IP addresses), and navigation events.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**Events (PubSubEvent<T>)**
|
||||
* `StartStopDASScanEvent` : `PubSubEvent<bool>` - Signals to start or stop a DAS scan.
|
||||
* `StartStopOverallStatusStateMachineEvent` : `PubSubEvent<bool>` - Controls the overall status state machine.
|
||||
* `TriggerEvent` : `PubSubEvent<TriggerArg>` - Generic trigger event.
|
||||
* `DownloadEvent` : `PubSubEvent<DownloadArg>` - Signals a download action.
|
||||
* `RemoveDASEvent` : `PubSubEvent<string>` - Requests removal of a DAS unit (payload is likely an ID).
|
||||
* `AddDASEvent` : `PubSubEvent<string>` - Requests addition of a DAS unit.
|
||||
* `NavigateToDashboardEvent` : `PubSubEvent<NavigateToDashboardArg>` - Requests navigation to the dashboard.
|
||||
* `ArmEvent` : `PubSubEvent<ArmArg>` - Signals an arm/disarm action.
|
||||
* `NavigateFromTSRAIRGoToDataPROEvent` : `PubSubEvent<NavigateFromTSRAIRGoToDataPROArg>` - Requests navigation from TSRAIRGo to DataPRO.
|
||||
* `ClearIpAddressEvent` : `PubSubEvent<ClearIpAddressArg>` - Signals to clear an IP address.
|
||||
* `IpAddressToPingEvent` : `PubSubEvent<IpAddressToPingArg>` - Provides an IP address to ping.
|
||||
* `SystemSettingsRecordingModeChangedEvent` : `PubSubEvent<RecordingModeArg>` - Notifies changes to recording mode settings.
|
||||
* `SystemStatusEvent` : `PubSub
|
||||
26
docs/ai/Common/DTS.Common/Events/TTSImport.md
Normal file
26
docs/ai/Common/DTS.Common/Events/TTSImport.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/TTSImport/TTSImportSavedChangesStatusEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/StatusAndProgressBarEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/TTSImportSummaryRunTestEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/TTSImportTestSetupChangedEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/AssignedChannelsChangedEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/TTSImportHardwareScanRunEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/TTSImportSummaryImportEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/TTSImportArmedRunTestEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/TTSImportReadFileFinishedEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/TTSImportHardwareScanFinishedEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/EIDMappingEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/TTSImportReadFileStatusEvent.cs
|
||||
- Common/DTS.Common/Events/TTSImport/TTSImportReadXMLFileEvent.cs
|
||||
generated_at: "2026-04-17T16:34:17.362950+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "c0f2f04d8581f746"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.TTSImport
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a collection of event
|
||||
@@ -0,0 +1,65 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Events/TestSetups/TestSetupsList/CurrentTestIdChangedEvent.cs
|
||||
- Common/DTS.Common/Events/TestSetups/TestSetupsList/CurrentTestChangedEvent.cs
|
||||
- Common/DTS.Common/Events/TestSetups/TestSetupsList/TestSetupsListEditTestSetupEvent.cs
|
||||
- Common/DTS.Common/Events/TestSetups/TestSetupsList/TestSetupsListTestSetupSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:35:07.898811+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "128ab82fb70c6bf8"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.TestSetups.TestSetupsList
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a set of event types for the test setups list subsystem within the DTS application. These events enable loosely-coupled, pub/sub-style communication between components using the Prism Event Aggregator pattern. The events facilitate coordination for test setup selection, editing, and state change notifications across the application without requiring direct references between publishers and subscribers.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `CurrentTestIdChangedEvent`
|
||||
**Signature:** `public class CurrentTestIdChangedEvent : PubSubEvent<string>`
|
||||
|
||||
**Behavior:** Published when the current test's identifier changes. Carries the new test ID as a `string` payload. Subscribers receive the updated ID value.
|
||||
|
||||
---
|
||||
|
||||
### `CurrentTestChangedEvent`
|
||||
**Signature:** `public class CurrentTestChangedEvent : PubSubEvent<string>`
|
||||
|
||||
**Behavior:** Published to signal that the current test setup has changed. Carries a `string` payload (presumably a test identifier or name). Distinct from `CurrentTestIdChangedEvent`, though the semantic difference is not clarified in source.
|
||||
|
||||
---
|
||||
|
||||
### `TestSetupsListEditTestSetupEvent`
|
||||
**Signature:** `public class TestSetupsListEditTestSetupEvent : PubSubEvent<string>`
|
||||
|
||||
**Behavior:** Published when a test setup should be edited. Carries a `string` payload identifying the test setup to edit. Intended to trigger an edit workflow/action in response.
|
||||
|
||||
---
|
||||
|
||||
### `TestSetupsListTestSetupSelectedEvent`
|
||||
**Signature:** `public class TestSetupsListTestSetupSelectedEvent : PubSubEvent<string[]>`
|
||||
|
||||
**Behavior:** Published when a test setup is selected from the list. Carries a `string[]` (array of strings) as its payload. According to source remarks, used by a "Summary step" to indicate an Import button click, though the relationship between selection and import is unclear from source alone.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- All event classes inherit from `Prism.Events.PubSubEvent<T>` and are non-generic on their own (closed generic types).
|
||||
- All classes are `public` and `sealed` implicitly (no inheritance modifiers visible).
|
||||
- All classes reside in the `DTS.Common.Events.TestSetups.TestSetupsList` namespace.
|
||||
- Payload types are fixed per event type:
|
||||
- `CurrentTestIdChangedEvent`: `string`
|
||||
- `CurrentTestChangedEvent`: `string`
|
||||
- `TestSetupsListEditTestSetupEvent`: `string`
|
||||
- `TestSetupsListTestSetupSelectedEvent`: `string[]`
|
||||
- Events are reference types and must be resolved through Prism's `IEventAggregator` service (standard Prism pattern, not shown in source).
|
||||
|
||||
---
|
||||
|
||||
## 4
|
||||
Reference in New Issue
Block a user