feat!: textual migration to 8.x+#7
Merged
Merged
Conversation
…andPalette
- Move RigiHamburgerScreen, RigiHelpScreen, RigiSettingsScreen into screens/
- Add rigi/commands/provider.py with RigiCommandProvider for Textual 8 COMMANDS system
- Replace ctrl+p binding with COMMANDS = {RigiCommandProvider} on RigiApp
- Convert on_* method handlers to @on() decorator style
- Replace asyncio.create_task() with self.run_worker() (Textual 8 Worker API)
- Fix circular imports: widgets/ no longer imports from screens/
…reactive state - Replace Horizontal+Button tab bar with Tabs/Tab in RigiBottomPanel - Add reactive active_tab with watch_active_tab() driving ContentSwitcher - Convert tab button handler to @on(Tabs.TabActivated) decorator - Remove _switch_tab() and _active_tab private field - Update test to use public reactive API
Replaced by Textual 8's built-in CommandPalette via COMMANDS = {RigiCommandProvider}.
The widget file remains in rigi.widgets.palette for direct import if needed.
Move all widget CSS from Python DEFAULT_CSS strings to the TCSS file. Adds missing private widget styles (_StatusSpacer, _IconButton, _HamburgerButton, _HomeButton, _VerticalResizeHandle, _SubNavNamePart/_ArrowPart, _ResizeHandle, _LogsView, _RigiEmptyState) and new Tabs-based RigiBottomPanel styles. Fixes RigiShortcutsBar height (2→1) and adds layout:horizontal to RigiContentArea.
… and screen modules Remove remaining DEFAULT_CSS from border_frame, terminal_bar, gauge, image, pane layout widgets, and all screen modules (help, hamburger, settings). Add missing rules to default.tcss: RigiScrollPane, RigiSplit>Widget, RigiImage, RigiGauge/Sparkline, all settings screen private classes, RigiHamburgerScreen, corrected RigiHelpScreen with scoped selectors.
…arnings - ruff --fix: sorted imports in settings_screen.py and __init__.py - pyright: fix BINDINGS iteration to isinstance(Binding) check in dev_commands (BINDINGS can be Binding | tuple[str,str] | tuple[str,str,str])
- Fix MouseDown/MouseUp/MouseMove first arg: Widget|None (Textual 8 API) - Guard panel.styles.height against None before .value access - Add type annotations to handler parameters in test_commands - Fix optional member access on logger.parent in test_loggers - Suppress reportUnusedFunction on @app.command/@app.on_startup decorated fns - Fix float(str(...)) cast for object kwarg in 08_platform_features gauge command
Contributor
❌ PR Check ResultsLint & Type Checks
Tests
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.