Files
DP44/enriched-qwen3-coder-next/Common/DTS.CommonCore/Interface/TSRAIRGo.md

45 lines
2.8 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.CommonCore/Interface/TSRAIRGo/INavigationButtonInfo.cs
generated_at: "2026-04-16T02:17:51.762048+00:00"
model: "Qwen/Qwen3-Coder-Next-FP8"
schema_version: 1
sha256: "9b7d291a6a236da0"
---
# TSRAIRGo
## 1. Purpose
This module defines the `INavigationButtonInfo` interface, which serves as a contract for navigation button metadata in the TSRAIRGo application. It standardizes how UI components expose and consume information about navigation buttons—such as their identity, display text, tooltip, enabled state, and visual border visibility—enabling decoupled UI rendering and button management logic.
## 2. Public Interface
- **`INavigationButtonInfo` interface**
- `NavigationButtonId Id { get; }`
Returns the unique identifier for the button (defined in `DTS.Common.Enums.TSRAIRGo.NavigationButtonId`). This property is read-only and must be set at construction time.
- `string Text { get; set; }`
Gets or sets the primary label text displayed on the button.
- `string Tooltip { get; set; }`
Gets or sets the tooltip text shown on hover (or equivalent interaction).
- `bool Enabled { get; set; }`
Gets or sets whether the button is interactive (i.e., not disabled).
- `bool ShowBorder { get; set; }`
Gets or sets whether a visible border should be rendered around the button.
## 3. Invariants
- `Id` must be non-default (i.e., not `NavigationButtonId.Unknown` or equivalent uninitialized value), though the source does not enforce this—implementers are expected to ensure validity.
- `Text` and `Tooltip` may be `null` or empty strings unless constrained by UI consumers (not specified here).
- `Enabled` and `ShowBorder` are boolean flags with no stated default values; their initial state depends on implementation.
- No ordering or lifecycle guarantees are defined (e.g., `Id` must be set before `Text`).
## 4. Dependencies
- **Depends on**:
- `DTS.Common.Enums.TSRAIRGo.NavigationButtonId` (enum, referenced in `Id` property).
- **Depended on by**:
- UI components or services that consume navigation button metadata (not visible in this file; inferred from naming and namespace).
- Likely used by a navigation bar or button manager in the TSRAIRGo UI layer.
## 5. Gotchas
- The interface does not define how `Id` is initialized or validated—implementers must ensure `Id` is set and remains immutable after construction.
- No explicit handling is defined for localization; `Text` and `Tooltip` are plain `string`s, suggesting either hardcoded values or external localization logic is applied elsewhere.
- `ShowBorder` is a UI presentation flag; its semantics (e.g., when `false`, is the border hidden or rendered differently?) are implementation-specific and not standardized here.
- None identified from source alone.