Namespace SharpConsoleUI.Panel
Classes
- ClockElement
A panel element that displays the current time, auto-updating via a timer.
- CustomElement
A panel element with user-provided render and click callbacks.
- Elements
Static factory for creating panel element builders. Usage: Elements.StartMenu(), Elements.TaskBar(), Elements.Clock(), etc.
- Panel
A single-row desktop bar with three zones (left, center, right). Manages element lifecycle, layout, rendering, and mouse routing.
- PanelBuilder
Fluent builder for constructing Panel instances.
- PanelElement
Abstract base class implementing IPanelElement with sensible defaults. Elements that don't need to inherit from something else should extend this.
- PerformanceElement
A panel element that displays performance metrics (FPS and dirty characters). Uses a timer to invalidate periodically rather than every frame.
- SeparatorElement
A panel element that displays a single separator character.
- StartMenuElement
A panel element that renders a start menu button and opens the StartMenuDialog on click. Owns its own configuration, keyboard shortcut, and registered actions.
- StatusTextElement
A panel element that displays markup text. Text can be updated at runtime.
- TaskBarElement
A panel element that displays a clickable list of windows (task bar). Subscribes to WindowStateService events for automatic updates.
Interfaces
- IPanelElement
Contract for anything that can live inside a Panel. Elements are self-contained widgets (start menu, taskbar, clock, etc.) that handle their own rendering and mouse input.
- IPanelElementBuilder
Interface for panel element builders that produce IPanelElement instances.