header fixes, and lazy queries

This commit is contained in:
Will McGugan
2022-08-13 09:12:59 +01:00
parent 71bb29d5d4
commit f00e2d22d4
18 changed files with 398 additions and 157 deletions

View File

@@ -6,7 +6,7 @@ from rich.text import Text
from textual.app import App, ComposeResult
from textual.reactive import Reactive
from textual.widget import Widget
from textual.widgets import Static, DataTable, DirectoryTree, Footer
from textual.widgets import Static, DataTable, DirectoryTree, Header, Footer
from textual.layout import Vertical
CODE = '''
@@ -112,17 +112,14 @@ class BasicApp(App, css_path="basic.css"):
self.bind("s", "toggle_class('#sidebar', '-active')", description="Sidebar")
self.bind("d", "toggle_dark", description="Dark mode")
self.bind("q", "quit", description="Quit")
self.bind("f", "query_test", description="Query test")
def compose(self):
yield Header()
def compose(self) -> ComposeResult:
table = DataTable()
self.scroll_to_target = Tweet(TweetBody())
yield Static(
Text.from_markup(
"[b]This is a [u]Textual[/u] app, running in the terminal"
),
id="header",
)
yield from (
Tweet(TweetBody()),
Widget(
@@ -166,12 +163,30 @@ class BasicApp(App, css_path="basic.css"):
for n in range(100):
table.add_row(*[f"Cell ([b]{n}[/b], {col})" for col in range(6)])
def on_mount(self):
self.sub_title = "Widget demo"
async def on_key(self, event) -> None:
await self.dispatch_key(event)
def action_toggle_dark(self):
self.dark = not self.dark
def action_query_test(self):
query = self.query("Tweet")
self.log(query)
self.log(query.nodes)
self.log(query)
self.log(query.nodes)
query = query.exclude(".scroll-horizontal")
self.log(query)
self.log(query.nodes)
query = query.filter(".rubbish")
self.log(query)
self.log(query.first())
async def key_q(self):
await self.shutdown()