init
This commit is contained in:
55
docs/ai/Common/DTS.CommonCore/Events/ChannelCodes.md
Normal file
55
docs/ai/Common/DTS.CommonCore/Events/ChannelCodes.md
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/ChannelCodes/ChannelCodesViewChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/ChannelCodes/ChannelCodeCommittedEvent.cs
|
||||
generated_at: "2026-04-17T16:37:05.716975+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "b761fbf8ad38db94"
|
||||
---
|
||||
|
||||
# Documentation: Channel Code Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two Prism event types for the event aggregation system, enabling loosely-coupled communication between components regarding channel code operations. `ChannelCodesViewChangedEvent` notifies subscribers when the channel codes view mode changes, while `ChannelCodeCommittedEvent` broadcasts when channel codes are committed, carrying details about the committed codes and user permissions. These events follow the Prism CompositePresentationEvent pattern for pub/sub messaging within the DTS application.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ChannelCodesViewChangedEvent`
|
||||
**Location:** `DTS.Common.Events` namespace
|
||||
**Declaration:**
|
||||
```csharp
|
||||
public class ChannelCodesViewChangedEvent : CompositePresentationEvent<DTS.Common.Enums.IsoViewMode> { }
|
||||
```
|
||||
**Behavior:** An event class that publishes/subscribes to view mode changes. The payload is a single `DTS.Common.Enums.IsoViewMode` value indicating the new view mode.
|
||||
|
||||
---
|
||||
|
||||
### `ChannelCodeCommittedEvent`
|
||||
**Location:** `DTS.Common.Events.ChannelCodes` namespace
|
||||
**Declaration:**
|
||||
```csharp
|
||||
public class ChannelCodeCommittedEvent : CompositePresentationEvent<ChannelCodeCommittedEventArgs[]> { }
|
||||
```
|
||||
**Behavior:** An event class that publishes/subscribes to channel code commit notifications. The payload is an array of `ChannelCodeCommittedEventArgs` objects, allowing multiple codes to be committed in a single event.
|
||||
|
||||
---
|
||||
|
||||
### `ChannelCodeCommittedEventArgs`
|
||||
**Location:** `DTS.Common.Events.ChannelCodes` namespace
|
||||
**Properties:**
|
||||
|
||||
| Property | Type | Access |
|
||||
|----------|------|--------|
|
||||
| `ChannelCodeType` | `ChannelEnumsAndConstants.ChannelCodeType` | `public` getter, `private` setter |
|
||||
| `Code` | `string` | `public` getter, `private` setter |
|
||||
| `Name` | `string` | `public` getter, `private` setter |
|
||||
| `CanUserCommitChannelCodes` | `bool` | `public` getter, `private` setter |
|
||||
|
||||
**Constructor:**
|
||||
```csharp
|
||||
public ChannelCodeCommittedEventArgs(
|
||||
ChannelEnumsAndConstants.ChannelCodeType channelCode
|
||||
49
docs/ai/Common/DTS.CommonCore/Events/DASFactory.md
Normal file
49
docs/ai/Common/DTS.CommonCore/Events/DASFactory.md
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/DASFactory/DASConfigurationEvent.cs
|
||||
generated_at: "2026-04-17T16:39:24.799726+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "e793e8752d6c6ffb"
|
||||
---
|
||||
|
||||
# Documentation: DASConfigurationEvent
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
`DASConfigurationEvent` is a Prism-based event class used to publish and subscribe to DAS (Data Acquisition System) configuration notifications within the system. It exists to decouple configuration notification logic, specifically to alert consumers when blank or missing configurations are detected. According to the source comments, its current scope is limited to notifying about blank or missing configurations, particularly in the context of emergency downloads with DAS units that have blank filestore(s).
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `DASConfigurationEvent` (class)
|
||||
**Namespace:** `DTS.Common.Events.DASFactory`
|
||||
|
||||
**Inheritance:** `CompositePresentationEvent<IDASConfigurationArg>`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class DASConfigurationEvent : CompositePresentationEvent<IDASConfigurationArg> { }
|
||||
```
|
||||
|
||||
**Behavior:** This is a marker class that inherits from Prism's `CompositePresentationEvent<T>` with a generic payload type of `IDASConfigurationArg`. It defines no additional members; all functionality (Subscribe, Publish, etc.) is provided by the base class. It is intended to be used with Prism's `IEventAggregator` for loosely-coupled event publication and subscription.
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- The event payload must always be an object implementing `IDASConfigurationArg`.
|
||||
- This class cannot be instantiated or used without a Prism `IEventAggregator` instance (implied by inheritance from `CompositePresentationEvent<T>`).
|
||||
- The event is designed specifically for configuration-related notifications within the DASFactory domain.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `DTS.Common.Interface.DASFactory` — provides the `IDASConfigurationArg` interface used as the event payload type.
|
||||
- `Microsoft.Practices.Prism.Events` — provides the `CompositePresentationEvent<T>` base class for the pub/sub event pattern.
|
||||
|
||||
**What depends on this module:**
|
||||
- Not determinable from the source file alone. Consumers would typically be other modules that subscribe to or publish this event via `IEventAggregator`.
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Limited scope:** The XML comment explicitly states this event is "currently only used to notify when blank or missing configurations occur." Developers should not assume it handles all configuration change scenarios.
|
||||
- **Historical context:** The comment references issue/ticket "17872" regarding emergency downloads with DAS units having blank filestore(s). This suggests the event was introduced for a specific use case and may have narrow applicability.
|
||||
- **No custom implementation:** The class body is empty; all behavior comes from the base class. Any payload validation or transformation must occur before publishing or after subscribing, not within this class.
|
||||
60
docs/ai/Common/DTS.CommonCore/Events/DTS.Viewer/Reports.md
Normal file
60
docs/ai/Common/DTS.CommonCore/Events/DTS.Viewer/Reports.md
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/Reports/SaveReportToCSVRequestedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/Reports/SaveReportToPDFRequestedEvent.cs
|
||||
generated_at: "2026-04-17T16:37:24.004362+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "82218c788c94f519"
|
||||
---
|
||||
|
||||
# Documentation: Report Export Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two Prism event aggregation events for requesting report exports in the DTS Viewer application. `SaveReportToCSVRequestedEvent` and `SaveReportToPDFRequestedEvent` enable loosely-coupled communication between components that trigger report exports and the handlers that process them, following the event aggregator pattern from the Prism library.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `SaveReportToCSVRequestedEvent`
|
||||
**Signature:** `public class SaveReportToCSVRequestedEvent : CompositePresentationEvent<SaveReportToCSVRequestedEventArgs>`
|
||||
|
||||
A composite presentation event that, when published, signals a request to export a report to CSV format. Subscribers receive a `SaveReportToCSVRequestedEventArgs` payload.
|
||||
|
||||
---
|
||||
|
||||
### `SaveReportToCSVRequestedEventArgs`
|
||||
**Signature:** `public class SaveReportToCSVRequestedEventArgs`
|
||||
|
||||
Payload class containing data for CSV export requests.
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Directory` | `string` | Target directory path for the exported file. |
|
||||
| `ParentVM` | `IBaseViewModel` | Reference to the parent view model initiating the request. |
|
||||
|
||||
---
|
||||
|
||||
### `SaveReportToPDFRequestedEvent`
|
||||
**Signature:** `public class SaveReportToPDFRequestedEvent : CompositePresentationEvent<SaveReportToPDFRequestedEventArgs>`
|
||||
|
||||
A composite presentation event that, when published, signals a request to export a report to PDF format. Subscribers receive a `SaveReportToPDFRequestedEventArgs` payload.
|
||||
|
||||
---
|
||||
|
||||
### `SaveReportToPDFRequestedEventArgs`
|
||||
**Signature:** `public class SaveReportToPDFRequestedEventArgs`
|
||||
|
||||
Payload class containing data for PDF export requests.
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Directory` | `string` | Target directory path for the exported file. |
|
||||
| `ParentVM` | `IBaseViewModel` | Reference to the parent view model initiating the request. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Both event classes inherit from `CompositePresentationEvent<T>`, requiring subscribers to handle the corresponding `EventArgs` type.
|
||||
- The `Directory` property is expected to contain a
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/Reports/PowerSpectralDensity/PSDReportGRMSValuesUpdatedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/Reports/PowerSpectralDensity/PSDReportSettingsChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:24:44.542867+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "39fc236fad6b3b49"
|
||||
---
|
||||
|
||||
# PowerSpectralDensity
|
||||
|
||||
### Purpose
|
||||
This module defines Prism event aggregation types for communicating changes related to Power Spectral Density (PSD) reports. It provides two event classes—`PSDReportGRMSValuesUpdatedEvent` and `PSDReportSettingsChangedEvent`—that enable loosely-coupled publication and subscription of PSD report state changes across the application, particularly for GRMS (G-RMS, likely Root Mean Square acceleration) value updates and settings model changes.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`PSDReportGRMSValuesUpdatedEvent`**
|
||||
- Inherits from `CompositePresentationEvent<PSDReportGRMSValuesUpdatedEventArg>`
|
||||
- No additional members; serves as a typed event carrier for the Prism EventAggregator
|
||||
|
||||
**`PSDReportGRMSValuesUpdatedEventArg`**
|
||||
- `IChannelGRMSSummary[] Values` — Array of GRMS summary values (getter/setter)
|
||||
- `IBaseViewModel ParentVM` — Reference to the parent view model (getter/setter)
|
||||
|
||||
**`PSDReportSettingsChangedEvent`**
|
||||
- Inherits from `CompositePresentationEvent<PSDReportSettingsChangedEventArg>`
|
||||
- No additional members; serves as a typed event carrier for the Prism EventAggregator
|
||||
|
||||
**`PSDReportSettingsChangedEventArg`**
|
||||
- `IPSDReportSettingsModel Model` — The PSD report settings model (getter/setter)
|
||||
- `IBaseViewModel ParentVM` — Reference to the parent view model (getter/setter)
|
||||
|
||||
### Invariants
|
||||
- Event argument properties (`Values`, `Model`, `ParentVM`) are publicly settable with no null validation in the source; consumers should not assume non-null values.
|
||||
- The `Values` array in `PSDReportGRMSValuesUpdatedEventArg` may be empty but should not be assumed sorted or filtered.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on:** `DTS.Common.Base` (for `IBaseViewModel`), `DTS.Common.Interface` (for `IChannelGRMSSummary`, `IPSDReportSettingsModel`), `Microsoft.Practices.Prism.Events` (for `CompositePresentationEvent<T>`)
|
||||
- **Dependents:** Unknown from source alone; likely consumed by PSD report view models and related UI components.
|
||||
|
||||
### Gotchas
|
||||
- The event argument classes use mutable auto-properties with no constructor initialization. Callers must ensure all required properties are set before publishing.
|
||||
- The `ParentVM` property appears in both event argument types, suggesting a pattern where event handlers may need to communicate back to the originating view model, but the exact usage pattern is unclear from source alone.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,83 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/TestModification/RefreshTestRequestEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/TestModification/ShowT0CursorEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/TestModification/TestModificationChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/TestModification/SetUseZeroForUnfilteredEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/TestModification/TestModificationEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/TestModification/ShiftT0Event.cs
|
||||
generated_at: "2026-04-17T16:03:15.424024+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "f3ae1bbc7522d687"
|
||||
---
|
||||
|
||||
# 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.CommonCore/Events/DTS.Viewer/ViewerChartOptions/ResetZoomChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerChartOptions/CursorShowChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerChartOptions/CursorsClearChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerChartOptions/CursorShowMinMaxChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerChartOptions/CursorsAlailableChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerChartOptions/SaveToPDFRequestedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerChartOptions/ChartAxisChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerChartOptions/ChartOptionsChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:02:47.397446+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "e4db1ed01ee3ab20"
|
||||
---
|
||||
|
||||
# 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 `
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerFilter/FilterParameterChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:39:31.229290+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "e2918a5abc891c6f"
|
||||
---
|
||||
|
||||
# Documentation: FilterParameterChangedEvent
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module provides a Prism Event Aggregator event for broadcasting filter parameter changes within a viewer context. It enables loosely coupled communication between view models when filter criteria are modified, allowing components to react to filter changes without direct references to the source. The event carries information about both the requesting view model and the filter parameter value.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `FilterParameterArgs`
|
||||
|
||||
A payload class that carries data for filter parameter change notifications.
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Requester` | `IBaseViewModel` | The view model that requested the filter operation. Has public getter and setter. |
|
||||
| `Param` | `string` | The filter parameter value. Has public getter and setter. |
|
||||
|
||||
### `FilterParameterChangedEvent`
|
||||
|
||||
An event class for publishing/subscribing to filter parameter changes.
|
||||
|
||||
```
|
||||
public class FilterParameterChangedEvent : CompositePresentationEvent<FilterParameterArgs>
|
||||
```
|
||||
|
||||
Inherits from `CompositePresentationEvent<FilterParameterArgs>`, providing standard Prism event aggregation capabilities (publish, subscribe, unsubscribe).
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- The `FilterParameterChangedEvent` always publishes payloads of type `FilterParameterArgs`.
|
||||
- Both `Requester` and `Param` properties are nullable (no validation is enforced at the type level).
|
||||
- The class uses a default parameterless constructor (implicitly defined).
|
||||
- The event follows the Prism Event Aggregator pattern and requires an `IEventAggregator` instance to function properly.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- **`DTS.Common.Base`** - Provides `IBaseViewModel` interface used for the `Requester` property.
|
||||
- **`Microsoft.Practices.Prism.Events`** - Provides `CompositePresentationEvent<T>` base class for event definition.
|
||||
|
||||
### What depends on this module:
|
||||
- **Unknown from source alone** - No consumers are defined in this file. Typically, view models that publish or subscribe to filter changes would depend on this event.
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Namespace mismatch**: The file is located at `Common/DTS.CommonCore/Events/DTS.Viewer/ViewerFilter/` but the declared namespace is `DTS.Common.Events`. The `// ReSharper disable CheckNamespace` directive suppresses the IDE warning, suggesting this is intentional but may cause confusion when locating the file.
|
||||
- **Mutable payload**: `FilterParameterArgs` properties have public setters, allowing modification after event publication. Subscribers could potentially mutate the payload, affecting other subscribers.
|
||||
- **No null
|
||||
@@ -0,0 +1,55 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerSettings/CalibrationBehaviorSettableInViewerChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerSettings/ViewerSettingsVisibilityChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:37:21.633818+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "cb19af85b80535a7"
|
||||
---
|
||||
|
||||
# Documentation: Viewer Settings Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two Prism event classes used for communication within a viewer subsystem. These events facilitate decoupled publish/subscribe messaging regarding viewer settings state changes—specifically, whether calibration behavior can be set in the viewer, and the visibility state of viewer settings UI. Both events inherit from `CompositePresentationEvent<T>` and serve as typed message carriers in an event aggregation pattern.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `CalibrationBehaviorSettableInViewerChangedEvent`
|
||||
- **Signature:** `public class CalibrationBehaviorSettableInViewerChangedEvent : CompositePresentationEvent<bool>`
|
||||
- **Behavior:** A typed event that carries a `bool` payload indicating whether calibration behavior is settable in the viewer. Subscribers receive `true` or `false` to denote the current settable state. No additional members are defined beyond the inherited `CompositePresentationEvent<bool>`.
|
||||
|
||||
### `ViewerSettingsVisibilityChangedEvent`
|
||||
- **Signature:** `public class ViewerSettingsVisibilityChangedEvent : CompositePresentationEvent<Visibility>`
|
||||
- **Behavior:** A typed event that carries a `System.Windows.Visibility` payload (e.g., `Visible`, `Hidden`, `Collapsed`). Subscribers receive visibility state changes for the viewer settings UI. No additional members are defined beyond the inherited `CompositePresentationEvent<Visibility>`.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Both event classes are sealed by implication of having no `virtual` or `abstract` members; they are intended for instantiation and use as-is.
|
||||
- The payload type for `CalibrationBehaviorSettableInViewerChangedEvent` is always `bool`; no other type may be published through this event.
|
||||
- The payload type for `ViewerSettingsVisibilityChangedEvent` is always `System.Windows.Visibility`; no other type may be published through this event.
|
||||
- Both classes reside in the `DTS.Common.Events` namespace regardless of their file location (see Gotchas).
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `Microsoft.Practices.Prism.Events.CompositePresentationEvent<T>` — base class for both events, providing publish/subscribe infrastructure.
|
||||
- `System.Windows.Visibility` — enum type used as payload for `ViewerSettingsVisibilityChangedEvent`.
|
||||
|
||||
### What depends on this module:
|
||||
- **Inferred consumers:** Any component that publishes or subscribes to viewer settings state changes, likely within a viewer module or related UI components. Specific consumers cannot be determined from these source files alone.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Namespace/file location mismatch:** Both files contain `// ReSharper disable CheckNamespace` and are located in a subdirectory path (`DTS.Viewer/ViewerSettings/`), yet declare namespace `DTS.Common.Events`. This suggests intentional namespace flattening for event aggregation purposes, but may cause confusion when navigating the codebase.
|
||||
- **No explicit constructors or members:** Both classes rely entirely on inherited functionality from `CompositePresentationEvent<T>`. Developers unfamiliar with Prism's event aggregation pattern may need to reference Prism documentation to understand usage (Subscribe, Publish, etc.).
|
||||
- **WPF dependency:** `ViewerSettingsVisibilityChangedEvent` uses `System.Windows.Visibility`, tying it to WPF/UI concerns. This may limit reusability in non-WPF contexts.
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/ChannelSelectionCountNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/ChannelsModificationNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/ChannelSelectionChangeNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/GraphChannelReadCalcProgressChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/GraphChannelsReadCompletedNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/DataFileSelectedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/GraphLoadedCountNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/TestLoadedCountNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/TestSummaryCountNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/GraphClearNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/GraphSelectedChannelCountNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/GraphSelectedChannelsNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/ChannelsModificationLineFitNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/TestSummaryChangeNotification.cs
|
||||
- Common/DTS.CommonCore/Events/DTS.Viewer/ViewerTestSummary/DataFolderChangedEvent.cs
|
||||
generated_at: "2026-04-17T15:29:01.513697+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "fc5a35e0bc4c988a"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events (ViewerTestSummary)
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a set of Prism-based pub/sub events for coordinating state changes within the Viewer Test Summary subsystem. These events facilitate loose coupling between components by enabling notification of channel selections, graph loading/progress, test summary changes, and data file/folder selections. The events follow the `CompositePresentationEvent<T>` pattern from Microsoft.Practices.Prism, allowing subscribers to receive strongly-typed payloads when specific UI or data operations occur.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### Channel Selection Events
|
||||
|
||||
#### `ChannelSelectionCountNotification`
|
||||
- **Signature:** `public class ChannelSelectionCountNotification : CompositePresentationEvent<int>`
|
||||
- **Behavior:** Publishes the count of selected channels as an integer value.
|
||||
|
||||
#### `ChannelSelectionChangeNotification`
|
||||
- **Signature:** `public class ChannelSelectionChangeNotification : CompositePresentationEvent<List<ITestChannel>>`
|
||||
- **Behavior:** Publishes a list of `ITestChannel` objects when the selected Test Summary list changes.
|
||||
|
||||
#### `ChannelsModificationNotification`
|
||||
- **Signature:** `public class ChannelsModificationNotification : CompositePresentationEvent<List<ITestChannel>>`
|
||||
- **Behavior:** Publishes a list of `ITestChannel` objects when the number of selected graphs changes.
|
||||
|
||||
#### `ChannelsModificationLineFitNotification`
|
||||
- **Signature:** `public class ChannelsModificationLineFitNotification : CompositePresentationEvent<LineFitArgs>`
|
||||
- **Behavior:** Publishes line fit modification data with channel and index range information.
|
||||
|
||||
**Payload class `LineFitArgs`:**
|
||||
```csharp
|
||||
public LineFitArgs(ITestChannel channel, ulong startIndex, ulong endIndex)
|
||||
```
|
||||
- `Channel` (ITestChannel): The test channel being modified
|
||||
- `StartIndex` (ulong): Starting index for the line fit
|
||||
- `EndIndex` (ulong): Ending index for
|
||||
79
docs/ai/Common/DTS.CommonCore/Events/Database.md
Normal file
79
docs/ai/Common/DTS.CommonCore/Events/Database.md
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/Database/DbStatusEvent.cs
|
||||
generated_at: "2026-04-17T16:40:13.623179+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "d12f546e7f17ce45"
|
||||
---
|
||||
|
||||
# Documentation: DbStatusEvent.cs
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module provides an event mechanism for broadcasting database status changes within the application, specifically related to database switch operations. It exists to decouple database operation outcomes from their consumers, allowing loosely-coupled components to react to database synchronization, backup, restore, and connection failures. The module implements the Prism event aggregation pattern via `CompositePresentationEvent<T>`.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `DbStatusEvent`
|
||||
**Signature:** `public class DbStatusEvent : CompositePresentationEvent<DbStatusArg>`
|
||||
|
||||
A concrete event class that serves as a typed event carrier in the Prism event aggregation system. It carries `DbStatusArg` as its payload. This class has no additional members beyond its inherited functionality.
|
||||
|
||||
---
|
||||
|
||||
### `DbStatusArg`
|
||||
**Signature:** `public class DbStatusArg`
|
||||
|
||||
An immutable payload class containing the details of a database status event.
|
||||
|
||||
**Constructor:**
|
||||
```csharp
|
||||
public DbStatusArg(EventTypes error, Exception exception)
|
||||
```
|
||||
Constructs a new instance with the specified status type and optional exception.
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `Status` | `EventTypes` | Get only | The type of status event that occurred |
|
||||
| `Exception` | `Exception` | Get only | An associated exception, if any |
|
||||
|
||||
---
|
||||
|
||||
### `DbStatusArg.EventTypes`
|
||||
**Signature:** `public enum EventTypes`
|
||||
|
||||
Defines the possible database operation outcomes.
|
||||
|
||||
| Value | Implied Meaning |
|
||||
|-------|-----------------|
|
||||
| `FailedToConnectToRemote` | Connection to remote database failed |
|
||||
| `FailedToBackupLocal` | Local database backup operation failed |
|
||||
| `FailedToCopy` | Copy operation failed |
|
||||
| `FailedToRestoreLocal` | Local database restore operation failed |
|
||||
| `FailedToBackupLocalFileNotFound` | Backup failed due to missing file |
|
||||
| `Complete` | Operation completed successfully |
|
||||
| `LegacyStatus` | Unclear from source alone |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **Immutability:** `DbStatusArg` instances are immutable after construction. The `Status` and `Exception` properties have no setters.
|
||||
- **Non-null Status:** The `Status` property is always assigned via the constructor; it cannot be null since `EventTypes` is a value type enum.
|
||||
- **Event payload type:** `DbStatusEvent` always carries `DbStatusArg` as its payload type, enforced by the generic base class.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `System` (standard .NET namespace for `Exception` type)
|
||||
- `Microsoft.Practices.Prism.Events` (provides `CompositePresentationEvent<T>` for event aggregation)
|
||||
|
||||
**What depends on this module:**
|
||||
- Cannot be
|
||||
66
docs/ai/Common/DTS.CommonCore/Events/Diagnostics.md
Normal file
66
docs/ai/Common/DTS.CommonCore/Events/Diagnostics.md
Normal file
@@ -0,0 +1,66 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/Diagnostics/CheckDataToDownloadEvent.cs
|
||||
generated_at: "2026-04-17T16:39:24.594402+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "93563fd63be87aa2"
|
||||
---
|
||||
|
||||
# Documentation: CheckDataToDownloadEvent.cs
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a Prism-based event for diagnostic purposes, specifically to signal when data should be checked prior to downloading. It provides a mechanism for components to communicate about download validation, with an option to bypass the check entirely. The event carries contextual information about the producer that raised it, allowing subscribers to make informed decisions about whether to proceed with or skip validation logic.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `CheckDataToDownloadEvent`
|
||||
A typed event class that inherits from `CompositePresentationEvent<CheckDataToDownloadEventArgs>`. This class has no additional members; it serves as a strongly-typed event definition for the Prism event aggregation system.
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class CheckDataToDownloadEvent : CompositePresentationEvent<CheckDataToDownloadEventArgs>
|
||||
```
|
||||
|
||||
### `CheckDataToDownloadEventArgs`
|
||||
An immutable payload class carrying event data.
|
||||
|
||||
**Constructor:**
|
||||
```csharp
|
||||
public CheckDataToDownloadEventArgs(bool bypassCheck, object o)
|
||||
```
|
||||
|
||||
**Properties:**
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `BypassCheck` | `bool` | Public getter, private setter | Indicates whether the data check should be skipped |
|
||||
| `Producer` | `object` | Public getter, private setter | Reference to the object that raised the event |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **Immutability**: Both `BypassCheck` and `Producer` properties are set exclusively via the constructor and cannot be modified after instantiation (private setters).
|
||||
- **Nullability**: The `Producer` property accepts any `object` reference, including `null`. No null-checking is enforced by the constructor.
|
||||
- **Type constraint**: The event is strongly typed to carry `CheckDataToDownloadEventArgs` via the generic base class `CompositePresentationEvent<T>`.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `Microsoft.Practices.Prism.Events` — Provides `CompositePresentationEvent<T>`, the base class for Prism's event aggregation pattern.
|
||||
|
||||
### What depends on this module:
|
||||
- **Unknown from source alone.** Consumers would subscribe to or publish `CheckDataToDownloadEvent` via a Prism `IEventAggregator`, but no subscribers or publishers are visible in this file.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Weak type safety on `Producer`**: The `Producer` property is typed as `object`, requiring subscribers to cast if they need type-specific behavior. This design trades type safety for flexibility across heterogeneous producers.
|
||||
- **No validation in constructor**: The constructor does not validate the `Producer` argument; `null` values are permitted and will propagate silently.
|
||||
- **Empty event class**: `CheckDataTo
|
||||
@@ -0,0 +1,69 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/GroupTemplates/CustomChannels/CustomChannelExportFileSetEvent.cs
|
||||
- Common/DTS.CommonCore/Events/GroupTemplates/CustomChannels/CustomChannelImportEvent.cs
|
||||
generated_at: "2026-04-17T16:37:05.967278+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "a3c4db7c7bb964f4"
|
||||
---
|
||||
|
||||
# Documentation: Custom Channel Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module provides event definitions for coordinating custom channel import and export operations within a group templates feature. It leverages the Prism Event Aggregation pattern to enable loosely-coupled communication between application components, allowing publishers and subscribers to interact without direct references. The events facilitate signaling export file set operations and import status notifications.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `CustomChannelExportFileSetEvent`
|
||||
**Signature:** `public class CustomChannelExportFileSetEvent : CompositePresentationEvent<string>`
|
||||
|
||||
An event that publishes a `string` payload. According to the source comments, it informs the application that it should mark itself busy or available.
|
||||
|
||||
### `CustomChannelImportEvent`
|
||||
**Signature:** `public class CustomChannelImportEvent : CompositePresentationEvent<CustomChannelImportEventArgs>`
|
||||
|
||||
An event that publishes `CustomChannelImportEventArgs` to inform subscribers of custom channel import status.
|
||||
|
||||
### `CustomChannelImportEventArgs`
|
||||
**Signature:** `public class CustomChannelImportEventArgs`
|
||||
|
||||
A payload class containing import status information.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `Status` | `enum` | Nested enum with a single value: `Done` |
|
||||
| `ImportStatus` | `Status` | Read-only property containing the import status |
|
||||
|
||||
**Constructor:** `CustomChannelImportEventArgs(Status status)` — Initializes the instance with the specified status.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `CustomChannelImportEventArgs.ImportStatus` is immutable after construction (read-only property with no setter).
|
||||
- `CustomChannelImportEventArgs.Status` enum currently defines only the `Done` value; any other status values are undefined.
|
||||
- Both event classes inherit from `CompositePresentationEvent<T>` from Prism, implying they must be used with an `IEventAggregator` instance.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `Microsoft.Practices.Prism.Events` — Specifically the `CompositePresentationEvent<T>` base class for event aggregation.
|
||||
|
||||
### What depends on this module:
|
||||
- **Cannot be determined from source alone.** Consumers would be any component that publishes or subscribes to these events via an `IEventAggregator`.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
1. **Ambiguous string payload:** `CustomChannelExportFileSetEvent` uses a `string` payload, but the source does not define what this string represents (e.g., a file path, identifier, or status message). The comment mentions "mark itself busy or available," but the relationship between the string value and busy/available state is unclear.
|
||||
|
||||
2. **Incomplete status enum:** `CustomChannelImportEventArgs.Status` only defines `Done`. There are no intermediate states (e.g., `Started`, `InProgress`, `Failed`) visible in the source, which may indicate either a simplified implementation or missing status values.
|
||||
|
||||
3. **No null validation:** `CustomChannelImportEventArgs` does not validate the
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/GroupTemplates/GroupTemplateList/GroupTemplateListGroupDoubleClickEvent.cs
|
||||
- Common/DTS.CommonCore/Events/GroupTemplates/GroupTemplateList/GroupTemplateListGroupTemplateSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:37:06.219792+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "e80d59b89c12e842"
|
||||
---
|
||||
|
||||
# Documentation: GroupTemplateList Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two event types used within the GroupTemplateList feature, implementing the Prism event aggregation pattern. These events enable loosely-coupled publish/subscribe communication between components when user interactions occur with group templates—specifically when a template is selected or double-clicked. Both events inherit from Prism's `CompositePresentationEvent<T>` base class, allowing them to be transmitted through an event aggregator.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `GroupTemplateListGroupDoubleClickEvent`
|
||||
- **Signature:** `public class GroupTemplateListGroupDoubleClickEvent : CompositePresentationEvent<string>`
|
||||
- **Behavior:** Raised when a group template is double-clicked. Carries a single `string` payload (presumably a template identifier or name).
|
||||
|
||||
### `GroupTemplateListGroupTemplateSelectedEvent`
|
||||
- **Signature:** `public class GroupTemplateListGroupTemplateSelectedEvent : CompositePresentationEvent<string[]>`
|
||||
- **Behavior:** Raised when a group template is selected. Carries a `string[]` array payload (contents and structure of the array are not documented in source).
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Both event classes are sealed by the compiler (no explicit inheritance modifiers, but they have no derived classes in this module).
|
||||
- `GroupTemplateListGroupDoubleClickEvent` always carries a `string` payload, never null at the point of subscription dispatch (enforced by Prism framework).
|
||||
- `GroupTemplateListGroupTemplateSelectedEvent` always carries a `string[]` payload, never null at the point of subscription dispatch (enforced by Prism framework).
|
||||
- Both events must be published and subscribed through a Prism `IEventAggregator` instance.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `Microsoft.Practices.Prism.Events` — Provides `CompositePresentationEvent<T>` base class for event aggregation.
|
||||
|
||||
**Consumers (inferred):**
|
||||
- Unknown from source alone. These events are published by GroupTemplateList UI components and subscribed to by handlers responding to template selection/double-click actions.
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
1. **Documentation copy-paste error:** The XML summary in `GroupTemplateListGroupDoubleClickEvent.cs` incorrectly states "The GroupTemplateListGroupTemplateSelectedEvent event" instead of referencing the correct class name. This is a documentation bug.
|
||||
|
||||
2. **Payload type inconsistency:** The `GroupTemplateListGroupDoubleClickEvent` uses `string` while `GroupTemplateListGroupTemplateSelectedEvent` uses `string[]`. The rationale for this difference is not explained in the source—developers should verify expected payload structure with consuming code.
|
||||
|
||||
3. **Vague remarks:** Both events share the identical
|
||||
@@ -0,0 +1,71 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/GroupTemplates/TemplateChannelList/TemplateChannelListOrderChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/GroupTemplates/TemplateChannelList/TemplateChannelListSelectionChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/GroupTemplates/TemplateChannelList/TemplateChannelListRequiredChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:35:32.859295+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "fb9700a29609067e"
|
||||
---
|
||||
|
||||
# Documentation: TemplateChannelList Events
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines three event types within the `DTS.Common.Events.GroupTemplates.TemplateChannelList` namespace for publishing and subscribing to changes related to template channel lists. These events facilitate loose coupling between components in a group template management system, allowing subscribers to react to order changes, selection changes, and required-state changes for channels. The events leverage the Prism event aggregation pattern via `CompositePresentationEvent<T>`.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `TemplateChannelListOrderChangedEvent`
|
||||
**Signature:** `public class TemplateChannelListOrderChangedEvent : CompositePresentationEvent<IGroupTemplateChannel>`
|
||||
|
||||
An event that publishes `IGroupTemplateChannel` payloads when the order of items in a template channel list has changed. Subscribers receive the affected `IGroupTemplateChannel` instance.
|
||||
|
||||
---
|
||||
|
||||
### `TemplateChannelListSelectionChangedEvent`
|
||||
**Signature:** `public class TemplateChannelListSelectionChangedEvent : CompositePresentationEvent<IGroupTemplateChannel>`
|
||||
|
||||
An event that publishes `IGroupTemplateChannel` payloads when the selection state of an item in a template channel list has changed. Subscribers receive the `IGroupTemplateChannel` instance whose selection changed.
|
||||
|
||||
---
|
||||
|
||||
### `TemplateChannelListRequiredChangedEvent`
|
||||
**Signature:** `public class TemplateChannelListRequiredChangedEvent : CompositePresentationEvent<TemplateChannelListRequiredChangeEventArgs>`
|
||||
|
||||
An event that publishes `TemplateChannelListRequiredChangeEventArgs` payloads when the "required" state of channel(s) has changed. Subscribers receive an event args object containing both the consumer and the affected channels.
|
||||
|
||||
---
|
||||
|
||||
### `TemplateChannelListRequiredChangeEventArgs`
|
||||
**Signature:** `public class TemplateChannelListRequiredChangeEventArgs`
|
||||
|
||||
A payload class carrying context for required-state changes.
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Consumer` | `object` | The consumer object associated with the required change. |
|
||||
| `Channels` | `IGroupTemplateChannel[]` | Array of channels affected by the required-state change. |
|
||||
|
||||
**Constructor:** `TemplateChannelListRequiredChangeEventArgs(object o, IGroupTemplateChannel[] channels)`
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- All three event classes inherit from `CompositePresentationEvent<T>` from the Prism framework, ensuring they follow the event aggregation pattern.
|
||||
- `TemplateChannelListOrderChangedEvent` and `TemplateChannelListSelectionChangedEvent` always carry a single `IGroupTemplateChannel` instance as their payload.
|
||||
- `TemplateChannelListRequiredChangedEvent` always carries a `TemplateChannelListRequiredChangeEventArgs` instance, which contains a non-null `Consumer` object and a `Channels` array (the array may be empty but is never null per constructor assignment).
|
||||
- All events are reference types and must be published/subscribed through a Prism `IEventAggregator`.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Interface.GroupTemplate` — Provides the `IGroupTemplateChannel` interface used as payload type.
|
||||
- `Microsoft.Practices.Prism.Events` — Provides `CompositePresentationEvent<T>` base class for event aggregation.
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/Groups/GroupChannelList/GroupChannelDeleteRequestEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Groups/GroupChannelList/GroupChannelsChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Groups/GroupChannelList/GroupUpdatedEvent.cs
|
||||
generated_at: "2026-04-17T16:35:33.113253+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "62b1d67b4fec52ab"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.Groups.GroupChannelList
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines three Prism-based events for managing group channel lifecycle operations within the DTS system. It provides a pub/sub mechanism for coordinating channel deletion requests, channel collection changes, and group update status notifications across loosely-coupled components. The events follow the `CompositePresentationEvent<T>` pattern from Microsoft.Practices.Prism, enabling decoupled communication between UI components and business logic handlers.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `GroupChannelDeleteRequestEvent`
|
||||
**Signature:** `public class GroupChannelDeleteRequestEvent : CompositePresentationEvent<GroupChannelDeleteRequestEventArgs>`
|
||||
|
||||
An event raised to request deletion of a group channel. Subscribers handle the actual deletion logic; publishers initiate the request.
|
||||
|
||||
---
|
||||
|
||||
### `GroupChannelDeleteRequestEventArgs`
|
||||
**Signature:** `public class GroupChannelDeleteRequestEventArgs`
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Page` | `object` | The page/context initiating the delete request. Read-only. |
|
||||
| `Channel` | `IGroupChannel` | The channel targeted for deletion. Read-only. |
|
||||
|
||||
**Constructor:** `GroupChannelDeleteRequestEventArgs(object page, IGroupChannel channel)`
|
||||
|
||||
---
|
||||
|
||||
### `GroupChannelsChangedEvent`
|
||||
**Signature:** `public class GroupChannelsChangedEvent : CompositePresentationEvent<GroupChannelsChangedEventArgs>`
|
||||
|
||||
An event raised when the collection of channels within a group has changed.
|
||||
|
||||
---
|
||||
|
||||
### `GroupChannelsChangedEventArgs`
|
||||
**Signature:** `public class GroupChannelsChangedEventArgs`
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Group` | `object` | The group whose channels changed. Read-only. |
|
||||
| `ChannelCount` | `int` | The updated count of channels in the group. Read-only. |
|
||||
|
||||
**Constructor:** `GroupChannelsChangedEventArgs(object group, int channelCount)`
|
||||
|
||||
---
|
||||
|
||||
### `GroupUpdatedEvent`
|
||||
**Signature:** `public class GroupUpdatedEvent : CompositePresentationEvent<GroupUpdatedEventArgs>`
|
||||
|
||||
An event raised 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 initiating the update. Read-only. |
|
||||
| `UpdateStatus` | `Status` | The status indicating what type of update occurred. Read-only. |
|
||||
|
||||
**Constructor:** `GroupUpdatedEventArgs(object page, Status status)`
|
||||
|
||||
**Nested Enum:**
|
||||
```csharp
|
||||
public enum Status
|
||||
{
|
||||
ChannelsInserted,
|
||||
AssignmentsMade
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- All event argument classes are immutable after construction; properties are get-only and set exclusively
|
||||
64
docs/ai/Common/DTS.CommonCore/Events/Groups/GroupsList.md
Normal file
64
docs/ai/Common/DTS.CommonCore/Events/Groups/GroupsList.md
Normal file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/Groups/GroupsList/GroupListEditGroupEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Groups/GroupsList/GroupListGroupSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:37:08.634284+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "891bc058cc39fcbc"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.Groups.GroupList
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines event types for group list operations within a Prism-based event aggregation system. It provides strongly-typed event classes that enable decoupled publish/subscribe communication between components when users interact with groups in a list view—specifically when editing a group or selecting one or more groups. These events carry group identifiers as payloads and are intended to be used with Prism's `IEventAggregator` mechanism.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `GroupListEditGroupEvent`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class GroupListEditGroupEvent : CompositePresentationEvent<int> { }
|
||||
```
|
||||
|
||||
**Behavior:** An event that publishes an `int` payload representing a single group ID. Subscribers receive this event when a group is being edited from a group list context.
|
||||
|
||||
---
|
||||
|
||||
### `GroupListGroupSelectedEvent`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class GroupListGroupSelectedEvent : CompositePresentationEvent<int[]> { }
|
||||
```
|
||||
|
||||
**Behavior:** An event that publishes an `int[]` payload representing one or more group IDs. Subscribers receive this event when group selection changes in a group list context.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `GroupListEditGroupEvent` always carries a single `int` payload (a group identifier).
|
||||
- `GroupListGroupSelectedEvent` always carries an `int[]` payload (an array of group identifiers, which may contain zero, one, or multiple elements).
|
||||
- Both classes inherit from `CompositePresentationEvent<T>` from the Prism framework, ensuring they integrate with Prism's `IEventAggregator` for thread-safe publish/subscribe patterns.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `Microsoft.Practices.Prism.Events` — Provides the `CompositePresentationEvent<T>` base class for Prism event aggregation.
|
||||
|
||||
**Consumers (inferred):**
|
||||
- Components that publish or subscribe to group list events via Prism's `IEventAggregator`. Specific consumers cannot be determined from these source files alone.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Stale XML documentation:** Both classes contain copy-pasted XML comments that reference `GroupTemplateListGroupTemplateSelectedEvent` and state "called when a template is selected." These comments do not match the actual class names or their intended purpose (group operations, not template operations). The documentation should be updated to reflect the correct class names and behaviors.
|
||||
- **Payload type difference:** Note that `GroupListEditGroupEvent` uses `int` while `GroupListGroupSelectedEvent` uses `int[]`. Subscribers must handle the appropriate payload type for each event.
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/Hardware/HardwareList/HardwareListShowCompactEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Hardware/HardwareList/HardwareListEditHardwareEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Hardware/HardwareList/HardwareListHardwareSelectedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Hardware/HardwareList/HardwareReplaceEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Hardware/HardwareList/HardwareSavedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Hardware/HardwareList/HardwareListHardwareIncludedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Hardware/HardwareList/HardwareListHardwareTestPTPDomainIDEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Hardware/HardwareList/HardwareListHardwareTestSampleRateEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Hardware/HardwareList/HardwareListHardwareTestClockMasterEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Hardware/HardwareList/HardwareListHardwareTestAAFilterRateEvent.cs
|
||||
generated_at: "2026-04-17T16:34:19.298855+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "e4b0fd2ea0282a1d"
|
||||
---
|
||||
|
||||
# Hardware List Events Module Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a collection of Prism-based event classes for coordinating hardware list operations within the DTS (Data Acquisition System) application. These events facilitate loosely-coupled communication between components regarding hardware selection, configuration changes (sample rate, clock master status, PTP domain ID, AA filter rate), inclusion state, replacement requests, and persistence operations. All events inherit from `CompositePresentation
|
||||
63
docs/ai/Common/DTS.CommonCore/Events/ISO.md
Normal file
63
docs/ai/Common/DTS.CommonCore/Events/ISO.md
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/ISO/ExtraPropertiesChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:39:23.058616+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "c9e635756f4d2d11"
|
||||
---
|
||||
|
||||
# Documentation: ExtraPropertiesChangedEvent.cs
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a Prism-based event mechanism for broadcasting changes to "extra properties" within the ISO-related subsystem. It enables decoupled pub/sub communication between components, allowing a producer to notify consumers when a collection of `IExtraProperty` objects has changed. The event follows the Prism CompositePresentationEvent pattern for loosely-coupled messaging.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ExtraPropertiesChangedEvent`
|
||||
A class that inherits from `CompositePresentationEvent<ExtraPropertiesChangedEventArgs>`. It serves as the event definition used with Prism's `IEventAggregator` for publishing and subscribing to extra property change notifications.
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class ExtraPropertiesChangedEvent : CompositePresentationEvent<ExtraPropertiesChangedEventArgs> { }
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `ExtraPropertiesChangedEventArgs`
|
||||
A payload class carrying information about the property change event.
|
||||
|
||||
**Constructor:**
|
||||
```csharp
|
||||
public ExtraPropertiesChangedEventArgs(IList<IExtraProperty> extraProperties, object producer, object consumer)
|
||||
```
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `ExtraProperties` | `IList<IExtraProperty>` | Public get, private set | The collection of extra properties that changed |
|
||||
| `Producer` | `object` | Public get, private set | The object that produced/owns the extra properties |
|
||||
| `Consumer` | `object` | Public get, private set | The intended consumer of the extra properties |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **Immutability**: All properties on `ExtraPropertiesChangedEventArgs` are read-only after construction (private setters).
|
||||
- **Required parameters**: The constructor requires all three parameters (`extraProperties`, `producer`, `consumer`) to be provided—no parameterless constructor exists.
|
||||
- **No null validation**: The constructor does not perform null checks on any parameters; null values will be stored as-is.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Interface.ISO.ExtraProperties` — Provides the `IExtraProperty` interface used in the `ExtraProperties` collection
|
||||
- `Microsoft.Practices.Prism.Events` — Provides `CompositePresentationEvent<T>` base class for the event pattern
|
||||
|
||||
### What depends on this module:
|
||||
- **Unknown from source alone** — Consumers would subscribe to or publish this event via Prism's `IEventAggregator`, but
|
||||
13
docs/ai/Common/DTS.CommonCore/Events/Realtime.md
Normal file
13
docs/ai/Common/DTS.CommonCore/Events/Realtime.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/Realtime/RealtimeChannelSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:09:12.333467+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "f812fcd3ad848fda"
|
||||
---
|
||||
|
||||
# Realtime
|
||||
|
||||
### Purpose
|
||||
This module defines the `RealtimeChannelSelectedEvent`, which is an event payload class designed to notify the system when a specific realtime channel has been selected. It
|
||||
54
docs/ai/Common/DTS.CommonCore/Events/RegionOfInterest.md
Normal file
54
docs/ai/Common/DTS.CommonCore/Events/RegionOfInterest.md
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/RegionOfInterest/RegionOfInterestChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:39:19.158808+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "e442143e0642d03f"
|
||||
---
|
||||
|
||||
# Documentation: RegionOfInterestChangedEvent
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines `RegionOfInterestChangedEvent`, a typed event class for use with the Prism Event Aggregator pattern. It enables loosely-coupled publication and subscription of region-of-interest change notifications across the application. The event carries an `IRegionOfInterest` payload, allowing subscribers to react to changes in the active or selected region without direct coupling to the publisher.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `RegionOfInterestChangedEvent`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class RegionOfInterestChangedEvent : CompositePresentationEvent<IRegionOfInterest> { }
|
||||
```
|
||||
|
||||
**Description:**
|
||||
An empty class that inherits from `CompositePresentationEvent<IRegionOfInterest>`. It serves as a type identifier for the Prism Event Aggregator, defining an event that publishes/subscribes to `IRegionOfInterest` instances. No additional members are defined; all functionality is inherited from the base class.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- The event payload type is fixed to `IRegionOfInterest`; subscribers will receive objects implementing this interface.
|
||||
- The class must remain instantiable (it is not `static` or `abstract`), allowing the Event Aggregator to create instances as needed.
|
||||
- Inheritance from `CompositePresentationEvent<T>` is required for integration with Prism's `IEventAggregator`.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Interface.RegionOfInterest.IRegionOfInterest` — the interface defining the event payload contract.
|
||||
- `Microsoft.Practices.Prism.Events.CompositePresentationEvent<T>` — the Prism base class for typed events.
|
||||
|
||||
### What depends on this module:
|
||||
- **Unknown from source alone.** Consumers would typically be modules that publish or subscribe to region-of-interest changes via the Event Aggregator.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Older Prism namespace:** The import `Microsoft.Practices.Prism.Events` indicates use of an older version of Prism (pre-.NET Core/NET5+). Modern Prism uses `Prism.Events`. This may affect migration or cross-version compatibility.
|
||||
- **Empty class by design:** The class body is intentionally empty. It relies entirely on the base class for functionality. Do not add instance members; thread-safe subscription options are provided by the base `CompositePresentationEvent<T>`.
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/RegionOfInterest/RegionOfInterestChannels/RegionOfInterestChannelsSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:39:26.691835+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "0a76b98d36f3be87"
|
||||
---
|
||||
|
||||
# Documentation: RegionOfInterestChannelsSelectedEvent
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a Prism event aggregation event used to broadcast when Region of Interest (ROI) channels are selected within the system. It follows the Prism `CompositePresentationEvent<T>` pattern, allowing loosely coupled publish/subscribe communication between components. The event carries payload data including the ROI suffix identifier, an array of selected channel names, and a reference to the consumer object that initiated or handles the selection.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `RegionOfInterestChannelsSelectedEvent`
|
||||
**Signature:** `public class RegionOfInterestChannelsSelectedEvent : CompositePresentationEvent<RegionOfInterestChannelsSelectedEventArgs>`
|
||||
|
||||
An empty class that inherits from `CompositePresentationEvent<RegionOfInterestChannelsSelectedEventArgs>`. This class serves as the event type definition for Prism's Event Aggregator, enabling type-safe event publication and subscription with `RegionOfInterestChannelsSelectedEventArgs` as the payload.
|
||||
|
||||
---
|
||||
|
||||
### `RegionOfInterestChannelsSelectedEventArgs`
|
||||
**Signature:** `public class RegionOfInterestChannelsSelectedEventArgs`
|
||||
|
||||
The payload class carrying event data. All properties are read-only (private setters) and are set exclusively through the constructor.
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `RegionOfInterestSuffix` | `string` | Public getter, private setter | Identifier suffix for the Region of Interest |
|
||||
| `ChannelNames` | `string[]` | Public getter, private setter | Array of selected channel names |
|
||||
| `Consumer` | `object` | Public getter, private setter | Reference to the consumer object associated with this selection |
|
||||
|
||||
**Constructor:**
|
||||
|
||||
```csharp
|
||||
public RegionOfInterestChannelsSelectedEventArgs(string roiSuffix, string[] selectedChannelNames, object o)
|
||||
```
|
||||
|
||||
Initializes a new instance with the specified ROI suffix, channel names array, and consumer object reference.
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **Immutability:** All properties of `RegionOfInterestChannelsSelectedEventArgs` are immutable after construction (private setters only).
|
||||
- **No null validation:** The constructor does not perform null checks on any parameters. Callers may pass null values for `roiSuffix`, `selectedChannelNames`, or `o`.
|
||||
- **Array reference:** The `ChannelNames` property stores the array reference directly without copying; modifications to the original array after construction will be reflected in the event args.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `Microsoft.Practices.Prism.Events` - Provides `CompositePresentationEvent<T>` base class for event aggregation
|
||||
- `Microsoft.Practices.Prism.Regions` - Imported but **not referenced** in the code body (appears to be an unused import)
|
||||
|
||||
**What depends on this module:**
|
||||
- Cannot be determined from source alone. Consumers would subscribe to or publish this event via Prism's `IEventAggregator`.
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
-
|
||||
30
docs/ai/Common/DTS.CommonCore/Events/Sensors.md
Normal file
30
docs/ai/Common/DTS.CommonCore/Events/Sensors.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/Sensors/CalibrationBehaviorSettingChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Sensors/SensorFilterTypeChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:24:58.470778+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "30f6514a87a4c903"
|
||||
---
|
||||
|
||||
# Sensors
|
||||
|
||||
### Purpose
|
||||
This module defines Prism-based pub/sub events for sensor calibration and filtering operations within the DTS system. It provides strongly-typed event payloads for communicating changes to calibration behavior settings and sensor filter configurations across loosely-coupled components.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**CalibrationBehaviorSettingChangedEvent**
|
||||
- Signature: `class CalibrationBehaviorSettingChangedEvent : CompositePresentationEvent<DTS.Common.Enums.Sensors.CalibrationBehaviors>`
|
||||
- Description: A generic event container that broadcasts changes to calibration behavior settings. The payload is a `CalibrationBehaviors` enum value.
|
||||
|
||||
**SensorFilterTypeChangedEvent**
|
||||
- Signature: `class SensorFilterTypeChangedEvent : CompositePresentationEvent<SensorFilterTypeChangedEventArgs>`
|
||||
- Description: Notifies subscribers that either an ISO code filter character or a filter class type has changed for a sensor.
|
||||
|
||||
**SensorFilterTypeChangedEventArgs**
|
||||
- Signature: `class SensorFilterTypeChangedEventArgs`
|
||||
- Constructors:
|
||||
- `SensorFilterTypeChangedEventArgs(char code, ISensorData sensor, ISensorCalibration sensorCalibration, bool useISOCodeFilterMapping, bool bUseZeroForUnfiltered)` — Sets `EventType` to `ISOCodeChar`.
|
||||
- `SensorFilterTypeChangedEventArgs(FilterClassType filterClassType, ISensorData sensor
|
||||
34
docs/ai/Common/DTS.CommonCore/Events/Sensors/SensorsList.md
Normal file
34
docs/ai/Common/DTS.CommonCore/Events/Sensors/SensorsList.md
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/Sensors/SensorsList/SensorsListSensorSelectedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Sensors/SensorsList/SensorChangedEvent.cs
|
||||
generated_at: "2026-04-17T16:37:05.880781+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "77c00296fefdcc69"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.Sensors.SensorsList
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines event types for sensor-related operations within the DTS system, using the Prism event aggregation pattern. It provides a mechanism for loosely-coupled communication between components regarding sensor selection, persistence, and configuration changes. These events enable subscribers to react to sensor state changes without direct references to the publishing components.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### Events
|
||||
|
||||
| Event Name | Base Type | Payload Type | Description |
|
||||
|------------|-----------|--------------|-------------|
|
||||
| `SensorsListSensorSelectedEvent` | `CompositePresentationEvent<string[]>` | `string[]` | Published when a sensor is selected from the sensors list. |
|
||||
| `SensorSavedEvent` | `CompositePresentationEvent<double>` | `double` | Published to notify the save function when a new sensor has been added in the settings menu (FB 13120). |
|
||||
| `SensorUpdatedEvent` | `CompositePresentationEvent<bool>` | `bool` | Published when adding or deleting a sensor, used for selecting the default filter in filter list (FB 13120). |
|
||||
| `SensorChangedEvent` | `CompositePresentationEvent<SensorChangedArgs>` | `SensorChangedArgs` | Published when a sensor's configuration changes (e.g., sensitivity, excitation, proportionality). |
|
||||
|
||||
### SensorChangedArgs Class
|
||||
|
||||
A data transfer object encapsulating details about what aspects of a sensor changed.
|
||||
|
||||
**Properties (all read-only):**
|
||||
|
||||
| Property | Type | Description |
|
||||
79
docs/ai/Common/DTS.CommonCore/Events/TSRAIRGo.md
Normal file
79
docs/ai/Common/DTS.CommonCore/Events/TSRAIRGo.md
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/TSRAIRGo/NavigateToDashboard.cs
|
||||
- Common/DTS.CommonCore/Events/TSRAIRGo/NavigateFromTSRAIRGoToDataPRO.cs
|
||||
- Common/DTS.CommonCore/Events/TSRAIRGo/GlobalStatus.cs
|
||||
- Common/DTS.CommonCore/Events/TSRAIRGo/Trigger.cs
|
||||
- Common/DTS.CommonCore/Events/TSRAIRGo/Arm.cs
|
||||
generated_at: "2026-04-17T16:34:18.337527+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "a74b4acea8a13d28"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.TSRAIRGo
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a set of Prism event types for the TSRAIRGo subsystem, enabling loosely-coupled publish/subscribe communication between components. These events facilitate navigation control (navigating to dashboards or between applications), global status messaging, and hardware state signaling (arming and triggering). The module exists to decouple event publishers from subscribers via the Prism Event Aggregation pattern.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### NavigateToDashboardEvent
|
||||
**Signature:** `public class NavigateToDashboardEvent : CompositePresentationEvent<NavigateToDashboardArg>`
|
||||
|
||||
**Description:** A Prism event used to signal navigation to a dashboard view. Takes no payload data.
|
||||
|
||||
**Payload:** `NavigateToDashboardArg` — An empty argument class with no properties.
|
||||
|
||||
---
|
||||
|
||||
### NavigateFromTSRAIRGoToDataPROEvent
|
||||
**Signature:** `public class NavigateFromTSRAIRGoToDataPROEvent : CompositePresentationEvent<NavigateFromTSRAIRGoToDataPROArg>`
|
||||
|
||||
**Description:** A Prism event used to signal navigation from the TSRAIRGo application to the DataPRO application. Takes no payload data.
|
||||
|
||||
**Payload:** `NavigateFromTSRAIRGoToDataPROArg` — An empty argument class with no properties.
|
||||
|
||||
---
|
||||
|
||||
### GlobalStatusEvent
|
||||
**Signature:** `public class GlobalStatusEvent : CompositePresentationEvent<GlobalStatusArg>`
|
||||
|
||||
**Description:** A Prism event used to broadcast global status messages within the TSRAIRGo subsystem.
|
||||
|
||||
**Payload:** `GlobalStatusArg`
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Message` | `string` | A status message to be broadcast. |
|
||||
|
||||
---
|
||||
|
||||
### TriggerEvent
|
||||
**Signature:** `public class TriggerEvent : CompositePresentationEvent<TriggerArg>`
|
||||
|
||||
**Description:** A Prism event used to signal a trigger action. Takes no payload data.
|
||||
|
||||
**Payload:** `TriggerArg` — An empty argument class with no properties.
|
||||
|
||||
---
|
||||
|
||||
### ArmEvent
|
||||
**Signature:** `public class ArmEvent : CompositePresentationEvent<ArmArg>`
|
||||
|
||||
**Description:** A Prism event used to signal arming or disarming state changes.
|
||||
|
||||
**Payload:** `ArmArg`
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Arm` | `bool` | `true` to arm, `false` to disarm. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- All event classes inherit from `CompositePresentationEvent<T>` where `T` is the corresponding argument type.
|
||||
- Each event class has exactly one associated argument class following the naming convention `[EventName]Arg`.
|
||||
- All types are public and can be subscribed to or published via the Prism `IEventAggregator`.
|
||||
39
docs/ai/Common/DTS.CommonCore/Events/TTSImport.md
Normal file
39
docs/ai/Common/DTS.CommonCore/Events/TTSImport.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/TTSImport/TTSImportSavedChangesStatusEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/StatusAndProgressBarEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/TTSImportSummaryRunTestEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/TTSImportTestSetupChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/AssignedChannelsChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/TTSImportHardwareScanRunEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/TTSImportSummaryImportEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/TTSImportReadFileFinishedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/TTSImportArmedRunTestEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/TTSImportHardwareScanFinishedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/EIDMappingEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/TTSImportReadFileStatusEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TTSImport/TTSImportReadXMLFileEvent.cs
|
||||
generated_at: "2026-04-17T15:29:37.215009+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "5421793e04822b3b"
|
||||
---
|
||||
|
||||
# TTS Import Events Module Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the event types used for inter-component communication within the TTS (Test Setup) Import workflow. It leverages the Prism Event Aggregation pattern (`CompositePresentationEvent<T>`) to enable loose coupling between the various steps of the import wizard (Read File, Hardware Scan, Summary, etc.) and the main page/view models. These events facilitate coordination for operations such as file reading, hardware scanning, test execution, and UI state updates.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### Events
|
||||
|
||||
| Event Class | Payload Type | Description |
|
||||
|-------------|--------------|-------------|
|
||||
| `TTSImportSavedChangesStatusEvent` | `bool` | Communicates whether changes have been saved (`true`) or not (`false`). |
|
||||
| `StatusAndProgressBarEvent` | `StatusAndProgressBarEventArgs` | Updates the Status and/or Progress bars in the UI. |
|
||||
| `TTSImportSummaryRunTestEvent` | `ITTSSetup` | Published by the Summary step to trigger a test run. |
|
||||
| `TTSImportTestSetup
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/TestSetups/TestSetupsList/CurrentTestIdChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TestSetups/TestSetupsList/CurrentTestChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TestSetups/TestSetupsList/TestSetupsListEditTestSetupEvent.cs
|
||||
- Common/DTS.CommonCore/Events/TestSetups/TestSetupsList/TestSetupsListTestSetupSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:34:44.784908+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "d96706f4d371f90e"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.TestSetups.TestSetupsList
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a set of event types used for inter-component communication within the Test Setups List feature. These events leverage the Prism Event Aggregation pattern (via `CompositePresentationEvent<T>`) to enable loosely-coupled publish/subscribe messaging between components that need to react to changes in test setup state, selection, or editing requests. The events facilitate coordination between UI components and business logic without direct dependencies.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `CurrentTestIdChangedEvent`
|
||||
- **Signature:** `public class CurrentTestIdChangedEvent : CompositePresentationEvent<string>`
|
||||
- **Payload Type:** `string`
|
||||
- **Behavior:** Published when the current test's identifier changes. Subscribers receive the new test ID as a string payload.
|
||||
|
||||
### `CurrentTestChangedEvent`
|
||||
- **Signature:** `public class CurrentTestChangedEvent : CompositePresentationEvent<string>`
|
||||
- **Payload Type:** `string`
|
||||
- **Behavior:** Published to signal that the current test setup has changed. Subscribers receive a string payload (content/meaning of payload not specified in source).
|
||||
|
||||
### `TestSetupsListEditTestSetupEvent`
|
||||
- **Signature:** `public class TestSetupsListEditTestSetupEvent : CompositePresentationEvent<string>`
|
||||
- **Payload Type:** `string`
|
||||
- **Behavior:** Published when a test setup should be edited. Subscribers receive a string payload, presumably identifying the test setup to edit.
|
||||
|
||||
### `TestSetupsListTestSetupSelectedEvent`
|
||||
- **Signature:** `public class TestSetupsListTestSetupSelectedEvent : CompositePresentationEvent<string[]>`
|
||||
- **Payload Type:** `string[]` (array of strings)
|
||||
- **Behavior:** Published when a test setup is selected. According to source remarks, this is used by the Summary step to indicate that the Import button was clicked. Subscribers receive a string array payload.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- All event classes inherit from `CompositePresentationEvent<T>` and are sealed by implication of having no further derivation in source.
|
||||
- Payload types are fixed per event type:
|
||||
- `CurrentTestIdChangedEvent`: `string`
|
||||
- `CurrentTestChangedEvent`: `string`
|
||||
- `TestSetupsListEditTestSetupEvent`: `string`
|
||||
- `TestSetupsListTestSetupSelectedEvent`: `string[]`
|
||||
- All events are reference types that must be resolved through Prism's `IEventAggregator` service; they cannot be instantiated directly for pub/sub operations in typical usage patterns.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### External Dependencies
|
||||
- **Microsoft.Practices.Prism.Events** — Provides `CompositePresentationEvent<T>`, the base class for all events in this module. This is part of the Prism library (legacy versions, pre-Prism 6).
|
||||
|
||||
### Downstream Dependencies
|
||||
- **Unknown from source alone.** Consumers would typically be ViewModels,
|
||||
Reference in New Issue
Block a user