2.9 KiB
2.9 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |
|---|---|---|---|---|---|
|
2026-04-17T16:38:34.293837+00:00 | zai-org/GLM-5-FP8 | 1 | dc9e7eb526d7d3d9 |
Documentation: INavigationButtonInfo
1. Purpose
INavigationButtonInfo defines a data contract for navigation button metadata within the TSRAIRGo subsystem. It abstracts the properties required to render and control a navigation button—specifically its identity, display text, tooltip, enabled state, and border visibility. This interface allows consumers to interact with navigation button configuration without depending on concrete implementations.
2. Public Interface
| Member | Signature | Description |
|---|---|---|
Id |
NavigationButtonId Id { get; } |
Read-only property that returns the unique identifier for the navigation button. Uses the NavigationButtonId enum type. |
Text |
string Text { get; set; } |
Read/write property for the button's display text. |
Tooltip |
string Tooltip { get; set; } |
Read/write property for the button's tooltip text. |
Enabled |
bool Enabled { get; set; } |
Read/write property indicating whether the button is interactive. |
ShowBorder |
bool ShowBorder { get; set; } |
Read/write property controlling whether the button renders with a visible border. |
3. Invariants
- Id immutability: The
Idproperty is read-only; it cannot be changed after an implementing object is constructed. Implementing classes must ensure this value is set during construction and remains constant. - Nullability: The interface does not enforce non-null constraints on
TextorTooltip. Implementations may or may not accept null values—behavior is implementation-defined. - Enum-backed identity: The
Idproperty is constrained to values defined in theNavigationButtonIdenum; arbitrary integer or string identifiers are not permitted.
4. Dependencies
This module depends on:
DTS.Common.Enums.TSRAIRGo.NavigationButtonId— An enum type used to identify navigation buttons.
What depends on this module:
- Unknown from source alone. Implementing classes and consumers of this interface are not present in the provided file.
5. Gotchas
- Asymmetric property access:
Idis the only read-only property; all others (Text,Tooltip,Enabled,ShowBorder) are mutable. This design implies that button identity is fixed while visual/behavioral properties can change at runtime. - No default values defined: The interface specifies no defaults. Implementations must define initial values for
Text,Tooltip,Enabled, andShowBorder. - No validation contract: The interface does not specify validation rules (e.g., maximum text length, non-empty requirements). Implementations may apply different validation logic, leading to inconsistent behavior across implementations.