init
This commit is contained in:
@@ -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
|
||||
|
||||
-
|
||||
Reference in New Issue
Block a user