nexusLIMS.tui.common.base_app#
Base application class for NexusLIMS TUI applications.
Provides common functionality including theme switching, database session management, help screens, and error notifications.
Module Contents#
Classes#
Help screen showing keybindings and usage information. |
|
Base application class for NexusLIMS TUI apps. |
API#
- class nexusLIMS.tui.common.base_app.HelpScreen(app_name: str, keybindings: list[tuple[str, str]], description: str = '', **kwargs)[source]#
Bases:
textual.screen.ScreenHelp screen showing keybindings and usage information.
- BINDINGS#
[(‘escape’, ‘dismiss’, ‘Close Help’), (‘q’, ‘dismiss’, ‘Close Help’)]
Type: typing.ClassVar
- class nexusLIMS.tui.common.base_app.BaseNexusApp(**kwargs)[source]#
Bases:
textual.app.AppBase application class for NexusLIMS TUI apps.
Provides:
Theme switching (dark/light) using Textual’s built-in themes
Database session management
Help screen
Error notifications
Common keybindings
Subclasses should:
Define their own screens
Override get_app_name() to return app name
Override get_keybindings() to add app-specific bindings
- CSS_PATH#
Type: typing.ClassVar
- BINDINGS#
[(‘ctrl+t’, ‘toggle_theme’, ‘Toggle Theme’), (‘ctrl+q’, ‘quit’, ‘Quit’), (‘?’, ‘help’, ‘Help’)]
Type: typing.ClassVar
- action_toggle_theme() None[source]#
Toggle between dark and light themes using Textual’s built-in system.
- get_app_name() str[source]#
Get application name for help screen.
- Returns:
Application name (override in subclass)
- Return type:
- show_error(message: str) None[source]#
Display an error notification.
- Parameters:
message (str) – Error message to display