48 lines
2.5 KiB
Markdown
48 lines
2.5 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- Common/DTS.CommonCore/Interface/TSRAIRGo/INavigationButtonInfo.cs
|
||
|
|
generated_at: "2026-04-16T12:08:44.958885+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "9b7d291a6a236da0"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Documentation: INavigationButtonInfo
|
||
|
|
|
||
|
|
## 1. Purpose
|
||
|
|
|
||
|
|
This module defines the `INavigationButtonInfo` interface, which specifies a contract for navigation button configuration objects within the TSRAIRGo subsystem. It provides a standardized abstraction for button metadata—including identity, display text, tooltip, enabled state, and border visibility—allowing consumers to interact with navigation buttons polymorphically without depending on concrete implementations.
|
||
|
|
|
||
|
|
## 2. Public Interface
|
||
|
|
|
||
|
|
### Interface: `INavigationButtonInfo`
|
||
|
|
|
||
|
|
**Namespace:** `DTS.Common.Interface.TSRAIRGo`
|
||
|
|
|
||
|
|
| Property | Type | Access | Description |
|
||
|
|
|----------|------|--------|-------------|
|
||
|
|
| `Id` | `NavigationButtonId` | Read-only | Returns the unique identifier for the navigation button. |
|
||
|
|
| `Text` | `string` | Read/Write | Gets or sets the display text for the button. |
|
||
|
|
| `Tooltip` | `string` | Read/Write | Gets or sets the tooltip text shown on hover. |
|
||
|
|
| `Enabled` | `bool` | Read/Write | Gets or sets whether the button is interactive. |
|
||
|
|
| `ShowBorder` | `bool` | Read/Write | Gets or sets whether the button border is visible. |
|
||
|
|
|
||
|
|
## 3. Invariants
|
||
|
|
|
||
|
|
- `Id` is immutable after construction (read-only accessor only).
|
||
|
|
- No null validation or constraint enforcement is visible in the interface definition; implementations may impose additional constraints.
|
||
|
|
- The relationship between `Id` and other properties (e.g., whether `Id` determines default `Text`) is not specified in this interface.
|
||
|
|
|
||
|
|
## 4. Dependencies
|
||
|
|
|
||
|
|
### This module depends on:
|
||
|
|
- `DTS.Common.Enums.TSRAIRGo.NavigationButtonId` — An enumeration type used to identify navigation buttons. The actual enum values are defined externally.
|
||
|
|
|
||
|
|
### What depends on this module:
|
||
|
|
- **Unknown from source alone.** No consumers or implementations are visible in this file.
|
||
|
|
|
||
|
|
## 5. Gotchas
|
||
|
|
|
||
|
|
- **No null constraints visible:** The interface does not indicate whether `Text` or `Tooltip` may be null or empty. Implementations may handle these cases differently.
|
||
|
|
- **Mutable state:** All properties except `Id` are read/write, implying implementations are expected to support runtime modification of button state.
|
||
|
|
- **Enum dependency:** The `NavigationButtonId` enum is imported but not defined here; its values and structure must be located in `DTS.Common.Enums.TSRAIRGo`.
|