This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -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
-